V20240423.patch2
into V20240423.patch
4 weeks ago
@@ -2,7 +2,6 @@ var STATIC_CACHE = 'static-cache-v1'; | |||
var urlsToCache = [ | |||
// js | |||
'{{StaticUrlPrefix}}/fomantic/semantic.min.js?v={{MD5 AppVer}}', | |||
'{{StaticUrlPrefix}}/js/clipboard.js', | |||
'{{StaticUrlPrefix}}/js/gitgraph.js', | |||
'{{StaticUrlPrefix}}/js/highlight.js', | |||
'{{StaticUrlPrefix}}/js/index.js?v={{MD5 AppVer}}', | |||
@@ -3,9 +3,9 @@ | |||
<div class="row git-user-content"> | |||
<h3 class="ui header"> | |||
<div class="ui breadcrumb"> | |||
<a class="section" :href="url_code">{{$i18n['code']}}</a> | |||
<a class="section" :href="url_code">{{i18n['code']}}</a> | |||
<div class="divider"> / </div> | |||
<div class="active section" >{{$i18n['contributors']}} ({{totalNum}})</div> | |||
<div class="active section" >{{i18n['contributors']}} ({{totalNum}})</div> | |||
</div> | |||
</h3> | |||
<div class="ui horizontal relaxed list"> | |||
@@ -88,7 +88,7 @@ watch: { | |||
}, | |||
created(){ | |||
this.$i18n = window.i18n; | |||
this.i18n = window.i18n; | |||
const url = window.location.pathname; | |||
this.url = url; | |||
let strIndex = this.url.indexOf("contributors") | |||
@@ -1,13 +1,13 @@ | |||
<template> | |||
<div> | |||
<h4 id="about-desc" class="ui header desc-home">{{$i18n['introduction']}} | |||
<h4 id="about-desc" class="ui header desc-home">{{i18n['introduction']}} | |||
<a class="edit-icon" v-if="IsPermit" id ="editBtn" href="javascript:void(0)" @click="editClick" > | |||
<i class="gray edit outline icon" style="margin-right: 0;"></i> | |||
</a> | |||
</h4> | |||
<edit-dialog-cmpt | |||
:vmContext="vmContext" | |||
:dialogTitle="$i18n['edit_repository_information']" | |||
:dialogTitle="i18n['edit_repository_information']" | |||
v-model="editDataDialog" | |||
:deleteCallback="editDataFunc" | |||
:deleteLoading ="editDataListLoading" | |||
@@ -19,11 +19,11 @@ | |||
</div> | |||
<div slot="content"> | |||
<el-form label-position="top" :model="info" :rules="rule" ref="ruleForm"> | |||
<el-form-item :label="$i18n['introduction']" prop="desc"> | |||
<el-input v-model="info.desc" type="textarea" :placeholder="$i18n['please_enter_the_content']" :autosize="{minRows:4,maxRows:6}" maxlength="255" show-word-limit></el-input> | |||
<el-form-item :label="i18n['introduction']" prop="desc"> | |||
<el-input v-model="info.desc" type="textarea" :placeholder="i18n['please_enter_the_content']" :autosize="{minRows:4,maxRows:6}" maxlength="255" show-word-limit></el-input> | |||
</el-form-item> | |||
<el-form-item :label="$i18n['homePage']" prop="index_web" > | |||
<el-input v-model="info.index_web" :placeholder="`${$i18n['homePage']}(eg: https://openi.pcl.ac.cn)`"></el-input> | |||
<el-form-item :label="i18n['homePage']" prop="index_web" > | |||
<el-input v-model="info.index_web" :placeholder="`${i18n['homePage']}(eg: https://openi.pcl.ac.cn)`"></el-input> | |||
</el-form-item> | |||
</el-form> | |||
</div> | |||
@@ -147,7 +147,7 @@ export default { | |||
} | |||
}, | |||
created() { | |||
this.$i18n = window.i18n; | |||
this.i18n = window.i18n; | |||
this.getIsSigned(); | |||
} | |||
@@ -3,7 +3,7 @@ | |||
<div class="input-search"> | |||
<el-input v-model="input" clearable :autofocus="true" @input="changeValue" id="topics_input" @keyup.enter.native="postTopic" :placeholder="$i18n['searchOrCreateTopics']"> | |||
<el-input v-model="input" clearable :autofocus="true" @input="changeValue" id="topics_input" @keyup.enter.native="postTopic" :placeholder="i18n['searchOrCreateTopics']"> | |||
</el-input> | |||
<div class="scrolling-menu"> | |||
@@ -14,7 +14,7 @@ | |||
<div class="text">{{arr.topic_name.toLowerCase()}} </div> | |||
</div> | |||
<div v-if="showInputValue" class="addition item-text" @click="postTopic"> | |||
{{$i18n['clickOrEnterToAdd']}}<b class="user-add-label-text">{{input.toLowerCase()}}</b>{{$i18n['topic']}} | |||
{{i18n['clickOrEnterToAdd']}}<b class="user-add-label-text">{{input.toLowerCase()}}</b>{{i18n['topic']}} | |||
</div> | |||
<div v-if="showAddTopic" class="item-text" @click="addPostTopic"> | |||
<div class="icon-wrapper"> | |||
@@ -98,7 +98,7 @@ export default { | |||
this.Post(data,topics) | |||
this.$set(this.showInitTopic,item,false) | |||
if(this.arrayTopics.length===0){ | |||
$('#repo-topics1').append(`<span class="no-description text-italic">${this.$i18n['noTopics']}</span>`) | |||
$('#repo-topics1').append(`<span class="no-description text-italic">${this.i18n['noTopics']}</span>`) | |||
}else{ | |||
$('#repo-topics1').children('span').remove() | |||
} | |||
@@ -264,7 +264,7 @@ export default { | |||
if(this.arrayTopics.length===0){ | |||
$('#repo-topics1').append(`<span class="no-description text-italic">${this.$i18n['noTopics']}</span>`) | |||
$('#repo-topics1').append(`<span class="no-description text-italic">${this.i18n['noTopics']}</span>`) | |||
}else{ | |||
$('#repo-topics1').children('span').remove() | |||
} | |||
@@ -386,12 +386,12 @@ mounted() { | |||
}); | |||
if(this.arrayTopics.length===0){ | |||
$('#repo-topics1').append(`<span class="no-description text-italic">${this.$i18n['noTopics']}</span>`) | |||
$('#repo-topics1').append(`<span class="no-description text-italic">${this.i18n['noTopics']}</span>`) | |||
} | |||
this.changeValue() | |||
} , | |||
created(){ | |||
this.$i18n = window.i18n; | |||
this.i18n = window.i18n; | |||
this.initTopics(); | |||
this.input='' | |||
@@ -15,8 +15,8 @@ | |||
<div slot="footer" class="dialog-footer"> | |||
<button class="ui button" @click="deleteDialog = false">{{$i18n['cancel']}}</button> | |||
<button class="ui green button" @click="deleteCallback.call(vmContext,deleteParam)">{{$i18n['confirm']}}</button> | |||
<button class="ui button" @click="deleteDialog = false">{{i18n['cancel']}}</button> | |||
<button class="ui green button" @click="deleteCallback.call(vmContext,deleteParam)">{{i18n['confirm']}}</button> | |||
<!-- <el-button size="small" style="font-size: 1rem;padding: .78571429em 1.5em .78571429em;border-radius: .28571429rem;" @click="deleteDialog = false">{{"取消"}}</el-button> | |||
<el-button size="small" style="background-color: #21ba45;color: #fff;font-size: 1rem;padding: .78571429em 1.5em .78571429em;border-radius: .28571429rem;" @click="deleteCallback.call(vmContext,deleteParam)">{{"确定"}}</el-button> --> | |||
</div> | |||
@@ -71,7 +71,7 @@ export default { | |||
}, | |||
}, | |||
created() { | |||
this.$i18n = window.i18n; | |||
this.i18n = window.i18n; | |||
this.deleteDialog = this.value; | |||
} | |||
}; | |||
@@ -3,26 +3,26 @@ | |||
<div class="header-wrapper"> | |||
<div class="ui container"> | |||
<el-row class="image_text"> | |||
<h1>{{ $i18n['cloudeBrainMirror']['cloud_brain_mirror'] }}</h1> | |||
<h1>{{ i18n['cloudeBrainMirror']['cloud_brain_mirror'] }}</h1> | |||
</el-row> | |||
</div> | |||
</div> | |||
<div class="ui container" id="header"> | |||
<el-tabs v-model="activeName" @tab-click="handleClick"> | |||
<el-tab-pane :label="$i18n['cloudeBrainMirror']['recommendImages']" name="first" v-loading="loadingRecommend"> | |||
<el-tab-pane :label="i18n['cloudeBrainMirror']['recommendImages']" name="first" v-loading="loadingRecommend"> | |||
<template v-if="tableDataRecommend.length !== 0"> | |||
<el-row style="align-items: center; display: flex"> | |||
<el-col :span="12"> | |||
<div> | |||
<!-- <el-checkbox v-model="checked">{{$i18n['cloudeBrainMirror']['platform_recommendations']}}</el-checkbox> --> | |||
<!-- <el-checkbox v-model="checked">{{i18n['cloudeBrainMirror']['platform_recommendations']}}</el-checkbox> --> | |||
</div> | |||
</el-col> | |||
<el-col :span="10"> | |||
<div> | |||
<el-input :placeholder="$i18n['cloudeBrainMirror']['placeholder']" v-model="search" | |||
<el-input :placeholder="i18n['cloudeBrainMirror']['placeholder']" v-model="search" | |||
class="input-with-select" @keyup.enter.native="searchName()"> | |||
<el-button id="success" slot="append" icon="el-icon-search" @click="searchName()">{{ | |||
$i18n['cloudeBrainMirror']['search'] }}</el-button> | |||
i18n['cloudeBrainMirror']['search'] }}</el-button> | |||
</el-input> | |||
</div> | |||
</el-col> | |||
@@ -34,20 +34,20 @@ | |||
</span> | |||
<el-dropdown-menu slot="dropdown"> | |||
<el-dropdown-item :command="{ label: 'defaultsort', sort: '' }">{{ | |||
$i18n['cloudeBrainMirror']['defaultsort'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['defaultsort'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'moststars', sort: 'moststars' }">{{ | |||
$i18n['cloudeBrainMirror']['moststars'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['moststars'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'mostused', sort: 'mostused' }">{{ | |||
$i18n['cloudeBrainMirror']['mostused'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['mostused'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'newest', sort: 'newest' }">{{ | |||
$i18n['cloudeBrainMirror']['newest'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['newest'] }}</el-dropdown-item> | |||
</el-dropdown-menu> | |||
</el-dropdown> | |||
</el-col> | |||
</el-row> | |||
<el-row style="margin-top: 15px"> | |||
<el-table :data="tableDataRecommend" style="width: 100%" :header-cell-style="tableHeaderStyle"> | |||
<el-table-column :label="$i18n['cloudeBrainMirror']['mirror_tag']" min-width="19%" align="left" | |||
<el-table-column :label="i18n['cloudeBrainMirror']['mirror_tag']" min-width="19%" align="left" | |||
prop="tag"> | |||
<template slot-scope="scope"> | |||
<div style="display: flex; align-items: center"> | |||
@@ -58,7 +58,7 @@ | |||
</div> | |||
</template> | |||
</el-table-column> | |||
<el-table-column :label="$i18n['cloudeBrainMirror']['mirror_description']" min-width="26%" align="left" | |||
<el-table-column :label="i18n['cloudeBrainMirror']['mirror_description']" min-width="26%" align="left" | |||
prop="description"> | |||
<template slot-scope="scope"> | |||
<div class="image_desc" :title="scope.row.description"> | |||
@@ -70,13 +70,13 @@ | |||
</div> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="cloudbrainType" :label="$i18n['cloudeBrainMirror']['available_clusters']" | |||
<el-table-column prop="cloudbrainType" :label="i18n['cloudeBrainMirror']['available_clusters']" | |||
min-width="15%" align="center"> | |||
<template slot-scope="scope"> | |||
{{ scope.row.cloudbrainType | transformType(vm) }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="creator" :label="$i18n['cloudeBrainMirror']['creator']" min-width="8%" | |||
<el-table-column prop="creator" :label="i18n['cloudeBrainMirror']['creator']" min-width="8%" | |||
align="center"> | |||
<template slot-scope="scope"> | |||
<a v-if="scope.row.userName || scope.row.relAvatarLink" :href="'/' + scope.row.userName" | |||
@@ -86,20 +86,20 @@ | |||
<a v-else><img class="ui avatar image" title="Ghost" src="/user/avatar/ghost/-1" /></a> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="createdUnix" :label="$i18n['cloudeBrainMirror']['creation_time']" align="center" | |||
<el-table-column prop="createdUnix" :label="i18n['cloudeBrainMirror']['creation_time']" align="center" | |||
min-width="14%"> | |||
<template slot-scope="scope"> | |||
{{ scope.row.createdUnix | transformTimestamp }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column align="center" min-width="18%" :label="$i18n['cloudeBrainMirror']['operation']"> | |||
<el-table-column align="center" min-width="18%" :label="i18n['cloudeBrainMirror']['operation']"> | |||
<template slot-scope="scope"> | |||
<div style=" | |||
display: flex; | |||
justify-content: flex-end; | |||
align-items: center; | |||
"> | |||
<div style="display: flex;align-items: center;padding: 0 1rem;" :title="$i18n['citations']"> | |||
<div style="display: flex;align-items: center;padding: 0 1rem;" :title="i18n['citations']"> | |||
<i class="ri-links-line" style="font-size: 16px;"></i> | |||
<span style="line-height: 2;margin-left: 0.3rem;">{{ scope.row.useCount }}</span> | |||
</div> | |||
@@ -126,7 +126,7 @@ | |||
}}</span> | |||
</div> | |||
<span :class="scope.row.place ? 'copy-adress' : 'copy-adress-no'" | |||
@click="copyUrl(scope.row.place)">{{ $i18n['cloudeBrainMirror']['copy_address'] }}</span> | |||
@click="copyUrl(scope.row.place)">{{ i18n['cloudeBrainMirror']['copy_address'] }}</span> | |||
</div> | |||
</template> | |||
</el-table-column> | |||
@@ -144,16 +144,16 @@ | |||
<el-row style="align-items: center; display: flex"> | |||
<el-col :span="12"> | |||
<div> | |||
<!-- <el-checkbox v-model="checked">{{ $i18n['cloudeBrainMirror']['platform_recommendations'] | |||
<!-- <el-checkbox v-model="checked">{{ i18n['cloudeBrainMirror']['platform_recommendations'] | |||
}}</el-checkbox> --> | |||
</div> | |||
</el-col> | |||
<el-col :span="10"> | |||
<div> | |||
<el-input :placeholder="$i18n['cloudeBrainMirror']['placeholder']" v-model="search" | |||
<el-input :placeholder="i18n['cloudeBrainMirror']['placeholder']" v-model="search" | |||
class="input-with-select" @keyup.enter.native="searchName()"> | |||
<el-button id="success" slot="append" icon="el-icon-search" @click="searchName()">{{ | |||
$i18n['cloudeBrainMirror']['search'] }}</el-button> | |||
i18n['cloudeBrainMirror']['search'] }}</el-button> | |||
</el-input> | |||
</div> | |||
</el-col> | |||
@@ -165,13 +165,13 @@ | |||
</span> | |||
<el-dropdown-menu slot="dropdown"> | |||
<el-dropdown-item :command="{ label: 'defaultsort', sort: '' }">{{ | |||
$i18n['cloudeBrainMirror']['defaultsort'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['defaultsort'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'moststars', sort: 'moststars' }">{{ | |||
$i18n['cloudeBrainMirror']['moststars'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['moststars'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'mostused', sort: 'mostused' }">{{ | |||
$i18n['cloudeBrainMirror']['mostused'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['mostused'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'newest', sort: 'newest' }">{{ | |||
$i18n['cloudeBrainMirror']['newest'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['newest'] }}</el-dropdown-item> | |||
</el-dropdown-menu> | |||
</el-dropdown> | |||
</el-col> | |||
@@ -179,7 +179,7 @@ | |||
<el-empty :image-size="200"></el-empty> | |||
</template> | |||
</el-tab-pane> | |||
<el-tab-pane :label="$i18n['cloudeBrainMirror']['my_mirror']" name="second" v-loading="loadingCustom"> | |||
<el-tab-pane :label="i18n['cloudeBrainMirror']['my_mirror']" name="second" v-loading="loadingCustom"> | |||
<template v-if="tableDataCustom.length !== 0"> | |||
<el-row style="align-items: center; display: flex"> | |||
<el-col :span="12"> | |||
@@ -187,10 +187,10 @@ | |||
</el-col> | |||
<el-col :span="10"> | |||
<div> | |||
<el-input :placeholder="$i18n['cloudeBrainMirror']['placeholder']" v-model="search" | |||
<el-input :placeholder="i18n['cloudeBrainMirror']['placeholder']" v-model="search" | |||
class="input-with-select" @keyup.enter.native="searchName()"> | |||
<el-button id="success" slot="append" icon="el-icon-search" @click="searchName()">{{ | |||
$i18n['cloudeBrainMirror']['search'] }}</el-button> | |||
i18n['cloudeBrainMirror']['search'] }}</el-button> | |||
</el-input> | |||
</div> | |||
</el-col> | |||
@@ -202,18 +202,18 @@ | |||
</span> | |||
<el-dropdown-menu slot="dropdown"> | |||
<el-dropdown-item :command="{ label: 'moststars', sort: 'moststars' }">{{ | |||
$i18n['cloudeBrainMirror']['moststars'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['moststars'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'mostused', sort: 'mostused' }">{{ | |||
$i18n['cloudeBrainMirror']['mostused'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['mostused'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'newest', sort: 'newest' }">{{ | |||
$i18n['cloudeBrainMirror']['newest'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['newest'] }}</el-dropdown-item> | |||
</el-dropdown-menu> | |||
</el-dropdown> | |||
</el-col> | |||
</el-row> | |||
<el-row style="margin-top: 15px"> | |||
<el-table :data="tableDataCustom" style="width: 100%" :header-cell-style="tableHeaderStyle"> | |||
<el-table-column :label="$i18n['cloudeBrainMirror']['mirror_tag']" min-width="19%" align="left" | |||
<el-table-column :label="i18n['cloudeBrainMirror']['mirror_tag']" min-width="19%" align="left" | |||
prop="tag"> | |||
<template slot-scope="scope"> | |||
<div style="display: flex; align-items: center"> | |||
@@ -225,7 +225,7 @@ | |||
</div> | |||
</template> | |||
</el-table-column> | |||
<el-table-column :label="$i18n['cloudeBrainMirror']['mirror_description']" min-width="25%" align="left" | |||
<el-table-column :label="i18n['cloudeBrainMirror']['mirror_description']" min-width="25%" align="left" | |||
prop="description"> | |||
<template slot-scope="scope"> | |||
<div class="image_desc" :title="scope.row.description"> | |||
@@ -237,13 +237,13 @@ | |||
</div> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="cloudbrainType" :label="$i18n['cloudeBrainMirror']['available_clusters']" | |||
<el-table-column prop="cloudbrainType" :label="i18n['cloudeBrainMirror']['available_clusters']" | |||
min-width="12%" align="center"> | |||
<template slot-scope="scope"> | |||
{{ scope.row.cloudbrainType | transformType(vm) }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="sumbimtState" :label="$i18n['cloudeBrainMirror']['commit_status']" min-width="9%" | |||
<el-table-column prop="sumbimtState" :label="i18n['cloudeBrainMirror']['commit_status']" min-width="9%" | |||
align="center"> | |||
<template slot-scope="scope"> | |||
<div style=" | |||
@@ -251,48 +251,48 @@ | |||
align-items: center; | |||
justify-content: center; | |||
"> | |||
<span v-if="scope.row.status === 0">{{ $i18n['cloudeBrainMirror']['commiting'] }}</span> | |||
<span v-if="scope.row.status === 1">{{ $i18n['cloudeBrainMirror']['commit_success'] }}</span> | |||
<span v-if="scope.row.status === 2">{{ $i18n['cloudeBrainMirror']['commit_failed'] }}</span> | |||
<span v-if="scope.row.status === 0">{{ i18n['cloudeBrainMirror']['commiting'] }}</span> | |||
<span v-if="scope.row.status === 1">{{ i18n['cloudeBrainMirror']['commit_success'] }}</span> | |||
<span v-if="scope.row.status === 2">{{ i18n['cloudeBrainMirror']['commit_failed'] }}</span> | |||
<el-tooltip v-if="scope.row.status === 0" class="item" effect="dark" | |||
:content="$i18n['cloudeBrainMirror']['mirror_committed']" placement="top"> | |||
:content="i18n['cloudeBrainMirror']['mirror_committed']" placement="top"> | |||
<i class="CREATING" style="margin-left: 0.3rem"></i> | |||
</el-tooltip> | |||
<el-tooltip v-if="scope.row.status === 1" class="item" effect="dark" | |||
:content="$i18n['cloudeBrainMirror']['mirror_submitted']" placement="top"> | |||
:content="i18n['cloudeBrainMirror']['mirror_submitted']" placement="top"> | |||
<i class="SUCCEEDED" style="margin-left: 0.3rem"></i> | |||
</el-tooltip> | |||
<el-tooltip v-if="scope.row.status === 2" class="item" effect="dark" | |||
:content="$i18n['cloudeBrainMirror']['check_exceeds_20g']" placement="top"> | |||
:content="i18n['cloudeBrainMirror']['check_exceeds_20g']" placement="top"> | |||
<i class="FAILED" style="margin-left: 0.3rem"></i> | |||
</el-tooltip> | |||
</div> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="sumbimtState" :label="$i18n['cloudeBrainMirror']['recommend_by_plateform']" | |||
<el-table-column prop="sumbimtState" :label="i18n['cloudeBrainMirror']['recommend_by_plateform']" | |||
width="140" align="center"> | |||
<template slot-scope="scope"> | |||
<div v-if="scope.row.status === 1" style=""> | |||
<div v-if="scope.row.apply_status === 2" | |||
style="display: flex;align-items:center;justify-content:center;"> | |||
<span style="color: rgb(250, 140, 22);">{{ $i18n['cloudeBrainMirror']['pending_approval'] | |||
<span style="color: rgb(250, 140, 22);">{{ i18n['cloudeBrainMirror']['pending_approval'] | |||
}}</span> | |||
<el-tooltip class="item" effect="dark" :content="$i18n['cloudeBrainMirror']['pending_approval']" | |||
<el-tooltip class="item" effect="dark" :content="i18n['cloudeBrainMirror']['pending_approval']" | |||
placement="top"> | |||
<i class="CLOCK" style="margin-left: 0.3rem"></i> | |||
</el-tooltip> | |||
</div> | |||
<div v-if="scope.row.apply_status === 3" | |||
style="display: flex;align-items:center;justify-content:center;"> | |||
<span style="color: rgb(19, 194, 141);">{{ $i18n['cloudeBrainMirror']['approved'] }}</span> | |||
<el-tooltip class="item" effect="dark" :content="$i18n['cloudeBrainMirror']['approved']" | |||
<span style="color: rgb(19, 194, 141);">{{ i18n['cloudeBrainMirror']['approved'] }}</span> | |||
<el-tooltip class="item" effect="dark" :content="i18n['cloudeBrainMirror']['approved']" | |||
placement="top"> | |||
<i class="SUCCEEDED" style="margin-left: 0.3rem"></i> | |||
</el-tooltip> | |||
</div> | |||
<div v-if="scope.row.apply_status === 4" | |||
style="display: flex;align-items:center;justify-content:center;"> | |||
<span style="color: red">{{ $i18n['cloudeBrainMirror']['not_approved'] }}</span> | |||
<span style="color: red">{{ i18n['cloudeBrainMirror']['not_approved'] }}</span> | |||
<el-tooltip class="item" effect="dark" :content="scope.row.message" placement="top"> | |||
<i class="FAILED" style="margin-left: 0.3rem"></i> | |||
</el-tooltip> | |||
@@ -300,7 +300,7 @@ | |||
<div | |||
v-if="scope.row.apply_status == 0 || scope.row.apply_status == 1 || scope.row.apply_status === 4"> | |||
<span class="apply-btn" v-if="scope.row.type != 5" @click="applyImage(scope.row.id)"> | |||
{{ $i18n['cloudeBrainMirror']['apply'] }} | |||
{{ i18n['cloudeBrainMirror']['apply'] }} | |||
</span> | |||
<div v-else>--</div> | |||
</div> | |||
@@ -308,20 +308,20 @@ | |||
<div v-else>--</div> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="createdUnix" :label="$i18n['cloudeBrainMirror']['creation_time']" align="center" | |||
<el-table-column prop="createdUnix" :label="i18n['cloudeBrainMirror']['creation_time']" align="center" | |||
min-width="13%"> | |||
<template slot-scope="scope"> | |||
{{ scope.row.createdUnix | transformTimestamp }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column align="center" min-width="22%" :label="$i18n['cloudeBrainMirror']['operation']"> | |||
<el-table-column align="center" min-width="22%" :label="i18n['cloudeBrainMirror']['operation']"> | |||
<template slot-scope="scope"> | |||
<div style=" | |||
display: flex; | |||
justify-content: flex-end; | |||
align-items: center; | |||
"> | |||
<div style="display: flex;align-items: center;padding: 0 1rem;" :title="$i18n['citations']"> | |||
<div style="display: flex;align-items: center;padding: 0 1rem;" :title="i18n['citations']"> | |||
<i class="ri-links-line" style="font-size: 16px;"></i> | |||
<span style="line-height: 2;margin-left: 0.3rem;">{{ scope.row.useCount }}</span> | |||
</div> | |||
@@ -341,17 +341,17 @@ | |||
}}</span> | |||
</div> | |||
<span :class="scope.row.place ? 'copy-adress' : 'copy-adress-no'" | |||
@click="copyUrl(scope.row.place)">{{ $i18n['cloudeBrainMirror']['copy_address'] }}</span> | |||
@click="copyUrl(scope.row.place)">{{ i18n['cloudeBrainMirror']['copy_address'] }}</span> | |||
<div style="padding-left: 1rem; cursor: pointer"> | |||
<el-dropdown size="medium"> | |||
<span class="el-dropdown-link"> | |||
{{ $i18n['cloudeBrainMirror']['more'] }}<i class="el-icon-arrow-down el-icon--right"></i> | |||
{{ i18n['cloudeBrainMirror']['more'] }}<i class="el-icon-arrow-down el-icon--right"></i> | |||
</span> | |||
<el-dropdown-menu slot="dropdown"> | |||
<el-dropdown-item @click.native="eidtImage(scope.row.id)">{{ | |||
$i18n['cloudeBrainMirror']['edit'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['edit'] }}</el-dropdown-item> | |||
<el-dropdown-item style="color: red" @click.native="deleteImage(scope.row.id)">{{ | |||
$i18n['cloudeBrainMirror']['delete'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['delete'] }}</el-dropdown-item> | |||
</el-dropdown-menu> | |||
</el-dropdown> | |||
</div> | |||
@@ -374,10 +374,10 @@ | |||
</el-col> | |||
<el-col :span="10"> | |||
<div> | |||
<el-input :placeholder="$i18n['cloudeBrainMirror']['placeholder']" v-model="search" | |||
<el-input :placeholder="i18n['cloudeBrainMirror']['placeholder']" v-model="search" | |||
class="input-with-select" @keyup.enter.native="searchName()"> | |||
<el-button id="success" slot="append" icon="el-icon-search" @click="searchName()">{{ | |||
$i18n['cloudeBrainMirror']['search'] }}</el-button> | |||
i18n['cloudeBrainMirror']['search'] }}</el-button> | |||
</el-input> | |||
</div> | |||
</el-col> | |||
@@ -389,11 +389,11 @@ | |||
</span> | |||
<el-dropdown-menu slot="dropdown"> | |||
<el-dropdown-item :command="{ label: 'moststars', sort: 'moststars' }">{{ | |||
$i18n['cloudeBrainMirror']['moststars'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['moststars'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'mostused', sort: 'mostused' }">{{ | |||
$i18n['cloudeBrainMirror']['mostused'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['mostused'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'newest', sort: 'newest' }">{{ | |||
$i18n['cloudeBrainMirror']['newest'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['newest'] }}</el-dropdown-item> | |||
</el-dropdown-menu> | |||
</el-dropdown> | |||
</el-col> | |||
@@ -401,7 +401,7 @@ | |||
<el-empty :image-size="200"></el-empty> | |||
</template> | |||
</el-tab-pane> | |||
<el-tab-pane :label="$i18n['cloudeBrainMirror']['my_favorite_mirror']" name="third"> | |||
<el-tab-pane :label="i18n['cloudeBrainMirror']['my_favorite_mirror']" name="third"> | |||
<template v-if="tableDataStar.length !== 0"> | |||
<el-row style="align-items: center; display: flex"> | |||
<el-col :span="12"> | |||
@@ -409,10 +409,10 @@ | |||
</el-col> | |||
<el-col :span="10"> | |||
<div> | |||
<el-input :placeholder="$i18n['cloudeBrainMirror']['placeholder']" v-model="search" | |||
<el-input :placeholder="i18n['cloudeBrainMirror']['placeholder']" v-model="search" | |||
class="input-with-select" @keyup.enter.native="searchName()"> | |||
<el-button id="success" slot="append" icon="el-icon-search" @click="searchName()">{{ | |||
$i18n['cloudeBrainMirror']['search'] }}</el-button> | |||
i18n['cloudeBrainMirror']['search'] }}</el-button> | |||
</el-input> | |||
</div> | |||
</el-col> | |||
@@ -424,20 +424,20 @@ | |||
</span> | |||
<el-dropdown-menu slot="dropdown"> | |||
<el-dropdown-item :command="{ label: 'defaultsort', sort: '' }">{{ | |||
$i18n['cloudeBrainMirror']['defaultsort'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['defaultsort'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'moststars', sort: 'moststars' }">{{ | |||
$i18n['cloudeBrainMirror']['moststars'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['moststars'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'mostused', sort: 'mostused' }">{{ | |||
$i18n['cloudeBrainMirror']['mostused'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['mostused'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'newest', sort: 'newest' }">{{ | |||
$i18n['cloudeBrainMirror']['newest'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['newest'] }}</el-dropdown-item> | |||
</el-dropdown-menu> | |||
</el-dropdown> | |||
</el-col> | |||
</el-row> | |||
<el-row style="margin-top: 15px"> | |||
<el-table :data="tableDataStar" style="width: 100%" :header-cell-style="tableHeaderStyle"> | |||
<el-table-column :label="$i18n['cloudeBrainMirror']['mirror_tag']" min-width="19%" align="left" | |||
<el-table-column :label="i18n['cloudeBrainMirror']['mirror_tag']" min-width="19%" align="left" | |||
prop="tag"> | |||
<template slot-scope="scope"> | |||
<div style="display: flex; align-items: center"> | |||
@@ -448,7 +448,7 @@ | |||
</div> | |||
</template> | |||
</el-table-column> | |||
<el-table-column :label="$i18n['cloudeBrainMirror']['mirror_description']" min-width="26%" align="left" | |||
<el-table-column :label="i18n['cloudeBrainMirror']['mirror_description']" min-width="26%" align="left" | |||
prop="description"> | |||
<template slot-scope="scope"> | |||
<div class="image_desc" :title="scope.row.description"> | |||
@@ -460,13 +460,13 @@ | |||
</div> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="cloudbrainType" :label="$i18n['cloudeBrainMirror']['available_clusters']" | |||
<el-table-column prop="cloudbrainType" :label="i18n['cloudeBrainMirror']['available_clusters']" | |||
min-width="14%" align="center"> | |||
<template slot-scope="scope"> | |||
{{ scope.row.cloudbrainType | transformType(vm) }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="creator" :label="$i18n['cloudeBrainMirror']['creator']" min-width="8%" | |||
<el-table-column prop="creator" :label="i18n['cloudeBrainMirror']['creator']" min-width="8%" | |||
align="center"> | |||
<template slot-scope="scope"> | |||
<a v-if="scope.row.userName || scope.row.relAvatarLink" :href="'/' + scope.row.userName" | |||
@@ -476,20 +476,20 @@ | |||
<a v-else><img class="ui avatar image" title="Ghost" src="/user/avatar/ghost/-1" /></a> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="createdUnix" :label="$i18n['cloudeBrainMirror']['creation_time']" align="center" | |||
<el-table-column prop="createdUnix" :label="i18n['cloudeBrainMirror']['creation_time']" align="center" | |||
min-width="14%"> | |||
<template slot-scope="scope"> | |||
{{ scope.row.createdUnix | transformTimestamp }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column align="center" min-width="18%" :label="$i18n['cloudeBrainMirror']['operation']"> | |||
<el-table-column align="center" min-width="18%" :label="i18n['cloudeBrainMirror']['operation']"> | |||
<template slot-scope="scope"> | |||
<div style=" | |||
display: flex; | |||
justify-content: flex-end; | |||
align-items: center; | |||
"> | |||
<div style="display: flex;align-items: center;padding: 0 1rem;" :title="$i18n['citations']"> | |||
<div style="display: flex;align-items: center;padding: 0 1rem;" :title="i18n['citations']"> | |||
<i class="ri-links-line" style="font-size: 16px;"></i> | |||
<span style="line-height: 2;margin-left: 0.3rem;">{{ scope.row.useCount }}</span> | |||
</div> | |||
@@ -509,7 +509,7 @@ | |||
}}</span> | |||
</div> | |||
<span :class="scope.row.place ? 'copy-adress' : 'copy-adress-no'" | |||
@click="copyUrl(scope.row.place)">{{ $i18n['cloudeBrainMirror']['copy_address'] }}</span> | |||
@click="copyUrl(scope.row.place)">{{ i18n['cloudeBrainMirror']['copy_address'] }}</span> | |||
</div> | |||
</template> | |||
</el-table-column> | |||
@@ -529,10 +529,10 @@ | |||
</el-col> | |||
<el-col :span="10"> | |||
<div> | |||
<el-input :placeholder="$i18n['cloudeBrainMirror']['placeholder']" v-model="search" | |||
<el-input :placeholder="i18n['cloudeBrainMirror']['placeholder']" v-model="search" | |||
class="input-with-select" @keyup.enter.native="searchName()"> | |||
<el-button id="success" slot="append" icon="el-icon-search" @click="searchName()">{{ | |||
$i18n['cloudeBrainMirror']['search'] }}</el-button> | |||
i18n['cloudeBrainMirror']['search'] }}</el-button> | |||
</el-input> | |||
</div> | |||
</el-col> | |||
@@ -544,13 +544,13 @@ | |||
</span> | |||
<el-dropdown-menu slot="dropdown"> | |||
<el-dropdown-item :command="{ label: 'defaultsort', sort: '' }">{{ | |||
$i18n['cloudeBrainMirror']['defaultsort'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['defaultsort'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'moststars', sort: 'moststars' }">{{ | |||
$i18n['cloudeBrainMirror']['moststars'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['moststars'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'mostused', sort: 'mostused' }">{{ | |||
$i18n['cloudeBrainMirror']['mostused'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['mostused'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'newest', sort: 'newest' }">{{ | |||
$i18n['cloudeBrainMirror']['newest'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['newest'] }}</el-dropdown-item> | |||
</el-dropdown-menu> | |||
</el-dropdown> | |||
</el-col> | |||
@@ -749,7 +749,7 @@ export default { | |||
onHidden: function () { | |||
if (flag == false) { | |||
$(".alert") | |||
.html(_this.$i18n['canceled_operation']) | |||
.html(_this.i18n['canceled_operation']) | |||
.removeClass("alert-success") | |||
.addClass("alert-danger") | |||
.show() | |||
@@ -757,7 +757,7 @@ export default { | |||
.fadeOut(); | |||
} else { | |||
$(".alert") | |||
.html(_this.$i18n['successfully_deleted']) | |||
.html(_this.i18n['successfully_deleted']) | |||
.removeClass("alert-danger") | |||
.addClass("alert-success") | |||
.show() | |||
@@ -819,7 +819,7 @@ export default { | |||
document.execCommand("Copy"); | |||
cInput.remove(); | |||
$("body").toast({ | |||
message: this.$i18n['cloudeBrainMirror']['copy_succeeded'], | |||
message: this.i18n['cloudeBrainMirror']['copy_succeeded'], | |||
showProgress: "bottom", | |||
showIcon: "check circle", | |||
class: "info", | |||
@@ -847,20 +847,20 @@ export default { | |||
filters: { | |||
transformType(val, vm) { | |||
if (val == 0) { | |||
return `${vm.$i18n['cloudeBrainMirror']['openi']} GPU`; | |||
return `${vm.i18n['cloudeBrainMirror']['openi']} GPU`; | |||
} else { | |||
return `${vm.$i18n['cloudeBrainMirror']['c2net']} GPU`; | |||
return `${vm.i18n['cloudeBrainMirror']['c2net']} GPU`; | |||
} | |||
}, | |||
transformSort(val, vm) { | |||
if (val === 'moststars') { | |||
return vm.$i18n['cloudeBrainMirror']['moststars']; | |||
return vm.i18n['cloudeBrainMirror']['moststars']; | |||
} else if (val === 'mostused') { | |||
return vm.$i18n['cloudeBrainMirror']['mostused']; | |||
return vm.i18n['cloudeBrainMirror']['mostused']; | |||
} else if (val === 'defaultsort') { | |||
return vm.$i18n['cloudeBrainMirror']['defaultsort']; | |||
return vm.i18n['cloudeBrainMirror']['defaultsort']; | |||
} else { | |||
return vm.$i18n['cloudeBrainMirror']['newest']; | |||
return vm.i18n['cloudeBrainMirror']['newest']; | |||
} | |||
}, | |||
transformTimestamp(timestamp) { | |||
@@ -898,7 +898,7 @@ export default { | |||
} | |||
}, | |||
created() { | |||
this.$i18n = window.i18n; | |||
this.i18n = window.i18n; | |||
const params = new URLSearchParams(location.search); | |||
if (params.has("type") && params.get("type") == "myimage") { | |||
this.activeName = "second"; | |||
@@ -6,27 +6,27 @@ | |||
<div class="ui attached segment"> | |||
<div class="ui form ignore-dirty"> | |||
<div class="ui fluid action input"> | |||
<input type="text" :placeholder="$i18n['cloudeBrainMirror']['placeholder']" v-model="search" | |||
<input type="text" :placeholder="i18n['cloudeBrainMirror']['placeholder']" v-model="search" | |||
@keyup.enter="searchName()"> | |||
<button class="ui blue button" @click="searchName()">{{ $i18n['cloudeBrainMirror']['search'] }}</button> | |||
<button class="ui blue button" @click="searchName()">{{ i18n['cloudeBrainMirror']['search'] }}</button> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="ui ten wide column" style="margin: 1rem 0;"> | |||
<el-checkbox v-model="checked" style="padding: 0.5rem 1rem;">{{ | |||
$i18n['cloudeBrainMirror']['platform_recommendations'] }}</el-checkbox> | |||
i18n['cloudeBrainMirror']['platform_recommendations'] }}</el-checkbox> | |||
<!-- <el-dropdown @command="handleCommandType" trigger="click" | |||
style="border: 1px solid rgba(34,36,38,.15);border-radius: 4px;padding: 0.5rem 1rem;"> | |||
<span class="el-dropdown-link"> | |||
{{ dropdownType }}<i class="el-icon-caret-bottom el-icon--right"></i> | |||
</span> | |||
<el-dropdown-menu slot="dropdown"> | |||
<el-dropdown-item :command="{ label: $i18n['cloudeBrainMirror']['all_cluster'], type: -1 }">{{ | |||
$i18n['cloudeBrainMirror']['all_cluster'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: $i18n['cloudeBrainMirror']['openi'], type: 0 }">{{ | |||
$i18n['cloudeBrainMirror']['openi'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: $i18n['cloudeBrainMirror']['c2net'], type: 2 }">{{ | |||
$i18n['cloudeBrainMirror']['c2net'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: i18n['cloudeBrainMirror']['all_cluster'], type: -1 }">{{ | |||
i18n['cloudeBrainMirror']['all_cluster'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: i18n['cloudeBrainMirror']['openi'], type: 0 }">{{ | |||
i18n['cloudeBrainMirror']['openi'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: i18n['cloudeBrainMirror']['c2net'], type: 2 }">{{ | |||
i18n['cloudeBrainMirror']['c2net'] }}</el-dropdown-item> | |||
</el-dropdown-menu> | |||
</el-dropdown> --> | |||
<el-dropdown @command="handleCommandComputeResource" trigger="click" | |||
@@ -35,20 +35,20 @@ | |||
{{ dropdownComputeResource }}<i class="el-icon-caret-bottom el-icon--right"></i> | |||
</span> | |||
<el-dropdown-menu slot="dropdown"> | |||
<el-dropdown-item :command="{ label: $i18n['cloudeBrainMirror']['all_compute_resource'], type: '' }">{{ | |||
$i18n['cloudeBrainMirror']['all_compute_resource'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: $i18n['computeResourceTitle']['GPU'], type: 'GPU' }">{{ | |||
$i18n['computeResourceTitle']['GPU'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: $i18n['computeResourceTitle']['GCU'], type: 'GCU' }">{{ | |||
$i18n['computeResourceTitle']['GCU'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: $i18n['computeResourceTitle']['MLU'], type: 'MLU' }">{{ | |||
$i18n['computeResourceTitle']['MLU'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: i18n['cloudeBrainMirror']['all_compute_resource'], type: '' }">{{ | |||
i18n['cloudeBrainMirror']['all_compute_resource'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: i18n['computeResourceTitle']['GPU'], type: 'GPU' }">{{ | |||
i18n['computeResourceTitle']['GPU'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: i18n['computeResourceTitle']['GCU'], type: 'GCU' }">{{ | |||
i18n['computeResourceTitle']['GCU'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: i18n['computeResourceTitle']['MLU'], type: 'MLU' }">{{ | |||
i18n['computeResourceTitle']['MLU'] }}</el-dropdown-item> | |||
<el-dropdown-item | |||
:command="{ label: $i18n['computeResourceTitle']['ILUVATAR-GPGPU'], type: 'ILUVATAR-GPGPU' }">{{ | |||
$i18n['computeResourceTitle']['ILUVATAR-GPGPU'] }}</el-dropdown-item> | |||
:command="{ label: i18n['computeResourceTitle']['ILUVATAR-GPGPU'], type: 'ILUVATAR-GPGPU' }">{{ | |||
i18n['computeResourceTitle']['ILUVATAR-GPGPU'] }}</el-dropdown-item> | |||
<el-dropdown-item | |||
:command="{ label: $i18n['computeResourceTitle']['METAX-GPGPU'], type: 'METAX-GPGPU' }">{{ | |||
$i18n['computeResourceTitle']['METAX-GPGPU'] }}</el-dropdown-item> | |||
:command="{ label: i18n['computeResourceTitle']['METAX-GPGPU'], type: 'METAX-GPGPU' }">{{ | |||
i18n['computeResourceTitle']['METAX-GPGPU'] }}</el-dropdown-item> | |||
</el-dropdown-menu> | |||
</el-dropdown> | |||
<el-dropdown @command="handleApplyState" trigger="click" | |||
@@ -57,16 +57,16 @@ | |||
{{ dropdownApplyState }}<i class="el-icon-caret-bottom el-icon--right"></i> | |||
</span> | |||
<el-dropdown-menu slot="dropdown"> | |||
<el-dropdown-item :command="{ label: $i18n['cloudeBrainMirror']['all_approval_status'], type: '' }">{{ | |||
$i18n['cloudeBrainMirror']['all_approval_status'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: $i18n['cloudeBrainMirror']['pending_approval'], type: 2 }">{{ | |||
$i18n['cloudeBrainMirror']['pending_approval'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: $i18n['cloudeBrainMirror']['approved'], type: 3 }">{{ | |||
$i18n['cloudeBrainMirror']['approved'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: $i18n['cloudeBrainMirror']['not_approved'], type: 4 }">{{ | |||
$i18n['cloudeBrainMirror']['not_approved'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: $i18n['cloudeBrainMirror']['none'], type: 1 }">{{ | |||
$i18n['cloudeBrainMirror']['none'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: i18n['cloudeBrainMirror']['all_approval_status'], type: '' }">{{ | |||
i18n['cloudeBrainMirror']['all_approval_status'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: i18n['cloudeBrainMirror']['pending_approval'], type: 2 }">{{ | |||
i18n['cloudeBrainMirror']['pending_approval'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: i18n['cloudeBrainMirror']['approved'], type: 3 }">{{ | |||
i18n['cloudeBrainMirror']['approved'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: i18n['cloudeBrainMirror']['not_approved'], type: 4 }">{{ | |||
i18n['cloudeBrainMirror']['not_approved'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: i18n['cloudeBrainMirror']['none'], type: 1 }">{{ | |||
i18n['cloudeBrainMirror']['none'] }}</el-dropdown-item> | |||
</el-dropdown-menu> | |||
</el-dropdown> | |||
<el-dropdown @command="handleCommandSort" trigger="click" | |||
@@ -76,12 +76,12 @@ | |||
</span> | |||
<el-dropdown-menu slot="dropdown"> | |||
<el-dropdown-item :command="{ label: 'defaultsort', sort: '' }">{{ | |||
$i18n['cloudeBrainMirror']['defaultsort'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['defaultsort'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'moststars', sort: 'moststars' }">{{ | |||
$i18n['cloudeBrainMirror']['moststars'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['moststars'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'mostused', sort: 'mostused' }">{{ | |||
$i18n['cloudeBrainMirror']['mostused'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'newest', sort: 'newest' }">{{ $i18n['cloudeBrainMirror']['newest'] | |||
i18n['cloudeBrainMirror']['mostused'] }}</el-dropdown-item> | |||
<el-dropdown-item :command="{ label: 'newest', sort: 'newest' }">{{ i18n['cloudeBrainMirror']['newest'] | |||
}}</el-dropdown-item> | |||
</el-dropdown-menu> | |||
</el-dropdown> | |||
@@ -89,13 +89,13 @@ | |||
<div class="ui six wide column right aligned" style="margin:1rem 0;display: flex;align-items:center; | |||
justify-content:flex-end;"> | |||
<el-button size="medium" icon="el-icon-refresh" @click="syncComputerNetwork" v-loading="syncLoading"> | |||
{{ $i18n['cloudeBrainMirror']['syncAiNetwork'] }}</el-button> | |||
{{ i18n['cloudeBrainMirror']['syncAiNetwork'] }}</el-button> | |||
<a class="ui blue small button" style="margin-left:10px" href="/admin/images/commit_image">{{ | |||
$i18n['cloudeBrainMirror']['create_cloud_brain_mirror'] }}</a> | |||
i18n['cloudeBrainMirror']['create_cloud_brain_mirror'] }}</a> | |||
</div> | |||
<div class="ui sixteen wide column" style="padding: 0;overflow-x:auto;"> | |||
<el-table :data="tableDataCustom" style="min-width:100%;" :header-cell-style="tableHeaderStyle"> | |||
<el-table-column :label="$i18n['cloudeBrainMirror']['mirror_tag']" width="250px" align="left" prop="tag"> | |||
<el-table-column :label="i18n['cloudeBrainMirror']['mirror_tag']" width="250px" align="left" prop="tag"> | |||
<template slot-scope="scope"> | |||
<div style="display: flex;align-items: center;"> | |||
<a class="text-over image_title" :title="scope.row.tag">{{ scope.row.tag }}</a> | |||
@@ -103,7 +103,7 @@ | |||
</div> | |||
</template> | |||
</el-table-column> | |||
<el-table-column :label="$i18n['cloudeBrainMirror']['mirror_description']" width="300px" align="left" | |||
<el-table-column :label="i18n['cloudeBrainMirror']['mirror_description']" width="300px" align="left" | |||
prop="description"> | |||
<template slot-scope="scope"> | |||
<div class="image_desc" :title="scope.row.description">{{ scope.row.description }} | |||
@@ -114,14 +114,14 @@ | |||
</div> | |||
</template> | |||
</el-table-column> | |||
<el-table-column :label="$i18n['model_compute_resource']" width="150px" align="left" | |||
<el-table-column :label="i18n['model_compute_resource']" width="150px" align="left" | |||
prop="compute_resource"> | |||
<template slot-scope="scope"> | |||
<span :title="scope.row.compute_resource">{{ $i18n['computeResourceTitle'][scope.row.compute_resource] | |||
<span :title="scope.row.compute_resource">{{ i18n['computeResourceTitle'][scope.row.compute_resource] | |||
|| scope.row.compute_resource }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column :label="$i18n['cloudeBrainMirror']['framework']" width="150px" align="left" | |||
<el-table-column :label="i18n['cloudeBrainMirror']['framework']" width="150px" align="left" | |||
prop="framework"> | |||
<template slot-scope="scope"> | |||
{{ scope.row.framework }}<br />{{ scope.row.frameworkVersion }} | |||
@@ -137,25 +137,25 @@ | |||
{{ scope.row.cudaVersion || '--' }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column :label="$i18n['cloudeBrainMirror']['operationSystem']" width="180px" align="left" | |||
<el-table-column :label="i18n['cloudeBrainMirror']['operationSystem']" width="180px" align="left" | |||
prop="python"> | |||
<template slot-scope="scope"> | |||
{{ scope.row.operationSystem }}<br />{{ scope.row.operationSystemVersion }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column :label="$i18n['cloudeBrainMirror']['thirdPackages']" width="220px" align="left" | |||
<el-table-column :label="i18n['cloudeBrainMirror']['thirdPackages']" width="220px" align="left" | |||
prop="thirdpackages"> | |||
<template slot-scope="scope"> | |||
<div class="image_desc" :title="scope.row.thirdPackages">{{ scope.row.thirdPackages }}</div> | |||
</template> | |||
</el-table-column> | |||
<!-- <el-table-column prop="cloudbrainType" :label="$i18n['cloudeBrainMirror']['available_clusters']" | |||
<!-- <el-table-column prop="cloudbrainType" :label="i18n['cloudeBrainMirror']['available_clusters']" | |||
width="120px" align="center"> | |||
<template slot-scope="scope"> | |||
{{ scope.row.cloudbrainType | transformType(vm) }} | |||
</template> | |||
</el-table-column> --> | |||
<el-table-column prop="creator" :label="$i18n['cloudeBrainMirror']['creator']" width="80px" align="center"> | |||
<el-table-column prop="creator" :label="i18n['cloudeBrainMirror']['creator']" width="80px" align="center"> | |||
<template slot-scope="scope"> | |||
<a v-if="scope.row.userName || scope.row.relAvatarLink" :href="'/' + scope.row.userName" | |||
:title="scope.row.userName"> | |||
@@ -166,19 +166,19 @@ | |||
</a> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="createdUnix" :label="$i18n['cloudeBrainMirror']['creation_time']" align="center" | |||
<el-table-column prop="createdUnix" :label="i18n['cloudeBrainMirror']['creation_time']" align="center" | |||
width="160px"> | |||
<template slot-scope="scope"> | |||
{{ scope.row.createdUnix | transformTimestamp }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="apply_status" :label="$i18n['cloudeBrainMirror']['approval_status']" width="120px" | |||
<el-table-column prop="apply_status" :label="i18n['cloudeBrainMirror']['approval_status']" width="120px" | |||
fixed="right" align="center"> | |||
<template slot-scope="scope"> | |||
<span v-if="scope.row.apply_status == 0" style="">{{ '--' }}</span> | |||
<div v-if="scope.row.apply_status === 1" | |||
style="display: flex;align-items:center;justify-content:center;"> | |||
<span> {{ $i18n['cloudeBrainMirror']['none'] }}</span> | |||
<span> {{ i18n['cloudeBrainMirror']['none'] }}</span> | |||
<el-tooltip v-if="scope.row.message" class="item" effect="dark" :content="scope.row.message" | |||
placement="top"> | |||
<i class="INFO" style="margin-left: 0.3rem"></i> | |||
@@ -186,34 +186,34 @@ | |||
</div> | |||
<div v-if="scope.row.apply_status === 2" | |||
style="display: flex;align-items:center;justify-content:center;"> | |||
<span style="color: rgb(250, 140, 22);">{{ $i18n['cloudeBrainMirror']['pending_approval'] }}</span> | |||
<el-tooltip class="item" effect="dark" :content="$i18n['cloudeBrainMirror']['pending_approval']" | |||
<span style="color: rgb(250, 140, 22);">{{ i18n['cloudeBrainMirror']['pending_approval'] }}</span> | |||
<el-tooltip class="item" effect="dark" :content="i18n['cloudeBrainMirror']['pending_approval']" | |||
placement="top"> | |||
<i class="CLOCK" style="margin-left: 0.3rem"></i> | |||
</el-tooltip> | |||
</div> | |||
<div v-if="scope.row.apply_status === 3" | |||
style="display: flex;align-items:center;justify-content:center;"> | |||
<span style="color: rgb(19, 194, 141);">{{ $i18n['cloudeBrainMirror']['approved'] }}</span> | |||
<el-tooltip class="item" effect="dark" :content="$i18n['cloudeBrainMirror']['approved']" | |||
<span style="color: rgb(19, 194, 141);">{{ i18n['cloudeBrainMirror']['approved'] }}</span> | |||
<el-tooltip class="item" effect="dark" :content="i18n['cloudeBrainMirror']['approved']" | |||
placement="top"> | |||
<i class="SUCCEEDED" style="margin-left: 0.3rem"></i> | |||
</el-tooltip> | |||
</div> | |||
<div v-if="scope.row.apply_status === 4" | |||
style="display: flex;align-items:center;justify-content:center;"> | |||
<span style="color: red">{{ $i18n['cloudeBrainMirror']['not_approved'] }}</span> | |||
<span style="color: red">{{ i18n['cloudeBrainMirror']['not_approved'] }}</span> | |||
<el-tooltip class="item" effect="dark" :content="scope.row.message" placement="top"> | |||
<i class="FAILED" style="margin-left: 0.3rem"></i> | |||
</el-tooltip> | |||
</div> | |||
</template> | |||
</el-table-column> | |||
<el-table-column align="center" width="400px" :label="$i18n['cloudeBrainMirror']['operation']" | |||
<el-table-column align="center" width="400px" :label="i18n['cloudeBrainMirror']['operation']" | |||
fixed="right"> | |||
<template slot-scope="scope"> | |||
<div style="display: flex;justify-content: center;align-items: center;"> | |||
<div style="display: flex;align-items: center;padding: 0 1rem;" :title="$i18n['citations']"> | |||
<div style="display: flex;align-items: center;padding: 0 1rem;" :title="i18n['citations']"> | |||
<i class="ri-links-line" style="font-size: 16px;"></i> | |||
<span style="line-height: 2;margin-left: 0.3rem;">{{ scope.row.useCount }}</span> | |||
</div> | |||
@@ -228,27 +228,27 @@ | |||
<span style="padding: 0 1rem;color: rgb(19, 194, 141);cursor:pointer;" v-if="scope.row.type !== 5 && scope.row.status == '1' | |||
&& (scope.row.apply_status == 0 || scope.row.apply_status == 1 || scope.row.apply_status == 2)" | |||
@click="setRecommend(scope.$index, scope.row.id)">{{ | |||
$i18n['cloudeBrainMirror']['set_as_recommended'] }}</span> | |||
i18n['cloudeBrainMirror']['set_as_recommended'] }}</span> | |||
<span style="padding: 0 1rem;color: rgb(250, 140, 22);cursor:pointer;" | |||
v-if="scope.row.type != 5 && scope.row.apply_status == 2" | |||
@click="unSetRecommend(scope.$index, scope.row.id, 'reject')">{{ | |||
$i18n['cloudeBrainMirror']['not_recommend'] }}</span> | |||
i18n['cloudeBrainMirror']['not_recommend'] }}</span> | |||
<span style="padding: 0 1rem;color: rgb(250, 140, 22);cursor:pointer;" v-if="scope.row.type == 5" | |||
@click="unSetRecommend(scope.$index, scope.row.id, 'cancel')">{{ | |||
$i18n['cloudeBrainMirror']['cancel_recommendation'] }}</span> | |||
i18n['cloudeBrainMirror']['cancel_recommendation'] }}</span> | |||
<span :class="scope.row.place ? 'copy-adress' : 'copy-adress-no'" @click="copyUrl(scope.row.place)">{{ | |||
$i18n['cloudeBrainMirror']['copy_address'] }}</span> | |||
i18n['cloudeBrainMirror']['copy_address'] }}</span> | |||
<div style="padding-left:1rem;cursor:pointer;"> | |||
<el-dropdown size="medium"> | |||
<span class="el-dropdown-link"> | |||
{{ $i18n['cloudeBrainMirror']['more'] }}<i class="el-icon-arrow-down el-icon--right"></i> | |||
{{ i18n['cloudeBrainMirror']['more'] }}<i class="el-icon-arrow-down el-icon--right"></i> | |||
</span> | |||
<el-dropdown-menu slot="dropdown"> | |||
<el-dropdown-item @click.native="eidtImage(scope.row.id)">{{ $i18n['cloudeBrainMirror']['edit'] | |||
<el-dropdown-item @click.native="eidtImage(scope.row.id)">{{ i18n['cloudeBrainMirror']['edit'] | |||
}} | |||
</el-dropdown-item> | |||
<el-dropdown-item style="color: red;" @click.native="deleteImage(scope.row.id)">{{ | |||
$i18n['cloudeBrainMirror']['delete'] }}</el-dropdown-item> | |||
i18n['cloudeBrainMirror']['delete'] }}</el-dropdown-item> | |||
</el-dropdown-menu> | |||
</el-dropdown> | |||
</div> | |||
@@ -270,14 +270,14 @@ | |||
:before-close="reasonDialogHandleClose" @open="reasonDialogHandleOpen"> | |||
<div class="reason-content"> | |||
<el-form label-width="80px" style="margin-top:36px;padding-right:60px;"> | |||
<el-form-item :label="$i18n['cloudeBrainMirror']['reason']" required> | |||
<el-form-item :label="i18n['cloudeBrainMirror']['reason']" required> | |||
<el-input v-model="reasonDialogContent" maxlength="64"></el-input> | |||
</el-form-item> | |||
</el-form> | |||
</div> | |||
<span slot="footer" class="dialog-footer"> | |||
<el-button class="btn" @click="reasonDialogHandleClose">{{ $i18n['cancel'] }}</el-button> | |||
<el-button class="btn confirm-btn" type="primary" @click="reasonDialogHandleConfirm">{{ $i18n['confirm'] | |||
<el-button class="btn" @click="reasonDialogHandleClose">{{ i18n['cancel'] }}</el-button> | |||
<el-button class="btn confirm-btn" type="primary" @click="reasonDialogHandleConfirm">{{ i18n['confirm'] | |||
}}</el-button> | |||
</span> | |||
</el-dialog> | |||
@@ -364,9 +364,9 @@ export default { | |||
}, | |||
onHidden: function () { | |||
if (flag == false) { | |||
$('.alert').html(_this.$i18n['canceled_operation']).removeClass('alert-success').addClass('alert-danger').show().delay(1500).fadeOut(); | |||
$('.alert').html(_this.i18n['canceled_operation']).removeClass('alert-success').addClass('alert-danger').show().delay(1500).fadeOut(); | |||
} else { | |||
$('.alert').html(_this.$i18n['successfully_deleted']).removeClass('alert-danger').addClass('alert-success').show().delay(1500).fadeOut(); | |||
$('.alert').html(_this.i18n['successfully_deleted']).removeClass('alert-danger').addClass('alert-success').show().delay(1500).fadeOut(); | |||
} | |||
} | |||
}) | |||
@@ -383,13 +383,13 @@ export default { | |||
if (res.Code === 0) { | |||
this.$message({ | |||
type: 'success', | |||
message: this.$i18n['submittedSuccessfully'] | |||
message: this.i18n['submittedSuccessfully'] | |||
}); | |||
this.getImageListCustom() | |||
} else { | |||
this.$message({ | |||
type: 'error', | |||
message: this.$i18n['submittedFailed'] | |||
message: this.i18n['submittedFailed'] | |||
}); | |||
} | |||
}).catch(err => { | |||
@@ -397,7 +397,7 @@ export default { | |||
this.syncLoading = false; | |||
this.$message({ | |||
type: 'error', | |||
message: this.$i18n['submittedFailed'] | |||
message: this.i18n['submittedFailed'] | |||
}); | |||
}); | |||
}, | |||
@@ -441,10 +441,10 @@ export default { | |||
this.reasonDialogType = type; | |||
this.reasonDialogData = this.tableDataCustom[index]; | |||
if (type == 'reject') { | |||
this.reasonDialogTitle = this.$i18n['cloudeBrainMirror']['not_recommend']; | |||
this.reasonDialogTitle = this.i18n['cloudeBrainMirror']['not_recommend']; | |||
this.reasonDialogShow = true; | |||
} else if (type == 'cancel') { | |||
this.reasonDialogTitle = this.$i18n['cloudeBrainMirror']['cancel_recommendation']; | |||
this.reasonDialogTitle = this.i18n['cloudeBrainMirror']['cancel_recommendation']; | |||
this.reasonDialogShow = true; | |||
} | |||
}, | |||
@@ -486,7 +486,7 @@ export default { | |||
// console.log(this.reasonDialogType, this.reasonDialogContent, this.reasonDialogData); | |||
const reasonContent = this.reasonDialogContent.trim(); | |||
if (reasonContent == '') { | |||
this.$message(this.$i18n['cloudeBrainMirror']['pleaseEnterReason']); | |||
this.$message(this.i18n['cloudeBrainMirror']['pleaseEnterReason']); | |||
return; | |||
} | |||
this.$axios.put(`/admin/image/${this.reasonDialogData.id}/action/unrecommend`, { | |||
@@ -500,20 +500,20 @@ export default { | |||
filters: { | |||
transformType(val, vm) { | |||
if (val == 0) { | |||
return `${vm.$i18n['cloudeBrainMirror']['openi']}/GPU`; | |||
return `${vm.i18n['cloudeBrainMirror']['openi']}/GPU`; | |||
} else { | |||
return `${vm.$i18n['cloudeBrainMirror']['c2net']}/GPU`; | |||
return `${vm.i18n['cloudeBrainMirror']['c2net']}/GPU`; | |||
} | |||
}, | |||
transformSort(val, vm) { | |||
if (val === 'moststars') { | |||
return vm.$i18n['cloudeBrainMirror']['moststars']; | |||
return vm.i18n['cloudeBrainMirror']['moststars']; | |||
} else if (val === 'mostused') { | |||
return vm.$i18n['cloudeBrainMirror']['mostused']; | |||
return vm.i18n['cloudeBrainMirror']['mostused']; | |||
} else if (val === 'defaultsort') { | |||
return vm.$i18n['cloudeBrainMirror']['defaultsort']; | |||
return vm.i18n['cloudeBrainMirror']['defaultsort']; | |||
} else { | |||
return vm.$i18n['cloudeBrainMirror']['newest']; | |||
return vm.i18n['cloudeBrainMirror']['newest']; | |||
} | |||
}, | |||
transformTimestamp(timestamp) { | |||
@@ -543,44 +543,44 @@ export default { | |||
this.getImageListCustom() | |||
}, | |||
created() { | |||
this.$i18n = window.i18n; | |||
this.dropdownPrivate = this.$i18n['all']; | |||
this.dropdownType = this.$i18n['cloudeBrainMirror']['all_cluster']; | |||
this.dropdownApplyState = this.$i18n['cloudeBrainMirror']['all_approval_status']; | |||
this.dropdownComputeResource = this.$i18n['cloudeBrainMirror']['all_compute_resource']; | |||
this.i18n = window.i18n; | |||
this.dropdownPrivate = this.i18n['all']; | |||
this.dropdownType = this.i18n['cloudeBrainMirror']['all_cluster']; | |||
this.dropdownApplyState = this.i18n['cloudeBrainMirror']['all_approval_status']; | |||
this.dropdownComputeResource = this.i18n['cloudeBrainMirror']['all_compute_resource']; | |||
let params = new URLSearchParams(location.search) | |||
if (location.search) { | |||
this.firstSearch = true | |||
this.paramsCustom = qs.parse(location.search.split('?')[1]); | |||
if (params.has('private')) { | |||
this.dropdownPrivate = !params.get('private') ? this.$i18n['cloudeBrainMirror']['private'] : this.$i18n['cloudeBrainMirror']['public'] | |||
this.dropdownPrivate = !params.get('private') ? this.i18n['cloudeBrainMirror']['private'] : this.i18n['cloudeBrainMirror']['public'] | |||
} | |||
if (params.has('recommend')) { | |||
this.checked = params.get('recommend') === 'true' ? true : false | |||
} | |||
if (params.has('cloudbrainType')) { | |||
this.dropdownType = params.get('cloudbrainType') === 0 ? this.$i18n['cloudeBrainMirror']['openi'] : this.$i18n['cloudeBrainMirror']['c2net'] | |||
this.dropdownType = params.get('cloudbrainType') === 0 ? this.i18n['cloudeBrainMirror']['openi'] : this.i18n['cloudeBrainMirror']['c2net'] | |||
} | |||
if (params.has('computeResource')) { | |||
this.dropdownComputeResource = this.$i18n['computeResourceTitle'][params.get('computeResource')]; | |||
this.dropdownComputeResource = this.i18n['computeResourceTitle'][params.get('computeResource')]; | |||
} | |||
if (params.has('apply')) { | |||
const apply = params.get('apply'); | |||
switch (apply) { | |||
case '1': | |||
this.dropdownApplyState = this.$i18n['cloudeBrainMirror']['none'] | |||
this.dropdownApplyState = this.i18n['cloudeBrainMirror']['none'] | |||
break; | |||
case '2': | |||
this.dropdownApplyState = this.$i18n['cloudeBrainMirror']['pending_approval'] | |||
this.dropdownApplyState = this.i18n['cloudeBrainMirror']['pending_approval'] | |||
break; | |||
case '3': | |||
this.dropdownApplyState = this.$i18n['cloudeBrainMirror']['approved'] | |||
this.dropdownApplyState = this.i18n['cloudeBrainMirror']['approved'] | |||
break; | |||
case '4': | |||
this.dropdownApplyState = this.$i18n['cloudeBrainMirror']['not_approved'] | |||
this.dropdownApplyState = this.i18n['cloudeBrainMirror']['not_approved'] | |||
break; | |||
case '': | |||
this.dropdownApplyState = this.$i18n['cloudeBrainMirror']['all_approval_status'] | |||
this.dropdownApplyState = this.i18n['cloudeBrainMirror']['all_approval_status'] | |||
default: | |||
break; | |||
} | |||
@@ -1,21 +1,20 @@ | |||
import ClipboardJS from 'clipboard'; | |||
export default async function initClipboard(elements) { | |||
const els = elements || document.querySelectorAll(".clipboard"); | |||
if (!els || !els.length) return; | |||
const { default: ClipboardJS } = await import( | |||
/* webpackChunkName: "clipboard" */ "clipboard" | |||
); | |||
const clipboard = new ClipboardJS(els); | |||
clipboard.on("success", (e) => { | |||
e.clearSelection(); | |||
$(`#${e.trigger.getAttribute("id")}`).popup("destroy"); | |||
const popUpEl = $(e.trigger); | |||
popUpEl.popup("destroy"); | |||
e.trigger.setAttribute( | |||
"data-content", | |||
e.trigger.getAttribute("data-success") | |||
); | |||
$(`#${e.trigger.getAttribute("id")}`).popup("show"); | |||
popUpEl.popup("show"); | |||
e.trigger.setAttribute( | |||
"data-content", | |||
e.trigger.getAttribute("data-original") | |||
@@ -23,12 +22,13 @@ export default async function initClipboard(elements) { | |||
}); | |||
clipboard.on("error", (e) => { | |||
$(`#${e.trigger.getAttribute("id")}`).popup("destroy"); | |||
const popUpEl = $(e.trigger); | |||
popUpEl.popup("destroy"); | |||
e.trigger.setAttribute( | |||
"data-content", | |||
e.trigger.getAttribute("data-error") | |||
); | |||
$(`#${e.trigger.getAttribute("id")}`).popup("show"); | |||
popUpEl.popup("show"); | |||
e.trigger.setAttribute( | |||
"data-content", | |||
e.trigger.getAttribute("data-original") | |||
@@ -119,7 +119,7 @@ export default { | |||
}, | |||
remove(file) { | |||
if (file) { | |||
const index = this.fileList.findIndex(item => item.webkitRelativePath === file.webkitRelativePath); | |||
const index = this.fileList.findIndex(item => item._webkitRelativePath === file._webkitRelativePath); | |||
this.fileList.splice(index, 1); | |||
} else { | |||
this.fileList.splice(0); | |||
@@ -181,12 +181,13 @@ export const initClipboard = (_els) => { | |||
const clipboard = new ClipboardJS(els); | |||
clipboard.on("success", (e) => { | |||
e.clearSelection(); | |||
$(`#${e.trigger.getAttribute("id")}`).popup("destroy"); | |||
const popUpEl = $(e.trigger); | |||
popUpEl.popup("destroy"); | |||
e.trigger.setAttribute( | |||
"data-content", | |||
e.trigger.getAttribute("data-success") | |||
); | |||
$(`#${e.trigger.getAttribute("id")}`).popup("show"); | |||
popUpEl.popup("show"); | |||
e.trigger.setAttribute( | |||
"data-content", | |||
e.trigger.getAttribute("data-original") | |||
@@ -194,12 +195,13 @@ export const initClipboard = (_els) => { | |||
}); | |||
clipboard.on("error", (e) => { | |||
$(`#${e.trigger.getAttribute("id")}`).popup("destroy"); | |||
const popUpEl = $(e.trigger); | |||
popUpEl.popup("destroy"); | |||
e.trigger.setAttribute( | |||
"data-content", | |||
e.trigger.getAttribute("data-error") | |||
); | |||
$(`#${e.trigger.getAttribute("id")}`).popup("show"); | |||
popUpEl.popup("show"); | |||
e.trigger.setAttribute( | |||
"data-content", | |||
e.trigger.getAttribute("data-original") | |||
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》