{"remainingRequest":"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\\Chart.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\form\\chart\\Chart.vue","mtime":1667327529512},{"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":["//\n//\n//\n//\n\r\nimport echarts from \"echarts\";\r\nexport default {\r\n  props: {\r\n    option: {\r\n      type: Object,\r\n      default: () => {}\r\n    },\r\n    index: Number\r\n  },\r\n  watch: {\r\n    option: {\r\n      handler: function(newVal, oldVal) {\r\n        this.initChart();\r\n      },\r\n      deep: true\r\n    }\r\n  },\r\n  mounted() {\r\n    this.initChart();\r\n  },\r\n  methods: {\r\n    initChart() {\r\n      let chart = echarts.init(document.getElementById(\"chart\" + this.index));\r\n      let myOption = {};\r\n      if (\r\n        this.option &&\r\n        this.option.series &&\r\n        this.option.series[0].type === \"pie\"\r\n      ) {\r\n        myOption = {\r\n          title: {\r\n            text: this.option.name,\r\n            subtext: this.option.subtext\r\n          },\r\n          tooltip: {\r\n            trigger: \"item\",\r\n            formatter: \"{a} <br/>{b} : {c} ({d}%)\"\r\n          },\r\n          legend: {\r\n            data: this.option.legend\r\n          },\r\n          series: this.option.series\r\n        };\r\n      } else {\r\n        myOption = {\r\n          title: {\r\n            text: this.option.name,\r\n            subtext: this.option.subtext,\r\n            top: 20\r\n          },\r\n          tooltip: {\r\n            trigger: \"axis\",\r\n            axisPointer: {\r\n              type: \"shadow\"\r\n            }\r\n          },\r\n          calculable: true,\r\n          legend: {\r\n            x: \"right\",\r\n            data: this.option.legend\r\n          },\r\n          toolbox: {\r\n            show: true,\r\n            orient: \"vertical\",\r\n            y: \"center\",\r\n            right: 20,\r\n            itemGap: 13,\r\n            feature: {\r\n              mark: { show: true },\r\n              dataView: { show: true, readOnly: false },\r\n              magicType: {\r\n                show: true,\r\n                type: [\"line\", \"bar\", \"stack\", \"tiled\"]\r\n              },\r\n              restore: { show: true },\r\n              saveAsImage: { show: true },\r\n              dataZoom: {\r\n                yAxisIndex: \"none\"\r\n              },\r\n              dataView: {\r\n                show: true,\r\n                readOnly: true,\r\n                optionToContent: function(opt) {\r\n                  let axisData = opt.xAxis[0].data;\r\n                  let series = opt.series;\r\n                  let tdHeaders = \"<th></th>\"; //表头\r\n                  series.forEach(function(item) {\r\n                    tdHeaders += \"<th>\" + item.name + \"</th>\"; //组装表头\r\n                  });\r\n                  let table =\r\n                    '<div class=\"table-responsive\"><table class=\"table table-bordered table-striped table-hover\" style=\"text-align:center\"><tbody><tr>' +\r\n                    tdHeaders +\r\n                    \"</tr>\";\r\n                  let tdBodys = \"\"; //数据\r\n                  for (let i = 0, l = axisData.length; i < l; i++) {\r\n                    for (let j = 0; j < series.length; j++) {\r\n                      tdBodys += \"<td>\" + series[j].data[i] + \"</td>\"; //组装表数据\r\n                    }\r\n                    table +=\r\n                      '<tr><td style=\"padding: 0 10px\">' +\r\n                      axisData[i] +\r\n                      \"</td>\" +\r\n                      tdBodys +\r\n                      \"</tr>\";\r\n                    tdBodys = \"\";\r\n                  }\r\n                  table += \"</tbody></table></div>\";\r\n                  return table;\r\n                }\r\n              }\r\n            }\r\n          },\r\n          grid: {\r\n            y: 80,\r\n            y2: 40,\r\n            x2: 40\r\n          },\r\n          xAxis: [\r\n            {\r\n              type: \"category\",\r\n              data: this.option.xAxis\r\n            }\r\n          ],\r\n          yAxis: [\r\n            {\r\n              type: \"value\"\r\n            }\r\n          ],\r\n          series: this.option.series\r\n        };\r\n      }\r\n\r\n      chart.setOption(myOption);\r\n    }\r\n  }\r\n};\r\n",null]}