{"remainingRequest":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\reform-fvue\\src\\views\\BigScreen\\DetailComponentPage.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\reform-fvue\\src\\views\\BigScreen\\DetailComponentPage.vue","mtime":1745595352102},{"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\r\nimport subPageComponents from '@/views/BigScreen/js/sub_page_components.js'\r\nimport subPage from '@/views/BigScreen/js/sub_page_config.js'\r\nimport apiList from '@/api/bigScreen/districView.js'\r\nimport screenHeader from '@/views/BigScreen/components/screenHeader.vue'\r\nimport previewExport from '@/views/BigScreen/components/subComponents/previewExport.vue'\r\nimport EasyDialog from '@/views/BigScreen/components/easy-dialog/index.vue'\r\nimport dialogConfig from '@/views/BigScreen/js/DistrictReformDialogConfig.js'\r\nimport req from '@/request.js'\r\nimport { getLsOrNotIndex } from './js/getIndex'\r\nimport { debounce } from 'lodash'\r\nconst portal = window.context.portal\r\nexport default {\r\n components: {\r\n screenHeader,\r\n previewExport,\r\n ...subPageComponents,\r\n EasyDialog,\r\n },\r\n data() {\r\n return {\r\n currentKey: '',\r\n currentTabComponent: '',\r\n options: null,\r\n compData: null,\r\n title: '',\r\n showNav: true,\r\n viewBtn: false,\r\n reportBtn: false,\r\n allTable: [],\r\n json_fields: {},\r\n navData: [],\r\n quarter: null,\r\n year: null,\r\n plExport: false,\r\n cxzyExportLoading: false,\r\n exportName: '',\r\n lsIndex: [],\r\n noIndex: [],\r\n dialogOption: {\r\n dialogTitle: '',\r\n width: '50%',\r\n },\r\n showEasy: false,\r\n tableOptions: null,\r\n dilogComponent: '',\r\n comp: '',\r\n indexName: '',\r\n mapTargetAll: {},\r\n scoreKey: '',\r\n excelName: ''\r\n }\r\n },\r\n watch: {\r\n $route: 'debouncePoliyComp',\r\n },\r\n beforeDestroy() {\r\n this.$bus.$off('changeDateComp')\r\n },\r\n created() {\r\n this.currentKey = localStorage.getItem('currentKey')\r\n },\r\n mounted() {\r\n let searchDate = sessionStorage.getItem('searchDate')\r\n let { comp, name } = this.$route.query\r\n this.comp = comp\r\n if (searchDate) {\r\n searchDate = JSON.parse(searchDate)\r\n this.year = searchDate.year\r\n this.quarter = searchDate.quarter\r\n } else {\r\n this.checkQuarter()\r\n }\r\n this.$bus.$on('changeDateComp', (searchDate) => {\r\n this.quarter = searchDate.quarter\r\n this.year = searchDate.year\r\n this.debouncePoliyComp()\r\n })\r\n if (name === '满意度') {\r\n this.reportBtn = true\r\n }\r\n if (comp === 'innovationPromotion') {\r\n this.plExport = true\r\n }\r\n this.debouncePoliyComp()\r\n this.$bus.$on('exportExcel', (res) => {\r\n this.allTable = res\r\n })\r\n },\r\n beforeRouteUpdate(to, from, next) {\r\n let { comp, name } = to.query\r\n if (name === '满意度') {\r\n this.reportBtn = true\r\n } else {\r\n this.reportBtn = false\r\n }\r\n if (comp === 'innovationPromotion') {\r\n this.plExport = true\r\n } else {\r\n this.plExport = false\r\n }\r\n next()\r\n },\r\n methods: {\r\n frontDownload() {\r\n console.log('this.excelName',this.excelName)\r\n var a = document.createElement('a') // 创建一个标签\r\n a.href = `./files/excel/${this.excelName}`\r\n a.download = this.excelName // 设置下载文件文件名\r\n a.style.display = 'none' // 隐藏a标签\r\n document.body.appendChild(a) // 将a标签追加到文档对象中\r\n a.click() // 模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了\r\n a.remove() // 一次性的,用完就删除a标签\r\n },\r\n monthExportExcel() {\r\n this.$bus.$emit('monthExportExcel', this.comp)\r\n },\r\n openSubDialog(type, dataOptions) {\r\n this.dilogComponent = dialogConfig.dialogOption[type].componentName\r\n ? dialogConfig.dialogOption[type].componentName\r\n : type // 动态组件名称\r\n if (dataOptions) {\r\n this.tableOptions = {\r\n ...dialogConfig.dialogOption[type].dataOptions,\r\n ...dataOptions,\r\n }\r\n } else {\r\n this.tableOptions = dialogConfig.dialogOption[type].dataOptions //table的查询参数\r\n }\r\n this.dialogOption = dialogConfig.dialogOption[type].option //弹窗配置参数\r\n this.showEasy = true\r\n },\r\n // 设置表格数据\r\n setExcelData(quarterIndexData) {\r\n let { name } = this.$route.query\r\n console.log(quarterIndexData.find(item => item.name === name));\r\n let indexObj = quarterIndexData.find(item => item.name === name)\r\n let {title,tableColumn,value} = indexObj\r\n this.scoreKey = value\r\n this.exportName = title\r\n let json_fields = {}\r\n tableColumn.forEach(item => {\r\n json_fields[item.label] = item.prop\r\n })\r\n json_fields['分档']= indexObj.grade\r\n this.json_fields = json_fields\r\n },\r\n // 设置导出的数据顺序\r\n createExportData() {\r\n return this.allTable.sort((a, b) => b[this.scoreKey] - a[this.scoreKey])\r\n },\r\n checkQuarter() {\r\n this.year = new Date().getFullYear()\r\n let month = new Date().getMonth() + 1\r\n if (month <= 3) {\r\n this.quarter = 1\r\n } else if (month <= 6) {\r\n this.quarter = 2\r\n } else if (month <= 9) {\r\n this.quarter = 3\r\n } else if (month <= 12) {\r\n this.quarter = 4\r\n }\r\n },\r\n previewExport() {\r\n this.$refs.previewExport.open(this.lsIndex, this.mapTargetAll)\r\n },\r\n cxzyExport() {\r\n this.cxzyExportLoading = true\r\n req.downloadPostCopy(\r\n portal +\r\n `/county/largeScreen/v1/indexRankExport?quarter=${this.quarter}&year=${this.year}`\r\n ).then((res) => {\r\n this.cxzyExportLoading = false\r\n })\r\n },\r\n searchDateChange() {\r\n this.currentKey = 'MajorProjectsView'\r\n this.$forceUpdate()\r\n },\r\n handleBack() {\r\n let { comp } = this.$route.query\r\n if (comp.indexOf('mapTarget') == -1) {\r\n this.$router.back()\r\n } else {\r\n this.$router.push({\r\n path: '/DistrictReformView',\r\n name: 'DistrictReformView',\r\n })\r\n }\r\n },\r\n debouncePoliyComp: debounce(function () {\r\n this.poliyComp()\r\n }, 500),\r\n poliyComp() {\r\n let { comp, name, title } = this.$route.query\r\n this.indexName = name\r\n let { year, quarter } = JSON.parse(\r\n sessionStorage.getItem('searchDate')\r\n )\r\n this.options = subPage.configOption[comp].options\r\n if (comp === 'mapTarget') {\r\n apiList.getTarget({ quarter, year }).then(res => {\r\n if (res.value) {\r\n let { totalGear, quarterIndexData } = getLsOrNotIndex({ quarter, year })\r\n this.mapTargetAll = totalGear\r\n quarterIndexData.forEach(item => {\r\n item.number = res.value[item.value] || 0\r\n item.unitValue = res.value[item.unit] || '分'\r\n })\r\n let activeItem = quarterIndexData.find(item => item.name === name)\r\n let sendData = activeItem && activeItem.number !== 0 ? activeItem : totalGear\r\n if (sendData.excelName) {\r\n this.excelName = sendData.excelName\r\n } else {\r\n this.excelName = ''\r\n }\r\n this.$bus.$emit('loadElement', sendData)\r\n this.title = activeItem && activeItem.number !== 0 ? activeItem.title : totalGear.title\r\n if (!activeItem || activeItem.number === 0) {\r\n this.changeNav(totalGear)\r\n }\r\n // 季度晾晒指标\r\n this.lsIndex = quarterIndexData.filter(item => item.dryingOrNot) || []\r\n // 季度非晾晒指标\r\n this.noIndex = quarterIndexData.filter(item => !item.dryingOrNot) || []\r\n this.setExcelData([totalGear,...quarterIndexData])\r\n }\r\n })\r\n } else {\r\n if (title) {\r\n this.title = title\r\n } else {\r\n this.title = this.options.title\r\n }\r\n }\r\n this.currentTabComponent = subPage.configOption[comp].options.comp\r\n },\r\n changeNav(nav) {\r\n if (nav.number || nav.name === \"改革报表分档结果\") {\r\n this.$bus.$emit('rightLoading')\r\n this.$router.push({\r\n path: '/DetailComponent',\r\n name: 'DetailComponent',\r\n query: {\r\n comp: 'mapTarget',\r\n name: nav.name\r\n },\r\n })\r\n }\r\n },\r\n handleSideNav() {\r\n this.showNav = !this.showNav\r\n },\r\n },\r\n}\r\n",null]}