{"remainingRequest":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\reform-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\reform-fvue\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!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\\projectIndexLibrary.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\reform-fvue\\src\\views\\BigScreen\\components\\subComponents\\projectIndexLibrary.vue","mtime":1743469941138},{"path":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"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":["import \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\nimport \"core-js/modules/es6.string.iterator\";\nimport \"core-js/modules/es6.array.from\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/es6.regexp.to-string\";\nimport _toConsumableArray from \"D:/jenkins/workspace/reform-fvue/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/web.dom.iterable\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport * as echarts from 'echarts';\nimport apiList from '@/api/bigScreen/districView.js';\nimport projectLineChartDialog from \"./projectLineChartDialog.vue\";\nexport default {\n components: {\n projectLineChartDialog: projectLineChartDialog\n },\n props: {\n tableOptions: {\n type: Object,\n default: function _default() {\n return {};\n }\n }\n },\n data: function data() {\n return {\n exportLoading: false,\n loadingColor: 'rgba(6, 46, 106, 0.4)',\n loading: false,\n params: {\n pageBean: {\n page: 1,\n pageSize: 10,\n total: 0,\n showTotal: true\n }\n },\n tableData: [],\n chartLoading: false,\n projectId: '',\n projectOptions: [],\n lineChart: null,\n lineChartOptions: null,\n lineData: [],\n yearPieChart: null,\n yearPieChartOption: null,\n yearPieChartData: [{\n value: 0,\n name: '已完成'\n }, {\n value: 0,\n name: '未完成'\n }],\n indexNum: 0,\n tableArr: [],\n tablePos: 0,\n highlight_rows: [],\n routeProjectName: '',\n scrollIndex: 0,\n allNumber: 0,\n monthNum: 0,\n yearNum: 0,\n projectCategory: ''\n };\n },\n beforeDestroy: function beforeDestroy() {\n this.$bus.$off('changeDate');\n },\n mounted: function mounted() {\n var _this = this;\n\n this.enterGetData();\n this.getProjectAll();\n this.$bus.$on('changeDate', function () {\n _this.getProjectAll();\n\n _this.enterGetData();\n });\n },\n created: function created() {\n this.routeProjectName = this.$route.query.projectName || '';\n this.$emit('searchDateChange');\n },\n methods: {\n projectLineChart: function projectLineChart(item) {\n var projectName = item.projectName,\n projectId = item.projectId;\n this.$refs.projectLinechart.open({\n projectName: projectName,\n projectId: projectId\n }); // this.$router.push({\n // path: '/DetailComponent',\n // name: 'DetailComponent',\n // query: {\n // comp: 'projectLineChart',\n // title: projectName,\n // id: projectId,\n // },\n // })\n },\n initLine: function initLine() {\n var chartDom = document.getElementById('target-line');\n this.lineChart = echarts.init(chartDom);\n this.lineChartOptions = {\n title: {\n text: '年度核心指标完成情况趋势图',\n left: 'center',\n bottom: '0%',\n textStyle: {\n color: '#ffffff',\n fontSize: 18\n }\n },\n grid: {\n top: '4%',\n bottom: '9%',\n left: 0,\n right: '5%',\n containLabel: true\n },\n tooltip: {\n trigger: 'axis',\n backgroundColor: 'rgba(6, 47, 107, 1)',\n borderColor: 'rgba(2, 115, 233, 1)',\n textStyle: {\n color: '#fff',\n fontSize: 18\n } // formatter: (parmas) => {\n // console.log(parmas);\n // }\n\n },\n xAxis: {\n type: 'category',\n boundaryGap: false,\n axisTick: false,\n axisLine: {\n lineStyle: {\n color: 'rgba(154,199,220, 0.2)'\n }\n },\n axisLabel: {\n color: '#D7F1FF',\n fontSize: 14\n },\n data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']\n },\n yAxis: {\n type: 'value',\n scale: true,\n min: 0,\n max: this.indexNum,\n splitNumber: 10,\n axisLabel: {\n color: '#D7F1FF',\n formatter: function formatter(val) {\n if (val >= 1 && parseInt(val, 10) === val || val == 0) {\n return val;\n } else {\n return;\n }\n },\n fontSize: 14\n },\n axisLine: {\n lineStyle: {\n color: 'rgba(154,199,220, 0.2)'\n }\n },\n splitLine: {\n lineStyle: {\n color: 'rgba(154,199,220, 0.2)'\n }\n }\n },\n color: ['#00FFFF', '#CE01E0'],\n series: [{\n name: '截止本月已完成数量',\n data: this.lineData,\n type: 'line',\n symbol: 'emptyCircle',\n symbolSize: 4,\n areaStyle: {\n color: {\n type: 'linear',\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [{\n offset: 0,\n color: 'rgba(206, 1, 224, 1)'\n }, {\n offset: 0.4,\n color: 'rgba(206, 1, 224, 0.2)'\n }, {\n offset: 1,\n color: 'rgba(206, 1, 224, 0)'\n }],\n global: false\n }\n }\n }]\n };\n this.lineChartOptions && this.lineChart.setOption(this.lineChartOptions);\n },\n initPie: function initPie() {\n var _this2 = this;\n\n var chartDom = document.getElementById('target-pie');\n this.yearPieChart = echarts.init(chartDom);\n this.yearPieChartOption = {\n title: {\n text: \"\\u5E74\\u5EA6\\u76EE\\u6807\\u6838\\u5FC3\\u6307\\u6807\\u5B8C\\u6210\\u60C5\\u51B5\\n(\\u5DF2\\u5B8C\\u6210\".concat(this.yearPieChartData[0].value, \"\\u9879\\uFF0C\\u672A\\u5B8C\\u6210\").concat(this.yearPieChartData[1].value, \"\\u9879)\"),\n bottom: '5%',\n left: 'center',\n textStyle: {\n fontSize: 18,\n color: '#fff',\n lineHeight: 26\n }\n },\n color: ['#48b25a', '#1581e4', '#f38e03'],\n tooltip: {\n trigger: 'item',\n backgroundColor: 'rgba(6, 47, 107, 1)',\n borderColor: 'rgba(2, 115, 233, 1)',\n textStyle: {\n color: '#fff'\n }\n },\n series: [{\n name: '达成状态',\n type: 'pie',\n radius: '65%',\n center: ['50%', '45%'],\n labelLine: {\n normal: {\n length: 3\n }\n },\n label: {\n textStyle: {\n color: '#B1E3FF',\n // 改变标示文字的颜色\n fontSize: 16 //文字大小\n\n },\n formatter: '{c}项'\n },\n data: this.yearPieChartData,\n itemStyle: {\n color: function color(list) {\n var colorList = ['#19d632', '#f5350a'];\n return colorList[list.dataIndex];\n }\n }\n }]\n };\n this.yearPieChartOption && this.yearPieChart.setOption(this.yearPieChartOption);\n window.addEventListener('resize', function () {\n return _this2.yearPieChart.resize();\n });\n },\n getSpanArr: function getSpanArr(data) {\n // 把需要合并行的归类, data是表格数据\n this.tableArr = [];\n this.tablePos = 0;\n\n for (var i = 0; i < data.length; i++) {\n if (i === 0) {\n // 第一行必须存在\n this.tableArr.push(1);\n this.tablePos = 0;\n } else {\n if (data[i].projectName === data[i - 1].projectName) {\n this.tableArr[this.tablePos] += 1;\n this.tableArr.push(0);\n } else {\n this.tableArr.push(1);\n this.tablePos = i;\n }\n }\n } // 表格序号\n\n\n var Nosort = 0;\n\n for (var n in this.tableArr) {\n if (this.tableArr[n] > 0) {\n Nosort += 1;\n this.$set(data[n], 'Nosort', Nosort);\n }\n }\n },\n objectSpanMethod: function objectSpanMethod(_ref) {\n var row = _ref.row,\n column = _ref.column,\n rowIndex = _ref.rowIndex,\n columnIndex = _ref.columnIndex;\n\n if (columnIndex == 0 || columnIndex == 1 || columnIndex == 2 || columnIndex == 3) {\n // 第一列的合并方法,省\n var row1 = this.tableArr[rowIndex];\n var col1 = row1 > 0 ? 1 : 0; // 如果被合并了_row=0则它这个列需要取消\n\n return {\n rowspan: row1,\n colspan: col1\n };\n }\n },\n // 当单元格 hover 进入时会触发该事件\n handleCellMouseEnter: function handleCellMouseEnter(row, column, cell, event) {\n var _this3 = this;\n\n // 将所有user_id相同的行都放入高亮数组\n this.tableData.forEach(function (item, index) {\n if (row.projectName == item.projectName) {\n _this3.highlight_rows.push(item);\n\n _this3.scrollIndex = index; // $(event.target).css('background-color', '#f5f5f5');\n }\n });\n this.setTableRowHighlight();\n },\n // 当单元格 hover 退出时会触发该事件\n handleCellMouseLeave: function handleCellMouseLeave(row, column, cell, event) {\n this.highlight_rows.splice(0, this.highlight_rows.length);\n this.resetTableRowHighlight();\n },\n resetTableRowHighlight: function resetTableRowHighlight() {\n // 移除所有高亮行的高亮样式\n var rows = document.querySelectorAll('.mo-table__row');\n rows.forEach(function (row) {\n if (row.projectName !== '深化全市机构改革') {\n row.classList.remove('mo-table__row--active');\n }\n }); // $('.mo-table__row').removeClass('mo-table__row--active');\n },\n setTableRowHighlight: function setTableRowHighlight() {\n // 重新添加高亮行的高亮样式\n var _iterator = _createForOfIteratorHelper(this.highlight_rows),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var item = _step.value;\n // 通过预先定义的行号来选中要高亮的行\n var selector = \".mo-table__row:nth-child(\".concat(item.row_index + 1, \")\");\n var row = document.querySelector(selector); // 如果找到该元素,则添加类\n\n if (row) {\n if (item.projectName === this.routeProjectName) {\n row.classList.add('route-table__row--active');\n } else {\n row.classList.add('mo-table__row--active');\n }\n } // $(selector).addClass('mo-table__row--active');\n\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n },\n exportExcel: function exportExcel() {\n var _this4 = this;\n\n this.exportLoading = true;\n var data = JSON.parse(sessionStorage.getItem('searchDate'));\n data.projectId = this.projectId;\n apiList.coreIndexDerivation(data, function (res) {\n _this4.exportLoading = false;\n });\n },\n // 查询饼图数据以及列表数据\n enterGetData: function enterGetData() {\n var _this5 = this;\n\n var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n console.log(val);\n this.loading = true;\n this.chartLoading = true;\n var reqData = JSON.parse(sessionStorage.getItem('searchDate'));\n reqData.projectId = this.projectId;\n reqData.projectCategory = this.projectCategory;\n this.allNumber = 0;\n this.monthNum = 0;\n this.yearNum = 0;\n apiList.enterGetData(reqData, function (res) {\n if (res && res.details.length) {\n // this.indexNum = res.totalNum\n // this.yearPieChartData[0].value = res.cake.finishNum\n // this.yearPieChartData[1].value = res.cake.unFinishNum\n // if (res.chart) {\n // this.lineData = res.chart.map((item) => item.finishNum)\n // } else {\n // this.lineData = []\n // }\n var data = JSON.parse(JSON.stringify(res.details));\n _this5.allNumber = res.details.length;\n _this5.monthNum = res.details.filter(function (item) {\n return item.isUpToMonthOver === 1;\n }).length;\n _this5.yearNum = res.details.filter(function (item) {\n return item.isYearOver === 1;\n }).length; // isYearOver\n\n data.forEach(function (item, index) {\n item.progressUnFinishRate += item.progressFinishRate;\n item.row_index = index;\n });\n var projectNameArr = {};\n var dataArr = [];\n data.forEach(function (item) {\n var names = Object.keys(projectNameArr);\n\n if (names.indexOf(item.projectName) === -1) {\n projectNameArr[item.projectName] = [];\n }\n });\n var names = Object.keys(projectNameArr);\n names.forEach(function (name) {\n data.forEach(function (item) {\n if (name === item.projectName) {\n projectNameArr[name].push(item);\n }\n });\n });\n names.forEach(function (name, index) {\n var len = projectNameArr[name].length;\n projectNameArr[name].forEach(function (item) {\n item.len = len;\n item.Nosort = index;\n });\n dataArr.push.apply(dataArr, _toConsumableArray(projectNameArr[name]));\n });\n\n _this5.getSpanArr(dataArr);\n\n _this5.$set(_this5, 'tableData', dataArr);\n\n _this5.$nextTick(function () {\n _this5.handleCellMouseEnter({\n projectName: _this5.routeProjectName\n });\n\n var highlightLines = _this5.$refs.expendTable.$el.querySelectorAll('.el-table__body tbody .el-table__row');\n\n var scrollTop = 0;\n\n for (var i = 0; i < highlightLines.length; i++) {\n if (i === _this5.scrollIndex - _this5.highlight_rows.length) {\n break;\n }\n\n scrollTop += highlightLines[i].offsetHeight;\n }\n\n _this5.$refs.expendTable.bodyWrapper.scrollTop = scrollTop;\n });\n } else {\n _this5.tableData = [];\n } // this.initPie()\n // this.initLine()\n\n\n _this5.chartLoading = false;\n _this5.loading = false;\n });\n },\n //获取项目\n getProjectAll: function getProjectAll() {\n var _this6 = this;\n\n var _JSON$parse = JSON.parse(sessionStorage.getItem('searchDate')),\n year = _JSON$parse.year;\n\n var data = {\n pageBean: {\n page: 1,\n pageSize: -1,\n showTotal: true\n },\n querys: [{\n group: 'main',\n operation: 'EQUAL',\n parentGroup: '',\n property: 'year(create_time_)',\n relation: 'AND',\n value: year\n }]\n };\n apiList.getProjectAll(data, function (res) {\n _this6.projectOptions = res;\n });\n }\n }\n};",null]}