及时清理监听事件
This commit is contained in:
parent
263eea0210
commit
306762738c
@ -386,7 +386,10 @@
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-tooltip
|
||||
v-if="scope.row.index === cellMouseIndex && (!scope.row.isShare || scope.row.shareBase)"
|
||||
v-if="
|
||||
scope.row.index === cellMouseIndex &&
|
||||
(!scope.row.isShare || scope.row.shareBase)
|
||||
"
|
||||
class="item"
|
||||
effect="light"
|
||||
content="分享"
|
||||
@ -690,9 +693,15 @@
|
||||
>
|
||||
</el-form-item>
|
||||
<el-form-item label="位置:" class="details-position">
|
||||
<a :href="'/?path=' + rowContextData.path + '&highlight=' + rowContextData.name">{{
|
||||
rowContextData.path
|
||||
}}</a>
|
||||
<a
|
||||
:href="
|
||||
'/?path=' +
|
||||
rowContextData.path +
|
||||
'&highlight=' +
|
||||
rowContextData.name
|
||||
"
|
||||
>{{ rowContextData.path }}</a
|
||||
>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间:">
|
||||
<span>{{ rowContextData.uploadDate }}</span>
|
||||
@ -807,8 +816,11 @@
|
||||
>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<tag-dialog :fileList="tagDialogObjectList"
|
||||
:status.sync="tagDialogVisible" @onSuccess="allocateTagSuccess"/>
|
||||
<tag-dialog
|
||||
:fileList="tagDialogObjectList"
|
||||
:status.sync="tagDialogVisible"
|
||||
@onSuccess="allocateTagSuccess"
|
||||
/>
|
||||
<share-dialog
|
||||
:file.sync="shareDialogObject"
|
||||
:status.sync="shareDialogVisible"
|
||||
@ -1316,6 +1328,14 @@ export default {
|
||||
}
|
||||
}, 50);
|
||||
},
|
||||
destroyed() {
|
||||
Bus.$off("fileSuccess");
|
||||
Bus.$off("loadFileFaild");
|
||||
Bus.$off("clickMore");
|
||||
Bus.$off("renameRow");
|
||||
Bus.$off("msg/file/change");
|
||||
Bus.$off("msg/file/operation/fault");
|
||||
},
|
||||
beforeDestroy() {
|
||||
window.removeEventListener("keydown", this.keydown, false);
|
||||
window.removeEventListener("keyup", this.keyup, false);
|
||||
@ -1381,6 +1401,7 @@ export default {
|
||||
: chineseLength;
|
||||
},
|
||||
keydown(event) {
|
||||
console.log('sdf')
|
||||
const isMac = navigator.platform.startsWith("Mac");
|
||||
const { key, c, keyCode, ctrlKey, metaKey } = event;
|
||||
this.isCmd = (isMac && metaKey) || (!isMac && ctrlKey);
|
||||
@ -4166,7 +4187,7 @@ export default {
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #409EFF;
|
||||
color: #409eff;
|
||||
}
|
||||
}
|
||||
|
||||
@ -4198,7 +4219,7 @@ export default {
|
||||
|
||||
>>> .plTableBox .el-table .el-table__header {
|
||||
th {
|
||||
background-color: #FFFFFF;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.is-sortable:hover {
|
||||
@ -4218,7 +4239,7 @@ export default {
|
||||
}
|
||||
|
||||
.home-link:hover {
|
||||
color: #409EFF;
|
||||
color: #409eff;
|
||||
}
|
||||
|
||||
.info-statistics {
|
||||
@ -4247,7 +4268,7 @@ export default {
|
||||
margin-left: 5px !important;
|
||||
}
|
||||
|
||||
> > > .open-file-dialog {
|
||||
> .open-file-dialog {
|
||||
.el-dialog {
|
||||
width: 420px;
|
||||
}
|
||||
@ -4261,13 +4282,13 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
> > > .v-contextmenu-item {
|
||||
> .v-contextmenu-item {
|
||||
.svg-icon {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
> > > .new-text-file-dialog {
|
||||
> .new-text-file-dialog {
|
||||
height: 350px;
|
||||
top: calc(50% - 175px);
|
||||
|
||||
@ -4291,7 +4312,7 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
> > > .van-grid-item__content {
|
||||
> .van-grid-item__content {
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
padding: 0;
|
||||
@ -4356,4 +4377,3 @@ export default {
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@ -294,6 +294,9 @@ export default {
|
||||
Bus.$off('openUploader')
|
||||
Bus.$off('uploadFolder')
|
||||
Bus.$off('uploadFileListBack')
|
||||
Bus.$off('fileListScrollTop')
|
||||
Bus.$off('onDragStart')
|
||||
Bus.$off('storageTypeChange')
|
||||
},
|
||||
methods: {
|
||||
initUploader() {
|
||||
|
||||
@ -1,14 +1,16 @@
|
||||
<template>
|
||||
<div>
|
||||
<viewer v-show="pc"
|
||||
:options="options"
|
||||
:images="images"
|
||||
@inited="inited"
|
||||
class="viewer" ref="viewer"
|
||||
<viewer
|
||||
v-show="pc"
|
||||
:options="options"
|
||||
:images="images"
|
||||
@inited="inited"
|
||||
class="viewer"
|
||||
ref="viewer"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-for="(image,index) in scope.images" :key="index">
|
||||
<img :src="image.thumbnail" :data-src="image.source">
|
||||
<div v-for="(image, index) in scope.images" :key="index">
|
||||
<img :src="image.thumbnail" :data-src="image.source" />
|
||||
</div>
|
||||
</template>
|
||||
</viewer>
|
||||
@ -110,6 +112,9 @@ export default {
|
||||
this.$emit('update:status', false)
|
||||
})
|
||||
},
|
||||
destroyed() {
|
||||
Bus.$off("updateImageViewerStatus")
|
||||
},
|
||||
methods: {
|
||||
inited(viewer) {
|
||||
this.$viewer = viewer
|
||||
|
||||
@ -1,12 +1,22 @@
|
||||
<template>
|
||||
<div class="sidebar-logo-container" :class="{'collapse':collapse}">
|
||||
<div class="sidebar-logo-container" :class="{ collapse: collapse }">
|
||||
<transition name="sidebarLogoFade">
|
||||
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
|
||||
<router-link
|
||||
v-if="collapse"
|
||||
key="collapse"
|
||||
class="sidebar-logo-link"
|
||||
to="/"
|
||||
>
|
||||
<Logo v-model="netdiskLogo" width="50" padding="8"></Logo>
|
||||
</router-link>
|
||||
<router-link v-else key="expand" class="sidebar-logo-link logo-expand" to="/">
|
||||
<router-link
|
||||
v-else
|
||||
key="expand"
|
||||
class="sidebar-logo-link logo-expand"
|
||||
to="/"
|
||||
>
|
||||
<Logo v-model="netdiskLogo" width="50" padding="8"></Logo>
|
||||
<h1 class="sidebar-title">{{ title }} </h1>
|
||||
<h1 class="sidebar-title">{{ title }}</h1>
|
||||
</router-link>
|
||||
</transition>
|
||||
</div>
|
||||
@ -44,6 +54,9 @@ export default {
|
||||
this.netdiskLogo = this.$store.state.user.netdiskLogo
|
||||
})
|
||||
},
|
||||
destroyed() {
|
||||
Bus.$off('updateLogo')
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
}
|
||||
@ -78,14 +91,14 @@ export default {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
vertical-align: middle;
|
||||
margin-right: 2px!important;
|
||||
margin-right: 2px !important;
|
||||
}
|
||||
|
||||
& .sidebar-logo-expand {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
vertical-align: middle;
|
||||
margin-right: 12px!important;
|
||||
margin-right: 12px !important;
|
||||
}
|
||||
|
||||
& .sidebar-title {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div :class="{'has-logo':showLogo}">
|
||||
<div :class="{ 'has-logo': showLogo }">
|
||||
<div class="scrollbar-head">
|
||||
<logo v-if="showLogo" :collapse="isCollapse" />
|
||||
<el-scrollbar wrap-class="scrollbar-wrapper">
|
||||
@ -13,45 +13,83 @@
|
||||
:collapse-transition="false"
|
||||
mode="vertical"
|
||||
>
|
||||
<sidebar-item v-for="route in routes" :key="route.path" :item="route" :base-path="route.path" />
|
||||
<sidebar-item
|
||||
v-for="route in routes"
|
||||
:key="route.path"
|
||||
:item="route"
|
||||
:base-path="route.path"
|
||||
/>
|
||||
</el-menu>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
<div class="scrollbar-tag" :class="{'collapse': isCollapse}">标签</div>
|
||||
<div class="scrollbar-tag" :class="{ collapse: isCollapse }">标签</div>
|
||||
<div class="scroll-decoration-top"></div>
|
||||
<el-scrollbar class="tag-list" wrap-class="scrollbar-wrapper">
|
||||
<div v-if="isCollapse">
|
||||
<ul class="infinite-list">
|
||||
<el-tooltip class="item" effect="dark" :content="tag.name" placement="right" v-for="tag in tagList" :key="tag.tagId">
|
||||
<li class="infinite-list-item collapse">
|
||||
<svg-icon :style="{ color: tag.color, fontSize: '14px' }" icon-class="tag2"></svg-icon>
|
||||
</li>
|
||||
</el-tooltip>
|
||||
</ul>
|
||||
</div>
|
||||
<div v-else>
|
||||
<ul class="infinite-list">
|
||||
<li v-for="tag in tagList" :key="tag.id" class="infinite-list-item">
|
||||
<router-link :to="'/tag?tagId=' + tag.id" @click.native="tagClick(tag)">
|
||||
<svg-icon :style="{ color: tag.color, fontSize: '14px' }" icon-class="tag2"></svg-icon>
|
||||
<span>{{ tag.name }}</span>
|
||||
</router-link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div v-if="isCollapse">
|
||||
<ul class="infinite-list">
|
||||
<el-tooltip
|
||||
class="item"
|
||||
effect="dark"
|
||||
:content="tag.name"
|
||||
placement="right"
|
||||
v-for="tag in tagList"
|
||||
:key="tag.tagId"
|
||||
>
|
||||
<li class="infinite-list-item collapse">
|
||||
<svg-icon
|
||||
:style="{ color: tag.color, fontSize: '14px' }"
|
||||
icon-class="tag2"
|
||||
></svg-icon>
|
||||
</li>
|
||||
</el-tooltip>
|
||||
</ul>
|
||||
</div>
|
||||
<div v-else>
|
||||
<ul class="infinite-list">
|
||||
<li
|
||||
v-for="tag in tagList"
|
||||
:key="tag.id"
|
||||
class="infinite-list-item"
|
||||
@click="tagClick(tag)"
|
||||
>
|
||||
<!-- <router-link :to="'/tag?tagId=' + tag.id" @click.native="tagClick(tag)">-->
|
||||
<svg-icon
|
||||
:style="{ color: tag.color, fontSize: '14px' }"
|
||||
icon-class="tag2"
|
||||
></svg-icon>
|
||||
<span>{{ tag.name }}</span>
|
||||
<!-- </router-link>-->
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
<div class="scroll-decoration-bottom"></div>
|
||||
<div class="scrollbar-footer">
|
||||
<div class="quota-space">
|
||||
<el-progress v-show="percentage > 0" :class="{'collapse': isCollapse}" :percentage="percentage" :format="progressFormat" :color="customColors"></el-progress>
|
||||
<el-progress
|
||||
v-show="percentage > 0"
|
||||
:class="{ collapse: isCollapse }"
|
||||
:percentage="percentage"
|
||||
:format="progressFormat"
|
||||
:color="customColors"
|
||||
></el-progress>
|
||||
</div>
|
||||
<div class="webdav">
|
||||
<div :class="{'normal': true, 'collapse': isCollapse}" @mousemove="showCopyBtn = true" @mouseleave="showCopyBtn = false">
|
||||
<div
|
||||
:class="{ normal: true, collapse: isCollapse }"
|
||||
@mousemove="showCopyBtn = true"
|
||||
@mouseleave="showCopyBtn = false"
|
||||
>
|
||||
<svg-icon class="webdav-icon" icon-class="disk-drive"></svg-icon>
|
||||
<div class="wedav-text">WebDAV </div>
|
||||
<div class="wedav-text">WebDAV</div>
|
||||
<el-tooltip placement="right" v-if="showCopyBtn">
|
||||
<div slot="content">点击复制WebDAV地址<br/>{{webdavUrl}}</div>
|
||||
<svg-icon class="copy-btn" icon-class="menu-fuzhi" @click="copyWebDAVLink('.copy-btn')" :data-clipboard-text="webdavUrl"></svg-icon>
|
||||
<div slot="content">点击复制WebDAV地址<br />{{ webdavUrl }}</div>
|
||||
<svg-icon
|
||||
class="copy-btn"
|
||||
icon-class="menu-fuzhi"
|
||||
@click="copyWebDAVLink('.copy-btn')"
|
||||
:data-clipboard-text="webdavUrl"
|
||||
></svg-icon>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
@ -144,6 +182,9 @@ export default {
|
||||
})
|
||||
Bus.$on('msg/file/change', (msg) => this.onmessage(msg))
|
||||
},
|
||||
destroyed() {
|
||||
Bus.$off('msg/file/change')
|
||||
},
|
||||
methods: {
|
||||
onmessage(msg) {
|
||||
const takeUpSpace = msg.space
|
||||
@ -168,8 +209,9 @@ export default {
|
||||
})
|
||||
},
|
||||
tagClick(tag) {
|
||||
console.log('tagClick', tag.tagId)
|
||||
Bus.$emit('tagPageChange', tag.tagId)
|
||||
console.log('tagClick', tag.id)
|
||||
this.$router.push(`/tag?tagId=${tag.id}`);
|
||||
Bus.$emit('tagPageChange', tag.id)
|
||||
},
|
||||
mouseleave() {
|
||||
},
|
||||
@ -259,20 +301,20 @@ export default {
|
||||
font-size: 14px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
>>>.el-progress-bar {
|
||||
>>> .el-progress-bar {
|
||||
padding-right: 40px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
>>>.el-progress__text {
|
||||
>>> .el-progress__text {
|
||||
margin-left: 20px;
|
||||
font-size: 12px!important;
|
||||
font-size: 12px !important;
|
||||
}
|
||||
.collapse {
|
||||
>>>.el-progress-bar {
|
||||
>>> .el-progress-bar {
|
||||
padding-right: 4px;
|
||||
margin-left: 2px;
|
||||
}
|
||||
>>>.el-progress__text {
|
||||
>>> .el-progress__text {
|
||||
margin-left: 5px;
|
||||
display: block;
|
||||
}
|
||||
@ -287,7 +329,7 @@ export default {
|
||||
padding-left: 20px;
|
||||
.webdav-icon {
|
||||
margin-top: 12px;
|
||||
margin-right: 0!important;
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
.copy-btn {
|
||||
margin-top: 10px;
|
||||
|
||||
@ -483,6 +483,8 @@ export default {
|
||||
},
|
||||
destroyed() {
|
||||
window.removeEventListener('popstate', this.goBack, false)
|
||||
Bus.$off('fileSuccess')
|
||||
Bus.$off('clickMore')
|
||||
},
|
||||
directives: {
|
||||
// 注册一个局部的自定义指令 v-focus
|
||||
|
||||
@ -215,7 +215,7 @@ export default {
|
||||
}
|
||||
},
|
||||
destroyed() {
|
||||
Bus.$off()
|
||||
Bus.$off('msg/synced')
|
||||
},
|
||||
computed: {
|
||||
...mapGetters([
|
||||
|
||||
@ -36,6 +36,9 @@ export default {
|
||||
console.log('tagPageChange', tagId)
|
||||
this.queryCondition.tagId = tagId
|
||||
})
|
||||
},
|
||||
destroyed() {
|
||||
Bus.$off('tagPageChange')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user