{"remainingRequest":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\cssc-fvue\\src\\views\\GridControl\\ReactivePower.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\cssc-fvue\\src\\views\\GridControl\\ReactivePower.vue","mtime":1681441192473},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["import \"core-js/modules/web.dom.iterable\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 { Bar } from '@antv/g2plot';\nimport { Chart } from '@antv/g2';\nimport utils from '@/hotent-ui-util';\nexport default {\n name: 'reactivePower',\n data: function data() {\n return {\n imgOn: require('@/assets/img/buttonOn.png'),\n imgOff: require('@/assets/img/buttonOff.png'),\n tableHeight: 300,\n accecptData: false,\n emsGridDispathReactEnabled: false,\n emsGridDispatchReactVal: 0,\n emsGridDispatchReactValUnit: '',\n emsFactoryReactSum: 0,\n emsFactoryReactSumUnit: '',\n columns: [// {\n // label: '机组名称',\n // prop: 'fanName',\n // minWidth: '15%',\n // sortable: true,\n // },\n {\n label: '风速',\n prop: 'winSpd',\n minWidth: '15%',\n sortable: true,\n unit: 'm/s'\n }, {\n label: '无功分配值',\n prop: 'var_52',\n minWidth: '20%',\n sortable: true,\n unit: 'Kvar'\n }, {\n label: '无功功率',\n prop: 'powReact',\n minWidth: '20%',\n sortable: true,\n unit: 'Kvar'\n }],\n tableData: [],\n maxOriginValue: 0,\n maxValue: 0,\n minOriginValue: 0,\n minValue: 0,\n chart: null,\n chartData: []\n };\n },\n created: function created() {},\n mounted: function mounted() {\n var _this = this;\n\n this.initCrewList();\n this.accecptData = true;\n this.$bus.$on('SCADAMsg', function (data) {\n if (_this.accecptData) {\n // console.log(data, 'SCADAMsg')\n _this.changeData(data);\n }\n });\n this.$nextTick(function () {\n _this.initChart();\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.accecptData = false;\n },\n methods: {\n initCrewList: function initCrewList() {\n var _this2 = this;\n\n var query = {\n sorter: [{\n direction: 'ASC',\n property: 'sn'\n }]\n };\n this.$http.post('${cssc}/biz/base/fanInfo/v1/list', query).then(function (resp) {\n if (resp.data) {\n _this2.formatFan(resp.data);\n }\n }, function (error) {\n reject(error);\n });\n },\n formatFan: function formatFan(data) {\n var _this3 = this;\n\n this.crewsList = [];\n data.forEach(function (item, index) {\n _this3.crewsList.push({\n fancode: item.fanCode,\n fanName: item.fanName,\n var_52: null,\n powReact: null\n });\n });\n },\n initChart: function initChart() {\n var _this4 = this;\n\n this.chart = new Chart({\n container: 'chart-container',\n autoFit: true\n });\n this.chart.data(this.chartData);\n this.chart.scale({\n date: {\n alias: '时间',\n type: 'time',\n formatter: function formatter(value) {\n return utils.formatDate(value, 'time');\n }\n },\n value: {\n sync: true,\n // 将 pv 字段数值同 time 字段数值进行同步\n nice: true,\n min: 0\n }\n });\n this.chart.axis('date', {\n grid: null,\n label: {\n style: {\n fill: '#979ba4'\n }\n },\n line: {\n style: {\n stroke: '#414959'\n }\n }\n });\n this.chart.axis('value', {\n grid: {\n line: {\n style: {\n stroke: '#414959',\n lineWidth: 1,\n lineDash: [3, 3]\n }\n }\n },\n label: {\n style: {\n fill: '#979ba4'\n },\n formatter: function formatter(val) {\n return val + ' ' + _this4.emsGridDispatchReactValUnit;\n }\n },\n line: {\n style: {\n stroke: '#414959'\n }\n }\n });\n this.chart.legend({\n position: 'top',\n itemName: {\n style: {\n fill: '#979ba4'\n }\n }\n });\n this.chart.tooltip({\n shared: true,\n showCrosshairs: true,\n domStyles: {\n 'g2-tooltip': {\n background: 'rgba(0,0,0, 0.8)',\n color: '#d6e0ec'\n }\n }\n });\n this.chart.line().position('date*value').color('type', ['#399873', '#ff9c00']);\n this.chart.interaction('active-region');\n this.chart.render();\n },\n changeData: function changeData(data) {\n var _this5 = this;\n\n if (data.wind) {\n this.emsGridDispathReactEnabled = data.wind.emsGridDispathReactEnabled ? data.wind.emsGridDispathReactEnabled.val : false; // 电网调度无功指令\n\n this.emsGridDispatchReactVal = data.wind.emsGridDispatchReactVal ? data.wind.emsGridDispatchReactVal.val : 0; // 电网调度无功指令值\n\n this.emsGridDispatchReactValUnit = data.wind.emsGridDispatchReactVal ? data.wind.emsGridDispatchReactVal.unit : ''; // 电网调度无功指令值单位\n\n this.emsFactoryReactSum = data.wind.emsFactoryReactSum ? data.wind.emsFactoryReactSum.val : 0; // 风场总有功\n\n this.emsFactoryReactSumUnit = data.wind.emsFactoryReactSum ? data.wind.emsFactoryReactSum.unit : ''; // 风场总有功单位\n\n if (data.wind.emsGridDispatchReactVal || data.wind.emsFactoryReactSum) {\n var newData1 = {\n date: parseInt(data.time),\n value: data.wind.emsGridDispatchReactVal ? data.wind.emsGridDispatchReactVal.val : null,\n type: '电网无功调度指令值'\n };\n var newData2 = {\n date: parseInt(data.time),\n value: data.wind.emsFactoryReactSum ? data.wind.emsFactoryReactSum.val : null,\n type: '风场总无功'\n };\n this.chartData.push(newData1, newData2);\n\n if (this.chartData.length > 600) {\n this.chartData.splice(0, 2);\n }\n\n this.chart.changeData(this.chartData);\n }\n }\n\n if (data.fan) {\n this.maxOriginValue = 0;\n this.maxValue = 0;\n this.minOriginValue = 0;\n this.minValue = 0;\n\n if (this.crewsList) {\n this.crewsList.forEach(function (item) {\n item.winSpd = data.fan[item.fancode].winSpd ? data.fan[item.fancode].winSpd.val : null;\n item.winSpdUnit = data.fan[item.fancode].winSpd ? data.fan[item.fancode].winSpd.unit : null;\n item.var_52 = data.fan[item.fancode].var_52 ? data.fan[item.fancode].var_52.val : null;\n item.var_52Unit = data.fan[item.fancode].var_52 ? data.fan[item.fancode].var_52.unit : null;\n item.powReact = data.fan[item.fancode].powReact ? data.fan[item.fancode].powReact.val : null;\n item.powReactUnit = data.fan[item.fancode].powReact ? data.fan[item.fancode].powReact.unit : null;\n _this5.maxOriginValue = Math.max(_this5.maxOriginValue, item.var_52, item.powReact);\n _this5.minOriginValue = Math.min(_this5.minOriginValue, item.var_52, item.powReact);\n }); // 取到所有指标中的最大值和最小值\n // 最大值占对比图90%,最小值占对比图10%\n\n this.maxValue = this.maxOriginValue;\n this.minValue = this.minOriginValue; // 取得100%的值,这里要注意负数\n\n var total = (Math.abs(this.maxValue) + Math.abs(this.minValue)) / 0.8; // 因为存在负数的情况,所以整体加一个100%。全部取正数 计算出起始点的值。\n\n var start = this.minValue + total * 0.9; // this.minValue + totol - totol * 0.1\n // (获取值 + total - 起始点 / total)\n // console.log(this.maxValue, this.minValue, total, start)\n\n this.crewsList.forEach(function (item) {\n item.widthV = Math.round((item.var_52 + total - start) / total * 10000) / 100;\n item.widthP = Math.round((item.powReact + total - start) / total * 10000) / 100;\n });\n this.tableData = this.crewsList;\n }\n }\n }\n }\n};",null]}