|
@@ -1,11 +1,11 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
<el-upload
|
|
|
- :headers="{'x-token':token}"
|
|
|
- :show-file-list="false"
|
|
|
:before-upload="checkFile"
|
|
|
+ :headers="{'x-token':token}"
|
|
|
:on-error="uploadError"
|
|
|
:on-success="uploadSuccess"
|
|
|
+ :show-file-list="false"
|
|
|
action="/api/fileUploadAndDownload/upload"
|
|
|
>
|
|
|
<el-button size="small" type="primary">点击上传</el-button>
|
|
@@ -17,7 +17,13 @@
|
|
|
<img :alt="scope.row.alt" :src="scope.row.url" height="80" width="80" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="日期" prop="UpdatedAt" width="180"></el-table-column>
|
|
|
+ <el-table-column label="日期" prop="UpdatedAt" width="180">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{scope.row.UpdatedAt|formatDate}}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column label="文件名" prop="name" width="180"></el-table-column>
|
|
|
<el-table-column label="链接" prop="url"></el-table-column>
|
|
|
<el-table-column label="标签" prop="tag" width="100">
|
|
@@ -31,6 +37,7 @@
|
|
|
<el-table-column label="操作" width="100">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button @click="downloadFile(scope.row)" size="small" type="text">下载</el-button>
|
|
|
+ <el-button @click="deleteFile(scope.row)" size="small" type="text">删除</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -50,8 +57,9 @@
|
|
|
<script>
|
|
|
import { mapGetters } from 'vuex'
|
|
|
import infoList from '@/components/mixins/infoList'
|
|
|
-import { getFileList } from '@/api/fileUploadAndDownload'
|
|
|
+import { getFileList, deleteFile } from '@/api/fileUploadAndDownload'
|
|
|
import { downloadImage } from '@/utils/downloadImg'
|
|
|
+import { formatTimeToStr } from '@/utils/data'
|
|
|
export default {
|
|
|
name: 'Upload',
|
|
|
mixins: [infoList],
|
|
@@ -78,12 +86,45 @@ export default {
|
|
|
computed: {
|
|
|
...mapGetters('user', ['userInfo', 'token'])
|
|
|
},
|
|
|
+ filters: {
|
|
|
+ formatDate: function(time) {
|
|
|
+ if (time != null && time != '') {
|
|
|
+ var date = new Date(time)
|
|
|
+ return formatTimeToStr(date, 'yyyy-MM-dd hh:mm:ss')
|
|
|
+ } else {
|
|
|
+ return ''
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
methods: {
|
|
|
+ async deleteFile(row) {
|
|
|
+ this.$confirm('此操作将永久删除所有角色下该菜单, 是否继续?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ .then(async () => {
|
|
|
+ const res = await deleteFile(row)
|
|
|
+ if (res.success) {
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '删除成功!'
|
|
|
+ })
|
|
|
+ this.getTableData()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.$message({
|
|
|
+ type: 'info',
|
|
|
+ message: '已取消删除'
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
checkFile(file) {
|
|
|
const isJPG = file.type === 'image/jpeg'
|
|
|
const isPng = file.type === 'image/png'
|
|
|
const isLt2M = file.size / 1024 / 1024 < 2
|
|
|
- if (!isJPG&&!isPng) {
|
|
|
+ if (!isJPG && !isPng) {
|
|
|
this.$message.error('上传头像图片只能是 JPG或png 格式!')
|
|
|
}
|
|
|
if (!isLt2M) {
|
|
@@ -96,7 +137,7 @@ export default {
|
|
|
type: 'success',
|
|
|
message: '上传成功'
|
|
|
})
|
|
|
- if(res.success){
|
|
|
+ if (res.success) {
|
|
|
this.getTableData()
|
|
|
}
|
|
|
},
|