123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- <template>
- <a-card :bordered="false">
- <!-- 左侧文件树 -->
- <a-col :span="4" class="clName">
- <a-tree
- :treeData="treeData"
- :defaultExpandAll="defaultExpandAll"
- @select="this.onSelect"
- style="height: 500px;overflow-y: auto;"
- >
- </a-tree>
- </a-col>
- <!-- 中间面板 -->
- <a-col :span="2"/>
- <!--右侧缩略图-->
- <a-col :span="18">
- <a-spin tip="Loading..." :spinning="spinning">
- <div v-for="(file, key) in dataSource" :key="key">
- <a-row>
- <a-col :span="24"><p><a-divider orientation="left">{{ file.fileName }}</a-divider></p></a-col>
- <!-- 预览区域 -->
- <a-col :span="24">
- <template v-if="file.filePdfPath">
- <div style="float: left;width:104px;height:104px;margin-right: 10px;margin: 0 8px 8px 0;">
- <div style="width: 100%;height: 100%;position: relative;padding: 8px;" @click="pdfPreview(file.title)">
- <img style="width: 100%;" src="~@/assets/pdf4.jpg">
- </div>
- </div>
- </template>
- <template v-else>
- (暂无材料,点击"选择文件"或"扫描上传"上传文件)
- </template>
- </a-col>
- </a-row>
- </div>
- </a-spin>
- </a-col>
- <pdf-preview-modal ref="pdfmodal"></pdf-preview-modal >
- </a-card>
- </template>
- <script>
- import { getAction } from '@/api/manage'
- import { ACCESS_TOKEN } from "@/store/mutation-types"
- import Vue from 'vue'
- import PdfPreviewModal from './modules/PdfPreviewModal'
- const mockdata=[{
- "id": "1",
- "key": "1",
- "title": "实例.pdf",
- "fileCode": "shili",
- "fileName": "实例",
- "filePdfPath": "实例"
- }]
- export default {
- name: "JeecgPdfView",
- components:{
- PdfPreviewModal
- },
- data () {
- return {
- description: 'PDF预览页面',
- // 文件类型集
- treeData:[{
- title: '所有PDF电子档',
- key: '0-0',
- children: mockdata }],
- // 文件数据集
- dataSource: mockdata,
- allData:mockdata,
- // 上传文件集
- defaultExpandAll: true,
- // 加载中
- spinning:false,
- url: {
- pdfList: "/mock/api/pdfList",
- },
- }
- },
- created() {
- //this.loadData();
- },
- methods: {
- loadData (){
- this.spinning = false;
- getAction(this.url.pdfList).then((res)=>{
- if(res.length>0){
- this.allData = res;
- this.dataSource = res;
- this.treeData[0].children = res;
- }
- this.spinning = false;
- })
- },
- pdfPreview:function(title){
- const token = Vue.ls.get(ACCESS_TOKEN);
- this.headers = {"X-Access-Token":token}
- this.$refs.pdfmodal.previewFiles(title,token);
- },
- // 选择文件类型
- onSelect (selectedKeys, info) {
- this.dataSource = [];
- if(selectedKeys[0] === undefined || selectedKeys[0] === '0-0'){
- this.dataSource = this.allData;
- }else{
- this.dataSource.push(info.node._props.dataRef);
- }
- console.log("SELECT-->dataSource",this.dataSource );
- },
- // model回调
- modalFormOk () {
- this.loadData();
- },
- },
- }
- </script>
- <style scoped>
- .clName .ant-tree li span.ant-tree-switcher, .ant-tree li span.ant-tree-iconEle{width:10px}
- </style>
|