@@ -836,6 +836,8 @@ exports.default = void 0;
836836
837837var _defineProperty2 = _interopRequireDefault(__webpack_require__("279f"));
838838
839+ var _typeof2 = _interopRequireDefault(__webpack_require__("7ae5"));
840+
839841var _toConsumableArray2 = _interopRequireDefault(__webpack_require__("4066"));
840842
841843__webpack_require__("f840");
@@ -1136,6 +1138,8 @@ var _default2 = {
11361138
11371139 },
11381140 mounted: function mounted() {
1141+ var _this = this;
1142+
11391143 // 设置echarts实例
11401144 this.smChart = this.$refs[this.chartId]; // 派发echart所有事件
11411145
@@ -1159,6 +1163,9 @@ var _default2 = {
11591163 !this._isRequestData && this.autoPlay && this._handlePieAutoPlay(); // 请求数据, 合并echartopiton, 设置echartOptions
11601164
11611165 this._isRequestData && this._setEchartOptions(this.dataset, this.datasetOptions, this.options);
1166+ this.smChart.$on('mouseout', function (params) {
1167+ _this._initHighlight();
1168+ });
11621169
11631170 this._initHighlight();
11641171 },
@@ -1172,13 +1179,15 @@ var _default2 = {
11721179 if (this.autoresize) {
11731180 (0, _resizeDetector.removeListener)(this.$el, this.__resizeHandler);
11741181 }
1182+
1183+ this.smChart.$off('mouseout');
11751184 },
11761185 methods: {
11771186 _initAutoResize: function _initAutoResize() {
1178- var _this = this;
1187+ var _this2 = this;
11791188
11801189 this.__resizeHandler = (0, _debounce.default)(function () {
1181- _this .resize();
1190+ _this2 .resize();
11821191 }, 100, {
11831192 leading: true
11841193 });
@@ -1189,10 +1198,10 @@ var _default2 = {
11891198 }
11901199 },
11911200 _initDataZoom: function _initDataZoom() {
1192- var _this2 = this;
1201+ var _this3 = this;
11931202
11941203 this.dataZoomHandler = (0, _debounce.default)(function () {
1195- _this2 ._dataZoomChanged();
1204+ _this3 ._dataZoomChanged();
11961205 }, 500, {
11971206 leading: true
11981207 });
@@ -1230,7 +1239,7 @@ var _default2 = {
12301239 }
12311240 },
12321241 setPieAutoPlay: function setPieAutoPlay(echartsNode) {
1233- var _this3 = this;
1242+ var _this4 = this;
12341243
12351244 var i = -1;
12361245 this.pieAutoPlay = setInterval(function () {
@@ -1241,7 +1250,7 @@ var _default2 = {
12411250 });
12421251 i++;
12431252
1244- if (i >= _this3 ._chartOptions.legend.data.length) {
1253+ if (i >= _this4 ._chartOptions.legend.data.length) {
12451254 i = 0;
12461255 }
12471256
@@ -1264,21 +1273,21 @@ var _default2 = {
12641273 }
12651274 },
12661275 timing: function timing() {
1267- var _this4 = this;
1276+ var _this5 = this;
12681277
12691278 this.echartsDataService && this.echartsDataService.getDataOption(this.dataset, this.xBar).then(function (options) {
1270- _this4 .hideLoading(); // 缓存dataSeriesCache,请求后格式化成echart的数据
1279+ _this5 .hideLoading(); // 缓存dataSeriesCache,请求后格式化成echart的数据
12711280
12721281
1273- _this4 .dataSeriesCache = Object.assign({}, options);
1274- _this4 .datasetChange = false; // 设置echartOptions
1282+ _this5 .dataSeriesCache = Object.assign({}, options);
1283+ _this5 .datasetChange = false; // 设置echartOptions
12751284
1276- _this4 .echartOptions = _this4 ._optionsHandler(_this4 .options, options);
1285+ _this5 .echartOptions = _this5 ._optionsHandler(_this5 .options, options);
12771286 });
12781287 },
12791288 // 请求数据,设置echartOptions
12801289 _setEchartOptions: function _setEchartOptions(dataset, datasetOptions, echartOptions) {
1281- var _this5 = this;
1290+ var _this6 = this;
12821291
12831292 this.echartsDataService = null;
12841293 this.dataSeriesCache = null;
@@ -1295,17 +1304,17 @@ var _default2 = {
12951304
12961305 this.echartsDataService = new _EchartsDataService.default(dataset, datasetOptions);
12971306 this.echartsDataService.getDataOption(dataset, this.xBar).then(function (options) {
1298- _this5 .hideLoading(); // 缓存dataSeriesCache,请求后格式化成echart的数据
1307+ _this6 .hideLoading(); // 缓存dataSeriesCache,请求后格式化成echart的数据
12991308
13001309
1301- _this5 .dataSeriesCache = Object.assign({}, options);
1302- _this5 .datasetChange = false; // 设置echartOptions
1310+ _this6 .dataSeriesCache = Object.assign({}, options);
1311+ _this6 .datasetChange = false; // 设置echartOptions
13031312
1304- _this5 .echartOptions = _this5 ._optionsHandler(echartOptions, options);
1313+ _this6 .echartOptions = _this6 ._optionsHandler(echartOptions, options);
13051314 });
13061315 },
13071316 _optionsHandler: function _optionsHandler(options, dataOptions, dataZoomChanged) {
1308- var _this6 = this;
1317+ var _this7 = this;
13091318
13101319 dataOptions = dataOptions && (0, _lodash4.default)(dataOptions); // clone 避免引起重复刷新
13111320
@@ -1369,7 +1378,7 @@ var _default2 = {
13691378 }
13701379
13711380 if (dataZoomChanged) {
1372- var _ref = _this6 .smChart.chart.getOption().dataZoom[0] || {},
1381+ var _ref = _this7 .smChart.chart.getOption().dataZoom[0] || {},
13731382 startValue = _ref.startValue,
13741383 endValue = _ref.endValue;
13751384
@@ -1475,8 +1484,14 @@ var _default2 = {
14751484 series.forEach(function (serie) {
14761485 // 对pie处理数据颜色分段
14771486 if (serie.type === 'pie') {
1478- if (serie.data && serie.data.length > _this6.colorGroupsData.length) {
1479- var colorGroup = SuperMap.ColorsPickerUtil.getGradientColors(_this6.colorGroupsData, serie.data.length, 'RANGE');
1487+ if (serie.data && serie.data.length > _this7.colorGroupsData.length) {
1488+ var colorGroup;
1489+
1490+ if ((0, _typeof2.default)(_this7.colorGroupsData[0]) === 'object') {
1491+ colorGroup = (0, _chart.handleMultiGradient)(_this7.colorGroupsData, serie.data.length);
1492+ } else {
1493+ colorGroup = SuperMap.ColorsPickerUtil.getGradientColors(_this7.colorGroupsData, serie.data.length, 'RANGE');
1494+ }
14801495
14811496 if (serie.itemStyle) {
14821497 serie.itemStyle.color = function (_ref4) {
@@ -1659,7 +1674,7 @@ var _default2 = {
16591674 }
16601675 },
16611676 showDetailInfo: function showDetailInfo(feature) {
1662- var _this7 = this;
1677+ var _this8 = this;
16631678
16641679 var coordinates = ((feature || {}).geometry || {}).coordinates;
16651680 var hasCoordinates = coordinates && !!coordinates.length;
@@ -1672,7 +1687,7 @@ var _default2 = {
16721687 var propsData = this.generateTableData(properties);
16731688 this.tablePopupProps = _objectSpread({}, propsData);
16741689 this.$nextTick(function () {
1675- _this7 .viewModel.setPopupContent(_coordinates, _this7 .$refs.chartTablePopup.$el, _this7 .changePopupArrowStyle);
1690+ _this8 .viewModel.setPopupContent(_coordinates, _this8 .$refs.chartTablePopup.$el, _this8 .changePopupArrowStyle);
16761691 });
16771692 } else {
16781693 var mapNotLoaded = this.mapNotLoadedTip();
@@ -8599,21 +8614,59 @@ exports.default = _default;
85998614"use strict";
86008615
86018616
8617+ var _interopRequireDefault = __webpack_require__("8e6d");
8618+
86028619Object.defineProperty(exports, "__esModule", {
86038620 value: true
86048621});
8605- exports.chartThemeUtil = void 0;
8622+ exports.chartThemeUtil = exports.handleMultiGradient = void 0;
8623+
8624+ var _typeof2 = _interopRequireDefault(__webpack_require__("7ae5"));
86068625
86078626var _util = __webpack_require__("1448");
86088627
8628+ var _lodash = _interopRequireDefault(__webpack_require__("25a2"));
8629+
8630+ var handleMultiGradient = function handleMultiGradient(colorGroupsData, dataLength) {
8631+ var startColors = [];
8632+ var endColors = [];
8633+ var startColorGroups = [];
8634+ var endColorGroups = [];
8635+ var results = [];
8636+ colorGroupsData.forEach(function (colorInfo) {
8637+ startColors.push(colorInfo.colorStops[0].color);
8638+ endColors.push(colorInfo.colorStops[1].color);
8639+ });
8640+ startColorGroups = SuperMap.ColorsPickerUtil.getGradientColors(startColors, dataLength, 'RANGE');
8641+ endColorGroups = SuperMap.ColorsPickerUtil.getGradientColors(endColors, dataLength, 'RANGE');
8642+
8643+ for (var i = 0; i < dataLength; i++) {
8644+ var colorGroupDataCopy = (0, _lodash.default)(colorGroupsData[0]);
8645+ colorGroupDataCopy.colorStops = [{
8646+ offset: 0,
8647+ color: startColorGroups[i]
8648+ }, {
8649+ offset: 1,
8650+ color: endColorGroups[i]
8651+ }];
8652+ results.push(colorGroupDataCopy);
8653+ }
8654+
8655+ return results;
8656+ };
8657+
8658+ exports.handleMultiGradient = handleMultiGradient;
8659+
86098660var chartThemeUtil = function chartThemeUtil() {
86108661 var background = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'rgba(255, 255, 255, 0.6)';
86118662 var textColor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '#333';
86128663 var colorGroup = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ['#3fb1e3', '#6be6c1', '#626c91', '#a0a7e6', '#c4ebad', '#96dee8'];
86138664 var dataNumber = arguments.length > 3 ? arguments[3] : undefined;
86148665
86158666 // 是否需要产生分段颜色值
8616- if (dataNumber >= 5) {
8667+ if (colorGroup && dataNumber > colorGroup.length && (0, _typeof2.default)(colorGroup[0]) === 'object') {
8668+ colorGroup = handleMultiGradient(colorGroup, dataNumber);
8669+ } else {
86178670 colorGroup = SuperMap.ColorsPickerUtil.getGradientColors(colorGroup, dataNumber, 'RANGE');
86188671 }
86198672
@@ -9154,7 +9207,7 @@ module.exports = _iterableToArrayLimit;
91549207
91559208"use strict";
91569209__webpack_require__.r(__webpack_exports__);
9157- /* harmony import */ var _ChartMixin_vue_vue_type_template_id_0bb3b3ba___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("8d58 ");
9210+ /* harmony import */ var _ChartMixin_vue_vue_type_template_id_f0db6a9c___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("bc57 ");
91589211/* harmony import */ var _ChartMixin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("d83d");
91599212/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ChartMixin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ChartMixin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
91609213/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("b429");
@@ -9167,8 +9220,8 @@ __webpack_require__.r(__webpack_exports__);
91679220
91689221var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(
91699222 _ChartMixin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
9170- _ChartMixin_vue_vue_type_template_id_0bb3b3ba___WEBPACK_IMPORTED_MODULE_0__ [/* render */ "a"],
9171- _ChartMixin_vue_vue_type_template_id_0bb3b3ba___WEBPACK_IMPORTED_MODULE_0__ [/* staticRenderFns */ "b"],
9223+ _ChartMixin_vue_vue_type_template_id_f0db6a9c___WEBPACK_IMPORTED_MODULE_0__ [/* render */ "a"],
9224+ _ChartMixin_vue_vue_type_template_id_f0db6a9c___WEBPACK_IMPORTED_MODULE_0__ [/* staticRenderFns */ "b"],
91729225 false,
91739226 null,
91749227 null,
@@ -31569,23 +31622,6 @@ function config (name) {
3156931622
3157031623/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("698d")))
3157131624
31572- /***/ }),
31573-
31574- /***/ "8d58":
31575- /***/ (function(module, __webpack_exports__, __webpack_require__) {
31576-
31577- "use strict";
31578-
31579- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/common/chart/ChartMixin.vue?vue&type=template&id=0bb3b3ba&
31580- var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sm-card',{directives:[{name:"show",rawName:"v-show",value:(_vm.isShow),expression:"isShow"}],staticClass:"sm-component-chart",attrs:{"icon-class":_vm.iconClass,"icon-position":_vm.position,"header-name":_vm.headerName,"auto-rotate":_vm.autoRotate,"collapsed":_vm.collapsed}},[_c('v-chart',{ref:_vm.chartId,style:(_vm._chartStyle),attrs:{"id":_vm.chartId,"options":_vm._chartOptions,"initOptions":_vm.initOptions,"group":_vm.group,"manual-update":_vm.manualUpdate,"theme":_vm.theme || _vm.chartTheme},on:{"datazoom":_vm.dataZoomHandler}}),_vm._v(" "),_c('TablePopup',_vm._b({directives:[{name:"show",rawName:"v-show",value:(false),expression:"false"}],ref:"chartTablePopup",attrs:{"text-color":_vm.textColor,"background":_vm.background}},'TablePopup',_vm.tablePopupProps,false))],1)}
31581- var staticRenderFns = []
31582-
31583-
31584- // CONCATENATED MODULE: ./src/common/chart/ChartMixin.vue?vue&type=template&id=0bb3b3ba&
31585- /* concated harmony reexport render */__webpack_require__.d(__webpack_exports__, "a", function() { return render; });
31586- /* concated harmony reexport staticRenderFns */__webpack_require__.d(__webpack_exports__, "b", function() { return staticRenderFns; });
31587-
31588-
3158931625/***/ }),
3159031626
3159131627/***/ "8e6d":
@@ -39289,6 +39325,23 @@ exports.Transform = __webpack_require__("b556");
3928939325exports.PassThrough = __webpack_require__("e525");
3929039326
3929139327
39328+ /***/ }),
39329+
39330+ /***/ "bc57":
39331+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
39332+
39333+ "use strict";
39334+
39335+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/common/chart/ChartMixin.vue?vue&type=template&id=f0db6a9c&
39336+ var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sm-card',{directives:[{name:"show",rawName:"v-show",value:(_vm.isShow),expression:"isShow"}],staticClass:"sm-component-chart",attrs:{"icon-class":_vm.iconClass,"icon-position":_vm.position,"header-name":_vm.headerName,"auto-rotate":_vm.autoRotate,"collapsed":_vm.collapsed}},[_c('v-chart',{ref:_vm.chartId,style:(_vm._chartStyle),attrs:{"id":_vm.chartId,"options":_vm._chartOptions,"initOptions":_vm.initOptions,"group":_vm.group,"manual-update":_vm.manualUpdate,"theme":_vm.theme || _vm.chartTheme},on:{"datazoom":_vm.dataZoomHandler}}),_vm._v(" "),_c('TablePopup',_vm._b({directives:[{name:"show",rawName:"v-show",value:(false),expression:"false"}],ref:"chartTablePopup",attrs:{"text-color":_vm.textColor,"background":_vm.background}},'TablePopup',_vm.tablePopupProps,false))],1)}
39337+ var staticRenderFns = []
39338+
39339+
39340+ // CONCATENATED MODULE: ./src/common/chart/ChartMixin.vue?vue&type=template&id=f0db6a9c&
39341+ /* concated harmony reexport render */__webpack_require__.d(__webpack_exports__, "a", function() { return render; });
39342+ /* concated harmony reexport staticRenderFns */__webpack_require__.d(__webpack_exports__, "b", function() { return staticRenderFns; });
39343+
39344+
3929239345/***/ }),
3929339346
3929439347/***/ "be3f":
0 commit comments