{"remainingRequest":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\reform-fvue\\src\\views\\ThreeAttacksOneTask\\ThreeOnDetailPage.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\reform-fvue\\src\\views\\ThreeAttacksOneTask\\ThreeOnDetailPage.vue","mtime":1718180658367},{"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//\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 RejectInfoBlockDialog from '@/components/dialog/RejectInfoBlockDialog.vue'\r\nimport { TableMixin } from '@/mixins/tableMixin'\r\nimport moment from 'moment'\r\nimport UploadFile from '@/components/uploadFile/index.vue'\r\nimport req from '@/request.js'\r\nconst portal = window.context.portal\r\n\r\nimport apiList from '@/api/threeOne'\r\nexport default {\r\n name: 'ThreeOneDetailPage',\r\n components: {\r\n UploadFile,\r\n RejectInfoBlockDialog,\r\n },\r\n mixins: [TableMixin],\r\n data() {\r\n return {\r\n // 导入------------\r\n header: {\r\n Authorization: `Bearer ${this.$store.state.login.currentUser.token}`,\r\n },\r\n // 对应fillType\r\n actionUrl: {\r\n 1: `${portal}/majorProjects/bizMunicipalBreakDifficultyGq/v1/importExcel`,\r\n 2: `${portal}/majorProjects/bizMunicipalBreakDifficultyYq/v1/importExcel`,\r\n 3: `${portal}/majorProjects/bizMunicipalBreakDifficultyZq/v1/importExcel`,\r\n 4: `${portal}/majorProjects/bizMunicipalBreakDifficultyGyzc/v1/importExcel`,\r\n },\r\n exportUrl: {\r\n 1: `/majorProjects/bizMunicipalBreakDifficultyGq/v1/exportExcel`,\r\n 2: `/majorProjects/bizMunicipalBreakDifficultyYq/v1/exportExcel`,\r\n 3: `/majorProjects/bizMunicipalBreakDifficultyZq/v1/exportExcel`,\r\n 4: `/majorProjects/bizMunicipalBreakDifficultyGyzc/v1/exportExcel`,\r\n },\r\n addReportData: {\r\n fillType: '1',\r\n date: '',\r\n endTime: '',\r\n reformId: '',\r\n }, // 新增报表主数据\r\n markLoading: false,\r\n dialogVisible: false,\r\n importData: {\r\n reformId: '',\r\n },\r\n uploading: false,\r\n tableDataOrigin: null,\r\n tableData: [],\r\n\r\n verifyLoading: false,\r\n rejectLoading: false,\r\n saveLoading: false,\r\n tableLoading: false,\r\n\r\n //----------------------------\r\n dialogImageUrl: '',\r\n loading: false,\r\n dialogForm: {},\r\n tableHeight: 400,\r\n btnType: '',\r\n undisabledType: ['add', 'edit'],\r\n currentRouterKey: 'InputUpload',\r\n routerData: {\r\n InputUpload: {\r\n upperName: '三攻坚一盘活',\r\n activeName: '部门录入',\r\n },\r\n threeOneAudit: {\r\n upperName: '三攻坚一盘活',\r\n activeName: '部门审核',\r\n },\r\n threeOneApprove: {\r\n upperName: '三攻坚一盘活',\r\n activeName: '改革办审核',\r\n },\r\n },\r\n // 导入------------\r\n unploading: false,\r\n typeOptins: [\r\n {\r\n label: '国企改革攻坚',\r\n value: '1',\r\n key: 'nationFirm',\r\n },\r\n {\r\n label: '园区开发区改革攻坚',\r\n value: '2',\r\n key: 'parkArea',\r\n },\r\n {\r\n label: '政企分离改革攻坚',\r\n value: '3',\r\n key: 'gEnterprise',\r\n },\r\n {\r\n label: '国有资产盘活',\r\n value: '4',\r\n key: 'nationAssets',\r\n },\r\n ],\r\n currentTableHeader: [],\r\n tableHeader: {\r\n nationFirm: {\r\n name: '国企改革攻坚',\r\n columnData: [\r\n {\r\n label: '国企改革攻坚',\r\n key: 'a',\r\n type: 'parent-column',\r\n children: [\r\n {\r\n label: '市属\\n重点国企',\r\n key: 'sj-unitName',\r\n type: 'child-type',\r\n },\r\n {\r\n label: '得分',\r\n key: 'sj-finishRate',\r\n width: 90,\r\n },\r\n {\r\n label: '利润总额\\n(万元)',\r\n key: 'sj-cgTotalNum',\r\n width: 90,\r\n },\r\n {\r\n label: '利润总额\\n增速(%)',\r\n key: 'sj-cgFinishRate',\r\n width: 90,\r\n },\r\n {\r\n label: '纳入目标责任书统计的\\n亏损企业总户数(户)',\r\n key: 'sj-jsTotalNum',\r\n width: 150,\r\n },\r\n {\r\n label: '止损减亏\\n企业户数(户)',\r\n key: 'sj-jsFinishNum',\r\n width: 120,\r\n },\r\n {\r\n label: '止损减亏\\n完成率(%)',\r\n key: 'sj-jsFinishRate',\r\n width: 100,\r\n },\r\n\r\n {\r\n label: '区县',\r\n key: 'qx-unitName',\r\n type: 'child-type',\r\n width: 90,\r\n },\r\n {\r\n label: '得分',\r\n key: 'qx-finishRate',\r\n width: 90,\r\n },\r\n {\r\n label: '纳入目标责任书统计的\\n应压减企业总户数(户)',\r\n key: 'qx-cgTotalNum',\r\n width: 160,\r\n },\r\n {\r\n label: '压减户数\\n(户)',\r\n key: 'qx-cgFinishNum',\r\n width: 80,\r\n },\r\n {\r\n label: '法人压减\\n完成率(%)',\r\n key: 'qx-cgFinishRate',\r\n width: 100,\r\n },\r\n {\r\n label: '纳入目标责任书统计的\\n亏损企业总户数(户)',\r\n key: 'qx-jsTotalNum',\r\n width: 150,\r\n },\r\n {\r\n label: '止损减亏\\n企业户数(户)',\r\n key: 'qx-jsFinishNum',\r\n width: 120,\r\n },\r\n {\r\n label: '止损减亏\\n完成率(%)',\r\n key: 'qx-jsFinishRate',\r\n width: 100,\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n parkArea: {\r\n name: '园区开发区改革攻坚',\r\n columnData: [\r\n {\r\n label: '园区开发区改革攻坚',\r\n key: 'a',\r\n type: 'parent-column',\r\n children: [\r\n {\r\n label: '区县',\r\n key: 'qx-unitName',\r\n type: 'child-type',\r\n },\r\n {\r\n label: '得分',\r\n key: 'qx-finishRate',\r\n width: 160,\r\n },\r\n {\r\n label: '园区开发区规上\\n工业企业亩均税收增速(%)',\r\n key: 'qx-cgFinishRate',\r\n width: 200,\r\n },\r\n {\r\n label: '各区县签订目标责任书上设定的\\n规上工业企业营业收入(亿元)',\r\n key: 'qx-jsTotalNum',\r\n width: 240,\r\n },\r\n {\r\n label: '实际完成\\n营业收入(亿元)',\r\n key: 'qx-jsFinishNum',\r\n width: 140,\r\n },\r\n {\r\n label: '园区开发区规上企业\\n营业收入完成率(%)',\r\n key: 'qx-jsFinishRate',\r\n width: 240,\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n gEnterprise: {\r\n name: '政企分离改革攻坚',\r\n columnData: [\r\n {\r\n label: '政企分离改革攻坚',\r\n key: 'a',\r\n type: 'parent-column',\r\n children: [\r\n {\r\n label: '市级部门',\r\n key: 'sj-unitName',\r\n type: 'child-type',\r\n },\r\n {\r\n label: '得分',\r\n key: 'sj-finishRate',\r\n width: 90,\r\n },\r\n {\r\n label: '需纳入集中统一监管的\\n国有企业(全级次)\\n总量(个)',\r\n key: 'sj-cgTotalNum',\r\n width: 120,\r\n },\r\n {\r\n label: '已纳入集中统一监管\\n国有企业(全级次)\\n数量(个)',\r\n key: 'sj-cgFinishNum',\r\n width: 130,\r\n },\r\n {\r\n label: '经营性国有\\n资产集中统一\\n监管比例(%)',\r\n key: 'sj-cgFinishRate',\r\n width: 120,\r\n },\r\n {\r\n label: '须政企分离改革\\n国有企业(全级次)\\n总量(个)',\r\n key: 'sj-jsTotalNum',\r\n width: 130,\r\n },\r\n {\r\n label: '已完成政企分离改革\\n国有企业(全级次)\\n数量(个)',\r\n key: 'sj-jsFinishNum',\r\n width: 130,\r\n },\r\n {\r\n label: '政企分离改革\\n完成率(%)',\r\n key: 'sj-jsFinishRate',\r\n width: 100,\r\n },\r\n {\r\n label: '区县',\r\n key: 'qx-unitName',\r\n type: 'child-type',\r\n width: 90,\r\n },\r\n {\r\n label: '得分',\r\n key: 'qx-finishRate',\r\n width: 90,\r\n },\r\n {\r\n label: '需纳入集中统一监管的\\n国有企业(全级次)\\n总量(个)',\r\n key: 'qx-cgTotalNum',\r\n width: 120,\r\n },\r\n {\r\n label: '已纳入集中统一监管\\n国有企业(全级次)\\n数量(个)',\r\n key: 'qx-cgFinishNum',\r\n width: 130,\r\n },\r\n {\r\n label: '经营性国有\\n资产集中统一\\n监管比例(%)',\r\n key: 'qx-cgFinishRate',\r\n width: 120,\r\n },\r\n {\r\n label: '须政企分离改革\\n国有企业(全级次)\\n总量 (个)',\r\n key: 'qx-jsTotalNum',\r\n width: 130,\r\n },\r\n {\r\n label: '已完成政企分离改革\\n国有企业(全级次)\\n数量 (个)',\r\n key: 'qx-jsFinishNum',\r\n width: 130,\r\n },\r\n {\r\n label: '政企分离\\n改革完成率\\n (%)',\r\n key: 'qx-jsFinishRate',\r\n width: 100,\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n nationAssets: {\r\n name: '国有资产盘活',\r\n columnData: [\r\n {\r\n label: '国有资产盘活',\r\n key: 'a',\r\n type: 'parent-column',\r\n children: [\r\n {\r\n label: '单位',\r\n key: 'sj-unitName',\r\n type: 'child-type',\r\n },\r\n {\r\n label: '得分',\r\n key: 'sj-finishRate',\r\n width: 90,\r\n },\r\n {\r\n label: '全年盘活\\n变现回收资金\\n目标(亿元)',\r\n key: 'sj-cgTotalNum',\r\n width: 100,\r\n },\r\n {\r\n label: '已盘活变现的\\n回收资金\\n(亿元)',\r\n key: 'sj-cgFinishNum',\r\n width: 100,\r\n },\r\n {\r\n label: '存量国有资产\\n盘活变现回收资金\\n完成率(%)',\r\n key: 'sj-cgFinishRate',\r\n width: 120,\r\n },\r\n {\r\n label: '全年存量\\n国有资产盘活\\n目标(亿元)',\r\n key: 'sj-jsTotalNum',\r\n width: 100,\r\n },\r\n {\r\n label: '已盘活存量\\n国有资产价值\\n(亿元)',\r\n key: 'sj-jsFinishNum',\r\n width: 100,\r\n },\r\n {\r\n label: '盘活存量\\n国有资产\\n完成率(%)',\r\n key: 'sj-jsFinishRate',\r\n width: 100,\r\n },\r\n {\r\n label: '区县',\r\n key: 'qx-unitName',\r\n type: 'child-type',\r\n width: 90,\r\n },\r\n {\r\n label: '得分',\r\n key: 'qx-finishRate',\r\n width: 90,\r\n },\r\n {\r\n label: '全年盘活\\n变现回收资金\\n目标(亿元)',\r\n key: 'qx-cgTotalNum',\r\n width: 100,\r\n },\r\n {\r\n label: '已盘活变现的\\n回收资金\\n(亿元)',\r\n key: 'qx-cgFinishNum',\r\n width: 100,\r\n },\r\n {\r\n label: '存量国有资产\\n盘活变现回收资金\\n完成率(%)',\r\n key: 'qx-cgFinishRate',\r\n width: 120,\r\n },\r\n {\r\n label: '全年存量\\n国有资产盘活\\n目标(亿元)',\r\n key: 'qx-jsTotalNum',\r\n width: 100,\r\n },\r\n {\r\n label: '已盘活存量\\n国有资产\\n价值(亿元)',\r\n key: 'qx-jsFinishNum',\r\n width: 100,\r\n },\r\n {\r\n label: '盘活存量\\n国有资产\\n完成率(%)',\r\n key: 'qx-jsFinishRate',\r\n width: 100,\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n },\r\n }\r\n },\r\n created() { },\r\n mounted() {\r\n this.currentTableHeader = this.tableHeader.nationFirm.columnData\r\n this.initData()\r\n this.getTableHeight()\r\n this.$root.$on('resize', () => {\r\n this.getTableHeight(500)\r\n })\r\n },\r\n methods: {\r\n initData() {\r\n if (this.$route.query && this.$route.query.id) {\r\n this.importData.reformId = this.$route.query.id\r\n this.addReportData.fillType =\r\n this.$route.query && this.$route.query.fillType\r\n this.loadDataById()\r\n }\r\n if (this.$route.query && this.$route.query.key) {\r\n this.currentRouterKey = this.$route.query.key\r\n }\r\n if (this.$route.query && this.$route.query.type) {\r\n this.btnType = this.$route.query.type\r\n }\r\n },\r\n loadDataById() {\r\n this.getDetailList(this.importData.reformId)\r\n },\r\n beforeUploadCheck() {\r\n this.markLoading = true\r\n if (this.btnType == 'add' && !this.importData.reformId) {\r\n // 新增时首先校验是否已存在主数据\r\n let data = {\r\n status: 0,\r\n // fillYear: this.addReportData.date.slice(0, 4),\r\n // fillMonth: this.addReportData.date.slice(5),\r\n fillType: this.addReportData.fillType,\r\n endTime: this.addReportData.endTime,\r\n }\r\n apiList.addMasterData(data, (res) => {\r\n if (res.state) {\r\n this.importData.reformId = res.value\r\n this.dialogVisible = true\r\n this.uploading = true\r\n }\r\n this.markLoading = false\r\n })\r\n } else if (\r\n this.btnType == 'edit' ||\r\n (this.btnType == 'add' && this.importData.reformId)\r\n ) {\r\n // 编辑时可直接上传\r\n this.dialogVisible = true\r\n this.uploading = true\r\n this.markLoading = false\r\n }\r\n },\r\n //上传成功\r\n handleImportSuccess(res, file) {\r\n this.dialogVisible = false\r\n this.$notify({\r\n type: 'success',\r\n message: '上传成功',\r\n duration: 2000,\r\n })\r\n this.getDetailList(this.importData.reformId)\r\n },\r\n //上传成功\r\n handleImportError(err) {\r\n let message = '导出失败!'\r\n if (err) {\r\n let error = err.toString()\r\n error = JSON.parse(error.replace('Error: ', ''))\r\n message = error.message\r\n }\r\n this.$message.error(message)\r\n },\r\n // 查询详情列表\r\n getDetailList(id) {\r\n let data = {\r\n id,\r\n fillType: this.addReportData.fillType,\r\n }\r\n apiList.getListById(data, (res) => {\r\n if (res) {\r\n this.addReportData.endTime = res.endTime\r\n this.addReportData.fillType = res.fillType\r\n // this.addReportData.date =\r\n // res.fillYear +\r\n // '-' +\r\n // (res.fillMonth < 10\r\n // ? '0' + res.fillMonth\r\n // : res.fillMonth)\r\n this.tableDataOrigin = res.difficultyDetails\r\n this.addReportData.approvalComments = res.approvalComments\r\n this.formatData()\r\n this.changeDataType(res.fillType)\r\n this.getTableHeight()\r\n }\r\n })\r\n },\r\n // 组织返回数据结构\r\n formatData() {\r\n let tempTableData = []\r\n for (let key in this.tableDataOrigin) {\r\n let level = this.filterTypeKey(key)\r\n this.tableDataOrigin[key].forEach((item, index) => {\r\n let temp = tempTableData[index]\r\n tempTableData[index] = {\r\n ...temp,\r\n [level + '-unitName']: item.unitName,\r\n [level + '-cgFinishRate']: item.cgFinishRate,\r\n [level + '-cgFinishNum']: item.cgFinishNum,\r\n [level + '-cgTotalNum']: item.cgTotalNum,\r\n [level + '-jsFinishRate']: item.jsFinishRate,\r\n [level + '-jsFinishNum']: item.jsFinishNum,\r\n [level + '-jsTotalNum']: item.jsTotalNum,\r\n [level + '-finishRate']: item.finishRate,\r\n }\r\n })\r\n }\r\n this.tableData = tempTableData\r\n },\r\n filterTypeKey(key) {\r\n let level = ''\r\n if (key == 1) {\r\n level = 'sj'\r\n } else if (key == 2) {\r\n level = 'qx'\r\n }\r\n return level\r\n },\r\n // 模板下载\r\n downloadFile() {\r\n let fileKey = this.addReportData.fillType\r\n let fileNameKey = this.typeOptins[fileKey - 1].label\r\n const fileUrl =\r\n process.env.BASE_URL +\r\n `/files/excel/${fileNameKey}导入模版.xlsx`\r\n const link = document.createElement('a')\r\n link.href = fileUrl\r\n link.download = `${fileNameKey}.xlsx`\r\n link.click()\r\n },\r\n // 导出excel\r\n exportExcel() {\r\n let id = this.$route.query.id\r\n req.downloadPostCopy(\r\n portal +\r\n `${this.exportUrl[this.addReportData.fillType]\r\n }?reformId=${id}`\r\n ).then((res) => {\r\n console.log(res)\r\n })\r\n },\r\n // 上报\r\n submitReport() {\r\n if (!this.importData.reformId) {\r\n this.$message.warning('请上传报告!')\r\n return\r\n }\r\n this.$confirm(`确定上报吗?`, '提示', {\r\n confirmButtonText: this.$t('common.confirm'),\r\n cancelButtonText: this.$t('common.cancel'),\r\n type: 'warning',\r\n }).then(() => {\r\n this.saveLoading = true\r\n let data = {\r\n id: this.importData.reformId,\r\n // fillYear: this.addReportData.date.slice(0, 4),\r\n // fillMonth: this.addReportData.date.slice(5),\r\n fillType: this.addReportData.fillType,\r\n endTime: this.addReportData.endTime,\r\n status: 1,\r\n }\r\n apiList.updateReport(data, (res) => {\r\n if (res.state) {\r\n this.$message.success('上报成功')\r\n this.saveLoading = false\r\n this.$emit('refreshData')\r\n this.handleDialogClose()\r\n }\r\n })\r\n })\r\n },\r\n // 审核通过\r\n handleVerify() {\r\n let status\r\n if (this.btnType === 'audit') {\r\n status = 3\r\n } else if (this.btnType === 'approve') {\r\n status = 5\r\n }\r\n this.verifyLoading = true\r\n this.$confirm('确认通过吗?', this.$t('common.tips'), {\r\n confirmButtonText: this.$t('common.confirm'),\r\n cancelButtonText: this.$t('common.cancel'),\r\n type: 'success',\r\n })\r\n .then(() => {\r\n let data = {\r\n id: this.importData.reformId,\r\n status: status,\r\n }\r\n apiList.updateStatusById(data, (res) => {\r\n if (res.state) {\r\n this.$message.success(`通过成功`)\r\n this.verifyLoading = false\r\n this.$emit('refreshData')\r\n this.handleDialogClose()\r\n }\r\n })\r\n })\r\n .catch(() => {\r\n this.verifyLoading = false\r\n })\r\n },\r\n // 审核驳回\r\n handleReject() {\r\n this.$confirm(`确认驳回吗?`, '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'error',\r\n }).then(() => {\r\n this.$refs.RejectInfoBlockDialog.open()\r\n })\r\n },\r\n // 处理填写的驳回意见\r\n sendRejectInfo(approvalComments) {\r\n let status\r\n if (this.btnType === 'audit') {\r\n status = 2\r\n } else if (this.btnType === 'approve') {\r\n status = 4\r\n }\r\n this.rejectLoading = true\r\n let data = {\r\n id: this.importData.reformId,\r\n status,\r\n approvalComments,\r\n }\r\n apiList.updateStatusById(data, (res) => {\r\n if (res.state) {\r\n this.$message.success(`驳回成功`)\r\n this.rejectLoading = false\r\n this.$emit('refreshData')\r\n this.handleDialogClose()\r\n }\r\n })\r\n },\r\n // 切换数据填报类型\r\n changeDataType(type) {\r\n let target = this.typeOptins.filter((item) => item.value == type)[0]\r\n this.currentTableHeader = this.tableHeader[target.key].columnData\r\n },\r\n // 弹层关闭\r\n handleDialogClose() {\r\n this.addReportData = {\r\n fillType: '1',\r\n date: moment().format('YYYY-MM'),\r\n }\r\n this.importData.reformId = ''\r\n this.$router.push({\r\n path: `/platLayout/${this.currentRouterKey}`,\r\n })\r\n },\r\n\r\n getTableHeight() {\r\n this.$nextTick(() => {\r\n let total = this.$refs.form.$el.clientHeight\r\n let row1 = this.$refs.row1.$el.clientHeight\r\n // let row2 = this.$refs.row2 ? this.$refs.row2.clientHeight : 0\r\n // let row3 = this.$refs.row3.$el.clientHeight\r\n // let row4 = this.$refs.row4.clientHeight\r\n let row5 = this.$refs.row5\r\n ? this.$refs.row5.$el.clientHeight + 10\r\n : 0\r\n this.tableHeight = total - row1 - row5 //row2 -row3\r\n // console.log(total, row1, row5, this.$refs.row5)\r\n })\r\n },\r\n // 模板下载\r\n handleDownLoadCommand(command) {\r\n this.$message('click on item ' + command)\r\n },\r\n },\r\n}\r\n",null]}