{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\form\\chart\\EipChart.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\form\\chart\\EipChart.vue","mtime":1667327529512},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\babel.config.js","mtime":1667327525434},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["import \"core-js/modules/es6.array.sort\";\nimport \"core-js/modules/es6.number.constructor\";\nimport \"core-js/modules/es6.function.name\";\nimport \"regenerator-runtime/runtime\";\nimport _asyncToGenerator from \"D:/jenkins/workspace/xq-web-fvue/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 echarts from \"echarts\";\nimport ecStat from \"echarts-stat\";\nimport form from \"@/api/form.js\";\nexport default {\n props: {\n id: {\n type: String,\n required: true\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.initData();\n });\n },\n watch: {\n id: function id(newV) {\n if (newV) {\n this.customChart = [];\n this.data = [];\n this.quickSearchProp = \"\";\n this.defaultQuery = [];\n this.showTable = false;\n this.initData();\n }\n }\n },\n data: function data() {\n return {\n showTable: false,\n customChart: {},\n pageResult: {\n page: 1,\n pageSize: 20,\n total: 0\n },\n data: [],\n quickSearchProp: \"\",\n defaultQuery: [],\n queryOpTransObj: {\n EQ: \"EQUAL\",\n BETWEEN: \"BETWEEN\",\n GE: \"GREAT_EQUAL\",\n LE: \"LESS_EQUAL\",\n LK: \"LIKE\",\n IN: \"IN\"\n }\n };\n },\n methods: {\n loadData: function loadData(param, cb) {\n var _this2 = this;\n\n if (this.customChart.alias) {\n param.pageBean.pageSize = parseInt(this.customChart.conf.maxLength && this.customChart.conf.maxLength != '0' ? this.customChart.conf.maxLength : 20);\n form.getListData(this.customChart.alias, param).then(function (response) {\n _this2.data = response.rows;\n _this2.pageResult = {\n page: response.page,\n pageSize: response.pageSize,\n total: response.total\n };\n _this2.customChart.rows = _this2.data;\n\n _this2.buildChart(_this2.customChart);\n }).finally(function () {\n cb();\n });\n } else {\n cb();\n }\n },\n initData: function () {\n var _initData = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var data;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return form.getCustomChartById(this.id);\n\n case 2:\n data = _context.sent;\n\n if (data) {\n data.conditionfield = JSON.parse(data.conditionfield);\n data.displayfield = JSON.parse(data.displayfield);\n data.xaxisField = JSON.parse(data.xaxisField);\n data.sortfield = JSON.parse(data.sortfield);\n data.conf = JSON.parse(data.conf);\n this.customChart = data;\n this.initCondition();\n this.showTable = true;\n }\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function initData() {\n return _initData.apply(this, arguments);\n }\n\n return initData;\n }(),\n initCondition: function initCondition() {\n var conditions = this.customChart.conditionfield;\n\n for (var i = 0; i < conditions.length; i++) {\n if (conditions[i].defaultType === \"1\") {\n this.quickSearchProp += conditions[i].field.toUpperCase() + \",\";\n } else {\n this.defaultQuery.push({\n property: conditions[i].field,\n value: conditions[i].defaultValue,\n operation: this.queryOpTransObj[conditions[i].condition],\n group: \"main\"\n });\n }\n }\n },\n buildChart: function buildChart(data) {\n var myChart = echarts.init(document.getElementById(this.id), \"default\");\n var grid = this.getGrid();\n data.conf.title.text = data.name;\n data.conf.title.top = this.getTitlePosition();\n var option = {\n title: data.conf.title,\n tooltip: {},\n toolbox: {\n feature: {\n saveAsImage: {}\n }\n },\n legend: {},\n grid: grid,\n series: {}\n };\n\n switch (data.style) {\n case 1:\n option = this.buildLine(data, option);\n break;\n\n case 3:\n option = this.buildPie(data, option);\n break;\n\n case 4:\n option = this.buildRadar(data, option);\n break;\n\n case 5:\n option = this.buildFunnel(data, option);\n break;\n\n case 6:\n option = this.buildScatter(data, option);\n break;\n\n case 7:\n option = this.buildHeatmap(data, option);\n break;\n\n default:\n break;\n }\n\n this.adjustChatTitle(data, option);\n myChart.setOption(option);\n },\n buildLine: function buildLine(data, option) {\n var displayField = this.customChart.displayfield;\n var legendData = [];\n var xAxisData = [];\n var seriesData = [];\n var xAxisField = {};\n var series = this.customChart.conf.series;\n if (this.customChart.xaxisField) xAxisField = this.customChart.xaxisField[0];\n\n for (var i = 0, d; d = displayField[i++];) {\n if (d) {\n var arr = [];\n var type = d.type;\n legendData.push(d.comment);\n\n for (var j = 0, res; res = data.rows[j++];) {\n if (i === 1) {\n var value = res[xAxisField.field.toUpperCase()];\n if (xAxisField.dbType === \"date\" && value && typeof value === \"number\") value = new Date(value).format(defaultFmt);\n xAxisData.push(value);\n }\n\n if (res) {\n var _value = res[d.field.toUpperCase()];\n arr.push(_value);\n }\n }\n\n var se = {\n name: d.comment,\n type: d.type,\n data: arr,\n stack: series.stack ? \"one\" : null\n };\n\n if (!series.doubleYAxis) {\n se.yAxisIndex = d.yAxis === 1 ? 0 : 1;\n }\n\n if (type === \"line\") {\n se.smooth = series.smooth;\n }\n\n seriesData.push(se);\n }\n }\n\n option.series = seriesData;\n option.tooltip = {\n trigger: \"axis\"\n };\n option.legend.y = 50; // option.grid = {\n // left: \"3%\",\n // right: \"4%\",\n // bottom: \"3%\",\n // containLabel: true\n // };\n\n if (series.showType || !series.doubleYAxis) {\n option.xAxis = [{\n type: \"category\",\n data: xAxisData\n }];\n option.yAxis = series.doubleYAxis ? [{\n type: \"value\"\n }] : [{\n type: \"value\"\n }, {\n type: \"value\"\n }];\n } else {\n option.xAxis = [{\n type: \"value\"\n }];\n option.yAxis = [{\n type: \"category\",\n data: xAxisData\n }];\n } //柱状图的时候两端留空。避免柱状图挡住y轴。折线图则不留空,\n\n\n if (data.style === 2) option.xAxis[0][\"boundaryGap\"] = true;\n\n if (data.conf) {\n var obj = data.conf;\n if (obj.yMin === 2) option.yAxis[0][\"min\"] = \"dataMin\";\n if (obj.xShowAll === 2) option.xAxis[0][\"axisLabel\"] = {\n interval: 0,\n //横轴信息全部显示\n rotate: 30\n };\n }\n\n if (data.rows.length > 20 && !series.dataZoom) {\n option.dataZoom = [{\n start: 0,\n end: 10,\n handleIcon: \"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z\",\n handleSize: \"80%\",\n handleStyle: {\n color: \"#fff\",\n shadowBlur: 3,\n shadowColor: \"rgba(0, 0, 0, 0.6)\",\n shadowOffsetX: 2,\n shadowOffsetY: 2\n }\n }];\n option.grid.bottom = 50;\n } else {\n // option.grid.bottom = \"3%\";\n delete option.dataZoom;\n }\n\n option.legend = data.conf.legend;\n option.legend.data = legendData;\n return option;\n },\n buildPie: function buildPie(data, option) {\n var displayField = data.displayfield;\n var legendData = [];\n var seriesData = [];\n var xAxisField = data.xaxisField;\n var series = data.conf.series;\n if (xAxisField) xAxisField = xAxisField[0];\n\n if (series.showType) {\n var duration = 100 / data.rows.length;\n\n for (var j = 0; j < data.rows.length; j++) {\n var value = [];\n\n for (var i = 0; i < displayField.length; i++) {\n value.push({\n name: displayField[i].comment,\n value: data.rows[j][displayField[i].field.toUpperCase()]\n });\n\n if (j === 0) {\n legendData.push(displayField[i].comment);\n }\n }\n\n seriesData.push({\n name: data.rows[j][xAxisField.field.toUpperCase()],\n type: \"pie\",\n data: value,\n radius: [series.radius[0] + \"%\", series.radius[1] + \"%\"],\n center: [Number(series.center[0]) + j * duration + \"%\", series.center[1] + \"%\"],\n roseType: series.roseType,\n selectedMode: series.selectedMode,\n label: {\n position: series.label.position\n },\n itemStyle: {\n emphasis: {\n shadowBlur: 10,\n shadowOffsetX: 0,\n shadowColor: \"rgba(0, 0, 0, 0.5)\"\n }\n }\n });\n }\n } else {\n var _duration = 100 / displayField.length;\n\n for (var _i = 0; _i < displayField.length; _i++) {\n var _value2 = [];\n\n for (var _j = 0; _j < data.rows.length; _j++) {\n _value2.push({\n name: data.rows[_j][xAxisField.field.toUpperCase()],\n value: data.rows[_j][displayField[_i].field.toUpperCase()]\n });\n\n if (_i === 0) {\n legendData.push(data.rows[_j][xAxisField.field.toUpperCase()] + \"\");\n }\n }\n\n seriesData.push({\n name: displayField[_i].comment,\n type: \"pie\",\n data: _value2,\n radius: [series.radius[0] + \"%\", series.radius[1] + \"%\"],\n center: [Number(series.center[0]) + _i * _duration + \"%\", series.center[1] + \"%\"],\n roseType: series.roseType,\n selectedMode: series.selectedMode,\n label: {\n position: series.label.position\n },\n itemStyle: {\n emphasis: {\n shadowBlur: 10,\n shadowOffsetX: 0,\n shadowColor: \"rgba(0, 0, 0, 0.5)\"\n }\n }\n });\n }\n }\n\n option.series = seriesData;\n option.tooltip = {\n trigger: \"item\",\n formatter: \"{a}
{b} : {c} ({d}%)\"\n };\n option.legend = data.conf.legend;\n option.legend.data = legendData;\n return option;\n },\n buildRadar: function buildRadar(data, option) {\n var displayField = data.displayfield;\n var legendData = [];\n var xAxisField = data.xaxisField;\n var arr = [];\n var seriesData = [];\n var indicator = [];\n var series = data.conf.series;\n if (xAxisField) xAxisField = xAxisField[0];\n\n if (series.showType) {\n for (var j = 0; j < data.rows.length; j++) {\n var value = [];\n\n for (var i = 0; i < displayField.length; i++) {\n value.push(data.rows[j][displayField[i].field.toUpperCase()]);\n\n if (j === 0) {\n indicator.push({\n name: displayField[i].comment\n });\n }\n }\n\n legendData.push(data.rows[j][xAxisField.field.toUpperCase()] + \"\");\n arr.push({\n name: data.rows[j][xAxisField.field.toUpperCase()],\n value: value,\n areaStyle: {\n opacity: \"0\"\n }\n });\n }\n\n seriesData = [{\n type: \"radar\",\n data: arr,\n itemStyle: {\n emphasis: {\n areaStyle: {\n opacity: series.areaStyle ? \"0\" : \"0.5\"\n }\n }\n }\n }];\n } else {\n for (var _i2 = 0; _i2 < displayField.length; _i2++) {\n var _value3 = [];\n\n for (var _j2 = 0; _j2 < data.rows.length; _j2++) {\n _value3.push(data.rows[_j2][displayField[_i2].field.toUpperCase()]);\n\n if (_i2 === 0) {\n indicator.push({\n name: data.rows[_j2][xAxisField.field.toUpperCase()]\n });\n }\n }\n\n legendData.push(displayField[_i2].comment);\n arr.push({\n name: displayField[_i2].comment,\n value: _value3,\n areaStyle: {\n opacity: \"0\"\n }\n });\n }\n\n seriesData = [{\n type: \"radar\",\n data: arr,\n itemStyle: {\n emphasis: {\n areaStyle: {\n opacity: series.areaStyle ? \"0\" : \"0.5\"\n }\n }\n }\n }];\n }\n\n option.series = seriesData;\n option.radar = {\n center: [series.center[0] + \"%\", series.center[1] + \"%\"],\n radius: series.radius,\n indicator: indicator\n };\n option.legend = data.conf.legend;\n option.legend.data = legendData;\n return option;\n },\n buildFunnel: function buildFunnel(data, option) {\n var displayField = data.displayfield;\n var legendData = [];\n var xAxisField = data.xaxisField;\n var seriesData = [];\n var series = data.conf.series;\n if (xAxisField) xAxisField = xAxisField[0]; //列数据展示\n\n if (series.showType) {\n var duration = 100 / data.rows.length;\n\n for (var j = 0; j < data.rows.length; j++) {\n var value = [];\n\n for (var i = 0; i < displayField.length; i++) {\n value.push({\n name: displayField[i].comment,\n value: data.rows[j][displayField[i].field.toUpperCase()]\n });\n\n if (j === 0) {\n legendData.push(displayField[i].comment);\n }\n }\n\n seriesData.push({\n name: data.rows[j][xAxisField.field.toUpperCase()],\n type: \"funnel\",\n data: value,\n width: duration - 5 + \"%\",\n left: j * duration + \"%\",\n funnelAlign: series.funnelAlign,\n sort: series.sort,\n label: {\n position: series.label.position\n }\n });\n }\n } else {\n //行数据展示\n var _duration2 = 100 / displayField.length;\n\n for (var _i3 = 0; _i3 < displayField.length; _i3++) {\n var _value4 = [];\n\n for (var _j3 = 0; _j3 < data.rows.length; _j3++) {\n _value4.push({\n name: data.rows[_j3][xAxisField.field.toUpperCase()],\n value: data.rows[_j3][displayField[_i3].field.toUpperCase()]\n });\n\n if (_i3 === 0) {\n legendData.push(data.rows[_j3][xAxisField.field.toUpperCase()] + \"\");\n }\n }\n\n seriesData.push({\n name: displayField[_i3].comment,\n type: \"funnel\",\n data: _value4,\n width: _duration2 - 5 + \"%\",\n left: _i3 * _duration2 + \"%\",\n funnelAlign: series.funnelAlign,\n sort: series.sort,\n label: {\n position: series.label.position\n }\n });\n }\n }\n\n option.series = seriesData;\n option.legend = data.conf.legend;\n option.legend.data = legendData;\n return option;\n },\n buildScatter: function buildScatter(data, option) {\n var displayField = data.displayfield;\n var legendData = [];\n var xAxisData = [];\n var xAxisField = data.xaxisField;\n var seriesData = [];\n var series = data.conf.series;\n if (xAxisField) xAxisField = xAxisField[0];\n\n if (series.showType) {\n for (var j = 0; j < data.rows.length; j++) {\n var value = [];\n\n for (var i = 0; i < displayField.length; i++) {\n if (j === 0) {\n xAxisData.push(displayField[i].comment);\n }\n\n value.push([displayField[i].comment, data.rows[j][displayField[i].field.toUpperCase()]]);\n }\n\n legendData.push(data.rows[j][xAxisField.field.toUpperCase()] + \"\");\n seriesData.push({\n name: data.rows[j][xAxisField.field.toUpperCase()],\n type: \"scatter\",\n data: value\n });\n }\n } else {\n for (var _i4 = 0; _i4 < displayField.length; _i4++) {\n var _value5 = [];\n\n for (var _j4 = 0; _j4 < data.rows.length; _j4++) {\n if (_i4 === 0) {\n xAxisData.push(data.rows[_j4][xAxisField.field.toLocaleUpperCase()]);\n }\n\n _value5.push([data.rows[_j4][xAxisField.field.toLocaleUpperCase()], data.rows[_j4][displayField[_i4].field.toLocaleUpperCase()]]);\n }\n\n legendData.push(displayField[_i4].comment);\n seriesData.push({\n name: displayField[_i4].comment,\n type: \"scatter\",\n data: _value5\n });\n\n if (displayField[_i4].regression && displayField[_i4].regression !== 'none') {\n var myRegression = ecStat.regression(displayField[_i4].regression, _value5);\n myRegression.points.sort(function (a, b) {\n return a[0] - b[0];\n });\n seriesData.push({\n name: 'line',\n type: 'line',\n showSymbol: false,\n data: myRegression.points,\n markPoint: {\n itemStyle: {\n color: 'transparent'\n },\n label: {\n show: true,\n position: 'left',\n formatter: myRegression.expression,\n color: '#333',\n fontSize: 14\n },\n data: [{\n coord: myRegression.points[myRegression.points.length - 1]\n }]\n }\n });\n }\n }\n }\n\n option.series = seriesData;\n option.xAxis = {\n type: data.conf.series.xAxisType\n };\n\n if (data.conf.series.xAxisType === 'category') {\n option.xAxis.data = xAxisData;\n }\n\n option.yAxis = {};\n option.legend = data.conf.legend;\n option.legend.data = legendData;\n return option;\n },\n buildHeatmap: function buildHeatmap(data, option) {\n var displayField = data.displayfield;\n var legendData = [];\n var rows = [];\n var columns = [];\n var arr = [];\n var max = 0;\n var xAxisField = data.xaxisField;\n if (xAxisField) xAxisField = xAxisField[0];\n\n for (var i = 0; i < data.rows.length; i++) {\n for (var j = 0; j < displayField.length; j++) {\n if (i === 0) {\n columns.push(displayField[j].comment);\n }\n\n arr.push([i, j, data.rows[i][displayField[j].field.toUpperCase()]]);\n\n if (data.rows[i][displayField[j].field.toUpperCase()] > max) {\n max = data.rows[i][displayField[j].field.toUpperCase()];\n }\n }\n\n rows.push(data.rows[i][xAxisField.field.toUpperCase()]);\n }\n\n option.series = [{\n name: \"sss\",\n type: \"heatmap\",\n data: arr,\n label: {\n normal: {\n show: true\n }\n }\n }];\n option.xAxis = {\n type: \"category\",\n data: rows,\n splitArea: {\n show: true\n }\n };\n option.yAxis = {\n type: \"category\",\n data: columns,\n splitArea: {\n show: true\n }\n };\n option.visualMap = {\n min: 0,\n max: max,\n calculable: true,\n orient: \"horizontal\",\n left: \"center\",\n bottom: \"0%\"\n };\n option.tooltip = {\n position: \"top\"\n };\n option.legend = data.conf.legend;\n option.legend.data = legendData;\n return option;\n },\n getGrid: function getGrid() {\n var top = 0;\n var bottom = 0;\n var grid = {};\n\n if (this.customChart.conf.title.show) {\n if (this.customChart.conf.title.top === \"top\") {\n top += 7;\n\n if (this.customChart.conf.title.subtext) {\n top += 5;\n }\n } else if (this.customChart.conf.title.top === \"bottom\") {\n bottom += 16;\n }\n }\n\n if (this.customChart.conf.legend.show) {\n if (this.customChart.conf.legend.top === \"top\") {\n top += 7;\n } else if (this.customChart.conf.legend.top === \"bottom\") {\n bottom += 10;\n }\n }\n\n if (top !== 0) {\n grid.top = top + \"%\";\n } else {\n grid.top = \"5%\";\n }\n\n if (bottom !== 0) {\n grid.bottom = bottom + \"%\";\n }\n\n return grid;\n },\n getTitlePosition: function getTitlePosition() {\n if (this.customChart.conf.title.top === \"top\") {\n return this.customChart.conf.legend.show && this.customChart.conf.legend.top === \"top\" ? \"20\" : \"auto\";\n } else if (this.customChart.conf.title.top === \"bottom\") {\n return this.customChart.conf.legend.show && this.customChart.conf.legend.top === \"bottom\" ? \"84%\" : \"88%\";\n } else {\n return this.customChart.conf.title.top;\n }\n },\n adjustChatTitle: function adjustChatTitle(data, option) {\n option.legend.top = 30;\n option.grid.top = 80;\n\n if (data.conf && data.conf.title && data.conf.title.subtext) {\n option.legend.top = 50;\n option.grid.top = 100;\n }\n }\n }\n};",null]}