{"remainingRequest":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\reform-fvue\\src\\views\\BigScreen\\components\\subComponents\\projectDetail.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\reform-fvue\\src\\views\\BigScreen\\components\\subComponents\\projectDetail.vue","mtime":1702263619948},{"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//\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//\n//\n\r\nimport apiList from '@/api/bigScreen/majorView'\r\nimport utils from '@/utils.js'\r\nimport html2canvas from 'html2canvas'\r\nimport jsPDF from 'jspdf'\r\nimport moment from 'moment'\r\nexport default {\r\n name: 'projectDetail',\r\n data() {\r\n return {\r\n reqLoading: false,\r\n exportLoading: false,\r\n dateData: {\r\n year: '',\r\n month: '',\r\n },\r\n // 当前时间\r\n newDate: '',\r\n projectInfo: {},\r\n // 量化目标\r\n goalList: [],\r\n // 月度计划\r\n monthList: [],\r\n // 品牌显示度\r\n brandList: [],\r\n // 经验复制推广\r\n expList: [],\r\n // 举措迭代\r\n iterationList: [],\r\n }\r\n },\r\n beforeDestroy() {\r\n this.$bus.$off('changeDate')\r\n },\r\n mounted() {\r\n this.$emit('searchDateChange')\r\n this.newDate = moment(new Date()).format('YYYY年MM月DD日 HH:mm:ss')\r\n let reqData = JSON.parse(sessionStorage.getItem('searchDate'))\r\n reqData.projectId = this.$route.query.projectId\r\n this.dateData = reqData\r\n this.getData(reqData)\r\n this.$bus.$on('changeDate', (searchDate) => {\r\n let reqData = JSON.parse(sessionStorage.getItem('searchDate'))\r\n reqData.projectId = this.$route.query.projectId\r\n this.getData(reqData)\r\n })\r\n },\r\n methods: {\r\n getDictName(code, value) {\r\n return utils.getDictName(code, value)\r\n },\r\n getData(data) {\r\n this.reqLoading = true\r\n apiList.getProjectDetailById(data, (res) => {\r\n // 项目基础信息\r\n this.projectInfo = res.municipalMajorProjectManagement\r\n // 量化目标\r\n this.goalList = res.pilotQuantitativeObjectivesList || []\r\n // 月度计划\r\n this.monthList = res.pilotMeasuresPushList || []\r\n // 品牌显示度\r\n this.brandList = res.pilotBrandPushList || []\r\n // 经验复制推广\r\n this.expList = res.pilotExperiencePushList || []\r\n // 举措迭代\r\n this.iterationList = res.pilotSpecificMeasuresHistoryList || []\r\n this.reqLoading = false\r\n })\r\n },\r\n async exportPdf() {\r\n this.$nextTick(() => {\r\n let pdfDom = this.$refs.pdfBox\r\n html2canvas(pdfDom, {allowTaint: true, scale: 1}).then(\r\n (canvas) => {\r\n // a4纸的正常尺寸是宽592.28,高是841.89,这里针对我自己的项目将宽高调换了\r\n const pageWidth = 592.28\r\n const pageHeight = 841.89\r\n // 设置内容的宽高\r\n const contentWidth = canvas.width\r\n const contentHeight = canvas.height\r\n // 默认的偏移量\r\n let position = 0\r\n // 设置生成图片的宽高\r\n const imgCanvasWidth = pageWidth - 40\r\n const imgCanvasHeight =\r\n (592.28 / contentWidth) * contentHeight\r\n let imageHeight = imgCanvasHeight\r\n // 生成canvas截图,1表示生成的截图质量(0-1)\r\n let pageData = canvas.toDataURL('image/jpeg', 1)\r\n // new JsPDF接收三个参数,landscape表示横向,(默认不填是纵向),打印单位和纸张尺寸\r\n let PDF = new jsPDF('', 'pt', 'a4')\r\n\r\n // 当内容不超过a4纸一页的情况下\r\n if (imageHeight < pageHeight) {\r\n PDF.addImage(\r\n pageData,\r\n 'JPEG',\r\n 21,\r\n 20,\r\n imgCanvasWidth,\r\n imgCanvasHeight,\r\n 'FAST'\r\n )\r\n } else {\r\n // 当内容超过a4纸一页的情况下,需要增加一页\r\n while (imageHeight > 0) {\r\n PDF.addImage(\r\n pageData,\r\n 'JPEG',\r\n 20,\r\n position,\r\n imgCanvasWidth,\r\n imgCanvasHeight,\r\n 'FAST'\r\n )\r\n imageHeight -= pageHeight\r\n position -= pageHeight\r\n // 避免添加空白页\r\n if (imageHeight > 0) {\r\n PDF.addPage()\r\n }\r\n }\r\n }\r\n // 调用save方法生成pdf文件\r\n PDF.save(this.projectInfo.projectName + '.pdf')\r\n }\r\n )\r\n })\r\n },\r\n },\r\n}\r\n",null]}