UNPKG

@ykcl/smart-ui-oversea

Version:

A Component Library for Vue.js.

1,665 lines (1,604 loc) 99.3 kB
module.exports = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "/dist/"; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 175); /******/ }) /************************************************************************/ /******/ ({ /***/ 0: /***/ (function(module, exports) { module.exports = require("vue"); /***/ }), /***/ 100: /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /***/ 15: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getCell; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return orderBy; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getColumnById; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getColumnByKey; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getColumnByCell; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getRowIdentity; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getKeysMap; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return mergeOptions; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return parseWidth; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return parseMinWidth; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return parseHeight; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return compose; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return toggleRowStatus; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return walkTreeNode; }); /* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3); var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var getCell = function getCell(event) { var cell = event.target; while (cell && cell.tagName.toUpperCase() !== 'HTML') { if (cell.tagName.toUpperCase() === 'TD') { return cell; } cell = cell.parentNode; } return null; }; var isObject = function isObject(obj) { return obj !== null && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object'; }; var orderBy = function orderBy(array, sortKey, reverse, sortMethod, sortBy) { if (!sortKey && !sortMethod && (!sortBy || Array.isArray(sortBy) && !sortBy.length)) { return array; } if (typeof reverse === 'string') { reverse = reverse === 'descending' ? -1 : 1; } else { reverse = reverse && reverse < 0 ? -1 : 1; } var getKey = sortMethod ? null : function (value, index) { if (sortBy) { if (!Array.isArray(sortBy)) { sortBy = [sortBy]; } return sortBy.map(function (by) { if (typeof by === 'string') { return Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__[/* getValueByPath */ "i"])(value, by); } else { return by(value, index, array); } }); } if (sortKey !== '$key') { if (isObject(value) && '$value' in value) value = value.$value; } return [isObject(value) ? Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__[/* getValueByPath */ "i"])(value, sortKey) : value]; }; var compare = function compare(a, b) { if (sortMethod) { return sortMethod(a.value, b.value); } for (var i = 0, len = a.key.length; i < len; i++) { if (a.key[i] < b.key[i]) { return -1; } if (a.key[i] > b.key[i]) { return 1; } } return 0; }; return array.map(function (value, index) { return { value: value, index: index, key: getKey ? getKey(value, index) : null }; }).sort(function (a, b) { var order = compare(a, b); if (!order) { // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability order = a.index - b.index; } return order * reverse; }).map(function (item) { return item.value; }); }; var getColumnById = function getColumnById(table, columnId) { var column = null; table.columns.forEach(function (item) { if (item.id === columnId) { column = item; } }); return column; }; var getColumnByKey = function getColumnByKey(table, columnKey) { var column = null; for (var i = 0; i < table.columns.length; i++) { var item = table.columns[i]; if (item.columnKey === columnKey) { column = item; break; } } return column; }; var getColumnByCell = function getColumnByCell(table, cell) { var matches = (cell.className || '').match(/yk-table_[^\s]+/gm); if (matches) { return getColumnById(table, matches[0]); } return null; }; var getRowIdentity = function getRowIdentity(row, rowKey) { if (!row) throw new Error('row is required when get row identity'); if (typeof rowKey === 'string') { if (rowKey.indexOf('.') < 0) { return row[rowKey]; } var key = rowKey.split('.'); var current = row; for (var i = 0; i < key.length; i++) { current = current[key[i]]; } return current; } else if (typeof rowKey === 'function') { return rowKey.call(null, row); } }; var getKeysMap = function getKeysMap(array, rowKey) { var arrayMap = {}; (array || []).forEach(function (row, index) { arrayMap[getRowIdentity(row, rowKey)] = { row: row, index: index }; }); return arrayMap; }; function hasOwn(obj, key) { return Object.prototype.hasOwnProperty.call(obj, key); } function mergeOptions(defaults, config) { var options = {}; var key = void 0; for (key in defaults) { options[key] = defaults[key]; } for (key in config) { if (hasOwn(config, key)) { var value = config[key]; if (typeof value !== 'undefined') { options[key] = value; } } } return options; } function parseWidth(width) { if (width !== undefined) { width = parseInt(width, 10); if (isNaN(width)) { width = null; } } return width; } function parseMinWidth(minWidth) { if (typeof minWidth !== 'undefined') { minWidth = parseWidth(minWidth); if (isNaN(minWidth)) { minWidth = 80; } } return minWidth; }; function parseHeight(height) { if (typeof height === 'number') { return height; } if (typeof height === 'string') { if (/^\d+(?:px)?$/.test(height)) { return parseInt(height, 10); } else { return height; } } return null; } // https://github.com/reduxjs/redux/blob/master/src/compose.js function compose() { for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) { funcs[_key] = arguments[_key]; } if (funcs.length === 0) { return function (arg) { return arg; }; } if (funcs.length === 1) { return funcs[0]; } return funcs.reduce(function (a, b) { return function () { return a(b.apply(undefined, arguments)); }; }); } function toggleRowStatus(statusArr, row, newVal) { var changed = false; var index = statusArr.indexOf(row); var included = index !== -1; var addRow = function addRow() { statusArr.push(row); changed = true; }; var removeRow = function removeRow() { statusArr.splice(index, 1); changed = true; }; if (typeof newVal === 'boolean') { if (newVal && !included) { addRow(); } else if (!newVal && included) { removeRow(); } } else { if (included) { removeRow(); } else { addRow(); } } return changed; } function walkTreeNode(root, cb) { var childrenKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'children'; var lazyKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'hasChildren'; var isNil = function isNil(array) { return !(Array.isArray(array) && array.length); }; function _walker(parent, children, level) { cb(parent, children, level); children.forEach(function (item) { if (item[lazyKey]) { cb(item, null, level + 1); return; } var children = item[childrenKey]; if (!isNil(children)) { _walker(item, children, level + 1); } }); } root.forEach(function (item) { if (item[lazyKey]) { cb(item, null, 0); return; } var children = item[childrenKey]; if (!isNil(children)) { _walker(item, children, 0); } }); } /***/ }), /***/ 175: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXTERNAL MODULE: external "vue-slider-component" var external_vue_slider_component_ = __webpack_require__(47); var external_vue_slider_component_default = /*#__PURE__*/__webpack_require__.n(external_vue_slider_component_); // EXTERNAL MODULE: external "vue-slider-component/theme/default.css" var default_css_ = __webpack_require__(54); // EXTERNAL MODULE: ./packages/table/src/store/current.js var current = __webpack_require__(49); // CONCATENATED MODULE: ./packages/routebook-multi/src/mapStyle.js /* harmony default export */ var mapStyle = ({ styleJson: [{ 'featureType': 'land', 'elementType': 'geometry', 'stylers': { 'color': '#fcfcfc' } }, { 'featureType': 'water', 'elementType': 'geometry', 'stylers': { 'color': '#d5e2f8' } }, { 'featureType': 'label', 'elementType': 'labels.text.fill', 'stylers': { 'color': '#585d99' } }, { 'featureType': 'highway', 'elementType': 'geometry.fill', 'stylers': { 'color': '#b5caa0ff' } }, { 'featureType': 'highway', 'elementType': 'geometry.stroke', 'stylers': { 'color': '#94ad79ff' } }, { 'featureType': 'nationalway', 'elementType': 'geometry.fill', 'stylers': { 'color': '#b5caa0ff' } }, { 'featureType': 'arterial', 'elementType': 'geometry.fill', 'stylers': { 'color': '#d4e2c6ff' } }, { 'featureType': 'cityhighway', 'elementType': 'geometry.fill', 'stylers': { 'color': '#d4e2c6ff' } }, { 'featureType': 'provincialway', 'elementType': 'geometry.fill', 'stylers': { 'color': '#d4e2c6ff' } }, { 'featureType': 'provincialway', 'elementType': 'geometry.stroke', 'stylers': { 'color': '#b5caa0ff' } }, { 'featureType': 'tertiaryway', 'elementType': 'geometry.fill', 'stylers': { 'color': '#ffffffff' } }, { 'featureType': 'tertiaryway', 'elementType': 'geometry.stroke', 'stylers': { 'color': '#b5caa0ff' } }, { 'featureType': 'fourlevelway', 'elementType': 'geometry.fill', 'stylers': { 'color': '#ffffffff' } }, { 'featureType': 'fourlevelway', 'elementType': 'geometry.stroke', 'stylers': { 'color': '#b5caa0ff' } }, { 'featureType': 'subway', 'elementType': 'geometry', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'railway', 'elementType': 'geometry', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'highwaysign', 'elementType': 'labels', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'highwaysign', 'elementType': 'labels.icon', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'nationalwaysign', 'elementType': 'labels', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'nationalwaysign', 'elementType': 'labels.icon', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'provincialwaysign', 'elementType': 'labels', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'provincialwaysign', 'elementType': 'labels.icon', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'tertiarywaysign', 'elementType': 'labels', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'tertiarywaysign', 'elementType': 'labels.icon', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'subwaylabel', 'elementType': 'labels', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'subwaylabel', 'elementType': 'labels.icon', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'nationalway', 'elementType': 'geometry.stroke', 'stylers': { 'color': '#94ad79ff' } }, { 'featureType': 'cityhighway', 'elementType': 'geometry.stroke', 'stylers': { 'color': '#b5caa0ff' } }, { 'featureType': 'arterial', 'elementType': 'geometry.stroke', 'stylers': { 'color': '#b5caa0ff' } }, { 'featureType': 'highway', 'stylers': { 'level': '6', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'highway', 'stylers': { 'level': '7', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'highway', 'stylers': { 'level': '8', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'highway', 'stylers': { 'level': '9', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'highway', 'elementType': 'geometry', 'stylers': { 'visibility': 'off', 'level': '6', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'highway', 'elementType': 'geometry', 'stylers': { 'visibility': 'off', 'level': '7', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'highway', 'elementType': 'geometry', 'stylers': { 'visibility': 'off', 'level': '8', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'highway', 'elementType': 'geometry', 'stylers': { 'visibility': 'off', 'level': '9', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'highway', 'elementType': 'labels', 'stylers': { 'visibility': 'off', 'level': '6', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'highway', 'elementType': 'labels', 'stylers': { 'visibility': 'off', 'level': '7', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'highway', 'elementType': 'labels', 'stylers': { 'visibility': 'off', 'level': '8', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'highway', 'elementType': 'labels', 'stylers': { 'visibility': 'off', 'level': '9', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'nationalway', 'stylers': { 'level': '6', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'nationalway', 'stylers': { 'level': '7', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'nationalway', 'stylers': { 'level': '8', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'nationalway', 'stylers': { 'level': '9', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'nationalway', 'elementType': 'geometry', 'stylers': { 'visibility': 'off', 'level': '6', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'nationalway', 'elementType': 'geometry', 'stylers': { 'visibility': 'off', 'level': '7', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'nationalway', 'elementType': 'geometry', 'stylers': { 'visibility': 'off', 'level': '8', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'nationalway', 'elementType': 'geometry', 'stylers': { 'visibility': 'off', 'level': '9', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'nationalway', 'elementType': 'labels', 'stylers': { 'visibility': 'off', 'level': '6', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'nationalway', 'elementType': 'labels', 'stylers': { 'visibility': 'off', 'level': '7', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'nationalway', 'elementType': 'labels', 'stylers': { 'visibility': 'off', 'level': '8', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'nationalway', 'elementType': 'labels', 'stylers': { 'visibility': 'off', 'level': '9', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'provincialway', 'stylers': { 'level': '8', 'curZoomRegionId': '0', 'curZoomRegion': '8-9' } }, { 'featureType': 'provincialway', 'stylers': { 'level': '9', 'curZoomRegionId': '0', 'curZoomRegion': '8-9' } }, { 'featureType': 'provincialway', 'elementType': 'geometry', 'stylers': { 'visibility': 'off', 'level': '8', 'curZoomRegionId': '0', 'curZoomRegion': '8-9' } }, { 'featureType': 'provincialway', 'elementType': 'geometry', 'stylers': { 'visibility': 'off', 'level': '9', 'curZoomRegionId': '0', 'curZoomRegion': '8-9' } }, { 'featureType': 'provincialway', 'elementType': 'labels', 'stylers': { 'visibility': 'off', 'level': '8', 'curZoomRegionId': '0', 'curZoomRegion': '8-9' } }, { 'featureType': 'provincialway', 'elementType': 'labels', 'stylers': { 'visibility': 'off', 'level': '9', 'curZoomRegionId': '0', 'curZoomRegion': '8-9' } }, { 'featureType': 'cityhighway', 'stylers': { 'level': '6', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'cityhighway', 'stylers': { 'level': '7', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'cityhighway', 'stylers': { 'level': '8', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'cityhighway', 'stylers': { 'level': '9', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'cityhighway', 'elementType': 'geometry', 'stylers': { 'visibility': 'off', 'level': '6', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'cityhighway', 'elementType': 'geometry', 'stylers': { 'visibility': 'off', 'level': '7', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'cityhighway', 'elementType': 'geometry', 'stylers': { 'visibility': 'off', 'level': '8', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'cityhighway', 'elementType': 'geometry', 'stylers': { 'visibility': 'off', 'level': '9', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'cityhighway', 'elementType': 'labels', 'stylers': { 'visibility': 'off', 'level': '6', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'cityhighway', 'elementType': 'labels', 'stylers': { 'visibility': 'off', 'level': '7', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'cityhighway', 'elementType': 'labels', 'stylers': { 'visibility': 'off', 'level': '8', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'cityhighway', 'elementType': 'labels', 'stylers': { 'visibility': 'off', 'level': '9', 'curZoomRegionId': '0', 'curZoomRegion': '6-9' } }, { 'featureType': 'entertainment', 'elementType': 'geometry', 'stylers': { 'color': '#e4f0d7ff' } }, { 'featureType': 'manmade', 'elementType': 'geometry', 'stylers': { 'color': '#effcf0ff' } }, { 'featureType': 'education', 'elementType': 'geometry', 'stylers': { 'color': '#e3f7e4ff' } }, { 'featureType': 'building', 'elementType': 'geometry.stroke', 'stylers': { 'color': '#a1cfa4ff' } }, { 'featureType': 'poilabel', 'elementType': 'labels', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'poilabel', 'elementType': 'labels.icon', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'education', 'elementType': 'labels.text.fill', 'stylers': { 'color': '#7a7a7aff' } }, { 'featureType': 'education', 'elementType': 'labels.text.stroke', 'stylers': { 'color': '#ffffffff' } }, { 'featureType': 'education', 'elementType': 'labels.text', 'stylers': { 'fontsize': '26' } }, { 'featureType': 'manmade', 'elementType': 'labels.text.fill', 'stylers': { 'color': '#afafafff' } }, { 'featureType': 'manmade', 'elementType': 'labels.text', 'stylers': { 'fontsize': '26' } }, { 'featureType': 'scenicspotslabel', 'elementType': 'labels.text.fill', 'stylers': { 'color': '#376b6dff' } }, { 'featureType': 'scenicspots', 'elementType': 'labels', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'scenicspotslabel', 'elementType': 'labels', 'stylers': { 'visibility': 'on' } }, { 'featureType': 'scenicspotslabel', 'elementType': 'labels.text.stroke', 'stylers': { 'color': '#ffffffff', 'weight': '4' } }, { 'featureType': 'country', 'elementType': 'labels.text.fill', 'stylers': { 'color': '#376b6dff' } }, { 'featureType': 'country', 'elementType': 'labels.text.stroke', 'stylers': { 'color': '#ffffffff', 'weight': '3' } }, { 'featureType': 'water', 'elementType': 'labels.text.fill', 'stylers': { 'color': '#ffffffff' } }, { 'featureType': 'water', 'elementType': 'labels.text.stroke', 'stylers': { 'color': '#ffffff00' } }, { 'featureType': 'water', 'elementType': 'labels.text', 'stylers': { 'fontsize': '24' } }] }); // CONCATENATED MODULE: ./node_modules/_babel-loader@7.1.5@babel-loader/lib!./node_modules/_vue-loader@15.11.1@vue-loader/lib??vue-loader-options!./packages/routebook-multi/src/main.vue?vue&type=script&lang=js // // import BMap from 'BMap' var BMap = null; var ComplexCustomOverlay = null; /* harmony default export */ var mainvue_type_script_lang_js = ({ name: "YkRoutebookMulti", components: { VueSlider: external_vue_slider_component_default.a }, props: { longitudeKey: { type: String, default: "lon" }, latitudeKey: { type: String, default: "lat" }, initPoint: { // 初始化中心点位置。如果points有数据。就取第一个 type: Object, default: function _default() { return { lon: 116.403984, lat: 39.914034 }; } }, height: { type: String, default: "600px" }, /* * point格式{lat: , lng: , color: } * */ points: { type: Array, default: function _default() { return []; }, required: true }, pointsArr: { // 地图打点,停留点,事件点等 type: Array, default: function _default() { return []; } }, pointsColor: { type: String, default: "#DD425A" }, play: { // 播放状态 type: Boolean, default: false }, zoom: { // 地图缩放等级 type: Number, default: 6 }, speed: { // 倍数 type: Number, default: 1 }, speedArr: { type: Array, default: function _default() { return [1, 2, 5, 10, 20, 50, 100]; } }, speedBase: { // 速度 type: Number, default: 100 }, lineWidth: { // 路径线宽度 type: Number, default: 4 }, progress: { // 进度 type: Number, default: 0 }, direction: { // Icon偏离角度 type: Number, default: -60 }, showPoints: Boolean, // 是否显示途经点 showMarkerBg: { type: Boolean, default: false }, // 是否显示标记点的背景图 poylineClickable: { type: Boolean, default: false }, // 是否开启轨迹线点击功能,点击后车辆和轨迹进度条跟随 popcardPosition: { type: String, default: 'auto' }, // 弹窗位置 auto:随着地图移动 fixed:固定在点的上方 triggerType: { type: String, default: "hover" }, //弹窗触发事件 hover-鼠标经过;click-鼠标点击 multiPopCard: { type: Boolean, default: false }, // 弹窗同时存在的个数 false-单个;true 多个 showInfoWin: { // 始终显示infoWindow(如果设置了landmarkPois,必须为true,两者只能生效一个) type: Boolean, default: false }, autoCenter: { // 实时刷新中心点。 type: Boolean, default: true }, colorsArrResource: { type: Array, default: function _default() { return [ // 速度颜色数组 { key: "#F4D035", name: "0~30km/h", min: 0, max: 30 }, { key: "#4CAF50", name: "30~60km/h", min: 30, max: 60 }, { key: "#2E63FD", name: "60~80km/h", min: 60, max: 80 }, { key: "#5D3FE4", name: "80~100km/h", min: 80, max: 100 }, { key: "#DD425A", name: ">100km/h", min: 100 }]; } }, ctrlIcons: { type: Object, default: function _default() { return { left: __webpack_require__(92), play: { active: __webpack_require__(93), inactive: __webpack_require__(94) }, right: __webpack_require__(95) }; } } }, data: function data() { return { map: null, startIndex: 0, car: null, timeId: null, angle: 60, // 旋转角度 myCompOverlay: null, myPopOverlay: null, showInfoWindow: this.showInfoWin, // 是否显示info弹窗 curPlay: this.play, // 播放状态 curProgress: 0, // 当前播放进度 curSpeed: 1, // 倍数 parsedPoints: [], // 处理点分组 value: 0, pointsBMap: [], pointOverlays: [], pointPopCards: [], newZIndex: 1, currentPopCardIndex: null // 当面操作的弹窗的默认索引 }; }, computed: { beginEndTime: function beginEndTime() { return this.points.length > 0 ? { startTime: this.points[0].reportTime, endTime: this.points[this.points.length - 1].reportTime } : {}; }, colorsArr: function colorsArr() { return this.colorsArrResource.filter(function (item) { return item.min > 0 || item.max > 0; }); } }, watch: { play: function play(newv) { this.curPlay = newv; if (newv) { if (!this.car) this.$emit("update:play", false);else this.start(); } else { this.pause(); } }, pointsArr: function pointsArr(newVal) { // console.log("新的数据源", newVal); if (this.showPoints) this.initPoints(); }, points: function points(newv) { // console.log("newv", newv); this.clearMap(); this.initLinesArr(); // this.initLine() // let lon = this.points.length > 0 ? this.points[0].lon : this.initPoint.lon // let lat = this.points.length > 0 ? this.points[0].lat : this.initPoint.lat if (this.points.length > 0) { this.initCar(this.points[0][this.longitudeKey], this.points[0][this.latitudeKey]); // 画车 this.initStartEndPoint(); // 画开始结束的点 } }, curSpeed: function curSpeed() { if (this.timeId) this.start(); }, curProgress: function curProgress(newv) { if (this.points.length > 0) { this.startIndex = newv; if (newv < 0) { this.startIndex = 0; } if (newv < this.points.length - 1) { this.angle = Number(this.points[this.startIndex].direction) + this.direction; } else { this.startIndex = this.points.length - 1; } this.initCar(this.points[this.startIndex][this.longitudeKey], this.points[this.startIndex][this.latitudeKey]); } }, colorsArr: function colorsArr(newv) { this.parsedPoints = []; // 清空已有数组 this.pointsBMap.forEach(function (item) { item.enableMassClear(); }); if (this.points.length > 0) { this.initLinesArr(); } }, showPoints: function showPoints(newv) { if (newv && this.pointsArr.length > 0) this.initPoints();else { this.map.clearOverlays(); } } }, mounted: function mounted() { BMap = window.BMap; ComplexCustomOverlay = function ComplexCustomOverlay(point, el) { this._point = point; this._div = el; }; ComplexCustomOverlay.prototype = new BMap.Overlay(); ComplexCustomOverlay.prototype.initialize = function (map) { this._map = map; // console.log('labelPane',map.getPanes().labelPane); map.getPanes().labelPane.appendChild(this._div); return this._div; }; ComplexCustomOverlay.prototype.draw = function () { var map = this._map; var pixel = map.pointToOverlayPixel(this._point); /* 获取地图东北与西南角*/ var NorthEast = map.getBounds().getNorthEast(); // 东北 - 上右 var SouthWest = map.getBounds().getSouthWest(); // 西南 - 下左 var o = 32; // 距离边缘和小车的偏移值 // console.log('this._div.offsetWidth',this._div.offsetWidth,pixel.x ); var offsetLeft = this._div.offsetWidth / 2; var offsetTop = this._div.offsetHeight + o; var lng = void 0, lat = void 0; if (this.popcardPosition === 'auto') { var northEastX = map.pointToOverlayPixel(NorthEast).x; var northEastY = map.pointToOverlayPixel(NorthEast).y; if (pixel.x + this._div.offsetWidth >= northEastX) { // console.log('到右边了') lng = NorthEast.lng; lat = this._point.lat; offsetLeft = -this._div.offsetWidth - o; pixel = map.pointToOverlayPixel(new BMap.Point(lng, lat)); } if (pixel.y - this._div.offsetHeight - o <= northEastY) { // console.log('到上边了') lng = this._point.lng; lat = NorthEast.lat; offsetTop = -30; pixel = map.pointToOverlayPixel(new BMap.Point(lng, lat)); } // 超出下边/左边范围 if (this._point.lng < SouthWest.lng || this._point.lat < SouthWest.lat) { // console.log('左下') lng = this._point.lng < SouthWest.lng ? SouthWest.lng : this._point.lng; lat = this._point.lat < SouthWest.lat ? SouthWest.lat : this._point.lat; pixel = map.pointToOverlayPixel(new BMap.Point(lng, lat)); if (this._point.lng < SouthWest.lng) { offsetLeft = o; } } if (this._point.lat > NorthEast.lat) { // console.log('上.....') lng = this._point.lng; lat = NorthEast.lat; offsetTop = -o; pixel = map.pointToOverlayPixel(new BMap.Point(lng, lat)); } if (this._point.lng < SouthWest.lng && this._point.lat > NorthEast.lat) { // console.log('左上。。。。') lng = SouthWest.lng; lat = NorthEast.lat; offsetTop = -o; pixel = map.pointToOverlayPixel(new BMap.Point(lng, lat)); } if (pixel.y - this._div.offsetHeight - o <= northEastY && pixel.x + this._div.offsetWidth >= northEastX) { // console.log('上右') lng = NorthEast.lng; lat = NorthEast.lat; offsetLeft = -this._div.offsetWidth - o; offsetTop = -o; pixel = map.pointToOverlayPixel(new BMap.Point(lng, lat)); } if (pixel.x + this._div.offsetWidth >= northEastX && this._point.lat < SouthWest.lat) { // console.log('右下角') lng = NorthEast.lng; lat = SouthWest.lat; offsetLeft = -this._div.offsetWidth - o; pixel = map.pointToOverlayPixel(new BMap.Point(lng, lat)); } } this._div.style.left = pixel.x - offsetLeft + "px"; this._div.style.top = pixel.y - offsetTop + "px"; }; ComplexCustomOverlay.prototype.setZIndex = function (zindex) { // console.log('设置overlay的zindex',zindex); this._div.style.zIndex = zindex; }; this.initMap(); this.curSpeed = this.speedArr[0]; }, methods: { initMap: function initMap() { var that = this; var map = new BMap.Map(this.$refs.mapInner, { enableMapClick: false, minZoom: 6, maxZoom: 18 }); map.enableScrollWheelZoom(new BMap.Point(this.points[0] ? this.points[0][this.longitudeKey] : this.initPoint[this.longitudeKey] || this.initPoint.lon, this.points[0] ? this.points[0][this.latitudeKey] : this.initPoint[this.latitudeKey] || this.initPoint.lat), this.zoom); map.centerAndZoom(new BMap.Point(this.points[0] ? this.points[0][this.longitudeKey] : this.initPoint[this.longitudeKey] || this.initPoint.lon, this.points[0] ? this.points[0][this.latitudeKey] : this.initPoint[this.latitudeKey] || this.initPoint.lat), this.zoom); this.map = map; if (this.points.length > 0) { this.clearMap(); this.initLinesArr(); this.initLine(); this.initCar(this.points[0][this.longitudeKey], this.points[0][this.latitudeKey]); // 画车 this.initStartEndPoint(); // 画开始结束的点 } this.map.setMapStyle(mapStyle); this.map.addEventListener("zoomend", function () { that.initInfoWindow("zoomend"); }); }, // 根据索引控制打点的显示隐藏 togglePoint: function togglePoint(index) { var position = new BMap.Point(this.pointsArr[index][this.longitudeKey], this.pointsArr[index][this.latitudeKey]); // console.log('toggle得到的positon', position); if (this.triggerType === "hover") { this.handlePopCard(position, index); } else if (this.triggerType === "click") { this.handlePopCard(position, index); // 单个模式下,隐藏当前索引对应的弹窗 // console.log('this.currentPopCardIndex', this.currentPopCardIndex,index); if (!this.multiPopCard && this.showInfoWin && this.currentPopCardIndex !== null && this.currentPopCardIndex !== index) { // console.log('执行关闭'); this.pointPopCards[this.currentPopCardIndex].hide(); } this.currentPopCardIndex = index; } // 移动地图中心点到当前点 this.map.panTo(position); }, initPoints: function initPoints() { var _this2 = this; var _this = this; // 如果已存在打点,清空原先的打点 // console.log('this.pointOverlays',this.pointOverlays); if (this.pointOverlays.length > 0) { this.pointOverlays.forEach(function (item) { // console.log('已存在打点,清空',item.pointMarkerBg); item.pointMarker && _this2.map.removeOverlay(item.pointMarker); item.pointMarkerBg && _this2.map.removeOverlay(item.pointMarkerBg); }); } this.pointOverlays = []; // 清空所有已存在弹窗 if (this.pointPopCards.length > 0) { this.pointPopCards.forEach(function (item) { // console.log('已存在弹窗,清空',item); item && _this2.map.removeOverlay(item); }); } this.pointPopCards = []; // 地图打点 this.pointsArr.forEach(function (item, index) { var pointOverlay = {}; var p = new BMap.Point(item[_this2.longitudeKey], item[_this2.latitudeKey]); var pointMarker = new BMap.Marker(p, { icon: new BMap.Icon(__webpack_require__(96), new BMap.Size(32, 32)) }); pointMarker.setZIndex(99); // 处理鼠标事件-弹窗 // 处理单个显示和多个显示弹窗, 默认是单个显示 if (_this2.triggerType === "hover") { pointMarker.addEventListener("mouseover", function (e) { var point = e.currentTarget; _this.handlePopCard(point.getPosition(), index); // _this.$emit("clickPoint", item); }); // 单个模式下,鼠标离开隐藏当前弹窗 if (!_this2.multiPopCard && _this2.showInfoWin) { pointMarker.addEventListener("mouseout", function (e) { _this.pointPopCards[index].hide(); }); } } else if (_this2.triggerType === "click") { pointMarker.addEventListener("click", function (e) { var point = e.currentTarget; _this.handlePopCard(point.getPosition(), index); // 单个模式下,隐藏当前索引对应的弹窗 // console.log('_this.currentPopCardIndex', _this.currentPopCardIndex,index); if (!_this.multiPopCard && this.showInfoWin && _this.currentPopCardIndex !== null && _this.currentPopCardIndex !== index) { // console.log('执行关闭'); _this.pointPopCards[_this.currentPopCardIndex].hide(); } _this.currentPopCardIndex = index; // _this.$emit("clickPoint", item); }); } pointOverlay.pointMarker = pointMarker; _this2.map.addOverlay(pointMarker); // console.log('判断是否存在pointOverlays[index]',this.pointOverlays[index]); if (_this2.pointOverlays[index]) { _this2.$set(_this2.pointOverlays[index], 'pointMarker', pointMarker); } else { _this2.pointOverlays[index] = { pointMarker: pointMarker }; } }); }, initLinesArr: function initLinesArr() { var _this3 = this; // 初始化分段数组 this.points.forEach(function (item) { var speed = parseInt(item.speed); for (var i = 0; i < _this3.colorsArr.length; i++) { var element = _this3.colorsArr[i]; if (element.max ? speed < element.max && speed > element.min : speed > element.min) { _this3.pushData(element.min, item, element); } else if (element.min === 0 && element.max === 0) { _this3.pushData(element.min, item, _this3.colorsArr[i + 1]); } } }); this.initLine(); }, pushData: function pushData(tag, value, color) { if (this.parsedPoints.length === 0 || this.parsedPoints[this.parsedPoints.length - 1].tag !== tag) { this.parsedPoints.push({ tag: tag, color: color.key, points: [] }); } this.parsedPoints[this.parsedPoints.length - 1].points.push(value); }, initLine: function initLine() { var _this4 = this; // 清除已有的线 var allLines = this.map.getOverlays(); allLines.forEach(function (item) { _this4.map.removeOverlay(item); }); // console.log("initLine", allLines); // 画轨迹 // 画不同颜色的路线 this.parsedPoints.forEach(function (item, index, arr) { // 解决断点情况。每个首尾相连 if (index + 1 < arr.length) { item.points.push(arr[index + 1].points[0]); } var polyLine = new BMap.Polyline(item.points.map(function (it) { return new BMap.Point(it[_this4.longitudeKey], it[_this4.latitudeKey]); }), { strokeColor: item.color, // 设置颜色 strokeWeight: _this4.lineWidth, // 宽度 strokeOpacity: 1 }); polyLine.disableMassClear(); _this4.pointsBMap.push(polyLine); _this4.map.addOverlay(polyLine); // 增加点击轨迹显示小车以及相应进度条的功能 if (_this4.poylineClickable) { polyLine.addEventListener('click', function (res) { // 获取点击的经纬度 var dot = res.point; var index = 0; var dist = 0; // 获取距离最近的一个点 拿到点的下标 // console.log('点击了轨迹',dot); for (var i = 0; i < item.points.length; i++) { var e = item.points[i]; var newDist = _this4.getGreatCircleDistance(dot.lat, dot.lng, e.latitude, e.longitude); if (dist === 0) dist = newDist; if (dist > newDist) { dist = newDist; index = i; } } var _index = item.points[index].indexKey; // 设置小车位置 _this4.curProgress = _this4.startIndex = _index; // this.CHANGE_PLAY_INDEX(this.play_index, 0); // console.log('this.points[_index]',_index,item.points[index]) var lng = _this4.points[_index][_this4.longitudeKey]; var lat = _this4.points[_index][_this4.latitudeKey]; _this4.angle = Number(_this4.points[_index].direction) + _this4.direction; _this4.initCar(lng, lat); _this4.pause(); }); } }); // 添加途经点 if (this.pointsArr.length > 0 && this.showPoints) this.initPoints(); console.timeEnd(); }, // 两个经纬度计算距离 getGreatCircleDistance: function getGreatCircleDistance(lat1, lng1, lat2, lng2) { var PI = Math.PI; function getRad(d) { return d * PI / 180.0; } var radLat1 = getRad(lat1); var radLat2 = getRad(lat2); var a = radLat1 - radLat2; var b = getRad(lng1) - getRad(lng2); var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2))); s = s * 6378.137; // EARTH_RADIUS; s = Math.round(s * 10000) / 10000; return s; }, initStartEndPoint: function initStartEndPoint() { var startIcon = new BMap.Icon(__webpack_require__(97), new BMap.Size(40, 40)); var endIcon = new BMap.Icon(__webpack_require__(98), new BMap.Size(40, 40)); var startPoint = new BMap.Point(this.points[0][this.longitudeKey], this.points[0][this.latitudeKey]); var start = new BMap.Marker(startPoint, { icon: startIcon }); var endPoint = new BMap.Point(this.points[this.points.length - 1][this.longitudeKey], this.points[this.points.length - 1][this.latitudeKey]); var end = new BMap.Marker(endPoint, { icon: endIcon }); start.disableMassClear(); end.disableMassClear(); this.map.addOverlay(start); this.map.addOverlay(end); }, initCar: function initCar(lng, lat) { this.car && this.map.removeOverlay(this.car); var that = this; // 创建小车图标 var myIcon = new BMap.Icon(__webpack_require__(99), new BMap.Size(94, 94)); // 创建Marker标注,使用小车图标 var pt = new BMap.Point(lng, lat); this.car = new BMap.Marker(pt, { icon: myIcon, rotation: that.angle, zIndex: 99 }); this.car.disableMassClear(); if (this.showInfoWindow) this.initInfoWindow(); // 将标注添加到地图 this.map.addOverlay(this.car); if (this.points.length > 0) { this.map.setCenter(new BMap.Point(lng, lat));