{"remainingRequest":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\reform-fvue\\src\\components\\FilePreview\\filePreview.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\reform-fvue\\src\\components\\FilePreview\\filePreview.vue","mtime":1685072317992},{"path":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\reform-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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport Docx from '@/components/docx'\r\nimport './js/dialog'\r\nimport req from '@/request.js'\r\nimport pdf from 'vue-pdf'\r\nexport default {\r\n name: 'FilePreview',\r\n props: {\r\n appendToBody: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n },\r\n components: {\r\n Docx,\r\n pdf,\r\n },\r\n data() {\r\n return {\r\n dialogVisible: false,\r\n fileType: 0, //1、图片,2、word,3、excel, 4、pdf,\r\n previewUrl: '',\r\n loading: false,\r\n pageTotalNum: 1,\r\n }\r\n },\r\n methods: {\r\n open(type) {\r\n this.loading = true\r\n type = type.toLowerCase()\r\n let imgType = [\r\n 'png',\r\n 'jpg',\r\n 'jpeg',\r\n 'bmp',\r\n 'gif',\r\n 'webp',\r\n 'psd',\r\n 'svg',\r\n 'tiff',\r\n ]\r\n let wordType = ['doc', 'docx']\r\n let pdf = ['pdf']\r\n let arr = [imgType, wordType, pdf]\r\n arr.forEach((item, index) => {\r\n if (item.indexOf(type) !== -1) {\r\n this.fileType = index + 1\r\n }\r\n })\r\n let _this = this\r\n if (this.fileType === 3) {\r\n req.get(_this.previewUrl, 'arraybuffer').then((response) => {\r\n console.log(response)\r\n _this.previewUrl = window.URL.createObjectURL(\r\n new Blob([response.data], {type: 'application/pdf'})\r\n )\r\n })\r\n }\r\n this.dialogVisible = true\r\n },\r\n mskLoading() {\r\n this.loading = false\r\n },\r\n closeLoading() {\r\n this.loading = false\r\n },\r\n // 页面加载完成回调函数,其中e为当前页数\r\n pageLoaded(e) {\r\n this.getNumPages()\r\n this.loading = false\r\n },\r\n // 获取pdf总页数\r\n getNumPages() {\r\n let loadingTask = pdf.createLoadingTask(this.previewUrl)\r\n loadingTask.promise\r\n .then((pdf) => {\r\n this.pageTotalNum = pdf.numPages\r\n })\r\n .catch((err) => {\r\n console.error('pdf 加载失败', err)\r\n })\r\n },\r\n //\r\n pdfError(error) {\r\n this.loading = false\r\n this.$message.error(error)\r\n },\r\n },\r\n}\r\n",null]}