(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["mine/common/vendor"],{ /***/ 1133: /*!**************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/import.png ***! \**************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /***/ 1162: /*!*********************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/components/zb-table/js/util.js ***! \*********************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getScrollbarSize = void 0; /** * 获取滚动条宽度 */ var cached = undefined; var getScrollbarSize = function getScrollbarSize(fresh) { return cached; }; exports.getScrollbarSize = getScrollbarSize; /***/ }), /***/ 1172: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/woman.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAbFBMVEUAAAD+Tmf/SmH/Tmf+Tmb/R2L+Tmf/Tmf+Tmf+T2f+T2b+T2f/Tmf+Tmb/TWX/SGj+T2f+Tmb+T2f+Tmb9Tmb/Tmf9Tmf9Tmb/Tmf+TmX/T2b/T2b+T2f+Tmb9Tmf/T2f6TmP/TGf/SWH+T2eQrN28AAAAI3RSTlMA5AavXw/xzvjz47qFah8J7dXDtp+SjXxZRj0rv6qpdzEvFTGn3DsAAACRSURBVBjTfY5JFoMgEERbICAOcYrGaOa6/x1DGnj6WFir4tMNnw4zFxlnh9QfFUAyeSqBhBjINiWDyH0/z2ppeEZ4tN7h0k69I8ToptFV9UUDT0Ek4JY06vDZyC5EE67EER3evmnbRNd4iTI6fPAIaIhohfTF6m2x8mXEKzxvsARzC8USMu451Ry9U81gvnz+ATYGCP+kftaZAAAAAElFTkSuQmCC" /***/ }), /***/ 1173: /*!***********************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/man.png ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAVCAMAAABBhy+7AAAAY1BMVEUAAABHdetHdOpHdepGdepJduxHdetGdepHdetGdOpGdOpFdOpBbOpGdepGdetHdepGdetFculEdOhEdelAcP9HdepGdOpGdOpGdOhGdOhHdepGdepHdupHdOxJcupHculHdeoHIwrRAAAAIHRSTlMA/c7s9w3j39bHWUELpp2QeSYgHQjzsG5MLO7PbE8xL26SjIUAAACOSURBVBjThcxHDsMwEENRKpIty72XVN7/lJlRLARZ5S0I/A2h6ntYlkufIXrlpPeGttI6HNsBmDoabc8NUUmrs+LUEVj5TDlKFmZG4n5ylmxYpRwI7AwpG8oU7BD19PpnWZTj9Ai8HhBTYHQb8FG1zjU7vrzFqbwIZ3Q3PTSC1G0h6iyrcyubIcmt7p98A8y2B/R3b4uaAAAAAElFTkSuQmCC" /***/ }), /***/ 1174: /*!************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/year.png ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAATCAMAAACwcE1OAAAAkFBMVEUAAACzOAGzNwGzNwGzNwKzNwGxNwCzNwGzNwCzNgCzNwCzNwKzNwGzNwKzNwCwNACzOAKzNwG0OAGzNwCxNwCxNACzKQCzOAKzNwGzOAGzOAGzNwKyNgCyNgCeOwC0NwKyNwGzNwK0NwC0NwCyOQCzNwGzOAKzOAK0NwGxNwCzOAKzNwKyNwKxOACyOQCzOAKTs5eIAAAAL3RSTlMA6u/eh2kf53FKJfTjjlIR8tN9eBsWB/jHvLGeNSwE+s2iYVoMwamXbUOTgoFlP85iu1kAAAEGSURBVCjPZZDXlsIwDERdkji995BGFli2zf//3TrFJMA86XpkHY3IqrSiOnloEhebHHWBg1aBURSIjq6F6g9nRT78q6Rdkfxq7GgTo3fzB+poyIs8xKrMRZG+2gELg62MoZE3mfC2xpB+vNsd79eRN/w+OypNvaRMgpOuedrnKd/+bRiYraTMY1hF47nBdDcMv1KZ0QUddd/y9ZGBci7Args2ArQlFTy1WFZCKjJU3hgD6flxGy3BtHPpEO7sqc4wJ5i7TSnRcFNkuLCzgtmKv9GQgKOyuiUgna+XgP3MDd29hkjlcwmwqBSAEy/XZIAYBgpE65x7w0PHrZNsC2DWrhPy0ZL1P7OVGDwok4u1AAAAAElFTkSuQmCC" /***/ }), /***/ 1175: /*!************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/head.png ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAAllBMVEUAAADa5Pva4/vb5Pzb4/zb4/za5PzX5P7a5PzZ4vzb5Pzb5Pvb4P/a5Pzb5Pzb5fzf5//a4/va4/va5Pvb5Pra5P3d5v/l7P3b5fza4/zp7v3e5vvk6vvb4/zb5Pzg6Pzd5fve5/vg6Pzf6v/Z5Pra4/v////7/P7d5vvq7/3z9v7u8v34+v7n7fzj6vzh6Pzw9P31+P4TIA7/AAAAJXRSTlMA2LP68K9hE0sc5pAHm2NOHfXRxVwwE9pj3vDRxVvwtLOxmzAvNFaZfQAAAptJREFUWMO9mNdu6zAMQD1iJ7YzmjTO6LibkjU88v8/d420qZCIVKQW6Hk1cECTlCgp+hb+5lWyKddpui43SZXXn5LsltkEbphkh2mgZpalgJJmswBNHoODOPfUrIyGUvlE9ZCAB0lxz7OdgBeTV6dmvgBvFnNHyR8hgMcd5SliCCIuiDQfIZDjA/pfMQQTT5E8U/npWiVV2xF5sjOO16tRnL3BVYPWzuofwBCcGbgAhNebRKN9KNk1EuvM64QnhMfDlFytU8LjZVpFBqzygmEIpAeMJ8fqxXCQ2uXOgAZCNDhCmmEBcULEkZBmjpIJRiHIwk1TumR+hUvfltwSEDgp4mBzOIsytGY0PVhkZxG2OnqHqEPWSTTyDxA6h6gFmxrvxnDRchRV8PVfg8p0kb+oJ7aADXy9/LAZRSVgnEjRCRDKUbQGDBGUa1iPohQgcNEipKQIFCFSQInWEBRSA9SvlYDTEpsISomXn/45CTgb05AB44hoyAq8TQNQVGbRorRXI9t0ELpoa3Ah9LtGC3BQkxub4urSB61Qou0vFRh6sJkQW217DuPU2M11wmPL0M1fcOocIzjx4YCMo04zA1e9iWbUfKA7ZBxFmasLuVRt1wqlHa2Q2CNbMm90Y43sKHZvZ/c2lNg61kgWhDbHmuuQFAtkeA/IsHKPafdkWt0eRodw0cmUzByPG87C6W+Px9EWOvYJBGztK4Ri4cgFdqnRwR7+glwjp3Fwlvh+GiEUx1DTvqCuok3I33HjsS/HjfT3vOyc13Xh6ZF/5nceEHrtE87TNrpDkZi9lmT4WXg9sjSDU6X3K+9nn4aMig/7POwhqkPC4rL9PYvCmB6yH52Qml8cWqon8zQWRr2skucybfq0fP5VLevoO/gP3B8twrO2xwEAAAAASUVORK5CYII=" /***/ }), /***/ 1176: /*!**************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/health.png ***! \**************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAVCAMAAACT1yXjAAAAZlBMVEUAAABFzJlEy5k7x5xFy5lG0ZdR16NFxZdFy5lFy5hFy5lEy5lDy5lAw5BAz5pEy5hEy5lFy5lEy5lFzJlEyplEy5pFy5lFy5pDyppDzJg7sYpFy5lFy5lEyphFy5lDyphHyppFzJmSXoUCAAAAIXRSTlMA+eQM/BYGFvLt4MsbDxHc6dK5tZR3Zlc8IgbTwKmiSCs/X8rfAAAAlklEQVQY04XQ1w7DIAyFYTukGYzs1XSe93/JEqCCSlX7X34CyzLdss8GIsqRpwElEUOLpNrbiZJ+WVFXIROt4lA0Kt79mSfdtuVhHQdjt62zvSBnJI4MhdJ5cyeXR1tPItoMho1xjzZiXRnLBhVtgmqem7hijCYUWr33kNpaQz5zQT9Ano+bZj5DuoUjUhyyzxtlP37vBSS1DAWRxfZgAAAAAElFTkSuQmCC" /***/ }), /***/ 1177: /*!***********************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/mbg.png ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF8AAABgBAMAAACJTrO+AAAAFVBMVEUAAABEdetDcus7budDdOtBbulDcOq9RtzSAAAAB3RSTlMAGRUFEQkNXPRfeAAAAzVJREFUWMOVl01XozAUhpnSdj2X0q5LrV1HmboGPc4adGbW4NH//xdGwsdDEhSShQfkfbifyaWBzwpV4LfqyI/YiGReDuUiRz89wFK97Hz0AMv1sl+an6RRH3KARXpVy8FDf1FBKbGX/hOIFui3Wn/bXN4BzOsBluif25sfImqR/0/d3QpgRg9QzNcXfbCeA+pWT0Ai1Xf6+0EPkH2XIPRsueM3ASQ6/y5w/fibTiWrFLF7LRT52fwROX2oKYdiNQFsRa/zqwXkMk7Jy+0ArKVdURseNSIACpAA9AkhYu0QBcxGwPnkEGvDoXt9B1AE10dNVOMI9mb8AYB275eOQ40MKCd+DQwte02Et5btJQ7dBAbAVnnq8y2FFb8LBA+NU1q3tg1kgQXwSAvLRoIBaAD6v9L/jwwDxQjoNjY7MtZp3GNgiBhguNfJPTZGMwz0yQaIzJaLmhCUbQDgrgMoapZzhK4wYAOULE4IIceADbALR6NsrQ2wBGBsgphr8tV1wBFgbKLiuvgKwASdeocBJjvAyO8hRqksoAIY1SIa0Ng+SYoJoO5l5ZBTjCsqPbJw6EOkzZgPdCvAPnB2BSMLgHLuAnaFmcDIHRIAifOqWg4aqCaBDWcxT/YMCQdY0VIUeseQsAF2hTke9Ik8CSRUjTJUPLeBjbZvZVUK0m4AhGBllU4wCrcjBPNNh86QsrK9pwWdJPE9gGX9IsFTYj52PXu0gFjHfOOO1QJLdoutrXriJAmf6cnN4CT5oOsnPu/uW9e5Mmds7tQ570LgsDY+cjj98CimIJGyemzIBJHxH7YWBQrtXIcJ5eI4YZ+wSwg5NujKCC9mHyLJjBoezK60y/AiRpybbkJTiBcT2IrVKXU7oYnJ7NUwHwwg0dMegwZQYgATozBCafhxABgwXnpRdIEG0JMi8tyIXvuqAmwe+TngOCXRJdVpGoDrWyLEN/nD6/yRplsNhOm/Ry0nAJdon5/0t2wrFjLuEG/iLPyZXH+SCf0z+gkj7zZyKYKZdX0/9eLT+feyX+hp+iDylKbB4sWUmV9MAl+g8AJWPgAjwGPVEi2Vcj57LZGdr4WjH1BGyg8Iv07qfyD5jN2gZiu8AAAAAElFTkSuQmCC" /***/ }), /***/ 1178: /*!************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/wmbg.png ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF8AAABgBAMAAACJTrO+AAAAElBMVEUAAAD/TWv/S2X/Q17/SmD/S2M+B+fMAAAABnRSTlMAGRMGCg8vJ4O6AAADAklEQVRYw7WXzXaqMBCAo+D+DsoerN1jtXuw7V6q9/1f5R4j8CUztwey6Cw8KvNl/pPgkqRxadJJGpGLXFP0s1qkStHvBWCpvmxT9AGW+e9ltzQ/Xr+sARbpu17KFP3GdQDz+gdf6SJJ3x2XABuZ9N1KZH59r//iAOb8Qd8DzRL92/hzLdIuqO+NeOaA7ukPwMxAvLH+ognasD5ANRPALv5L5I9z58/P008BlM4C2cNwcW/+51DRWODxwCMfCuglzOHl2RsApIMayUEXwANrgYiMSxHFfw2A1xoCA0HKj+Ov+gm07vztCVT6MKP5aA7AuXd5ZoUUNTp+gGZqzB012EYd4n8BMCrVFDIpJX4AeqcdQt6piBWAba/YoeIy/ydANHb9sFgtRWSgVYDO3yZYMyPiGMCp6uHlFQMkGwDpHya6wEvxI6AA1dRVL0XYIi4CHjbV2BR1mBZvAHsAxI0XtEgEFHZrqQhp6yKgAghNtHxv4ykBwARuHCmIBlSiCPmqrwIWoDE2wjNGe6UBjj6mgqo0FA5gcDwjmPB8sIfEo25qKmgs/7cBtqNHlU5gwaligZqlwug2BhhCzdmLA2c5JIyFNR4FS3FIaAtMhTpPMnoTC9RPleHKcw3k3pApA2lXgAmBu0mvTfeyJYR4pXIqn20NG0I2OLlShRiuUbovcHKDs4GrOckLOqnFUvSg4Jag5oRYdE+ubNkmJ8kH6fZ+mSpU+hu3IsaO5E3JYbNm1G05aV7f+GYzMY1xJG2MFjcKD+m7TRs4Xao5UVOidWR4zCSqOdRvJ92AU2q2Bg4itQHfooxfRPT2SRK4HPC4FlEOSaNXKEODsQcdBjAREJkCLtxb4kXLhkp6AH17X33zxMeYE+zlPS9LximRw8lXaQKybxFohBc12d9PTe51stPXXrwQgCEGaPwY9Ml4LN68EXJh5asWKwf0rWTGyGvrZuT8dzJT7O+NWySnd5GX07yyfnf5JYCdJkVWKQBHQIJwyMwK+3OSiGxTgSoN6JiAhfJzUv8B7sh8370/6zIAAAAASUVORK5CYII=" /***/ }), /***/ 1179: /*!************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/more.png ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAFCAYAAABfPyy9AAAAAXNSR0IArs4c6QAAALtJREFUKFO1kCsOwkAURe9tBQnIyZuuAIEiCCwKxQLA4tgAgrABDAYFSFZRhUA2YQmwgOlQV0jNtKSiyaS+T56c+34EABFZklyVZfkqiuKY57mtuV8iMgSwJ9lzzp2yLEvaThRFA+fcNgiCCYA4TdMrRWRH8uDJb5JjY8y3YUqpURiGTwD9hpGcG2PuXq7ulZCceuxMrfUHgPK3qapqba29NUxrfQGwaTmxtXbRMBGZkXy0rvp1P6DrF/0BzlBaJK9V7OIAAAAASUVORK5CYII=" /***/ }), /***/ 1180: /*!****************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/daupdata.png ***! \****************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAZ1JREFUOE+Vk01rE1EUhp93/Fg0kAg6xY0LcacggksREpAZ/QX+gJJaocuZus3eqIuCrf0L3Yq1pUh2IkK7EnEjFdzMTCnNiJTBzly5NRM7gcR4Nvfew32fc+655wjg9rw5d7GedBEPBTOAsX5rxuDI4Ytz5N7ZWFZW+u3qBfGc7MZfipcxLALHgL104h+a+J7+ym69f3HlqPT5YbICZuEPIIz3gUYB1y/suV+TG71TgCa9jix4aKUY6JeAFHA2a26djopK9JGDF0Srkh6B+nluWiWgD5zNap8avU6rEq3y5jBZFWYo3n4+uzs1wA+jFdAChjQvaFqxhU8F8MLoldC8FSO1Np+6O2Vm/wR4QbQmqQ38ADVPi/0gaU8E+EvRGkZtG1nGuff22aWP1ZrEW2MBXhg9FnoJpMYU3lb38ofR3/HDeGMs4H5wcLPQcbfIeVIW7L8Ak3rhbzdWMzhT33Mb6+vKpxEPOnj4hBRjzjvZbGN0YCbB/DB+d1IDL4jfSDww6LOM+TYySuMYNeDuAHB4VWSvka5Nm/5g1n/+BmRb1pwIf3RdAAAAAElFTkSuQmCC" /***/ }), /***/ 1202: /*!**********************************************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/components/qiun-data-charts/js_sdk/u-charts/u-charts.js ***! \**********************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* * uCharts (R) * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360/快手)、Vue、Taro等支持canvas的框架平台 * Copyright (C) 2018-2022 QIUN (R) 秋云 https://www.ucharts.cn All rights reserved. * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) * 复制使用请保留本段注释,感谢支持开源! * * uCharts (R) 官方网站 * https://www.uCharts.cn * * 开源地址: * https://gitee.com/uCharts/uCharts * * uni-app插件市场地址: * http://ext.dcloud.net.cn/plugin?id=271 * */ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 5)); var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 13)); var config = { version: 'v2.5.0-20230101', yAxisWidth: 15, xAxisHeight: 22, padding: [10, 10, 10, 10], rotate: false, fontSize: 13, fontColor: '#666666', dataPointShape: ['circle', 'circle', 'circle', 'circle'], color: ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'], linearColor: ['#0EE2F8', '#2BDCA8', '#FA7D8D', '#EB88E2', '#2AE3A0', '#0EE2F8', '#EB88E2', '#6773E3', '#F78A85'], pieChartLinePadding: 15, pieChartTextPadding: 5, titleFontSize: 20, subtitleFontSize: 15, radarLabelTextMargin: 13 }; var assign = function assign(target) { for (var _len2 = arguments.length, varArgs = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { varArgs[_key2 - 1] = arguments[_key2]; } if (target == null) { throw new TypeError('[uCharts] Cannot convert undefined or null to object'); } if (!varArgs || varArgs.length <= 0) { return target; } // 深度合并对象 function deepAssign(obj1, obj2) { for (var key in obj2) { obj1[key] = obj1[key] && obj1[key].toString() === "[object Object]" ? deepAssign(obj1[key], obj2[key]) : obj1[key] = obj2[key]; } return obj1; } varArgs.forEach(function (val) { target = deepAssign(target, val); }); return target; }; var util = { toFixed: function toFixed(num, limit) { limit = limit || 2; if (this.isFloat(num)) { num = num.toFixed(limit); } return num; }, isFloat: function isFloat(num) { return num % 1 !== 0; }, approximatelyEqual: function approximatelyEqual(num1, num2) { return Math.abs(num1 - num2) < 1e-10; }, isSameSign: function isSameSign(num1, num2) { return Math.abs(num1) === num1 && Math.abs(num2) === num2 || Math.abs(num1) !== num1 && Math.abs(num2) !== num2; }, isSameXCoordinateArea: function isSameXCoordinateArea(p1, p2) { return this.isSameSign(p1.x, p2.x); }, isCollision: function isCollision(obj1, obj2) { obj1.end = {}; obj1.end.x = obj1.start.x + obj1.width; obj1.end.y = obj1.start.y - obj1.height; obj2.end = {}; obj2.end.x = obj2.start.x + obj2.width; obj2.end.y = obj2.start.y - obj2.height; var flag = obj2.start.x > obj1.end.x || obj2.end.x < obj1.start.x || obj2.end.y > obj1.start.y || obj2.start.y < obj1.end.y; return !flag; } }; //兼容H5点击事件 function getH5Offset(e) { e.mp = { changedTouches: [] }; e.mp.changedTouches.push({ x: e.offsetX, y: e.offsetY }); return e; } // hex 转 rgba function hexToRgb(hexValue, opc) { var rgx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; }); var rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); var r = parseInt(rgb[1], 16); var g = parseInt(rgb[2], 16); var b = parseInt(rgb[3], 16); return 'rgba(' + r + ',' + g + ',' + b + ',' + opc + ')'; } function findRange(num, type, limit) { if (isNaN(num)) { throw new Error('[uCharts] series数据需为Number格式'); } limit = limit || 10; type = type ? type : 'upper'; var multiple = 1; while (limit < 1) { limit *= 10; multiple *= 10; } if (type === 'upper') { num = Math.ceil(num * multiple); } else { num = Math.floor(num * multiple); } while (num % limit !== 0) { if (type === 'upper') { if (num == num + 1) { //修复数据值过大num++无效的bug by 向日葵 @xrk_jy break; } num++; } else { num--; } } return num / multiple; } function calCandleMA(dayArr, nameArr, colorArr, kdata) { var seriesTemp = []; for (var k = 0; k < dayArr.length; k++) { var seriesItem = { data: [], name: nameArr[k], color: colorArr[k] }; for (var i = 0, len = kdata.length; i < len; i++) { if (i < dayArr[k]) { seriesItem.data.push(null); continue; } var sum = 0; for (var j = 0; j < dayArr[k]; j++) { sum += kdata[i - j][1]; } seriesItem.data.push(+(sum / dayArr[k]).toFixed(3)); } seriesTemp.push(seriesItem); } return seriesTemp; } function calValidDistance(self, distance, chartData, config, opts) { var dataChartAreaWidth = opts.width - opts.area[1] - opts.area[3]; var dataChartWidth = chartData.eachSpacing * (opts.chartData.xAxisData.xAxisPoints.length - 1); if (opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1) { if (opts.extra.mount.widthRatio > 2) opts.extra.mount.widthRatio = 2; dataChartWidth += (opts.extra.mount.widthRatio - 1) * chartData.eachSpacing; } var validDistance = distance; if (distance >= 0) { validDistance = 0; self.uevent.trigger('scrollLeft'); self.scrollOption.position = 'left'; opts.xAxis.scrollPosition = 'left'; } else if (Math.abs(distance) >= dataChartWidth - dataChartAreaWidth) { validDistance = dataChartAreaWidth - dataChartWidth; self.uevent.trigger('scrollRight'); self.scrollOption.position = 'right'; opts.xAxis.scrollPosition = 'right'; } else { self.scrollOption.position = distance; opts.xAxis.scrollPosition = distance; } return validDistance; } function isInAngleRange(angle, startAngle, endAngle) { function adjust(angle) { while (angle < 0) { angle += 2 * Math.PI; } while (angle > 2 * Math.PI) { angle -= 2 * Math.PI; } return angle; } angle = adjust(angle); startAngle = adjust(startAngle); endAngle = adjust(endAngle); if (startAngle > endAngle) { endAngle += 2 * Math.PI; if (angle < startAngle) { angle += 2 * Math.PI; } } return angle >= startAngle && angle <= endAngle; } function createCurveControlPoints(points, i) { function isNotMiddlePoint(points, i) { if (points[i - 1] && points[i + 1]) { return points[i].y >= Math.max(points[i - 1].y, points[i + 1].y) || points[i].y <= Math.min(points[i - 1].y, points[i + 1].y); } else { return false; } } function isNotMiddlePointX(points, i) { if (points[i - 1] && points[i + 1]) { return points[i].x >= Math.max(points[i - 1].x, points[i + 1].x) || points[i].x <= Math.min(points[i - 1].x, points[i + 1].x); } else { return false; } } var a = 0.2; var b = 0.2; var pAx = null; var pAy = null; var pBx = null; var pBy = null; if (i < 1) { pAx = points[0].x + (points[1].x - points[0].x) * a; pAy = points[0].y + (points[1].y - points[0].y) * a; } else { pAx = points[i].x + (points[i + 1].x - points[i - 1].x) * a; pAy = points[i].y + (points[i + 1].y - points[i - 1].y) * a; } if (i > points.length - 3) { var last = points.length - 1; pBx = points[last].x - (points[last].x - points[last - 1].x) * b; pBy = points[last].y - (points[last].y - points[last - 1].y) * b; } else { pBx = points[i + 1].x - (points[i + 2].x - points[i].x) * b; pBy = points[i + 1].y - (points[i + 2].y - points[i].y) * b; } if (isNotMiddlePoint(points, i + 1)) { pBy = points[i + 1].y; } if (isNotMiddlePoint(points, i)) { pAy = points[i].y; } if (isNotMiddlePointX(points, i + 1)) { pBx = points[i + 1].x; } if (isNotMiddlePointX(points, i)) { pAx = points[i].x; } if (pAy >= Math.max(points[i].y, points[i + 1].y) || pAy <= Math.min(points[i].y, points[i + 1].y)) { pAy = points[i].y; } if (pBy >= Math.max(points[i].y, points[i + 1].y) || pBy <= Math.min(points[i].y, points[i + 1].y)) { pBy = points[i + 1].y; } if (pAx >= Math.max(points[i].x, points[i + 1].x) || pAx <= Math.min(points[i].x, points[i + 1].x)) { pAx = points[i].x; } if (pBx >= Math.max(points[i].x, points[i + 1].x) || pBx <= Math.min(points[i].x, points[i + 1].x)) { pBx = points[i + 1].x; } return { ctrA: { x: pAx, y: pAy }, ctrB: { x: pBx, y: pBy } }; } function convertCoordinateOrigin(x, y, center) { return { x: center.x + x, y: center.y - y }; } function avoidCollision(obj, target) { if (target) { // is collision test while (util.isCollision(obj, target)) { if (obj.start.x > 0) { obj.start.y--; } else if (obj.start.x < 0) { obj.start.y++; } else { if (obj.start.y > 0) { obj.start.y++; } else { obj.start.y--; } } } } return obj; } function fixPieSeries(series, opts, config) { var pieSeriesArr = []; if (series.length > 0 && series[0].data.constructor.toString().indexOf('Array') > -1) { opts._pieSeries_ = series; var oldseries = series[0].data; for (var i = 0; i < oldseries.length; i++) { oldseries[i].formatter = series[0].formatter; oldseries[i].data = oldseries[i].value; pieSeriesArr.push(oldseries[i]); } opts.series = pieSeriesArr; } else { pieSeriesArr = series; } return pieSeriesArr; } function fillSeries(series, opts, config) { var index = 0; for (var i = 0; i < series.length; i++) { var item = series[i]; if (!item.color) { item.color = config.color[index]; index = (index + 1) % config.color.length; } if (!item.linearIndex) { item.linearIndex = i; } if (!item.index) { item.index = 0; } if (!item.type) { item.type = opts.type; } if (typeof item.show == "undefined") { item.show = true; } if (!item.type) { item.type = opts.type; } if (!item.pointShape) { item.pointShape = "circle"; } if (!item.legendShape) { switch (item.type) { case 'line': item.legendShape = "line"; break; case 'column': case 'bar': item.legendShape = "rect"; break; case 'area': case 'mount': item.legendShape = "triangle"; break; default: item.legendShape = "circle"; } } } return series; } function fillCustomColor(linearType, customColor, series, config) { var newcolor = customColor || []; if (linearType == 'custom' && newcolor.length == 0) { newcolor = config.linearColor; } if (linearType == 'custom' && newcolor.length < series.length) { var chazhi = series.length - newcolor.length; for (var i = 0; i < chazhi; i++) { newcolor.push(config.linearColor[(i + 1) % config.linearColor.length]); } } return newcolor; } function getDataRange(minData, maxData) { var limit = 0; var range = maxData - minData; if (range >= 10000) { limit = 1000; } else if (range >= 1000) { limit = 100; } else if (range >= 100) { limit = 10; } else if (range >= 10) { limit = 5; } else if (range >= 1) { limit = 1; } else if (range >= 0.1) { limit = 0.1; } else if (range >= 0.01) { limit = 0.01; } else if (range >= 0.001) { limit = 0.001; } else if (range >= 0.0001) { limit = 0.0001; } else if (range >= 0.00001) { limit = 0.00001; } else { limit = 0.000001; } return { minRange: findRange(minData, 'lower', limit), maxRange: findRange(maxData, 'upper', limit) }; } function measureText(text, fontSize, context) { var width = 0; text = String(text); if (context !== false && context !== undefined && context.setFontSize && context.measureText) { context.setFontSize(fontSize); return context.measureText(text).width; } else { var text = text.split(''); for (var i = 0; i < text.length; i++) { var item = text[i]; if (/[a-zA-Z]/.test(item)) { width += 7; } else if (/[0-9]/.test(item)) { width += 5.5; } else if (/\./.test(item)) { width += 2.7; } else if (/-/.test(item)) { width += 3.25; } else if (/:/.test(item)) { width += 2.5; } else if (/[\u4e00-\u9fa5]/.test(item)) { width += 10; } else if (/\(|\)/.test(item)) { width += 3.73; } else if (/\s/.test(item)) { width += 2.5; } else if (/%/.test(item)) { width += 8; } else { width += 10; } } return width * fontSize / 10; } } function dataCombine(series) { return series.reduce(function (a, b) { return (a.data ? a.data : a).concat(b.data); }, []); } function dataCombineStack(series, len) { var sum = new Array(len); for (var j = 0; j < sum.length; j++) { sum[j] = 0; } for (var i = 0; i < series.length; i++) { for (var j = 0; j < sum.length; j++) { sum[j] += series[i].data[j]; } } return series.reduce(function (a, b) { return (a.data ? a.data : a).concat(b.data).concat(sum); }, []); } function getTouches(touches, opts, e) { var x, y; if (touches.clientX) { if (opts.rotate) { y = opts.height - touches.clientX * opts.pix; x = (touches.pageY - e.currentTarget.offsetTop - opts.height / opts.pix / 2 * (opts.pix - 1)) * opts.pix; } else { x = touches.clientX * opts.pix; y = (touches.pageY - e.currentTarget.offsetTop - opts.height / opts.pix / 2 * (opts.pix - 1)) * opts.pix; } } else { if (opts.rotate) { y = opts.height - touches.x * opts.pix; x = touches.y * opts.pix; } else { x = touches.x * opts.pix; y = touches.y * opts.pix; } } return { x: x, y: y }; } function getSeriesDataItem(series, index, group) { var data = []; var newSeries = []; var indexIsArr = index.constructor.toString().indexOf('Array') > -1; if (indexIsArr) { var tempSeries = filterSeries(series); for (var i = 0; i < group.length; i++) { newSeries.push(tempSeries[group[i]]); } } else { newSeries = series; } ; for (var _i = 0; _i < newSeries.length; _i++) { var item = newSeries[_i]; var tmpindex = -1; if (indexIsArr) { tmpindex = index[_i]; } else { tmpindex = index; } if (item.data[tmpindex] !== null && typeof item.data[tmpindex] !== 'undefined' && item.show) { var seriesItem = {}; seriesItem.color = item.color; seriesItem.type = item.type; seriesItem.style = item.style; seriesItem.pointShape = item.pointShape; seriesItem.disableLegend = item.disableLegend; seriesItem.legendShape = item.legendShape; seriesItem.name = item.name; seriesItem.show = item.show; seriesItem.data = item.formatter ? item.formatter(item.data[tmpindex]) : item.data[tmpindex]; data.push(seriesItem); } } return data; } function getMaxTextListLength(list, fontSize, context) { var lengthList = list.map(function (item) { return measureText(item, fontSize, context); }); return Math.max.apply(null, lengthList); } function getRadarCoordinateSeries(length) { var eachAngle = 2 * Math.PI / length; var CoordinateSeries = []; for (var i = 0; i < length; i++) { CoordinateSeries.push(eachAngle * i); } return CoordinateSeries.map(function (item) { return -1 * item + Math.PI / 2; }); } function getToolTipData(seriesData, opts, index, group, categories) { var option = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {}; var calPoints = opts.chartData.calPoints ? opts.chartData.calPoints : []; var points = {}; if (group.length > 0) { var filterPoints = []; for (var i = 0; i < group.length; i++) { filterPoints.push(calPoints[group[i]]); } points = filterPoints[0][index[0]]; } else { for (var _i2 = 0; _i2 < calPoints.length; _i2++) { if (calPoints[_i2][index]) { points = calPoints[_i2][index]; break; } } } ; var textList = seriesData.map(function (item) { var titleText = null; if (opts.categories && opts.categories.length > 0) { titleText = categories[index]; } ; return { text: option.formatter ? option.formatter(item, titleText, index, opts) : item.name + ': ' + item.data, color: item.color, legendShape: opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : opts.extra.tooltip.legendShape }; }); var offset = { x: Math.round(points.x), y: Math.round(points.y) }; return { textList: textList, offset: offset }; } function getMixToolTipData(seriesData, opts, index, categories) { var option = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {}; var points = opts.chartData.xAxisPoints[index] + opts.chartData.eachSpacing / 2; var textList = seriesData.map(function (item) { return { text: option.formatter ? option.formatter(item, categories[index], index, opts) : item.name + ': ' + item.data, color: item.color, disableLegend: item.disableLegend ? true : false, legendShape: opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : opts.extra.tooltip.legendShape }; }); textList = textList.filter(function (item) { if (item.disableLegend !== true) { return item; } }); var offset = { x: Math.round(points), y: 0 }; return { textList: textList, offset: offset }; } function getCandleToolTipData(series, seriesData, opts, index, categories, extra) { var option = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : {}; var calPoints = opts.chartData.calPoints; var upColor = extra.color.upFill; var downColor = extra.color.downFill; //颜色顺序为开盘,收盘,最低,最高 var color = [upColor, upColor, downColor, upColor]; var textList = []; seriesData.map(function (item) { if (index == 0) { if (item.data[1] - item.data[0] < 0) { color[1] = downColor; } else { color[1] = upColor; } } else { if (item.data[0] < series[index - 1][1]) { color[0] = downColor; } if (item.data[1] < item.data[0]) { color[1] = downColor; } if (item.data[2] > series[index - 1][1]) { color[2] = upColor; } if (item.data[3] < series[index - 1][1]) { color[3] = downColor; } } var text1 = { text: '开盘:' + item.data[0], color: color[0], legendShape: opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : opts.extra.tooltip.legendShape }; var text2 = { text: '收盘:' + item.data[1], color: color[1], legendShape: opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : opts.extra.tooltip.legendShape }; var text3 = { text: '最低:' + item.data[2], color: color[2], legendShape: opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : opts.extra.tooltip.legendShape }; var text4 = { text: '最高:' + item.data[3], color: color[3], legendShape: opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : opts.extra.tooltip.legendShape }; textList.push(text1, text2, text3, text4); }); var validCalPoints = []; var offset = { x: 0, y: 0 }; for (var i = 0; i < calPoints.length; i++) { var points = calPoints[i]; if (typeof points[index] !== 'undefined' && points[index] !== null) { validCalPoints.push(points[index]); } } offset.x = Math.round(validCalPoints[0][0].x); return { textList: textList, offset: offset }; } function filterSeries(series) { var tempSeries = []; for (var i = 0; i < series.length; i++) { if (series[i].show == true) { tempSeries.push(series[i]); } } return tempSeries; } function findCurrentIndex(currentPoints, calPoints, opts, config) { var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0; var current = { index: -1, group: [] }; var spacing = opts.chartData.eachSpacing / 2; var xAxisPoints = []; if (calPoints && calPoints.length > 0) { if (!opts.categories) { spacing = 0; } else { for (var i = 1; i < opts.chartData.xAxisPoints.length; i++) { xAxisPoints.push(opts.chartData.xAxisPoints[i] - spacing); } if ((opts.type == 'line' || opts.type == 'area') && opts.xAxis.boundaryGap == 'justify') { xAxisPoints = opts.chartData.xAxisPoints; } } if (isInExactChartArea(currentPoints, opts, config)) { if (!opts.categories) { var timePoints = Array(calPoints.length); for (var _i3 = 0; _i3 < calPoints.length; _i3++) { timePoints[_i3] = Array(calPoints[_i3].length); for (var j = 0; j < calPoints[_i3].length; j++) { timePoints[_i3][j] = Math.abs(calPoints[_i3][j].x - currentPoints.x); } } ; var pointValue = Array(timePoints.length); var pointIndex = Array(timePoints.length); for (var _i4 = 0; _i4 < timePoints.length; _i4++) { pointValue[_i4] = Math.min.apply(null, timePoints[_i4]); pointIndex[_i4] = timePoints[_i4].indexOf(pointValue[_i4]); } var minValue = Math.min.apply(null, pointValue); current.index = []; for (var _i5 = 0; _i5 < pointValue.length; _i5++) { if (pointValue[_i5] == minValue) { current.group.push(_i5); current.index.push(pointIndex[_i5]); } } ; } else { xAxisPoints.forEach(function (item, index) { if (currentPoints.x + offset + spacing > item) { current.index = index; } }); } } } return current; } function findBarChartCurrentIndex(currentPoints, calPoints, opts, config) { var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0; var current = { index: -1, group: [] }; var spacing = opts.chartData.eachSpacing / 2; var yAxisPoints = opts.chartData.yAxisPoints; if (calPoints && calPoints.length > 0) { if (isInExactChartArea(currentPoints, opts, config)) { yAxisPoints.forEach(function (item, index) { if (currentPoints.y + offset + spacing > item) { current.index = index; } }); } } return current; } function findLegendIndex(currentPoints, legendData, opts) { var currentIndex = -1; var gap = 0; if (isInExactLegendArea(currentPoints, legendData.area)) { var points = legendData.points; var index = -1; for (var i = 0, len = points.length; i < len; i++) { var item = points[i]; for (var j = 0; j < item.length; j++) { index += 1; var area = item[j]['area']; if (area && currentPoints.x > area[0] - gap && currentPoints.x < area[2] + gap && currentPoints.y > area[1] - gap && currentPoints.y < area[3] + gap) { currentIndex = index; break; } } } return currentIndex; } return currentIndex; } function isInExactLegendArea(currentPoints, area) { return currentPoints.x > area.start.x && currentPoints.x < area.end.x && currentPoints.y > area.start.y && currentPoints.y < area.end.y; } function isInExactChartArea(currentPoints, opts, config) { return currentPoints.x <= opts.width - opts.area[1] + 10 && currentPoints.x >= opts.area[3] - 10 && currentPoints.y >= opts.area[0] && currentPoints.y <= opts.height - opts.area[2]; } function findRadarChartCurrentIndex(currentPoints, radarData, count) { var eachAngleArea = 2 * Math.PI / count; var currentIndex = -1; if (isInExactPieChartArea(currentPoints, radarData.center, radarData.radius)) { var fixAngle = function fixAngle(angle) { if (angle < 0) { angle += 2 * Math.PI; } if (angle > 2 * Math.PI) { angle -= 2 * Math.PI; } return angle; }; var angle = Math.atan2(radarData.center.y - currentPoints.y, currentPoints.x - radarData.center.x); angle = -1 * angle; if (angle < 0) { angle += 2 * Math.PI; } var angleList = radarData.angleList.map(function (item) { item = fixAngle(-1 * item); return item; }); angleList.forEach(function (item, index) { var rangeStart = fixAngle(item - eachAngleArea / 2); var rangeEnd = fixAngle(item + eachAngleArea / 2); if (rangeEnd < rangeStart) { rangeEnd += 2 * Math.PI; } if (angle >= rangeStart && angle <= rangeEnd || angle + 2 * Math.PI >= rangeStart && angle + 2 * Math.PI <= rangeEnd) { currentIndex = index; } }); } return currentIndex; } function findFunnelChartCurrentIndex(currentPoints, funnelData) { var currentIndex = -1; for (var i = 0, len = funnelData.series.length; i < len; i++) { var item = funnelData.series[i]; if (currentPoints.x > item.funnelArea[0] && currentPoints.x < item.funnelArea[2] && currentPoints.y > item.funnelArea[1] && currentPoints.y < item.funnelArea[3]) { currentIndex = i; break; } } return currentIndex; } function findWordChartCurrentIndex(currentPoints, wordData) { var currentIndex = -1; for (var i = 0, len = wordData.length; i < len; i++) { var item = wordData[i]; if (currentPoints.x > item.area[0] && currentPoints.x < item.area[2] && currentPoints.y > item.area[1] && currentPoints.y < item.area[3]) { currentIndex = i; break; } } return currentIndex; } function findMapChartCurrentIndex(currentPoints, opts) { var currentIndex = -1; var cData = opts.chartData.mapData; var data = opts.series; var tmp = pointToCoordinate(currentPoints.y, currentPoints.x, cData.bounds, cData.scale, cData.xoffset, cData.yoffset); var poi = [tmp.x, tmp.y]; for (var i = 0, len = data.length; i < len; i++) { var item = data[i].geometry.coordinates; if (isPoiWithinPoly(poi, item, opts.chartData.mapData.mercator)) { currentIndex = i; break; } } return currentIndex; } function findRoseChartCurrentIndex(currentPoints, pieData, opts) { var currentIndex = -1; var series = getRoseDataPoints(opts._series_, opts.extra.rose.type, pieData.radius, pieData.radius); if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) { var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x); angle = -angle; if (opts.extra.rose && opts.extra.rose.offsetAngle) { angle = angle - opts.extra.rose.offsetAngle * Math.PI / 180; } for (var i = 0, len = series.length; i < len; i++) { if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._rose_proportion_ * 2 * Math.PI)) { currentIndex = i; break; } } } return currentIndex; } function findPieChartCurrentIndex(currentPoints, pieData, opts) { var currentIndex = -1; var series = getPieDataPoints(pieData.series); if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) { var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x); angle = -angle; if (opts.extra.pie && opts.extra.pie.offsetAngle) { angle = angle - opts.extra.pie.offsetAngle * Math.PI / 180; } if (opts.extra.ring && opts.extra.ring.offsetAngle) { angle = angle - opts.extra.ring.offsetAngle * Math.PI / 180; } for (var i = 0, len = series.length; i < len; i++) { if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._proportion_ * 2 * Math.PI)) { currentIndex = i; break; } } } return currentIndex; } function isInExactPieChartArea(currentPoints, center, radius) { return Math.pow(currentPoints.x - center.x, 2) + Math.pow(currentPoints.y - center.y, 2) <= Math.pow(radius, 2); } function splitPoints(points, eachSeries) { var newPoints = []; var items = []; points.forEach(function (item, index) { if (eachSeries.connectNulls) { if (item !== null) { items.push(item); } } else { if (item !== null) { items.push(item); } else { if (items.length) { newPoints.push(items); } items = []; } } }); if (items.length) { newPoints.push(items); } return newPoints; } function calLegendData(series, opts, config, chartData, context) { var legendData = { area: { start: { x: 0, y: 0 }, end: { x: 0, y: 0 }, width: 0, height: 0, wholeWidth: 0, wholeHeight: 0 }, points: [], widthArr: [], heightArr: [] }; if (opts.legend.show === false) { chartData.legendData = legendData; return legendData; } var padding = opts.legend.padding * opts.pix; var margin = opts.legend.margin * opts.pix; var fontSize = opts.legend.fontSize ? opts.legend.fontSize * opts.pix : config.fontSize; var shapeWidth = 15 * opts.pix; var shapeRight = 5 * opts.pix; var lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize); if (opts.legend.position == 'top' || opts.legend.position == 'bottom') { var legendList = []; var widthCount = 0; var widthCountArr = []; var currentRow = []; for (var i = 0; i < series.length; i++) { var item = series[i]; var legendText = item.legendText ? item.legendText : item.name; var itemWidth = shapeWidth + shapeRight + measureText(legendText || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix; if (widthCount + itemWidth > opts.width - opts.area[1] - opts.area[3]) { legendList.push(currentRow); widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix); widthCount = itemWidth; currentRow = [item]; } else { widthCount += itemWidth; currentRow.push(item); } } if (currentRow.length) { legendList.push(currentRow); widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix); legendData.widthArr = widthCountArr; var legendWidth = Math.max.apply(null, widthCountArr); switch (opts.legend.float) { case 'left': legendData.area.start.x = opts.area[3]; legendData.area.end.x = opts.area[3] + legendWidth + 2 * padding; break; case 'right': legendData.area.start.x = opts.width - opts.area[1] - legendWidth - 2 * padding; legendData.area.end.x = opts.width - opts.area[1]; break; default: legendData.area.start.x = (opts.width - legendWidth) / 2 - padding; legendData.area.end.x = (opts.width + legendWidth) / 2 + padding; } legendData.area.width = legendWidth + 2 * padding; legendData.area.wholeWidth = legendWidth + 2 * padding; legendData.area.height = legendList.length * lineHeight + 2 * padding; legendData.area.wholeHeight = legendList.length * lineHeight + 2 * padding + 2 * margin; legendData.points = legendList; } } else { var len = series.length; var maxHeight = opts.height - opts.area[0] - opts.area[2] - 2 * margin - 2 * padding; var maxLength = Math.min(Math.floor(maxHeight / lineHeight), len); legendData.area.height = maxLength * lineHeight + padding * 2; legendData.area.wholeHeight = maxLength * lineHeight + padding * 2; switch (opts.legend.float) { case 'top': legendData.area.start.y = opts.area[0] + margin; legendData.area.end.y = opts.area[0] + margin + legendData.area.height; break; case 'bottom': legendData.area.start.y = opts.height - opts.area[2] - margin - legendData.area.height; legendData.area.end.y = opts.height - opts.area[2] - margin; break; default: legendData.area.start.y = (opts.height - legendData.area.height) / 2; legendData.area.end.y = (opts.height + legendData.area.height) / 2; } var lineNum = len % maxLength === 0 ? len / maxLength : Math.floor(len / maxLength + 1); var _currentRow = []; for (var _i6 = 0; _i6 < lineNum; _i6++) { var temp = series.slice(_i6 * maxLength, _i6 * maxLength + maxLength); _currentRow.push(temp); } legendData.points = _currentRow; if (_currentRow.length) { for (var _i7 = 0; _i7 < _currentRow.length; _i7++) { var _item = _currentRow[_i7]; var maxWidth = 0; for (var j = 0; j < _item.length; j++) { var _itemWidth = shapeWidth + shapeRight + measureText(_item[j].name || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix; if (_itemWidth > maxWidth) { maxWidth = _itemWidth; } } legendData.widthArr.push(maxWidth); legendData.heightArr.push(_item.length * lineHeight + padding * 2); } var _legendWidth = 0; for (var _i8 = 0; _i8 < legendData.widthArr.length; _i8++) { _legendWidth += legendData.widthArr[_i8]; } legendData.area.width = _legendWidth - opts.legend.itemGap * opts.pix + 2 * padding; legendData.area.wholeWidth = legendData.area.width + padding; } } switch (opts.legend.position) { case 'top': legendData.area.start.y = opts.area[0] + margin; legendData.area.end.y = opts.area[0] + margin + legendData.area.height; break; case 'bottom': legendData.area.start.y = opts.height - opts.area[2] - legendData.area.height - margin; legendData.area.end.y = opts.height - opts.area[2] - margin; break; case 'left': legendData.area.start.x = opts.area[3]; legendData.area.end.x = opts.area[3] + legendData.area.width; break; case 'right': legendData.area.start.x = opts.width - opts.area[1] - legendData.area.width; legendData.area.end.x = opts.width - opts.area[1]; break; } chartData.legendData = legendData; return legendData; } function calCategoriesData(categories, opts, config, eachSpacing, context) { var result = { angle: 0, xAxisHeight: opts.xAxis.lineHeight * opts.pix + opts.xAxis.marginTop * opts.pix }; var fontSize = opts.xAxis.fontSize * opts.pix; var categoriesTextLenth = categories.map(function (item, index) { var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item, index, opts) : item; return measureText(String(xitem), fontSize, context); }); var maxTextLength = Math.max.apply(this, categoriesTextLenth); if (opts.xAxis.rotateLabel == true) { result.angle = opts.xAxis.rotateAngle * Math.PI / 180; var tempHeight = opts.xAxis.marginTop * opts.pix * 2 + Math.abs(maxTextLength * Math.sin(result.angle)); tempHeight = tempHeight < fontSize + opts.xAxis.marginTop * opts.pix * 2 ? tempHeight + opts.xAxis.marginTop * opts.pix * 2 : tempHeight; result.xAxisHeight = tempHeight; } if (opts.enableScroll && opts.xAxis.scrollShow) { result.xAxisHeight += 6 * opts.pix; } if (opts.xAxis.disabled) { result.xAxisHeight = 0; } return result; } function getXAxisTextList(series, opts, config, stack) { var index = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1; var data; if (stack == 'stack') { data = dataCombineStack(series, opts.categories.length); } else { data = dataCombine(series); } var sorted = []; // remove null from data data = data.filter(function (item) { //return item !== null; if ((0, _typeof2.default)(item) === 'object' && item !== null) { if (item.constructor.toString().indexOf('Array') > -1) { return item !== null; } else { return item.value !== null; } } else { return item !== null; } }); data.map(function (item) { if ((0, _typeof2.default)(item) === 'object') { if (item.constructor.toString().indexOf('Array') > -1) { if (opts.type == 'candle') { item.map(function (subitem) { sorted.push(subitem); }); } else { sorted.push(item[0]); } } else { sorted.push(item.value); } } else { sorted.push(item); } }); var minData = 0; var maxData = 0; if (sorted.length > 0) { minData = Math.min.apply(this, sorted); maxData = Math.max.apply(this, sorted); } //为了兼容v1.9.0之前的项目 if (index > -1) { if (typeof opts.xAxis.data[index].min === 'number') { minData = Math.min(opts.xAxis.data[index].min, minData); } if (typeof opts.xAxis.data[index].max === 'number') { maxData = Math.max(opts.xAxis.data[index].max, maxData); } } else { if (typeof opts.xAxis.min === 'number') { minData = Math.min(opts.xAxis.min, minData); } if (typeof opts.xAxis.max === 'number') { maxData = Math.max(opts.xAxis.max, maxData); } } if (minData === maxData) { var rangeSpan = maxData || 10; maxData += rangeSpan; } //var dataRange = getDataRange(minData, maxData); var minRange = minData; var maxRange = maxData; var range = []; var eachRange = (maxRange - minRange) / opts.xAxis.splitNumber; for (var i = 0; i <= opts.xAxis.splitNumber; i++) { range.push(minRange + eachRange * i); } return range; } function calXAxisData(series, opts, config, context) { //堆叠图重算Y轴 var columnstyle = assign({}, { type: "" }, opts.extra.bar); var result = { angle: 0, xAxisHeight: opts.xAxis.lineHeight * opts.pix + opts.xAxis.marginTop * opts.pix }; result.ranges = getXAxisTextList(series, opts, config, columnstyle.type); result.rangesFormat = result.ranges.map(function (item) { //item = opts.xAxis.formatter ? opts.xAxis.formatter(item) : util.toFixed(item, 2); item = util.toFixed(item, 2); return item; }); var xAxisScaleValues = result.ranges.map(function (item) { // 如果刻度值是浮点数,则保留两位小数 item = util.toFixed(item, 2); // 若有自定义格式则调用自定义的格式化函数 //item = opts.xAxis.formatter ? opts.xAxis.formatter(Number(item)) : item; return item; }); result = Object.assign(result, getXAxisPoints(xAxisScaleValues, opts, config)); // 计算X轴刻度的属性譬如每个刻度的间隔,刻度的起始点\结束点以及总长 var eachSpacing = result.eachSpacing; var textLength = xAxisScaleValues.map(function (item) { return measureText(item, opts.xAxis.fontSize * opts.pix, context); }); if (opts.xAxis.disabled === true) { result.xAxisHeight = 0; } return result; } function getRadarDataPoints(angleList, center, radius, series, opts) { var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1; var radarOption = opts.extra.radar || {}; radarOption.max = radarOption.max || 0; var maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series))); var data = []; var _loop2 = function _loop2(i) { var each = series[i]; var listItem = {}; listItem.color = each.color; listItem.legendShape = each.legendShape; listItem.pointShape = each.pointShape; listItem.data = []; each.data.forEach(function (item, index) { var tmp = {}; tmp.angle = angleList[index]; tmp.proportion = item / maxData; tmp.value = item; tmp.position = convertCoordinateOrigin(radius * tmp.proportion * process * Math.cos(tmp.angle), radius * tmp.proportion * process * Math.sin(tmp.angle), center); listItem.data.push(tmp); }); data.push(listItem); }; for (var i = 0; i < series.length; i++) { _loop2(i); } return data; } function getPieDataPoints(series, radius) { var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; var count = 0; var _start_ = 0; for (var i = 0; i < series.length; i++) { var item = series[i]; item.data = item.data === null ? 0 : item.data; count += item.data; } for (var _i9 = 0; _i9 < series.length; _i9++) { var _item2 = series[_i9]; _item2.data = _item2.data === null ? 0 : _item2.data; if (count === 0) { _item2._proportion_ = 1 / series.length * process; } else { _item2._proportion_ = _item2.data / count * process; } _item2._radius_ = radius; } for (var _i10 = 0; _i10 < series.length; _i10++) { var _item3 = series[_i10]; _item3._start_ = _start_; _start_ += 2 * _item3._proportion_ * Math.PI; } return series; } function getFunnelDataPoints(series, radius, option, eachSpacing) { var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; for (var i = 0; i < series.length; i++) { if (option.type == 'funnel') { series[i].radius = series[i].data / series[0].data * radius * process; } else { series[i].radius = eachSpacing * (series.length - i) / (eachSpacing * series.length) * radius * process; } series[i]._proportion_ = series[i].data / series[0].data; } // if(option.type !== 'pyramid'){ // series.reverse(); // } return series; } function getRoseDataPoints(series, type, minRadius, radius) { var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; var count = 0; var _start_ = 0; var dataArr = []; for (var i = 0; i < series.length; i++) { var item = series[i]; item.data = item.data === null ? 0 : item.data; count += item.data; dataArr.push(item.data); } var minData = Math.min.apply(null, dataArr); var maxData = Math.max.apply(null, dataArr); var radiusLength = radius - minRadius; for (var _i11 = 0; _i11 < series.length; _i11++) { var _item4 = series[_i11]; _item4.data = _item4.data === null ? 0 : _item4.data; if (count === 0) { _item4._proportion_ = 1 / series.length * process; _item4._rose_proportion_ = 1 / series.length * process; } else { _item4._proportion_ = _item4.data / count * process; if (type == 'area') { _item4._rose_proportion_ = 1 / series.length * process; } else { _item4._rose_proportion_ = _item4.data / count * process; } } _item4._radius_ = minRadius + radiusLength * ((_item4.data - minData) / (maxData - minData)) || radius; } for (var _i12 = 0; _i12 < series.length; _i12++) { var _item5 = series[_i12]; _item5._start_ = _start_; _start_ += 2 * _item5._rose_proportion_ * Math.PI; } return series; } function getArcbarDataPoints(series, arcbarOption) { var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; if (process == 1) { process = 0.999999; } for (var i = 0; i < series.length; i++) { var item = series[i]; item.data = item.data === null ? 0 : item.data; var totalAngle = void 0; if (arcbarOption.type == 'circle') { totalAngle = 2; } else { if (arcbarOption.direction == 'ccw') { if (arcbarOption.startAngle < arcbarOption.endAngle) { totalAngle = 2 + arcbarOption.startAngle - arcbarOption.endAngle; } else { totalAngle = arcbarOption.startAngle - arcbarOption.endAngle; } } else { if (arcbarOption.endAngle < arcbarOption.startAngle) { totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle; } else { totalAngle = arcbarOption.startAngle - arcbarOption.endAngle; } } } item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle; if (arcbarOption.direction == 'ccw') { item._proportion_ = arcbarOption.startAngle - totalAngle * item.data * process; } if (item._proportion_ >= 2) { item._proportion_ = item._proportion_ % 2; } } return series; } function getGaugeArcbarDataPoints(series, arcbarOption) { var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; if (process == 1) { process = 0.999999; } for (var i = 0; i < series.length; i++) { var item = series[i]; item.data = item.data === null ? 0 : item.data; var totalAngle = void 0; if (arcbarOption.type == 'circle') { totalAngle = 2; } else { if (arcbarOption.endAngle < arcbarOption.startAngle) { totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle; } else { totalAngle = arcbarOption.startAngle - arcbarOption.endAngle; } } item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle; if (item._proportion_ >= 2) { item._proportion_ = item._proportion_ % 2; } } return series; } function getGaugeAxisPoints(categories, startAngle, endAngle) { var totalAngle; if (endAngle < startAngle) { totalAngle = 2 + endAngle - startAngle; } else { totalAngle = startAngle - endAngle; } var tempStartAngle = startAngle; for (var i = 0; i < categories.length; i++) { categories[i].value = categories[i].value === null ? 0 : categories[i].value; categories[i]._startAngle_ = tempStartAngle; categories[i]._endAngle_ = totalAngle * categories[i].value + startAngle; if (categories[i]._endAngle_ >= 2) { categories[i]._endAngle_ = categories[i]._endAngle_ % 2; } tempStartAngle = categories[i]._endAngle_; } return categories; } function getGaugeDataPoints(series, categories, gaugeOption) { var process = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1; for (var i = 0; i < series.length; i++) { var item = series[i]; item.data = item.data === null ? 0 : item.data; if (gaugeOption.pointer.color == 'auto') { for (var _i13 = 0; _i13 < categories.length; _i13++) { if (item.data <= categories[_i13].value) { item.color = categories[_i13].color; break; } } } else { item.color = gaugeOption.pointer.color; } var totalAngle = void 0; if (gaugeOption.endAngle < gaugeOption.startAngle) { totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle; } else { totalAngle = gaugeOption.startAngle - gaugeOption.endAngle; } item._endAngle_ = totalAngle * item.data + gaugeOption.startAngle; item._oldAngle_ = gaugeOption.oldAngle; if (gaugeOption.oldAngle < gaugeOption.endAngle) { item._oldAngle_ += 2; } if (item.data >= gaugeOption.oldData) { item._proportion_ = (item._endAngle_ - item._oldAngle_) * process + gaugeOption.oldAngle; } else { item._proportion_ = item._oldAngle_ - (item._oldAngle_ - item._endAngle_) * process; } if (item._proportion_ >= 2) { item._proportion_ = item._proportion_ % 2; } } return series; } function getPieTextMaxLength(series, config, context, opts) { series = getPieDataPoints(series); var maxLength = 0; for (var i = 0; i < series.length; i++) { var item = series[i]; var text = item.formatter ? item.formatter(+item._proportion_.toFixed(2)) : util.toFixed(item._proportion_ * 100) + '%'; maxLength = Math.max(maxLength, measureText(text, item.textSize * opts.pix || config.fontSize, context)); } return maxLength; } function fixColumeData(points, eachSpacing, columnLen, index, config, opts) { return points.map(function (item) { if (item === null) { return null; } var seriesGap = 0; var categoryGap = 0; if (opts.type == 'mix') { seriesGap = opts.extra.mix.column.seriesGap * opts.pix || 0; categoryGap = opts.extra.mix.column.categoryGap * opts.pix || 0; } else { seriesGap = opts.extra.column.seriesGap * opts.pix || 0; categoryGap = opts.extra.column.categoryGap * opts.pix || 0; } seriesGap = Math.min(seriesGap, eachSpacing / columnLen); categoryGap = Math.min(categoryGap, eachSpacing / columnLen); item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen); if (opts.extra.mix && opts.extra.mix.column.width && +opts.extra.mix.column.width > 0) { item.width = Math.min(item.width, +opts.extra.mix.column.width * opts.pix); } if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) { item.width = Math.min(item.width, +opts.extra.column.width * opts.pix); } if (item.width <= 0) { item.width = 1; } item.x += (index + 0.5 - columnLen / 2) * (item.width + seriesGap); return item; }); } function fixBarData(points, eachSpacing, columnLen, index, config, opts) { return points.map(function (item) { if (item === null) { return null; } var seriesGap = 0; var categoryGap = 0; seriesGap = opts.extra.bar.seriesGap * opts.pix || 0; categoryGap = opts.extra.bar.categoryGap * opts.pix || 0; seriesGap = Math.min(seriesGap, eachSpacing / columnLen); categoryGap = Math.min(categoryGap, eachSpacing / columnLen); item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen); if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) { item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix); } if (item.width <= 0) { item.width = 1; } item.y += (index + 0.5 - columnLen / 2) * (item.width + seriesGap); return item; }); } function fixColumeMeterData(points, eachSpacing, columnLen, index, config, opts, border) { var categoryGap = opts.extra.column.categoryGap * opts.pix || 0; return points.map(function (item) { if (item === null) { return null; } item.width = eachSpacing - 2 * categoryGap; if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) { item.width = Math.min(item.width, +opts.extra.column.width * opts.pix); } if (index > 0) { item.width -= border; } return item; }); } function fixColumeStackData(points, eachSpacing, columnLen, index, config, opts, series) { var categoryGap = opts.extra.column.categoryGap * opts.pix || 0; return points.map(function (item, indexn) { if (item === null) { return null; } item.width = Math.ceil(eachSpacing - 2 * categoryGap); if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) { item.width = Math.min(item.width, +opts.extra.column.width * opts.pix); } if (item.width <= 0) { item.width = 1; } return item; }); } function fixBarStackData(points, eachSpacing, columnLen, index, config, opts, series) { var categoryGap = opts.extra.bar.categoryGap * opts.pix || 0; return points.map(function (item, indexn) { if (item === null) { return null; } item.width = Math.ceil(eachSpacing - 2 * categoryGap); if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) { item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix); } if (item.width <= 0) { item.width = 1; } return item; }); } function getXAxisPoints(categories, opts, config) { var spacingValid = opts.width - opts.area[1] - opts.area[3]; var dataCount = opts.enableScroll ? Math.min(opts.xAxis.itemCount, categories.length) : categories.length; if ((opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble' || opts.type == 'bar') && dataCount > 1 && opts.xAxis.boundaryGap == 'justify') { dataCount -= 1; } var widthRatio = 0; if (opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1) { if (opts.extra.mount.widthRatio > 2) opts.extra.mount.widthRatio = 2; widthRatio = opts.extra.mount.widthRatio - 1; dataCount += widthRatio; } var eachSpacing = spacingValid / dataCount; var xAxisPoints = []; var startX = opts.area[3]; var endX = opts.width - opts.area[1]; categories.forEach(function (item, index) { xAxisPoints.push(startX + widthRatio / 2 * eachSpacing + index * eachSpacing); }); if (opts.xAxis.boundaryGap !== 'justify') { if (opts.enableScroll === true) { xAxisPoints.push(startX + widthRatio * eachSpacing + categories.length * eachSpacing); } else { xAxisPoints.push(endX); } } return { xAxisPoints: xAxisPoints, startX: startX, endX: endX, eachSpacing: eachSpacing }; } function getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) { var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1; var points = []; var validHeight = opts.height - opts.area[0] - opts.area[2]; data.forEach(function (item, index) { if (item === null) { points.push(null); } else { var cPoints = []; item.forEach(function (items, indexs) { var point = {}; point.x = xAxisPoints[index] + Math.round(eachSpacing / 2); var value = items.value || items; var height = validHeight * (value - minRange) / (maxRange - minRange); height *= process; point.y = opts.height - Math.round(height) - opts.area[2]; cPoints.push(point); }); points.push(cPoints); } }); return points; } function getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) { var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1; var boundaryGap = 'center'; if (opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble') { boundaryGap = opts.xAxis.boundaryGap; } var points = []; var validHeight = opts.height - opts.area[0] - opts.area[2]; var validWidth = opts.width - opts.area[1] - opts.area[3]; data.forEach(function (item, index) { if (item === null) { points.push(null); } else { var point = {}; point.color = item.color; point.x = xAxisPoints[index]; var value = item; if ((0, _typeof2.default)(item) === 'object' && item !== null) { if (item.constructor.toString().indexOf('Array') > -1) { var xranges, xminRange, xmaxRange; xranges = [].concat(opts.chartData.xAxisData.ranges); xminRange = xranges.shift(); xmaxRange = xranges.pop(); value = item[1]; point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange); if (opts.type == 'bubble') { point.r = item[2]; point.t = item[3]; } } else { value = item.value; } } if (boundaryGap == 'center') { point.x += eachSpacing / 2; } var height = validHeight * (value - minRange) / (maxRange - minRange); height *= process; point.y = opts.height - height - opts.area[2]; points.push(point); } }); return points; } function getLineDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, lineOption, process) { var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1; var boundaryGap = opts.xAxis.boundaryGap; var points = []; var validHeight = opts.height - opts.area[0] - opts.area[2]; var validWidth = opts.width - opts.area[1] - opts.area[3]; data.forEach(function (item, index) { if (item === null) { points.push(null); } else { var point = {}; point.color = item.color; if (lineOption.animation == 'vertical') { point.x = xAxisPoints[index]; var value = item; if ((0, _typeof2.default)(item) === 'object' && item !== null) { if (item.constructor.toString().indexOf('Array') > -1) { var xranges, xminRange, xmaxRange; xranges = [].concat(opts.chartData.xAxisData.ranges); xminRange = xranges.shift(); xmaxRange = xranges.pop(); value = item[1]; point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange); } else { value = item.value; } } if (boundaryGap == 'center') { point.x += eachSpacing / 2; } var height = validHeight * (value - minRange) / (maxRange - minRange); height *= process; point.y = opts.height - height - opts.area[2]; points.push(point); } else { point.x = xAxisPoints[0] + eachSpacing * index * process; var value = item; if (boundaryGap == 'center') { point.x += eachSpacing / 2; } var height = validHeight * (value - minRange) / (maxRange - minRange); point.y = opts.height - height - opts.area[2]; points.push(point); } } }); return points; } function getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, zeroPoints, process) { var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1; var points = []; var validHeight = opts.height - opts.area[0] - opts.area[2]; var validWidth = opts.width - opts.area[1] - opts.area[3]; data.forEach(function (item, index) { if (item === null) { points.push(null); } else { var point = {}; point.color = item.color; point.x = xAxisPoints[index]; var value = item; if ((0, _typeof2.default)(item) === 'object' && item !== null) { if (item.constructor.toString().indexOf('Array') > -1) { var xranges, xminRange, xmaxRange; xranges = [].concat(opts.chartData.xAxisData.ranges); xminRange = xranges.shift(); xmaxRange = xranges.pop(); value = item[1]; point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange); } else { value = item.value; } } point.x += eachSpacing / 2; var height = validHeight * (value * process - minRange) / (maxRange - minRange); point.y = opts.height - height - opts.area[2]; points.push(point); } }); return points; } function getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints) { var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1; var points = []; var validHeight = opts.height - opts.area[0] - opts.area[2]; var validWidth = opts.width - opts.area[1] - opts.area[3]; var mountWidth = eachSpacing * mountOption.widthRatio; series.forEach(function (item, index) { if (item === null) { points.push(null); } else { var point = {}; point.color = item.color; point.x = xAxisPoints[index]; point.x += eachSpacing / 2; var value = item.data; var height = validHeight * (value * process - minRange) / (maxRange - minRange); point.y = opts.height - height - opts.area[2]; point.value = value; point.width = mountWidth; points.push(point); } }); return points; } function getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config) { var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1; var points = []; var validHeight = opts.height - opts.area[0] - opts.area[2]; var validWidth = opts.width - opts.area[1] - opts.area[3]; data.forEach(function (item, index) { if (item === null) { points.push(null); } else { var point = {}; point.color = item.color; point.y = yAxisPoints[index]; var value = item; if ((0, _typeof2.default)(item) === 'object' && item !== null) { value = item.value; } var height = validWidth * (value - minRange) / (maxRange - minRange); height *= process; point.height = height; point.value = value; point.x = height + opts.area[3]; points.push(point); } }); return points; } function getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) { var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1; var points = []; var validHeight = opts.height - opts.area[0] - opts.area[2]; data.forEach(function (item, index) { if (item === null) { points.push(null); } else { var point = {}; point.color = item.color; point.x = xAxisPoints[index] + Math.round(eachSpacing / 2); if (seriesIndex > 0) { var value = 0; for (var i = 0; i <= seriesIndex; i++) { value += stackSeries[i].data[index]; } var value0 = value - item; var height = validHeight * (value - minRange) / (maxRange - minRange); var height0 = validHeight * (value0 - minRange) / (maxRange - minRange); } else { var value = item; if ((0, _typeof2.default)(item) === 'object' && item !== null) { value = item.value; } var height = validHeight * (value - minRange) / (maxRange - minRange); var height0 = 0; } var heightc = height0; height *= process; heightc *= process; point.y = opts.height - Math.round(height) - opts.area[2]; point.y0 = opts.height - Math.round(heightc) - opts.area[2]; points.push(point); } }); return points; } function getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) { var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1; var points = []; var validHeight = opts.width - opts.area[1] - opts.area[3]; data.forEach(function (item, index) { if (item === null) { points.push(null); } else { var point = {}; point.color = item.color; point.y = yAxisPoints[index]; if (seriesIndex > 0) { var value = 0; for (var i = 0; i <= seriesIndex; i++) { value += stackSeries[i].data[index]; } var value0 = value - item; var height = validHeight * (value - minRange) / (maxRange - minRange); var height0 = validHeight * (value0 - minRange) / (maxRange - minRange); } else { var value = item; if ((0, _typeof2.default)(item) === 'object' && item !== null) { value = item.value; } var height = validHeight * (value - minRange) / (maxRange - minRange); var height0 = 0; } var heightc = height0; height *= process; heightc *= process; point.height = height - heightc; point.x = opts.area[3] + height; point.x0 = opts.area[3] + heightc; points.push(point); } }); return points; } function getYAxisTextList(series, opts, config, stack, yData) { var index = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : -1; var data; if (stack == 'stack') { data = dataCombineStack(series, opts.categories.length); } else { data = dataCombine(series); } var sorted = []; // remove null from data data = data.filter(function (item) { //return item !== null; if ((0, _typeof2.default)(item) === 'object' && item !== null) { if (item.constructor.toString().indexOf('Array') > -1) { return item !== null; } else { return item.value !== null; } } else { return item !== null; } }); data.map(function (item) { if ((0, _typeof2.default)(item) === 'object') { if (item.constructor.toString().indexOf('Array') > -1) { if (opts.type == 'candle') { item.map(function (subitem) { sorted.push(subitem); }); } else { sorted.push(item[1]); } } else { sorted.push(item.value); } } else { sorted.push(item); } }); var minData = yData.min || 0; var maxData = yData.max || 0; if (sorted.length > 0) { minData = Math.min.apply(this, sorted); maxData = Math.max.apply(this, sorted); } if (minData === maxData) { if (maxData == 0) { maxData = 10; } else { minData = 0; } } var dataRange = getDataRange(minData, maxData); var minRange = yData.min === undefined || yData.min === null ? dataRange.minRange : yData.min; var maxRange = yData.max === undefined || yData.max === null ? dataRange.maxRange : yData.max; var eachRange = (maxRange - minRange) / opts.yAxis.splitNumber; var range = []; for (var i = 0; i <= opts.yAxis.splitNumber; i++) { range.push(minRange + eachRange * i); } return range.reverse(); } function calYAxisData(series, opts, config, context) { //堆叠图重算Y轴 var columnstyle = assign({}, { type: "" }, opts.extra.column); //如果是多Y轴,重新计算 var YLength = opts.yAxis.data.length; var newSeries = new Array(YLength); if (YLength > 0) { for (var i = 0; i < YLength; i++) { newSeries[i] = []; for (var j = 0; j < series.length; j++) { if (series[j].index == i) { newSeries[i].push(series[j]); } } } var rangesArr = new Array(YLength); var rangesFormatArr = new Array(YLength); var yAxisWidthArr = new Array(YLength); var _loop3 = function _loop3(_i14) { var yData = opts.yAxis.data[_i14]; //如果总开关不显示,强制每个Y轴为不显示 if (opts.yAxis.disabled == true) { yData.disabled = true; } if (yData.type === 'categories') { if (!yData.formatter) { yData.formatter = function (val, index, opts) { return val + (yData.unit || ''); }; } yData.categories = yData.categories || opts.categories; rangesArr[_i14] = yData.categories; } else { if (!yData.formatter) { yData.formatter = function (val, index, opts) { return util.toFixed(val, yData.tofix || 0) + (yData.unit || ''); }; } rangesArr[_i14] = getYAxisTextList(newSeries[_i14], opts, config, columnstyle.type, yData, _i14); } var yAxisFontSizes = yData.fontSize * opts.pix || config.fontSize; yAxisWidthArr[_i14] = { position: yData.position ? yData.position : 'left', width: 0 }; rangesFormatArr[_i14] = rangesArr[_i14].map(function (items, index) { items = yData.formatter(items, index, opts); yAxisWidthArr[_i14].width = Math.max(yAxisWidthArr[_i14].width, measureText(items, yAxisFontSizes, context) + 5); return items; }); var calibration = yData.calibration ? 4 * opts.pix : 0; yAxisWidthArr[_i14].width += calibration + 3 * opts.pix; if (yData.disabled === true) { yAxisWidthArr[_i14].width = 0; } }; for (var _i14 = 0; _i14 < YLength; _i14++) { _loop3(_i14); } } else { var rangesArr = new Array(1); var rangesFormatArr = new Array(1); var yAxisWidthArr = new Array(1); if (opts.type === 'bar') { rangesArr[0] = opts.categories; if (!opts.yAxis.formatter) { opts.yAxis.formatter = function (val, index, opts) { return val + (opts.yAxis.unit || ''); }; } } else { if (!opts.yAxis.formatter) { opts.yAxis.formatter = function (val, index, opts) { return val.toFixed(opts.yAxis.tofix) + (opts.yAxis.unit || ''); }; } rangesArr[0] = getYAxisTextList(series, opts, config, columnstyle.type, {}); } yAxisWidthArr[0] = { position: 'left', width: 0 }; var yAxisFontSize = opts.yAxis.fontSize * opts.pix || config.fontSize; rangesFormatArr[0] = rangesArr[0].map(function (item, index) { item = opts.yAxis.formatter(item, index, opts); yAxisWidthArr[0].width = Math.max(yAxisWidthArr[0].width, measureText(item, yAxisFontSize, context) + 5); return item; }); yAxisWidthArr[0].width += 3 * opts.pix; if (opts.yAxis.disabled === true) { yAxisWidthArr[0] = { position: 'left', width: 0 }; opts.yAxis.data[0] = { disabled: true }; } else { opts.yAxis.data[0] = { disabled: false, position: 'left', max: opts.yAxis.max, min: opts.yAxis.min, formatter: opts.yAxis.formatter }; if (opts.type === 'bar') { opts.yAxis.data[0].categories = opts.categories; opts.yAxis.data[0].type = 'categories'; } } } return { rangesFormat: rangesFormatArr, ranges: rangesArr, yAxisWidth: yAxisWidthArr }; } function calTooltipYAxisData(point, series, opts, config, eachSpacing) { var ranges = [].concat(opts.chartData.yAxisData.ranges); var spacingValid = opts.height - opts.area[0] - opts.area[2]; var minAxis = opts.area[0]; var items = []; for (var i = 0; i < ranges.length; i++) { var maxVal = Math.max.apply(this, ranges[i]); var minVal = Math.min.apply(this, ranges[i]); var item = maxVal - (maxVal - minVal) * (point - minAxis) / spacingValid; item = opts.yAxis.data && opts.yAxis.data[i].formatter ? opts.yAxis.data[i].formatter(item, i, opts) : item.toFixed(0); items.push(String(item)); } return items; } function calMarkLineData(points, opts) { var minRange, maxRange; var spacingValid = opts.height - opts.area[0] - opts.area[2]; for (var i = 0; i < points.length; i++) { points[i].yAxisIndex = points[i].yAxisIndex ? points[i].yAxisIndex : 0; var range = [].concat(opts.chartData.yAxisData.ranges[points[i].yAxisIndex]); minRange = range.pop(); maxRange = range.shift(); var height = spacingValid * (points[i].value - minRange) / (maxRange - minRange); points[i].y = opts.height - Math.round(height) - opts.area[2]; } return points; } function contextRotate(context, opts) { if (opts.rotateLock !== true) { context.translate(opts.height, 0); context.rotate(90 * Math.PI / 180); } else if (opts._rotate_ !== true) { context.translate(opts.height, 0); context.rotate(90 * Math.PI / 180); opts._rotate_ = true; } } function drawPointShape(points, color, shape, context, opts) { context.beginPath(); if (opts.dataPointShapeType == 'hollow') { context.setStrokeStyle(color); context.setFillStyle(opts.background); context.setLineWidth(2 * opts.pix); } else { context.setStrokeStyle("#ffffff"); context.setFillStyle(color); context.setLineWidth(1 * opts.pix); } if (shape === 'diamond') { points.forEach(function (item, index) { if (item !== null) { context.moveTo(item.x, item.y - 4.5); context.lineTo(item.x - 4.5, item.y); context.lineTo(item.x, item.y + 4.5); context.lineTo(item.x + 4.5, item.y); context.lineTo(item.x, item.y - 4.5); } }); } else if (shape === 'circle') { points.forEach(function (item, index) { if (item !== null) { context.moveTo(item.x + 2.5 * opts.pix, item.y); context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false); } }); } else if (shape === 'square') { points.forEach(function (item, index) { if (item !== null) { context.moveTo(item.x - 3.5, item.y - 3.5); context.rect(item.x - 3.5, item.y - 3.5, 7, 7); } }); } else if (shape === 'triangle') { points.forEach(function (item, index) { if (item !== null) { context.moveTo(item.x, item.y - 4.5); context.lineTo(item.x - 4.5, item.y + 4.5); context.lineTo(item.x + 4.5, item.y + 4.5); context.lineTo(item.x, item.y - 4.5); } }); } else if (shape === 'none') { return; } context.closePath(); context.fill(); context.stroke(); } function drawActivePoint(points, color, shape, context, opts, option, seriesIndex) { if (!opts.tooltip) { return; } if (opts.tooltip.group.length > 0 && opts.tooltip.group.includes(seriesIndex) == false) { return; } var pointIndex = typeof opts.tooltip.index === 'number' ? opts.tooltip.index : opts.tooltip.index[opts.tooltip.group.indexOf(seriesIndex)]; context.beginPath(); if (option.activeType == 'hollow') { context.setStrokeStyle(color); context.setFillStyle(opts.background); context.setLineWidth(2 * opts.pix); } else { context.setStrokeStyle("#ffffff"); context.setFillStyle(color); context.setLineWidth(1 * opts.pix); } if (shape === 'diamond') { points.forEach(function (item, index) { if (item !== null && pointIndex == index) { context.moveTo(item.x, item.y - 4.5); context.lineTo(item.x - 4.5, item.y); context.lineTo(item.x, item.y + 4.5); context.lineTo(item.x + 4.5, item.y); context.lineTo(item.x, item.y - 4.5); } }); } else if (shape === 'circle') { points.forEach(function (item, index) { if (item !== null && pointIndex == index) { context.moveTo(item.x + 2.5 * opts.pix, item.y); context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false); } }); } else if (shape === 'square') { points.forEach(function (item, index) { if (item !== null && pointIndex == index) { context.moveTo(item.x - 3.5, item.y - 3.5); context.rect(item.x - 3.5, item.y - 3.5, 7, 7); } }); } else if (shape === 'triangle') { points.forEach(function (item, index) { if (item !== null && pointIndex == index) { context.moveTo(item.x, item.y - 4.5); context.lineTo(item.x - 4.5, item.y + 4.5); context.lineTo(item.x + 4.5, item.y + 4.5); context.lineTo(item.x, item.y - 4.5); } }); } else if (shape === 'none') { return; } context.closePath(); context.fill(); context.stroke(); } function drawRingTitle(opts, config, context, center) { var titlefontSize = opts.title.fontSize || config.titleFontSize; var subtitlefontSize = opts.subtitle.fontSize || config.subtitleFontSize; var title = opts.title.name || ''; var subtitle = opts.subtitle.name || ''; var titleFontColor = opts.title.color || opts.fontColor; var subtitleFontColor = opts.subtitle.color || opts.fontColor; var titleHeight = title ? titlefontSize : 0; var subtitleHeight = subtitle ? subtitlefontSize : 0; var margin = 5; if (subtitle) { var textWidth = measureText(subtitle, subtitlefontSize * opts.pix, context); var startX = center.x - textWidth / 2 + (opts.subtitle.offsetX || 0) * opts.pix; var startY = center.y + subtitlefontSize * opts.pix / 2 + (opts.subtitle.offsetY || 0) * opts.pix; if (title) { startY += (titleHeight * opts.pix + margin) / 2; } context.beginPath(); context.setFontSize(subtitlefontSize * opts.pix); context.setFillStyle(subtitleFontColor); context.fillText(subtitle, startX, startY); context.closePath(); context.stroke(); } if (title) { var _textWidth = measureText(title, titlefontSize * opts.pix, context); var _startX = center.x - _textWidth / 2 + (opts.title.offsetX || 0); var _startY = center.y + titlefontSize * opts.pix / 2 + (opts.title.offsetY || 0) * opts.pix; if (subtitle) { _startY -= (subtitleHeight * opts.pix + margin) / 2; } context.beginPath(); context.setFontSize(titlefontSize * opts.pix); context.setFillStyle(titleFontColor); context.fillText(title, _startX, _startY); context.closePath(); context.stroke(); } } function drawPointText(points, series, config, context, opts) { // 绘制数据文案 var data = series.data; var textOffset = series.textOffset ? series.textOffset : 0; points.forEach(function (item, index) { if (item !== null) { context.beginPath(); var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize; context.setFontSize(fontSize); context.setFillStyle(series.textColor || opts.fontColor); var value = data[index]; if ((0, _typeof2.default)(data[index]) === 'object' && data[index] !== null) { if (data[index].constructor.toString().indexOf('Array') > -1) { value = data[index][1]; } else { value = data[index].value; } } var formatVal = series.formatter ? series.formatter(value, index, series, opts) : value; context.setTextAlign('center'); context.fillText(String(formatVal), item.x, item.y - 4 + textOffset * opts.pix); context.closePath(); context.stroke(); context.setTextAlign('left'); } }); } function drawColumePointText(points, series, config, context, opts) { // 绘制数据文案 var data = series.data; var textOffset = series.textOffset ? series.textOffset : 0; var Position = opts.extra.column.labelPosition; points.forEach(function (item, index) { if (item !== null) { context.beginPath(); var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize; context.setFontSize(fontSize); context.setFillStyle(series.textColor || opts.fontColor); var value = data[index]; if ((0, _typeof2.default)(data[index]) === 'object' && data[index] !== null) { if (data[index].constructor.toString().indexOf('Array') > -1) { value = data[index][1]; } else { value = data[index].value; } } var formatVal = series.formatter ? series.formatter(value, index, series, opts) : value; context.setTextAlign('center'); var startY = item.y - 4 * opts.pix + textOffset * opts.pix; if (item.y > series.zeroPoints) { startY = item.y + textOffset * opts.pix + fontSize; } if (Position == 'insideTop') { startY = item.y + fontSize + textOffset * opts.pix; if (item.y > series.zeroPoints) { startY = item.y - textOffset * opts.pix - 4 * opts.pix; } } if (Position == 'center') { startY = item.y + textOffset * opts.pix + (opts.height - opts.area[2] - item.y + fontSize) / 2; if (series.zeroPoints < opts.height - opts.area[2]) { startY = item.y + textOffset * opts.pix + (series.zeroPoints - item.y + fontSize) / 2; } if (item.y > series.zeroPoints) { startY = item.y - textOffset * opts.pix - (item.y - series.zeroPoints - fontSize) / 2; } if (opts.extra.column.type == 'stack') { startY = item.y + textOffset * opts.pix + (item.y0 - item.y + fontSize) / 2; } } if (Position == 'bottom') { startY = opts.height - opts.area[2] + textOffset * opts.pix - 4 * opts.pix; if (series.zeroPoints < opts.height - opts.area[2]) { startY = series.zeroPoints + textOffset * opts.pix - 4 * opts.pix; } if (item.y > series.zeroPoints) { startY = series.zeroPoints - textOffset * opts.pix + fontSize + 2 * opts.pix; } if (opts.extra.column.type == 'stack') { startY = item.y0 + textOffset * opts.pix - 4 * opts.pix; } } context.fillText(String(formatVal), item.x, startY); context.closePath(); context.stroke(); context.setTextAlign('left'); } }); } function drawMountPointText(points, series, config, context, opts, zeroPoints) { // 绘制数据文案 var data = series.data; var textOffset = series.textOffset ? series.textOffset : 0; var Position = opts.extra.mount.labelPosition; points.forEach(function (item, index) { if (item !== null) { context.beginPath(); var fontSize = series[index].textSize ? series[index].textSize * opts.pix : config.fontSize; context.setFontSize(fontSize); context.setFillStyle(series[index].textColor || opts.fontColor); var value = item.value; var formatVal = series[index].formatter ? series[index].formatter(value, index, series, opts) : value; context.setTextAlign('center'); var startY = item.y - 4 * opts.pix + textOffset * opts.pix; if (item.y > zeroPoints) { startY = item.y + textOffset * opts.pix + fontSize; } context.fillText(String(formatVal), item.x, startY); context.closePath(); context.stroke(); context.setTextAlign('left'); } }); } function drawBarPointText(points, series, config, context, opts) { // 绘制数据文案 var data = series.data; var textOffset = series.textOffset ? series.textOffset : 0; points.forEach(function (item, index) { if (item !== null) { context.beginPath(); var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize; context.setFontSize(fontSize); context.setFillStyle(series.textColor || opts.fontColor); var value = data[index]; if ((0, _typeof2.default)(data[index]) === 'object' && data[index] !== null) { value = data[index].value; } var formatVal = series.formatter ? series.formatter(value, index, series, opts) : value; context.setTextAlign('left'); context.fillText(String(formatVal), item.x + 4 * opts.pix, item.y + fontSize / 2 - 3); context.closePath(); context.stroke(); } }); } function drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context) { radius -= gaugeOption.width / 2 + gaugeOption.labelOffset * opts.pix; radius = radius < 10 ? 10 : radius; var totalAngle; if (gaugeOption.endAngle < gaugeOption.startAngle) { totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle; } else { totalAngle = gaugeOption.startAngle - gaugeOption.endAngle; } var splitAngle = totalAngle / gaugeOption.splitLine.splitNumber; var totalNumber = gaugeOption.endNumber - gaugeOption.startNumber; var splitNumber = totalNumber / gaugeOption.splitLine.splitNumber; var nowAngle = gaugeOption.startAngle; var nowNumber = gaugeOption.startNumber; for (var i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) { var pos = { x: radius * Math.cos(nowAngle * Math.PI), y: radius * Math.sin(nowAngle * Math.PI) }; var labelText = gaugeOption.formatter ? gaugeOption.formatter(nowNumber, i, opts) : nowNumber; pos.x += centerPosition.x - measureText(labelText, config.fontSize, context) / 2; pos.y += centerPosition.y; var startX = pos.x; var startY = pos.y; context.beginPath(); context.setFontSize(config.fontSize); context.setFillStyle(gaugeOption.labelColor || opts.fontColor); context.fillText(labelText, startX, startY + config.fontSize / 2); context.closePath(); context.stroke(); nowAngle += splitAngle; if (nowAngle >= 2) { nowAngle = nowAngle % 2; } nowNumber += splitNumber; } } function drawRadarLabel(angleList, radius, centerPosition, opts, config, context) { var radarOption = opts.extra.radar || {}; angleList.forEach(function (angle, index) { if (radarOption.labelPointShow === true && opts.categories[index] !== '') { var posPoint = { x: radius * Math.cos(angle), y: radius * Math.sin(angle) }; var posPointAxis = convertCoordinateOrigin(posPoint.x, posPoint.y, centerPosition); context.setFillStyle(radarOption.labelPointColor); context.beginPath(); context.arc(posPointAxis.x, posPointAxis.y, radarOption.labelPointRadius * opts.pix, 0, 2 * Math.PI, false); context.closePath(); context.fill(); } if (radarOption.labelShow === true) { var pos = { x: (radius + config.radarLabelTextMargin * opts.pix) * Math.cos(angle), y: (radius + config.radarLabelTextMargin * opts.pix) * Math.sin(angle) }; var posRelativeCanvas = convertCoordinateOrigin(pos.x, pos.y, centerPosition); var startX = posRelativeCanvas.x; var startY = posRelativeCanvas.y; if (util.approximatelyEqual(pos.x, 0)) { startX -= measureText(opts.categories[index] || '', config.fontSize, context) / 2; } else if (pos.x < 0) { startX -= measureText(opts.categories[index] || '', config.fontSize, context); } context.beginPath(); context.setFontSize(config.fontSize); context.setFillStyle(radarOption.labelColor || opts.fontColor); context.fillText(opts.categories[index] || '', startX, startY + config.fontSize / 2); context.closePath(); context.stroke(); } }); } function drawPieText(series, opts, config, context, radius, center) { var lineRadius = config.pieChartLinePadding; var textObjectCollection = []; var lastTextObject = null; var seriesConvert = series.map(function (item, index) { var text = item.formatter ? item.formatter(item, index, series, opts) : util.toFixed(item._proportion_.toFixed(4) * 100) + '%'; text = item.labelText ? item.labelText : text; var arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._proportion_ / 2); if (item._rose_proportion_) { arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._rose_proportion_ / 2); } var color = item.color; var radius = item._radius_; return { arc: arc, text: text, color: color, radius: radius, textColor: item.textColor, textSize: item.textSize, labelShow: item.labelShow }; }); for (var i = 0; i < seriesConvert.length; i++) { var item = seriesConvert[i]; // line end var orginX1 = Math.cos(item.arc) * (item.radius + lineRadius); var orginY1 = Math.sin(item.arc) * (item.radius + lineRadius); // line start var orginX2 = Math.cos(item.arc) * item.radius; var orginY2 = Math.sin(item.arc) * item.radius; // text start var orginX3 = orginX1 >= 0 ? orginX1 + config.pieChartTextPadding : orginX1 - config.pieChartTextPadding; var orginY3 = orginY1; var textWidth = measureText(item.text, item.textSize * opts.pix || config.fontSize, context); var startY = orginY3; if (lastTextObject && util.isSameXCoordinateArea(lastTextObject.start, { x: orginX3 })) { if (orginX3 > 0) { startY = Math.min(orginY3, lastTextObject.start.y); } else if (orginX1 < 0) { startY = Math.max(orginY3, lastTextObject.start.y); } else { if (orginY3 > 0) { startY = Math.max(orginY3, lastTextObject.start.y); } else { startY = Math.min(orginY3, lastTextObject.start.y); } } } if (orginX3 < 0) { orginX3 -= textWidth; } var textObject = { lineStart: { x: orginX2, y: orginY2 }, lineEnd: { x: orginX1, y: orginY1 }, start: { x: orginX3, y: startY }, width: textWidth, height: config.fontSize, text: item.text, color: item.color, textColor: item.textColor, textSize: item.textSize }; lastTextObject = avoidCollision(textObject, lastTextObject); textObjectCollection.push(lastTextObject); } for (var _i15 = 0; _i15 < textObjectCollection.length; _i15++) { if (seriesConvert[_i15].labelShow === false) { continue; } var _item6 = textObjectCollection[_i15]; var lineStartPoistion = convertCoordinateOrigin(_item6.lineStart.x, _item6.lineStart.y, center); var lineEndPoistion = convertCoordinateOrigin(_item6.lineEnd.x, _item6.lineEnd.y, center); var textPosition = convertCoordinateOrigin(_item6.start.x, _item6.start.y, center); context.setLineWidth(1 * opts.pix); context.setFontSize(_item6.textSize * opts.pix || config.fontSize); context.beginPath(); context.setStrokeStyle(_item6.color); context.setFillStyle(_item6.color); context.moveTo(lineStartPoistion.x, lineStartPoistion.y); var curveStartX = _item6.start.x < 0 ? textPosition.x + _item6.width : textPosition.x; var textStartX = _item6.start.x < 0 ? textPosition.x - 5 : textPosition.x + 5; context.quadraticCurveTo(lineEndPoistion.x, lineEndPoistion.y, curveStartX, textPosition.y); context.moveTo(lineStartPoistion.x, lineStartPoistion.y); context.stroke(); context.closePath(); context.beginPath(); context.moveTo(textPosition.x + _item6.width, textPosition.y); context.arc(curveStartX, textPosition.y, 2 * opts.pix, 0, 2 * Math.PI); context.closePath(); context.fill(); context.beginPath(); context.setFontSize(_item6.textSize * opts.pix || config.fontSize); context.setFillStyle(_item6.textColor || opts.fontColor); context.fillText(_item6.text, textStartX, textPosition.y + 3); context.closePath(); context.stroke(); context.closePath(); } } function drawToolTipSplitLine(offsetX, opts, config, context) { var toolTipOption = opts.extra.tooltip || {}; toolTipOption.gridType = toolTipOption.gridType == undefined ? 'solid' : toolTipOption.gridType; toolTipOption.dashLength = toolTipOption.dashLength == undefined ? 4 : toolTipOption.dashLength; var startY = opts.area[0]; var endY = opts.height - opts.area[2]; if (toolTipOption.gridType == 'dash') { context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]); } context.setStrokeStyle(toolTipOption.gridColor || '#cccccc'); context.setLineWidth(1 * opts.pix); context.beginPath(); context.moveTo(offsetX, startY); context.lineTo(offsetX, endY); context.stroke(); context.setLineDash([]); if (toolTipOption.xAxisLabel) { var labelText = opts.categories[opts.tooltip.index]; context.setFontSize(config.fontSize); var textWidth = measureText(labelText, config.fontSize, context); var textX = offsetX - 0.5 * textWidth; var textY = endY + 2 * opts.pix; context.beginPath(); context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity)); context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground); context.setLineWidth(1 * opts.pix); context.rect(textX - toolTipOption.boxPadding * opts.pix, textY, textWidth + 2 * toolTipOption.boxPadding * opts.pix, config.fontSize + 2 * toolTipOption.boxPadding * opts.pix); context.closePath(); context.stroke(); context.fill(); context.beginPath(); context.setFontSize(config.fontSize); context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor); context.fillText(String(labelText), textX, textY + toolTipOption.boxPadding * opts.pix + config.fontSize); context.closePath(); context.stroke(); } } function drawMarkLine(opts, config, context) { var markLineOption = assign({}, { type: 'solid', dashLength: 4, data: [] }, opts.extra.markLine); var startX = opts.area[3]; var endX = opts.width - opts.area[1]; var points = calMarkLineData(markLineOption.data, opts); for (var i = 0; i < points.length; i++) { var item = assign({}, { lineColor: '#DE4A42', showLabel: false, labelFontSize: 13, labelPadding: 6, labelFontColor: '#666666', labelBgColor: '#DFE8FF', labelBgOpacity: 0.8, labelAlign: 'left', labelOffsetX: 0, labelOffsetY: 0 }, points[i]); if (markLineOption.type == 'dash') { context.setLineDash([markLineOption.dashLength, markLineOption.dashLength]); } context.setStrokeStyle(item.lineColor); context.setLineWidth(1 * opts.pix); context.beginPath(); context.moveTo(startX, item.y); context.lineTo(endX, item.y); context.stroke(); context.setLineDash([]); if (item.showLabel) { var fontSize = item.labelFontSize * opts.pix; var labelText = item.labelText ? item.labelText : item.value; context.setFontSize(fontSize); var textWidth = measureText(labelText, fontSize, context); var bgWidth = textWidth + item.labelPadding * opts.pix * 2; var bgStartX = item.labelAlign == 'left' ? opts.area[3] - bgWidth : opts.width - opts.area[1]; bgStartX += item.labelOffsetX; var bgStartY = item.y - 0.5 * fontSize - item.labelPadding * opts.pix; bgStartY += item.labelOffsetY; var textX = bgStartX + item.labelPadding * opts.pix; var textY = item.y; context.setFillStyle(hexToRgb(item.labelBgColor, item.labelBgOpacity)); context.setStrokeStyle(item.labelBgColor); context.setLineWidth(1 * opts.pix); context.beginPath(); context.rect(bgStartX, bgStartY, bgWidth, fontSize + 2 * item.labelPadding * opts.pix); context.closePath(); context.stroke(); context.fill(); context.setFontSize(fontSize); context.setTextAlign('left'); context.setFillStyle(item.labelFontColor); context.fillText(String(labelText), textX, bgStartY + fontSize + item.labelPadding * opts.pix / 2); context.stroke(); context.setTextAlign('left'); } } } function drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints) { var toolTipOption = assign({}, { gridType: 'solid', dashLength: 4 }, opts.extra.tooltip); var startX = opts.area[3]; var endX = opts.width - opts.area[1]; if (toolTipOption.gridType == 'dash') { context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]); } context.setStrokeStyle(toolTipOption.gridColor || '#cccccc'); context.setLineWidth(1 * opts.pix); context.beginPath(); context.moveTo(startX, opts.tooltip.offset.y); context.lineTo(endX, opts.tooltip.offset.y); context.stroke(); context.setLineDash([]); if (toolTipOption.yAxisLabel) { var boxPadding = toolTipOption.boxPadding * opts.pix; var labelText = calTooltipYAxisData(opts.tooltip.offset.y, opts.series, opts, config, eachSpacing); var widthArr = opts.chartData.yAxisData.yAxisWidth; var tStartLeft = opts.area[3]; var tStartRight = opts.width - opts.area[1]; for (var i = 0; i < labelText.length; i++) { context.setFontSize(toolTipOption.fontSize * opts.pix); var textWidth = measureText(labelText[i], toolTipOption.fontSize * opts.pix, context); var bgStartX = void 0, bgEndX = void 0, bgWidth = void 0; if (widthArr[i].position == 'left') { bgStartX = tStartLeft - (textWidth + boxPadding * 2) - 2 * opts.pix; bgEndX = Math.max(bgStartX, bgStartX + textWidth + boxPadding * 2); } else { bgStartX = tStartRight + 2 * opts.pix; bgEndX = Math.max(bgStartX + widthArr[i].width, bgStartX + textWidth + boxPadding * 2); } bgWidth = bgEndX - bgStartX; var textX = bgStartX + (bgWidth - textWidth) / 2; var textY = opts.tooltip.offset.y; context.beginPath(); context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity)); context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground); context.setLineWidth(1 * opts.pix); context.rect(bgStartX, textY - 0.5 * config.fontSize - boxPadding, bgWidth, config.fontSize + 2 * boxPadding); context.closePath(); context.stroke(); context.fill(); context.beginPath(); context.setFontSize(config.fontSize); context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor); context.fillText(labelText[i], textX, textY + 0.5 * config.fontSize); context.closePath(); context.stroke(); if (widthArr[i].position == 'left') { tStartLeft -= widthArr[i].width + opts.yAxis.padding * opts.pix; } else { tStartRight += widthArr[i].width + opts.yAxis.padding * opts.pix; } } } } function drawToolTipSplitArea(offsetX, opts, config, context, eachSpacing) { var toolTipOption = assign({}, { activeBgColor: '#000000', activeBgOpacity: 0.08, activeWidth: eachSpacing }, opts.extra.column); toolTipOption.activeWidth = toolTipOption.activeWidth > eachSpacing ? eachSpacing : toolTipOption.activeWidth; var startY = opts.area[0]; var endY = opts.height - opts.area[2]; context.beginPath(); context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity)); context.rect(offsetX - toolTipOption.activeWidth / 2, startY, toolTipOption.activeWidth, endY - startY); context.closePath(); context.fill(); context.setFillStyle("#FFFFFF"); } function drawBarToolTipSplitArea(offsetX, opts, config, context, eachSpacing) { var toolTipOption = assign({}, { activeBgColor: '#000000', activeBgOpacity: 0.08 }, opts.extra.bar); var startX = opts.area[3]; var endX = opts.width - opts.area[1]; context.beginPath(); context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity)); context.rect(startX, offsetX - eachSpacing / 2, endX - startX, eachSpacing); context.closePath(); context.fill(); context.setFillStyle("#FFFFFF"); } function drawToolTip(textList, offset, opts, config, context, eachSpacing, xAxisPoints) { var toolTipOption = assign({}, { showBox: true, showArrow: true, showCategory: false, bgColor: '#000000', bgOpacity: 0.7, borderColor: '#000000', borderWidth: 0, borderRadius: 0, borderOpacity: 0.7, boxPadding: 3, fontColor: '#FFFFFF', fontSize: 13, lineHeight: 20, legendShow: true, legendShape: 'auto', splitLine: true }, opts.extra.tooltip); if (toolTipOption.showCategory == true && opts.categories) { textList.unshift({ text: opts.categories[opts.tooltip.index], color: null }); } var fontSize = toolTipOption.fontSize * opts.pix; var lineHeight = toolTipOption.lineHeight * opts.pix; var boxPadding = toolTipOption.boxPadding * opts.pix; var legendWidth = fontSize; var legendMarginRight = 5 * opts.pix; if (toolTipOption.legendShow == false) { legendWidth = 0; legendMarginRight = 0; } var arrowWidth = toolTipOption.showArrow ? 8 * opts.pix : 0; var isOverRightBorder = false; if (opts.type == 'line' || opts.type == 'mount' || opts.type == 'area' || opts.type == 'candle' || opts.type == 'mix') { if (toolTipOption.splitLine == true) { drawToolTipSplitLine(opts.tooltip.offset.x, opts, config, context); } } offset = assign({ x: 0, y: 0 }, offset); offset.y -= 8 * opts.pix; var textWidth = textList.map(function (item) { return measureText(item.text, fontSize, context); }); var toolTipWidth = legendWidth + legendMarginRight + 4 * boxPadding + Math.max.apply(null, textWidth); var toolTipHeight = 2 * boxPadding + textList.length * lineHeight; if (toolTipOption.showBox == false) { return; } // if beyond the right border if (offset.x - Math.abs(opts._scrollDistance_ || 0) + arrowWidth + toolTipWidth > opts.width) { isOverRightBorder = true; } if (toolTipHeight + offset.y > opts.height) { offset.y = opts.height - toolTipHeight; } // draw background rect context.beginPath(); context.setFillStyle(hexToRgb(toolTipOption.bgColor, toolTipOption.bgOpacity)); context.setLineWidth(toolTipOption.borderWidth * opts.pix); context.setStrokeStyle(hexToRgb(toolTipOption.borderColor, toolTipOption.borderOpacity)); var radius = toolTipOption.borderRadius; if (isOverRightBorder) { // 增加左侧仍然超出的判断 if (toolTipWidth + arrowWidth > opts.width) { offset.x = opts.width + Math.abs(opts._scrollDistance_ || 0) + arrowWidth + (toolTipWidth - opts.width); } if (toolTipWidth > offset.x) { offset.x = opts.width + Math.abs(opts._scrollDistance_ || 0) + arrowWidth + (toolTipWidth - opts.width); } if (toolTipOption.showArrow) { context.moveTo(offset.x, offset.y + 10 * opts.pix); context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix); } context.arc(offset.x - arrowWidth - radius, offset.y + toolTipHeight - radius, radius, 0, Math.PI / 2, false); context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + toolTipHeight - radius, radius, Math.PI / 2, Math.PI, false); context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false); context.arc(offset.x - arrowWidth - radius, offset.y + radius, radius, -Math.PI / 2, 0, false); if (toolTipOption.showArrow) { context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix); context.lineTo(offset.x, offset.y + 10 * opts.pix); } } else { if (toolTipOption.showArrow) { context.moveTo(offset.x, offset.y + 10 * opts.pix); context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix); } context.arc(offset.x + arrowWidth + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false); context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + radius, radius, -Math.PI / 2, 0, false); context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + toolTipHeight - radius, radius, 0, Math.PI / 2, false); context.arc(offset.x + arrowWidth + radius, offset.y + toolTipHeight - radius, radius, Math.PI / 2, Math.PI, false); if (toolTipOption.showArrow) { context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix); context.lineTo(offset.x, offset.y + 10 * opts.pix); } } context.closePath(); context.fill(); if (toolTipOption.borderWidth > 0) { context.stroke(); } // draw legend if (toolTipOption.legendShow) { textList.forEach(function (item, index) { if (item.color !== null) { context.beginPath(); context.setFillStyle(item.color); var startX = offset.x + arrowWidth + 2 * boxPadding; var startY = offset.y + (lineHeight - fontSize) / 2 + lineHeight * index + boxPadding + 1; if (isOverRightBorder) { startX = offset.x - toolTipWidth - arrowWidth + 2 * boxPadding; } switch (item.legendShape) { case 'line': context.moveTo(startX, startY + 0.5 * legendWidth - 2 * opts.pix); context.fillRect(startX, startY + 0.5 * legendWidth - 2 * opts.pix, legendWidth, 4 * opts.pix); break; case 'triangle': context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix); context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix); context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix); context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix); break; case 'diamond': context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix); context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * legendWidth); context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix); context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * legendWidth); context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix); break; case 'circle': context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth); context.arc(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth, 5 * opts.pix, 0, 2 * Math.PI); break; case 'rect': context.moveTo(startX, startY + 0.5 * legendWidth - 5 * opts.pix); context.fillRect(startX, startY + 0.5 * legendWidth - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix); break; case 'square': context.moveTo(startX + 2 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix); context.fillRect(startX + 2 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix, 10 * opts.pix, 10 * opts.pix); break; default: context.moveTo(startX, startY + 0.5 * legendWidth - 5 * opts.pix); context.fillRect(startX, startY + 0.5 * legendWidth - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix); } context.closePath(); context.fill(); } }); } // draw text list textList.forEach(function (item, index) { var startX = offset.x + arrowWidth + 2 * boxPadding + legendWidth + legendMarginRight; if (isOverRightBorder) { startX = offset.x - toolTipWidth - arrowWidth + 2 * boxPadding + legendWidth + legendMarginRight; } var startY = offset.y + lineHeight * index + (lineHeight - fontSize) / 2 - 1 + boxPadding + fontSize; context.beginPath(); context.setFontSize(fontSize); context.setTextBaseline('normal'); context.setFillStyle(toolTipOption.fontColor); context.fillText(item.text, startX, startY); context.closePath(); context.stroke(); }); } function drawColumnDataPoints(series, opts, config, context) { var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; var xAxisData = opts.chartData.xAxisData, xAxisPoints = xAxisData.xAxisPoints, eachSpacing = xAxisData.eachSpacing; var columnOption = assign({}, { type: 'group', width: eachSpacing / 2, meterBorder: 4, meterFillColor: '#FFFFFF', barBorderCircle: false, barBorderRadius: [], seriesGap: 2, linearType: 'none', linearOpacity: 1, customColor: [], colorStop: 0, labelPosition: 'outside' }, opts.extra.column); var calPoints = []; context.save(); var leftNum = -2; var rightNum = xAxisPoints.length + 2; if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { context.translate(opts._scrollDistance_, 0); leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2; rightNum = leftNum + opts.xAxis.itemCount + 4; } if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) { drawToolTipSplitArea(opts.tooltip.offset.x, opts, config, context, eachSpacing); } columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config); series.forEach(function (eachSeries, seriesIndex) { var ranges, minRange, maxRange; ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); minRange = ranges.pop(); maxRange = ranges.shift(); // 计算0轴坐标 var spacingValid = opts.height - opts.area[0] - opts.area[2]; var zeroHeight = spacingValid * (0 - minRange) / (maxRange - minRange); var zeroPoints = opts.height - Math.round(zeroHeight) - opts.area[2]; eachSeries.zeroPoints = zeroPoints; var data = eachSeries.data; switch (columnOption.type) { case 'group': var points = getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, zeroPoints, process); var tooltipPoints = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); calPoints.push(tooltipPoints); points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts); for (var i = 0; i < points.length; i++) { var item = points[i]; //fix issues/I27B1N yyoinge & Joeshu if (item !== null && i > leftNum && i < rightNum) { var startX = item.x - item.width / 2; var height = opts.height - item.y - opts.area[2]; context.beginPath(); var fillColor = item.color || eachSeries.color; var strokeColor = item.color || eachSeries.color; if (columnOption.linearType !== 'none') { var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints); //透明渐变 if (columnOption.linearType == 'opacity') { grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity)); grd.addColorStop(1, hexToRgb(fillColor, 1)); } else { grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity)); grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity)); grd.addColorStop(1, hexToRgb(fillColor, 1)); } fillColor = grd; } // 圆角边框 if (columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4 || columnOption.barBorderCircle === true) { var left = startX; var top = item.y > zeroPoints ? zeroPoints : item.y; var width = item.width; var _height = Math.abs(zeroPoints - item.y); if (columnOption.barBorderCircle) { columnOption.barBorderRadius = [width / 2, width / 2, 0, 0]; } if (item.y > zeroPoints) { columnOption.barBorderRadius = [0, 0, width / 2, width / 2]; } var _columnOption$barBord = (0, _slicedToArray2.default)(columnOption.barBorderRadius, 4), r0 = _columnOption$barBord[0], r1 = _columnOption$barBord[1], r2 = _columnOption$barBord[2], r3 = _columnOption$barBord[3]; var minRadius = Math.min(width / 2, _height / 2); r0 = r0 > minRadius ? minRadius : r0; r1 = r1 > minRadius ? minRadius : r1; r2 = r2 > minRadius ? minRadius : r2; r3 = r3 > minRadius ? minRadius : r3; r0 = r0 < 0 ? 0 : r0; r1 = r1 < 0 ? 0 : r1; r2 = r2 < 0 ? 0 : r2; r3 = r3 < 0 ? 0 : r3; context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2); context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0); context.arc(left + width - r2, top + _height - r2, r2, 0, Math.PI / 2); context.arc(left + r3, top + _height - r3, r3, Math.PI / 2, Math.PI); } else { context.moveTo(startX, item.y); context.lineTo(startX + item.width, item.y); context.lineTo(startX + item.width, zeroPoints); context.lineTo(startX, zeroPoints); context.lineTo(startX, item.y); context.setLineWidth(1); context.setStrokeStyle(strokeColor); } context.setFillStyle(fillColor); context.closePath(); //context.stroke(); context.fill(); } } ; break; case 'stack': // 绘制堆叠数据图 var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); calPoints.push(points); points = fixColumeStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series); for (var _i16 = 0; _i16 < points.length; _i16++) { var _item7 = points[_i16]; if (_item7 !== null && _i16 > leftNum && _i16 < rightNum) { context.beginPath(); var fillColor = _item7.color || eachSeries.color; var startX = _item7.x - _item7.width / 2 + 1; var height = opts.height - _item7.y - opts.area[2]; var height0 = opts.height - _item7.y0 - opts.area[2]; if (seriesIndex > 0) { height -= height0; } context.setFillStyle(fillColor); context.moveTo(startX, _item7.y); context.fillRect(startX, _item7.y, _item7.width, height); context.closePath(); context.fill(); } } ; break; case 'meter': // 绘制温度计数据图 var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); calPoints.push(points); points = fixColumeMeterData(points, eachSpacing, series.length, seriesIndex, config, opts, columnOption.meterBorder); for (var _i17 = 0; _i17 < points.length; _i17++) { var _item8 = points[_i17]; if (_item8 !== null && _i17 > leftNum && _i17 < rightNum) { //画背景颜色 context.beginPath(); if (seriesIndex == 0 && columnOption.meterBorder > 0) { context.setStrokeStyle(eachSeries.color); context.setLineWidth(columnOption.meterBorder * opts.pix); } if (seriesIndex == 0) { context.setFillStyle(columnOption.meterFillColor); } else { context.setFillStyle(_item8.color || eachSeries.color); } var startX = _item8.x - _item8.width / 2; var height = opts.height - _item8.y - opts.area[2]; if (columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4 || columnOption.barBorderCircle === true) { var _left = startX; var _top = _item8.y; var _width = _item8.width; var _height2 = zeroPoints - _item8.y; if (columnOption.barBorderCircle) { columnOption.barBorderRadius = [_width / 2, _width / 2, 0, 0]; } var _columnOption$barBord2 = (0, _slicedToArray2.default)(columnOption.barBorderRadius, 4), _r = _columnOption$barBord2[0], _r2 = _columnOption$barBord2[1], _r3 = _columnOption$barBord2[2], _r4 = _columnOption$barBord2[3]; var _minRadius = Math.min(_width / 2, _height2 / 2); _r = _r > _minRadius ? _minRadius : _r; _r2 = _r2 > _minRadius ? _minRadius : _r2; _r3 = _r3 > _minRadius ? _minRadius : _r3; _r4 = _r4 > _minRadius ? _minRadius : _r4; _r = _r < 0 ? 0 : _r; _r2 = _r2 < 0 ? 0 : _r2; _r3 = _r3 < 0 ? 0 : _r3; _r4 = _r4 < 0 ? 0 : _r4; context.arc(_left + _r, _top + _r, _r, -Math.PI, -Math.PI / 2); context.arc(_left + _width - _r2, _top + _r2, _r2, -Math.PI / 2, 0); context.arc(_left + _width - _r3, _top + _height2 - _r3, _r3, 0, Math.PI / 2); context.arc(_left + _r4, _top + _height2 - _r4, _r4, Math.PI / 2, Math.PI); context.fill(); } else { context.moveTo(startX, _item8.y); context.lineTo(startX + _item8.width, _item8.y); context.lineTo(startX + _item8.width, zeroPoints); context.lineTo(startX, zeroPoints); context.lineTo(startX, _item8.y); context.fill(); } if (seriesIndex == 0 && columnOption.meterBorder > 0) { context.closePath(); context.stroke(); } } } break; } }); if (opts.dataLabel !== false && process === 1) { series.forEach(function (eachSeries, seriesIndex) { var ranges, minRange, maxRange; ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); minRange = ranges.pop(); maxRange = ranges.shift(); var data = eachSeries.data; switch (columnOption.type) { case 'group': var points = getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts); drawColumePointText(points, eachSeries, config, context, opts); break; case 'stack': var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); drawColumePointText(points, eachSeries, config, context, opts); break; case 'meter': var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); drawColumePointText(points, eachSeries, config, context, opts); break; } }); } context.restore(); return { xAxisPoints: xAxisPoints, calPoints: calPoints, eachSpacing: eachSpacing }; } function drawMountDataPoints(series, opts, config, context) { var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; var xAxisData = opts.chartData.xAxisData, xAxisPoints = xAxisData.xAxisPoints, eachSpacing = xAxisData.eachSpacing; var mountOption = assign({}, { type: 'mount', widthRatio: 1, borderWidth: 1, barBorderCircle: false, barBorderRadius: [], linearType: 'none', linearOpacity: 1, customColor: [], colorStop: 0 }, opts.extra.mount); mountOption.widthRatio = mountOption.widthRatio <= 0 ? 0 : mountOption.widthRatio; mountOption.widthRatio = mountOption.widthRatio >= 2 ? 2 : mountOption.widthRatio; var calPoints = []; context.save(); var leftNum = -2; var rightNum = xAxisPoints.length + 2; if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { context.translate(opts._scrollDistance_, 0); leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2; rightNum = leftNum + opts.xAxis.itemCount + 4; } mountOption.customColor = fillCustomColor(mountOption.linearType, mountOption.customColor, series, config); var ranges, minRange, maxRange; ranges = [].concat(opts.chartData.yAxisData.ranges[0]); minRange = ranges.pop(); maxRange = ranges.shift(); // 计算0轴坐标 var spacingValid = opts.height - opts.area[0] - opts.area[2]; var zeroHeight = spacingValid * (0 - minRange) / (maxRange - minRange); var zeroPoints = opts.height - Math.round(zeroHeight) - opts.area[2]; var points = getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints, process); switch (mountOption.type) { case 'bar': for (var i = 0; i < points.length; i++) { var item = points[i]; if (item !== null && i > leftNum && i < rightNum) { var startX = item.x - eachSpacing * mountOption.widthRatio / 2; var height = opts.height - item.y - opts.area[2]; context.beginPath(); var fillColor = item.color || series[i].color; var strokeColor = item.color || series[i].color; if (mountOption.linearType !== 'none') { var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints); //透明渐变 if (mountOption.linearType == 'opacity') { grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity)); grd.addColorStop(1, hexToRgb(fillColor, 1)); } else { grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity)); grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity)); grd.addColorStop(1, hexToRgb(fillColor, 1)); } fillColor = grd; } // 圆角边框 if (mountOption.barBorderRadius && mountOption.barBorderRadius.length === 4 || mountOption.barBorderCircle === true) { var left = startX; var top = item.y > zeroPoints ? zeroPoints : item.y; var width = item.width; var _height3 = Math.abs(zeroPoints - item.y); if (mountOption.barBorderCircle) { mountOption.barBorderRadius = [width / 2, width / 2, 0, 0]; } if (item.y > zeroPoints) { mountOption.barBorderRadius = [0, 0, width / 2, width / 2]; } var _mountOption$barBorde = (0, _slicedToArray2.default)(mountOption.barBorderRadius, 4), r0 = _mountOption$barBorde[0], r1 = _mountOption$barBorde[1], r2 = _mountOption$barBorde[2], r3 = _mountOption$barBorde[3]; var minRadius = Math.min(width / 2, _height3 / 2); r0 = r0 > minRadius ? minRadius : r0; r1 = r1 > minRadius ? minRadius : r1; r2 = r2 > minRadius ? minRadius : r2; r3 = r3 > minRadius ? minRadius : r3; r0 = r0 < 0 ? 0 : r0; r1 = r1 < 0 ? 0 : r1; r2 = r2 < 0 ? 0 : r2; r3 = r3 < 0 ? 0 : r3; context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2); context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0); context.arc(left + width - r2, top + _height3 - r2, r2, 0, Math.PI / 2); context.arc(left + r3, top + _height3 - r3, r3, Math.PI / 2, Math.PI); } else { context.moveTo(startX, item.y); context.lineTo(startX + item.width, item.y); context.lineTo(startX + item.width, zeroPoints); context.lineTo(startX, zeroPoints); context.lineTo(startX, item.y); } context.setStrokeStyle(strokeColor); context.setFillStyle(fillColor); if (mountOption.borderWidth > 0) { context.setLineWidth(mountOption.borderWidth * opts.pix); context.closePath(); context.stroke(); } context.fill(); } } ; break; case 'triangle': for (var _i18 = 0; _i18 < points.length; _i18++) { var _item9 = points[_i18]; if (_item9 !== null && _i18 > leftNum && _i18 < rightNum) { var startX = _item9.x - eachSpacing * mountOption.widthRatio / 2; var height = opts.height - _item9.y - opts.area[2]; context.beginPath(); var fillColor = _item9.color || series[_i18].color; var strokeColor = _item9.color || series[_i18].color; if (mountOption.linearType !== 'none') { var grd = context.createLinearGradient(startX, _item9.y, startX, zeroPoints); //透明渐变 if (mountOption.linearType == 'opacity') { grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity)); grd.addColorStop(1, hexToRgb(fillColor, 1)); } else { grd.addColorStop(0, hexToRgb(mountOption.customColor[series[_i18].linearIndex], mountOption.linearOpacity)); grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[_i18].linearIndex], mountOption.linearOpacity)); grd.addColorStop(1, hexToRgb(fillColor, 1)); } fillColor = grd; } context.moveTo(startX, zeroPoints); context.lineTo(_item9.x, _item9.y); context.lineTo(startX + _item9.width, zeroPoints); context.setStrokeStyle(strokeColor); context.setFillStyle(fillColor); if (mountOption.borderWidth > 0) { context.setLineWidth(mountOption.borderWidth * opts.pix); context.stroke(); } context.fill(); } } ; break; case 'mount': for (var _i19 = 0; _i19 < points.length; _i19++) { var _item10 = points[_i19]; if (_item10 !== null && _i19 > leftNum && _i19 < rightNum) { var startX = _item10.x - eachSpacing * mountOption.widthRatio / 2; var height = opts.height - _item10.y - opts.area[2]; context.beginPath(); var fillColor = _item10.color || series[_i19].color; var strokeColor = _item10.color || series[_i19].color; if (mountOption.linearType !== 'none') { var grd = context.createLinearGradient(startX, _item10.y, startX, zeroPoints); //透明渐变 if (mountOption.linearType == 'opacity') { grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity)); grd.addColorStop(1, hexToRgb(fillColor, 1)); } else { grd.addColorStop(0, hexToRgb(mountOption.customColor[series[_i19].linearIndex], mountOption.linearOpacity)); grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[_i19].linearIndex], mountOption.linearOpacity)); grd.addColorStop(1, hexToRgb(fillColor, 1)); } fillColor = grd; } context.moveTo(startX, zeroPoints); context.bezierCurveTo(_item10.x - _item10.width / 4, zeroPoints, _item10.x - _item10.width / 4, _item10.y, _item10.x, _item10.y); context.bezierCurveTo(_item10.x + _item10.width / 4, _item10.y, _item10.x + _item10.width / 4, zeroPoints, startX + _item10.width, zeroPoints); context.setStrokeStyle(strokeColor); context.setFillStyle(fillColor); if (mountOption.borderWidth > 0) { context.setLineWidth(mountOption.borderWidth * opts.pix); context.stroke(); } context.fill(); } } ; break; case 'sharp': for (var _i20 = 0; _i20 < points.length; _i20++) { var _item11 = points[_i20]; if (_item11 !== null && _i20 > leftNum && _i20 < rightNum) { var startX = _item11.x - eachSpacing * mountOption.widthRatio / 2; var height = opts.height - _item11.y - opts.area[2]; context.beginPath(); var fillColor = _item11.color || series[_i20].color; var strokeColor = _item11.color || series[_i20].color; if (mountOption.linearType !== 'none') { var grd = context.createLinearGradient(startX, _item11.y, startX, zeroPoints); //透明渐变 if (mountOption.linearType == 'opacity') { grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity)); grd.addColorStop(1, hexToRgb(fillColor, 1)); } else { grd.addColorStop(0, hexToRgb(mountOption.customColor[series[_i20].linearIndex], mountOption.linearOpacity)); grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[_i20].linearIndex], mountOption.linearOpacity)); grd.addColorStop(1, hexToRgb(fillColor, 1)); } fillColor = grd; } context.moveTo(startX, zeroPoints); context.quadraticCurveTo(_item11.x - 0, zeroPoints - height / 4, _item11.x, _item11.y); context.quadraticCurveTo(_item11.x + 0, zeroPoints - height / 4, startX + _item11.width, zeroPoints); context.setStrokeStyle(strokeColor); context.setFillStyle(fillColor); if (mountOption.borderWidth > 0) { context.setLineWidth(mountOption.borderWidth * opts.pix); context.stroke(); } context.fill(); } } ; break; } if (opts.dataLabel !== false && process === 1) { var _ranges, _minRange, _maxRange; _ranges = [].concat(opts.chartData.yAxisData.ranges[0]); _minRange = _ranges.pop(); _maxRange = _ranges.shift(); var points = getMountDataPoints(series, _minRange, _maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints, process); drawMountPointText(points, series, config, context, opts, zeroPoints); } context.restore(); return { xAxisPoints: xAxisPoints, calPoints: points, eachSpacing: eachSpacing }; } function drawBarDataPoints(series, opts, config, context) { var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; var yAxisPoints = []; var eachSpacing = (opts.height - opts.area[0] - opts.area[2]) / opts.categories.length; for (var i = 0; i < opts.categories.length; i++) { yAxisPoints.push(opts.area[0] + eachSpacing / 2 + eachSpacing * i); } var columnOption = assign({}, { type: 'group', width: eachSpacing / 2, meterBorder: 4, meterFillColor: '#FFFFFF', barBorderCircle: false, barBorderRadius: [], seriesGap: 2, linearType: 'none', linearOpacity: 1, customColor: [], colorStop: 0 }, opts.extra.bar); var calPoints = []; context.save(); var leftNum = -2; var rightNum = yAxisPoints.length + 2; if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) { drawBarToolTipSplitArea(opts.tooltip.offset.y, opts, config, context, eachSpacing); } columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config); series.forEach(function (eachSeries, seriesIndex) { var ranges, minRange, maxRange; ranges = [].concat(opts.chartData.xAxisData.ranges); maxRange = ranges.pop(); minRange = ranges.shift(); var data = eachSeries.data; switch (columnOption.type) { case 'group': var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process); var tooltipPoints = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); calPoints.push(tooltipPoints); points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts); for (var _i21 = 0; _i21 < points.length; _i21++) { var item = points[_i21]; //fix issues/I27B1N yyoinge & Joeshu if (item !== null && _i21 > leftNum && _i21 < rightNum) { //var startX = item.x - item.width / 2; var startX = opts.area[3]; var startY = item.y - item.width / 2; var height = item.height; context.beginPath(); var fillColor = item.color || eachSeries.color; var strokeColor = item.color || eachSeries.color; if (columnOption.linearType !== 'none') { var grd = context.createLinearGradient(startX, item.y, item.x, item.y); //透明渐变 if (columnOption.linearType == 'opacity') { grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity)); grd.addColorStop(1, hexToRgb(fillColor, 1)); } else { grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity)); grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity)); grd.addColorStop(1, hexToRgb(fillColor, 1)); } fillColor = grd; } // 圆角边框 if (columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4 || columnOption.barBorderCircle === true) { var left = startX; var width = item.width; var top = item.y - item.width / 2; var _height4 = item.height; if (columnOption.barBorderCircle) { columnOption.barBorderRadius = [width / 2, width / 2, 0, 0]; } var _columnOption$barBord3 = (0, _slicedToArray2.default)(columnOption.barBorderRadius, 4), r0 = _columnOption$barBord3[0], r1 = _columnOption$barBord3[1], r2 = _columnOption$barBord3[2], r3 = _columnOption$barBord3[3]; var minRadius = Math.min(width / 2, _height4 / 2); r0 = r0 > minRadius ? minRadius : r0; r1 = r1 > minRadius ? minRadius : r1; r2 = r2 > minRadius ? minRadius : r2; r3 = r3 > minRadius ? minRadius : r3; r0 = r0 < 0 ? 0 : r0; r1 = r1 < 0 ? 0 : r1; r2 = r2 < 0 ? 0 : r2; r3 = r3 < 0 ? 0 : r3; context.arc(left + r3, top + r3, r3, -Math.PI, -Math.PI / 2); context.arc(item.x - r0, top + r0, r0, -Math.PI / 2, 0); context.arc(item.x - r1, top + width - r1, r1, 0, Math.PI / 2); context.arc(left + r2, top + width - r2, r2, Math.PI / 2, Math.PI); } else { context.moveTo(startX, startY); context.lineTo(item.x, startY); context.lineTo(item.x, startY + item.width); context.lineTo(startX, startY + item.width); context.lineTo(startX, startY); context.setLineWidth(1); context.setStrokeStyle(strokeColor); } context.setFillStyle(fillColor); context.closePath(); //context.stroke(); context.fill(); } } ; break; case 'stack': // 绘制堆叠数据图 var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); calPoints.push(points); points = fixBarStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series); for (var _i22 = 0; _i22 < points.length; _i22++) { var _item12 = points[_i22]; if (_item12 !== null && _i22 > leftNum && _i22 < rightNum) { context.beginPath(); var fillColor = _item12.color || eachSeries.color; var startX = _item12.x0; context.setFillStyle(fillColor); context.moveTo(startX, _item12.y - _item12.width / 2); context.fillRect(startX, _item12.y - _item12.width / 2, _item12.height, _item12.width); context.closePath(); context.fill(); } } ; break; } }); if (opts.dataLabel !== false && process === 1) { series.forEach(function (eachSeries, seriesIndex) { var ranges, minRange, maxRange; ranges = [].concat(opts.chartData.xAxisData.ranges); maxRange = ranges.pop(); minRange = ranges.shift(); var data = eachSeries.data; switch (columnOption.type) { case 'group': var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process); points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts); drawBarPointText(points, eachSeries, config, context, opts); break; case 'stack': var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); drawBarPointText(points, eachSeries, config, context, opts); break; } }); } return { yAxisPoints: yAxisPoints, calPoints: calPoints, eachSpacing: eachSpacing }; } function drawCandleDataPoints(series, seriesMA, opts, config, context) { var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1; var candleOption = assign({}, { color: {}, average: {} }, opts.extra.candle); candleOption.color = assign({}, { upLine: '#f04864', upFill: '#f04864', downLine: '#2fc25b', downFill: '#2fc25b' }, candleOption.color); candleOption.average = assign({}, { show: false, name: [], day: [], color: config.color }, candleOption.average); opts.extra.candle = candleOption; var xAxisData = opts.chartData.xAxisData, xAxisPoints = xAxisData.xAxisPoints, eachSpacing = xAxisData.eachSpacing; var calPoints = []; context.save(); var leftNum = -2; var rightNum = xAxisPoints.length + 2; var leftSpace = 0; var rightSpace = opts.width + eachSpacing; if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { context.translate(opts._scrollDistance_, 0); leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2; rightNum = leftNum + opts.xAxis.itemCount + 4; leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; } //画均线 if (candleOption.average.show || seriesMA) { //Merge pull request !12 from 邱贵翔 seriesMA.forEach(function (eachSeries, seriesIndex) { var ranges, minRange, maxRange; ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); minRange = ranges.pop(); maxRange = ranges.shift(); var data = eachSeries.data; var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); var splitPointList = splitPoints(points, eachSeries); for (var i = 0; i < splitPointList.length; i++) { var _points = splitPointList[i]; context.beginPath(); context.setStrokeStyle(eachSeries.color); context.setLineWidth(1); if (_points.length === 1) { context.moveTo(_points[0].x, _points[0].y); context.arc(_points[0].x, _points[0].y, 1, 0, 2 * Math.PI); } else { context.moveTo(_points[0].x, _points[0].y); var startPoint = 0; for (var j = 0; j < _points.length; j++) { var item = _points[j]; if (startPoint == 0 && item.x > leftSpace) { context.moveTo(item.x, item.y); startPoint = 1; } if (j > 0 && item.x > leftSpace && item.x < rightSpace) { var ctrlPoint = createCurveControlPoints(_points, j - 1); context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y); } } context.moveTo(_points[0].x, _points[0].y); } context.closePath(); context.stroke(); } }); } //画K线 series.forEach(function (eachSeries, seriesIndex) { var ranges, minRange, maxRange; ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); minRange = ranges.pop(); maxRange = ranges.shift(); var data = eachSeries.data; var points = getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); calPoints.push(points); var splitPointList = splitPoints(points, eachSeries); for (var i = 0; i < splitPointList[0].length; i++) { if (i > leftNum && i < rightNum) { var item = splitPointList[0][i]; context.beginPath(); //如果上涨 if (data[i][1] - data[i][0] > 0) { context.setStrokeStyle(candleOption.color.upLine); context.setFillStyle(candleOption.color.upFill); context.setLineWidth(1 * opts.pix); context.moveTo(item[3].x, item[3].y); //顶点 context.lineTo(item[1].x, item[1].y); //收盘中间点 context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点 context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点 context.lineTo(item[0].x, item[0].y); //开盘中间点 context.lineTo(item[2].x, item[2].y); //底点 context.lineTo(item[0].x, item[0].y); //开盘中间点 context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点 context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点 context.lineTo(item[1].x, item[1].y); //收盘中间点 context.moveTo(item[3].x, item[3].y); //顶点 } else { context.setStrokeStyle(candleOption.color.downLine); context.setFillStyle(candleOption.color.downFill); context.setLineWidth(1 * opts.pix); context.moveTo(item[3].x, item[3].y); //顶点 context.lineTo(item[0].x, item[0].y); //开盘中间点 context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点 context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点 context.lineTo(item[1].x, item[1].y); //收盘中间点 context.lineTo(item[2].x, item[2].y); //底点 context.lineTo(item[1].x, item[1].y); //收盘中间点 context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点 context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点 context.lineTo(item[0].x, item[0].y); //开盘中间点 context.moveTo(item[3].x, item[3].y); //顶点 } context.closePath(); context.fill(); context.stroke(); } } }); context.restore(); return { xAxisPoints: xAxisPoints, calPoints: calPoints, eachSpacing: eachSpacing }; } function drawAreaDataPoints(series, opts, config, context) { var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; var areaOption = assign({}, { type: 'straight', opacity: 0.2, addLine: false, width: 2, gradient: false, activeType: 'none' }, opts.extra.area); var xAxisData = opts.chartData.xAxisData, xAxisPoints = xAxisData.xAxisPoints, eachSpacing = xAxisData.eachSpacing; var endY = opts.height - opts.area[2]; var calPoints = []; context.save(); var leftSpace = 0; var rightSpace = opts.width + eachSpacing; if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { context.translate(opts._scrollDistance_, 0); leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; } series.forEach(function (eachSeries, seriesIndex) { var ranges, minRange, maxRange; ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); minRange = ranges.pop(); maxRange = ranges.shift(); var data = eachSeries.data; var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); calPoints.push(points); var splitPointList = splitPoints(points, eachSeries); for (var i = 0; i < splitPointList.length; i++) { var _points2 = splitPointList[i]; // 绘制区域数 context.beginPath(); context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity)); if (areaOption.gradient) { var gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]); gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity)); gradient.addColorStop('1.0', hexToRgb("#FFFFFF", 0.1)); context.setFillStyle(gradient); } else { context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity)); } context.setLineWidth(areaOption.width * opts.pix); if (_points2.length > 1) { var firstPoint = _points2[0]; var lastPoint = _points2[_points2.length - 1]; context.moveTo(firstPoint.x, firstPoint.y); var startPoint = 0; if (areaOption.type === 'curve') { for (var j = 0; j < _points2.length; j++) { var item = _points2[j]; if (startPoint == 0 && item.x > leftSpace) { context.moveTo(item.x, item.y); startPoint = 1; } if (j > 0 && item.x > leftSpace && item.x < rightSpace) { var ctrlPoint = createCurveControlPoints(_points2, j - 1); context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y); } } ; } if (areaOption.type === 'straight') { for (var _j = 0; _j < _points2.length; _j++) { var _item13 = _points2[_j]; if (startPoint == 0 && _item13.x > leftSpace) { context.moveTo(_item13.x, _item13.y); startPoint = 1; } if (_j > 0 && _item13.x > leftSpace && _item13.x < rightSpace) { context.lineTo(_item13.x, _item13.y); } } ; } if (areaOption.type === 'step') { for (var _j2 = 0; _j2 < _points2.length; _j2++) { var _item14 = _points2[_j2]; if (startPoint == 0 && _item14.x > leftSpace) { context.moveTo(_item14.x, _item14.y); startPoint = 1; } if (_j2 > 0 && _item14.x > leftSpace && _item14.x < rightSpace) { context.lineTo(_item14.x, _points2[_j2 - 1].y); context.lineTo(_item14.x, _item14.y); } } ; } context.lineTo(lastPoint.x, endY); context.lineTo(firstPoint.x, endY); context.lineTo(firstPoint.x, firstPoint.y); } else { var _item15 = _points2[0]; context.moveTo(_item15.x - eachSpacing / 2, _item15.y); // context.lineTo(item.x + eachSpacing / 2, item.y); // context.lineTo(item.x + eachSpacing / 2, endY); // context.lineTo(item.x - eachSpacing / 2, endY); // context.moveTo(item.x - eachSpacing / 2, item.y); } context.closePath(); context.fill(); //画连线 if (areaOption.addLine) { if (eachSeries.lineType == 'dash') { var dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8; dashLength *= opts.pix; context.setLineDash([dashLength, dashLength]); } context.beginPath(); context.setStrokeStyle(eachSeries.color); context.setLineWidth(areaOption.width * opts.pix); if (_points2.length === 1) { context.moveTo(_points2[0].x, _points2[0].y); // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI); } else { context.moveTo(_points2[0].x, _points2[0].y); var _startPoint = 0; if (areaOption.type === 'curve') { for (var _j3 = 0; _j3 < _points2.length; _j3++) { var _item16 = _points2[_j3]; if (_startPoint == 0 && _item16.x > leftSpace) { context.moveTo(_item16.x, _item16.y); _startPoint = 1; } if (_j3 > 0 && _item16.x > leftSpace && _item16.x < rightSpace) { var _ctrlPoint = createCurveControlPoints(_points2, _j3 - 1); context.bezierCurveTo(_ctrlPoint.ctrA.x, _ctrlPoint.ctrA.y, _ctrlPoint.ctrB.x, _ctrlPoint.ctrB.y, _item16.x, _item16.y); } } ; } if (areaOption.type === 'straight') { for (var _j4 = 0; _j4 < _points2.length; _j4++) { var _item17 = _points2[_j4]; if (_startPoint == 0 && _item17.x > leftSpace) { context.moveTo(_item17.x, _item17.y); _startPoint = 1; } if (_j4 > 0 && _item17.x > leftSpace && _item17.x < rightSpace) { context.lineTo(_item17.x, _item17.y); } } ; } if (areaOption.type === 'step') { for (var _j5 = 0; _j5 < _points2.length; _j5++) { var _item18 = _points2[_j5]; if (_startPoint == 0 && _item18.x > leftSpace) { context.moveTo(_item18.x, _item18.y); _startPoint = 1; } if (_j5 > 0 && _item18.x > leftSpace && _item18.x < rightSpace) { context.lineTo(_item18.x, _points2[_j5 - 1].y); context.lineTo(_item18.x, _item18.y); } } ; } context.moveTo(_points2[0].x, _points2[0].y); } context.stroke(); context.setLineDash([]); } } //画点 if (opts.dataPointShape !== false) { drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts); } drawActivePoint(points, eachSeries.color, eachSeries.pointShape, context, opts, areaOption, seriesIndex); }); if (opts.dataLabel !== false && process === 1) { series.forEach(function (eachSeries, seriesIndex) { var ranges, minRange, maxRange; ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); minRange = ranges.pop(); maxRange = ranges.shift(); var data = eachSeries.data; var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); drawPointText(points, eachSeries, config, context, opts); }); } context.restore(); return { xAxisPoints: xAxisPoints, calPoints: calPoints, eachSpacing: eachSpacing }; } function drawScatterDataPoints(series, opts, config, context) { var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; var scatterOption = assign({}, { type: 'circle' }, opts.extra.scatter); var xAxisData = opts.chartData.xAxisData, xAxisPoints = xAxisData.xAxisPoints, eachSpacing = xAxisData.eachSpacing; var calPoints = []; context.save(); var leftSpace = 0; var rightSpace = opts.width + eachSpacing; if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { context.translate(opts._scrollDistance_, 0); leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; } series.forEach(function (eachSeries, seriesIndex) { var ranges, minRange, maxRange; ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); minRange = ranges.pop(); maxRange = ranges.shift(); var data = eachSeries.data; var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); context.beginPath(); context.setStrokeStyle(eachSeries.color); context.setFillStyle(eachSeries.color); context.setLineWidth(1 * opts.pix); var shape = eachSeries.pointShape; if (shape === 'diamond') { points.forEach(function (item, index) { if (item !== null) { context.moveTo(item.x, item.y - 4.5); context.lineTo(item.x - 4.5, item.y); context.lineTo(item.x, item.y + 4.5); context.lineTo(item.x + 4.5, item.y); context.lineTo(item.x, item.y - 4.5); } }); } else if (shape === 'circle') { points.forEach(function (item, index) { if (item !== null) { context.moveTo(item.x + 2.5 * opts.pix, item.y); context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false); } }); } else if (shape === 'square') { points.forEach(function (item, index) { if (item !== null) { context.moveTo(item.x - 3.5, item.y - 3.5); context.rect(item.x - 3.5, item.y - 3.5, 7, 7); } }); } else if (shape === 'triangle') { points.forEach(function (item, index) { if (item !== null) { context.moveTo(item.x, item.y - 4.5); context.lineTo(item.x - 4.5, item.y + 4.5); context.lineTo(item.x + 4.5, item.y + 4.5); context.lineTo(item.x, item.y - 4.5); } }); } else if (shape === 'triangle') { return; } context.closePath(); context.fill(); context.stroke(); }); if (opts.dataLabel !== false && process === 1) { series.forEach(function (eachSeries, seriesIndex) { var ranges, minRange, maxRange; ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); minRange = ranges.pop(); maxRange = ranges.shift(); var data = eachSeries.data; var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); drawPointText(points, eachSeries, config, context, opts); }); } context.restore(); return { xAxisPoints: xAxisPoints, calPoints: calPoints, eachSpacing: eachSpacing }; } function drawBubbleDataPoints(series, opts, config, context) { var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; var bubbleOption = assign({}, { opacity: 1, border: 2 }, opts.extra.bubble); var xAxisData = opts.chartData.xAxisData, xAxisPoints = xAxisData.xAxisPoints, eachSpacing = xAxisData.eachSpacing; var calPoints = []; context.save(); var leftSpace = 0; var rightSpace = opts.width + eachSpacing; if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { context.translate(opts._scrollDistance_, 0); leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; } series.forEach(function (eachSeries, seriesIndex) { var ranges, minRange, maxRange; ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); minRange = ranges.pop(); maxRange = ranges.shift(); var data = eachSeries.data; var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); context.beginPath(); context.setStrokeStyle(eachSeries.color); context.setLineWidth(bubbleOption.border * opts.pix); context.setFillStyle(hexToRgb(eachSeries.color, bubbleOption.opacity)); points.forEach(function (item, index) { context.moveTo(item.x + item.r, item.y); context.arc(item.x, item.y, item.r * opts.pix, 0, 2 * Math.PI, false); }); context.closePath(); context.fill(); context.stroke(); if (opts.dataLabel !== false && process === 1) { points.forEach(function (item, index) { context.beginPath(); var fontSize = eachSeries.textSize * opts.pix || config.fontSize; context.setFontSize(fontSize); context.setFillStyle(eachSeries.textColor || "#FFFFFF"); context.setTextAlign('center'); context.fillText(String(item.t), item.x, item.y + fontSize / 2); context.closePath(); context.stroke(); context.setTextAlign('left'); }); } }); context.restore(); return { xAxisPoints: xAxisPoints, calPoints: calPoints, eachSpacing: eachSpacing }; } function drawLineDataPoints(series, opts, config, context) { var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; var lineOption = assign({}, { type: 'straight', width: 2, activeType: 'none', linearType: 'none', onShadow: false, animation: 'vertical' }, opts.extra.line); lineOption.width *= opts.pix; var xAxisData = opts.chartData.xAxisData, xAxisPoints = xAxisData.xAxisPoints, eachSpacing = xAxisData.eachSpacing; var calPoints = []; context.save(); var leftSpace = 0; var rightSpace = opts.width + eachSpacing; if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { context.translate(opts._scrollDistance_, 0); leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; } series.forEach(function (eachSeries, seriesIndex) { // 这段很神奇的代码用于解决ios16的setStrokeStyle失效的bug context.beginPath(); context.setStrokeStyle(eachSeries.color); context.moveTo(-10000, -10000); context.lineTo(-10001, -10001); context.stroke(); var ranges, minRange, maxRange; ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); minRange = ranges.pop(); maxRange = ranges.shift(); var data = eachSeries.data; var points = getLineDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, lineOption, process); calPoints.push(points); var splitPointList = splitPoints(points, eachSeries); if (eachSeries.lineType == 'dash') { var dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8; dashLength *= opts.pix; context.setLineDash([dashLength, dashLength]); } context.beginPath(); var strokeColor = eachSeries.color; if (lineOption.linearType !== 'none' && eachSeries.linearColor && eachSeries.linearColor.length > 0) { var grd = context.createLinearGradient(opts.chartData.xAxisData.startX, opts.height / 2, opts.chartData.xAxisData.endX, opts.height / 2); for (var i = 0; i < eachSeries.linearColor.length; i++) { grd.addColorStop(eachSeries.linearColor[i][0], hexToRgb(eachSeries.linearColor[i][1], 1)); } strokeColor = grd; } context.setStrokeStyle(strokeColor); if (lineOption.onShadow == true && eachSeries.setShadow && eachSeries.setShadow.length > 0) { context.setShadow(eachSeries.setShadow[0], eachSeries.setShadow[1], eachSeries.setShadow[2], eachSeries.setShadow[3]); } else { context.setShadow(0, 0, 0, 'rgba(0,0,0,0)'); } context.setLineWidth(lineOption.width); splitPointList.forEach(function (points, index) { if (points.length === 1) { context.moveTo(points[0].x, points[0].y); // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI); } else { context.moveTo(points[0].x, points[0].y); var startPoint = 0; if (lineOption.type === 'curve') { for (var j = 0; j < points.length; j++) { var item = points[j]; if (startPoint == 0 && item.x > leftSpace) { context.moveTo(item.x, item.y); startPoint = 1; } if (j > 0 && item.x > leftSpace && item.x < rightSpace) { var ctrlPoint = createCurveControlPoints(points, j - 1); context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y); } } ; } if (lineOption.type === 'straight') { for (var _j6 = 0; _j6 < points.length; _j6++) { var _item19 = points[_j6]; if (startPoint == 0 && _item19.x > leftSpace) { context.moveTo(_item19.x, _item19.y); startPoint = 1; } if (_j6 > 0 && _item19.x > leftSpace && _item19.x < rightSpace) { context.lineTo(_item19.x, _item19.y); } } ; } if (lineOption.type === 'step') { for (var _j7 = 0; _j7 < points.length; _j7++) { var _item20 = points[_j7]; if (startPoint == 0 && _item20.x > leftSpace) { context.moveTo(_item20.x, _item20.y); startPoint = 1; } if (_j7 > 0 && _item20.x > leftSpace && _item20.x < rightSpace) { context.lineTo(_item20.x, points[_j7 - 1].y); context.lineTo(_item20.x, _item20.y); } } ; } context.moveTo(points[0].x, points[0].y); } }); context.stroke(); context.setLineDash([]); if (opts.dataPointShape !== false) { drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts); } drawActivePoint(points, eachSeries.color, eachSeries.pointShape, context, opts, lineOption); }); if (opts.dataLabel !== false && process === 1) { series.forEach(function (eachSeries, seriesIndex) { var ranges, minRange, maxRange; ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); minRange = ranges.pop(); maxRange = ranges.shift(); var data = eachSeries.data; var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); drawPointText(points, eachSeries, config, context, opts); }); } context.restore(); return { xAxisPoints: xAxisPoints, calPoints: calPoints, eachSpacing: eachSpacing }; } function drawMixDataPoints(series, opts, config, context) { var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; var xAxisData = opts.chartData.xAxisData, xAxisPoints = xAxisData.xAxisPoints, eachSpacing = xAxisData.eachSpacing; var columnOption = assign({}, { width: eachSpacing / 2, barBorderCircle: false, barBorderRadius: [], seriesGap: 2, linearType: 'none', linearOpacity: 1, customColor: [], colorStop: 0 }, opts.extra.mix.column); var areaOption = assign({}, { opacity: 0.2, gradient: false }, opts.extra.mix.area); var lineOption = assign({}, { width: 2 }, opts.extra.mix.line); var endY = opts.height - opts.area[2]; var calPoints = []; var columnIndex = 0; var columnLength = 0; series.forEach(function (eachSeries, seriesIndex) { if (eachSeries.type == 'column') { columnLength += 1; } }); context.save(); var leftNum = -2; var rightNum = xAxisPoints.length + 2; var leftSpace = 0; var rightSpace = opts.width + eachSpacing; if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { context.translate(opts._scrollDistance_, 0); leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2; rightNum = leftNum + opts.xAxis.itemCount + 4; leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; } columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config); series.forEach(function (eachSeries, seriesIndex) { var ranges, minRange, maxRange; ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); minRange = ranges.pop(); maxRange = ranges.shift(); var data = eachSeries.data; var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); calPoints.push(points); // 绘制柱状数据图 if (eachSeries.type == 'column') { points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts); for (var i = 0; i < points.length; i++) { var item = points[i]; if (item !== null && i > leftNum && i < rightNum) { var startX = item.x - item.width / 2; var height = opts.height - item.y - opts.area[2]; context.beginPath(); var fillColor = item.color || eachSeries.color; var strokeColor = item.color || eachSeries.color; if (columnOption.linearType !== 'none') { var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]); //透明渐变 if (columnOption.linearType == 'opacity') { grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity)); grd.addColorStop(1, hexToRgb(fillColor, 1)); } else { grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity)); grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity)); grd.addColorStop(1, hexToRgb(fillColor, 1)); } fillColor = grd; } // 圆角边框 if (columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4 || columnOption.barBorderCircle) { var left = startX; var top = item.y; var width = item.width; var _height5 = opts.height - opts.area[2] - item.y; if (columnOption.barBorderCircle) { columnOption.barBorderRadius = [width / 2, width / 2, 0, 0]; } var _columnOption$barBord4 = (0, _slicedToArray2.default)(columnOption.barBorderRadius, 4), r0 = _columnOption$barBord4[0], r1 = _columnOption$barBord4[1], r2 = _columnOption$barBord4[2], r3 = _columnOption$barBord4[3]; var minRadius = Math.min(width / 2, _height5 / 2); r0 = r0 > minRadius ? minRadius : r0; r1 = r1 > minRadius ? minRadius : r1; r2 = r2 > minRadius ? minRadius : r2; r3 = r3 > minRadius ? minRadius : r3; r0 = r0 < 0 ? 0 : r0; r1 = r1 < 0 ? 0 : r1; r2 = r2 < 0 ? 0 : r2; r3 = r3 < 0 ? 0 : r3; context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2); context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0); context.arc(left + width - r2, top + _height5 - r2, r2, 0, Math.PI / 2); context.arc(left + r3, top + _height5 - r3, r3, Math.PI / 2, Math.PI); } else { context.moveTo(startX, item.y); context.lineTo(startX + item.width, item.y); context.lineTo(startX + item.width, opts.height - opts.area[2]); context.lineTo(startX, opts.height - opts.area[2]); context.lineTo(startX, item.y); context.setLineWidth(1); context.setStrokeStyle(strokeColor); } context.setFillStyle(fillColor); context.closePath(); context.fill(); } } columnIndex += 1; } //绘制区域图数据 if (eachSeries.type == 'area') { var _splitPointList = splitPoints(points, eachSeries); for (var _i23 = 0; _i23 < _splitPointList.length; _i23++) { var _points3 = _splitPointList[_i23]; // 绘制区域数据 context.beginPath(); context.setStrokeStyle(eachSeries.color); context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity)); if (areaOption.gradient) { var gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]); gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity)); gradient.addColorStop('1.0', hexToRgb("#FFFFFF", 0.1)); context.setFillStyle(gradient); } else { context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity)); } context.setLineWidth(2 * opts.pix); if (_points3.length > 1) { var firstPoint = _points3[0]; var lastPoint = _points3[_points3.length - 1]; context.moveTo(firstPoint.x, firstPoint.y); var startPoint = 0; if (eachSeries.style === 'curve') { for (var j = 0; j < _points3.length; j++) { var _item21 = _points3[j]; if (startPoint == 0 && _item21.x > leftSpace) { context.moveTo(_item21.x, _item21.y); startPoint = 1; } if (j > 0 && _item21.x > leftSpace && _item21.x < rightSpace) { var ctrlPoint = createCurveControlPoints(_points3, j - 1); context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, _item21.x, _item21.y); } } ; } else { for (var _j8 = 0; _j8 < _points3.length; _j8++) { var _item22 = _points3[_j8]; if (startPoint == 0 && _item22.x > leftSpace) { context.moveTo(_item22.x, _item22.y); startPoint = 1; } if (_j8 > 0 && _item22.x > leftSpace && _item22.x < rightSpace) { context.lineTo(_item22.x, _item22.y); } } ; } context.lineTo(lastPoint.x, endY); context.lineTo(firstPoint.x, endY); context.lineTo(firstPoint.x, firstPoint.y); } else { var _item23 = _points3[0]; context.moveTo(_item23.x - eachSpacing / 2, _item23.y); // context.lineTo(item.x + eachSpacing / 2, item.y); // context.lineTo(item.x + eachSpacing / 2, endY); // context.lineTo(item.x - eachSpacing / 2, endY); // context.moveTo(item.x - eachSpacing / 2, item.y); } context.closePath(); context.fill(); } } // 绘制折线数据图 if (eachSeries.type == 'line') { var splitPointList = splitPoints(points, eachSeries); splitPointList.forEach(function (points, index) { if (eachSeries.lineType == 'dash') { var dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8; dashLength *= opts.pix; context.setLineDash([dashLength, dashLength]); } context.beginPath(); context.setStrokeStyle(eachSeries.color); context.setLineWidth(lineOption.width * opts.pix); if (points.length === 1) { context.moveTo(points[0].x, points[0].y); // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI); } else { context.moveTo(points[0].x, points[0].y); var _startPoint2 = 0; if (eachSeries.style == 'curve') { for (var _j9 = 0; _j9 < points.length; _j9++) { var _item24 = points[_j9]; if (_startPoint2 == 0 && _item24.x > leftSpace) { context.moveTo(_item24.x, _item24.y); _startPoint2 = 1; } if (_j9 > 0 && _item24.x > leftSpace && _item24.x < rightSpace) { var ctrlPoint = createCurveControlPoints(points, _j9 - 1); context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, _item24.x, _item24.y); } } } else { for (var _j10 = 0; _j10 < points.length; _j10++) { var _item25 = points[_j10]; if (_startPoint2 == 0 && _item25.x > leftSpace) { context.moveTo(_item25.x, _item25.y); _startPoint2 = 1; } if (_j10 > 0 && _item25.x > leftSpace && _item25.x < rightSpace) { context.lineTo(_item25.x, _item25.y); } } } context.moveTo(points[0].x, points[0].y); } context.stroke(); context.setLineDash([]); }); } // 绘制点数据图 if (eachSeries.type == 'point') { eachSeries.addPoint = true; } if (eachSeries.addPoint == true && eachSeries.type !== 'column') { drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts); } }); if (opts.dataLabel !== false && process === 1) { var columnIndex = 0; series.forEach(function (eachSeries, seriesIndex) { var ranges, minRange, maxRange; ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); minRange = ranges.pop(); maxRange = ranges.shift(); var data = eachSeries.data; var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); if (eachSeries.type !== 'column') { drawPointText(points, eachSeries, config, context, opts); } else { points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts); drawPointText(points, eachSeries, config, context, opts); columnIndex += 1; } }); } context.restore(); return { xAxisPoints: xAxisPoints, calPoints: calPoints, eachSpacing: eachSpacing }; } function drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints) { var toolTipOption = opts.extra.tooltip || {}; if (toolTipOption.horizentalLine && opts.tooltip && process === 1 && (opts.type == 'line' || opts.type == 'area' || opts.type == 'column' || opts.type == 'mount' || opts.type == 'candle' || opts.type == 'mix')) { drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints); } context.save(); if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { context.translate(opts._scrollDistance_, 0); } if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) { drawToolTip(opts.tooltip.textList, opts.tooltip.offset, opts, config, context, eachSpacing, xAxisPoints); } context.restore(); } function drawXAxis(categories, opts, config, context) { var xAxisData = opts.chartData.xAxisData, xAxisPoints = xAxisData.xAxisPoints, startX = xAxisData.startX, endX = xAxisData.endX, eachSpacing = xAxisData.eachSpacing; var boundaryGap = 'center'; if (opts.type == 'bar' || opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble') { boundaryGap = opts.xAxis.boundaryGap; } var startY = opts.height - opts.area[2]; var endY = opts.area[0]; //绘制滚动条 if (opts.enableScroll && opts.xAxis.scrollShow) { var scrollY = opts.height - opts.area[2] + config.xAxisHeight; var scrollScreenWidth = endX - startX; var scrollTotalWidth = eachSpacing * (xAxisPoints.length - 1); if (opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1) { if (opts.extra.mount.widthRatio > 2) opts.extra.mount.widthRatio = 2; scrollTotalWidth += (opts.extra.mount.widthRatio - 1) * eachSpacing; } var scrollWidth = scrollScreenWidth * scrollScreenWidth / scrollTotalWidth; var scrollLeft = 0; if (opts._scrollDistance_) { scrollLeft = -opts._scrollDistance_ * scrollScreenWidth / scrollTotalWidth; } context.beginPath(); context.setLineCap('round'); context.setLineWidth(6 * opts.pix); context.setStrokeStyle(opts.xAxis.scrollBackgroundColor || "#EFEBEF"); context.moveTo(startX, scrollY); context.lineTo(endX, scrollY); context.stroke(); context.closePath(); context.beginPath(); context.setLineCap('round'); context.setLineWidth(6 * opts.pix); context.setStrokeStyle(opts.xAxis.scrollColor || "#A6A6A6"); context.moveTo(startX + scrollLeft, scrollY); context.lineTo(startX + scrollLeft + scrollWidth, scrollY); context.stroke(); context.closePath(); context.setLineCap('butt'); } context.save(); if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) { context.translate(opts._scrollDistance_, 0); } //绘制X轴刻度线 if (opts.xAxis.calibration === true) { context.setStrokeStyle(opts.xAxis.gridColor || "#cccccc"); context.setLineCap('butt'); context.setLineWidth(1 * opts.pix); xAxisPoints.forEach(function (item, index) { if (index > 0) { context.beginPath(); context.moveTo(item - eachSpacing / 2, startY); context.lineTo(item - eachSpacing / 2, startY + 3 * opts.pix); context.closePath(); context.stroke(); } }); } //绘制X轴网格 if (opts.xAxis.disableGrid !== true) { context.setStrokeStyle(opts.xAxis.gridColor || "#cccccc"); context.setLineCap('butt'); context.setLineWidth(1 * opts.pix); if (opts.xAxis.gridType == 'dash') { context.setLineDash([opts.xAxis.dashLength * opts.pix, opts.xAxis.dashLength * opts.pix]); } opts.xAxis.gridEval = opts.xAxis.gridEval || 1; xAxisPoints.forEach(function (item, index) { if (index % opts.xAxis.gridEval == 0) { context.beginPath(); context.moveTo(item, startY); context.lineTo(item, endY); context.stroke(); } }); context.setLineDash([]); } //绘制X轴文案 if (opts.xAxis.disabled !== true) { // 对X轴列表做抽稀处理 //默认全部显示X轴标签 var maxXAxisListLength = categories.length; //如果设置了X轴单屏数量 if (opts.xAxis.labelCount) { //如果设置X轴密度 if (opts.xAxis.itemCount) { maxXAxisListLength = Math.ceil(categories.length / opts.xAxis.itemCount * opts.xAxis.labelCount); } else { maxXAxisListLength = opts.xAxis.labelCount; } maxXAxisListLength -= 1; } var ratio = Math.ceil(categories.length / maxXAxisListLength); var newCategories = []; var cgLength = categories.length; for (var i = 0; i < cgLength; i++) { if (i % ratio !== 0) { newCategories.push(""); } else { newCategories.push(categories[i]); } } newCategories[cgLength - 1] = categories[cgLength - 1]; var xAxisFontSize = opts.xAxis.fontSize * opts.pix || config.fontSize; if (config._xAxisTextAngle_ === 0) { newCategories.forEach(function (item, index) { var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item, index, opts) : item; var offset = -measureText(String(xitem), xAxisFontSize, context) / 2; if (boundaryGap == 'center') { offset += eachSpacing / 2; } var scrollHeight = 0; if (opts.xAxis.scrollShow) { scrollHeight = 6 * opts.pix; } // 如果在主视图区域内 var _scrollDistance_ = opts._scrollDistance_ || 0; var truePoints = boundaryGap == 'center' ? xAxisPoints[index] + eachSpacing / 2 : xAxisPoints[index]; if (truePoints - Math.abs(_scrollDistance_) >= opts.area[3] - 1 && truePoints - Math.abs(_scrollDistance_) <= opts.width - opts.area[1] + 1) { context.beginPath(); context.setFontSize(xAxisFontSize); context.setFillStyle(opts.xAxis.fontColor || opts.fontColor); context.fillText(String(xitem), xAxisPoints[index] + offset, startY + opts.xAxis.marginTop * opts.pix + (opts.xAxis.lineHeight - opts.xAxis.fontSize) * opts.pix / 2 + opts.xAxis.fontSize * opts.pix); context.closePath(); context.stroke(); } }); } else { newCategories.forEach(function (item, index) { var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item) : item; // 如果在主视图区域内 var _scrollDistance_ = opts._scrollDistance_ || 0; var truePoints = boundaryGap == 'center' ? xAxisPoints[index] + eachSpacing / 2 : xAxisPoints[index]; if (truePoints - Math.abs(_scrollDistance_) >= opts.area[3] - 1 && truePoints - Math.abs(_scrollDistance_) <= opts.width - opts.area[1] + 1) { context.save(); context.beginPath(); context.setFontSize(xAxisFontSize); context.setFillStyle(opts.xAxis.fontColor || opts.fontColor); var textWidth = measureText(String(xitem), xAxisFontSize, context); var offsetX = xAxisPoints[index]; if (boundaryGap == 'center') { offsetX = xAxisPoints[index] + eachSpacing / 2; } var scrollHeight = 0; if (opts.xAxis.scrollShow) { scrollHeight = 6 * opts.pix; } var offsetY = startY + opts.xAxis.marginTop * opts.pix + xAxisFontSize - xAxisFontSize * Math.abs(Math.sin(config._xAxisTextAngle_)); if (opts.xAxis.rotateAngle < 0) { offsetX -= xAxisFontSize / 2; textWidth = 0; } else { offsetX += xAxisFontSize / 2; textWidth = -textWidth; } context.translate(offsetX, offsetY); context.rotate(-1 * config._xAxisTextAngle_); context.fillText(String(xitem), textWidth, 0); context.closePath(); context.stroke(); context.restore(); } }); } } context.restore(); //画X轴标题 if (opts.xAxis.title) { context.beginPath(); context.setFontSize(opts.xAxis.titleFontSize * opts.pix); context.setFillStyle(opts.xAxis.titleFontColor); context.fillText(String(opts.xAxis.title), opts.width - opts.area[1] + opts.xAxis.titleOffsetX * opts.pix, opts.height - opts.area[2] + opts.xAxis.marginTop * opts.pix + (opts.xAxis.lineHeight - opts.xAxis.titleFontSize) * opts.pix / 2 + (opts.xAxis.titleFontSize + opts.xAxis.titleOffsetY) * opts.pix); context.closePath(); context.stroke(); } //绘制X轴轴线 if (opts.xAxis.axisLine) { context.beginPath(); context.setStrokeStyle(opts.xAxis.axisLineColor); context.setLineWidth(1 * opts.pix); context.moveTo(startX, opts.height - opts.area[2]); context.lineTo(endX, opts.height - opts.area[2]); context.stroke(); } } function drawYAxisGrid(categories, opts, config, context) { if (opts.yAxis.disableGrid === true) { return; } var spacingValid = opts.height - opts.area[0] - opts.area[2]; var eachSpacing = spacingValid / opts.yAxis.splitNumber; var startX = opts.area[3]; var xAxisPoints = opts.chartData.xAxisData.xAxisPoints, xAxiseachSpacing = opts.chartData.xAxisData.eachSpacing; var TotalWidth = xAxiseachSpacing * (xAxisPoints.length - 1); if (opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1) { if (opts.extra.mount.widthRatio > 2) opts.extra.mount.widthRatio = 2; TotalWidth += (opts.extra.mount.widthRatio - 1) * xAxiseachSpacing; } var endX = startX + TotalWidth; var points = []; var startY = 1; if (opts.xAxis.axisLine === false) { startY = 0; } for (var i = startY; i < opts.yAxis.splitNumber + 1; i++) { points.push(opts.height - opts.area[2] - eachSpacing * i); } context.save(); if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) { context.translate(opts._scrollDistance_, 0); } if (opts.yAxis.gridType == 'dash') { context.setLineDash([opts.yAxis.dashLength * opts.pix, opts.yAxis.dashLength * opts.pix]); } context.setStrokeStyle(opts.yAxis.gridColor); context.setLineWidth(1 * opts.pix); points.forEach(function (item, index) { context.beginPath(); context.moveTo(startX, item); context.lineTo(endX, item); context.stroke(); }); context.setLineDash([]); context.restore(); } function drawYAxis(series, opts, config, context) { if (opts.yAxis.disabled === true) { return; } var spacingValid = opts.height - opts.area[0] - opts.area[2]; var eachSpacing = spacingValid / opts.yAxis.splitNumber; var startX = opts.area[3]; var endX = opts.width - opts.area[1]; var endY = opts.height - opts.area[2]; // set YAxis background context.beginPath(); context.setFillStyle(opts.background); if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'left') { context.fillRect(0, 0, startX, endY + 2 * opts.pix); } if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'right') { context.fillRect(endX, 0, opts.width, endY + 2 * opts.pix); } context.closePath(); context.stroke(); var tStartLeft = opts.area[3]; var tStartRight = opts.width - opts.area[1]; var tStartCenter = opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2; if (opts.yAxis.data) { var _loop4 = function _loop4(i) { var yData = opts.yAxis.data[i]; points = []; if (yData.type === 'categories') { for (var _i24 = 0; _i24 <= yData.categories.length; _i24++) { points.push(opts.area[0] + spacingValid / yData.categories.length / 2 + spacingValid / yData.categories.length * _i24); } } else { for (var _i25 = 0; _i25 <= opts.yAxis.splitNumber; _i25++) { points.push(opts.area[0] + eachSpacing * _i25); } } if (yData.disabled !== true) { var rangesFormat = opts.chartData.yAxisData.rangesFormat[i]; var yAxisFontSize = yData.fontSize ? yData.fontSize * opts.pix : config.fontSize; var yAxisWidth = opts.chartData.yAxisData.yAxisWidth[i]; var textAlign = yData.textAlign || "right"; //画Y轴刻度及文案 rangesFormat.forEach(function (item, index) { var pos = points[index]; context.beginPath(); context.setFontSize(yAxisFontSize); context.setLineWidth(1 * opts.pix); context.setStrokeStyle(yData.axisLineColor || '#cccccc'); context.setFillStyle(yData.fontColor || opts.fontColor); var tmpstrat = 0; var gapwidth = 4 * opts.pix; if (yAxisWidth.position == 'left') { //画刻度线 if (yData.calibration == true) { context.moveTo(tStartLeft, pos); context.lineTo(tStartLeft - 3 * opts.pix, pos); gapwidth += 3 * opts.pix; } //画文字 switch (textAlign) { case "left": context.setTextAlign('left'); tmpstrat = tStartLeft - yAxisWidth.width; break; case "right": context.setTextAlign('right'); tmpstrat = tStartLeft - gapwidth; break; default: context.setTextAlign('center'); tmpstrat = tStartLeft - yAxisWidth.width / 2; } context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix); } else if (yAxisWidth.position == 'right') { //画刻度线 if (yData.calibration == true) { context.moveTo(tStartRight, pos); context.lineTo(tStartRight + 3 * opts.pix, pos); gapwidth += 3 * opts.pix; } switch (textAlign) { case "left": context.setTextAlign('left'); tmpstrat = tStartRight + gapwidth; break; case "right": context.setTextAlign('right'); tmpstrat = tStartRight + yAxisWidth.width; break; default: context.setTextAlign('center'); tmpstrat = tStartRight + yAxisWidth.width / 2; } context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix); } else if (yAxisWidth.position == 'center') { //画刻度线 if (yData.calibration == true) { context.moveTo(tStartCenter, pos); context.lineTo(tStartCenter - 3 * opts.pix, pos); gapwidth += 3 * opts.pix; } //画文字 switch (textAlign) { case "left": context.setTextAlign('left'); tmpstrat = tStartCenter - yAxisWidth.width; break; case "right": context.setTextAlign('right'); tmpstrat = tStartCenter - gapwidth; break; default: context.setTextAlign('center'); tmpstrat = tStartCenter - yAxisWidth.width / 2; } context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix); } context.closePath(); context.stroke(); context.setTextAlign('left'); }); //画Y轴轴线 if (yData.axisLine !== false) { context.beginPath(); context.setStrokeStyle(yData.axisLineColor || '#cccccc'); context.setLineWidth(1 * opts.pix); if (yAxisWidth.position == 'left') { context.moveTo(tStartLeft, opts.height - opts.area[2]); context.lineTo(tStartLeft, opts.area[0]); } else if (yAxisWidth.position == 'right') { context.moveTo(tStartRight, opts.height - opts.area[2]); context.lineTo(tStartRight, opts.area[0]); } else if (yAxisWidth.position == 'center') { context.moveTo(tStartCenter, opts.height - opts.area[2]); context.lineTo(tStartCenter, opts.area[0]); } context.stroke(); } //画Y轴标题 if (opts.yAxis.showTitle) { var titleFontSize = yData.titleFontSize * opts.pix || config.fontSize; var title = yData.title; context.beginPath(); context.setFontSize(titleFontSize); context.setFillStyle(yData.titleFontColor || opts.fontColor); if (yAxisWidth.position == 'left') { context.fillText(title, tStartLeft - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix); } else if (yAxisWidth.position == 'right') { context.fillText(title, tStartRight - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix); } else if (yAxisWidth.position == 'center') { context.fillText(title, tStartCenter - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix); } context.closePath(); context.stroke(); } if (yAxisWidth.position == 'left') { tStartLeft -= yAxisWidth.width + opts.yAxis.padding * opts.pix; } else { tStartRight += yAxisWidth.width + opts.yAxis.padding * opts.pix; } } }; for (var i = 0; i < opts.yAxis.data.length; i++) { var points; _loop4(i); } } } function drawLegend(series, opts, config, context, chartData) { if (opts.legend.show === false) { return; } var legendData = chartData.legendData; var legendList = legendData.points; var legendArea = legendData.area; var padding = opts.legend.padding * opts.pix; var fontSize = opts.legend.fontSize * opts.pix; var shapeWidth = 15 * opts.pix; var shapeRight = 5 * opts.pix; var itemGap = opts.legend.itemGap * opts.pix; var lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize); //画背景及边框 context.beginPath(); context.setLineWidth(opts.legend.borderWidth * opts.pix); context.setStrokeStyle(opts.legend.borderColor); context.setFillStyle(opts.legend.backgroundColor); context.moveTo(legendArea.start.x, legendArea.start.y); context.rect(legendArea.start.x, legendArea.start.y, legendArea.width, legendArea.height); context.closePath(); context.fill(); context.stroke(); legendList.forEach(function (itemList, listIndex) { var width = 0; var height = 0; width = legendData.widthArr[listIndex]; height = legendData.heightArr[listIndex]; var startX = 0; var startY = 0; if (opts.legend.position == 'top' || opts.legend.position == 'bottom') { switch (opts.legend.float) { case 'left': startX = legendArea.start.x + padding; break; case 'right': startX = legendArea.start.x + legendArea.width - width; break; default: startX = legendArea.start.x + (legendArea.width - width) / 2; } startY = legendArea.start.y + padding + listIndex * lineHeight; } else { if (listIndex == 0) { width = 0; } else { width = legendData.widthArr[listIndex - 1]; } startX = legendArea.start.x + padding + width; startY = legendArea.start.y + padding + (legendArea.height - height) / 2; } context.setFontSize(config.fontSize); for (var i = 0; i < itemList.length; i++) { var item = itemList[i]; item.area = [0, 0, 0, 0]; item.area[0] = startX; item.area[1] = startY; item.area[3] = startY + lineHeight; context.beginPath(); context.setLineWidth(1 * opts.pix); context.setStrokeStyle(item.show ? item.color : opts.legend.hiddenColor); context.setFillStyle(item.show ? item.color : opts.legend.hiddenColor); switch (item.legendShape) { case 'line': context.moveTo(startX, startY + 0.5 * lineHeight - 2 * opts.pix); context.fillRect(startX, startY + 0.5 * lineHeight - 2 * opts.pix, 15 * opts.pix, 4 * opts.pix); break; case 'triangle': context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix); context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix); context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix); context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix); break; case 'diamond': context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix); context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight); context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix); context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight); context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix); break; case 'circle': context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight); context.arc(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight, 5 * opts.pix, 0, 2 * Math.PI); break; case 'rect': context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix); context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix); break; case 'square': context.moveTo(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix); context.fillRect(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix, 10 * opts.pix, 10 * opts.pix); break; case 'none': break; default: context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix); context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix); } context.closePath(); context.fill(); context.stroke(); startX += shapeWidth + shapeRight; var fontTrans = 0.5 * lineHeight + 0.5 * fontSize - 2; var legendText = item.legendText ? item.legendText : item.name; context.beginPath(); context.setFontSize(fontSize); context.setFillStyle(item.show ? opts.legend.fontColor : opts.legend.hiddenColor); context.fillText(legendText, startX, startY + fontTrans); context.closePath(); context.stroke(); if (opts.legend.position == 'top' || opts.legend.position == 'bottom') { startX += measureText(legendText, fontSize, context) + itemGap; item.area[2] = startX; } else { item.area[2] = startX + measureText(legendText, fontSize, context) + itemGap; ; startX -= shapeWidth + shapeRight; startY += lineHeight; } } }); } function drawPieDataPoints(series, opts, config, context) { var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; var pieOption = assign({}, { activeOpacity: 0.5, activeRadius: 10, offsetAngle: 0, labelWidth: 15, ringWidth: 30, customRadius: 0, border: false, borderWidth: 2, borderColor: '#FFFFFF', centerColor: '#FFFFFF', linearType: 'none', customColor: [] }, opts.type == "pie" ? opts.extra.pie : opts.extra.ring); var centerPosition = { x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2, y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2 }; if (config.pieChartLinePadding == 0) { config.pieChartLinePadding = pieOption.activeRadius * opts.pix; } var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding); radius = radius < 10 ? 10 : radius; if (pieOption.customRadius > 0) { radius = pieOption.customRadius * opts.pix; } series = getPieDataPoints(series, radius, process); var activeRadius = pieOption.activeRadius * opts.pix; pieOption.customColor = fillCustomColor(pieOption.linearType, pieOption.customColor, series, config); series = series.map(function (eachSeries) { eachSeries._start_ += pieOption.offsetAngle * Math.PI / 180; return eachSeries; }); series.forEach(function (eachSeries, seriesIndex) { if (opts.tooltip) { if (opts.tooltip.index == seriesIndex) { context.beginPath(); context.setFillStyle(hexToRgb(eachSeries.color, pieOption.activeOpacity || 0.5)); context.moveTo(centerPosition.x, centerPosition.y); context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_ + activeRadius, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI); context.closePath(); context.fill(); } } context.beginPath(); context.setLineWidth(pieOption.borderWidth * opts.pix); context.lineJoin = "round"; context.setStrokeStyle(pieOption.borderColor); var fillcolor = eachSeries.color; if (pieOption.linearType == 'custom') { var grd; if (context.createCircularGradient) { grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_); } else { grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0, centerPosition.x, centerPosition.y, eachSeries._radius_); } grd.addColorStop(0, hexToRgb(pieOption.customColor[eachSeries.linearIndex], 1)); grd.addColorStop(1, hexToRgb(eachSeries.color, 1)); fillcolor = grd; } context.setFillStyle(fillcolor); context.moveTo(centerPosition.x, centerPosition.y); context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI); context.closePath(); context.fill(); if (pieOption.border == true) { context.stroke(); } }); if (opts.type === 'ring') { var innerPieWidth = radius * 0.6; if (typeof pieOption.ringWidth === 'number' && pieOption.ringWidth > 0) { innerPieWidth = Math.max(0, radius - pieOption.ringWidth * opts.pix); } context.beginPath(); context.setFillStyle(pieOption.centerColor); context.moveTo(centerPosition.x, centerPosition.y); context.arc(centerPosition.x, centerPosition.y, innerPieWidth, 0, 2 * Math.PI); context.closePath(); context.fill(); } if (opts.dataLabel !== false && process === 1) { drawPieText(series, opts, config, context, radius, centerPosition); } if (process === 1 && opts.type === 'ring') { drawRingTitle(opts, config, context, centerPosition); } return { center: centerPosition, radius: radius, series: series }; } function drawRoseDataPoints(series, opts, config, context) { var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; var roseOption = assign({}, { type: 'area', activeOpacity: 0.5, activeRadius: 10, offsetAngle: 0, labelWidth: 15, border: false, borderWidth: 2, borderColor: '#FFFFFF', linearType: 'none', customColor: [] }, opts.extra.rose); if (config.pieChartLinePadding == 0) { config.pieChartLinePadding = roseOption.activeRadius * opts.pix; } var centerPosition = { x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2, y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2 }; var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding); radius = radius < 10 ? 10 : radius; var minRadius = roseOption.minRadius || radius * 0.5; if (radius < minRadius) { radius = minRadius + 10; } series = getRoseDataPoints(series, roseOption.type, minRadius, radius, process); var activeRadius = roseOption.activeRadius * opts.pix; roseOption.customColor = fillCustomColor(roseOption.linearType, roseOption.customColor, series, config); series = series.map(function (eachSeries) { eachSeries._start_ += (roseOption.offsetAngle || 0) * Math.PI / 180; return eachSeries; }); series.forEach(function (eachSeries, seriesIndex) { if (opts.tooltip) { if (opts.tooltip.index == seriesIndex) { context.beginPath(); context.setFillStyle(hexToRgb(eachSeries.color, roseOption.activeOpacity || 0.5)); context.moveTo(centerPosition.x, centerPosition.y); context.arc(centerPosition.x, centerPosition.y, activeRadius + eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI); context.closePath(); context.fill(); } } context.beginPath(); context.setLineWidth(roseOption.borderWidth * opts.pix); context.lineJoin = "round"; context.setStrokeStyle(roseOption.borderColor); var fillcolor = eachSeries.color; if (roseOption.linearType == 'custom') { var grd; if (context.createCircularGradient) { grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_); } else { grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0, centerPosition.x, centerPosition.y, eachSeries._radius_); } grd.addColorStop(0, hexToRgb(roseOption.customColor[eachSeries.linearIndex], 1)); grd.addColorStop(1, hexToRgb(eachSeries.color, 1)); fillcolor = grd; } context.setFillStyle(fillcolor); context.moveTo(centerPosition.x, centerPosition.y); context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI); context.closePath(); context.fill(); if (roseOption.border == true) { context.stroke(); } }); if (opts.dataLabel !== false && process === 1) { drawPieText(series, opts, config, context, radius, centerPosition); } return { center: centerPosition, radius: radius, series: series }; } function drawArcbarDataPoints(series, opts, config, context) { var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; var arcbarOption = assign({}, { startAngle: 0.75, endAngle: 0.25, type: 'default', direction: 'cw', lineCap: 'round', width: 12, gap: 2, linearType: 'none', customColor: [] }, opts.extra.arcbar); series = getArcbarDataPoints(series, arcbarOption, process); var centerPosition; if (arcbarOption.centerX || arcbarOption.centerY) { centerPosition = { x: arcbarOption.centerX ? arcbarOption.centerX : opts.width / 2, y: arcbarOption.centerY ? arcbarOption.centerY : opts.height / 2 }; } else { centerPosition = { x: opts.width / 2, y: opts.height / 2 }; } var radius; if (arcbarOption.radius) { radius = arcbarOption.radius; } else { radius = Math.min(centerPosition.x, centerPosition.y); radius -= 5 * opts.pix; radius -= arcbarOption.width / 2; } radius = radius < 10 ? 10 : radius; arcbarOption.customColor = fillCustomColor(arcbarOption.linearType, arcbarOption.customColor, series, config); for (var i = 0; i < series.length; i++) { var eachSeries = series[i]; //背景颜色 context.setLineWidth(arcbarOption.width * opts.pix); context.setStrokeStyle(arcbarOption.backgroundColor || '#E9E9E9'); context.setLineCap(arcbarOption.lineCap); context.beginPath(); if (arcbarOption.type == 'default') { context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, arcbarOption.endAngle * Math.PI, arcbarOption.direction == 'ccw'); } else { context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, 0, 2 * Math.PI, arcbarOption.direction == 'ccw'); } context.stroke(); //进度条 var fillColor = eachSeries.color; if (arcbarOption.linearType == 'custom') { var grd = context.createLinearGradient(centerPosition.x - radius, centerPosition.y, centerPosition.x + radius, centerPosition.y); grd.addColorStop(1, hexToRgb(arcbarOption.customColor[eachSeries.linearIndex], 1)); grd.addColorStop(0, hexToRgb(eachSeries.color, 1)); fillColor = grd; } context.setLineWidth(arcbarOption.width * opts.pix); context.setStrokeStyle(fillColor); context.setLineCap(arcbarOption.lineCap); context.beginPath(); context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, eachSeries._proportion_ * Math.PI, arcbarOption.direction == 'ccw'); context.stroke(); } drawRingTitle(opts, config, context, centerPosition); return { center: centerPosition, radius: radius, series: series }; } function drawGaugeDataPoints(categories, series, opts, config, context) { var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1; var gaugeOption = assign({}, { type: 'default', startAngle: 0.75, endAngle: 0.25, width: 15, labelOffset: 13, splitLine: { fixRadius: 0, splitNumber: 10, width: 15, color: '#FFFFFF', childNumber: 5, childWidth: 5 }, pointer: { width: 15, color: 'auto' } }, opts.extra.gauge); if (gaugeOption.oldAngle == undefined) { gaugeOption.oldAngle = gaugeOption.startAngle; } if (gaugeOption.oldData == undefined) { gaugeOption.oldData = 0; } categories = getGaugeAxisPoints(categories, gaugeOption.startAngle, gaugeOption.endAngle); var centerPosition = { x: opts.width / 2, y: opts.height / 2 }; var radius = Math.min(centerPosition.x, centerPosition.y); radius -= 5 * opts.pix; radius -= gaugeOption.width / 2; radius = radius < 10 ? 10 : radius; var innerRadius = radius - gaugeOption.width; var totalAngle = 0; //判断仪表盘的样式:default百度样式,progress新样式 if (gaugeOption.type == 'progress') { //## 第一步画中心圆形背景和进度条背景 //中心圆形背景 var pieRadius = radius - gaugeOption.width * 3; context.beginPath(); var gradient = context.createLinearGradient(centerPosition.x, centerPosition.y - pieRadius, centerPosition.x, centerPosition.y + pieRadius); //配置渐变填充(起点:中心点向上减半径;结束点中心点向下加半径) gradient.addColorStop('0', hexToRgb(series[0].color, 0.3)); gradient.addColorStop('1.0', hexToRgb("#FFFFFF", 0.1)); context.setFillStyle(gradient); context.arc(centerPosition.x, centerPosition.y, pieRadius, 0, 2 * Math.PI, false); context.fill(); //画进度条背景 context.setLineWidth(gaugeOption.width); context.setStrokeStyle(hexToRgb(series[0].color, 0.3)); context.setLineCap('round'); context.beginPath(); context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, gaugeOption.endAngle * Math.PI, false); context.stroke(); //## 第二步画刻度线 if (gaugeOption.endAngle < gaugeOption.startAngle) { totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle; } else { totalAngle = gaugeOption.startAngle - gaugeOption.endAngle; } var splitAngle = totalAngle / gaugeOption.splitLine.splitNumber; var childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber; var startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius; var endX = -radius - gaugeOption.width - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width; context.save(); context.translate(centerPosition.x, centerPosition.y); context.rotate((gaugeOption.startAngle - 1) * Math.PI); var len = gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1; var proc = series[0].data * process; for (var i = 0; i < len; i++) { context.beginPath(); //刻度线随进度变色 if (proc > i / len) { context.setStrokeStyle(hexToRgb(series[0].color, 1)); } else { context.setStrokeStyle(hexToRgb(series[0].color, 0.3)); } context.setLineWidth(3 * opts.pix); context.moveTo(startX, 0); context.lineTo(endX, 0); context.stroke(); context.rotate(childAngle * Math.PI); } context.restore(); //## 第三步画进度条 series = getGaugeArcbarDataPoints(series, gaugeOption, process); context.setLineWidth(gaugeOption.width); context.setStrokeStyle(series[0].color); context.setLineCap('round'); context.beginPath(); context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, series[0]._proportion_ * Math.PI, false); context.stroke(); //## 第四步画指针 var pointerRadius = radius - gaugeOption.width * 2.5; context.save(); context.translate(centerPosition.x, centerPosition.y); context.rotate((series[0]._proportion_ - 1) * Math.PI); context.beginPath(); context.setLineWidth(gaugeOption.width / 3); var gradient3 = context.createLinearGradient(0, -pointerRadius * 0.6, 0, pointerRadius * 0.6); gradient3.addColorStop('0', hexToRgb('#FFFFFF', 0)); gradient3.addColorStop('0.5', hexToRgb(series[0].color, 1)); gradient3.addColorStop('1.0', hexToRgb('#FFFFFF', 0)); context.setStrokeStyle(gradient3); context.arc(0, 0, pointerRadius, 0.85 * Math.PI, 1.15 * Math.PI, false); context.stroke(); context.beginPath(); context.setLineWidth(1); context.setStrokeStyle(series[0].color); context.setFillStyle(series[0].color); context.moveTo(-pointerRadius - gaugeOption.width / 3 / 2, -4); context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2 - 4, 0); context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, 4); context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, -4); context.stroke(); context.fill(); context.restore(); //default百度样式 } else { //画背景 context.setLineWidth(gaugeOption.width); context.setLineCap('butt'); for (var _i26 = 0; _i26 < categories.length; _i26++) { var eachCategories = categories[_i26]; context.beginPath(); context.setStrokeStyle(eachCategories.color); context.arc(centerPosition.x, centerPosition.y, radius, eachCategories._startAngle_ * Math.PI, eachCategories._endAngle_ * Math.PI, false); context.stroke(); } context.save(); //画刻度线 if (gaugeOption.endAngle < gaugeOption.startAngle) { totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle; } else { totalAngle = gaugeOption.startAngle - gaugeOption.endAngle; } var _splitAngle = totalAngle / gaugeOption.splitLine.splitNumber; var _childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber; var _startX2 = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius; var _endX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width; var childendX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.childWidth; context.translate(centerPosition.x, centerPosition.y); context.rotate((gaugeOption.startAngle - 1) * Math.PI); for (var _i27 = 0; _i27 < gaugeOption.splitLine.splitNumber + 1; _i27++) { context.beginPath(); context.setStrokeStyle(gaugeOption.splitLine.color); context.setLineWidth(2 * opts.pix); context.moveTo(_startX2, 0); context.lineTo(_endX, 0); context.stroke(); context.rotate(_splitAngle * Math.PI); } context.restore(); context.save(); context.translate(centerPosition.x, centerPosition.y); context.rotate((gaugeOption.startAngle - 1) * Math.PI); for (var _i28 = 0; _i28 < gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1; _i28++) { context.beginPath(); context.setStrokeStyle(gaugeOption.splitLine.color); context.setLineWidth(1 * opts.pix); context.moveTo(_startX2, 0); context.lineTo(childendX, 0); context.stroke(); context.rotate(_childAngle * Math.PI); } context.restore(); //画指针 series = getGaugeDataPoints(series, categories, gaugeOption, process); for (var _i29 = 0; _i29 < series.length; _i29++) { var eachSeries = series[_i29]; context.save(); context.translate(centerPosition.x, centerPosition.y); context.rotate((eachSeries._proportion_ - 1) * Math.PI); context.beginPath(); context.setFillStyle(eachSeries.color); context.moveTo(gaugeOption.pointer.width, 0); context.lineTo(0, -gaugeOption.pointer.width / 2); context.lineTo(-innerRadius, 0); context.lineTo(0, gaugeOption.pointer.width / 2); context.lineTo(gaugeOption.pointer.width, 0); context.closePath(); context.fill(); context.beginPath(); context.setFillStyle('#FFFFFF'); context.arc(0, 0, gaugeOption.pointer.width / 6, 0, 2 * Math.PI, false); context.fill(); context.restore(); } if (opts.dataLabel !== false) { drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context); } } //画仪表盘标题,副标题 drawRingTitle(opts, config, context, centerPosition); if (process === 1 && opts.type === 'gauge') { opts.extra.gauge.oldAngle = series[0]._proportion_; opts.extra.gauge.oldData = series[0].data; } return { center: centerPosition, radius: radius, innerRadius: innerRadius, categories: categories, totalAngle: totalAngle }; } function drawRadarDataPoints(series, opts, config, context) { var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; var radarOption = assign({}, { gridColor: '#cccccc', gridType: 'radar', gridEval: 1, axisLabel: false, axisLabelTofix: 0, labelShow: true, labelColor: '#666666', labelPointShow: false, labelPointRadius: 3, labelPointColor: '#cccccc', opacity: 0.2, gridCount: 3, border: false, borderWidth: 2, linearType: 'none', customColor: [] }, opts.extra.radar); var coordinateAngle = getRadarCoordinateSeries(opts.categories.length); var centerPosition = { x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2, y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2 }; var xr = (opts.width - opts.area[1] - opts.area[3]) / 2; var yr = (opts.height - opts.area[0] - opts.area[2]) / 2; var radius = Math.min(xr - (getMaxTextListLength(opts.categories, config.fontSize, context) + config.radarLabelTextMargin), yr - config.radarLabelTextMargin); radius -= config.radarLabelTextMargin * opts.pix; radius = radius < 10 ? 10 : radius; radius = radarOption.radius ? radarOption.radius : radius; // 画分割线 context.beginPath(); context.setLineWidth(1 * opts.pix); context.setStrokeStyle(radarOption.gridColor); coordinateAngle.forEach(function (angle, index) { var pos = convertCoordinateOrigin(radius * Math.cos(angle), radius * Math.sin(angle), centerPosition); context.moveTo(centerPosition.x, centerPosition.y); if (index % radarOption.gridEval == 0) { context.lineTo(pos.x, pos.y); } }); context.stroke(); context.closePath(); // 画背景网格 var _loop = function _loop(i) { var startPos = {}; context.beginPath(); context.setLineWidth(1 * opts.pix); context.setStrokeStyle(radarOption.gridColor); if (radarOption.gridType == 'radar') { coordinateAngle.forEach(function (angle, index) { var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(angle), radius / radarOption.gridCount * i * Math.sin(angle), centerPosition); if (index === 0) { startPos = pos; context.moveTo(pos.x, pos.y); } else { context.lineTo(pos.x, pos.y); } }); context.lineTo(startPos.x, startPos.y); } else { var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(1.5), radius / radarOption.gridCount * i * Math.sin(1.5), centerPosition); context.arc(centerPosition.x, centerPosition.y, centerPosition.y - pos.y, 0, 2 * Math.PI, false); } context.stroke(); context.closePath(); }; for (var i = 1; i <= radarOption.gridCount; i++) { _loop(i); } radarOption.customColor = fillCustomColor(radarOption.linearType, radarOption.customColor, series, config); var radarDataPoints = getRadarDataPoints(coordinateAngle, centerPosition, radius, series, opts, process); radarDataPoints.forEach(function (eachSeries, seriesIndex) { // 绘制区域数据 context.beginPath(); context.setLineWidth(radarOption.borderWidth * opts.pix); context.setStrokeStyle(eachSeries.color); var fillcolor = hexToRgb(eachSeries.color, radarOption.opacity); if (radarOption.linearType == 'custom') { var grd; if (context.createCircularGradient) { grd = context.createCircularGradient(centerPosition.x, centerPosition.y, radius); } else { grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0, centerPosition.x, centerPosition.y, radius); } grd.addColorStop(0, hexToRgb(radarOption.customColor[series[seriesIndex].linearIndex], radarOption.opacity)); grd.addColorStop(1, hexToRgb(eachSeries.color, radarOption.opacity)); fillcolor = grd; } context.setFillStyle(fillcolor); eachSeries.data.forEach(function (item, index) { if (index === 0) { context.moveTo(item.position.x, item.position.y); } else { context.lineTo(item.position.x, item.position.y); } }); context.closePath(); context.fill(); if (radarOption.border === true) { context.stroke(); } context.closePath(); if (opts.dataPointShape !== false) { var points = eachSeries.data.map(function (item) { return item.position; }); drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts); } }); // 画刻度值 if (radarOption.axisLabel === true) { var maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series))); var stepLength = radius / radarOption.gridCount; var fontSize = opts.fontSize * opts.pix; context.setFontSize(fontSize); context.setFillStyle(opts.fontColor); context.setTextAlign('left'); for (var i = 0; i < radarOption.gridCount + 1; i++) { var label = i * maxData / radarOption.gridCount; label = label.toFixed(radarOption.axisLabelTofix); context.fillText(String(label), centerPosition.x + 3 * opts.pix, centerPosition.y - i * stepLength + fontSize / 2); } } // draw label text drawRadarLabel(coordinateAngle, radius, centerPosition, opts, config, context); // draw dataLabel if (opts.dataLabel !== false && process === 1) { radarDataPoints.forEach(function (eachSeries, seriesIndex) { context.beginPath(); var fontSize = eachSeries.textSize * opts.pix || config.fontSize; context.setFontSize(fontSize); context.setFillStyle(eachSeries.textColor || opts.fontColor); eachSeries.data.forEach(function (item, index) { //如果是中心点垂直的上下点位 if (Math.abs(item.position.x - centerPosition.x) < 2) { //如果在上面 if (item.position.y < centerPosition.y) { context.setTextAlign('center'); context.fillText(item.value, item.position.x, item.position.y - 4); } else { context.setTextAlign('center'); context.fillText(item.value, item.position.x, item.position.y + fontSize + 2); } } else { //如果在左侧 if (item.position.x < centerPosition.x) { context.setTextAlign('right'); context.fillText(item.value, item.position.x - 4, item.position.y + fontSize / 2 - 2); } else { context.setTextAlign('left'); context.fillText(item.value, item.position.x + 4, item.position.y + fontSize / 2 - 2); } } }); context.closePath(); context.stroke(); }); context.setTextAlign('left'); } return { center: centerPosition, radius: radius, angleList: coordinateAngle }; } // 经纬度转墨卡托 function lonlat2mercator(longitude, latitude) { var mercator = Array(2); var x = longitude * 20037508.34 / 180; var y = Math.log(Math.tan((90 + latitude) * Math.PI / 360)) / (Math.PI / 180); y = y * 20037508.34 / 180; mercator[0] = x; mercator[1] = y; return mercator; } // 墨卡托转经纬度 function mercator2lonlat(longitude, latitude) { var lonlat = Array(2); var x = longitude / 20037508.34 * 180; var y = latitude / 20037508.34 * 180; y = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2); lonlat[0] = x; lonlat[1] = y; return lonlat; } function getBoundingBox(data) { var bounds = {}, coords; bounds.xMin = 180; bounds.xMax = 0; bounds.yMin = 90; bounds.yMax = 0; for (var i = 0; i < data.length; i++) { var coorda = data[i].geometry.coordinates; for (var k = 0; k < coorda.length; k++) { coords = coorda[k]; if (coords.length == 1) { coords = coords[0]; } for (var j = 0; j < coords.length; j++) { var longitude = coords[j][0]; var latitude = coords[j][1]; var point = { x: longitude, y: latitude }; bounds.xMin = bounds.xMin < point.x ? bounds.xMin : point.x; bounds.xMax = bounds.xMax > point.x ? bounds.xMax : point.x; bounds.yMin = bounds.yMin < point.y ? bounds.yMin : point.y; bounds.yMax = bounds.yMax > point.y ? bounds.yMax : point.y; } } } return bounds; } function coordinateToPoint(latitude, longitude, bounds, scale, xoffset, yoffset) { return { x: (longitude - bounds.xMin) * scale + xoffset, y: (bounds.yMax - latitude) * scale + yoffset }; } function pointToCoordinate(pointY, pointX, bounds, scale, xoffset, yoffset) { return { x: (pointX - xoffset) / scale + bounds.xMin, y: bounds.yMax - (pointY - yoffset) / scale }; } function isRayIntersectsSegment(poi, s_poi, e_poi) { if (s_poi[1] == e_poi[1]) { return false; } if (s_poi[1] > poi[1] && e_poi[1] > poi[1]) { return false; } if (s_poi[1] < poi[1] && e_poi[1] < poi[1]) { return false; } if (s_poi[1] == poi[1] && e_poi[1] > poi[1]) { return false; } if (e_poi[1] == poi[1] && s_poi[1] > poi[1]) { return false; } if (s_poi[0] < poi[0] && e_poi[1] < poi[1]) { return false; } var xseg = e_poi[0] - (e_poi[0] - s_poi[0]) * (e_poi[1] - poi[1]) / (e_poi[1] - s_poi[1]); if (xseg < poi[0]) { return false; } else { return true; } } function isPoiWithinPoly(poi, poly, mercator) { var sinsc = 0; for (var i = 0; i < poly.length; i++) { var epoly = poly[i][0]; if (poly.length == 1) { epoly = poly[i][0]; } for (var j = 0; j < epoly.length - 1; j++) { var s_poi = epoly[j]; var e_poi = epoly[j + 1]; if (mercator) { s_poi = lonlat2mercator(epoly[j][0], epoly[j][1]); e_poi = lonlat2mercator(epoly[j + 1][0], epoly[j + 1][1]); } if (isRayIntersectsSegment(poi, s_poi, e_poi)) { sinsc += 1; } } } if (sinsc % 2 == 1) { return true; } else { return false; } } function drawMapDataPoints(series, opts, config, context) { var mapOption = assign({}, { border: true, mercator: false, borderWidth: 1, active: true, borderColor: '#666666', fillOpacity: 0.6, activeBorderColor: '#f04864', activeFillColor: '#facc14', activeFillOpacity: 1 }, opts.extra.map); var coords, point; var data = series; var bounds = getBoundingBox(data); if (mapOption.mercator) { var max = lonlat2mercator(bounds.xMax, bounds.yMax); var min = lonlat2mercator(bounds.xMin, bounds.yMin); bounds.xMax = max[0]; bounds.yMax = max[1]; bounds.xMin = min[0]; bounds.yMin = min[1]; } var xScale = opts.width / Math.abs(bounds.xMax - bounds.xMin); var yScale = opts.height / Math.abs(bounds.yMax - bounds.yMin); var scale = xScale < yScale ? xScale : yScale; var xoffset = opts.width / 2 - Math.abs(bounds.xMax - bounds.xMin) / 2 * scale; var yoffset = opts.height / 2 - Math.abs(bounds.yMax - bounds.yMin) / 2 * scale; for (var i = 0; i < data.length; i++) { context.beginPath(); context.setLineWidth(mapOption.borderWidth * opts.pix); context.setStrokeStyle(mapOption.borderColor); context.setFillStyle(hexToRgb(series[i].color, series[i].fillOpacity || mapOption.fillOpacity)); if (mapOption.active == true && opts.tooltip) { if (opts.tooltip.index == i) { context.setStrokeStyle(mapOption.activeBorderColor); context.setFillStyle(hexToRgb(mapOption.activeFillColor, mapOption.activeFillOpacity)); } } var coorda = data[i].geometry.coordinates; for (var k = 0; k < coorda.length; k++) { coords = coorda[k]; if (coords.length == 1) { coords = coords[0]; } for (var j = 0; j < coords.length; j++) { var gaosi = Array(2); if (mapOption.mercator) { gaosi = lonlat2mercator(coords[j][0], coords[j][1]); } else { gaosi = coords[j]; } point = coordinateToPoint(gaosi[1], gaosi[0], bounds, scale, xoffset, yoffset); if (j === 0) { context.beginPath(); context.moveTo(point.x, point.y); } else { context.lineTo(point.x, point.y); } } context.fill(); if (mapOption.border == true) { context.stroke(); } } } if (opts.dataLabel == true) { for (var i = 0; i < data.length; i++) { var centerPoint = data[i].properties.centroid; if (centerPoint) { if (mapOption.mercator) { centerPoint = lonlat2mercator(data[i].properties.centroid[0], data[i].properties.centroid[1]); } point = coordinateToPoint(centerPoint[1], centerPoint[0], bounds, scale, xoffset, yoffset); var fontSize = data[i].textSize * opts.pix || config.fontSize; var fontColor = data[i].textColor || opts.fontColor; if (mapOption.active && mapOption.activeTextColor && opts.tooltip && opts.tooltip.index == i) { fontColor = mapOption.activeTextColor; } var text = data[i].properties.name; context.beginPath(); context.setFontSize(fontSize); context.setFillStyle(fontColor); context.fillText(text, point.x - measureText(text, fontSize, context) / 2, point.y + fontSize / 2); context.closePath(); context.stroke(); } } } opts.chartData.mapData = { bounds: bounds, scale: scale, xoffset: xoffset, yoffset: yoffset, mercator: mapOption.mercator }; drawToolTipBridge(opts, config, context, 1); context.draw(); } function normalInt(min, max, iter) { iter = iter == 0 ? 1 : iter; var arr = []; for (var i = 0; i < iter; i++) { arr[i] = Math.random(); } ; return Math.floor(arr.reduce(function (i, j) { return i + j; }) / iter * (max - min)) + min; } ; function collisionNew(area, points, width, height) { var isIn = false; for (var i = 0; i < points.length; i++) { if (points[i].area) { if (area[3] < points[i].area[1] || area[0] > points[i].area[2] || area[1] > points[i].area[3] || area[2] < points[i].area[0]) { if (area[0] < 0 || area[1] < 0 || area[2] > width || area[3] > height) { isIn = true; break; } else { isIn = false; } } else { isIn = true; break; } } } return isIn; } ; function getWordCloudPoint(opts, type, context) { var points = opts.series; switch (type) { case 'normal': for (var i = 0; i < points.length; i++) { var text = points[i].name; var tHeight = points[i].textSize * opts.pix; var tWidth = measureText(text, tHeight, context); var x = void 0, y = void 0; var area = void 0; var breaknum = 0; while (true) { breaknum++; x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2; y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2; area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 + opts.height / 2]; var isCollision = collisionNew(area, points, opts.width, opts.height); if (!isCollision) break; if (breaknum == 1000) { area = [-100, -100, -100, -100]; break; } } ; points[i].area = area; } break; case 'vertical': var Spin = function Spin() { //获取均匀随机值,是否旋转,旋转的概率为(1-0.5) if (Math.random() > 0.7) { return true; } else { return false; } ; }; ; for (var _i30 = 0; _i30 < points.length; _i30++) { var _text = points[_i30].name; var _tHeight = points[_i30].textSize * opts.pix; var _tWidth = measureText(_text, _tHeight, context); var isSpin = Spin(); var _x = void 0, _y = void 0, _area = void 0, areav = void 0; var _breaknum = 0; while (true) { _breaknum++; var _isCollision = void 0; if (isSpin) { _x = normalInt(-opts.width / 2, opts.width / 2, 5) - _tWidth / 2; _y = normalInt(-opts.height / 2, opts.height / 2, 5) + _tHeight / 2; _area = [_y - 5 - _tWidth + opts.width / 2, -_x - 5 + opts.height / 2, _y + 5 + opts.width / 2, -_x + _tHeight + 5 + opts.height / 2]; areav = [opts.width - (opts.width / 2 - opts.height / 2) - (-_x + _tHeight + 5 + opts.height / 2) - 5, opts.height / 2 - opts.width / 2 + (_y - 5 - _tWidth + opts.width / 2) - 5, opts.width - (opts.width / 2 - opts.height / 2) - (-_x + _tHeight + 5 + opts.height / 2) + _tHeight, opts.height / 2 - opts.width / 2 + (_y - 5 - _tWidth + opts.width / 2) + _tWidth + 5]; _isCollision = collisionNew(areav, points, opts.height, opts.width); } else { _x = normalInt(-opts.width / 2, opts.width / 2, 5) - _tWidth / 2; _y = normalInt(-opts.height / 2, opts.height / 2, 5) + _tHeight / 2; _area = [_x - 5 + opts.width / 2, _y - 5 - _tHeight + opts.height / 2, _x + _tWidth + 5 + opts.width / 2, _y + 5 + opts.height / 2]; _isCollision = collisionNew(_area, points, opts.width, opts.height); } if (!_isCollision) break; if (_breaknum == 1000) { _area = [-1000, -1000, -1000, -1000]; break; } } ; if (isSpin) { points[_i30].area = areav; points[_i30].areav = _area; } else { points[_i30].area = _area; } points[_i30].rotate = isSpin; } ; break; } return points; } function drawWordCloudDataPoints(series, opts, config, context) { var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; var wordOption = assign({}, { type: 'normal', autoColors: true }, opts.extra.word); if (!opts.chartData.wordCloudData) { opts.chartData.wordCloudData = getWordCloudPoint(opts, wordOption.type, context); } context.beginPath(); context.setFillStyle(opts.background); context.rect(0, 0, opts.width, opts.height); context.fill(); context.save(); var points = opts.chartData.wordCloudData; context.translate(opts.width / 2, opts.height / 2); for (var i = 0; i < points.length; i++) { context.save(); if (points[i].rotate) { context.rotate(90 * Math.PI / 180); } var text = points[i].name; var tHeight = points[i].textSize * opts.pix; var tWidth = measureText(text, tHeight, context); context.beginPath(); context.setStrokeStyle(points[i].color); context.setFillStyle(points[i].color); context.setFontSize(tHeight); if (points[i].rotate) { if (points[i].areav[0] > 0) { if (opts.tooltip) { if (opts.tooltip.index == i) { context.strokeText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process); } else { context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process); } } else { context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process); } } } else { if (points[i].area[0] > 0) { if (opts.tooltip) { if (opts.tooltip.index == i) { context.strokeText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process); } else { context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process); } } else { context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process); } } } context.stroke(); context.restore(); } context.restore(); } function drawFunnelDataPoints(series, opts, config, context) { var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; var funnelOption = assign({}, { type: 'funnel', activeWidth: 10, activeOpacity: 0.3, border: false, borderWidth: 2, borderColor: '#FFFFFF', fillOpacity: 1, minSize: 0, labelAlign: 'right', linearType: 'none', customColor: [] }, opts.extra.funnel); var eachSpacing = (opts.height - opts.area[0] - opts.area[2]) / series.length; var centerPosition = { x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2, y: opts.height - opts.area[2] }; var activeWidth = funnelOption.activeWidth * opts.pix; var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - activeWidth, (opts.height - opts.area[0] - opts.area[2]) / 2 - activeWidth); var seriesNew = getFunnelDataPoints(series, radius, funnelOption, eachSpacing, process); context.save(); context.translate(centerPosition.x, centerPosition.y); funnelOption.customColor = fillCustomColor(funnelOption.linearType, funnelOption.customColor, series, config); if (funnelOption.type == 'pyramid') { for (var i = 0; i < seriesNew.length; i++) { if (i == seriesNew.length - 1) { if (opts.tooltip) { if (opts.tooltip.index == i) { context.beginPath(); context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity)); context.moveTo(-activeWidth, -eachSpacing); context.lineTo(-seriesNew[i].radius - activeWidth, 0); context.lineTo(seriesNew[i].radius + activeWidth, 0); context.lineTo(activeWidth, -eachSpacing); context.lineTo(-activeWidth, -eachSpacing); context.closePath(); context.fill(); } } seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * i]; context.beginPath(); context.setLineWidth(funnelOption.borderWidth * opts.pix); context.setStrokeStyle(funnelOption.borderColor); var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity); if (funnelOption.linearType == 'custom') { var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing); grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity)); grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); fillColor = grd; } context.setFillStyle(fillColor); context.moveTo(0, -eachSpacing); context.lineTo(-seriesNew[i].radius, 0); context.lineTo(seriesNew[i].radius, 0); context.lineTo(0, -eachSpacing); context.closePath(); context.fill(); if (funnelOption.border == true) { context.stroke(); } } else { if (opts.tooltip) { if (opts.tooltip.index == i) { context.beginPath(); context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity)); context.moveTo(0, 0); context.lineTo(-seriesNew[i].radius - activeWidth, 0); context.lineTo(-seriesNew[i + 1].radius - activeWidth, -eachSpacing); context.lineTo(seriesNew[i + 1].radius + activeWidth, -eachSpacing); context.lineTo(seriesNew[i].radius + activeWidth, 0); context.lineTo(0, 0); context.closePath(); context.fill(); } } seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * i]; context.beginPath(); context.setLineWidth(funnelOption.borderWidth * opts.pix); context.setStrokeStyle(funnelOption.borderColor); var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity); if (funnelOption.linearType == 'custom') { var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing); grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity)); grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); fillColor = grd; } context.setFillStyle(fillColor); context.moveTo(0, 0); context.lineTo(-seriesNew[i].radius, 0); context.lineTo(-seriesNew[i + 1].radius, -eachSpacing); context.lineTo(seriesNew[i + 1].radius, -eachSpacing); context.lineTo(seriesNew[i].radius, 0); context.lineTo(0, 0); context.closePath(); context.fill(); if (funnelOption.border == true) { context.stroke(); } } context.translate(0, -eachSpacing); } } else { context.translate(0, -(seriesNew.length - 1) * eachSpacing); for (var _i31 = 0; _i31 < seriesNew.length; _i31++) { if (_i31 == seriesNew.length - 1) { if (opts.tooltip) { if (opts.tooltip.index == _i31) { context.beginPath(); context.setFillStyle(hexToRgb(seriesNew[_i31].color, funnelOption.activeOpacity)); context.moveTo(-activeWidth - funnelOption.minSize / 2, 0); context.lineTo(-seriesNew[_i31].radius - activeWidth, -eachSpacing); context.lineTo(seriesNew[_i31].radius + activeWidth, -eachSpacing); context.lineTo(activeWidth + funnelOption.minSize / 2, 0); context.lineTo(-activeWidth - funnelOption.minSize / 2, 0); context.closePath(); context.fill(); } } seriesNew[_i31].funnelArea = [centerPosition.x - seriesNew[_i31].radius, centerPosition.y - eachSpacing, centerPosition.x + seriesNew[_i31].radius, centerPosition.y]; context.beginPath(); context.setLineWidth(funnelOption.borderWidth * opts.pix); context.setStrokeStyle(funnelOption.borderColor); var fillColor = hexToRgb(seriesNew[_i31].color, funnelOption.fillOpacity); if (funnelOption.linearType == 'custom') { var grd = context.createLinearGradient(seriesNew[_i31].radius, -eachSpacing, -seriesNew[_i31].radius, -eachSpacing); grd.addColorStop(0, hexToRgb(seriesNew[_i31].color, funnelOption.fillOpacity)); grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[_i31].linearIndex], funnelOption.fillOpacity)); grd.addColorStop(1, hexToRgb(seriesNew[_i31].color, funnelOption.fillOpacity)); fillColor = grd; } context.setFillStyle(fillColor); context.moveTo(0, 0); context.lineTo(-funnelOption.minSize / 2, 0); context.lineTo(-seriesNew[_i31].radius, -eachSpacing); context.lineTo(seriesNew[_i31].radius, -eachSpacing); context.lineTo(funnelOption.minSize / 2, 0); context.lineTo(0, 0); context.closePath(); context.fill(); if (funnelOption.border == true) { context.stroke(); } } else { if (opts.tooltip) { if (opts.tooltip.index == _i31) { context.beginPath(); context.setFillStyle(hexToRgb(seriesNew[_i31].color, funnelOption.activeOpacity)); context.moveTo(0, 0); context.lineTo(-seriesNew[_i31 + 1].radius - activeWidth, 0); context.lineTo(-seriesNew[_i31].radius - activeWidth, -eachSpacing); context.lineTo(seriesNew[_i31].radius + activeWidth, -eachSpacing); context.lineTo(seriesNew[_i31 + 1].radius + activeWidth, 0); context.lineTo(0, 0); context.closePath(); context.fill(); } } seriesNew[_i31].funnelArea = [centerPosition.x - seriesNew[_i31].radius, centerPosition.y - eachSpacing * (seriesNew.length - _i31), centerPosition.x + seriesNew[_i31].radius, centerPosition.y - eachSpacing * (seriesNew.length - _i31 - 1)]; context.beginPath(); context.setLineWidth(funnelOption.borderWidth * opts.pix); context.setStrokeStyle(funnelOption.borderColor); var fillColor = hexToRgb(seriesNew[_i31].color, funnelOption.fillOpacity); if (funnelOption.linearType == 'custom') { var grd = context.createLinearGradient(seriesNew[_i31].radius, -eachSpacing, -seriesNew[_i31].radius, -eachSpacing); grd.addColorStop(0, hexToRgb(seriesNew[_i31].color, funnelOption.fillOpacity)); grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[_i31].linearIndex], funnelOption.fillOpacity)); grd.addColorStop(1, hexToRgb(seriesNew[_i31].color, funnelOption.fillOpacity)); fillColor = grd; } context.setFillStyle(fillColor); context.moveTo(0, 0); context.lineTo(-seriesNew[_i31 + 1].radius, 0); context.lineTo(-seriesNew[_i31].radius, -eachSpacing); context.lineTo(seriesNew[_i31].radius, -eachSpacing); context.lineTo(seriesNew[_i31 + 1].radius, 0); context.lineTo(0, 0); context.closePath(); context.fill(); if (funnelOption.border == true) { context.stroke(); } } context.translate(0, eachSpacing); } } context.restore(); if (opts.dataLabel !== false && process === 1) { drawFunnelText(seriesNew, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition); } if (process === 1) { drawFunnelCenterText(seriesNew, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition); } return { center: centerPosition, radius: radius, series: seriesNew }; } function drawFunnelText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) { for (var i = 0; i < series.length; i++) { var item = series[i]; if (item.labelShow === false) { continue; } var startX = void 0, endX = void 0, startY = void 0, fontSize = void 0; var text = item.formatter ? item.formatter(item, i, series, opts) : util.toFixed(item._proportion_ * 100) + '%'; text = item.labelText ? item.labelText : text; if (labelAlign == 'right') { if (i == series.length - 1) { startX = (item.funnelArea[2] + centerPosition.x) / 2; } else { startX = (item.funnelArea[2] + series[i + 1].funnelArea[2]) / 2; } endX = startX + activeWidth * 2; startY = item.funnelArea[1] + eachSpacing / 2; fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix; context.setLineWidth(1 * opts.pix); context.setStrokeStyle(item.color); context.setFillStyle(item.color); context.beginPath(); context.moveTo(startX, startY); context.lineTo(endX, startY); context.stroke(); context.closePath(); context.beginPath(); context.moveTo(endX, startY); context.arc(endX, startY, 2 * opts.pix, 0, 2 * Math.PI); context.closePath(); context.fill(); context.beginPath(); context.setFontSize(fontSize); context.setFillStyle(item.textColor || opts.fontColor); context.fillText(text, endX + 5, startY + fontSize / 2 - 2); context.closePath(); context.stroke(); context.closePath(); } if (labelAlign == 'left') { if (i == series.length - 1) { startX = (item.funnelArea[0] + centerPosition.x) / 2; } else { startX = (item.funnelArea[0] + series[i + 1].funnelArea[0]) / 2; } endX = startX - activeWidth * 2; startY = item.funnelArea[1] + eachSpacing / 2; fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix; context.setLineWidth(1 * opts.pix); context.setStrokeStyle(item.color); context.setFillStyle(item.color); context.beginPath(); context.moveTo(startX, startY); context.lineTo(endX, startY); context.stroke(); context.closePath(); context.beginPath(); context.moveTo(endX, startY); context.arc(endX, startY, 2, 0, 2 * Math.PI); context.closePath(); context.fill(); context.beginPath(); context.setFontSize(fontSize); context.setFillStyle(item.textColor || opts.fontColor); context.fillText(text, endX - 5 - measureText(text, fontSize, context), startY + fontSize / 2 - 2); context.closePath(); context.stroke(); context.closePath(); } } } function drawFunnelCenterText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) { for (var i = 0; i < series.length; i++) { var item = series[i]; var startY = void 0, fontSize = void 0; if (item.centerText) { startY = item.funnelArea[1] + eachSpacing / 2; fontSize = item.centerTextSize * opts.pix || opts.fontSize * opts.pix; context.beginPath(); context.setFontSize(fontSize); context.setFillStyle(item.centerTextColor || "#FFFFFF"); context.fillText(item.centerText, centerPosition.x - measureText(item.centerText, fontSize, context) / 2, startY + fontSize / 2 - 2); context.closePath(); context.stroke(); context.closePath(); } } } function drawCanvas(opts, context) { context.save(); context.translate(0, 0.5); context.restore(); context.draw(); } var Timing = { easeIn: function easeIn(pos) { return Math.pow(pos, 3); }, easeOut: function easeOut(pos) { return Math.pow(pos - 1, 3) + 1; }, easeInOut: function easeInOut(pos) { if ((pos /= 0.5) < 1) { return 0.5 * Math.pow(pos, 3); } else { return 0.5 * (Math.pow(pos - 2, 3) + 2); } }, linear: function linear(pos) { return pos; } }; function Animation(opts) { this.isStop = false; opts.duration = typeof opts.duration === 'undefined' ? 1000 : opts.duration; opts.timing = opts.timing || 'easeInOut'; var delay = 17; function createAnimationFrame() { if (typeof setTimeout !== 'undefined') { return function (step, delay) { setTimeout(function () { var timeStamp = +new Date(); step(timeStamp); }, delay); }; } else if (typeof requestAnimationFrame !== 'undefined') { return requestAnimationFrame; } else { return function (step) { step(null); }; } } ; var animationFrame = createAnimationFrame(); var startTimeStamp = null; var _step = function step(timestamp) { if (timestamp === null || this.isStop === true) { opts.onProcess && opts.onProcess(1); opts.onAnimationFinish && opts.onAnimationFinish(); return; } if (startTimeStamp === null) { startTimeStamp = timestamp; } if (timestamp - startTimeStamp < opts.duration) { var process = (timestamp - startTimeStamp) / opts.duration; var timingFunction = Timing[opts.timing]; process = timingFunction(process); opts.onProcess && opts.onProcess(process); animationFrame(_step, delay); } else { opts.onProcess && opts.onProcess(1); opts.onAnimationFinish && opts.onAnimationFinish(); } }; _step = _step.bind(this); animationFrame(_step, delay); } Animation.prototype.stop = function () { this.isStop = true; }; function drawCharts(type, opts, config, context) { var _this2 = this; var _this = this; var series = opts.series; //兼容ECharts饼图类数据格式 if (type === 'pie' || type === 'ring' || type === 'mount' || type === 'rose' || type === 'funnel') { series = fixPieSeries(series, opts, config); } var categories = opts.categories; if (type === 'mount') { categories = []; for (var j = 0; j < series.length; j++) { if (series[j].show !== false) categories.push(series[j].name); } opts.categories = categories; } series = fillSeries(series, opts, config); var duration = opts.animation ? opts.duration : 0; _this.animationInstance && _this.animationInstance.stop(); var seriesMA = null; if (type == 'candle') { var average = assign({}, opts.extra.candle.average); if (average.show) { seriesMA = calCandleMA(average.day, average.name, average.color, series[0].data); seriesMA = fillSeries(seriesMA, opts, config); opts.seriesMA = seriesMA; } else if (opts.seriesMA) { seriesMA = opts.seriesMA = fillSeries(opts.seriesMA, opts, config); } else { seriesMA = series; } } else { seriesMA = series; } /* 过滤掉show=false的series */ opts._series_ = series = filterSeries(series); //重新计算图表区域 opts.area = new Array(4); //复位绘图区域 for (var _j11 = 0; _j11 < 4; _j11++) { opts.area[_j11] = opts.padding[_j11] * opts.pix; } //通过计算三大区域:图例、X轴、Y轴的大小,确定绘图区域 var _calLegendData = calLegendData(seriesMA, opts, config, opts.chartData, context), legendHeight = _calLegendData.area.wholeHeight, legendWidth = _calLegendData.area.wholeWidth; switch (opts.legend.position) { case 'top': opts.area[0] += legendHeight; break; case 'bottom': opts.area[2] += legendHeight; break; case 'left': opts.area[3] += legendWidth; break; case 'right': opts.area[1] += legendWidth; break; } var _calYAxisData = {}, yAxisWidth = 0; if (opts.type === 'line' || opts.type === 'column' || opts.type === 'mount' || opts.type === 'area' || opts.type === 'mix' || opts.type === 'candle' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') { _calYAxisData = calYAxisData(series, opts, config, context); yAxisWidth = _calYAxisData.yAxisWidth; //如果显示Y轴标题 if (opts.yAxis.showTitle) { var maxTitleHeight = 0; for (var i = 0; i < opts.yAxis.data.length; i++) { maxTitleHeight = Math.max(maxTitleHeight, opts.yAxis.data[i].titleFontSize ? opts.yAxis.data[i].titleFontSize * opts.pix : config.fontSize); } opts.area[0] += maxTitleHeight; } var rightIndex = 0, leftIndex = 0; //计算主绘图区域左右位置 for (var _i32 = 0; _i32 < yAxisWidth.length; _i32++) { if (yAxisWidth[_i32].position == 'left') { if (leftIndex > 0) { opts.area[3] += yAxisWidth[_i32].width + opts.yAxis.padding * opts.pix; } else { opts.area[3] += yAxisWidth[_i32].width; } leftIndex += 1; } else if (yAxisWidth[_i32].position == 'right') { if (rightIndex > 0) { opts.area[1] += yAxisWidth[_i32].width + opts.yAxis.padding * opts.pix; } else { opts.area[1] += yAxisWidth[_i32].width; } rightIndex += 1; } } } else { config.yAxisWidth = yAxisWidth; } opts.chartData.yAxisData = _calYAxisData; if (opts.categories && opts.categories.length && opts.type !== 'radar' && opts.type !== 'gauge' && opts.type !== 'bar') { opts.chartData.xAxisData = getXAxisPoints(opts.categories, opts, config); var _calCategoriesData = calCategoriesData(opts.categories, opts, config, opts.chartData.xAxisData.eachSpacing, context), xAxisHeight = _calCategoriesData.xAxisHeight, angle = _calCategoriesData.angle; config.xAxisHeight = xAxisHeight; config._xAxisTextAngle_ = angle; opts.area[2] += xAxisHeight; opts.chartData.categoriesData = _calCategoriesData; } else { if (opts.type === 'line' || opts.type === 'area' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') { opts.chartData.xAxisData = calXAxisData(series, opts, config, context); categories = opts.chartData.xAxisData.rangesFormat; var _calCategoriesData2 = calCategoriesData(categories, opts, config, opts.chartData.xAxisData.eachSpacing, context), _xAxisHeight = _calCategoriesData2.xAxisHeight, _angle = _calCategoriesData2.angle; config.xAxisHeight = _xAxisHeight; config._xAxisTextAngle_ = _angle; opts.area[2] += _xAxisHeight; opts.chartData.categoriesData = _calCategoriesData2; } else { opts.chartData.xAxisData = { xAxisPoints: [] }; } } //计算右对齐偏移距离 if (opts.enableScroll && opts.xAxis.scrollAlign == 'right' && opts._scrollDistance_ === undefined) { var offsetLeft = 0, xAxisPoints = opts.chartData.xAxisData.xAxisPoints, startX = opts.chartData.xAxisData.startX, endX = opts.chartData.xAxisData.endX, eachSpacing = opts.chartData.xAxisData.eachSpacing; var totalWidth = eachSpacing * (xAxisPoints.length - 1); var screenWidth = endX - startX; offsetLeft = screenWidth - totalWidth; _this.scrollOption.currentOffset = offsetLeft; _this.scrollOption.startTouchX = offsetLeft; _this.scrollOption.distance = 0; _this.scrollOption.lastMoveTime = 0; opts._scrollDistance_ = offsetLeft; } if (type === 'pie' || type === 'ring' || type === 'rose') { config._pieTextMaxLength_ = opts.dataLabel === false ? 0 : getPieTextMaxLength(seriesMA, config, context, opts); } switch (type) { case 'word': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } drawWordCloudDataPoints(series, opts, config, context, process); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; case 'map': context.clearRect(0, 0, opts.width, opts.height); drawMapDataPoints(series, opts, config, context); setTimeout(function () { _this2.uevent.trigger('renderComplete'); }, 50); break; case 'funnel': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } opts.chartData.funnelData = drawFunnelDataPoints(series, opts, config, context, process); drawLegend(opts.series, opts, config, context, opts.chartData); drawToolTipBridge(opts, config, context, process); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; case 'line': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } drawYAxisGrid(categories, opts, config, context); drawXAxis(categories, opts, config, context); var _drawLineDataPoints = drawLineDataPoints(series, opts, config, context, process), xAxisPoints = _drawLineDataPoints.xAxisPoints, calPoints = _drawLineDataPoints.calPoints, eachSpacing = _drawLineDataPoints.eachSpacing; opts.chartData.xAxisPoints = xAxisPoints; opts.chartData.calPoints = calPoints; opts.chartData.eachSpacing = eachSpacing; drawYAxis(series, opts, config, context); if (opts.enableMarkLine !== false && process === 1) { drawMarkLine(opts, config, context); } drawLegend(opts.series, opts, config, context, opts.chartData); drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; case 'scatter': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } drawYAxisGrid(categories, opts, config, context); drawXAxis(categories, opts, config, context); var _drawScatterDataPoints = drawScatterDataPoints(series, opts, config, context, process), xAxisPoints = _drawScatterDataPoints.xAxisPoints, calPoints = _drawScatterDataPoints.calPoints, eachSpacing = _drawScatterDataPoints.eachSpacing; opts.chartData.xAxisPoints = xAxisPoints; opts.chartData.calPoints = calPoints; opts.chartData.eachSpacing = eachSpacing; drawYAxis(series, opts, config, context); if (opts.enableMarkLine !== false && process === 1) { drawMarkLine(opts, config, context); } drawLegend(opts.series, opts, config, context, opts.chartData); drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; case 'bubble': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } drawYAxisGrid(categories, opts, config, context); drawXAxis(categories, opts, config, context); var _drawBubbleDataPoints = drawBubbleDataPoints(series, opts, config, context, process), xAxisPoints = _drawBubbleDataPoints.xAxisPoints, calPoints = _drawBubbleDataPoints.calPoints, eachSpacing = _drawBubbleDataPoints.eachSpacing; opts.chartData.xAxisPoints = xAxisPoints; opts.chartData.calPoints = calPoints; opts.chartData.eachSpacing = eachSpacing; drawYAxis(series, opts, config, context); if (opts.enableMarkLine !== false && process === 1) { drawMarkLine(opts, config, context); } drawLegend(opts.series, opts, config, context, opts.chartData); drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; case 'mix': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } drawYAxisGrid(categories, opts, config, context); drawXAxis(categories, opts, config, context); var _drawMixDataPoints = drawMixDataPoints(series, opts, config, context, process), xAxisPoints = _drawMixDataPoints.xAxisPoints, calPoints = _drawMixDataPoints.calPoints, eachSpacing = _drawMixDataPoints.eachSpacing; opts.chartData.xAxisPoints = xAxisPoints; opts.chartData.calPoints = calPoints; opts.chartData.eachSpacing = eachSpacing; drawYAxis(series, opts, config, context); if (opts.enableMarkLine !== false && process === 1) { drawMarkLine(opts, config, context); } drawLegend(opts.series, opts, config, context, opts.chartData); drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; case 'column': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } drawYAxisGrid(categories, opts, config, context); drawXAxis(categories, opts, config, context); var _drawColumnDataPoints = drawColumnDataPoints(series, opts, config, context, process), xAxisPoints = _drawColumnDataPoints.xAxisPoints, calPoints = _drawColumnDataPoints.calPoints, eachSpacing = _drawColumnDataPoints.eachSpacing; opts.chartData.xAxisPoints = xAxisPoints; opts.chartData.calPoints = calPoints; opts.chartData.eachSpacing = eachSpacing; drawYAxis(series, opts, config, context); if (opts.enableMarkLine !== false && process === 1) { drawMarkLine(opts, config, context); } drawLegend(opts.series, opts, config, context, opts.chartData); drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; case 'mount': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } drawYAxisGrid(categories, opts, config, context); drawXAxis(categories, opts, config, context); var _drawMountDataPoints = drawMountDataPoints(series, opts, config, context, process), xAxisPoints = _drawMountDataPoints.xAxisPoints, calPoints = _drawMountDataPoints.calPoints, eachSpacing = _drawMountDataPoints.eachSpacing; opts.chartData.xAxisPoints = xAxisPoints; opts.chartData.calPoints = calPoints; opts.chartData.eachSpacing = eachSpacing; drawYAxis(series, opts, config, context); if (opts.enableMarkLine !== false && process === 1) { drawMarkLine(opts, config, context); } drawLegend(opts.series, opts, config, context, opts.chartData); drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; case 'bar': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } drawXAxis(categories, opts, config, context); var _drawBarDataPoints = drawBarDataPoints(series, opts, config, context, process), yAxisPoints = _drawBarDataPoints.yAxisPoints, calPoints = _drawBarDataPoints.calPoints, eachSpacing = _drawBarDataPoints.eachSpacing; opts.chartData.yAxisPoints = yAxisPoints; opts.chartData.xAxisPoints = opts.chartData.xAxisData.xAxisPoints; opts.chartData.calPoints = calPoints; opts.chartData.eachSpacing = eachSpacing; drawYAxis(series, opts, config, context); if (opts.enableMarkLine !== false && process === 1) { drawMarkLine(opts, config, context); } drawLegend(opts.series, opts, config, context, opts.chartData); drawToolTipBridge(opts, config, context, process, eachSpacing, yAxisPoints); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; case 'area': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } drawYAxisGrid(categories, opts, config, context); drawXAxis(categories, opts, config, context); var _drawAreaDataPoints = drawAreaDataPoints(series, opts, config, context, process), xAxisPoints = _drawAreaDataPoints.xAxisPoints, calPoints = _drawAreaDataPoints.calPoints, eachSpacing = _drawAreaDataPoints.eachSpacing; opts.chartData.xAxisPoints = xAxisPoints; opts.chartData.calPoints = calPoints; opts.chartData.eachSpacing = eachSpacing; drawYAxis(series, opts, config, context); if (opts.enableMarkLine !== false && process === 1) { drawMarkLine(opts, config, context); } drawLegend(opts.series, opts, config, context, opts.chartData); drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; case 'ring': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process); drawLegend(opts.series, opts, config, context, opts.chartData); drawToolTipBridge(opts, config, context, process); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; case 'pie': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process); drawLegend(opts.series, opts, config, context, opts.chartData); drawToolTipBridge(opts, config, context, process); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; case 'rose': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } opts.chartData.pieData = drawRoseDataPoints(series, opts, config, context, process); drawLegend(opts.series, opts, config, context, opts.chartData); drawToolTipBridge(opts, config, context, process); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; case 'radar': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } opts.chartData.radarData = drawRadarDataPoints(series, opts, config, context, process); drawLegend(opts.series, opts, config, context, opts.chartData); drawToolTipBridge(opts, config, context, process); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; case 'arcbar': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } opts.chartData.arcbarData = drawArcbarDataPoints(series, opts, config, context, process); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; case 'gauge': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } opts.chartData.gaugeData = drawGaugeDataPoints(categories, series, opts, config, context, process); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; case 'candle': this.animationInstance = new Animation({ timing: opts.timing, duration: duration, onProcess: function onProcess(process) { context.clearRect(0, 0, opts.width, opts.height); if (opts.rotate) { contextRotate(context, opts); } drawYAxisGrid(categories, opts, config, context); drawXAxis(categories, opts, config, context); var _drawCandleDataPoints = drawCandleDataPoints(series, seriesMA, opts, config, context, process), xAxisPoints = _drawCandleDataPoints.xAxisPoints, calPoints = _drawCandleDataPoints.calPoints, eachSpacing = _drawCandleDataPoints.eachSpacing; opts.chartData.xAxisPoints = xAxisPoints; opts.chartData.calPoints = calPoints; opts.chartData.eachSpacing = eachSpacing; drawYAxis(series, opts, config, context); if (opts.enableMarkLine !== false && process === 1) { drawMarkLine(opts, config, context); } if (seriesMA) { drawLegend(seriesMA, opts, config, context, opts.chartData); } else { drawLegend(opts.series, opts, config, context, opts.chartData); } drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); drawCanvas(opts, context); }, onAnimationFinish: function onAnimationFinish() { _this.uevent.trigger('renderComplete'); } }); break; } } function uChartsEvent() { this.events = {}; } uChartsEvent.prototype.addEventListener = function (type, listener) { this.events[type] = this.events[type] || []; this.events[type].push(listener); }; uChartsEvent.prototype.delEventListener = function (type) { this.events[type] = []; }; uChartsEvent.prototype.trigger = function () { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var type = args[0]; var params = args.slice(1); if (!!this.events[type]) { this.events[type].forEach(function (listener) { try { listener.apply(null, params); } catch (e) { //console.log('[uCharts] '+e); } }); } }; var uCharts = function uCharts(opts) { opts.pix = opts.pixelRatio ? opts.pixelRatio : 1; opts.fontSize = opts.fontSize ? opts.fontSize : 13; opts.fontColor = opts.fontColor ? opts.fontColor : config.fontColor; if (opts.background == "" || opts.background == "none") { opts.background = "#FFFFFF"; } opts.title = assign({}, opts.title); opts.subtitle = assign({}, opts.subtitle); opts.duration = opts.duration ? opts.duration : 1000; opts.yAxis = assign({}, { data: [], showTitle: false, disabled: false, disableGrid: false, gridSet: 'number', splitNumber: 5, gridType: 'solid', dashLength: 4 * opts.pix, gridColor: '#cccccc', padding: 10, fontColor: '#666666' }, opts.yAxis); opts.xAxis = assign({}, { rotateLabel: false, rotateAngle: 45, disabled: false, disableGrid: false, splitNumber: 5, calibration: false, fontColor: '#666666', fontSize: 13, lineHeight: 20, marginTop: 0, gridType: 'solid', dashLength: 4, scrollAlign: 'left', boundaryGap: 'center', axisLine: true, axisLineColor: '#cccccc', titleFontSize: 13, titleOffsetY: 0, titleOffsetX: 0, titleFontColor: '#666666' }, opts.xAxis); opts.xAxis.scrollPosition = opts.xAxis.scrollAlign; opts.legend = assign({}, { show: true, position: 'bottom', float: 'center', backgroundColor: 'rgba(0,0,0,0)', borderColor: 'rgba(0,0,0,0)', borderWidth: 0, padding: 5, margin: 5, itemGap: 10, fontSize: opts.fontSize, lineHeight: opts.fontSize, fontColor: opts.fontColor, formatter: {}, hiddenColor: '#CECECE' }, opts.legend); opts.extra = assign({ tooltip: { legendShape: 'auto' } }, opts.extra); opts.rotate = opts.rotate ? true : false; opts.animation = opts.animation ? true : false; opts.rotate = opts.rotate ? true : false; opts.canvas2d = opts.canvas2d ? true : false; var config$$1 = assign({}, config); config$$1.color = opts.color ? opts.color : config$$1.color; if (opts.type == 'pie') { config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.pie.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix; } if (opts.type == 'ring') { config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.ring.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix; } if (opts.type == 'rose') { config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.rose.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix; } config$$1.pieChartTextPadding = opts.dataLabel === false ? 0 : config$$1.pieChartTextPadding * opts.pix; //屏幕旋转 config$$1.rotate = opts.rotate; if (opts.rotate) { var tempWidth = opts.width; var tempHeight = opts.height; opts.width = tempHeight; opts.height = tempWidth; } //适配高分屏 opts.padding = opts.padding ? opts.padding : config$$1.padding; config$$1.yAxisWidth = config.yAxisWidth * opts.pix; config$$1.fontSize = opts.fontSize * opts.pix; config$$1.titleFontSize = config.titleFontSize * opts.pix; config$$1.subtitleFontSize = config.subtitleFontSize * opts.pix; if (!opts.context) { throw new Error('[uCharts] 未获取到context!注意:v2.0版本后,需要自行获取canvas的绘图上下文并传入opts.context!'); } this.context = opts.context; if (!this.context.setTextAlign) { this.context.setStrokeStyle = function (e) { return this.strokeStyle = e; }; this.context.setLineWidth = function (e) { return this.lineWidth = e; }; this.context.setLineCap = function (e) { return this.lineCap = e; }; this.context.setFontSize = function (e) { return this.font = e + "px sans-serif"; }; this.context.setFillStyle = function (e) { return this.fillStyle = e; }; this.context.setTextAlign = function (e) { return this.textAlign = e; }; this.context.setTextBaseline = function (e) { return this.textBaseline = e; }; this.context.setShadow = function (offsetX, offsetY, blur, color) { this.shadowColor = color; this.shadowOffsetX = offsetX; this.shadowOffsetY = offsetY; this.shadowBlur = blur; }; this.context.draw = function () {}; } //兼容NVUEsetLineDash if (!this.context.setLineDash) { this.context.setLineDash = function (e) {}; } opts.chartData = {}; this.uevent = new uChartsEvent(); this.scrollOption = { currentOffset: 0, startTouchX: 0, distance: 0, lastMoveTime: 0 }; this.opts = opts; this.config = config$$1; drawCharts.call(this, opts.type, opts, config$$1, this.context); }; uCharts.prototype.updateData = function () { var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; this.opts = assign({}, this.opts, data); this.opts.updateData = true; var scrollPosition = data.scrollPosition || 'current'; switch (scrollPosition) { case 'current': this.opts._scrollDistance_ = this.scrollOption.currentOffset; break; case 'left': this.opts._scrollDistance_ = 0; this.scrollOption = { currentOffset: 0, startTouchX: 0, distance: 0, lastMoveTime: 0 }; break; case 'right': var _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context), yAxisWidth = _calYAxisData.yAxisWidth; this.config.yAxisWidth = yAxisWidth; var offsetLeft = 0; var _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config), xAxisPoints = _getXAxisPoints0.xAxisPoints, startX = _getXAxisPoints0.startX, endX = _getXAxisPoints0.endX, eachSpacing = _getXAxisPoints0.eachSpacing; var totalWidth = eachSpacing * (xAxisPoints.length - 1); var screenWidth = endX - startX; offsetLeft = screenWidth - totalWidth; this.scrollOption = { currentOffset: offsetLeft, startTouchX: offsetLeft, distance: 0, lastMoveTime: 0 }; this.opts._scrollDistance_ = offsetLeft; break; } drawCharts.call(this, this.opts.type, this.opts, this.config, this.context); }; uCharts.prototype.zoom = function () { var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.opts.xAxis.itemCount; if (this.opts.enableScroll !== true) { console.log('[uCharts] 请启用滚动条后使用'); return; } //当前屏幕中间点 var centerPoint = Math.round(Math.abs(this.scrollOption.currentOffset) / this.opts.chartData.eachSpacing) + Math.round(this.opts.xAxis.itemCount / 2); this.opts.animation = false; this.opts.xAxis.itemCount = val.itemCount; //重新计算x轴偏移距离 var _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context), yAxisWidth = _calYAxisData.yAxisWidth; this.config.yAxisWidth = yAxisWidth; var offsetLeft = 0; var _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config), xAxisPoints = _getXAxisPoints0.xAxisPoints, startX = _getXAxisPoints0.startX, endX = _getXAxisPoints0.endX, eachSpacing = _getXAxisPoints0.eachSpacing; var centerLeft = eachSpacing * centerPoint; var screenWidth = endX - startX; var MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1); offsetLeft = screenWidth / 2 - centerLeft; if (offsetLeft > 0) { offsetLeft = 0; } if (offsetLeft < MaxLeft) { offsetLeft = MaxLeft; } this.scrollOption = { currentOffset: offsetLeft, startTouchX: 0, distance: 0, lastMoveTime: 0 }; calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts); this.opts._scrollDistance_ = offsetLeft; drawCharts.call(this, this.opts.type, this.opts, this.config, this.context); }; uCharts.prototype.dobuleZoom = function (e) { if (this.opts.enableScroll !== true) { console.log('[uCharts] 请启用滚动条后使用'); return; } var tcs = e.changedTouches; if (tcs.length < 2) { return; } for (var i = 0; i < tcs.length; i++) { tcs[i].x = tcs[i].x ? tcs[i].x : tcs[i].clientX; tcs[i].y = tcs[i].y ? tcs[i].y : tcs[i].clientY; } var ntcs = [getTouches(tcs[0], this.opts, e), getTouches(tcs[1], this.opts, e)]; var xlength = Math.abs(ntcs[0].x - ntcs[1].x); // 记录初始的两指之间的数据 if (!this.scrollOption.moveCount) { var cts0 = { changedTouches: [{ x: tcs[0].x, y: this.opts.area[0] / this.opts.pix + 2 }] }; var cts1 = { changedTouches: [{ x: tcs[1].x, y: this.opts.area[0] / this.opts.pix + 2 }] }; if (this.opts.rotate) { cts0 = { changedTouches: [{ x: this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2, y: tcs[0].y }] }; cts1 = { changedTouches: [{ x: this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2, y: tcs[1].y }] }; } var moveCurrent1 = this.getCurrentDataIndex(cts0).index; var moveCurrent2 = this.getCurrentDataIndex(cts1).index; var moveCount = Math.abs(moveCurrent1 - moveCurrent2); this.scrollOption.moveCount = moveCount; this.scrollOption.moveCurrent1 = Math.min(moveCurrent1, moveCurrent2); this.scrollOption.moveCurrent2 = Math.max(moveCurrent1, moveCurrent2); return; } var currentEachSpacing = xlength / this.scrollOption.moveCount; var itemCount = (this.opts.width - this.opts.area[1] - this.opts.area[3]) / currentEachSpacing; itemCount = itemCount <= 2 ? 2 : itemCount; itemCount = itemCount >= this.opts.categories.length ? this.opts.categories.length : itemCount; this.opts.animation = false; this.opts.xAxis.itemCount = itemCount; // 重新计算滚动条偏移距离 var offsetLeft = 0; var _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config), xAxisPoints = _getXAxisPoints0.xAxisPoints, startX = _getXAxisPoints0.startX, endX = _getXAxisPoints0.endX, eachSpacing = _getXAxisPoints0.eachSpacing; var currentLeft = eachSpacing * this.scrollOption.moveCurrent1; var screenWidth = endX - startX; var MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1); offsetLeft = -currentLeft + Math.min(ntcs[0].x, ntcs[1].x) - this.opts.area[3] - eachSpacing; if (offsetLeft > 0) { offsetLeft = 0; } if (offsetLeft < MaxLeft) { offsetLeft = MaxLeft; } this.scrollOption.currentOffset = offsetLeft; this.scrollOption.startTouchX = 0; this.scrollOption.distance = 0; calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts); this.opts._scrollDistance_ = offsetLeft; drawCharts.call(this, this.opts.type, this.opts, this.config, this.context); }; uCharts.prototype.stopAnimation = function () { this.animationInstance && this.animationInstance.stop(); }; uCharts.prototype.addEventListener = function (type, listener) { this.uevent.addEventListener(type, listener); }; uCharts.prototype.delEventListener = function (type) { this.uevent.delEventListener(type); }; uCharts.prototype.getCurrentDataIndex = function (e) { var touches = null; if (e.changedTouches) { touches = e.changedTouches[0]; } else { touches = e.mp.changedTouches[0]; } if (touches) { var _touches$ = getTouches(touches, this.opts, e); if (this.opts.type === 'pie' || this.opts.type === 'ring') { return findPieChartCurrentIndex({ x: _touches$.x, y: _touches$.y }, this.opts.chartData.pieData, this.opts); } else if (this.opts.type === 'rose') { return findRoseChartCurrentIndex({ x: _touches$.x, y: _touches$.y }, this.opts.chartData.pieData, this.opts); } else if (this.opts.type === 'radar') { return findRadarChartCurrentIndex({ x: _touches$.x, y: _touches$.y }, this.opts.chartData.radarData, this.opts.categories.length); } else if (this.opts.type === 'funnel') { return findFunnelChartCurrentIndex({ x: _touches$.x, y: _touches$.y }, this.opts.chartData.funnelData); } else if (this.opts.type === 'map') { return findMapChartCurrentIndex({ x: _touches$.x, y: _touches$.y }, this.opts); } else if (this.opts.type === 'word') { return findWordChartCurrentIndex({ x: _touches$.x, y: _touches$.y }, this.opts.chartData.wordCloudData); } else if (this.opts.type === 'bar') { return findBarChartCurrentIndex({ x: _touches$.x, y: _touches$.y }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset)); } else { return findCurrentIndex({ x: _touches$.x, y: _touches$.y }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset)); } } return -1; }; uCharts.prototype.getLegendDataIndex = function (e) { var touches = null; if (e.changedTouches) { touches = e.changedTouches[0]; } else { touches = e.mp.changedTouches[0]; } if (touches) { var _touches$ = getTouches(touches, this.opts, e); return findLegendIndex({ x: _touches$.x, y: _touches$.y }, this.opts.chartData.legendData); } return -1; }; uCharts.prototype.touchLegend = function (e) { var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var touches = null; if (e.changedTouches) { touches = e.changedTouches[0]; } else { touches = e.mp.changedTouches[0]; } if (touches) { var _touches$ = getTouches(touches, this.opts, e); var index = this.getLegendDataIndex(e); if (index >= 0) { if (this.opts.type == 'candle') { this.opts.seriesMA[index].show = !this.opts.seriesMA[index].show; } else { this.opts.series[index].show = !this.opts.series[index].show; } this.opts.animation = option.animation ? true : false; this.opts._scrollDistance_ = this.scrollOption.currentOffset; drawCharts.call(this, this.opts.type, this.opts, this.config, this.context); } } }; uCharts.prototype.showToolTip = function (e) { var _this3 = this; var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var touches = null; if (e.changedTouches) { touches = e.changedTouches[0]; } else { touches = e.mp.changedTouches[0]; } if (!touches) { console.log("[uCharts] 未获取到event坐标信息"); } var _touches$ = getTouches(touches, this.opts, e); var currentOffset = this.scrollOption.currentOffset; var opts = assign({}, this.opts, { _scrollDistance_: currentOffset, animation: false }); if (this.opts.type === 'line' || this.opts.type === 'area' || this.opts.type === 'column' || this.opts.type === 'scatter' || this.opts.type === 'bubble') { var current = this.getCurrentDataIndex(e); var index = option.index == undefined ? current.index : option.index; if (index > -1 || index.length > 0) { var seriesData = getSeriesDataItem(this.opts.series, index, current.group); if (seriesData.length !== 0) { var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option), textList = _getToolTipData.textList, offset = _getToolTipData.offset; offset.y = _touches$.y; opts.tooltip = { textList: option.textList !== undefined ? option.textList : textList, offset: option.offset !== undefined ? option.offset : offset, option: option, index: index, group: current.group }; } } drawCharts.call(this, opts.type, opts, this.config, this.context); } if (this.opts.type === 'mount') { var index = option.index == undefined ? this.getCurrentDataIndex(e).index : option.index; if (index > -1) { var opts = assign({}, this.opts, { animation: false }); var seriesData = assign({}, opts._series_[index]); var textList = [{ text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data, color: seriesData.color, legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape }]; var offset = { x: opts.chartData.calPoints[index].x, y: _touches$.y }; opts.tooltip = { textList: option.textList ? option.textList : textList, offset: option.offset !== undefined ? option.offset : offset, option: option, index: index }; } drawCharts.call(this, opts.type, opts, this.config, this.context); } if (this.opts.type === 'bar') { var current = this.getCurrentDataIndex(e); var index = option.index == undefined ? current.index : option.index; if (index > -1 || index.length > 0) { var seriesData = getSeriesDataItem(this.opts.series, index, current.group); if (seriesData.length !== 0) { var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option), textList = _getToolTipData.textList, offset = _getToolTipData.offset; offset.x = _touches$.x; opts.tooltip = { textList: option.textList !== undefined ? option.textList : textList, offset: option.offset !== undefined ? option.offset : offset, option: option, index: index }; } } drawCharts.call(this, opts.type, opts, this.config, this.context); } if (this.opts.type === 'mix') { var current = this.getCurrentDataIndex(e); var index = option.index == undefined ? current.index : option.index; if (index > -1) { var currentOffset = this.scrollOption.currentOffset; var opts = assign({}, this.opts, { _scrollDistance_: currentOffset, animation: false }); var seriesData = getSeriesDataItem(this.opts.series, index); if (seriesData.length !== 0) { var _getMixToolTipData = getMixToolTipData(seriesData, this.opts, index, this.opts.categories, option), textList = _getMixToolTipData.textList, offset = _getMixToolTipData.offset; offset.y = _touches$.y; opts.tooltip = { textList: option.textList ? option.textList : textList, offset: option.offset !== undefined ? option.offset : offset, option: option, index: index }; } } drawCharts.call(this, opts.type, opts, this.config, this.context); } if (this.opts.type === 'candle') { var current = this.getCurrentDataIndex(e); var index = option.index == undefined ? current.index : option.index; if (index > -1) { var currentOffset = this.scrollOption.currentOffset; var opts = assign({}, this.opts, { _scrollDistance_: currentOffset, animation: false }); var seriesData = getSeriesDataItem(this.opts.series, index); if (seriesData.length !== 0) { var _getToolTipData = getCandleToolTipData(this.opts.series[0].data, seriesData, this.opts, index, this.opts.categories, this.opts.extra.candle, option), textList = _getToolTipData.textList, offset = _getToolTipData.offset; offset.y = _touches$.y; opts.tooltip = { textList: option.textList ? option.textList : textList, offset: option.offset !== undefined ? option.offset : offset, option: option, index: index }; } } drawCharts.call(this, opts.type, opts, this.config, this.context); } if (this.opts.type === 'pie' || this.opts.type === 'ring' || this.opts.type === 'rose' || this.opts.type === 'funnel') { var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index; if (index > -1) { var opts = assign({}, this.opts, { animation: false }); var seriesData = assign({}, opts._series_[index]); var textList = [{ text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data, color: seriesData.color, legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape }]; var offset = { x: _touches$.x, y: _touches$.y }; opts.tooltip = { textList: option.textList ? option.textList : textList, offset: option.offset !== undefined ? option.offset : offset, option: option, index: index }; } drawCharts.call(this, opts.type, opts, this.config, this.context); } if (this.opts.type === 'map') { var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index; if (index > -1) { var opts = assign({}, this.opts, { animation: false }); var seriesData = assign({}, this.opts.series[index]); seriesData.name = seriesData.properties.name; var textList = [{ text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name, color: seriesData.color, legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape }]; var offset = { x: _touches$.x, y: _touches$.y }; opts.tooltip = { textList: option.textList ? option.textList : textList, offset: option.offset !== undefined ? option.offset : offset, option: option, index: index }; } opts.updateData = false; drawCharts.call(this, opts.type, opts, this.config, this.context); } if (this.opts.type === 'word') { var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index; if (index > -1) { var opts = assign({}, this.opts, { animation: false }); var seriesData = assign({}, this.opts.series[index]); var textList = [{ text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name, color: seriesData.color, legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape }]; var offset = { x: _touches$.x, y: _touches$.y }; opts.tooltip = { textList: option.textList ? option.textList : textList, offset: option.offset !== undefined ? option.offset : offset, option: option, index: index }; } opts.updateData = false; drawCharts.call(this, opts.type, opts, this.config, this.context); } if (this.opts.type === 'radar') { var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index; if (index > -1) { var opts = assign({}, this.opts, { animation: false }); var seriesData = getSeriesDataItem(this.opts.series, index); if (seriesData.length !== 0) { var textList = seriesData.map(function (item) { return { text: option.formatter ? option.formatter(item, _this3.opts.categories[index], index, _this3.opts) : item.name + ': ' + item.data, color: item.color, legendShape: _this3.opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : _this3.opts.extra.tooltip.legendShape }; }); var offset = { x: _touches$.x, y: _touches$.y }; opts.tooltip = { textList: option.textList ? option.textList : textList, offset: option.offset !== undefined ? option.offset : offset, option: option, index: index }; } } drawCharts.call(this, opts.type, opts, this.config, this.context); } }; uCharts.prototype.translate = function (distance) { this.scrollOption = { currentOffset: distance, startTouchX: distance, distance: 0, lastMoveTime: 0 }; var opts = assign({}, this.opts, { _scrollDistance_: distance, animation: false }); drawCharts.call(this, this.opts.type, opts, this.config, this.context); }; uCharts.prototype.scrollStart = function (e) { var touches = null; if (e.changedTouches) { touches = e.changedTouches[0]; } else { touches = e.mp.changedTouches[0]; } var _touches$ = getTouches(touches, this.opts, e); if (touches && this.opts.enableScroll === true) { this.scrollOption.startTouchX = _touches$.x; } }; uCharts.prototype.scroll = function (e) { if (this.scrollOption.lastMoveTime === 0) { this.scrollOption.lastMoveTime = Date.now(); } var Limit = this.opts.touchMoveLimit || 60; var currMoveTime = Date.now(); var duration = currMoveTime - this.scrollOption.lastMoveTime; if (duration < Math.floor(1000 / Limit)) return; if (this.scrollOption.startTouchX == 0) return; this.scrollOption.lastMoveTime = currMoveTime; var touches = null; if (e.changedTouches) { touches = e.changedTouches[0]; } else { touches = e.mp.changedTouches[0]; } if (touches && this.opts.enableScroll === true) { var _touches$ = getTouches(touches, this.opts, e); var _distance; _distance = _touches$.x - this.scrollOption.startTouchX; var currentOffset = this.scrollOption.currentOffset; var validDistance = calValidDistance(this, currentOffset + _distance, this.opts.chartData, this.config, this.opts); this.scrollOption.distance = _distance = validDistance - currentOffset; var opts = assign({}, this.opts, { _scrollDistance_: currentOffset + _distance, animation: false }); this.opts = opts; drawCharts.call(this, opts.type, opts, this.config, this.context); return currentOffset + _distance; } }; uCharts.prototype.scrollEnd = function (e) { if (this.opts.enableScroll === true) { var _scrollOption = this.scrollOption, currentOffset = _scrollOption.currentOffset, distance = _scrollOption.distance; this.scrollOption.currentOffset = currentOffset + distance; this.scrollOption.distance = 0; this.scrollOption.moveCount = 0; } }; var _default = uCharts; exports.default = _default; /***/ }), /***/ 1203: /*!****************************************************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/components/qiun-data-charts/js_sdk/u-charts/config-ucharts.js ***! \****************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; /* * uCharts® * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360)、Vue、Taro等支持canvas的框架平台 * Copyright (c) 2021 QIUN®秋云 https://www.ucharts.cn All rights reserved. * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) * 复制使用请保留本段注释,感谢支持开源! * * uCharts®官方网站 * https://www.uCharts.cn * * 开源地址: * https://gitee.com/uCharts/uCharts * * uni-app插件市场地址: * http://ext.dcloud.net.cn/plugin?id=271 * */ // 主题颜色配置:如每个图表类型需要不同主题,请在对应图表类型上更改color属性 var color = ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc']; //事件转换函数,主要用作格式化x轴为时间轴,根据需求自行修改 var formatDateTime = function formatDateTime(timeStamp, returnType) { var date = new Date(); date.setTime(timeStamp * 1000); var y = date.getFullYear(); var m = date.getMonth() + 1; m = m < 10 ? '0' + m : m; var d = date.getDate(); d = d < 10 ? '0' + d : d; var h = date.getHours(); h = h < 10 ? '0' + h : h; var minute = date.getMinutes(); var second = date.getSeconds(); minute = minute < 10 ? '0' + minute : minute; second = second < 10 ? '0' + second : second; if (returnType == 'full') { return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second; } if (returnType == 'y-m-d') { return y + '-' + m + '-' + d; } if (returnType == 'h:m') { return h + ':' + minute; } if (returnType == 'h:m:s') { return h + ':' + minute + ':' + second; } return [y, m, d, h, minute, second]; }; var cfu = { //demotype为自定义图表类型,一般不需要自定义图表类型,只需要改根节点上对应的类型即可 "type": ["pie", "ring", "rose", "word", "funnel", "map", "arcbar", "line", "column", "mount", "bar", "area", "radar", "gauge", "candle", "mix", "tline", "tarea", "scatter", "bubble", "demotype"], "range": ["饼状图", "圆环图", "玫瑰图", "词云图", "漏斗图", "地图", "圆弧进度条", "折线图", "柱状图", "山峰图", "条状图", "区域图", "雷达图", "仪表盘", "K线图", "混合图", "时间轴折线", "时间轴区域", "散点图", "气泡图", "自定义类型"], //增加自定义图表类型,如果需要categories,请在这里加入您的图表类型,例如最后的"demotype" //自定义类型时需要注意"tline","tarea","scatter","bubble"等时间轴(矢量x轴)类图表,没有categories,不需要加入categories "categories": ["line", "column", "mount", "bar", "area", "radar", "gauge", "candle", "mix", "demotype"], //instance为实例变量承载属性,不要删除 "instance": {}, //option为opts及eopts承载属性,不要删除 "option": {}, //下面是自定义format配置,因除H5端外的其他端无法通过props传递函数,只能通过此属性对应下标的方式来替换 "formatter": { "yAxisDemo1": function yAxisDemo1(val, index, opts) { return val + '元'; }, "yAxisDemo2": function yAxisDemo2(val, index, opts) { return val.toFixed(2); }, "xAxisDemo1": function xAxisDemo1(val, index, opts) { return val + '年'; }, "xAxisDemo2": function xAxisDemo2(val, index, opts) { return formatDateTime(val, 'h:m'); }, "seriesDemo1": function seriesDemo1(val, index, series, opts) { return val + '元'; }, "tooltipDemo1": function tooltipDemo1(item, category, index, opts) { if (index == 0) { return '随便用' + item.data + '年'; } else { return '其他我没改' + item.data + '天'; } }, "pieDemo": function pieDemo(val, index, series, opts) { if (index !== undefined) { return series[index].name + ':' + series[index].data + '元'; } }, // 超出换行 "overwarp": function overwarp(value) { console.log(value, 7); var str = ""; var num = 2; //每行显示字数 var valLength = value.length; //该项x轴字数 var rowNum = Math.ceil(valLength / num); // 行数 console.log(rowNum); if (rowNum > 1) { for (var i = 0; i < rowNum; i++) { var temp = ""; var start = i * num; var end = start + num; temp = value.substring(start, end) + "\n"; str += temp; } return str; } else { return value; } } }, //这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type="demotype" 后,组件会调用这个花括号里的option,如果组件上还存在opts参数,会将demotype与opts中option合并后渲染图表。 "demotype": { //我这里把曲线图当做了自定义图表类型,您可以根据需要随意指定类型或配置 "type": "line", "color": color, "padding": [15, 10, 0, 15], "xAxis": { "disableGrid": true }, "yAxis": { "gridType": "dash", "dashLength": 2 }, "legend": {}, "extra": { "line": { "type": "curve", "width": 2 } } }, //下面是自定义配置,请添加项目所需的通用配置 "pie": { "type": "pie", "color": color, "padding": [5, 5, 5, 5], "extra": { "pie": { "activeOpacity": 0.5, "activeRadius": 10, "offsetAngle": 0, "labelWidth": 15, "border": true, "borderWidth": 3, "borderColor": "#FFFFFF" } } }, "ring": { "type": "ring", "color": color, "padding": [5, 5, 5, 5], "rotate": false, "dataLabel": true, "legend": { "show": true, "position": "right", "lineHeight": 25 }, "title": { "name": "收益率", "fontSize": 15, "color": "#666666" }, "subtitle": { "name": "70%", "fontSize": 25, "color": "#7cb5ec" }, "extra": { "ring": { "ringWidth": 30, "activeOpacity": 0.5, "activeRadius": 10, "offsetAngle": 0, "labelWidth": 15, "border": true, "borderWidth": 3, "borderColor": "#FFFFFF" } } }, "rose": { "type": "rose", "color": color, "padding": [5, 5, 5, 5], "legend": { "show": true, "position": "left", "lineHeight": 25 }, "extra": { "rose": { "type": "area", "minRadius": 50, "activeOpacity": 0.5, "activeRadius": 10, "offsetAngle": 0, "labelWidth": 15, "border": false, "borderWidth": 2, "borderColor": "#FFFFFF" } } }, "word": { "type": "word", "color": color, "extra": { "word": { "type": "normal", "autoColors": false } } }, "funnel": { "type": "funnel", "color": color, "padding": [15, 15, 0, 15], "extra": { "funnel": { "activeOpacity": 0.3, "activeWidth": 10, "border": true, "borderWidth": 2, "borderColor": "#FFFFFF", "fillOpacity": 1, "labelAlign": "right" } } }, "map": { "type": "map", "color": color, "padding": [0, 0, 0, 0], "dataLabel": true, "extra": { "map": { "border": true, "borderWidth": 1, "borderColor": "#666666", "fillOpacity": 0.6, "activeBorderColor": "#F04864", "activeFillColor": "#FACC14", "activeFillOpacity": 1 } } }, "arcbar": { "type": "arcbar", "color": color, "title": { "name": "百分比", "fontSize": 25, "color": "#00FF00" }, "subtitle": { "name": "默认标题", "fontSize": 15, "color": "#666666" }, "extra": { "arcbar": { "type": "default", "width": 12, "backgroundColor": "#E9E9E9", "startAngle": 0.75, "endAngle": 0.25, "gap": 2 } } }, "line": { "type": "line", "color": color, "padding": [15, 10, 0, 15], "xAxis": { "disableGrid": true }, "yAxis": { "gridType": "dash", "dashLength": 2 }, "legend": {}, "extra": { "line": { "type": "straight", "width": 2, "activeType": "hollow" } } }, "tline": { "type": "line", "color": color, "padding": [15, 10, 0, 15], "xAxis": { "disableGrid": false, "boundaryGap": "justify" }, "yAxis": { "gridType": "dash", "dashLength": 2, "data": [{ "min": 0, "max": 80 }] }, "legend": {}, "extra": { "line": { "type": "curve", "width": 2, "activeType": "hollow" } } }, "tarea": { "type": "area", "color": color, "padding": [15, 10, 0, 15], "xAxis": { "disableGrid": true, "boundaryGap": "justify" }, "yAxis": { "gridType": "dash", "dashLength": 2, "data": [{ "min": 0, "max": 80 }] }, "legend": {}, "extra": { "area": { "type": "curve", "opacity": 0.2, "addLine": true, "width": 2, "gradient": true, "activeType": "hollow" } } }, "column": { "type": "column", "color": color, "padding": [15, 15, 0, 5], "xAxis": { "disableGrid": true }, "yAxis": { "data": [{ "min": 0 }] }, "legend": {}, "extra": { "column": { "type": "group", "width": 30, "activeBgColor": "#000000", "activeBgOpacity": 0.08 } } }, "mount": { "type": "mount", "color": color, "padding": [15, 15, 0, 5], "xAxis": { "disableGrid": true }, "yAxis": { "data": [{ "min": 0 }] }, "legend": {}, "extra": { "mount": { "type": "mount", "widthRatio": 1.5 } } }, "bar": { "type": "bar", "color": color, "padding": [15, 30, 0, 5], "xAxis": { "boundaryGap": "justify", "disableGrid": false, "min": 0, "axisLine": false }, "yAxis": {}, "legend": {}, "extra": { "bar": { "type": "group", "width": 30, "meterBorde": 1, "meterFillColor": "#FFFFFF", "activeBgColor": "#000000", "activeBgOpacity": 0.08 } } }, "area": { "type": "area", "color": color, "padding": [15, 15, 0, 15], "xAxis": { "disableGrid": true }, "yAxis": { "gridType": "dash", "dashLength": 2 }, "legend": {}, "extra": { "area": { "type": "straight", "opacity": 0.2, "addLine": true, "width": 2, "gradient": false, "activeType": "hollow" } } }, "radar": { "type": "radar", "color": color, "padding": [5, 5, 5, 5], "dataLabel": false, "legend": { "show": true, "position": "right", "lineHeight": 25 }, "extra": { "radar": { "gridType": "radar", "gridColor": "#CCCCCC", "gridCount": 3, "opacity": 0.2, "max": 200, "labelShow": true } } }, "gauge": { "type": "gauge", "color": color, "title": { "name": "66Km/H", "fontSize": 25, "color": "#2fc25b", "offsetY": 50 }, "subtitle": { "name": "实时速度", "fontSize": 15, "color": "#1890ff", "offsetY": -50 }, "extra": { "gauge": { "type": "default", "width": 30, "labelColor": "#666666", "startAngle": 0.75, "endAngle": 0.25, "startNumber": 0, "endNumber": 100, "labelFormat": "", "splitLine": { "fixRadius": 0, "splitNumber": 10, "width": 30, "color": "#FFFFFF", "childNumber": 5, "childWidth": 12 }, "pointer": { "width": 24, "color": "auto" } } } }, "candle": { "type": "candle", "color": color, "padding": [15, 15, 0, 15], "enableScroll": true, "enableMarkLine": true, "dataLabel": false, "xAxis": { "labelCount": 4, "itemCount": 40, "disableGrid": true, "gridColor": "#CCCCCC", "gridType": "solid", "dashLength": 4, "scrollShow": true, "scrollAlign": "left", "scrollColor": "#A6A6A6", "scrollBackgroundColor": "#EFEBEF" }, "yAxis": {}, "legend": {}, "extra": { "candle": { "color": { "upLine": "#f04864", "upFill": "#f04864", "downLine": "#2fc25b", "downFill": "#2fc25b" }, "average": { "show": true, "name": ["MA5", "MA10", "MA30"], "day": [5, 10, 20], "color": ["#1890ff", "#2fc25b", "#facc14"] } }, "markLine": { "type": "dash", "dashLength": 5, "data": [{ "value": 2150, "lineColor": "#f04864", "showLabel": true }, { "value": 2350, "lineColor": "#f04864", "showLabel": true }] } } }, "mix": { "type": "mix", "color": color, "padding": [15, 15, 0, 15], "xAxis": { "disableGrid": true }, "yAxis": { "disabled": false, "disableGrid": false, "splitNumber": 5, "gridType": "dash", "dashLength": 4, "gridColor": "#CCCCCC", "padding": 10, "showTitle": true, "data": [] }, "legend": {}, "extra": { "mix": { "column": { "width": 20 } } } }, "scatter": { "type": "scatter", "color": color, "padding": [15, 15, 0, 15], "dataLabel": false, "xAxis": { "disableGrid": false, "gridType": "dash", "splitNumber": 5, "boundaryGap": "justify", "min": 0 }, "yAxis": { "disableGrid": false, "gridType": "dash" }, "legend": {}, "extra": { "scatter": {} } }, "bubble": { "type": "bubble", "color": color, "padding": [15, 15, 0, 15], "xAxis": { "disableGrid": false, "gridType": "dash", "splitNumber": 5, "boundaryGap": "justify", "min": 0, "max": 250 }, "yAxis": { "disableGrid": false, "gridType": "dash", "data": [{ "min": 0, "max": 150 }] }, "legend": {}, "extra": { "bubble": { "border": 2, "opacity": 0.5 } } } }; var _default = cfu; exports.default = _default; /***/ }), /***/ 1290: /*!************************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/components/zb-table/js/summary.js ***! \************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _default2 = { props: { scrollbarSize: { type: Number, default: 0 }, fixedLeftColumns: { type: Array, default: function _default() { return []; } }, data: { type: Array, default: function _default() { return []; } }, transColumns: { type: Array, default: function _default() { return []; } }, border: { type: Boolean, default: false }, showSummary: { type: Boolean, default: false }, summaryMethod: { type: Function }, sumText: { type: String, default: '合计' }, headerFooterTableLeft: { type: Number, default: 0 }, handleFooterTableScrollLeft: Function }, data: function data() { return { sums: [] }; }, watch: { 'data': { deep: true, immediate: true, handler: function handler(newValue, oldValue) { var _this = this; var sums = []; if (this.summaryMethod) { sums = this.summaryMethod({ columns: this.transColumns, data: this.data }); } else { this.transColumns.forEach(function (column, index) { if (index === 0) { sums[index] = _this.sumText; return; } var values = _this.data.map(function (item) { return Number(item[column.name]); }); var precisions = []; var notNumber = true; values.forEach(function (value) { if (!isNaN(value)) { notNumber = false; var decimal = ('' + value).split('.')[1]; precisions.push(decimal ? decimal.length : 0); } }); var precision = Math.max.apply(null, precisions); if (!notNumber) { sums[index] = values.reduce(function (prev, curr) { var value = Number(curr); if (!isNaN(value)) { return parseFloat((prev + curr).toFixed(Math.min(precision, 20))); } else { return prev; } }, 0); } else { sums[index] = ''; } }); } this.sums = sums; } } } }; exports.default = _default2; /***/ }), /***/ 436: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/mzicon.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /***/ 461: /*!************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/word.png ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /***/ 478: /*!************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/addw.png ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAABHdepPbu5HdepHdetHdutHdupGdetGdepGdetGc+lHdepHdepHdOpGdepGdepGdOlHdOpFdepFdfJGdOpGc+xHdeqKTaPWAAAAFnRSTlMAawj6ZJpHTulzHvXq23puZlhVEpEoGiHVBAAAAHBJREFUGNOt0DkOgDAMRNExmGzsm+9/VBARIYkiRMEvXLzCsoyrhZImr10dJwJfFTcLVspzVQ2SvOZUftW26QpqsRSUoT4rQafaDsy8w03Mowm64ckGNbNSymE9p+7TvSP0j5dJUDP0t8KWfgaASnoAbWwWhwFdwMcAAAAASUVORK5CYII=" /***/ }), /***/ 487: /*!************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/hello.png ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH4AAAAbCAMAAACNxMtTAAAAgVBMVEUAAABHdepGdOhHdepGdOpEdexEculHdepHdepGdOpFdOpHdOpFdOtGdepGcOdCd/A+bO1HdepGdepHdetGdepHdetGdepGdepGdepGdOpHdOtGdOpHdepHdepHdOtGdetHdepCdexGdOpGdepGdOpHdepHdOpGdOpId+lGdOxHder+7/p5AAAAKnRSTlMA/RberikL8ul5UcMgTxwSCPXo8GyzYX515aOJ1ZtWu8cm9M834DCTR0O5wJNSAAACgElEQVRIx7WXDZeqIBCGRXSwVNS01LS07WN3/f8/8ApoczG66d3tPadz4hXOAzIMoxW4QqfIUopOss3Ff+6i0NT7GywUcDfcCYUuB7QR41oOFaqzWNpxVsv2Ieq7HCgKTewvNbVQsVs4tPSESuoUrnqsYWqrJV2vJAfpQ56IJtnalmVvSYdCE/tL6RYKdueU4OD0vBufIya1fNmFrQb8iknfESRHw6OJ/aXQ0ujZdTL8mgGuPpVW+zb8mnZT0TU+9YRB/CX47Xw8DiYsZQTnPyjczMWTD2/jCW320Xx8WCpk2uRF3qSqUYaT1TcjvhjwxQM+2R/DtdQlno2HKlH0nAMAzxU/qUBbPft8vXpW4ImZjbebTsVWIJuBonTN+PZPVA6pBB6XGB73yQM+57ZUtAAfUG25kDMVfMH4HPG4wf3vg0zxpN46QtuDPR9/UVufFjEetF7lxYzXpeNH0WAeHve2844YakKbUMOn+Us8agkecfp0xpPPGyKau7fiEYftcUz3N56gnuKvv7h6e58yxuiAx/iqydO0c/7B3h8n04Hdqld2k3g8XTx/nna+4P8jv9AiXzggFI/4ez/2r9sFzQIM1vNzXyUYPprMWU/H/zzrtZj1lMDmAY9m4DHnf4HxIjBY9+WyKgCA4CHnR5lTU//zNvfGU7FnvAYN1j32CGuromoVHSPP+qZEzvgVXj95xiLAWBdwf2wmLBn/+nx5tYOiJrxjGyxx1AzVznAMEeO/DQ9ZOaGXmWBoZUU7p9LFl28sfw2Wiq5JpZtF07REmiV1vs+Nxb/BGuv85l7nN6LOR/H9deOV52zJV84pNpjcaClBcBu+cm4BWJr4d++68AcyldpO18CCuAAAAABJRU5ErkJggg==" /***/ }), /***/ 488: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/mjicon.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADTCAMAAADzl6z0AAAC8VBMVEUAAAD/367836/936/936/84K/83a/6zqT936/836/936/836/736793q/936/94K/936/84K/836/84bb+3632hX7836/836/836/94K/83q/836/84K/83q/94K/9367836/836783q73hn7837D836//7uX837D/7OP3hn/84K/3hn//7OP2hn/3hoD/8On/7OP3hYD3hX7/6+P2hX7/6+H2hH//6uT937D2eXL+6t35pp32d3H91cz836//7OPXm4mtbVr3hn/329D/19//////7OT/7uX94nD/6uLXmojWmYf73q73g3z328763K2sbFn96+L+6t//5uKra1j/7+fUmIX9189CAGKraVf837Kub1z/6NPIlHf86N/42KrjtpT5mpPYnYvz0aX94Wz43NL/4+HWm4ezdWD64tj/2N/21ajbpozrxp3erI/3gXq+hGv/3+A+AF+xcF3/8OX439X8x8D/+fX/9Oj/7+T/8ejYoYn/3OD//Pv6q6TwzaLqwpv4j4n/7OL/2t/85tz63bjitqfuyJ/3iIH63bvgqpv84onReGv55NriyNDtzMDWrZ7nv5nmuJjXnoj/8+vs1Nby183Vtsb63cD5pp7cpJPZn47dso3Fj3TBim9GBGT+5t7/69rqxrnKmorSo4P84XZQEmu4fWi2emT/9PL75Nr+6M/+58r428n43MTpv7HarIlxOYL5hoDKlnn34d3x0MPhsaDgr5HOnH3+5nD45t/qw7Xlu5fQopTyhHz2enL2eHHZfHC6f2rEdGXy1MjjvK76sqySYZh7RYnFjnxjJ3m/h3bnwmv+6ef95MHMq8D7v7v95Zzdp5aFUo/sgnnifnS6cWC1cF7737X5nJXOk4FcHnT42m7huWjEj1/+7u315uDy3Nr80czAm7f957Tx0rH6trGxiq6cbp/etGq9mLaofqfy0nLasGbTpWS2elzEorv956z636HkvqHll4v84n6+hlzFo7u5k7TMnGPLmWP85L48AAAAPnRSTlMABvff0csYFHORilInNuxE8Lf7IQ79q4J35PO6vqKefWhf8+s82DuX38qiopN1T3Lo2Li2jIE4KvLkuaysdIcLypIAABHjSURBVHja3NZJbuJAGAXgvzyAwRMYxBimKFHf4slrbMk7tljxggWOL5AFXKHhMLle02m1lO4oxFBlu8i3q+VbvP8VFaNmm0Zz0tYfh46iAIriDB/19qRpmHaNbkPNHUz0Ec4Y6ZOBK3UcZhu9IXIa9gybkYQsoz3ChUZtwyKpuA0VV1IbDySJhx8OuAxlyNLpqxBA7XeoSmY7hCBh26SKdA0VQqlGl8pXa7YgXKtZ9r7UGgoKoTTKjFJvKiiM0qxTOdighUK1BqVMvqmicKpJRbPGKMXYoiKxmYKSKDNGhbE1lEizqRis76FUXp9RASwdpdMLaMriHhW4X5BYbIqKTBkJ1NFQGa1DwrgOKuS4JMjcQ6W8OQnRQOUaImregwR63JXv3kEKd13iUtchCb3OlUODNLT698jxO8n3yHF9kq40/fhLv6rxTJJ79d4do8tJsR//693kngvZ+DkkNaeLuB4k5bl0gY4DaTkdyo1JNiD/0hjlNYXUppTTApJbUC7WPSQ3snIVRLqfyUd6npr0cQP69CVb2gV5z7NLvLxh9GadJLskWUdvQvC45AbPIMr2+RAfTl6zNE2z18NJfHheQ5AZnWUpECBMfsZxdlytVsHSf/rDXwan9zGL4/02BD/FonPG4BWGSZylm1XgP/kfPfmnMGkWJyF3mDGdYYJTtN5naRD45wVBmu3XEfiYZ5qugkcYJXF6DJb+15bBMY0Tvu6rn/d9AB7RLnvZBH5eweYl20XgMKBP1Fu4XriNj0v/MstjzFP81i9a7V43YRiKAnCgEqJVy4+KWrVjhcRbHN05seSNNREZPDjkBTKQLTPwMCw8XMWUCpXh3NjfK9jH9+jKj7YqL1Azeds44bmmzQ20XpJ/TcbQsl3lRMdVnYXSeBJ23WB84UTPFR5Kz0EPxHRVJkNk1cFAZTwJmBDbnmWgtNkbPMalZLWAii+2Mtz5aKGxWCX3plDxdSYhbIscGtPknm6o+0sqYWQXD4WnUZCW5S8STl2C8KhxLaFQ1jsJqM7BW96tFg14vpagdoUFzbwP3jjYYieBnQxon0Ojbq9OQnNHA9ZT8scaNHt0Et5ZMRnXSW8DlmmdxNB0BqRN0puBVVYSR1WCNOtHyRwse8okjuySgzTnCzx/sXhZa8B51r9ZZSXxNB6U/t16BckWqcSTXS04r8riazonMbkDOFNlz8priSqlSlfft0Y/oFgy6TzXWjC+R8nNGzie3ZjEz/ubJiL2KNE5Mu9Tze+ZvEkltrThUvKR3HyBYfY7ie/8y5vZtMQNhHF8EZTSUkuPHnr04ifoKbMQmIGZZWQE52AhSiRoqPWWkzdJUzawRFpYZKOX9CILml4SD6GXsh6Ktz3u1/ALdMbqYsWXeVbT3znw8OP5P5k32JZrTnvMWCBW9YTUzzYsWzPgjVZrXSWrfihw3N+A3xIWT5/UEMpMswU7YukXhncWhMUd1pwcRl1JDa9RQdlaUCLTFoT1nSdoyDTKYlcyo6VkHdKSaSUCuiptTX5Qp9KNE4f4VWzUlY01iMh76E9rcZtNnKphFRCMMAmquCnpM2drBrhBWd2aNFW9vIsx0mCsVOijKlugNfE18K70y85kqUqjQhB0DRF2Hm9I9sg1hAXgFWyn1VpjcAsm0zLpYHQTIngW9SSjDzQRNCQvYO87rW0JtWDNOC98RNAtCPIHeZkql3tk5ClE5CVkGdEiEAlKGe1FiecQgu6AECcozuImo4q7jlcQkQXY8fDjlguQoGmZ8Q4iGN0DJiT0kmh4+fltGxc07W9h6+Gnb0YSTGc/jfOBv7RM0IPgZdQPBlkUpzqHinF7XNC0TzfmLQBrh4ejkZTyuiL9twkKpobCdXtlnnDfwQSjx8EEO6FvF3nZS11XtZzqAtTd+GqZMw87jRxsftj8df5bDtP0siJjko3RVm6aDqNsEPQdoS1MwZgQ4fT9bpFkVR6xkVSMTi1z5mDXvgdH59+jKul2vCLLz6KojIe9vwzjsozO8irhHUcgLQFGyWAhhOOE3aSKfp4f/bDMmW1MWQAu9grOba9PMBJiyVGEncDmXtAJHY0QuhEYTQ7W9G2bd4u9C8ucKZBI+5h7nm17oa54N+g5CHURjx+3VwAi5hor+9zWcCUCAy5yVWnf3KRh7nHC7SsRB9WL412XOjE2aUyB+qHhgUD1IgJVC9AT0Iy0uf2/RTS8bSoyaxose4xfu4hvjzEM16zpgviZ3xDZRfWyq0SALZkz3aLs2zdEUN384ebMfpoIwgAu8Yj3fRtfjL74R7AZlF02EW3tNnZdCxqB1BqPliJtU7wQL6BiIlQTodFC64WxoRolYiLRcCoSXowciqjgfSSeT866wO522+5MRU38PSAJDLs/Z76db7ozHxTB7JJliEnjw+p/JlL9EC1pnIE7slavuED8aS6skFyvAC2NX/x/iCwfNRHx4fuXhxZutE8cNf7/EBk/ahKqyN98/OKLTEL8gK4AS4SyO20OIjIOm81OIYhgxsgUxI9M10sfv6opSsj91dMb5Zd62z64Q6opCvbjF77pWYI7Ia7OVBGxe4Lezv6QI1J/1Pb7vUGPXUUkUzIATiYisIR/rYA+thDTeEe/12ANuiPdrdPdaDUY+h2qaTzmyBoLRRbjJo2ZOQdie4QarF5Dp8cesbM6DV5rQ8ihsrDKxMxQlkOR+XhpfOblNZ/uxw712gEo0hxFpBmKDNTGDvf7n9ZcHlSpLkB+9TYNb2FVUFiV0R5hbU7TuiydjiYgzj6/1dpYaiOU2Eo7rFb/N9uvFjrYgqaJcEiiPaOqsABrOTJNeD2NbgI9MjIyCs+Q4RpZFle+2exyZen4ux0IdrRpI8expzH4mnfUZfEN8l2WLDpc5Ax/DWjCLxAT0RiHs2Fg/ZHqFdWFGSkpGZ8vkWEaLvPKQfKhirbXXUpEHj1kmtsd0kKN/KEGZleYCnnpM3+RwsvoC90FmFs4Cq5ureKvUfVMLpIFNUQsNOGw24hoOJ0UQVukDcxZcpFnwkXS70APNObibqrZ/rIqhaedVHjITWIj94AmOkJKe8ovWq8lojIed5tTzcsUCOz2ixIT2rVScV+x0UFzGS6JOnkRDl/IjdbriahMwd14ZuRFxLEl3pac4aFic9iGfpGy2WzDXbhSoS4fWYJITSIiCxNwtwIa33UJJu1rJSIrBZRjiyr1lGodwiyphd8Pxb9F0UIisrYdevB0GxMRmYG9OdPYMyhSeIlUF6Hcjf7Gvlo77Bd7bV/Q3+Em1UXIS4WCSNd3ZJHx2Ntljdndg2Pro0QkP/LQcjxpgDmX/7W7NNTrfu23GrwNTxyRh1a+RORjlSDS+h5ZZDL2Bmaj5kvrYJdsIMVnkPK2BJFGA8Qf7BhoCPrhd9ZGKCJTVz7nyA1Dod7DoIqMxt5SDkWY92/fpNy40fXmedQuMQ9NcNq2ZqtBxNr5QTs0gZqjdsjzNzcgXdBDgyoyAX+TvxEAhut51/3y3RdfDhV5IjEP//dS2j5o4vXyFnCQNb/SUsOdaI48IVI5lT1vu7vf/njPaIAggrPJP2EqugjQsCwHWNZ0V0ymaJ14Y2LCwZu0dfitfK/ATBFmX5Q0qRHFdWIL7V0T/PMcy2oAQBWZmoBzEEYU4V3gZdimMr24yBaSRpgCWnRh2e6rhmBzZ3Ow4VVYNqyzuGALF580ih8B6MuaWOHPA1EE5yDMUiwRQYYrka0qaB0Prcjb7SG3p83jDonZl6wFTctWMiWcIIEjslR2WAxbBLD1x/QEApTTbrfDRBEB/bF6FuCKjI7j+N4aqQhgfDkqJpjoc3wMkIogbT2bF8eByvRymQhXcoAaQQ/qQAknEylPR9nnMyuOI66bK4AU/slFjpgHyT+xgJQKlHNji+I5dHzzHJCbtNzRj9zAutPCAhmB40ifleLXdllVyQEZGo0vUz9SHmWPNBogg7uySj3UE+I4mL+nAoTBcHVbRsaEyvQBBoRRsQch8cUvlbDqigmEw45QwFPFdUoPYFLtkumz4yhesW0nUKBhs0uKf79P9AdKslmgZOde1fc7+OVE9pQDENGk7rfjRF8MPYQAUQ4u/AovE2KffxE8lLDAt8L5mxOh2B/hlB9SSeAxuyT95k4QDQb4yigy/vmDKvNxLIhGxc10lQ7BiJKtx68HAIhh0nQ2jYo3zNPONgEGROfc9ePRDi5MxClLdXPj6cryAAdiwTABMeSxwyPAMCAWXKC88vTG4yplqVQLhdWcMwEVhJAvIyj87iDK6vgwV8UUqFEpFKY6vV/PBiiwXMvBYj2JFx364oMtMDxQyK5RmdRVM65KE0CCYU0+GCkkugaMDp+JZQASpkplloVX3vDKOYCGhtUE6o6lkSSaBpl2rC4A2wA0lHtnF2EWnNwIRZBVuPqju9ZSBFyFx2I/TVBrdx2t55A1oMhGRcFJzBKg2+oBMkx20a19uy84SYKm6SgW/E9I55bd+24VZTMAmfptihKgmEVZ02swPG7PSUpN3f0494SeImkeuQMPSelP5N47lZqaNOc2hokx7IDlmATcMrlrTptwPJKSUg8/yEvOyz0PZWDoCzrCV5KCEudz85JzXySlJiXhmJiuyNfvM6fgFy7eE0CMEMEDmux7mpcMycuFNk6IntLz/0CHXOEHu/ZBD8EEMUoCYSnXvDhKSacb0Ty4It6DZ8cmS7JIXvK9XffgV5F1vIdgUsShmRj5hAurlDRk8sI4xpYGFP1s71xa2ojCMHxGq6maXqimLbVUJRAU73d6M/RAFWEGbYoEMwlWhBIQmYFC1EWMky500U2hm0AMDWRhSAqim9BFlAYCLhQXXupKEPQX+AMaq3HOcZLMmJmMCnnIZhYTePi+75whZM4bhUkYz8F7nsktZmsSud7YZ2CS6Ld3UkzsXqyznmmzOm59zCdlQGLby/AC6jjIV+SQYzgz7xGM8x5weTsmOibC31NqsjsAn/xkFy/I3g7ikRh4h/OiAKMUZPY3+PpAlOWdPfGS2PE3+V5kG0kwbqPFG0sHUSjuK1YA5jiIDAiKTry5aNs4vvJmGxJBfl8UbawoxGFGP581luPset5xNiYfRxmIExVtrkXs3fb75dnHdowE6MwefGMhJodBp/MgudJS3NaB0xk084OONFdmEzowgu4gD+QEqYzZRBoLCmE4Tzy+z1EXY7Mfj3s4BgrJ3Fx0BJv0alnRNuScL1NBdvkVC4FiqMQn3SW6cu1mKokN8yiRGTZEzv4RKUh2iJeExZ4WH8uOfxqY9dEiBZGO9JLQLHZa63NCfiAX6Vr5IlIQ5UtCL2CnBBZVKBKRNhawp9kLoVzSLFz2FRfvoWDY27iXpQeFIjEon1iK76VZ77jAQxkT0rXE0sKndygf4fM8zS6h5cA95Ac7knMR1o6L7EahfKK7uIidjVw6BqlIo3DU5sDE0griMjgco1CgdCiU2PAgYrHinRjowXheoVD4Ke7iDURsCz72lPWTUQQOSodDbzxZZ0/xLdgiAa/wJPnHRK7iaBNBL66JBLNHZoRDD5TOsRnlaHYigWssZQhGSe4Dgsnw9FDfBaYZKJl5B3Lj0HSY7EnHo2oVIpstoX4jz88rifQaedxWS9p//zxQI0TbYjXKEEHwpxO5U65KrPlfv1Ii2Is7WKy5stQ860nFpkkhEdNmyn/01gDF0RapL1KkBTmAeJJi9QorJhIWrlZPCJAb7glm3hLuV0ikP2y5POX3QM4gqgoEq69SIiFcpKCKALlEW3lJxK2QiBsXqdSCXFNWiG8jckRQ0B2xsAyoAPH0YVoRD5TOVjqRh08JoA6a0oKkiN+IMcNAqTCOPmOqrb2gVAPUo7jkXCVk5QlZ/fFVSqrH6i+/FSV0plFSDNSluPR/g/lNCO6pmTXJImvmKROK/7SpSouB+lTcTYx9P7qCDk16JFeEWjP/6EXvNvUU3q0A1wNRVmlSSsT9qowA10h5Z60MEWOS2s5ycO0YGlrkibQ0GMDNgDA01GYrUntjLM7pbm7/fVWRD+3N3eAGQhiaX7+UKqJ/89ZAgBuMpqmxvk6fUaGuvrFJA24Hmq6mxo76trpWvV6ng1Cn0+tb69rqOxqbum6LQp48efLkyZMnj3z+AXPyli1AIjLTAAAAAElFTkSuQmCC" /***/ }), /***/ 489: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/mticon.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /***/ 490: /*!**************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/mxgicon.png ***! \**************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /***/ 491: /*!**************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/shwicon.png ***! \**************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAAe1BMVEUAAABGdetGdepFcutBd+xHdOpGdepHdelHdepGdepHdOpHdeo+beZGdepEdO5GdepHdepGdetGdetGdOtGcOpHdOpFdOlEc+pEdepHdetFdepAgP9HdepBcuxGdOtGdepGdepGdOlFdOlHdOpEc+tGdOlGdOpGdetHdeqAJ8LnAAAAKHRSTlMA4YEfB/zvQfTsxZkQ0w68zstjORPWZzw0MjAEoxq9tJFdUU0lroZx9XNJogAAAQZJREFUKM+FUtlywyAMFNgQnzEEnNO52rTd///CDsKasTvTdl8QrLToIsFJD6qq1KBPtMamAWDq2gBoNguibAGlDx1Rd9AKaEthooPdX+R22Vu4OMd4jMVSvRjhc1yLvmOXZzt9vpLV9Wg5A9hi9u3vtXlj2yLl0mBHxOeTqPN2my47NERnKGaO+Mga73xVOJOGpuz3lSlW5OcbAtvbFys9kJMNuJEy6UlwNHfKnkZRVS8Zq6TCulpRV2aEWgk+cnoiOCCQwJlSzICBsxSMEIqfuWT568qHlMyNkgRDipJGSXsZFdcr7ZWhMKYp0nIoVDr061H2cLNy9D8XwMff1+afZftjRb8BPGwVH6n9sVwAAAAASUVORK5CYII=" /***/ }), /***/ 492: /*!**********************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/tip.png ***! \**********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAeCAMAAAB+ITwmAAAAclBMVEUAAABGdetHdetIdetGdepGdepCcexHdetHdepGdepHdOpDce9GdepHdetGdOpGdepGdOpGdOpGdetGdepGdetGdOtGdetGdetHdepFc+s6aPRHdepHdOtGdOpFdOhHdepFdepGc+dEcupEc+xGduxHdeplmheAAAAAJXRSTlMATLCk3Ygb/duQFQ/31Me5tqxC6eOndGQ9NgfynZZ6a1VJMSBq/htRZwAAAL5JREFUOMvV08kOgjAUheFbK1LK0IF5nrzv/4qSYqRxYWPUhf+Kk3zkJiRAkfh4lAV9ak0/KTiAeWIipzKO8F4US5oLZt5lG2k7wsHUVB5DjD0d7puTrsXzRhRYzYizvZUhJ7AiiMTepxekrF2kxCh0EB3FjesQbxyHiiAIHIcSRLx8TELPSeDPCHF+OtMvCF8qXa8HWWtdLfxB5JRn+3+SimFEHAeRmulndJKGOPoaoXYKtxS16+GpK2MlvN8NSWYtefR/6CAAAAAASUVORK5CYII=" /***/ }), /***/ 509: /*!***************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/api/mine/class.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.getclassAddFn = getclassAddFn; exports.getclassDelFn = getclassDelFn; exports.getclassDetFn = getclassDetFn; exports.getclassListFn = getclassListFn; exports.getclassPutFn = getclassPutFn; var _request = _interopRequireDefault(__webpack_require__(/*! @/utils/request */ 44)); // 获取查询老师-班级 列表 formal:class:list function getclassListFn(data) { return (0, _request.default)({ 'url': '/formal/class/list', 'method': 'get', 'data': data }); } // 老师-班级详情 formal:class:list function getclassDetFn(data) { return (0, _request.default)({ 'url': '/formal/class/' + data, 'method': 'get' }); } // 老师-班级新增 formal:class:add function getclassAddFn(data) { return (0, _request.default)({ 'url': '/formal/class', 'method': 'post', 'data': data }); } // 老师-班级修改 formal:class:edit function getclassPutFn(data) { return (0, _request.default)({ 'url': '/formal/class/put', 'method': 'post', 'data': data }); } //删除老师-班级formal/class:remove function getclassDelFn(data) { return (0, _request.default)({ 'url': '/formal/class/delete/' + data, 'method': 'get' }); } /***/ }), /***/ 510: /*!**********************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/del.png ***! \**********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAAY1BMVEUAAAD+Wg3/Wg3/VgP+WQ3+WQ3/WQz/PwD/Wg7/Wg7+Wg7+Wg7/Vgz/Vg7/VQD+WQ7/Wg7/Vwn+Wg3/Wg7+WQ3+Wgz/WQ39WQz/WA3+WQ7+WQ3+Wg3/WQ79WQ3/WQ77WAv+Wg6bt9NBAAAAIHRSTlMAem4M54xWBKUz3uEVEQncxxvvp5lQTUEn89SzpodZQ1SPMpIAAACXSURBVCjPzZLZDoIwEEWHbljQLojg7v3/r3SwIdQAib4Yz8Nt05N0JpmhDA0oSYvsAWxpovVVXSVOrIZ7zSgVqMEaZMUFKMQcQ0RFqmAPxMR7yelM5ByVa9ATlR7Fq9dzpiRgWCno1Oua2nykdv+h5A+V+1LlHw4DU7i9qyMfQjvOro2cYVLXzmb0/JLUAwuEcTVneC7xBNzQHxmqxI0/AAAAAElFTkSuQmCC" /***/ }), /***/ 511: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/update.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAZCAMAAAAYAM5SAAAAbFBMVEUAAABGdepHdepHdeo/butHdetHdepHdOpDces+YeVGdepGdepGdepGdelDdOtGdepHdOpHdepHdepGdetGc+1FdOlHdOlGdepGdelGdepGdepHdupHdOlHdOlGdOpGc+pGdOxHduxFdutHdervoBctAAAAI3RSTlMAlfiRDN/QnhQH1It4dCnrw72AaVRNIvfHta6ppZqEX0I2Gom0/aAAAACgSURBVCjPpdJJDoMwEETRImYyYyBA5rHuf8c0siNh1Mkmf9d6i94UmoSLEgtXXjXYMij3UjDBniyy6NPgJSVbbHjAuliEo1C0Fjs/GaCQ7UTu0OgosoNGZycKZSI1NLqK9NDIiNwgPWsbUilSYq5lFVBP+ismzZIqkQwaTSIXqPQiT9AJjxoKBf1LqUKTo3kAQcaYlCzR8UujjE2XCD96AzK9Ga0RNNuYAAAAAElFTkSuQmCC" /***/ }), /***/ 553: /*!*****************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/trends/taddicon.png ***! \*****************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAABuCAMAAADxhdbJAAAARVBMVEX09PTz8/Pz8/Opqamnp6fp6em0tLT19fWwsLDi4uLt7e26urqsrKzs7Oyzs7Px8fHy8vLm5ua4uLjMzMza2trY2NjCwsLD3av6AAAAAnRSTlP38JDTSF4AAAEYSURBVGje7drNjsIgFIbhDj/2tOUAdtT7v9SBaaNyGhMXQKL5XtPNt3nCBpOmw8/Qr4ypjg3gwIEDBw4cOHDgwCkFDhy4141bStaGi2yZ0xPF3oizC3nvabFib8SdyeToLPZWnDdaa+M7cfb0z52s2MGBA5cCB24s451jsdfh4sxz0bT/I0zlzHOswfFtXYpWp3NOzjeuwI1MRh9yx8kQj204l59WnH/zdL4e58RPH6ZanCUj2k8nZ7I1OF4dlektsbqVK3AqTKILmXw2ukyi0OISe7pVlKgJd78zBfehVzS4FDhw4FLfwXV/FeByvU4Xrr+5axB7Iy6GrahE3/HGDxw4GThw4FLgwIFLgQMHLgUO3IPr/An9H/heaJLYr7hoAAAAAElFTkSuQmCC" /***/ }), /***/ 578: /*!**********************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/static/images/ysicon.png ***! \**********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAdCAYAAABSZrcyAAAAAXNSR0IArs4c6QAABKJJREFUSEu1Vm+IVFUU/5331pXddluc3r0jkmVFf5GgQijU6IMllGih9kGyiMggBEWk2AWlMlbdiugPEhVUZFD2ByqKSjT6UBRo2Aezf0apmXPum2m23dh22rknzvBGXrM7b8ay++m9e8/v/M4599xzDqHN1dfXN6Ozs/NeIloJ4FIAnQAqInIQwK5qtbqjVCr93qa6mhi1I2yMWQjgVSKa1UxeRI5671cWi8Uv2tHZFnk+n1/kvX+fiKbVlYpImYiOichsIupLkY157xfGcby/HQMyPe/t7T2rq6vrEACjykTkWyJax8x7AfyloY+iaHEQBE8DOCchPOK9nxvH8UgrAzLJrbWPANiYEB+qVCrzh4eHf2tUaq3NA/gMwPl65r3fHMfxliiKLiKiBwGcQUSS6CEiOj4+Pt6fRR5aa38BoIpV4bw4jvc180avR0R2J+c/MfN51tq3ASydCiMiA03JrbWXA/gqAR5g5itahdFa+wOAC1RuYmJibhiGS4hoWyNORDyAm5qSG2NuJaLXEuBzzLymDfJXAKxKIrUsjuN3oii6WMOexnrvXalUOtqUPIqiu4MgeDYBDTHz/W2Qn8wRAKuZeWcWJivstwF4+RQ9V3nF6VrOzG/9K/JcLndZR0eHVi99Yt855zR8WStIEnSmClUqlTnlcvlnANOstc8DWFAHi8ivExMTq7Kynay1xwDUqhoRXVMoFD5vxm6MuZGI3kvODzLzXP2Ooui6IAg+ngL3QOY7N8YMElF/AnyTmVdkkH9CRNcmkVrnnHtSv3O53JlhGO4loqtS2AKAxZnkPT09pru7+yiA6QlwATN/2miAtXY5gDeS/RIznw1gLC2n1TL5p5GRkWGtkC0bi7V2O4D7EuDXzKzvv1pXHEVRLxF9U2863vsNcRw/3upl1K6ylZAxpoeIvgdQSyTv/dI4jt+t44wxdxGRJpQm5iHnnN61FpFJS3WNjY11jY6OltvyXDUYY9YS0VOJti3MvDlF/iIR3aH/1Wr15mKxqCV10oqiaH0QBFrtpovIcQBLWnquWtKhF5FNzrmH69qttc8AuCfxvN85N6mcJg58SUTpEt0y2y8EoBmfzvJ/JJ0xZgURvV43RkR2EdEAMx9Ou2+tvQXAQwC6ReRItVq9fUrPtUWqhwDWpIcIADuZefUU2f4hgBtS+zpe7QjDcPDEiROuWV41kncbY9ZrdjdMKKMist05N9gkmTqttQNJ7z/ZRJKJZysz65v/s9GIk+T5fH6ZiDwB4NxUCDVrX/LebyoWi9rbM1cul5vd0dGhd17rbKl1WETWOuc+SG/WyK21jwHY0ADYIyIbnXMHWpE2nudyuavDMHyUiOanz0Rkm3OuXjFBDSVUZX8kog2FQmHKJ3MqhhhjVhLREIA5qWgOOOe26r82j/FkBvciMuSc05lr0v2cCmmDbJcxZoiI1ibPcdg5F+mwo+T1wW6fc27efyDJhBpj9hPRlYnQTGYuKLkmld79HyKiNTo83QaISJWILqmPU5VKZUa5XC4r+UcArj/dhBn6djNzrSZQFEWzgiB4QUQWEVHwfxmReL/He39nHMda2/E35u3zseJs5XAAAAAASUVORK5CYII=" /***/ }), /***/ 595: /*!***************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/api/mine/score.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.getscoreAddFn = getscoreAddFn; exports.getscoreAddimpFn = getscoreAddimpFn; exports.getscoreDelFn = getscoreDelFn; exports.getscoreDetFn = getscoreDetFn; exports.getscoreListFn = getscoreListFn; exports.getscoreavgRank = getscoreavgRank; exports.getscoreavgRankZheXian = getscoreavgRankZheXian; exports.getscorebingTuRank = getscorebingTuRank; exports.getscoreclassRank = getscoreclassRank; exports.getscoregradeRank = getscoregradeRank; exports.getscorexuekeRank = getscorexuekeRank; var _request = _interopRequireDefault(__webpack_require__(/*! @/utils/request */ 44)); // 成绩导入 score:data:add function getscoreAddimpFn(data) { return (0, _request.default)({ 'url': '/score/data', 'method': 'post', 'data': data }); } function getscoreAddFn(data) { return (0, _request.default)({ 'url': '/score/data/add', 'method': 'post', 'data': data }); } // 成绩详情 score:data:query function getscoreDetFn(data) { return (0, _request.default)({ 'url': '/score/data/query', 'method': 'post', 'data': data }); } // 成绩列表 score:data:list function getscoreListFn(data) { return (0, _request.default)({ 'url': '/score/data/list', 'method': 'get', 'data': data }); } //删除成绩 function getscoreDelFn(data) { return (0, _request.default)({ 'url': '/score/data/delete/' + data, 'method': 'get' }); } // 统计 // 总分排名 function getscoregradeRank(data) { return (0, _request.default)({ 'url': '/score/data/gradeRank', 'method': 'post', 'data': data }); } // 成绩学科统计 function getscorexuekeRank(data) { return (0, _request.default)({ 'url': '/score/data/xuekeRank', 'method': 'post', 'data': data }); } // 班级总分平均分排名统计 function getscoreclassRank(data) { return (0, _request.default)({ 'url': '/score/data/classRank', 'method': 'post', 'data': data }); } // 班级总分平均分人数统计 function getscoreavgRank(data) { return (0, _request.default)({ 'url': '/score/data/avgRank', 'method': 'post', 'data': data }); } // 班级总分平均分人数统计折线图 function getscoreavgRankZheXian(data) { return (0, _request.default)({ 'url': '/score/data/avgRankZheXian', 'method': 'post', 'data': data }); } // 年级分数段统计 function getscorebingTuRank(data) { return (0, _request.default)({ 'url': '/score/data/bingTuRank', 'method': 'post', 'data': data }); } /***/ }), /***/ 596: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/check.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAZCAMAAAAYAM5SAAAAflBMVEUAAABHdetGdepHdepGdetFdOtHdOpGdepHdOtGdOtFdepGdOtEcOgqbOVHdepGdepGdepGdepGdepGdepGdepGdepGdepFdOpHdutIc+tAbe5GdOpGdepGdepEcuZHdelHdOpGdOlHdOtHc+lGdOtGdOtHdOtGc+xAdepHder9tQD2AAAAKXRSTlMA+u3471pB8zpINSISBPXo5dGthHZuYlJMLwnayboe39ulopSKf2UoGFANZa4AAADUSURBVCjPdZLXEsIgEEVvSCBRU9Q0E3t3//8H3cEESPE8wAwHWPYO6GirY0CMfyg+cEkKQQb/Hluz2tAAsejNMqAxVXcmpCk7XWdDMwQrVgXNsgXacSHvedFzBEkjXojPxOS4jowE3hkxGfZDUwNN1z7SX4E81NPC6RI/o6B8jkgBkYkMvLtbS8OIR/tgrmVuagCVklU3N5mdb83a9OXVQO2RJUcreicr19ASKP9lyMwmL05gTmJq+MWaZuqk+RuHocgUDEm5tiJ8xHBJ5FZbcSx78QU5aUeOEwLQZAAAAABJRU5ErkJggg==" /***/ }), /***/ 597: /*!***********************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/add.png ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUBAMAAAB/pwA+AAAAElBMVEUAAABIdOpHdepHdepIdetHdeokhAJrAAAABXRSTlMAq/fjpExiOj4AAAAtSURBVAjXYwABIUUGGBANpJTpGgKmBIHANBhEMqiGQkEQMhOhAKqNSm5AeAgAU6EOv2/YxaQAAAAASUVORK5CYII=" /***/ }), /***/ 598: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/draft.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAAAk1BMVEUAAAAUFBQWFhYAAAAVFRUWFhYVFRUVFRUVFRUZGRkVFRUWFhYWFhYVFRUAAAAUFBQVFRUVFRUVFRUVFRUVFRUNDQ0WFhYVFRUUFBQXFxcTExMVFRUWFhYWFhYVFRUUFBQVFRUVFRUUFBQWFhYVFRUVFRUVFRUWFhYVFRUUFBQUFBQREREVFRUVFRUWFhYUFBQWFhYrUJhtAAAAMHRSTlMAMy4I8iLwYWQK/PbSzwRE5NbCuzoS7LGgLCjo3op/V1EwGJmWkHl0bUs+DsmnWxrZjup/AAABRElEQVQ4y+3TyZaCMBCF4YsgCAgok4DzPPVQ7/90LSlaiHTE02v/BasvJylygip959JfjQaQm5CqpeRiUjaW4IDILfrtjkSG/gBNHe2sG7QlyCsLrdHaVsL9w+lsFRyTXKyCi9RsFvoqCF9vphpGNbWP3+xgPxMwWQ1Ey00DOtkqQVl/YhKRgCFVDWtY5kZrQBOM4YiqUr+GTDX+JVNPwKU3FHmn5tZTvnEiGsW+9WyYIL0hlNycH57AiUMMORUUSdDdtJh/9iRoRcQHKCSWnJiZ23MFe4j5HBRd7mydufxoDgl6dwjkn0zDQLAgIpFn6YAEgf7OoLKP1dXiPZ2IVzUg9z03eSz+bgugDblkkRI3XWwABRRdj+WFDy0bUEPODr40cCpY94b/gXkXzCuYaR1lJZzRS81wMV5xRgzkodPFnLCHH3drccsOw3EoAAAAAElFTkSuQmCC" /***/ }), /***/ 599: /*!************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/check.png ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAyCAMAAADr0TwHAAAAjVBMVEUAAABHdetIdOlGb99HdOtGdOpHdepHdOtGdepGdetGdOpGdepGdupGdOpHcOtGdOpHdepHdulHdelEdO9HdOtHdepGdOpHdetHdutHder////19/79/f5Meeptke5pj+7g5/vM2fnI1viuwvZhie3i6fu4yfZ4me9xle/x9P3w9P2lu/Sku/Tj6vu4yvb2x7BxAAAAGXRSTlMA/SINv/Pe2K+llmJbMhnvvpqCIMibe+6Ce7MSPAAAAadJREFUWMO1mOlugzAMgAMFylVo6bGRpJSjHD2293+8JYs0belBzOrvJ7I+IeM4NuQWOwodz7VyQyzXc8LIJqOsd/N8EvPd+ql44Vv5ZCx/8VCcBPk/CZL75jiFefbDtW4Z5+e2vg579SyN75lXMPGhY/QXrDuo5yuiM1vCxBW9oVLy5Uwzb0CpaDi9A2++07L56wa987GkDyiP2nsD81yc6UPOhZbvGGIeGH0CG2RM/FPPb5BsnOhTTjInaUIUAeQLlnSEUn7LQJkXOYCGjtLIOHXmfUg983E1l/XtS7MN6UgVNaCSvUr2wQxSd9QIWYGZUEP6c2em7mT/FvmAlAczUzNZJDaJAOqeGtKL4IiEAPXFVH0RwSFxAOraVF2LYId4AHVrqm5FsEdcgJqZqpkIdgnkwHBTNZeHBlENSsgJlBDEz4hYfIhHBvGgI7YnvKaKdxW8y2Ed6QLDu3YRhwXsEYckKcJghjZOog3BW8C6AR7d8RcO5XZetSY5M6KzzUEU2nL3Wajn25espL1aSdlHfe21lRR/kcZf/xV2NvWnRWZrKsRfLV/4Qootq+v7ogAAAABJRU5ErkJggg==" /***/ }), /***/ 608: /*!***************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/example.png ***! \***************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /***/ 609: /*!***********************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/exc.png ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAkCAMAAADbwBjtAAABLFBMVEUAAADAxtDIzdbs7PHq6/DJ0NcJzQPBx9DBx9AVkSsLhh3w8PS21r0VkSq32L+h1qgLiRzJztbI384IhBjL6svV2d6/xc7AyNAAxwAHyQDO1NoamRocjhwAcQDh4+jFytLEytPr7PG/xc7j5ekKyQTs7PAJyQTAxs/r6/Dr7PAKyQUDxgDBx9AExwHT6dTQ6dHu7/L////j5eq+xM0HyAPb99uz7rKU55IIyQQExQK677mw7a40zzEbyhjf+N/c99uR54+N5ot44Hcvzy0kzSHq++rY9tfN9MyE5IJx3m9n3WZj2WMgzB4VyRMKxQgBwgD8/vzj+ePF8sTB8cCt7K2Y6JZj3GJh1WFV1VNM1Es81Do60TkqzSkRxw/2/fbz/PKm66Ra2ldF0UQCvwFXKMbxAAAAKXRSTlMA+PG5+B39297B/fv69/b29fDUwb+2sDApIxsKCQn49vTax72wrq6mM/i0dZkAAAFySURBVDjLvdJnT8JAGMDxcwCy9wb3oqXqQVtoS9l7743z+38H77SgoJe+Mf7TNLnnfklzlwLU7dnhVsfnAbDTVWS7WFyn2SEHP0gUGTWCjCqJHmnUCDZqBBs1go0qwYZMlHQBAolE4+tuSCQSW3exIcQO/pKEHWTiCGMRcprIxOQMARDUGyxkYjHog0BvtlnviFltZj3QarUMTYxB24CiKBYv0ItiaJaiBYZKfgzwCodJM5HNJoq5XLueKLSqfH7VwoNFPSFvSAqmJT5Vg6Mu36k8Drt9GZYkfibB4jcyyI9pQYTp1gLm3l6qMiznax1+i6TFZ0EYwnJ7BvP08rUJS6KISJNlN4SfNIoNKMLc6qk87fVkWJk0lhKsjefsJylkOC4z5SptKV2Y90uDgowH9RHHcVUak69DJ9HDCozAKofG94I/dIlugSFGJ6lrAPw+1z0xl8//r38dcBsfCBndCvGc2vd/zX7iUYhXt0dI50Xb73/BqcfAcR0uAAAAAElFTkSuQmCC" /***/ }), /***/ 610: /*!************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/down.png ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAMAAABsDg4iAAAAYFBMVEUAAABGc+pGdOpHduxHdetGdOtDc+tAc/NOYuxGdOpHdetHdepGdOpHdOtGdOpDdOpDdO5HdOpHdetGdetHdOpHdetGdOpGc+pFdepAd+1HdepGdelGdelHdexDb+lHderZnHu+AAAAH3RSTlMAX3U12zkcCgT08OfItGwsIeKmop1+VE4lDs2ui14XYbvcQgAAAIJJREFUGNOFzNsSgiAUheGVRhAaaOap03r/t2xD40hw0X/FfLMX2HpbTshTZFVg/R9Xt6SonQdwpa131C2tBp7kWW24tuTRhFNR/0Uj1ncIXcjGK0EdXmKxm9y+yPEu2xOwayi1+EOsSQ3mEaxfgB8dZNshbxySrTpkzcDMIoepxOoDzqUPJewX+jIAAAAASUVORK5CYII=" /***/ }), /***/ 619: /*!***************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/api/mine/files.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.getleaveAddFn = getleaveAddFn; exports.getleaveDelFn = getleaveDelFn; exports.getleaveListFn = getleaveListFn; exports.getliveAddFn = getliveAddFn; exports.getliveDelFn = getliveDelFn; exports.getliveListFn = getliveListFn; exports.getmindAddFn = getmindAddFn; exports.getmindDelFn = getmindDelFn; exports.getmindListFn = getmindListFn; exports.getoldechFn = getoldechFn; exports.getoldlistFn = getoldlistFn; exports.getstuAddtFn = getstuAddtFn; exports.getstuCountFn = getstuCountFn; exports.getstuDelFn = getstuDelFn; exports.getstuDetFn = getstuDetFn; exports.getstuListFn = getstuListFn; exports.getstuPutFn = getstuPutFn; exports.getstunoListFn = getstunoListFn; exports.getteaAddtFn = getteaAddtFn; exports.getteaDelFn = getteaDelFn; exports.getteaDetFn = getteaDetFn; exports.getteaListFn = getteaListFn; exports.getteaPutFn = getteaPutFn; exports.getteanoListFn = getteanoListFn; var _request = _interopRequireDefault(__webpack_require__(/*! @/utils/request */ 44)); // 学生档案信息 student:info:list function getstuCountFn(data) { return (0, _request.default)({ 'url': '/student/info/statistics', 'method': 'get', 'data': data }); } // 学生档案信息 student:info:list function getstuListFn(data) { return (0, _request.default)({ 'url': '/student/info/list', 'method': 'get', 'data': data }); } // 学生档案信息详情 student:info:query function getstuDetFn(data) { return (0, _request.default)({ 'url': '/student/info/' + data, 'method': 'get' }); } // 新增学生档案信息 student:info:add function getstuAddtFn(data) { return (0, _request.default)({ 'url': '/student/info', 'method': 'post', 'data': data }); } //修改学生档案信息 student:info:edit function getstuPutFn(data) { return (0, _request.default)({ 'url': '/student/info/put', 'method': 'post', 'data': data }); } //删除学生档案信息 student:info:remove function getstuDelFn(data) { return (0, _request.default)({ 'url': '/student/info/delete/' + data, 'method': 'get' }); } // 老师档案信息 teacher:info:list function getteaListFn(data) { return (0, _request.default)({ 'url': '/teacher/info/list', 'method': 'get', 'data': data }); } // 老师档案信息详情 teacher:info:query function getteaDetFn(data) { return (0, _request.default)({ 'url': '/teacher/info/' + data, 'method': 'get' }); } // 新增老师档案信息 teacher:info:add function getteaAddtFn(data) { return (0, _request.default)({ 'url': '/teacher/info', 'method': 'post', 'data': data }); } //修改老师档案信息 teacher:info:edit function getteaPutFn(data) { return (0, _request.default)({ 'url': '/teacher/info/put', 'method': 'post', 'data': data }); } //删除老师档案信息 teacher:info:remove function getteaDelFn(data) { return (0, _request.default)({ 'url': '/teacher/info/delete/' + data, 'method': 'get' }); } // echarts student/old/echarts function getoldechFn(data) { return (0, _request.default)({ 'url': '/student/old/echarts', 'method': 'get', data: data }); } // 历史信息 function getoldlistFn(data) { return (0, _request.default)({ 'url': '/student/old/list', 'method': 'get', data: data }); } //班级学生信息 function getstunoListFn(data) { return (0, _request.default)({ 'url': '/system/student/noPage/list', 'method': 'get', data: data }); } //老师信息 function getteanoListFn(data) { return (0, _request.default)({ 'url': '/formal/class/noPage/list', 'method': 'get', data: data }); } //心理健康-新增学生信息mind:old:add function getmindAddFn(data) { return (0, _request.default)({ 'url': '/mind/old', 'method': 'post', data: data }); } //心理健康-历史信息mind:old:list function getmindListFn(data) { return (0, _request.default)({ 'url': '/mind/old/list', 'method': 'get', data: data }); } //心理健康-删除学生信息mind:old:add function getmindDelFn(data) { return (0, _request.default)({ 'url': '/mind/old/delete/' + data, 'method': 'get' }); } //身高体重-新增学生信息live:old:add function getliveAddFn(data) { return (0, _request.default)({ 'url': '/live/old', 'method': 'post', data: data }); } //身高体重-历史信息live:old:list function getliveListFn(data) { return (0, _request.default)({ 'url': '/live/old/list', 'method': 'get', data: data }); } //身高体重-删除学生信息live:old:add function getliveDelFn(data) { return (0, _request.default)({ 'url': '/live/old/delete/' + data, 'method': 'get' }); } //请假-新增system:leave:add function getleaveAddFn(data) { return (0, _request.default)({ 'url': '/record/leave', 'method': 'post', data: data }); } //请假-历史信息system:leave:list function getleaveListFn(data) { return (0, _request.default)({ 'url': '/record/leave/list', 'method': 'get', data: data }); } //请假-删除学生信息system:leave:list function getleaveDelFn(data) { return (0, _request.default)({ 'url': '/system/leave/' + data, 'method': 'get' }); } /***/ }), /***/ 620: /*!************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/edit.png ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAQCAMAAAA/D5+aAAAAXVBMVEUAAABmZmZjY2NlZWVmZmZlZWVlZWVmZmZlZWVmZmZhYWFmZmZmZmZmZmZmZmZmZmZkZGRjY2NlZWVVVVVlZWVmZmZmZmZmZmZoaGhjY2NeXl5jY2NmZmZmZmZmZmbqCpSBAAAAHnRSTlMAQxpr3za1juRmBPXPoGxeTzEsBvTxZFBAHxMSwZis3nxfAAAAj0lEQVQY033Q3Q6DIAwF4DMEFUHEn839nvd/zNFxsRAj31XT5LRpIeaWpXZB1qTaXv5sS9dATNQGJaM5AVCuVyhIs99Ss2PE0c4OQ6+lfD0ADPMgiScSrbFwlOFXBqyefsWN2x3ASJiUlKn0qSQN3uTn16mkKrskueMosju9y6nKNyo/rH9eqGhDkwUb8+4vVFINAmMNZmAAAAAASUVORK5CYII=" /***/ }), /***/ 645: /*!************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/scbg.png ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /***/ 646: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/share.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAfCAMAAAAhm0ZxAAAAn1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Kd3m4AAAANHRSTlMA9vrwDhbn7OQsECcTCQSql3Nu/NSyehvht6WAaDMivrqckYhOINzGXdnLrkE4z86gi1ZI9mLUFwAAAW5JREFUKM91ketigjAMhZuGtlQQZFwFERC86y6O93+2RVFxG5w/afqR0OSwX3KaMrLZsCYzMN+MYWZXvCU4Vsd9giPsvRhpa6wgzY/c9Cb/iMhdXgir5PIPtM9ZscH2EDM95/K1rXH6TJCj3GQGI/hauf5KOO5dr9G3KyskKDqUhwBBZNlTRuogyPp2Om+5mmkCvZauj9eotzRv18F5fBBXHCiIlJsL4wpEvvNy5/b/FPFINwuFkUFxvQsTha64dkwBZ0uK7zyMabzdVnGEdktnywVVU5wu0DxRWilfzj0XCsF0yFV2Kz9AajNdAhQXIVZQCl3eEWukujgWLaJeO8yYQXqi8938DPfr2KWXTjqPgg/+9CiEeRyhorRjfpvQQJ0CqM8BVKLz4pMTei4owa8VBvrhLW52/e428CExeuR53fSIHXzuB1bvo8N6HaGFasIGlWGL3nSYNbKV32xYOmhNPcKMSO2XI4wMWdnD5Ad0NBrccbfqBwAAAABJRU5ErkJggg==" /***/ }), /***/ 647: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/total.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAeCAMAAADjLDWuAAAAflBMVEUAAABHdelGdepHdepEcelHdOpEd+5HdetIdOtGc+tHdepBbOdHdepGdepHdepGdelFdOlDZ+hGdOpHdetFdOpGdetHdOpGc+pGdepHdepGdOpGdepGdelGdOpGdOpGdepFdOtHdOpGc+lDb+lHdetGdetGc+pIdO1Da+RHderTVGztAAAAKXRSTlMA+YNSLIQPsXIjzQfjuqpoHwrXdjDwkV/05sGoi35bynFsQBfimEk5EyM9pQ0AAADPSURBVCjPxdDJEsIgEEXRBsUpRgU1JmZwHt7//6ChKe1siBurvCuqzmPTFOmiuDLq4BYxt6Z27NGOYK+qO0mD5P1aA+7auoIRXiJNPjyfOnbdYYRBYHKKXdi3t28ma6134e0jbQdJYM678IaSFHCBxYWJB4HFhXnAPD2dnuLnwGFQ+t8NsBGnOg8slwKGHacVXz3LzhHnRsD6i0++e3Yoe32M2e+9KYpVn++AP3nN3ni3wNH7oet74xsDmamAVGuHQpsFcDNGt96Xolz1lb8AViUpuOriqMgAAAAASUVORK5CYII=" /***/ }), /***/ 657: /*!***********************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/one.png ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAnCAMAAADAWWPLAAABpFBMVEUAAADWFhaaeUb5tkP6uEL5uUD4tkL4t0L6ukf6wEn7tUL6uD/4tUP4tkGekYGZdj+KGBeJLCuEGBj4tkIiGBT4tkP4t0IiFxT4tkL3t0JMFxX4tEH4tUP5tkIjFxX4tULoFxf7uUIbEhL4tUP4tkL4tUP4tkIjGBUhGBX/+J74tkP6zGD4tUEiGBXYGRkAAAD/+6T96sj4szv3sjeKhlY3NiL+9pgZEBD//ar5x1TcOjr80WD++/X++dL/+Jr/95f3sDX4sz7/+Zz60IUbFxT836z+9KT/+Z///Pf++/D++uz/++r979f+9r7+9Lj726L+9Z/72Z3/+Jj6zX/6zHv5wl/4vlj5x1b4ukz5u0TdGRnWERb++ub//OL+9qn//Kj70ouFgVL++fL++PD+9eb+9uD+8+D++dz+9dL97dL+9s/85sD84bD+867f3ZTFwoD6yHL5xWn5yVz8zFT5wVL6wUXynDzhOzvbLy/nYizcLR4YDQz++db/+Lv84rT//rP+9qv+85/S0ZDQzoq5uXv6zWH5wFFycU9eWzr3sDNPTTIsKxuGlcvpAAAAKXRSTlMAWPv7XA3ofkc0JBfhYv778O/t68i4ta+qpJuWkXduaFc+HOLR0G1sbEy7HVwAAAJQSURBVDjLxdFnX9pAAMfxs4CAe2+t2snfK5jEptUGEkSUvTfuvfe2e4833SNAceDj/h5d8r1c7j5HCGl/cV/tJFcLG01MTFy9KnXFntnbFtUHn/d1NTQ11tU/KFZf19jU0NX3bJAU6s9kzrijN8WOuLNMpp+UqjCbx7jRoWKj3JjZXPFf/Nt9fr6RHDpMHn8/Th4OJTfO73iWS4PmQ5rL3vLs5akAUF75pfAUEE4vszf84gQQ6EFwi9sKHlABOLm47p1p8Cnn4rTV/85vnV50pnikO0rcAQjz0mZItJlMJpsY2pTmBaCzyL2Mt92zDAvZZt3vFaA3z1UaKNteMU9Tw1PqDK9TgKZK9VbYHZ4Cz31d2FMniB6HHa05NtpBlyZVHd79bbEsDKvjySUKu5F5N/jwekTlEQtrJO+R9TCPbuY1EJbzn8/9sfx4qbq6wLKAR2x3QMIt5pf/+flDyUV3AqgiBkodM3Jhd6bXJZdnHJQaiJbyQeu4Kd91H7cGeaolteCd97iTRy3Rwh622sq4zRq2Q0sGQGMzchmXp2MUA6Rag5QklnFRSkFTTcgTKL6dMr7jU/CYEKIHja7Id1xeiVLombMfCKuBOx5YFXLLs3pA49Jk0Qv380mKU/SQXLpK8FHX7Lh6/V/2dqfY2T+6YjwqdUTNAPAxyS+aiol+KcoDBlLoKWBP+DyBkByxReRQwONLMH5I/lWrARX2OZd37e2a18XtCxQaxqWMNQBVEHfMO+JQKFBjJDfS6ZvBopSC1azXkdvptG2VyFXZpi3pX61cw+FRBQmyAAAAAElFTkSuQmCC" /***/ }), /***/ 658: /*!***********************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/two.png ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAnCAMAAADAWWPLAAABoVBMVEUAAACCn66LjIyew/iexPhXY2qew/eewveewvciFxWeyvqfw/qjwvWfwveal5eJi4tgam+ewveewvedwvc4Njiewfafwfedwvefw/afwviKrbyBn6uoy/idwfSgwfefv/mdv/QbEhKZzP+dwvaewvgiGBQjGBUjFxQiFxSgwPeewPefwvjd7Peewvfh6+3b6/cAAAEjGBWCoK+dwfeYvvbZ6vbr9vybwPcZDQrt9fv09/jf7fmav/fd6Ov7/P7l7/KRrLk0Nzr5+/72+v7k8Pm81fn0+P3x9/3m8PrS3ODr8v3V5fvN4PvA1/rc7PceEQ0GBwfg7/msyvioyfijxve7w8WEo7OAnqs8QEPv9v3l9Pzj7fygxPvh7/rD2vrX5e6nrrFucXQXGRre6vzY5vzn9PvP4fv1+fq20fmwzvja6vefv/awzfLi7fHB1/HK3PCZvOqPsNDDy86yur2UsL2utbiFpLiMqLZiZ2kRExQhFhLz+P3p8vbd7PPc6/K+1fLK09i/xciapaqWnqKKlJd7f4J4fH9SV1k/Q0cuMTQPEBCncEgcAAAALHRSTlMAWPv7XO/o4qdtNBcMYv777+u4tJuRf313aFdVSUY+KCEcD9HQycevr5aWberuDwgAAAKKSURBVDjLzY/3V9pQFICfRUFwb+vW7pZLHrwXUkiMli1LNrj33rvavcdf3Rswgvb0934nJ7k5352EkCf2f/GUaDyy268mJydfVoL/V3b746IfNpvba2qaG5vu6TQ1NtfUtJvNw+SanlzudGNvTGdv4zSX6yFlqhyOcfeoTWfUPe5wVP1f/sJtsy0c7H/YP1iw2dwXf/l8aBcURZIkRYHdUP6Oz58fcgZM4pxL+OWH5/lK33s0C8DZVnRlZiW6xTjA7FFvha8FkDIRT8AVCoVcbzyRjASztbc0n/e4BFGwxq34dnnmscVNQjfqiEcWrDqC7FnFhO6SHjQAX/WKmnC+m3jvlK3WuOCNcDAMFn0rSLGi9mULCZooZH0Yi96YBK2atuwA82q95RNKl3/9pvQsqc3wMtixoH8GSjSs+bVluvTWNfaDLvs0H44q8By9CXgQNdYvFjAQRinNFpcMcjARMgSQ9uB0RJ7W8qYv6aKsbeBJAwyRPonFAuh14seUfrRqPhBjUh+pZsq6q+J0109acJaidYVVkwZQImUvOF/Ty4l4yUcUaMB6KYq+rBPZ5HWnqIT1A8D8AVHXSzRxgteV5vsZDJA6A2RUsazPUJe8mgFDHSEPgYflol77Tuki6hJymMMDQkgXDgiK2uHfKP0yobGglQexfRd6HMCn5nDlT1Tn6xyWT3GtPdIBLKUKgvX4lc7nOWFbTTHoIBojRlD8qlVIOnWSgqz6JTCOkCL9ANyvhkScUUIMqX4O0E+ueQEgpcNenyCK+Gz7vOG0BHCf3NBgwBabM2ogOBUMqDObWGxAXcZiAmAcUrH5WAo4AzBZyC3qO1sAYYwB0tJZT+5SX91mBA1jW3XZ/gE0kM5164XMqwAAAABJRU5ErkJggg==" /***/ }), /***/ 659: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/three.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAnCAMAAADAWWPLAAAByFBMVEUAAAC/SxeMXUL8woL8wYH8woH9wYH8wYD8woH8woH/yoH/w4H1wnv8wYCaiX6KWDx7NRd9QSt3NRj8wYH7wYEiFxT8wYH7wYFHJBX8voH7wYD9wYEjFxUiGBX9woHNTxe6RRL8x4H/wX//wYT/v4D8v4EbEhL/zIgiGBQjGBX9wIH/5r/8wYHcjFcAAAAiGBX/5b2/TBn/5Lr8wID8v3z8vXkZEQ/Zg0r/68P8wH7//Pny1sT/5bv/7cX9xIPgjlf/+vX/9ur8vHiJfGjHYjr/8uH/8Mj/+O7/88v95Mj/58McFRT/+fL/8+T/8uD/7dT91qr91Kf/7M//7MX94cH93779167LxKX8ypP8yI/8xIeUiXKThW5uZlZHQDXDTRn/+PD/88//6Mf/6MCmn4jspWsNCwn/+/j+7dr+6tT65tT+5sz78cr/6Mnz2MXs4Lvg2LX92LD80KD8zpuzrZD9yYjvrnDwq2yPg2zmnWWBdmPgk1x1bFtlX07dhUrXgEhYUEJRSz/LZDvHYzvEWy/HWyYtKiO8RhS7RBL+7Nj/+9f03s/03c/u58n268jy6MT92bPczKrZyqippYqUjXc3MiklIRwREA1Wm8OPAAAAK3RSTlMAWPtc/Pno4rd+NBcMYv778O/t69GvqqSblpF3bmxoV1VJRj4oIRwPycdtt/r3eAAAAsFJREFUOMu9kWdXGkEUhifB3ns3dk2y1wnuDLqLaAAFRKXYK2CvsffeS3pP/m7uLBAsJ1/znLPnzMxz37t3dgkh2a/+RTYRPMdVR0dH/V1wj6cvNF9dXJSXlpGekvo0TGpKekZaXlFxNQlREgicLx+/DnO8fB4IlJAIT+rqWhsbasM0NLbW1T35v/7inr945C8/nNQe7E1PT+8d1J68v3zkbxd2WHMQtrNw+8DfXG0bABi3Wq2cARi2r27u+tKGLTxkG73zb+d7NxiWbjWU3vG5zYwPO80Om8fjcTvMzmHOmnMiOgfDa7NuSTZJkmSSJffsGrbIDetC1E7zBMoQpgnzIhYUBnVlNFgXO2VJmmwK0iPpTWNOA0RXaj4OeL/Q0rf9Fo1RRZLkzn4OcUInMGDmdgmZokHq7bhpN+N5Avp84H02Wfivu6Ojoy2U7jfhRrb1cchHHwsGh4jj+3sU5eM1PWzTi127wwCxhFQBDJlFXKD/9JP6UAtk8xBAFSljar9FDuk3fup7J7Twln6VlREd4702U0ifUXp9OtCjVZhsvZzpSDJwpzsYUUYo/Y3zTylatdvJIZnoVN7nCuXbDgeU1SM6s6IXeVcfV3WkAtQuR/j9dnzGf9ER0UB2dKlQQRKjYNgoB/WkyLWdUp9deOMwRCUSkgVW21Kw/ab4MON+2iLySzYrZBFC4kH1ahe0++nUuGIfoHRAu55XhXj0idFgsHRjZ+UHpWe7vhnqb8Nm3Rb8gYkEKQA2aGzX43QjMxQ5+oxryTjIoIAIamKAe7WCnpXNke+rdlxNGLs4xNQQjXIA3mX0yGJ6RQwqe4SGchLiJRYMuTq7JVk2ybK+u9M1hPoZ+UtyFDDD+pxxzOKyjBnn1g0MolBHSIgFUK0w6P3iHWRWFSA2gdwjKT4TEKYyQDLjk8hDknRxMSCIidNF7B/WTNeSjcp0DAAAAABJRU5ErkJggg==" /***/ }), /***/ 660: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/onebg.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfAAAABGCAMAAAAEljYIAAAApVBMVEUAAAD////89cr+9Mb99cb/////////+/f+9Mf+9Mb////////99cb/+OH//8z////////99MH99cf++uT988X////////+9cf///////////////3//vn//////fP//PD99cn//vv+99P+9s7//O3++d7++uP//fX+++j+++r++eH++Nj++Nr+9tD+99X++ub99Mf//ff+9cz++uX++Nz99cv+99fHLBzNAAAAG3RSTlMA8j+tjK1BBvHRimZmEQXTHR34VHl43t7Ll5MtL5SDAAACnklEQVR42u2daVLCQBhERxZRMS7BBcQo7uIa1/sfTWgsCibzzfA3Tb8c4dVL0lOpijPIuu2TjWLOMMpVkPMoH3MeKlxYXBrcBhkv8+jzDsDXjPsqTx53Ab5nvCzx7PE75W2R6yCvS9yE+JzzA0YG5QL5abPhTLIzyK6t8PH0kvDSo5kZvnsT3bUWrsJB6bPdcSF2iqLmwlU4KCu0XIBBUXvhKtwQnmeuwnFRf+EqHJRVes6nMSQQrsIt4UfOp18QCFfhKwvfLBiEq3BL+K7zaFMIV+GWcP/wpbNBIVyFG8K39ip3dArhKtwQ3qycuXAIV+FghUf4PodwFW4IP/R8HxQcwlW4cZbuPLokwlU4SB+lt0mEq3CwwigjEa7CwQqjjES4CgfpUcYiXIWD9ChjEa7CQXqUsQhX4SA5ymiEq3CQHGU0wlU4SI4yGuEqHCRHGY1wFQ5So4xHuAoHqVHGI1yFg9Qo4xGuwkFilBEJV+EgMcqIhKtwkBhlRMJVOEiMMiLhKhzERxmTcBUO4qOMSbgKB/FRxiRchYPoKKMSrsJBdJRRCVfhIDrKqISrcBAdZVTCVTiIjTIu4SocxEYZl3AVDmKjjEu4CgeRUUYmXIWDyCgjE67CQWSUkQlX4SAyysiEq3BgjzI24Soc2KOMTbgKB/YoYxOuwoE5yuiEq3BgjjI64SocmKOMTrgKB+YooxOuwoE1yviEq3BgjTI+4SocWKOMT7gKB8YoIxSuwoExygiFq3BgjDJC4SocGKOMULgKB8FR1mUUrsKBf0cHx4zCVTjAO/paCFfh/8LzhvPpMQpX4QD/pfPJ9JZOK3zUcgF2CIWrcAQO3xU6fT7hKnzCVs+Fyfg+gFDho7yVOZPNwcmQSviaF56fNnct3X/kFP1t/2vziAAAAABJRU5ErkJggg==" /***/ }), /***/ 661: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/twobg.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfAAAABGCAMAAAAEljYIAAAAllBMVEUAAADf6O/f6O/f6O7f6O/////i6fD////7+/v////////////////e5u7x8fjM///////c5e3r8PX////p7/Pp7vT////////////9/v7////19/rn7fPl7PLr8PXp7/Tj6/H7/P3x9fj4+vzh6fDg6O/2+fv8/f3y9vnv8/f6+/3t8fbw9Pf09vnu8/b4+fvf5+7j6vCreNb9AAAAGXRSTlMA89OtjIpkQQbx1q5mQhEFHR14+FM1y52zZmPV+wAAAkZJREFUeNrtndlO40AUBdt2EkIgnpksMGn2fQfz/z+HQAiCz22JVw51/Amlcqv6pVNh7fbWZJ6/bvXdXfV2Eu92fWfRnj52Kdsr7uFz172dhrtf282XPX7ubn2HhR0Vtl/aQWnHhT2/71x3oes+VtXNNBXXDudZt3r7AP4jgb+uaVO80WZ+G4Z7Ae/qcch7+EoXww2Bd4OI927OGcM9gVet8p7ljOGuwLuF8F6uMob7Ap8J8J2M4b8J+EbOGG4MfNQHvpUx3Bn4ssd7vInhzsCrP/JHx3Bn4I3euWC4M3A5wicYbg38X4/334zhzsDr1Nt2xnBn4AOJMgy3Bj6VKMNwZ+BBlGG4M/AgyjDcGbhGGYZbA9cow3Bn4EGUYbgzcI0yDLcGrlGG4c7AgyjDcGfgQZRhuDNwjTIMtwauUYbhzsCDKMNwZ+AaZRhuDVyjDMOdgQdRhuHOwIMow3Bn4BplGG4NXKMMw52BB1GG4c7ANcow3Bq4RhmGOwMPogzDnYEHUYbhzsA1yjDcGrhGGYY7Aw+iDMOdgWuUYbg1cI0yDHcGHkQZhjsDD6IMw52Ba5RhuDVwjTIMdwYeRBmGOwPXKMNwa+AaZRjuDDyIMgx3Bh5EGYY7A9cow3Br4BplGO4MPIgyDHcGrlGG4dbANcow3Bl4EGUY7gy80SMcw52BT6XCMdwZeK0PEWK4M/ClAF9guDHwWZK1cwy3BT5IwYYY7go85J3GOxhuCbxapHjtfwz3A14N2lTcxu5kjuE+wLu6GZVwvwDnhXl46t0T0wAAAABJRU5ErkJggg==" /***/ }), /***/ 662: /*!***************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/threebg.png ***! \***************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfAAAABGCAMAAAAEljYIAAAAk1BMVEUAAAD///n79vH////58OP58OP58eb68OP////58OP////////58eP////////////58OT9+vX49Oz////9+/b58eL////9+/b79ez////58eT9+PH+/fv//v368eT+/Pj9+vb79ev79On68ub89/D9+fT8+PH79u39+/f68+f////58OP+/Pr89u////7+/vz8+fOpdnllAAAAHHRSTlMABR2tjK5A8dHRimZmQfH4+BMN8pl5eFVK3t4zjQyP5QAAAhtJREFUeNrt3UtS20AYRWGBbcAxINkxsYG832knDvtfHcWAAnRbgvHh3C18A9X5S1XdDGy5mFy2+4d9eMn+3+/9i/b3yT6N73dln8f2Y3g3d/s5sO8j+/d4v6r7MravY/vT37exfXxmu966q/VRM7jlui1lvxecA3632WrAe3NeiuA88N28Lv6mFMGR4LtpzXtdBKeCd6v0flcEx4LvtuF93QoOBr8I8JMi+GsC3xbByeCnffCJ4Gjw/vHl4K3gZPDjgx74WRGcDD6Lm4vgaPD4hJ8IjgY/7HkfFsHJ4POmt4XgaPBpRJngaPCMMsHJ4JUoE5wMnlEmOBo8o0xwNHhGmeBk8IwywdHgGWWCo8EzygQng1eiTHAyeEaZ4GjwjDLB0eAZZYKTwTPKBEeDZ5QJjgaPKDsXnAxeiTLByeAZZYKjwTPKBEeDZ5QJTgbPKBMcDZ5RJjgaPKNMcDJ4JcoEJ4NnlAmOBs8oExwNnlEmOBk8o0xwNHhGmeBo8IwywcnglSgTnAyeUSY4GjyjTHA0eEaZ4GTwjDLB0eAZZYKjwTPKBCeDV6JMcDJ4RpngaPCMMsHR4BllgpPBM8oER4NnlAmOBs8oE5wMHlF2VAQng0eULQRHg2/jXTrByeDzRvDXBN5dB/hGcDD4RRNbtYJjwafVx6MFp4JXvZuVt3Qm+PGmqW/pDxBA8G66bAZ3NrlsBeeAd1ez0yHuW9K9NGlw3UfkAAAAAElFTkSuQmCC" /***/ }), /***/ 663: /*!************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/secm.png ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAbCAMAAABY1h8eAAAAb1BMVEUAAABGdOtHdOpEc+pHdestfdhHdepHdOpHdepGdetHdelFdetFc+tGdepHdepGdepGc+pGcuVAc+pHdetHdOpGdetGdetGdehGdOpHdepGdepGdOtEc+lJbedHdepHdutFdOlFcutGdOhHceNHdepo/Jr8AAAAJHRSTlMAf/Q84wa3k9GjdkId4IusZw4M8ca8mCTOoHJMNBXlc1xOLBIOewftAAAAqklEQVQoz5XP2Q7CIBCF4VOsrVpK7WZ3177/M0ocEcigid/tnxwG3KOAI0ixhkiKWagleEt5q6WJVc4iPRkebuE4+U3QqD/MR/lwA4sNiwd8pTMcVyB8uJGm8WHRoRwPZFw+w/ErXoBoNQo7bC6dakFq50+tjhm0rQEr0XEDD4+LSomSPCp7EI9ZHpP8yqLrzyiHPRk6G9tfB93OFOd+R/oJVql0/G7u4HkCOK4nvl2japsAAAAASUVORK5CYII=" /***/ }), /***/ 664: /*!************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/line.png ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJcAAAAICAMAAADDcZ3dAAAAM1BMVEUAAADm5ubm5ubk5OTMzMzl5eXl5eXl5eXl5eXl5eXl5eXp6enj4+Pl5eXm5ubl5eXl5eXN0wjDAAAAEHRSTlMAKcj6BbIc7tefSCMSwTw7uVnzSgAAAFxJREFUOMvN1DkOwDAIBEAMxvfB/1+bKGmoEQVTUqEFLXjJg2vlkSGYiyRCeMFJspoZlNVJXtSXznAmK9hoxAWU0uTTih4yGm2fvPReTnn50HeM5fx/fyAY5554AIiFBP8jQkGWAAAAAElFTkSuQmCC" /***/ }), /***/ 681: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/enter.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /***/ 682: /*!***************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/fzicona.png ***! \***************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAZCAMAAADkFeWYAAAAilBMVEUAAAD+TA7+TA3+TA3+TA3/SAr+Sw3+TA3/Sgr+Sw7+Sw3/Qwn+TA7+TA3+TA7/SAj/PgD/SQ3+Sw3+Sw3+TA3+Sw7/TA39Sgz+Swz/Sw3+Sgv/Rgn+Sw3+Sw3+TA3+Sw3+Sw3+Sw3/SQz+Sw79Sw39Sw3+Sg3/SQz/SA3+TA3/TA//TA39TAz+TA4RQoK0AAAALXRSTlMA8Or87Bj35RP0xQ3gwLseBzjkkIpvWlhVTEMa59nQsn91Priell4qJ8qem2jjVwU/AAAA60lEQVQY02WRV3LDMAwFITaxq3erxi2F979eHFNybHm/MDt4QwKAjegnieEFdc1D2fDVKqVo1E6DcDj9qi4dVwqmPBuHMHB/MKTNMZsACYbdE0wQQG6PgHCtMEmZr4KHC+ZF7h1q+Mebq6l9y5675ywOECG67CQhKMDeobmuyjqK27KqC3RzB+d0QmlHY+CU0kR7x6S1Zmx5bq2V7Oa085Bz9Lm9IfHqKmq22U5i/+cUln7tKxLpozmomfgdIL8DbK4A9NunPXhY7tfJ0EMx08IdXvTMNx1OF1iJk0wLh9FYcviHN8feFJG/5S8Khy8D8+MbXwAAAABJRU5ErkJggg==" /***/ }), /***/ 683: /*!***************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/fziconb.png ***! \***************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAZCAMAAADkFeWYAAAAdVBMVEUAAABGdOtGdepFdOpHdepHdepEePBHdepGdOpEcudEceZGdutEb+ZGdOpHdOpHdepHdOpHdOtFdepGdOpGc+pGc+pGdetFc+hFduhGdOlGdOpEc+dGb+dGdepHdepHdOpHdelGdepHdepGdelHdepGdOhHdeqAH/wRAAAAJnRSTlMAf+6g9M4J4IU1KBkP17SriG9mYl9UUU1DOi8lH/bnw7uukHRrId8lSB4AAACaSURBVBjTrY5HFgIhEERLYHLO0azc/4jykCG59W+A/+iugiYM4ZOXZe6asIs4jzr1dU+WqbkTLiHVc1oSnPgPf3TXtfIce4mn64oUsTd7y9HofWQcRGcKjCajyLAHD2BjVm60AYLA6XJJALMZrTzOA96m86ouLdVObzEEwOy7GUDsqhgQ1Laq8aUnhyE9DjIVSjNYpJQxmkLyAWbWLjfdOpy8AAAAAElFTkSuQmCC" /***/ }), /***/ 684: /*!***************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/fziconc.png ***! \***************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAASFBMVEUAAACqqqqpqamqqqqqqqqqqqqqqqqurq6qqqqqqqqqqqqqqqqqqqqpqamrq6uqqqqrq6upqampqamqqqqpqamqqqqqqqqqqqojF4HZAAAAF3RSTlMA8hn4j+kiHaHtE5yJp5N+eSYttIO+uQAgW8MAAAC1SURBVCjPZdBREoMgDATQBFGgCBa15f43bYqMC5jPTeaFQGaziYYyXic6Z7eqPn+9ZxcpcJbOkOfpQ0lz5qiafJXc7kTq31lVN2+Xa9WlIQ9LfcSlwak5NDiloHUOtFmfzTw0l1nAO0cnTlnmzR3gLpaGV498E3+SPWqAJOfgZY8242p5T7nUm9Ypeb1UKzjlrnopNHFwFzQ4paAtcIigJQqM+Ub7UnTPf4vMgVI8dhoqHXb/AWl5CnBHZiZnAAAAAElFTkSuQmCC" /***/ }), /***/ 685: /*!***************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/fzicond.png ***! \***************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAV1BMVEUAAAD/IzL+Kjn/Kjr+Kjr+Kzn+Kzr+Kjn+Kzr/KDX/Kjn+Kjn+KDn/KDf+Kzn+Kjn/Kjn/Kjr/KTn+Kjn/Kjr+Kzr+Kjr+Kzn8KDj/Kzr/KDn/KTP+Kjp3JfQrAAAAHHRSTlMAClmm8vXvgGAcnXg/Mvmyq5FPTEHYvo9SNS0Z0DZZVwAAAMdJREFUKM+F0VmOhDAMBNCyswPD1nt33f+cMyA0hCaI9xNLlqy4jI37Hce8xzFrcSwEfBttxJdox6VqSJ1eaWJsZKqUbLB4tj2QKss/tkpA3z7xLwnU0pu6Np5WIQk5JYPMswOp2EiOFywudAm5iiFbiNVSvVU/EOdlbYp3go/qG47scKVBxvCKjnTQYXghskamZsRrGBSTUnNVGLvaf+hklfMQzuPDNvid7GQ767GLRjMbUdJx1qFEfmaCssft9sCRvm17ZH4BOPULz3LXQwAAAAAASUVORK5CYII=" /***/ }), /***/ 694: /*!**********************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/bg.png ***! \**********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /***/ 703: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/mooda.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /***/ 704: /*!**************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/moodan.png ***! \**************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFUAAABWCAMAAACJvyrGAAACBFBMVEUAAADy8vLS0tLR0dHx8fHS0tLV1dXQ0NDo6OjR0dHx8fHx8fHR0dHR0dHS0tLR0dHS0tLR0dHy8vLR0dHX19fR0dHx8fHx8fHR0dHS0tLx8fHR0dHz8/PR0dHy8vLS0tLw8PDLy8vR0dHy8vLR0dHx8fHy8vLR0dHx8fHQ0NDz8/Pv7+/Q0NDPz8/x8fHx8fHx8fHx8fHQ0NDR0dHx8fHR0dHQ0NDR0dHR0dHx8fHy8vLy8vLy8vL09PTq6urw8PDZ2dnn5+bR0dHR0dHj4+Py8vLS0tLR0dHx8fHQ0NDR0dHv7+/R0dHx8fHR0dHQ0NCenp7y8vPw8PCdnJzPz8/t7u2dnp7v7+/z8/Ps6+vo6Ofx8O7U0tCbm5vc3NucnJ3V1dWcm5vq6urg397o5eHT09Oamprd29fl5OTz9PSmpKLt7Ovs6uji4uLa2trIxMHr6ebm5ubh4eDW1NGkop/v7u3p6end3d3X19fS0dC7ubivq6mln57n5uXq5+Pl493e3NrZ19Spp6Wfn5+fnJry8fDj4Nrb2NXX1tTU09HT0M3OzcrNycTDwL64tbKxrqyyrKmspqPp6Ojn5d/j4d/g3drf3dfb2dbBura4t7azrqytrKyuqaainpz19fbR0c7AvLm8t7O3sq2hoaCdmpnm5eTSzsrJxsaqqamoo6C8vLzGvrfDLznqAAAATXRSTlMA9/j3lSgGRwnIvCkc5ZWBPunojBHy8cy8qaN5VU9JSR0O3dfEmolzcG02IyMY+uzg1b24saSfmpODYkIuF/f17ezY0s6qZmNdXVhQOSPbfaoAAAbLSURBVFjDxZnnX9NAGICjiIoCiuDee++99zaXS69NSndLN0iRvWUpiMhwD3Bv/0mvTZO7rJrCB58P/EJ+lydv3ntzd7ky/4fCwhOlF8/Nktk6Z9fCuTNVrt4CgD1S72Jplm9bM3+6xrnFqy8VAMAF7jpYHfu3npmWeH0RwHAR4tRw8NSGfJ3zJCfwEaeeZXPy8u49DtLYA3E2N7MWrLMsvV4gSasqeY2Fx2jOLbfmnXsUZOCqbCyNLRSq8qWpD6nTMueshWIqkaT2epEOUrzXgm+UJRAX6Yg3r/mXdHtZNtJ6VaTxVi4SCAQyTpApN5ZmVe4yWwTkxxdZmpDLVc2yDhemtrY2XR21qrsumG9Basc5NcdW7XA4Km2sNS2JFEutQrSWI525lkhJR+XFVcOSmp19fN/0pOysNeZ1ygUq2WmyWf9Glck95WKnzQ79a0p6atos26223gRZWh3sDNimkhYXyM9/L0+Pegxbphpwi2RpQFRdgt8jNsGbKxO+hpHvLVSLk5R07WzjUH2fk8nkxx6zTNteTSKv3z/QUaVoDxiECiK0oLnd64cQelH7U94w0o9BAaZBQZ9TvtEpMvHJUq6FWG1sO4ISqMNlFOlrL4RCNIr/QlSlTA1KVW0BMtTVzsdBCP3JsT6EoH9M1Fs9CArBcU9gOOmHwphcOufPyHOfIg3QZZVEEH166mxqa0QwmtLlINQoCDCFS8DZNYFgsEeZb7LW1UoCaqmktUYhepM5qv+JYOM3Sig9Cn7yEem4agAGnzjl/soOXZtkq51KQCKFr5JUzvpGwf9EEyzfJ3iVc6OCMMGrX9u1QCFEXfVO8I8msscehDo01poB2Kh0ba8XfhGVcTZjXalIIyxthdHHSr28QfCpOtRab/AxT93iS5OyBMu8X4dJWqlqffAOojCZYoPRF2rrYLSTdK07ScXKpofZ4jIlrXd5Vaz9laRvfjc2syrufn7EkxD6hImE8t9WbN0DDK2J137KyupGMv49z1JW9NFJFosVDHPN2Mp/iELLk4K70dvAEhYyTClQUAVU2fHE8vhtS7XTbU+bW1kycFoItiYWi/XUNSmv13ETq82NES05qx82SAuwoWe2rLXA0Np0P9bm8bQNhi1MOOFXdrk2uZc1knW2gVW8P8Rx0hK+Ifyv7HY/4ojCHsPNl6msohxojGrHPcytFXtxY0r7DC83VNYuIqXJrX2mbsz1EquqXu/jdta1vZrWnrq0tUBrdQwBDVzYXFrj0TbOWIuAZnSp44CWhmrzArBrrc/T1hNAPRLyL4iVBMubWjlt2560tZSyhjKTvIF10PR1qOMMM3ALANUM4/YAPW1u0yFgUKN9VJN+CwoBlVgzq8fUyoeBprIepK17SwA1c+dtZcWXnMraLU3eK6lTLmxt00s5T1OOsaWB1j7EZ26r51iuBScqZtBbL9gc1A39UMrrvk0atZnCpVQVVLM89Wr96JyUDrpzWflPXzszWq4hI92XWXFfpqogjp+IJLYdoXHAAe6VLZd0BMGv3wFnb3tZRy0ItlOPGsDXk/TbO4XgW6ztziUdQlDoc3eHwzWqlVZFJgVkWVxDBsz2oIDeRp6xORgOQvi1hyXsy25DHAOEVpEehyPjCKIJF28ufY0gRE/oM0sYicV2Kth4eiCKcZKXwzmA/sZhp7HX+XzMC6H/LZmG6E+DFZKRfBqK4ZjHA+weEBueEiDOwvOEQUZDqX6Epb9CLM0uRg5WGbrJZ5zb7QpXu22J2BS+UgiOvmB5dZxdqanM4n1CvVY6gn10sMafnHxPH0pfjDpSVaLzvRPzPvHgqWd0wCvg89FRWUpCVYKlrRHNbO347IUZbzDZ8Xrkw4fHf8Z/DiAEMQJKOc2/DudKy02TT3l+OIkEmLH4vdFo1C/9A1Fw7Ll2d6uCodizFFC4tP1SmeqMClCNPzjZIGq3CE4zKnYCmnu6/na0dUx5kRwy8nuTnwb1K7EbjIYtdA70Wtbp7OptfzPZ2d/f/2v8zUhLtZPXjQ6rdPu9ewoATZfJB7ajuTlENgs1UqMN1wJNEvJlyVnDPVday4GufKV4sDbVEuKOmUv1WrtPnLlUr+VaQlalm7HUsjYStxAu6X2rWq7VSrhHdjPWtdlt+JAtt3PWDubfFBcBrbfZvBrEe1esbZdvLAdq0hvZxt+JofoL5RsZiyzeBLTiSGvcZRNVUYpxHzhUzFhn484yndcOgK+qUsbV0goKDi3O97ed1SVAB8dRx2Xld5j8qdi+AphTtKiYmSaLy0sMlUuPrZ3ZL2frS7U9V7JiZzEzYzYWzitdOTvLyvLCCuZ/8RcuJsX79p3WBAAAAABJRU5ErkJggg==" /***/ }), /***/ 705: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/moodb.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /***/ 706: /*!**************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/moodbn.png ***! \**************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /***/ 707: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/moodc.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAABWCAMAAAADkLOHAAAC5VBMVEUAAAD4tiP4tyT/1jX////5wSX6yy/3tSP////4uST4uST+0TD+yyf7yij/1jT4tyP5uiX/1jT5vCT5vyf////9yS/+zzD6zSv/////1yz////4tiP/1jT/1jT///35uiX5uSX5viX/1jD////////6wyX6yCn////4xSz///7/1jT4uST/1jT4uCT/1jT4uSX/////////1zT4uiX/1jT4uSX/1jT/////1jT////4uST5vSf7vyf/////1TT/1jj////9wyj/1TP7wSf///v/////1jX4tCX9zzD////3tiX////4uCX/1jT/////////////1TP5uyX4vCb4uiX4vCX6wSn5uyX/////1jL/1jT/1TX9zC76vyj/2TL71Cf4tiL/3Vj7yS37wyr/////////1zX/4Gn/2UT/////1jT4vCf/1TH/1jX98dL/1jT7wSr4xkn/////1zP/////////1jX////3tSP/1TP3tCL/1TGUNDb//PD/1jf/+eL/71f2tCL/+uj/+uX/6JD/1S+RLzb/2TX+1jT+0TKSMTb3tB/8yy73tyT/2zX+2DX6wyr4uyX/2DX7yCyTMzb40TX9zzD//fr/4EOTMjaNKjaqVjX3sxz//v761obzyDXksDX6wSj2sRj/50v/40b/2Tn/3TX71TX/1Cz/4Gj/8Fj5xVP/2D3/3DydQTaWNzbAdzWyYTWkTDX3uS74uST/++3/+N7/99X+8c//9Mr/5Hv/4m7/3lv/7FOZOzbqvjXntzW+czWoUzWfRTX8xSr6wCb+9+f+9N/98db86Lv/7az74KP/6qL/43b6zm7/6lD/2UX4vTuPLDb/3zXuxDXvwTXhqzXcpjXUmTXKiDW7bzWmTzWjSjX++/T/99v/8r7/6pb62I3/5of/5oT/8Fn/3FL4wET/4EHaoTXOkDX//PP868T857j74qj73Jj61ID5y2T4yV6IIjb0zDXRkjXIgzW3aTVnBgwbAAAAdnRSTlMA9/P76iMG/PvbujQaCPfmoXBwTDApJhMODgf449TPzJeRhYB1VRcRC/f04NrWxsXDubm0s62rpn55d2BdVlBJRjswLycY8vLv7uzcw8CfmY+OioeCfGZmZWJgW0VCKx39+vj24+DLxcKs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" /***/ }), /***/ 708: /*!**************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/moodcn.png ***! \**************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAABWCAMAAAADkLOHAAACxFBMVEUAAADR0dHx8fHd3d3t7e3x8fHS0tL39/f4+PjR0dH9/f3R0dHZ2dn////Q0ND////R0dHx8fHR0dH08/PR0dH29vbT09P7+/vQ0NDm5ub+/v3R0dHR0dHS0tLR0dHx8fHS0tLR0dHR0dH////x8fHR0dH4+Pj29vb5+fnS0tLR0dHx8fHx8fHx8fH////////////x8fHR0dHx8fHQ0ND////Q0NDR0dHR0dHR0dHQ0ND////////////////z8/Hx8fH////////Q0NDR0dH////x8fH////x8fHx8fH////w8PDy8vLQ0dH////////y8vL////S0tL5+fn////Q0ND39/fPz8/y8vLz8/P09PTy8vHq6un08+zy8evy8vLX19fQ0NDw8PDx8fH////k5OTS0tLS0tLQ0NDR0dHx8fHp6en////p5uDS0tLR0dHy8vLT09PR0dP////x8fHT08/////x8fH////R0dHw7+7Q0NDx7+vw8fKenp79/f38+vD9/Prx8PD9/Pby8vP29Ozt7e3s7OucnJ3Pz8/c3Nudnp7o6Oj//vzV1dSbmprx8O729fTS0tLv7u7z8enl5eTk5OL7+O/08uf09fbz9PT08/Hv7+/y8Ozr6urf397Z2djT09OwrayZlpb+/fj18+vt6ufo5+bo4t/d3d3i3trQ0M3Hv7qcmZj7+fTw7ur49Oja2tnW1tXV0860tLG2rKero52gmpn8+vf8+/bz9PX08uv18+ni4uHZ2dnf3NPRyMLEubT29/b49vP29O/49uzw7efu6+Xn5OPq5t3m4trl4djg2dPb2NHW1M/a1M3S0My5r6uon5uknpufnJuim5n9+/Lt6eLq5uHk3tjf3NfQ0NLb1M/WzMXIvLS+ta+zrqispqOypqGYmJmWk5Pb29rZ1tDMy8jLwLuxqaWuqqSsoqHdgb0QAAAAd3RSTlMA+fgNBeonEQ7KMS8K+/Hr6byVZ1wbGRQJB/7k3dXEoaGafnhvYltAJiP79fHZz7mmlI6BenV0aVES9/bv6OLg3dzCuqifnpmZkI+MhYOBgHZlWFVHPjg3Lyoh+Pjv6OXd2s/KxsXAurSysLCspJiWiXNvaktFREd7qSAAAAaISURBVGjezZhlX9tA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" /***/ }), /***/ 717: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/adddj.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAABiCAMAAACce/Y8AAAASFBMVEX////m5uaqqqrl5eXr6+vq6uqrq6u2trbHx8fW1tbd3d3j4+Pg4ODQ0NC5ubmysrKvr6/8/PzT09PAwMC9vb3ExMTy8vLMzMwf+wTOAAABwElEQVRo3u2a7Y6CMBBFmV5boKUF+dD3f9NVK2qbTQwtdTeze0xI/KEn9l4GSqxEJS5U5Y7XV1nYKHjAIwseCh7wyIKHggc8suCh4AGPLH5McTwdNnM6bkniiCQCxxsOoARw2NAoSmRDFqAkwFlRlVR43ivgD8mKtwsF2dllOeuCWZhZ3HCaUEahB3FHjVRCAeMNHl2iUXIWL/SE3RuFTgSMBRplQ8Uk6UbXRhgkZ7GECucVRomInnZWdCJmSFecRcDsFdQ2ETq5UdChwpaYUXWwHECBGaXVN50FIYKQMUDs09HIVVGriInSFSDd31dpJJBHixiVqvAOGifnZgsCrVlMdcQ5vVHGGQLJC1fXtKxaGUFIbtQkVGOkT9j2QnXYuVF+0ZXriKi5xe4Iu14vIJ0/p19OwjYsba6CRnFhXZ3leckwvbrTmywFyNe18Z/G4N+FpW3zrnr2PkTxMhIHG5R2RtaMAun6Mfr8j1INXYWQD5A9o8ahpgft3BH2vgMBoQu+4tfeNv+VO/NcxWeyKL+dLLop9orCW/tQkP+AYhP/z6N4KnjAIwseCh7wyIKHggc8suCh4MEnshBV4T9hfQGpgRlTQ4rqdgAAAABJRU5ErkJggg==" /***/ }), /***/ 742: /*!*****************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/components/zb-table/all.js ***! \*****************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.column4 = exports.column3 = exports.column2 = exports.column1 = void 0; var column1 = [{ type: 'index', fixed: true, width: 100 }, { name: 'name', label: '姓名', fixed: true, width: 160, emptyString: '--' }, { name: 'yw', label: '语文', sorter: true }, // { name: 'sex', label: '性别',filters:{0:'男',1:'女'}}, { name: 'sx', label: '数学', sorter: true }, { name: 'yy', label: '英语', sorter: true }, { name: 'operation', type: 'operation', label: '操作', renders: [{ name: '编辑', func: 'edit' // func 代表子元素点击的事件 父元素接收的事件 父元素 @edit }, { name: '删除', type: 'warn', func: "dele" }] }]; // 历史 exports.column1 = column1; var column2 = [{ name: 'updateTime', label: '更新日期', fixed: true, width: 180 }, { name: 'height', label: '身高(cm)' }, { name: 'weight', label: '体重(kg)' } // { name: 'degreeMyopia', label: '视力'}, ]; exports.column2 = column2; var column3 = [{ type: 'selection', fixed: true, width: 100 }, { name: 'name', label: '姓名', fixed: true, width: 160, emptyString: '--' }, { name: 'age', label: '年纪' }, { name: 'sex', label: '性别', filters: { 0: '男', 1: '女' } }, { name: 'address', label: '地址' }, { name: 'date', label: '日期' }, { name: 'province', label: '省份' }, { name: 'city', label: '城市' }, { name: 'zip', label: '邮编' }]; // 添加的时候 exports.column3 = column3; var column4 = [ // { type:'selection', fixed:true,width:50 }, { type: 'index', fixed: true, width: 60, align: 'center' }, { name: 'scoreDataName', label: '姓名', fixed: true, width: 140, emptyString: '--', align: 'center' }, { name: 'yuwen', label: '语文', sorter: true, align: 'center', width: 112 }, { name: 'shuxue', label: '数学', sorter: true, align: 'center', width: 112 }, { name: 'yingyu', label: '英语', sorter: true, align: 'center', width: 112 }, { name: 'wuli', label: '物理', sorter: true, align: 'center', width: 112 }, { name: 'huaxue', label: '化学', sorter: true, align: 'center', width: 112 }, { name: 'shengwu', label: '生物', sorter: true, align: 'center', width: 112 }, { name: 'lishi', label: '历史', sorter: true, align: 'center', width: 112 }, { name: 'dili', label: '地理', sorter: true, align: 'center', width: 112 }, { name: 'zhengzhi', label: '政治', sorter: true, align: 'center', width: 112 }, { name: 'tiyu', label: '体育', sorter: true, align: 'center', width: 112 }, { name: 'kexue', label: '科学', sorter: true, align: 'center', width: 112 }, { name: 'meishu', label: '美术', sorter: true, align: 'center', width: 112 }, { name: 'yinyue', label: '音乐', sorter: true, align: 'center', width: 112 }, { name: 'yishu', label: '艺术', sorter: true, align: 'center', width: 112 }, { name: 'wenzong', label: '文综', sorter: true, align: 'center', width: 112 }, { name: 'lizong', label: '理综', sorter: true, align: 'center', width: 112 }, { name: 'zongfen', label: '总分', sorter: true, align: 'center', width: 112 }, { name: 'scoreSort', label: '排名', sorter: true, align: 'center', width: 112 }]; exports.column4 = column4; /***/ }), /***/ 751: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/serch.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAnCAMAAACylgF9AAAAjVBMVEUAAAA0NDQgICAzMzM0NDQzMzMxMTEzMzMzMzM0NDQxMTEzMzM0NDQzMzMyMjIzMzMyMjIxMTExMTEvLy8uLi4zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM0NDQyMjIzMzM0NDQ0NDQzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMjIzMzM0NDQ0NDQVWlV2AAAALnRSTlMA+wTr2vUaLvDgDea3dmdROSYgEgijmI1v0cerhoRWSsvDvK+Rgn9jYFtAM0ZOerpDzwAAAWVJREFUOMuVktl2wiAURSFARjWTMY5Va61Tu///81qjdYghWT0Pgcva4dwDiP8p320iAFSvnzUSbmkAP5hoBchZ+ooMfJj0Ped36qSDNciF80wMZ7A+Pix4G1i5T8gUM6htHCv0I9RDnV7cM40Ob9UWc2pKEbC5eUsOjVFPkrfr9J3CcmJ9gku4BJMLizSXKCNKYdOA6XlwFIn9eiRuZaUcYdW66npPT9hVMq96H7Uwe2a/308WLcwb7xUzb2c6vXaV16G154/KxcMf2pkV8XmI+LIiLjK/bFdYmf61kRSZWZBhRHyZFdauSyZ/poZxI3KE4/0FyGUDkvp83KsR5hXyIqbOvXQK2NZOaWwIwqeVBejDw19fU6B+28sAolGchiLMlnMNgYZ6lnCsAaQyANE2dANgX+8yKVdKgj8p4uE5lwK+X/M6oZs7t2Q+mES0K5Hgex1QDKisA9oBn6JDY3QmuuTl4gc6pSOV5GyoYQAAAABJRU5ErkJggg==" /***/ }), /***/ 752: /*!**************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/adress.png ***! \**************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAaCAMAAACaYWzBAAAAVFBMVEUAAABHdepHdOpGdepGdepHdepGdepGd+9GdOpGc+pHdOlGdetGdOpGdOpGdepDc+dAYN85VeRHdepGdepHdOpHdepHdutHdOlEc+lHdeZIeO9Hdeps1OsvAAAAG3RSTlMA8+fMu6yYD/qKdG9mVTwVCATr6NvYjX1HMiAqV6yTAAAAsklEQVQoz23RWRKEIAwE0HZB1HHfte9/z2GwEkf0fVFU6FQITrZMcjp5Ulr8qQaqoYLoDG9MB69PGUh7/GR8yOBsfLEBSPgiARq+aq4Ocd22daxdNCk64ByRZklNAa+Q95CSGl4tARh5+sD78DRCxp57OP0sw2sJjQWsoQbYiBKbptfZAitfrAC6iQ9TB2fPGch3eBUDusOCNwVUFm5JLVQLbkq5LxFoYv+pDR5aQ5oW4gtuKypZStzUxgAAAABJRU5ErkJggg==" /***/ }), /***/ 753: /*!***********************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/map.png ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /***/ 762: /*!****************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/plugins/amap-wx.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(wx) {function AMapWX(a) { this.key = a.key, this.requestConfig = { key: a.key, s: "rsx", platform: "WXJS", appname: a.key, sdkversion: "1.2.0", logversion: "2.0" }; } AMapWX.prototype.getWxLocation = function (a, b) { wx.getLocation({ type: "gcj02", success: function success(a) { var c = a.longitude + "," + a.latitude; wx.setStorage({ key: "userLocation", data: c }), b(c); }, fail: function fail(c) { wx.getStorage({ key: "userLocation", success: function success(a) { a.data && b(a.data); } }), a.fail({ errCode: "0", errMsg: c.errMsg || "" }); } }); }, AMapWX.prototype.getRegeo = function (a) { function c(c) { var d = b.requestConfig; wx.request({ url: "https://restapi.amap.com/v3/geocode/regeo", data: { key: b.key, location: c, extensions: "all", s: d.s, platform: d.platform, appname: b.key, sdkversion: d.sdkversion, logversion: d.logversion }, method: "GET", header: { "content-type": "application/json" }, success: function success(b) { var d, e, f, g, h, i, j, k, l; b.data.status && "1" == b.data.status ? (d = b.data.regeocode, e = d.addressComponent, f = [], g = "", d && d.roads[0] && d.roads[0].name && (g = d.roads[0].name + "附近"), h = c.split(",")[0], i = c.split(",")[1], d.pois && d.pois[0] && (g = d.pois[0].name + "附近", j = d.pois[0].location, j && (h = parseFloat(j.split(",")[0]), i = parseFloat(j.split(",")[1]))), e.provice && f.push(e.provice), e.city && f.push(e.city), e.district && f.push(e.district), e.streetNumber && e.streetNumber.street && e.streetNumber.number ? (f.push(e.streetNumber.street), f.push(e.streetNumber.number)) : (k = "", d && d.roads[0] && d.roads[0].name && (k = d.roads[0].name), f.push(k)), f = f.join(""), l = [{ iconPath: a.iconPath, width: a.iconWidth, height: a.iconHeight, name: f, desc: g, longitude: h, latitude: i, id: 0, regeocodeData: d }], a.success(l)) : a.fail({ errCode: b.data.infocode, errMsg: b.data.info }); }, fail: function fail(b) { a.fail({ errCode: "0", errMsg: b.errMsg || "" }); } }); } var b = this; a.location ? c(a.location) : b.getWxLocation(a, function (a) { c(a); }); }, AMapWX.prototype.getWeather = function (a) { function d(d) { var e = "base"; a.type && "forecast" == a.type && (e = "all"), wx.request({ url: "https://restapi.amap.com/v3/weather/weatherInfo", data: { key: b.key, city: d, extensions: e, s: c.s, platform: c.platform, appname: b.key, sdkversion: c.sdkversion, logversion: c.logversion }, method: "GET", header: { "content-type": "application/json" }, success: function success(b) { function c(a) { var b = { city: { text: "城市", data: a.city }, weather: { text: "天气", data: a.weather }, temperature: { text: "温度", data: a.temperature }, winddirection: { text: "风向", data: a.winddirection + "风" }, windpower: { text: "风力", data: a.windpower + "级" }, humidity: { text: "湿度", data: a.humidity + "%" } }; return b; } var d, e; b.data.status && "1" == b.data.status ? b.data.lives ? (d = b.data.lives, d && d.length > 0 && (d = d[0], e = c(d), e["liveData"] = d, a.success(e))) : b.data.forecasts && b.data.forecasts[0] && a.success({ forecast: b.data.forecasts[0] }) : a.fail({ errCode: b.data.infocode, errMsg: b.data.info }); }, fail: function fail(b) { a.fail({ errCode: "0", errMsg: b.errMsg || "" }); } }); } function e(e) { wx.request({ url: "https://restapi.amap.com/v3/geocode/regeo", data: { key: b.key, location: e, extensions: "all", s: c.s, platform: c.platform, appname: b.key, sdkversion: c.sdkversion, logversion: c.logversion }, method: "GET", header: { "content-type": "application/json" }, success: function success(b) { var c, e; b.data.status && "1" == b.data.status ? (e = b.data.regeocode, e.addressComponent ? c = e.addressComponent.adcode : e.aois && e.aois.length > 0 && (c = e.aois[0].adcode), d(c)) : a.fail({ errCode: b.data.infocode, errMsg: b.data.info }); }, fail: function fail(b) { a.fail({ errCode: "0", errMsg: b.errMsg || "" }); } }); } var b = this, c = b.requestConfig; a.city ? d(a.city) : b.getWxLocation(a, function (a) { e(a); }); }, AMapWX.prototype.getPoiAround = function (a) { function d(d) { var e = { key: b.key, location: d, s: c.s, platform: c.platform, appname: b.key, sdkversion: c.sdkversion, logversion: c.logversion }; a.querytypes && (e["types"] = a.querytypes), a.querykeywords && (e["keywords"] = a.querykeywords), wx.request({ url: "https://restapi.amap.com/v3/place/around", data: e, method: "GET", header: { "content-type": "application/json" }, success: function success(b) { var c, d, e, f; if (b.data.status && "1" == b.data.status) { if (b = b.data, b && b.pois) { for (c = [], d = 0; d < b.pois.length; d++) { e = 0 == d ? a.iconPathSelected : a.iconPath, c.push({ latitude: parseFloat(b.pois[d].location.split(",")[1]), longitude: parseFloat(b.pois[d].location.split(",")[0]), iconPath: e, width: 22, height: 32, id: d, name: b.pois[d].name, address: b.pois[d].address }); } f = { markers: c, poisData: b.pois }, a.success(f); } } else a.fail({ errCode: b.data.infocode, errMsg: b.data.info }); }, fail: function fail(b) { a.fail({ errCode: "0", errMsg: b.errMsg || "" }); } }); } var b = this, c = b.requestConfig; a.location ? d(a.location) : b.getWxLocation(a, function (a) { d(a); }); }, AMapWX.prototype.getStaticmap = function (a) { function f(b) { c.push("location=" + b), a.zoom && c.push("zoom=" + a.zoom), a.size && c.push("size=" + a.size), a.scale && c.push("scale=" + a.scale), a.markers && c.push("markers=" + a.markers), a.labels && c.push("labels=" + a.labels), a.paths && c.push("paths=" + a.paths), a.traffic && c.push("traffic=" + a.traffic); var e = d + c.join("&"); a.success({ url: e }); } var e, b = this, c = [], d = "https://restapi.amap.com/v3/staticmap?"; c.push("key=" + b.key), e = b.requestConfig, c.push("s=" + e.s), c.push("platform=" + e.platform), c.push("appname=" + e.appname), c.push("sdkversion=" + e.sdkversion), c.push("logversion=" + e.logversion), a.location ? f(a.location) : b.getWxLocation(a, function (a) { f(a); }); }, AMapWX.prototype.getInputtips = function (a) { var b = this, c = b.requestConfig, d = { key: b.key, s: c.s, platform: c.platform, appname: b.key, sdkversion: c.sdkversion, logversion: c.logversion }; a.location && (d["location"] = a.location), a.keywords && (d["keywords"] = a.keywords), a.type && (d["type"] = a.type), a.city && (d["city"] = a.city), a.citylimit && (d["citylimit"] = a.citylimit), wx.request({ url: "https://restapi.amap.com/v3/assistant/inputtips", data: d, method: "GET", header: { "content-type": "application/json" }, success: function success(b) { b && b.data && b.data.tips && a.success({ tips: b.data.tips }); }, fail: function fail(b) { a.fail({ errCode: "0", errMsg: b.errMsg || "" }); } }); }, AMapWX.prototype.getDrivingRoute = function (a) { var b = this, c = b.requestConfig, d = { key: b.key, s: c.s, platform: c.platform, appname: b.key, sdkversion: c.sdkversion, logversion: c.logversion }; a.origin && (d["origin"] = a.origin), a.destination && (d["destination"] = a.destination), a.strategy && (d["strategy"] = a.strategy), a.waypoints && (d["waypoints"] = a.waypoints), a.avoidpolygons && (d["avoidpolygons"] = a.avoidpolygons), a.avoidroad && (d["avoidroad"] = a.avoidroad), wx.request({ url: "https://restapi.amap.com/v3/direction/driving", data: d, method: "GET", header: { "content-type": "application/json" }, success: function success(b) { b && b.data && b.data.route && a.success({ paths: b.data.route.paths, taxi_cost: b.data.route.taxi_cost || "" }); }, fail: function fail(b) { a.fail({ errCode: "0", errMsg: b.errMsg || "" }); } }); }, AMapWX.prototype.getWalkingRoute = function (a) { var b = this, c = b.requestConfig, d = { key: b.key, s: c.s, platform: c.platform, appname: b.key, sdkversion: c.sdkversion, logversion: c.logversion }; a.origin && (d["origin"] = a.origin), a.destination && (d["destination"] = a.destination), wx.request({ url: "https://restapi.amap.com/v3/direction/walking", data: d, method: "GET", header: { "content-type": "application/json" }, success: function success(b) { b && b.data && b.data.route && a.success({ paths: b.data.route.paths }); }, fail: function fail(b) { a.fail({ errCode: "0", errMsg: b.errMsg || "" }); } }); }, AMapWX.prototype.getTransitRoute = function (a) { var b = this, c = b.requestConfig, d = { key: b.key, s: c.s, platform: c.platform, appname: b.key, sdkversion: c.sdkversion, logversion: c.logversion }; a.origin && (d["origin"] = a.origin), a.destination && (d["destination"] = a.destination), a.strategy && (d["strategy"] = a.strategy), a.city && (d["city"] = a.city), a.cityd && (d["cityd"] = a.cityd), wx.request({ url: "https://restapi.amap.com/v3/direction/transit/integrated", data: d, method: "GET", header: { "content-type": "application/json" }, success: function success(b) { if (b && b.data && b.data.route) { var c = b.data.route; a.success({ distance: c.distance || "", taxi_cost: c.taxi_cost || "", transits: c.transits }); } }, fail: function fail(b) { a.fail({ errCode: "0", errMsg: b.errMsg || "" }); } }); }, AMapWX.prototype.getRidingRoute = function (a) { var b = this, c = b.requestConfig, d = { key: b.key, s: c.s, platform: c.platform, appname: b.key, sdkversion: c.sdkversion, logversion: c.logversion }; a.origin && (d["origin"] = a.origin), a.destination && (d["destination"] = a.destination), wx.request({ url: "https://restapi.amap.com/v4/direction/bicycling", data: d, method: "GET", header: { "content-type": "application/json" }, success: function success(b) { b && b.data && b.data.data && a.success({ paths: b.data.data.paths }); }, fail: function fail(b) { a.fail({ errCode: "0", errMsg: b.errMsg || "" }); } }); }, module.exports.AMapWX = AMapWX; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"])) /***/ }), /***/ 821: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/ncheck.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAyCAMAAADr0TwHAAAAY1BMVEUAAADBwcHBwcHCwsLBwcHCwsLBwcHBwcHBwcHAwMDBwcHBwcHCwsK6urq5ubnBwcHAwMDCwsLCwsLDw8PBwcH////7+/vOzs7Ly8vm5ubh4eH19fX09PTu7u7s7OzQ0NDDw8PI8bSPAAAAFHRSTlMA8b8i3tivpZaAWzIZDQZim8iaYc5rcBAAAAFuSURBVFjDtZjbkoJADERnELkqIE4id/3/r9w1lBSrIIluzgvKQxfVCT0J5pXdOfJ869hY34vOO7PJLt67j9jH79XTwH1BkK4KH0L3JeFhWTmZ/L02Q4uA2A7NVaZtkwXhrHQjlxphBtYXkXiZPSsfPUdUPbzQVxJt7/ikfKLbtxoWqW8C7dMf7cwbH7mDFbpK8txzT4rRZYRVUOJ4MeuNDWWxdjL1syU3EN6CAk/so79DqmAHG3SCWoaGSOlPA5s0jk9K0gHZAQwElgSUdfSzBwa943PPwZi6A1gIuiT+laZ8roFFLcjvhx8ILFDkSE4pCkwEGZubiNd58v6LDAXTAEwGQUgZ/35pgUnLl/aN5VVRXkdr6AJsHJ9RGjWkFQ1RLKNi8ym+MoovumI86YWq4lGgeIDpHbuKw4LeiKM4mCmPk0SpMAQrje6qC4f+mkRkxf8sd0XGWEnho5VUf5HWX//1P1pM6rn8U0u+oPsDYeQ8WPlAThkAAAAASUVORK5CYII=" /***/ }), /***/ 838: /*!*****************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/api/mine/payslip.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.getpayDelFn = getpayDelFn; exports.getpayImporttFn = getpayImporttFn; exports.getpayListFn = getpayListFn; var _request = _interopRequireDefault(__webpack_require__(/*! @/utils/request */ 44)); // 工资条 xiaoYuan:data:importData function getpayListFn(data) { return (0, _request.default)({ 'url': '/xiaoYuan/pay/list', 'method': 'get', 'data': data }); } // 导入 xiaoYuan:data:importData function getpayImporttFn(data) { return (0, _request.default)({ 'url': '/xiaoYuan/pay/importData', 'method': 'post', 'data': data }); } // 删除 xiaoYuan:data:remove function getpayDelFn(data) { return (0, _request.default)({ 'url': '/xiaoYuan/pay/delete/' + data, 'method': 'get' }); } /***/ }), /***/ 839: /*!*********************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/work/static/pay/pbg.png ***! \*********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /***/ 840: /*!*********************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/work/static/pay/pup.png ***! \*********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAKCAMAAACOlf6TAAAAM1BMVEUAAADs7Ozt7e3r6+vs7Ozt7e3t7e3t7e3r6+vs7Ozs7Ozt7e3t7e3u7u7q6ur////s7Ozzj75WAAAAEHRSTlMA6t0pHY6Sfn79v4GASTwHvAVcpQAAAD9JREFUCNdNy1kOgCAAA9FxQXHv/U9rQkhpP1+m8D3k1hdO1ZT5gE3aQzTRrIYs4C4EinQNsd0p/Vsso7PYLD/mbwJbt27+MwAAAABJRU5ErkJggg==" /***/ }), /***/ 841: /*!************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/work/static/pay/noicon.png ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /***/ 858: /*!*************************************************************************!*\ !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/expay.png ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }) }]); //# sourceMappingURL=../../../.sourcemap/mp-weixin/mine/common/vendor.js.map