<template>
|
<a-card :bordered="false">
|
<!-- 查询区域 -->
|
<div class="table-page-search-wrapper">
|
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
<a-row :gutter="24">
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
<a-form-item label="文件名称">
|
<j-input placeholder="请输入文件名称" v-model="queryParam.fileName"></j-input>
|
</a-form-item>
|
</a-col>
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
</span>
|
</a-col>
|
</a-row>
|
</a-form>
|
</div>
|
<!-- 查询区域-END -->
|
|
<!-- 操作按钮区域 -->
|
<div class="table-operator">
|
<a-button @click="handleAdd()" type="primary" icon="import">上传</a-button>
|
|
<a-table
|
ref="table"
|
size="middle"
|
|
:scroll="{x:true}"
|
bordered
|
rowKey="id"
|
:columns="columns"
|
:dataSource="dataSource"
|
:pagination="ipagination"
|
:loading="loading"
|
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
@change="handleTableChange">
|
|
<span slot="action" slot-scope="text, record">
|
<a @click="handleDownload(record)">下载</a>
|
<a-divider type="vertical" />
|
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
|
<a>删除</a>
|
</a-popconfirm>
|
</span>
|
</a-table>
|
</div>
|
<file-import-module ref="fileImportModule" @ok="getTreeDataByApi" />
|
</a-card>
|
</template>
|
|
<script>
|
|
import '@/assets/less/TableExpand.less'
|
import { mixinDevice } from '@/utils/mixin'
|
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
import { downFile } from '@/api/manage'
|
import FileImportModule from '@views/base/modules/file/FileImportModule'
|
|
export default {
|
name: 'FileDownAndImport',
|
mixins:[JeecgListMixin, mixinDevice],
|
components: {
|
FileImportModule
|
},
|
data () {
|
return {
|
description: '文件列表',
|
// 表头
|
columns: [
|
{
|
title: '#',
|
dataIndex: '',
|
key:'rowIndex',
|
width:60,
|
align:"center",
|
customRender:function (t,r,index) {
|
return parseInt(index)+1;
|
}
|
},
|
{
|
title:'文件名称',
|
align:"center",
|
dataIndex: 'fileName'
|
},
|
{
|
title:'文档后缀',
|
align:"center",
|
dataIndex: 'fileSuffix'
|
},
|
{
|
title:'上传人',
|
align:"center",
|
dataIndex: 'createBy_dictText'
|
},
|
{
|
title:'上传时间',
|
align:"center",
|
dataIndex: 'createTime'
|
},
|
{
|
title: '操作',
|
dataIndex: 'action',
|
align:"center",
|
fixed:"right",
|
width:147,
|
scopedSlots: { customRender: 'action' }
|
}
|
],
|
url: {
|
list: "/nc/doc/list",
|
delete: "/nc/doc/delete",
|
download: "/nc/doc/download",
|
},
|
dictOptions:{},
|
superFieldList:[],
|
}
|
},
|
created() {
|
this.getSuperFieldList();
|
},
|
computed: {
|
importExcelUrl: function(){
|
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
},
|
},
|
methods: {
|
initDictConfig(){
|
},
|
handleOk() {
|
this.loadData();
|
},
|
getSuperFieldList(){
|
let fieldList=[];
|
fieldList.push({type:'string',value:'fileName',text:'文件名称',dictCode:''})
|
this.superFieldList = fieldList
|
},
|
// 下载当前右键选中文档
|
handleDownload(record) {
|
const that = this
|
downFile(this.url.download, { id: record.id })
|
.then(res => {
|
if (!res) {
|
this.$message.warning('文件下载失败')
|
return
|
} else {
|
let fileName = record.fileName + "." + record.fileSuffix;
|
if (typeof window.navigator.msSaveBlob !== 'undefined') {
|
window.navigator.msSaveBlob(new Blob([res]), fileName);
|
} else {
|
let url = window.URL.createObjectURL(new Blob([res]));
|
let link = document.createElement('a');
|
link.style.display = 'none';
|
link.href = url;
|
link.setAttribute('download', fileName);
|
document.body.appendChild(link);
|
link.click()
|
document.body.removeChild(link) //下载完成移除元素
|
window.URL.revokeObjectURL(url) //释放掉blob对象
|
}
|
}
|
})
|
},
|
handleAdd() {
|
this.$refs.fileImportModule.upload();
|
this.$refs.fileImportModule.title="导入"
|
},
|
getTreeDataByApi(){
|
this.loadData();
|
}
|
}
|
}
|
</script>
|
<style scoped>
|
@import '~@assets/less/common.less';
|
</style>
|