module.exports =
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "/dist/";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 254);
/******/ })
/************************************************************************/
/******/ ({
/***/ 115:
/***/ (function(module, exports) {
module.exports = require("echarts/lib/chart/bar");
/***/ }),
/***/ 12:
/***/ (function(module, exports) {
/**
* When source maps are enabled, `style-loader` uses a link element with a data-uri to
* embed the css on the page. This breaks all relative urls because now they are relative to a
* bundle instead of the current page.
*
* One solution is to only use full urls, but that may be impossible.
*
* Instead, this function "fixes" the relative urls to be absolute according to the current page location.
*
* A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.
*
*/
module.exports = function (css) {
// get current location
var location = typeof window !== "undefined" && window.location;
if (!location) {
throw new Error("fixUrls requires window.location");
}
// blank or null?
if (!css || typeof css !== "string") {
return css;
}
var baseUrl = location.protocol + "//" + location.host;
var currentDir = baseUrl + location.pathname.replace(/\/[^\/]*$/, "/");
// convert each url(...)
/*
This regular expression is just a way to recursively match brackets within
a string.
/url\s*\( = Match on the word "url" with any whitespace after it and then a parens
( = Start a capturing group
(?: = Start a non-capturing group
[^)(] = Match anything that isn't a parentheses
| = OR
\( = Match a start parentheses
(?: = Start another non-capturing groups
[^)(]+ = Match anything that isn't a parentheses
| = OR
\( = Match a start parentheses
[^)(]* = Match anything that isn't a parentheses
\) = Match a end parentheses
) = End Group
*\) = Match anything and then a close parens
) = Close non-capturing group
* = Match anything
) = Close capturing group
\) = Match a close parens
/gi = Get all matches, not the first. Be case insensitive.
*/
var fixedCss = css.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi, function(fullMatch, origUrl) {
// strip quotes (if they exist)
var unquotedOrigUrl = origUrl
.trim()
.replace(/^"(.*)"$/, function(o, $1){ return $1; })
.replace(/^'(.*)'$/, function(o, $1){ return $1; });
// already a full url? no change
if (/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(unquotedOrigUrl)) {
return fullMatch;
}
// convert the url to a full url
var newUrl;
if (unquotedOrigUrl.indexOf("//") === 0) {
//TODO: should we add protocol?
newUrl = unquotedOrigUrl;
} else if (unquotedOrigUrl.indexOf("/") === 0) {
// path should be relative to the base url
newUrl = baseUrl + unquotedOrigUrl; // already starts with '/'
} else {
// path should be relative to current directory
newUrl = currentDir + unquotedOrigUrl.replace(/^\.\//, ""); // Strip leading './'
}
// send back the fixed url(...)
return "url(" + JSON.stringify(newUrl) + ")";
});
// send back the fixed css
return fixedCss;
};
/***/ }),
/***/ 136:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return waterfall; });
/* harmony import */ var main_utils_charts_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32);
function getWaterfallTooltip(dataType, digit) {
return {
trigger: 'axis',
axisPointer: { type: 'shadow' },
formatter: function formatter(items) {
var item = items[1];
return [item.name + '
' + item.seriesName + ' :', '' + Object(main_utils_charts_utils__WEBPACK_IMPORTED_MODULE_0__[/* getFormated */ "c"])(item.value, dataType, digit)].join('');
}
};
}
function getWaterfallXAxis(args) {
var dimension = args.dimension,
rows = args.rows,
remainStatus = args.remainStatus,
totalName = args.totalName,
remainName = args.remainName,
labelMap = args.labelMap,
xAxisName = args.xAxisName,
axisVisible = args.axisVisible;
var xAxisData = [totalName].concat(rows.map(function (row) {
return row[dimension];
}));
if (remainStatus === 'have-remain') {
xAxisData = xAxisData.concat([remainName]);
}
return {
type: 'category',
name: labelMap && labelMap[xAxisName] || xAxisName,
splitLine: { show: false },
data: xAxisData,
show: axisVisible
};
}
function getWaterfallYAxis(args) {
var dataType = args.dataType,
yAxisName = args.yAxisName,
axisVisible = args.axisVisible,
digit = args.digit,
labelMap = args.labelMap;
return {
type: 'value',
name: labelMap[yAxisName] != null ? labelMap[yAxisName] : yAxisName,
axisTick: { show: false },
axisLabel: {
formatter: function formatter(val) {
return Object(main_utils_charts_utils__WEBPACK_IMPORTED_MODULE_0__[/* getFormated */ "c"])(val, dataType, digit);
}
},
show: axisVisible
};
}
function getWaterfallSeries(args) {
var dataType = args.dataType,
rows = args.rows,
metrics = args.metrics,
totalNum = args.totalNum,
remainStatus = args.remainStatus,
dataSum = args.dataSum,
digit = args.digit;
var seriesBase = { type: 'bar', stack: '总量' };
var dataSumTemp = dataSum;
var totalNumTemp = totalNum;
var assistData = void 0;
var mainData = void 0;
var rowData = rows.map(function (row) {
return row[metrics];
});
if (remainStatus === 'have-remain') {
assistData = [0].concat(rows.map(function (row) {
totalNumTemp -= row[metrics];
return totalNumTemp;
})).concat([0]);
mainData = [totalNum].concat(rowData).concat([totalNum - dataSum]);
} else {
assistData = [0].concat(rows.map(function (row) {
dataSumTemp -= row[metrics];
return dataSumTemp;
}));
mainData = [dataSum].concat(rowData);
}
var series = [];
series.push(Object.assign({
name: '辅助',
itemStyle: {
normal: { opacity: 0 },
emphasis: { opacity: 0 }
},
data: assistData
}, seriesBase));
series.push(Object.assign({
name: '数值',
label: {
normal: {
show: true,
position: 'top',
formatter: function formatter(item) {
return Object(main_utils_charts_utils__WEBPACK_IMPORTED_MODULE_0__[/* getFormated */ "c"])(item.value, dataType, digit);
}
}
},
data: mainData
}, seriesBase));
return series;
}
function getWaterfallRemainStatus(dataSum, totalNum) {
if (!totalNum) return 'not-total';
return totalNum > dataSum ? 'have-remain' : 'none-remain';
}
var waterfall = function waterfall(columns, rows, settings, extra) {
var _settings$dataType = settings.dataType,
dataType = _settings$dataType === undefined ? 'normal' : _settings$dataType,
_settings$dimension = settings.dimension,
dimension = _settings$dimension === undefined ? columns[0] : _settings$dimension,
_settings$totalName = settings.totalName,
totalName = _settings$totalName === undefined ? '总计' : _settings$totalName,
totalNum = settings.totalNum,
_settings$remainName = settings.remainName,
remainName = _settings$remainName === undefined ? '其他' : _settings$remainName,
_settings$xAxisName = settings.xAxisName,
xAxisName = _settings$xAxisName === undefined ? dimension : _settings$xAxisName,
_settings$labelMap = settings.labelMap,
labelMap = _settings$labelMap === undefined ? {} : _settings$labelMap,
_settings$axisVisible = settings.axisVisible,
axisVisible = _settings$axisVisible === undefined ? true : _settings$axisVisible,
_settings$digit = settings.digit,
digit = _settings$digit === undefined ? 2 : _settings$digit;
var tooltipVisible = extra.tooltipVisible;
var metricsTemp = columns.slice();
metricsTemp.splice(metricsTemp.indexOf(dimension), 1);
var metrics = metricsTemp[0];
var yAxisName = metrics;
var tooltip = tooltipVisible && getWaterfallTooltip(dataType, digit);
var dataSum = parseFloat(rows.reduce(function (pre, cur) {
return pre + Number(cur[metrics]);
}, 0).toFixed(digit));
var remainStatus = getWaterfallRemainStatus(dataSum, totalNum);
var xAxisParams = {
dimension: dimension,
rows: rows,
remainStatus: remainStatus,
totalName: totalName,
remainName: remainName,
xAxisName: xAxisName,
labelMap: labelMap,
axisVisible: axisVisible
};
var xAxis = getWaterfallXAxis(xAxisParams);
var yAxis = getWaterfallYAxis({ dataType: dataType, yAxisName: yAxisName, axisVisible: axisVisible, digit: digit, labelMap: labelMap });
var seriesParams = {
dataType: dataType,
rows: rows,
dimension: dimension,
metrics: metrics,
totalNum: totalNum,
remainStatus: remainStatus,
dataSum: dataSum,
digit: digit
};
var series = getWaterfallSeries(seriesParams);
var options = { tooltip: tooltip, xAxis: xAxis, yAxis: yAxis, series: series };
return options;
};
/***/ }),
/***/ 15:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return DEFAULT_THEME; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return DEFAULT_COLORS; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return HEAT_MAP_COLOR; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return HEAT_BMAP_COLOR; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return itemPoint; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return STATIC_PROPS; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return ECHARTS_SETTINGS; });
var DEFAULT_THEME = {
categoryAxis: {
axisLine: { show: false },
axisTick: { show: false },
splitLine: { show: false }
},
valueAxis: {
axisLine: { show: false }
},
line: {
smooth: true
},
grid: {
containLabel: true,
left: 10,
right: 10
}
};
var DEFAULT_COLORS = ['#19d4ae', '#5ab1ef', '#fa6e86', '#ffb980', '#0067a6', '#c4b4e4', '#d87a80', '#9cbbff', '#d9d0c7', '#87a997', '#d49ea2', '#5b4947', '#7ba3a8'];
var HEAT_MAP_COLOR = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf', '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'];
var HEAT_BMAP_COLOR = ['blue', 'blue', 'green', 'yellow', 'red'];
var itemPoint = function itemPoint(color) {
return [''].join('');
};
var STATIC_PROPS = ['initOptions', 'loading', 'dataEmpty', 'judgeWidth', 'widthChangeDelay'];
var ECHARTS_SETTINGS = ['grid', 'dataZoom', 'visualMap', 'toolbox', 'title', 'legend', 'xAxis', 'yAxis', 'radar', 'tooltip', 'axisPointer', 'brush', 'geo', 'timeline', 'graphic', 'series', 'backgroundColor', 'textStyle'];
/***/ }),
/***/ 17:
/***/ (function(module, exports) {
module.exports = require("echarts/lib/echarts");
/***/ }),
/***/ 2:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
/* globals __VUE_SSR_CONTEXT__ */
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.
function normalizeComponent (
scriptExports,
render,
staticRenderFns,
functionalTemplate,
injectStyles,
scopeId,
moduleIdentifier, /* server only */
shadowMode /* vue-cli only */
) {
// Vue.extend constructor export interop
var options = typeof scriptExports === 'function'
? scriptExports.options
: scriptExports
// render functions
if (render) {
options.render = render
options.staticRenderFns = staticRenderFns
options._compiled = true
}
// functional template
if (functionalTemplate) {
options.functional = true
}
// scopedId
if (scopeId) {
options._scopeId = 'data-v-' + scopeId
}
var hook
if (moduleIdentifier) { // server build
hook = function (context) {
// 2.3 injection
context =
context || // cached call
(this.$vnode && this.$vnode.ssrContext) || // stateful
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
// 2.2 with runInNewContext: true
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
context = __VUE_SSR_CONTEXT__
}
// inject component styles
if (injectStyles) {
injectStyles.call(this, context)
}
// register component module identifier for async chunk inferrence
if (context && context._registeredComponents) {
context._registeredComponents.add(moduleIdentifier)
}
}
// used by ssr in case component is cached and beforeCreate
// never gets called
options._ssrRegister = hook
} else if (injectStyles) {
hook = shadowMode
? function () {
injectStyles.call(
this,
(options.functional ? this.parent : this).$root.$options.shadowRoot
)
}
: injectStyles
}
if (hook) {
if (options.functional) {
// for template-only hot-reload because in that case the render fn doesn't
// go through the normalizer
options._injectStyles = hook
// register for functional component in vue file
var originalRender = options.render
options.render = function renderWithStyleInjection (h, context) {
hook.call(context)
return originalRender(h, context)
}
} else {
// inject component registration as beforeCreate hook
var existing = options.beforeCreate
options.beforeCreate = existing
? [].concat(existing, hook)
: [hook]
}
}
return {
exports: scriptExports,
options: options
}
}
/***/ }),
/***/ 254:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var echarts_lib_chart_bar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(115);
/* harmony import */ var echarts_lib_chart_bar__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(echarts_lib_chart_bar__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _main__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(136);
/* harmony import */ var main_utils_charts_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43);
/* harmony default export */ __webpack_exports__["default"] = (Object.assign({}, main_utils_charts_core__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], {
name: 'VeWaterfall',
data: function data() {
this.chartHandler = _main__WEBPACK_IMPORTED_MODULE_1__[/* waterfall */ "a"];
return {};
}
}));
/***/ }),
/***/ 3:
/***/ (function(module, exports) {
module.exports = require("utils-lite");
/***/ }),
/***/ 31:
/***/ (function(module, exports) {
module.exports = require("numerify");
/***/ }),
/***/ 32:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getFormated; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getStackMap; });
/* unused harmony export $get */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getMapJSON; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getBmap; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getAmap; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return setArrayValue; });
/* harmony import */ var numerify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31);
/* harmony import */ var numerify__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(numerify__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var utils_lite__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
/* harmony import */ var utils_lite__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(utils_lite__WEBPACK_IMPORTED_MODULE_1__);
var getFormated = function getFormated(val, type, digit) {
var defaultVal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '-';
if (isNaN(val)) return defaultVal;
if (!type) return val;
if (Object(utils_lite__WEBPACK_IMPORTED_MODULE_1__["isFunction"])(type)) return type(val, numerify__WEBPACK_IMPORTED_MODULE_0___default.a);
digit = isNaN(digit) ? 0 : ++digit;
var digitStr = '.[' + new Array(digit).join(0) + ']';
var formatter = type;
switch (type) {
case 'KMB':
formatter = digit ? '0,0' + digitStr + 'a' : '0,0a';
break;
case 'normal':
formatter = digit ? '0,0' + digitStr : '0,0';
break;
case 'percent':
formatter = digit ? '0,0' + digitStr + '%' : '0,0.[00]%';
break;
}
return numerify__WEBPACK_IMPORTED_MODULE_0___default()(val, formatter);
};
var getStackMap = function getStackMap(stack) {
var stackMap = {};
Object.keys(stack).forEach(function (item) {
stack[item].forEach(function (name) {
stackMap[name] = item;
});
});
return stackMap;
};
var $get = function $get(url) {
/* eslint-disable */
return new Promise(function (resolve, reject) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.send(null);
xhr.onload = function () {
resolve(JSON.parse(xhr.responseText));
};
xhr.onerror = function () {
reject(JSON.parse(xhr.responseText));
};
});
};
var mapPromise = {};
var getMapJSON = function getMapJSON(_ref) {
var position = _ref.position,
positionJsonLink = _ref.positionJsonLink,
beforeRegisterMapOnce = _ref.beforeRegisterMapOnce,
mapURLProfix = _ref.mapURLProfix;
var link = positionJsonLink || '' + mapURLProfix + position + '.json';
if (!mapPromise[link]) {
mapPromise[link] = $get(link).then(function (res) {
if (beforeRegisterMapOnce) res = beforeRegisterMapOnce(res);
return res;
});
}
return mapPromise[link];
};
var bmapPromise = null;
var amapPromise = null;
var getBmap = function getBmap(key, v) {
if (!bmapPromise) {
bmapPromise = new Promise(function (resolve, reject) {
var callbackName = 'bmap' + Date.now();
window[callbackName] = resolve;
var script = document.createElement('script');
script.src = ['https://api.map.baidu.com/api?v=' + (v || '2.0'), 'ak=' + key, 'callback=' + callbackName].join('&');
document.body.appendChild(script);
});
}
return bmapPromise;
};
var getAmap = function getAmap(key, v) {
if (!amapPromise) {
amapPromise = new Promise(function (resolve, reject) {
var callbackName = 'amap' + Date.now();
window[callbackName] = resolve;
var script = document.createElement('script');
script.src = ['https://webapi.amap.com/maps?v=' + (v || '1.4.3'), 'key=' + key, 'callback=' + callbackName].join('&');
document.body.appendChild(script);
});
}
return amapPromise;
};
function setArrayValue(arr, index, value) {
if (arr[index] !== undefined) {
arr[index].push(value);
} else {
arr[index] = [value];
}
}
/***/ }),
/***/ 39:
/***/ (function(module, exports, __webpack_require__) {
var content = __webpack_require__(57);
if(typeof content === 'string') content = [[module.i, content, '']];
var transform;
var insertInto;
var options = {"hmr":true}
options.transform = transform
options.insertInto = undefined;
var update = __webpack_require__(6)(content, options);
if(content.locals) module.exports = content.locals;
if(false) {}
/***/ }),
/***/ 40:
/***/ (function(module, exports, __webpack_require__) {
var content = __webpack_require__(59);
if(typeof content === 'string') content = [[module.i, content, '']];
var transform;
var insertInto;
var options = {"hmr":true}
options.transform = transform
options.insertInto = undefined;
var update = __webpack_require__(6)(content, options);
if(content.locals) module.exports = content.locals;
if(false) {}
/***/ }),
/***/ 43:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXTERNAL MODULE: external "echarts/lib/echarts"
var echarts_ = __webpack_require__(17);
var echarts_default = /*#__PURE__*/__webpack_require__.n(echarts_);
// EXTERNAL MODULE: external "echarts/lib/component/tooltip"
var tooltip_ = __webpack_require__(54);
// EXTERNAL MODULE: external "echarts/lib/component/legend"
var legend_ = __webpack_require__(55);
// EXTERNAL MODULE: external "numerify"
var external_numerify_ = __webpack_require__(31);
var external_numerify_default = /*#__PURE__*/__webpack_require__.n(external_numerify_);
// EXTERNAL MODULE: external "utils-lite"
var external_utils_lite_ = __webpack_require__(3);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/utils/charts/components/loading.vue?vue&type=template&id=6d18fb16&
var loadingvue_type_template_id_6d18fb16_render = function() {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c("div", { staticClass: "v-charts-component-loading" }, [
_c("div", { staticClass: "loader" }, [
_c("div", { staticClass: "loading-spinner" }, [
_c(
"svg",
{ staticClass: "circular", attrs: { viewBox: "25 25 50 50" } },
[
_c("circle", {
staticClass: "path",
attrs: { cx: "50", cy: "50", r: "20", fill: "none" }
})
]
)
])
])
])
}
var staticRenderFns = []
loadingvue_type_template_id_6d18fb16_render._withStripped = true
// CONCATENATED MODULE: ./src/utils/charts/components/loading.vue?vue&type=template&id=6d18fb16&
// EXTERNAL MODULE: ./src/utils/charts/components/loading.vue?vue&type=style&index=0&lang=css&
var loadingvue_type_style_index_0_lang_css_ = __webpack_require__(56);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);
// CONCATENATED MODULE: ./src/utils/charts/components/loading.vue
var script = {}
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
script,
loadingvue_type_template_id_6d18fb16_render,
staticRenderFns,
false,
null,
null,
null
)
/* hot reload */
if (false) { var api; }
component.options.__file = "src/utils/charts/components/loading.vue"
/* harmony default export */ var loading = (component.exports);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/utils/charts/components/data-empty.vue?vue&type=template&id=1f2f0a80&
var data_emptyvue_type_template_id_1f2f0a80_render = function() {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c("div", { staticClass: "v-charts-data-empty" }, [
_vm._v("\n 暂无数据\n")
])
}
var data_emptyvue_type_template_id_1f2f0a80_staticRenderFns = []
data_emptyvue_type_template_id_1f2f0a80_render._withStripped = true
// CONCATENATED MODULE: ./src/utils/charts/components/data-empty.vue?vue&type=template&id=1f2f0a80&
// EXTERNAL MODULE: ./src/utils/charts/components/data-empty.vue?vue&type=style&index=0&lang=css&
var data_emptyvue_type_style_index_0_lang_css_ = __webpack_require__(58);
// CONCATENATED MODULE: ./src/utils/charts/components/data-empty.vue
var data_empty_script = {}
/* normalize component */
var data_empty_component = Object(componentNormalizer["a" /* default */])(
data_empty_script,
data_emptyvue_type_template_id_1f2f0a80_render,
data_emptyvue_type_template_id_1f2f0a80_staticRenderFns,
false,
null,
null,
null
)
/* hot reload */
if (false) { var data_empty_api; }
data_empty_component.options.__file = "src/utils/charts/components/data-empty.vue"
/* harmony default export */ var data_empty = (data_empty_component.exports);
// EXTERNAL MODULE: ./src/utils/charts/constants.js
var constants = __webpack_require__(15);
// CONCATENATED MODULE: ./src/utils/charts/modules/extend.js
/* harmony default export */ var modules_extend = (function (options, extend) {
Object.keys(extend).forEach(function (attr) {
var value = extend[attr];
if (~attr.indexOf('.')) {
// eg: a.b.c a.1.b
Object(external_utils_lite_["set"])(options, attr, value);
} else if (typeof value === 'function') {
// get callback value
options[attr] = value(options[attr]);
} else {
// mixin extend value
if (Object(external_utils_lite_["isArray"])(options[attr]) && Object(external_utils_lite_["isObject"])(options[attr][0])) {
// eg: [{ xx: 1 }, { xx: 2 }]
options[attr].forEach(function (option, index) {
options[attr][index] = Object.assign({}, option, value);
});
} else if (Object(external_utils_lite_["isObject"])(options[attr])) {
// eg: { xx: 1, yy: 2 }
options[attr] = Object.assign({}, options[attr], value);
} else {
options[attr] = value;
}
}
});
});
// CONCATENATED MODULE: ./src/utils/charts/modules/mark.js
/* harmony default export */ var mark = (function (seriesItem, marks) {
Object.keys(marks).forEach(function (key) {
if (marks[key]) seriesItem[key] = marks[key];
});
});
// CONCATENATED MODULE: ./src/utils/charts/modules/animation.js
/* harmony default export */ var animation = (function (options, animation) {
Object.keys(animation).forEach(function (key) {
options[key] = animation[key];
});
});
// CONCATENATED MODULE: ./src/utils/charts/core.js
/* harmony default export */ var core = __webpack_exports__["a"] = ({
render: function render(h) {
return h('div', {
class: [Object(external_utils_lite_["camelToKebab"])(this.$options.name || this.$options._componentTag)],
style: this.canvasStyle
}, [h('div', {
style: this.canvasStyle,
class: { 'v-charts-mask-status': this.dataEmpty || this.loading },
ref: 'canvas'
}), h(data_empty, {
style: { display: this.dataEmpty ? '' : 'none' }
}), h(loading, {
style: { display: this.loading ? '' : 'none' }
}), this.$slots.default]);
},
props: {
data: { type: [Object, Array], default: function _default() {
return {};
}
},
settings: { type: Object, default: function _default() {
return {};
}
},
width: { type: String, default: 'auto' },
height: { type: String, default: '400px' },
beforeConfig: { type: Function },
afterConfig: { type: Function },
afterSetOption: { type: Function },
afterSetOptionOnce: { type: Function },
events: { type: Object },
grid: { type: [Object, Array] },
colors: { type: Array },
tooltipVisible: { type: Boolean, default: true },
legendVisible: { type: Boolean, default: true },
legendPosition: { type: String },
markLine: { type: Object },
markArea: { type: Object },
markPoint: { type: Object },
visualMap: { type: [Object, Array] },
dataZoom: { type: [Object, Array] },
toolbox: { type: [Object, Array] },
initOptions: { type: Object, default: function _default() {
return {};
}
},
title: [Object, Array],
legend: [Object, Array],
xAxis: [Object, Array],
yAxis: [Object, Array],
radar: Object,
tooltip: Object,
axisPointer: [Object, Array],
brush: [Object, Array],
geo: [Object, Array],
timeline: [Object, Array],
graphic: [Object, Array],
series: [Object, Array],
backgroundColor: [Object, String],
textStyle: [Object, Array],
animation: Object,
theme: Object,
themeName: String,
loading: Boolean,
dataEmpty: Boolean,
extend: Object,
judgeWidth: { type: Boolean, default: false },
widthChangeDelay: { type: Number, default: 300 },
tooltipFormatter: { type: Function },
resizeable: { type: Boolean, default: true },
resizeDelay: { type: Number, default: 200 },
changeDelay: { type: Number, default: 0 },
setOptionOpts: { type: [Boolean, Object], default: true },
cancelResizeCheck: Boolean,
notSetUnchange: Array,
log: Boolean
},
watch: {
data: {
deep: true,
handler: function handler(v) {
if (v) {
this.changeHandler();
}
}
},
settings: {
deep: true,
handler: function handler(v) {
if (v.type && this.chartLib) this.chartHandler = this.chartLib[v.type];
this.changeHandler();
}
},
width: 'nextTickResize',
height: 'nextTickResize',
events: {
deep: true,
handler: 'createEventProxy'
},
theme: {
deep: true,
handler: 'themeChange'
},
themeName: 'themeChange',
resizeable: 'resizeableHandler'
},
computed: {
canvasStyle: function canvasStyle() {
return {
width: this.width,
height: this.height,
position: 'relative'
};
},
chartColor: function chartColor() {
return this.colors || this.theme && this.theme.color || constants["a" /* DEFAULT_COLORS */];
}
},
methods: {
dataHandler: function dataHandler() {
if (!this.chartHandler) return;
var data = this.data;
var _data = data,
_data$columns = _data.columns,
columns = _data$columns === undefined ? [] : _data$columns,
_data$rows = _data.rows,
rows = _data$rows === undefined ? [] : _data$rows;
var extra = {
tooltipVisible: this.tooltipVisible,
legendVisible: this.legendVisible,
echarts: this.echarts,
color: this.chartColor,
tooltipFormatter: this.tooltipFormatter,
_once: this._once
};
if (this.beforeConfig) data = this.beforeConfig(data);
var options = this.chartHandler(columns, rows, this.settings, extra);
if (options) {
if (typeof options.then === 'function') {
options.then(this.optionsHandler);
} else {
this.optionsHandler(options);
}
}
},
nextTickResize: function nextTickResize() {
this.$nextTick(this.resize);
},
resize: function resize() {
if (!this.cancelResizeCheck) {
if (this.$el && this.$el.clientWidth && this.$el.clientHeight) {
this.echartsResize();
}
} else {
this.echartsResize();
}
},
echartsResize: function echartsResize() {
this.echarts && this.echarts.resize();
},
optionsHandler: function optionsHandler(options) {
var _this = this;
// legend
if (this.legendPosition && options.legend) {
options.legend[this.legendPosition] = 10;
if (~['left', 'right'].indexOf(this.legendPosition)) {
options.legend.top = 'middle';
options.legend.orient = 'vertical';
}
}
// color
options.color = this.chartColor;
// echarts self settings
constants["c" /* ECHARTS_SETTINGS */].forEach(function (setting) {
if (_this[setting]) options[setting] = _this[setting];
});
// animation
if (this.animation) animation(options, this.animation);
// marks
if (this.markArea || this.markLine || this.markPoint) {
var marks = {
markArea: this.markArea,
markLine: this.markLine,
markPoint: this.markPoint
};
var series = options.series;
if (Object(external_utils_lite_["isArray"])(series)) {
series.forEach(function (item) {
mark(item, marks);
});
} else if (Object(external_utils_lite_["isObject"])(series)) {
mark(series, marks);
}
}
// change inited echarts settings
if (this.extend) modules_extend(options, this.extend);
if (this.afterConfig) options = this.afterConfig(options);
var setOptionOpts = this.setOptionOpts;
// map chart not merge
if ((this.settings.bmap || this.settings.amap) && !Object(external_utils_lite_["isObject"])(setOptionOpts)) {
setOptionOpts = false;
}
// exclude unchange options
if (this.notSetUnchange && this.notSetUnchange.length) {
this.notSetUnchange.forEach(function (item) {
var value = options[item];
if (value) {
if (Object(external_utils_lite_["isEqual"])(value, _this._store[item])) {
options[item] = undefined;
} else {
_this._store[item] = Object(external_utils_lite_["cloneDeep"])(value);
}
}
});
if (Object(external_utils_lite_["isObject"])(setOptionOpts)) {
setOptionOpts.notMerge = false;
} else {
setOptionOpts = false;
}
}
if (this._isDestroyed) return;
if (this.log) console.log(options);
console.log('options------->', options);
console.log('setOptions----->', setOptionOpts);
// 设置一些基本参数
options.legend.textStyle = {
color: '#FFF'
};
this.echarts.setOption(options, setOptionOpts);
this.$emit('ready', this.echarts, options, echarts_default.a);
if (!this._once['ready-once']) {
this._once['ready-once'] = true;
this.$emit('ready-once', this.echarts, options, echarts_default.a);
}
if (this.judgeWidth) this.judgeWidthHandler(options);
if (this.afterSetOption) this.afterSetOption(this.echarts, options, echarts_default.a);
if (this.afterSetOptionOnce && !this._once['afterSetOptionOnce']) {
this._once['afterSetOptionOnce'] = true;
this.afterSetOptionOnce(this.echarts, options, echarts_default.a);
}
},
judgeWidthHandler: function judgeWidthHandler(options) {
var _this2 = this;
var widthChangeDelay = this.widthChangeDelay,
resize = this.resize;
if (this.$el.clientWidth || this.$el.clientHeight) {
resize();
} else {
this.$nextTick(function (_) {
if (_this2.$el.clientWidth || _this2.$el.clientHeight) {
resize();
} else {
setTimeout(function (_) {
resize();
if (!_this2.$el.clientWidth || !_this2.$el.clientHeight) {
console.warn(' Can\'t get dom width or height ');
}
}, widthChangeDelay);
}
});
}
},
resizeableHandler: function resizeableHandler(resizeable) {
if (resizeable && !this._once.onresize) this.addResizeListener();
if (!resizeable && this._once.onresize) this.removeResizeListener();
},
init: function init() {
if (this.echarts) return;
var themeName = this.themeName || this.theme || constants["b" /* DEFAULT_THEME */];
this.echarts = echarts_default.a.init(this.$refs.canvas, themeName, this.initOptions);
if (this.data) this.changeHandler();
this.createEventProxy();
if (this.resizeable) this.addResizeListener();
},
addResizeListener: function addResizeListener() {
window.addEventListener('resize', this.resizeHandler);
this._once.onresize = true;
},
removeResizeListener: function removeResizeListener() {
window.removeEventListener('resize', this.resizeHandler);
this._once.onresize = false;
},
addWatchToProps: function addWatchToProps() {
var _this3 = this;
var watchedVariable = this._watchers.map(function (watcher) {
return watcher.expression;
});
Object.keys(this.$props).forEach(function (prop) {
if (!~watchedVariable.indexOf(prop) && !~constants["f" /* STATIC_PROPS */].indexOf(prop)) {
var opts = {};
if (~['[object Object]', '[object Array]'].indexOf(Object(external_utils_lite_["getType"])(_this3.$props[prop]))) {
opts.deep = true;
}
_this3.$watch(prop, function () {
_this3.changeHandler();
}, opts);
}
});
},
createEventProxy: function createEventProxy() {
var _this4 = this;
// 只要用户使用 on 方法绑定的事件都做一层代理,
// 是否真正执行相应的事件方法取决于该方法是否仍然存在 events 中
// 实现 events 的动态响应
var self = this;
var keys = Object.keys(this.events || {});
keys.length && keys.forEach(function (ev) {
if (_this4.registeredEvents.indexOf(ev) === -1) {
_this4.registeredEvents.push(ev);
_this4.echarts.on(ev, function (ev) {
return function () {
if (ev in self.events) {
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
self.events[ev].apply(null, args);
}
};
}(ev));
}
});
},
themeChange: function themeChange(theme) {
this.clean();
this.echarts = null;
this.init();
},
clean: function clean() {
if (this.resizeable) this.removeResizeListener();
this.echarts.dispose();
}
},
created: function created() {
this.echarts = null;
this.registeredEvents = [];
this._once = {};
this._store = {};
this.resizeHandler = Object(external_utils_lite_["debounce"])(this.resize, this.resizeDelay);
this.changeHandler = Object(external_utils_lite_["debounce"])(this.dataHandler, this.changeDelay);
this.addWatchToProps();
},
mounted: function mounted() {
this.init();
},
beforeDestroy: function beforeDestroy() {
this.clean();
},
_numerify: external_numerify_default.a
});
/***/ }),
/***/ 5:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
// css base code, injected by the css-loader
module.exports = function (useSourceMap) {
var list = []; // return the list of modules as css string
list.toString = function toString() {
return this.map(function (item) {
var content = cssWithMappingToString(item, useSourceMap);
if (item[2]) {
return '@media ' + item[2] + '{' + content + '}';
} else {
return content;
}
}).join('');
}; // import a list of modules into the list
list.i = function (modules, mediaQuery) {
if (typeof modules === 'string') {
modules = [[null, modules, '']];
}
var alreadyImportedModules = {};
for (var i = 0; i < this.length; i++) {
var id = this[i][0];
if (id != null) {
alreadyImportedModules[id] = true;
}
}
for (i = 0; i < modules.length; i++) {
var item = modules[i]; // skip already imported module
// this implementation is not 100% perfect for weird media query combinations
// when a module is imported multiple times with different media queries.
// I hope this will never occur (Hey this way we have smaller bundles)
if (item[0] == null || !alreadyImportedModules[item[0]]) {
if (mediaQuery && !item[2]) {
item[2] = mediaQuery;
} else if (mediaQuery) {
item[2] = '(' + item[2] + ') and (' + mediaQuery + ')';
}
list.push(item);
}
}
};
return list;
};
function cssWithMappingToString(item, useSourceMap) {
var content = item[1] || '';
var cssMapping = item[3];
if (!cssMapping) {
return content;
}
if (useSourceMap && typeof btoa === 'function') {
var sourceMapping = toComment(cssMapping);
var sourceURLs = cssMapping.sources.map(function (source) {
return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */';
});
return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
}
return [content].join('\n');
} // Adapted from convert-source-map (MIT)
function toComment(sourceMap) {
// eslint-disable-next-line no-undef
var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;
return '/*# ' + data + ' */';
}
/***/ }),
/***/ 54:
/***/ (function(module, exports) {
module.exports = require("echarts/lib/component/tooltip");
/***/ }),
/***/ 55:
/***/ (function(module, exports) {
module.exports = require("echarts/lib/component/legend");
/***/ }),
/***/ 56:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_loading_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(39);
/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_loading_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_loading_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ 57:
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__(5)(false);
// Module
exports.push([module.i, "\n.v-charts-component-loading {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: rgba(255, 255, 255, .9);\n}\n.v-charts-mask-status {\n filter: blur(1px);\n}\n.v-charts-component-loading .circular {\n width: 42px;\n height: 42px;\n animation: loading-rotate 2s linear infinite;\n}\n.v-charts-component-loading .path {\n animation: loading-dash 1.5s ease-in-out infinite;\n stroke-dasharray: 90,150;\n stroke-dashoffset: 0;\n stroke-width: 2;\n stroke: #20a0ff;\n stroke-linecap: round;\n}\n@keyframes loading-rotate {\n100% {\n transform: rotate(360deg);\n}\n}\n@keyframes loading-dash {\n0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n}\n50% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -40px;\n}\n100% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -120px;\n}\n}\n", ""]);
/***/ }),
/***/ 58:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_data_empty_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40);
/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_data_empty_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_data_empty_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/***/ }),
/***/ 59:
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__(5)(false);
// Module
exports.push([module.i, "\n.v-charts-data-empty {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: rgba(255, 255, 255, .9);\n color: #888;\n font-size: 14px;\n}\n", ""]);
/***/ }),
/***/ 6:
/***/ (function(module, exports, __webpack_require__) {
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
var stylesInDom = {};
var memoize = function (fn) {
var memo;
return function () {
if (typeof memo === "undefined") memo = fn.apply(this, arguments);
return memo;
};
};
var isOldIE = memoize(function () {
// Test for IE <= 9 as proposed by Browserhacks
// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
// Tests for existence of standard globals is to allow style-loader
// to operate correctly into non-standard environments
// @see https://github.com/webpack-contrib/style-loader/issues/177
return window && document && document.all && !window.atob;
});
var getTarget = function (target, parent) {
if (parent){
return parent.querySelector(target);
}
return document.querySelector(target);
};
var getElement = (function (fn) {
var memo = {};
return function(target, parent) {
// If passing function in options, then use it for resolve "head" element.
// Useful for Shadow Root style i.e
// {
// insertInto: function () { return document.querySelector("#foo").shadowRoot }
// }
if (typeof target === 'function') {
return target();
}
if (typeof memo[target] === "undefined") {
var styleTarget = getTarget.call(this, target, parent);
// Special case to return head of iframe instead of iframe itself
if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
try {
// This will throw an exception if access to iframe is blocked
// due to cross-origin restrictions
styleTarget = styleTarget.contentDocument.head;
} catch(e) {
styleTarget = null;
}
}
memo[target] = styleTarget;
}
return memo[target]
};
})();
var singleton = null;
var singletonCounter = 0;
var stylesInsertedAtTop = [];
var fixUrls = __webpack_require__(12);
module.exports = function(list, options) {
if (typeof DEBUG !== "undefined" && DEBUG) {
if (typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment");
}
options = options || {};
options.attrs = typeof options.attrs === "object" ? options.attrs : {};
// Force single-tag solution on IE6-9, which has a hard limit on the # of