update 文件管理

qianlishi 3 years ago
parent 806b6b40be
commit 2ad012f7cf

@ -1,199 +1,242 @@
<template>
<anji-crud ref="listPage" :option="crudOption">
<template v-slot:buttonLeftOnTable>
<el-upload class="el-upload" ref="upload" :action="uploadUrl" :headers="headers" :on-success="handleUpload"
:on-error="handleError" :show-file-list="false" :limit="1">
<el-button type="primary" icon="el-icon" v-permission="'fileManage:upload'"></el-button>
<el-upload
class="el-upload"
ref="upload"
:action="uploadUrl"
:headers="headers"
:on-success="handleUpload"
:on-error="handleError"
:show-file-list="false"
:limit="1"
>
<el-button
type="primary"
icon="el-icon"
v-permission="'fileManage:upload'"
>文件上传</el-button
>
</el-upload>
</template>
<template slot="rowButton" slot-scope="props">
<template slot="edit" slot-scope="props">
<el-button type="text" @click="copyUrlPath(props)">url</el-button>
</template>
<template slot="rowButton" slot-scope="props">
<el-button type="text" @click="customButtom(props)"></el-button>
</template>
</anji-crud>
</template>
<script>
import {fileList, fileAdd, fileDel, fileUpdate, fileDetail} from '@/api/file'
import {getToken} from '@/utils/auth'
import { fileList, fileAdd, fileDel, fileUpdate, fileDetail } from "@/api/file";
import { getToken } from "@/utils/auth";
export default {
name: 'File',
name: "File",
components: {
anjiCrud: require('@/components/AnjiPlus/anji-crud/anji-crud').default,
anjiCrud: require("@/components/AnjiPlus/anji-crud/anji-crud").default
},
data() {
return {
selectedList: [],
uploadUrl: process.env.BASE_API + '/file/upload',
uploadUrl: process.env.BASE_API + "/file/upload",
crudOption: {
// 使
title: '文件管理',
title: "文件管理",
//
labelWidth: '120px',
labelWidth: "120px",
//
queryFormFields: [
{
inputType: 'input',
label: '文件路径',
field: 'filePath',
},
inputType: "input",
label: "文件路径",
field: "filePath"
}
],
//
buttons: {
query: {
api: fileList,
permission: 'fileManage:query',
sort: 'create_time',
order: 'DESC',
permission: "fileManage:query",
sort: "create_time",
order: "DESC"
},
queryByPrimarykey: {
api: fileDetail,
permission: 'fileManage:query',
permission: "fileManage:query"
},
add: {
api: fileAdd,
permission: 'fileManage:upload',
isShow: false,
permission: "fileManage:upload",
isShow: false
},
delete: {
api: fileDel,
permission: 'fileManage:delete',
permission: "fileManage:delete"
},
edit: {
api: fileUpdate,
permission: 'fileManage:update',
isShow: false,
permission: "fileManage:update",
isShow: false
},
//
customButton: {
operationWidth: 100, // row
},
operationWidth: 150 // row
}
},
//
columns: [
{
label: '',
field: 'id',
label: "",
field: "id",
primaryKey: true, // ,
tableHide: true, //
editHide: true, //
editHide: true //
},
{
//
label: '图片缩略图', //
field: 'urlPath', //
columnType: 'imgPreview', // text
label: "图片缩略图", //
field: "urlPath", //
columnType: "imgPreview", // text
editHide: true, //
//
// inputType: 'input', // input anji-select
placeholder: '',
disabled: false,
placeholder: "",
disabled: false
},
{
label: '文件标识', //
placeholder: '',
field: 'fileId',
editField: 'fileId',
label: "文件标识", //
placeholder: "",
field: "fileId",
editField: "fileId",
tableHide: true, //
inputType: 'input',
rules: [{min: 1, max: 64, message: '不超过64个字符', trigger: 'blur'}],
disabled: false,
inputType: "input",
rules: [
{ min: 1, max: 64, message: "不超过64个字符", trigger: "blur" }
],
disabled: false
},
{
label: '文件类型', //
placeholder: '',
field: 'fileType',
editField: 'fileType',
inputType: 'input',
rules: [{min: 1, max: 1024, message: '不超过1024个字符', trigger: 'blur'}],
disabled: false,
label: "文件类型", //
placeholder: "",
field: "fileType",
editField: "fileType",
inputType: "input",
rules: [
{
min: 1,
max: 1024,
message: "不超过1024个字符",
trigger: "blur"
}
],
disabled: false
},
{
label: '文件路径', //
placeholder: '',
field: 'filePath',
editField: 'filePath',
inputType: 'input',
rules: [{min: 1, max: 1024, message: '不超过1024个字符', trigger: 'blur'}],
disabled: false,
label: "文件路径", //
placeholder: "",
field: "filePath",
editField: "filePath",
inputType: "input",
rules: [
{
min: 1,
max: 1024,
message: "不超过1024个字符",
trigger: "blur"
}
],
disabled: false
},
{
label: 'url路径', // url
placeholder: '',
field: 'urlPath',
editField: 'urlPath',
inputType: 'input',
rules: [{min: 1, max: 1024, message: '不超过1024个字符', trigger: 'blur'}],
disabled: false,
label: "url路径", // url
placeholder: "",
field: "urlPath",
editField: "urlPath",
inputType: "input",
rules: [
{
min: 1,
max: 1024,
message: "不超过1024个字符",
trigger: "blur"
}
],
disabled: false
},
{
label: '内容说明', //
placeholder: '',
field: 'fileInstruction',
editField: 'fileInstruction',
inputType: 'input',
rules: [{min: 1, max: 1024, message: '不超过1024个字符', trigger: 'blur'}],
disabled: false,
label: "内容说明", //
placeholder: "",
field: "fileInstruction",
editField: "fileInstruction",
inputType: "input",
rules: [
{
min: 1,
max: 1024,
message: "不超过1024个字符",
trigger: "blur"
}
],
disabled: false
},
{
label: '创建人',
field: 'createByView',
columnType: 'expand', //
label: "创建人",
field: "createByView",
columnType: "expand", //
inputType: 'input', // input
disabled: true, //
inputType: "input", // input
disabled: true //
},
{
label: '创建时间',
field: 'createTime',
columnType: 'expand',
label: "创建时间",
field: "createTime",
columnType: "expand",
inputType: 'input',
disabled: true,
},
],
},
}
inputType: "input",
disabled: true
}
]
}
};
},
computed: {
headers() {
return {
Authorization: getToken(), // token
}
},
Authorization: getToken() // token
};
}
},
created() {
},
created() {},
methods: {
//
handleUpload(response, file, fileList) {
console.log(this)
console.log(this);
//
this.$refs.listPage.handleQueryForm()
this.$refs.listPage.handleQueryForm();
//el-upload
this.$refs.upload.clearFiles()
this.$refs.upload.clearFiles();
},
handleError() {
this.$message({
message: '上传失败!',
type: 'error',
})
message: "上传失败!",
type: "error"
});
},
async downloadFile(row) {
window.open(row.urlPath)
window.open(row.urlPath);
},
customButtom(val) {
this.downloadFile(val.msg)
this.downloadFile(val.msg);
},
copyUrlPath(val) {
this.copyToClip(val.msg.urlPath)
this.copyToClip(val.msg.urlPath);
this.$message({
message: '已将url路径复制至剪切板',
type: 'success',
})
message: "已将url路径复制至剪切板",
type: "success"
});
},
copyToClip(content, message) {
var aux = document.createElement("input");
@ -202,10 +245,9 @@ export default {
aux.select();
document.execCommand("copy");
document.body.removeChild(aux);
},
},
}
}
}
};
</script>
<style scoped lang="scss">
.el-upload {

Loading…
Cancel
Save