完成了本地存储功能,用户头像存储方式改为本地,其他细节优化

This commit is contained in:
dqjdda
2019-09-07 22:03:15 +08:00
parent 9fad80b1a2
commit d41b76a9ac
10 changed files with 89 additions and 33 deletions

View File

@@ -1,16 +1,16 @@
<template>
<el-tabs v-model="activeName" style="padding-left: 8px;">
<el-tabs v-model="activeName" style="padding-left: 8px;" @tab-click="tabClick">
<el-tab-pane label="本地存储" name="first">
<Local/>
<Local ref="local"/>
</el-tab-pane>
<el-tab-pane label="七牛云存储" name="second">
<QiNiu/>
<QiNiu ref="qiNiu"/>
</el-tab-pane>
</el-tabs>
</template>
<script>
import QiNiu from './qiniu/list'
import QiNiu from './qiniu/index'
import Local from './local/index'
import '@/styles/description.scss'
export default {
@@ -20,6 +20,15 @@ export default {
return {
activeName: 'first'
}
},
methods: {
tabClick(name) {
if (this.activeName === 'first') {
this.$refs.local.init()
} else {
this.$refs.qiNiu.init()
}
}
}
}
</script>

View File

@@ -15,7 +15,7 @@
:on-success="handleSuccess"
:on-error="handleError"
:action="fileUploadApi + '?name=' + form.name">
<div class="eladmin-upload"><i class="el-icon-upload"/> 点击上传</div>
<div class="eladmin-upload"><i class="el-icon-upload"/> 添加文件</div>
<div slot="tip" class="el-upload__tip">可上传任意格式文件且不超过100M</div>
</el-upload>
</el-form-item>

View File

@@ -15,18 +15,30 @@
icon="el-icon-upload"
@click="add">文件上传</el-button>
</div>
<!-- 多选删除 -->
<div style="display: inline-block;margin: 0px 2px;">
<el-button
:loading="delAllLoading"
:disabled="data.length === 0 || $refs.table.selection.length === 0"
class="filter-item"
size="mini"
type="danger"
icon="el-icon-delete"
@click="open">删除</el-button>
</div>
</div>
<!--表单组件-->
<eForm ref="form" :is-add="isAdd"/>
<!--表格渲染-->
<el-table v-loading="loading" :data="data" size="small" style="width: 100%;">
<el-table v-loading="loading" ref="table" :data="data" size="small" style="width: 100%;">
<el-table-column type="selection" width="55"/>
<el-table-column :show-overflow-tooltip="true" prop="name" label="文件名">
<template slot-scope="scope">
<el-link :href="baseApi + '/file/' + scope.row.type + '/' + scope.row.realName" target="_blank" type="primary">{{ scope.row.name }}</el-link>
<el-link :underline="false" :href="baseApi + '/file/' + scope.row.type + '/' + scope.row.realName" target="_blank" type="primary">{{ scope.row.name }}</el-link>
</template>
</el-table-column>
<el-table-column prop="suffix" label="后缀"/>
<el-table-column prop="type" label="类"/>
<el-table-column prop="suffix" label="文件类型"/>
<el-table-column prop="type" label="类"/>
<el-table-column prop="size" label="大小"/>
<el-table-column prop="operate" label="操作人"/>
<el-table-column prop="createTime" label="创建日期">
@@ -72,7 +84,7 @@
import { mapGetters } from 'vuex'
import checkPermission from '@/utils/permission'
import initData from '@/mixins/initData'
import { del } from '@/api/localStorage'
import { del, delAll } from '@/api/localStorage'
import { parseTime } from '@/utils/index'
import eForm from './form'
export default {
@@ -80,7 +92,7 @@ export default {
mixins: [initData],
data() {
return {
delLoading: false,
delLoading: false, delAllLoading: false,
queryTypeOptions: [
{ key: 'name', display_name: '文件名' },
{ key: 'suffix', display_name: '后缀' },
@@ -141,6 +153,36 @@ export default {
name: data.name
}
_this.dialog = true
},
doDelete() {
this.delAllLoading = true
const data = this.$refs.table.selection
const ids = []
for (let i = 0; i < data.length; i++) {
ids.push(data[i].id)
}
delAll(ids).then(res => {
this.delAllLoading = false
this.dleChangePage(ids.length)
this.init()
this.$notify({
title: '删除成功',
type: 'success',
duration: 2500
})
}).catch(err => {
this.delAllLoading = false
console.log(err.response.data.message)
})
},
open() {
this.$confirm('你确定删除选中的数据吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.doDelete()
})
}
}
}

View File

@@ -19,7 +19,7 @@
class="filter-item"
size="mini"
type="success"
icon="el-icon-delete"
icon="el-icon-s-tools"
@click="doConfig">七牛配置</el-button>
</div>
<!-- 多选删除 -->
@@ -56,7 +56,7 @@
<el-table-column type="selection" width="55"/>
<el-table-column :show-overflow-tooltip="true" label="文件名">
<template slot-scope="scope">
<span>{{ scope.row.key }}</span>
<a href="JavaScript:;" class="el-link el-link--primary" target="_blank" type="primary" @click="download(scope.row.id)">{{ scope.row.key }}</a>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" label="文件类型">
@@ -72,14 +72,8 @@
<span>{{ parseTime(scope.row.updateTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" width="130px" align="center" fixed="right">
<el-table-column label="操作" width="100px" align="center" fixed="right">
<template slot-scope="scope">
<el-button
:loading="downloadLoading"
size="mini"
type="primary"
icon="el-icon-download"
@click="download(scope.row.id)"/>
<el-popover
:ref="scope.row.id"
placement="top"
@@ -140,11 +134,6 @@ export default {
}
}
},
created() {
this.$nextTick(() => {
this.init()
})
},
methods: {
parseTime,
beforeInit() {