{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\common\\FilePreview.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\common\\FilePreview.vue","mtime":1667327529012},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport { mapState } from 'vuex'\r\nimport req from '@/request.js'\r\nimport Pdf from '@/components/common/pdf.vue'\r\nimport IframeSrc from '@/components/common/iframeSrc.vue'\r\nimport FileTree from '@/components/common/fileTree.vue'\r\nimport VideoPlayer from '@/components/common/HtVideoPlayer.vue'\r\nimport Loading from '@/components/common/Loading.vue'\r\nimport FillPage from '@/components/common/FillPage.vue'\r\n\r\nexport default {\r\n  components: { Pdf, IframeSrc, FileTree, VideoPlayer, FileTree, Loading, FillPage },\r\n  props: {\r\n    closeable: {\r\n      type: Boolean,\r\n      default: true\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      dialogVisible: false,\r\n      fileRow: '',\r\n      iframeSrc: '',\r\n      src: '',\r\n      fileTree: '',\r\n      loading: false,\r\n      errorMessage: null\r\n    }\r\n  },\r\n  computed: mapState({\r\n    header: state => {\r\n      return { Authorization: `Bearer ${state.login.currentUser.token}` }\r\n    },\r\n    actionUrl: function () {\r\n      return window.context.portal + '/system/file/v1/upload'\r\n    }\r\n  }),\r\n  methods: {\r\n    async preview(row) {\r\n      const this_ = this;\r\n      this.loading = true;\r\n      this.errorMessage = null;\r\n      this.fileRow = \"\";\r\n      this.dialogVisible = true;\r\n      await this.$store\r\n        .dispatch('menu/onlinePreview', row.id)\r\n        .then(data => {\r\n          const loadError = \"加载要预览的附件时出错\";\r\n          if (!data) {\r\n            this.errorMessage = \"要预览的附件不存在\";\r\n          }else if(data.result == \"fileNotSupported\"){\r\n            this.errorMessage = \"当前附件格式不支持预览\";\r\n          }else if ((typeof data == \"object\" && data.hasOwnProperty(\"state\")) && (!data.state || !data.result)) {\r\n            this.errorMessage = data.message || loadError;\r\n          }\r\n          else if (typeof data == \"object\" && data.hasOwnProperty(\"result\") && data.result === \"error\") {\r\n            this.errorMessage = loadError;\r\n          }else {\r\n            this.fileRow = row;\r\n            this.src = null;\r\n            this.iframeSrc = null;\r\n            switch (data.result) {\r\n              case 'html':\r\n                this.iframeSrc = window.context.portal + data.pdfUrl;\r\n                this.$refs.iframeSrcSearch.handleOpen();\r\n                break;\r\n              case 'txt':\r\n                this.iframeSrc = window.context.portal + data.TxtUrl;\r\n                this.$refs.iframeSrcSearch.handleOpen();\r\n                break;\r\n              case 'picture':\r\n                this.iframeSrc = window.context.portal + data.currentUrl;\r\n                this.$refs.iframeSrcSearch.handleOpen();\r\n                break;\r\n              case 'compress':\r\n                this_.download(row.id);\r\n                // this.fileTree = JSON.parse(data.fileTree).childList;\r\n                // this.$refs.fileTreeSearch.handleOpen();\r\n                this.errorMessage = \"不支持压缩文件的在线预览\";\r\n                break;\r\n              case 'media':\r\n                this_.download(row.id);\r\n                // this.$refs.videoPlayer.show();\r\n                this.errorMessage = \"不支持视频的在线播放\";\r\n                break;\r\n              default:\r\n                this.src = window.context.portal + data.pdfUrl;\r\n                this.$refs.pdfSearch.handleOpen();\r\n                break;\r\n            }\r\n          }\r\n        })\r\n        .finally(() => { this.loading = false })\r\n    },\r\n    //下载附件\r\n    download(id) {\r\n      this.$store.dispatch(\"menu/downloadFile\", id);\r\n    },\r\n  },\r\n}\r\n",null]}