UNPKG

sd-dic-tree-grid

Version:
3,854 lines 152 kB
(function webpackUniversalModuleDefinition(root, factory) {
	if(typeof exports === 'object' && typeof module === 'object')
		module.exports = factory();
	else if(typeof define === 'function' && define.amd)
		define("sd-dic-tree-grid", [], factory);
	else if(typeof exports === 'object')
		exports["sd-dic-tree-grid"] = factory();
	else
		root["sd-dic-tree-grid"] = factory();
})(typeof self !== 'undefined' ? self : this, function() {
return /******/ (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, {
/******/ 				configurable: false,
/******/ 				enumerable: true,
/******/ 				get: getter
/******/ 			});
/******/ 		}
/******/ 	};
/******/
/******/ 	// 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 = 3);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports) {

/*
	MIT License http://www.opensource.org/licenses/mit-license.php
	Author Tobias Koppers @sokra
*/
// css base code, injected by the css-loader
module.exports = function(useSourceMap) {
	var list = [];

	// return the list of modules as css string
	list.toString = function toString() {
		return this.map(function (item) {
			var content = cssWithMappingToString(item, useSourceMap);
			if(item[2]) {
				return "@media " + item[2] + "{" + content + "}";
			} else {
				return content;
			}
		}).join("");
	};

	// import a list of modules into the list
	list.i = function(modules, mediaQuery) {
		if(typeof modules === "string")
			modules = [[null, modules, ""]];
		var alreadyImportedModules = {};
		for(var i = 0; i < this.length; i++) {
			var id = this[i][0];
			if(typeof id === "number")
				alreadyImportedModules[id] = true;
		}
		for(i = 0; i < modules.length; i++) {
			var item = modules[i];
			// skip already imported module
			// this implementation is not 100% perfect for weird media query combinations
			//  when a module is imported multiple times with different media queries.
			//  I hope this will never occur (Hey this way we have smaller bundles)
			if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) {
				if(mediaQuery && !item[2]) {
					item[2] = mediaQuery;
				} else if(mediaQuery) {
					item[2] = "(" + item[2] + ") and (" + mediaQuery + ")";
				}
				list.push(item);
			}
		}
	};
	return list;
};

function cssWithMappingToString(item, useSourceMap) {
	var content = item[1] || '';
	var cssMapping = item[3];
	if (!cssMapping) {
		return content;
	}

	if (useSourceMap && typeof btoa === 'function') {
		var sourceMapping = toComment(cssMapping);
		var sourceURLs = cssMapping.sources.map(function (source) {
			return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'
		});

		return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
	}

	return [content].join('\n');
}

// Adapted from convert-source-map (MIT)
function toComment(sourceMap) {
	// eslint-disable-next-line no-undef
	var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
	var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;

	return '/*# ' + data + ' */';
}


/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {

/*
  MIT License http://www.opensource.org/licenses/mit-license.php
  Author Tobias Koppers @sokra
  Modified by Evan You @yyx990803
*/

var hasDocument = typeof document !== 'undefined'

if (typeof DEBUG !== 'undefined' && DEBUG) {
  if (!hasDocument) {
    throw new Error(
    'vue-style-loader cannot be used in a non-browser environment. ' +
    "Use { target: 'node' } in your Webpack config to indicate a server-rendering environment."
  ) }
}

var listToStyles = __webpack_require__(7)

/*
type StyleObject = {
  id: number;
  parts: Array<StyleObjectPart>
}

type StyleObjectPart = {
  css: string;
  media: string;
  sourceMap: ?string
}
*/

var stylesInDom = {/*
  [id: number]: {
    id: number,
    refs: number,
    parts: Array<(obj?: StyleObjectPart) => void>
  }
*/}

var head = hasDocument && (document.head || document.getElementsByTagName('head')[0])
var singletonElement = null
var singletonCounter = 0
var isProduction = false
var noop = function () {}

// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
// tags it will allow on a page
var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\b/.test(navigator.userAgent.toLowerCase())

module.exports = function (parentId, list, _isProduction) {
  isProduction = _isProduction

  var styles = listToStyles(parentId, list)
  addStylesToDom(styles)

  return function update (newList) {
    var mayRemove = []
    for (var i = 0; i < styles.length; i++) {
      var item = styles[i]
      var domStyle = stylesInDom[item.id]
      domStyle.refs--
      mayRemove.push(domStyle)
    }
    if (newList) {
      styles = listToStyles(parentId, newList)
      addStylesToDom(styles)
    } else {
      styles = []
    }
    for (var i = 0; i < mayRemove.length; i++) {
      var domStyle = mayRemove[i]
      if (domStyle.refs === 0) {
        for (var j = 0; j < domStyle.parts.length; j++) {
          domStyle.parts[j]()
        }
        delete stylesInDom[domStyle.id]
      }
    }
  }
}

function addStylesToDom (styles /* Array<StyleObject> */) {
  for (var i = 0; i < styles.length; i++) {
    var item = styles[i]
    var domStyle = stylesInDom[item.id]
    if (domStyle) {
      domStyle.refs++
      for (var j = 0; j < domStyle.parts.length; j++) {
        domStyle.parts[j](item.parts[j])
      }
      for (; j < item.parts.length; j++) {
        domStyle.parts.push(addStyle(item.parts[j]))
      }
      if (domStyle.parts.length > item.parts.length) {
        domStyle.parts.length = item.parts.length
      }
    } else {
      var parts = []
      for (var j = 0; j < item.parts.length; j++) {
        parts.push(addStyle(item.parts[j]))
      }
      stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }
    }
  }
}

function createStyleElement () {
  var styleElement = document.createElement('style')
  styleElement.type = 'text/css'
  head.appendChild(styleElement)
  return styleElement
}

function addStyle (obj /* StyleObjectPart */) {
  var update, remove
  var styleElement = document.querySelector('style[data-vue-ssr-id~="' + obj.id + '"]')

  if (styleElement) {
    if (isProduction) {
      // has SSR styles and in production mode.
      // simply do nothing.
      return noop
    } else {
      // has SSR styles but in dev mode.
      // for some reason Chrome can't handle source map in server-rendered
      // style tags - source maps in <style> only works if the style tag is
      // created and inserted dynamically. So we remove the server rendered
      // styles and inject new ones.
      styleElement.parentNode.removeChild(styleElement)
    }
  }

  if (isOldIE) {
    // use singleton mode for IE9.
    var styleIndex = singletonCounter++
    styleElement = singletonElement || (singletonElement = createStyleElement())
    update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)
    remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)
  } else {
    // use multi-style-tag mode in all other cases
    styleElement = createStyleElement()
    update = applyToTag.bind(null, styleElement)
    remove = function () {
      styleElement.parentNode.removeChild(styleElement)
    }
  }

  update(obj)

  return function updateStyle (newObj /* StyleObjectPart */) {
    if (newObj) {
      if (newObj.css === obj.css &&
          newObj.media === obj.media &&
          newObj.sourceMap === obj.sourceMap) {
        return
      }
      update(obj = newObj)
    } else {
      remove()
    }
  }
}

var replaceText = (function () {
  var textStore = []

  return function (index, replacement) {
    textStore[index] = replacement
    return textStore.filter(Boolean).join('\n')
  }
})()

function applyToSingletonTag (styleElement, index, remove, obj) {
  var css = remove ? '' : obj.css

  if (styleElement.styleSheet) {
    styleElement.styleSheet.cssText = replaceText(index, css)
  } else {
    var cssNode = document.createTextNode(css)
    var childNodes = styleElement.childNodes
    if (childNodes[index]) styleElement.removeChild(childNodes[index])
    if (childNodes.length) {
      styleElement.insertBefore(cssNode, childNodes[index])
    } else {
      styleElement.appendChild(cssNode)
    }
  }
}

function applyToTag (styleElement, obj) {
  var css = obj.css
  var media = obj.media
  var sourceMap = obj.sourceMap

  if (media) {
    styleElement.setAttribute('media', media)
  }

  if (sourceMap) {
    // https://developer.chrome.com/devtools/docs/javascript-debugging
    // this makes source maps inside style tags work properly in Chrome
    css += '\n/*# sourceURL=' + sourceMap.sources[0] + ' */'
    // http://stackoverflow.com/a/26603875
    css += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'
  }

  if (styleElement.styleSheet) {
    styleElement.styleSheet.cssText = css
  } else {
    while (styleElement.firstChild) {
      styleElement.removeChild(styleElement.firstChild)
    }
    styleElement.appendChild(document.createTextNode(css))
  }
}


/***/ }),
/* 2 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony default export */ __webpack_exports__["a"] = ({
  inject: ['keyField', 'showField', 'renderCell', 'rtl', 'inPicked'],
  props: {
    list: Array,
    picked: Array,
    dropHeight: Number,
    value: Number
  },
  methods: {
    rowClick: function rowClick(row) {
      this.$emit('select', row);
    },
    rowClass: function rowClass(row, index) {
      return {
        'sp-over': this.value === index,
        'sp-selected': this.inPicked(row),
        'sp-rtl': this.rtl
      };
    },
    highlight: function highlight(index) {
      this.$emit('input', index);
    }
  }
});

/***/ }),
/* 3 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dicGrid__ = __webpack_require__(4);
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "dicTreeGrid", function() { return __WEBPACK_IMPORTED_MODULE_0__dicGrid__["a"]; });


var Plugin = {
  install: function install(Vue) {
    var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

    if (Object.keys(option).length) {
      var props = __WEBPACK_IMPORTED_MODULE_0__dicGrid__["a" /* default */].mixins[0].props;
      if (typeof option.title === 'string') props.title.default = option.title;
      if (typeof option.appMark === 'string') props.appMark.default = option.appMark;
      if (typeof option.language === 'string') props.language.default = option.language;
      if (typeof option.placeholder === 'string') props.placeholder.default = option.placeholder;
      if (typeof option.pageSize === 'number') props.pageSize.default = option.pageSize;
      if (typeof option.rtl === 'boolean') props.rtl.default = option.rtl;

      if (option.dataLoad && typeof option.dataLoad === 'function') {
        __WEBPACK_IMPORTED_MODULE_0__dicGrid__["a" /* default */].extends = {
          methods: {
            dataLoad: option.dataLoad
          }
        };
      }
    }
    Vue.component('s-dic-tree-grid', __WEBPACK_IMPORTED_MODULE_0__dicGrid__["a" /* default */]);
  }
};

/* harmony default export */ __webpack_exports__["default"] = (Plugin);

/***/ }),
/* 4 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__styles_dicgrid_css__ = __webpack_require__(5);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__styles_dicgrid_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__styles_dicgrid_css__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_Dropdown__ = __webpack_require__(8);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_Tag__ = __webpack_require__(11);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_Select__ = __webpack_require__(12);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_Pagination__ = __webpack_require__(13);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_List__ = __webpack_require__(14);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_Table__ = __webpack_require__(15);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__mixins_data__ = __webpack_require__(16);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__mixins_methods__ = __webpack_require__(18);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__mixins_util__ = __webpack_require__(19);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__mixins_render__ = __webpack_require__(20);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__libs_util__ = __webpack_require__(21);
/* eslint-disable no-eval */












/* harmony default export */ __webpack_exports__["a"] = ({
  name: 's-dicTree-grid',
  mixins: [__WEBPACK_IMPORTED_MODULE_7__mixins_data__["a" /* default */], __WEBPACK_IMPORTED_MODULE_8__mixins_methods__["a" /* default */], __WEBPACK_IMPORTED_MODULE_9__mixins_util__["a" /* default */], __WEBPACK_IMPORTED_MODULE_10__mixins_render__["a" /* default */]],
  components: {
    'v-dropdown': __WEBPACK_IMPORTED_MODULE_1__components_Dropdown__["a" /* default */],
    'sp-tag': __WEBPACK_IMPORTED_MODULE_2__components_Tag__["a" /* default */],
    'sp-select': __WEBPACK_IMPORTED_MODULE_3__components_Select__["a" /* default */],
    'sp-page': __WEBPACK_IMPORTED_MODULE_4__components_Pagination__["a" /* default */],
    'sp-list': __WEBPACK_IMPORTED_MODULE_5__components_List__["a" /* default */],
    'sp-table': __WEBPACK_IMPORTED_MODULE_6__components_Table__["a" /* default */]
  },
  provide: function provide() {
    return {
      i18n: this.i18n,
      renderCell: this.renderCell,
      keyField: this.keyField,
      showField: this.showField,
      inPicked: this.inPicked,
      rtl: this.rtl
    };
  },
  mounted: function mounted() {
    var _this = this;

    if (!this.searchField) {
      if (typeof this.showField === 'string') {
        this.searchColumn = this.showField;
      } else if (Array.isArray(this.showField) && this.showField.length) {
        this.searchColumn = this.showField[0].data;
      }
    } else this.searchColumn = this.searchField;
    if (typeof this.requestType == 'undefined' || this.requestType === 'dic') {
      if (this.appMark === '') {
        this.i18n.not_found = '未设置应用标识';
        return;
      }
      this.$store.dispatch('axiosGetRequest', { url: '/bsp-com/ops/dic/code/getDicCodeTreeData',
        params: {
          // access_token: getToken(),
          dicName: this.dicName
        } }).then(function (res) {
        // this.$store.dispatch('axiosGetRequest', { url: '/bsp-com/static/dic/' + this.appMark + '/' + this.dicName + '.js' }).then(res => {
        if (res.status === 200) {
          var arr = [];
          // let func = { getData: eval('(' + res.data + ')') }
          // arr = func.getData()
          arr = res.data.data;
          // 判断是否存在过滤条件
          if (_this.filterField) {
            var start = _this.filterField.charAt(0);
            var end = _this.filterField.charAt(_this.filterField.length - 1);

            // 过滤条件为正则表达式
            if (start == '/' && end == '/' && eval(_this.filterField) instanceof RegExp) {
              _this.data = arr ? arr.filter(function (item) {
                return eval(_this.filterField).test(item.code);
              }) : [];
            } else {
              // 过滤条件为字符串
              var filterArr = _this.filterField.split(',');
              _this.data = arr ? arr.filter(function (item) {
                return filterArr.includes(item.code);
              }) : [];
            }
          } else {
            _this.data = arr;
          }
        } else {
          _this.i18n.not_found = '字典数据加载错误';
        }
      });
    } else if (this.requestType === 'loopData') {
      // 单循环数据
      this.data = this.loopData;
    } else {
      this.$store.dispatch('authPostRequest', { url: this.path }).then(function (data) {
        if (data.success) {
          _this.data = data.rows;
        } else {
          _this.i18n.not_found = '数据加载错误';
        }
      });
    }
  }
});

/***/ }),
/* 5 */
/***/ (function(module, exports, __webpack_require__) {

// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(6);
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var update = __webpack_require__(1)("d696132e", content, true);

/***/ }),
/* 6 */
/***/ (function(module, exports, __webpack_require__) {

exports = module.exports = __webpack_require__(0)(false);
// imports


// module
exports.push([module.i, "@font-face{font-family:sp-iconfont;src:url(\"data:application/x-font-woff;charset=utf-8;base64,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\") format(\"woff\"),url(\"data:image/ttf;base64,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?t=1530004230003\") format(\"truetype\"),url(\"data:image/svg;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPCEtLQoyMDEzLTktMzA6IENyZWF0ZWQuCi0tPgo8c3ZnPgo8bWV0YWRhdGE+CkNyZWF0ZWQgYnkgaWNvbmZvbnQKPC9tZXRhZGF0YT4KPGRlZnM+Cgo8Zm9udCBpZD0iaWNvbmZvbnQiIGhvcml6LWFkdi14PSIxMDI0IiA+CiAgPGZvbnQtZmFjZQogICAgZm9udC1mYW1pbHk9Imljb25mb250IgogICAgZm9udC13ZWlnaHQ9IjUwMCIKICAgIGZvbnQtc3RyZXRjaD0ibm9ybWFsIgogICAgdW5pdHMtcGVyLWVtPSIxMDI0IgogICAgYXNjZW50PSI4OTYiCiAgICBkZXNjZW50PSItMTI4IgogIC8+CiAgICA8bWlzc2luZy1nbHlwaCAvPgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ieCIgdW5pY29kZT0ieCIgaG9yaXotYWR2LXg9IjEwMDEiCmQ9Ik0yODEgNTQzcS0yNyAtMSAtNTMgLTFoLTgzcS0xOCAwIC0zNi41IC02dC0zMi41IC0xOC41dC0yMyAtMzJ0LTkgLTQ1LjV2LTc2aDkxMnY0MXEwIDE2IC0wLjUgMzB0LTAuNSAxOHEwIDEzIC01IDI5dC0xNyAyOS41dC0zMS41IDIyLjV0LTQ5LjUgOWgtMTMzdi05N2gtNDM4djk3ek05NTUgMzEwdi01MnEwIC0yMyAwLjUgLTUydDAuNSAtNTh0LTEwLjUgLTQ3LjV0LTI2IC0zMHQtMzMgLTE2dC0zMS41IC00LjVxLTE0IC0xIC0yOS41IC0wLjUKdC0yOS41IDAuNWgtMzJsLTQ1IDEyOGgtNDM5bC00NCAtMTI4aC0yOWgtMzRxLTIwIDAgLTQ1IDFxLTI1IDAgLTQxIDkuNXQtMjUuNSAyM3QtMTMuNSAyOS41dC00IDMwdjE2N2g5MTF6TTE2MyAyNDdxLTEyIDAgLTIxIC04LjV0LTkgLTIxLjV0OSAtMjEuNXQyMSAtOC41cTEzIDAgMjIgOC41dDkgMjEuNXQtOSAyMS41dC0yMiA4LjV6TTMxNiAxMjNxLTggLTI2IC0xNCAtNDhxLTUgLTE5IC0xMC41IC0zN3QtNy41IC0yNXQtMyAtMTV0MSAtMTQuNQp0OS41IC0xMC41dDIxLjUgLTRoMzdoNjdoODFoODBoNjRoMzZxMjMgMCAzNCAxMnQyIDM4cS01IDEzIC05LjUgMzAuNXQtOS41IDM0LjVxLTUgMTkgLTExIDM5aC0zNjh6TTMzNiA0OTh2MjI4cTAgMTEgMi41IDIzdDEwIDIxLjV0MjAuNSAxNS41dDM0IDZoMTg4cTMxIDAgNTEuNSAtMTQuNXQyMC41IC01Mi41di0yMjdoLTMyN3oiIC8+CiAgICAKCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ3YXJuIiB1bmljb2RlPSImIzU4OTc5OyIgZD0iTTg0OS4xMi0zMi43MDQgMTc0Ljg4LTMyLjcwNGMtNDUuMjE2IDAtODEuNTM2IDE3LjcyOC05OS42OCA0OC42NC0xOC4xNDQgMzAuOTEyLTE1LjkzNiA3MS4yOTYgNi4wOCAxMTAuNzUyTDQyMS40NzIgNzM2LjM1MmMyMi4xNDQgMzkuNzQ0IDU1LjA3MiA2Mi41MjggOTAuMzA0IDYyLjUyOHM2OC4xMjgtMjIuNzUyIDkwLjMzNi02Mi40NjRsMzQwLjU0NC02MDkuNzkyYzIyLjAxNi0zOS40NTYgMjQuMjg4LTc5LjgwOCA2LjExMi0xMTAuNzJDOTMwLjY1Ni0xNS4wMDggODk0LjMwNC0zMi43MDQgODQ5LjEyLTMyLjcwNHpNNTExLjgwOCA3MzQuODhjLTExLjIgMC0yNC4wMzItMTEuMTA0LTM0LjQzMi0yOS42OTZMMTM3LjE4NCA5NS40NTZjLTEwLjY1Ni0xOS4xMzYtMTMuMTUyLTM2LjMyLTYuNzg0LTQ3LjE2OCA2LjM2OC0xMC44MTYgMjIuNTkyLTE3LjAyNCA0NC40OC0xNy4wMjRsNjc0LjI0IDBjMjEuOTIgMCAzOC4xMTIgNi4xNzYgNDQuNDggMTcuMDI0IDYuMzM2IDEwLjgxNiAzLjg3MiAyOC02LjgxNiA0Ny4xMzZMNTQ2LjI0IDcwNS4xODRDNTM1Ljg3MiA3MjMuNzc2IDUyMi45NzYgNzM0Ljg4IDUxMS44MDggNzM0Ljg4ek01MTIgMjU2Yy0xNy42NjQgMC0zMiAxNC4zMDQtMzIgMzJsMCAyODhjMCAxNy42NjQgMTQuMzM2IDMyIDMyIDMyczMyLTE0LjMzNiAzMi0zMmwwLTI4OEM1NDQgMjcwLjMwNCA1MjkuNjY0IDI1NiA1MTIgMjU2ek01MTIgMTQzLjg3Mm0tNDggMGExLjUgMS41IDAgMSAwIDk2IDAgMS41IDEuNSAwIDEgMC05NiAwWiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9InNoYW5jaHUiIHVuaWNvZGU9IiYjNTkyMTE7IiBkPSJNNjA3Ljg5Nzg2NyAxMjcuOTU2OTk2Yy0xNy43MTc0NTMgMC0zMS45OTQ2MjUgMTQuMjc3MTcxLTMxLjk5NDYyNSAzMS45OTQ2MjVMNTc1LjkwMzI0MiA1MTIuMDY0NTA1YzAgMTcuNzE3NDUzIDE0LjI3NzE3MSAzMS45OTQ2MjUgMzEuOTk0NjI1IDMxLjk5NDYyNXMzMS45OTQ2MjUtMTQuMjc3MTcxIDMxLjk5NDYyNS0zMS45OTQ2MjVsMC0zNTEuOTQwODdDNjM5Ljg5MjQ5MSAxNDIuNDA2MTgxOTk5OTk5OTQgNjI1LjYxNTMyIDEyNy45NTY5OTYgNjA3Ljg5Nzg2NyAxMjcuOTU2OTk2ek00MTUuOTMwMTE5IDEyNy45NTY5OTZjLTE3LjcxNzQ1MyAwLTMxLjk5NDYyNSAxNC4yNzcxNzEtMzEuOTk0NjI1IDMxLjk5NDYyNUwzODMuOTM1NDk1IDUxMi4wNjQ1MDVjMCAxNy43MTc0NTMgMTQuMjc3MTcxIDMxLjk5NDYyNSAzMS45OTQ2MjUgMzEuOTk0NjI1IDE3LjcxNzQ1MyAwIDMxLjk5NDYyNS0xNC4yNzcxNzEgMzEuOTk0NjI1LTMxLjk5NDYyNWwwLTM1MS45NDA4N0M0NDcuOTI0NzQ0IDE0Mi40MDYxODE5OTk5OTk5NCA0MzMuNjQ3NTczIDEyNy45NTY5OTYgNDE1LjkzMDExOSAxMjcuOTU2OTk2ek05MjguMDE2MTI2IDY3Mi4wMzc2MjhsLTE1OS45NzMxMjMgMEw3NjguMDQzMDA0IDczNi4wMjY4NzdjMCA1Mi45ODAzNDYtNDIuNjU5NDk5IDk1Ljk4Mzg3NC05NS4yOTU4MTcgOTUuOTgzODc0TDM1MS45NDA4NyA4MzIuMDEwNzUxYy01Mi45ODAzNDYgMC05NS45ODM4NzQtNDMuMDAzNTI4LTk1Ljk4Mzg3NC05NS45ODM4NzRsMC02My45ODkyNDktMTU5Ljk3MzEyMyAwYy0xNy43MTc0NTMgMC0zMS45OTQ2MjUtMTQuMjc3MTcxLTMxLjk5NDYyNS0zMS45OTQ2MjVzMTQuMjc3MTcxLTMxLjk5NDYyNSAzMS45OTQ2MjUtMzEuOTk0NjI1bDgzMi4wMzIyNTMgMGMxNy43MTc0NTMgMCAzMS45OTQ2MjUgMTQuMjc3MTcxIDMxLjk5NDYyNSAzMS45OTQ2MjVTOTQ1LjczMzU4IDY3Mi4wMzc2MjggOTI4LjAxNjEyNiA2NzIuMDM3NjI4ek0zMTkuOTQ2MjQ2IDczNi4wMjY4NzdjMCAxNy41NDU0MzkgMTQuNDQ5MTg1IDMxLjk5NDYyNSAzMS45OTQ2MjUgMzEuOTk0NjI1bDMyMC44MDYzMTYgMGMxNy41NDU0MzkgMCAzMS4zMDY1NjgtMTQuMTA1MTU3IDMxLjMwNjU2OC0zMS45OTQ2MjVsMC02My45ODkyNDlMMzE5Ljk0NjI0NiA2NzIuMDM3NjI4IDMxOS45NDYyNDYgNzM2LjAyNjg3NyAzMTkuOTQ2MjQ2IDczNi4wMjY4Nzd6TTczNi4wNDgzNzktNjQuMDEwNzUxMDAwMDAwMDNMMjg4LjEyMzYzNS02NC4wMTA3NTEwMDAwMDAwM2MtNTIuOTgwMzQ2IDAtOTUuOTgzODc0IDQzLjAwMzUyOC05NS45ODM4NzQgOTUuOTgzODc0TDE5Mi4xMzk3NjEgNTEyLjQwODUzMzk5OTk5OTljMCAxNy43MTc0NTMgMTQuMjc3MTcxIDMxLjk5NDYyNSAzMS45OTQ2MjUgMzEuOTk0NjI1czMxLjk5NDYyNS0xNC4yNzcxNzEgMzEuOTk0NjI1LTMxLjk5NDYyNWwwLTQ4MC40MzU0MTFjMC0xNy43MTc0NTMgMTQuNDQ5MTg1LTMxLjk5NDYyNSAzMS45OTQ2MjUtMzEuOTk0NjI1bDQ0OC4wOTY3NTggMGMxNy43MTc0NTMgMCAzMS45OTQ2MjUgMTQuMjc3MTcxIDMxLjk5NDYyNSAzMS45OTQ2MjVMNzY4LjIxNTAxOCA1MTEuMjA0NDM1YzAgMTcuNzE3NDUzIDE0LjI3NzE3MSAzMS45OTQ2MjUgMzEuOTk0NjI1IDMxLjk5NDYyNXMzMS45OTQ2MjUtMTQuMjc3MTcxIDMxLjk5NDYyNS0zMS45OTQ2MjVsMC00NzkuMjMxMzEyQzgzMi4wMzIyNTMtMjAuODM1MjA4OTk5OTk5OTYzIDc4OS4wMjg3MjUtNjQuMDEwNzUxMDAwMDAwMDMgNzM2LjA0ODM3OS02NC4wMTA3NTEwMDAwMDAwM3oiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjaGVjayIgdW5pY29kZT0iJiM1ODkzMjsiIGQ9Ik04NTEuNjA4IDc4MC4yNzljMzEuMDU2IDAgNTYuMzIzLTI1LjI2NyA1Ni4zMjMtNTYuMzI1di02NzkuODg2YzAtMzEuMDU3LTI1LjI2Ni01Ni4zMjQtNTYuMzIzLTU2LjMyNGgtNjc5Ljg4NmMtMzEuMDU4IDAtNTYuMzI1IDI1LjI2Ni01Ni4zMjUgNTYuMzI0bDAgNjc5Ljg4NmMwIDMxLjA1OCAyNS4yNjcgNTYuMzI1IDU2LjMyNSA1Ni4zMjVoNjc5Ljg4Nk04NTEuNjA4IDgzMS40NDVoLTY3OS44ODZjLTU5LjM2NSAwLTEwNy40OS00OC4xMjUtMTA3LjQ5LTEwNy40OXYtNjc5Ljg4NmMwLTU5LjM2NSA0OC4xMjUtMTA3LjQ4OSAxMDcuNDktMTA3LjQ4OWg2NzkuODg2YzU5LjM2NSAwIDEwNy40ODggNDguMTI0IDEwNy40ODggMTA3LjQ4OXY2NzkuODg2YzAgNTkuMzY1LTQ4LjEyMyAxMDcuNDktMTA3LjQ4OCAxMDcuNDl2MHoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ4dWFuemhvbmciIHVuaWNvZGU9IiYjNTg5MjA7IiBkPSJNNzYuODgzOTExIDc0Mi44Nzk5M2MwIDQzLjM3MTcyMyAzNS4wODgwNzYgNzguNTMwNDA3IDc4LjUyOTM4NCA3OC41MzA0MDdoNzEwLjYxMjA4YzQzLjM3MTcyMyAwIDc4LjUzMDQwNy0zNS4wODgwNzYgNzguNTMwNDA3LTc4LjUzMDQwN3YtNzEwLjYxMTA1N2MwLTQzLjM3MTcyMy0zNS4wODgwNzYtNzguNTMwNDA3LTc4LjUzMDQwNy03OC41MzA0MDdIMTU1LjQxNDMxOGMtNDMuMzcwNyAwLTc4LjUyOTM4NCAzNS4wODgwNzYtNzguNTI5Mzg0IDc4LjUzMDQwN1Y3NDIuODc5OTNoLTAuMDAxMDIzeiBtNTkuMzI5MTI4LTE3LjkxNjAwOXYtNjc0Ljc3Njk5MmMwLTIwLjUzOTc2MSAxNi41OTA4My0zNy4xMjAzNTggMzcuMTE5MzM1LTM3LjEyMDM1OGg2NzQuNzc4MDE1YzIwLjUzNzcxNCAwIDM3LjExOTMzNSAxNi41ODk4MDcgMzcuMTE5MzM1IDM3LjEyMDM1OHY2NzQuNzc2OTkyYzAgMjAuNTM4NzM4LTE2LjU5MDgzIDM3LjEyMDM1OC0zNy4xMTkzMzUgMzcuMTIwMzU4SDE3My4zMzEzNTFjLTIwLjUzODczOCAwLTM3LjExODMxMi0xNi41OTE4NTQtMzcuMTE4MzEyLTM3LjEyMDM1OHpNNDAwLjU2MDEzMSAxNDMuOTQzMDc5TDE3Ny4yNDI0MTkgMzY3LjIxNjc4OWw0MS4yMTY2NDUgNDEuMTcxNjE5IDIyMy4yNzY3OC0yMjMuMjc2NzgtNDEuMTc1NzEzLTQxLjE2ODU0OXpNMzYzLjI5MTM5NCAxOTMuOTAwNzg3bDQzNy4zMDE4NjcgNDM3LjMwNTk2IDQzLjYwNDAxMy00My41OTY4NS00MzcuMjY3MDc1LTQzNy4zMDM5MTMtMjcuMTc4OTU4IDI3LjEzNzAwMy0xNi40NTk4NDcgMTYuNDU3OHoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpY29uLWRpcmVjdGlvbi1yaWdodCIgdW5pY29kZT0iJiM1OTAwNjsiIGQ9Ik01OTguMDg2IDM2MS40NTFjNi4wNDQgNi4wMjggOS4zNzMgMTQuMDQgOS4zNzMgMjIuNTYgMCA4LjUyMS0zLjMzIDE2LjUyNS05LjM3MSAyMi41MzZMMTgyLjAwNCA4MjIuNjNjLTYuMDM0IDYuMDM0LTE0LjA1MiA5LjM1NC0yMi41NzkgOS4zNDktOC41MTMtMC4wMDUtMTYuNTEtMy4zMjYtMjIuNTE5LTkuMzUxLTYuMDI3LTYuMDQyLTkuMzQ2LTE0LjA1OC05LjM0Ni0yMi41NzEgMC04LjUxNCAzLjMyLTE2LjUyMiA5LjM0OC0yMi41NTFMNTMwLjQxNyAzODQgMTM2LjkxLTkuNTA1OTk5OTk5OTk5OTcyYy02LjAyOC02LjAyOC05LjM0OC0xNC4wNDEtOS4zNDgtMjIuNTYyczMuMzItMTYuNTM0IDkuMzQ4LTIyLjU2MmM2LjAzNC02LjAzNCAxNC4wNTQtOS4zNTQgMjIuNTgtOS4zNDggOC41MTIgMC4wMDYgMTYuNTA4IDMuMzI2IDIyLjUxNCA5LjM0OGw0MTYuMDgyIDQxNi4wODF6TTQxNi41MzcgODAwLjA1N2MwLTguNTE0IDMuMzItMTYuNTIyIDkuMzQ4LTIyLjU1MUw4MTkuMzkyIDM4NCA0MjUuODg1LTkuNTA1OTk5OTk5OTk5OTcyYy02LjAyOC02LjAyOC05LjM0OC0xNC4wNDEtOS4zNDgtMjIuNTYyczMuMzItMTYuNTM0IDkuMzQ4LTIyLjU2MmM2LjAzNC02LjAzNCAxNC4wNTQtOS4zNTQgMjIuNTgtOS4zNDggOC41MTIgMC4wMDYgMTYuNTA4IDMuMzI2IDIyLjUxNCA5LjM0OEw4ODcuMDYgMzYxLjQ1MmM2LjA0NCA2LjAyOCA5LjM3MyAxNC4wNCA5LjM3MyAyMi41NiAwIDguNTIxLTMuMzMgMTYuNTI1LTkuMzcxIDIyLjUzNkw0NzAuOTggODIyLjYzYy02LjAzNCA2LjAzNC0xNC4wNTIgOS4zNTQtMjIuNTc5IDkuMzQ5LTguNTEzLTAuMDA1LTE2LjUxLTMuMzI2LTIyLjUxOS05LjM1MS02LjAyNi02LjA0Mi05LjM0NS0xNC4wNTgtOS4zNDUtMjIuNTcxeiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPgoKICAgIAogICAgPGdseXBoIGdseXBoLW5hbWU9Imljb24tZGlyZWN0aW9uLWxlZnQiIHVuaWNvZGU9IiYjNTkwMDk7IiBkPSJNNDI1LjkwOSA0MDYuNTQ5Yy02LjA0NC02LjAyOC05LjM3My0xNC4wNC05LjM3My0yMi41NiAwLTguNTIxIDMuMzMtMTYuNTI1IDkuMzcxLTIyLjUzNkw4NDEuOTktNTQuNjI5OTk5OTk5OTk5OTk1YzYuMDM0LTYuMDM0IDE0LjA1Mi05LjM1NCAyMi41NzktOS4zNDkgOC41MTMgMC4wMDUgMTYuNTEgMy4zMjYgMjIuNTE4IDkuMzUxIDYuMDI3IDYuMDQyIDkuMzQ2IDE0LjA1OCA5LjM0NiAyMi41NzEgMCA4LjUxMy0zLjMyIDE2LjUyMi05LjM0OCAyMi41NTFMNDkzLjU3NyAzODRsMzkzLjUwOCAzOTMuNTA3YzYuMDI4IDYuMDI4IDkuMzQ4IDE0LjA0MSA5LjM0OCAyMi41NjJzLTMuMzIgMTYuNTM0LTkuMzQ4IDIyLjU2MmMtNi4wMzQgNi4wMzQtMTQuMDU0IDkuMzU0LTIyLjU4IDkuMzQ4LTguNTEyLTAuMDA2LTE2LjUwOC0zLjMyNi0yMi41MTQtOS4zNDhMNDI1LjkwOSA0MDYuNTQ5ek02MDcuNDU3LTMyLjA1NzAwMDAwMDAwMDAxNmMwIDguNTEzLTMuMzIgMTYuNTIyLTkuMzQ4IDIyLjU1MUwyMDQuNjAyIDM4NCA1OTguMTEgNzc3LjUwNzAwMDAwMDAwMDFjNi4wMjggNi4wMjggOS4zNDggMTQuMDQxIDkuMzQ4IDIyLjU2MnMtMy4zMiAxNi41MzQtOS4zNDggMjIuNTYyYy02LjAzNCA2LjAzNC0xNC4wNTQgOS4zNTQtMjIuNTggOS4zNDgtOC41MTItMC4wMDYtMTYuNTA4LTMuMzI2LTIyLjUxNC05LjM0OEwxMzYuOTM0IDQwNi41NDljLTYuMDQ0LTYuMDI4LTkuMzczLTE0LjA0LTkuMzczLTIyLjU2IDAtOC41MjEgMy4zMy0xNi41MjUgOS4zNzEtMjIuNTM2TDU1My4wMTUtNTQuNjI5OTk5OTk5OTk5OTk1YzYuMDM0LTYuMDM0IDE0LjA1Mi05LjM1NCAyMi41NzktOS4zNDkgOC41MTMgMC4wMDUgMTYuNTEgMy4zMjYgMjIuNTE4IDkuMzUxIDYuMDI3IDYuMDQyIDkuMzQ1IDE0LjA1OSA5LjM0NSAyMi41NzF6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ieW91MSIgdW5pY29kZT0iJiM1OTE0OTsiIGQ9Ik03MjEuOTIgNDAxLjkybC0zODQgMzg0Yy0xMC4yNCAxMC4yNC0yNS42IDEwLjI0LTM1Ljg0IDBzLTEwLjI0LTI1LjYgMC0zNS44NEw2NjguMTYgMzg0IDMwMi4wOCAxNy45MTk5OTk5OTk5OTk5NmMtMTAuMjQtMTAuMjQtMTAuMjQtMjUuNiAwLTM1Ljg0czI1LjYtMTAuMjQgMzUuODQgMGwzODQgMzg0YzEwLjI0IDEwLjI0IDEwLjI0IDI1LjYgMCAzNS44NHoiICBob3Jpei1hZHYteD0iMTAyNCIgLz4KCiAgICAKICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ6dW83IiB1bmljb2RlPSImIzU5MTUxOyIgZD0iTTM1NS44NCAzODRMNzIxLjkyIDc1MC4wOGMxMC4yNCAxMC4yNCAxMC4yNCAyNS42IDAgMzUuODQtMTAuMjQgMTAuMjQtMjUuNiAxMC4yNC0zNS44NCAwbC0zODQtMzg0Yy0xMC4yNC0xMC4yNC0xMC4yNC0yNS42IDAtMzUuODRsMzg0LTM4NGMxMC4yNC0xMC4yNCAyNS42LTEwLjI0IDM1Ljg0IDBzMTAuMjQgMjUuNiAwIDM1Ljg0TDM1NS44NCAzODR6IiAgaG9yaXotYWR2LXg9IjEwMjQiIC8+CgogICAgCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idGltZXMiIHVuaWNvZGU9IiYjNTg4ODA7IiBkPSJNOTA3LjUxIDY3LjU5NTAwMDAwMDAwMDAzbC03OS4xMDEtNzkuMTAyLTMxNi40MDYgMzE2LjQwNS0zMTYuNDA1LTMxNi40MDUtNzkuMTA0IDc5LjEwMkw0MzIuODk5IDM4NCAxMTYuNDk0IDcwMC40MDVsNzkuMTA0IDc5LjA5OSAzMTYuNDA1LTMxNi40MDVMODI4LjQxIDc3OS41MDRsNzkuMDk4LTc5LjA5OUw1OTEuMTAyIDM4NGwzMTYuNDA1LTMxNi40MDV6IiAgaG9yaXotYWR2LXg9IjEwMjUiIC8+CgogICAgCgoKICA8L2ZvbnQ+CjwvZGVmcz48L3N2Zz4K?t=1530004230003#iconfont\") format(\"svg\")}.sp-iconfont{font-family:sp-iconfont!important;font-size:14px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sp-icon-warning:before{content:\"\\E663\"}.sp-icon-clear:before{color:red;content:\"\\E74B\"}.sp-icon-unselect-all:before{content:\"\\E634\"}.sp-icon-select-all:before{content:\"\\E628\"}.sp-icon-last:before{content:\"\\E67E\"}.sp-icon-first:before{content:\"\\E681\"}.sp-icon-next:before{content:\"\\E70D\"}.sp-icon-previous:before{content:\"\\E70F\"}.sp-icon-close:before{content:\"\\E600\"}.ivu-form-item-error div.v-selectpage div.sp-input-container div.sp-base{border:1px solid #ed4014}div.v-selectpage{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,\\\\5FAE\\8F6F\\96C5\\9ED1,Arial,sans-serif;box-sizing:border-box}div.v-selectpage div.sp-input-container{position:relative}div.v-selectpage div.sp-input-container span.sp-placeholder{color:#aaa}div.v-selectpage div.sp-input-container.sp-open div.sp-input,div.v-selectpage div.sp-input-container.sp-open div.sp-inputs{border:1px solid #bdcaf1;color:#000;border-radius:2px}div.v-selectpage div.sp-input-container.sp-open div.sp-input{background-color:#f9f9f9}div.v-selectpage div.sp-input-container.sp-disabled div.sp-input,div.v-selectpage div.sp-input-container.sp-disabled div.sp-inputs{cursor:not-allowed;color:#aaa;background-color:#eee}div.v-selectpage div.sp-input-container.sp-disabled div.sp-button{cursor:not-allowed}div.v-selectpage div.sp-input-container div.sp-base{display:block;height:30px;padding:6px 10px;font-size:15px;line-height:1;color:#515a6e;background-color:#fff;background-image:none;border:1px solid #dcdee2;border-radius:4px;text-align:left;-webkit-box-shadow:none;box-shadow:none;will-change:border-color,box-shadow,background-color;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out,background-color .3s ease-in-out;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,background-color ease-in-out .3s;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,background-color .3s ease-in-out;box-sizing:border-box}div.v-selectpage div.sp-input-container div.sp-input{background-color:#fff;cursor:pointer;color:#515a6e;opacity:1}div.v-selectpage div.sp-input-container div.sp-inputs{padding:5px 24px 0 5px;position:relative;overflow:hidden;cursor:pointer;list-style:none;height:auto;min-height:32px;font-size:14px}div.v-selectpage div.sp-input-container div.sp-inputs span.sp-placeholder{margin-left:9px;margin-top:3px;display:inline-block}div.v-selectpage div.sp-input-container div.sp-inputs span.sp-selected-tag{list-style:none;padding:2px 8px;margin:0 3px 3px 0;float:left;position:relative;box-sizing:content-box;border-radius:3px;background-color:#efefef;cursor:pointer;max-width:100%;line-height:1.42;-webkit-transition:all .5s cubic-bezier(.175,.885,.32,1);transition:all .5s cubic-bezier(.175,.885,.32,1)}div.v-selectpage div.sp-input-container div.sp-inputs span.sp-selected-tag:hover{background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.25)}div.v-selectpage div.sp-input-container div.sp-inputs span.sp-selected-tag i{font-size:14px;color:#aaa;margin-left:3px}div.v-selectpage div.sp-input-container div.sp-inputs span.sp-selected-tag i:hover{color:#000}div.v-selectpage div.sp-input-container div.sp-clear{position:absolute;top:0;right:25px;display:block;width:auto;height:100%;cursor:pointer;font-size:20px;color:#999;font-weight:600;margin:0;padding:4px 0 0;box-sizing:border-box;line-height:1}div.v-selectpage div.sp-input-container div.sp-clear i{font-size:12px}div.v-selectpage div.sp-input-container div.sp-clear:hover{color:#000;font-weight:700}div.v-selectpage div.sp-input-container div.sp-button{display:inline-block;border-bottom-right-radius:0;border-top-right-radius:0;cursor:pointer;text-align:center;box-sizing:border-box;border:0;width:24px;height:100%;padding:0;vertical-align:middle;line-height:100%;position:absolute;top:0;right:0}div.v-selectpage div.sp-input-container div.sp-button span.sp-caret{position:absolute;top:50%;right:12px;margin-top:-1px;vertical-align:middle;display:inline-block;width:0;height:0;margin-left:2px;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;transition:transform .2s ease}div.v-selectpage div.sp-input-container div.sp-button.open span.sp-caret{transform:rotate(180deg)}div.sp-header{background-color:#fff;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,\\\\5FAE\\8F6F\\96C5\\9ED1,Arial,sans-serif}div.sp-header>h3{margin:6px 100px 0 10px;text-align:left;height:18px;color:#24292e;font-size:14px;font-weight:500;white-space:nowrap}div.sp-header button{position:absolute;padding:0;cursor:pointer;background:0 0;border:0;outline:none;line-height:100%;color:#999;top:3px;font-size:21px}div.sp-header button.sp-close-btn{right:9px}div.sp-header button.sp-remove-all-btn{right:55px}div.sp-header button.sp-select-all-btn{right:81px}div.sp-header button.sp-clear-all-btn{right:31px}div.sp-header button:hover{color:#000}.sp-search{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,\\\\5FAE\\8F6F\\96C5\\9ED1,Arial,sans-serif;padding:10px;background-color:#fff}.sp-search .sp-search-input{display:block;background-color:#fff;margin:0!important;width:100%;font-size:14px;line-height:20px;padding:4px 28px;box-sizing:border-box;outline:none!important;height:30px;border-radius:4px;border:1px solid #ddd;background-image:url(\"data:image/png;base64,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\");background-repeat:no-repeat;background-size:20px;background-position:5px;will-change:border-color,box-shadow,background-color;transition:border-color .3s ease-in-out,box-shadow .3s ease-in-out,background-color .3s ease-in-out}.sp-search .sp-search-input:focus{border:3px solid #fff}.sp-search .sp-search-input.sp-search-input--rtl{direction:rtl}div.sp-result-area{background-color:#fff;min-width:300px;max-height:320px;overflow-y:auto;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,\\\\5FAE\\8F6F\\96C5\\9ED1,Arial,sans-serif}div.sp-result-area ul.sp-results{background-color:#fff;list-style:none;margin:0;padding:0;max-height:300px;overflow-y:auto}div.sp-result-area ul.sp-results li{position:relative;line-height:1.5;padding:6px 10px 6px 20px;font-size:14px;color:#333;cursor:pointer;transition:background-color .2s}div.sp-result-area ul.sp-results li[data-level=\"1\"]{padding-left:30px}div.sp-result-area ul.sp-results li[data-level=\"2\"]{padding-left:35px}div.sp-result-area ul.sp-results li[data-level=\"3\"]{padding-left:40px}div.sp-result-area ul.sp-results li.sp-has-children{padding-left:30px}div.sp-result-area ul.sp-results li.sp-has-children>.sp-arrow{position:absolute;left:10px;top:11px;transform:rotate(-90deg);width:10px;height:10px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #666;transition:transform .2s;cursor:pointer}.sp-selected{background-color:#f0f7ff;color:#0083ff}.sp-arrow{transition:transform .2s}.sp-expanded .sp-arrow{transform:rotate(90deg)}div.sp-result-area ul.sp-results li.sp-expanded>.sp-arrow{transform:translateY(50%)}div.sp-result-area ul.sp-results .sp-sub-list{list-style:none;padding-left:15px;margin:0;overflow:hidden;transition:max-height .3s ease}div.sp-result-area ul.sp-results li .sp-item-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 0}div.sp-result-area ul.sp-results li.sp-over{background-color:#d6ebff!important;color:#000!important}div.sp-result-area ul.sp-results li.sp-selected{color:#0083ff;background-color:#f0f7ff}div.sp-result-area ul.sp-results li:hover{background-color:#f5f5f5}div.sp-result-area div.sp-result-message{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,\\\\5FAE\\8F6F\\96C5\\9ED1,Arial,sans-serif;padding:10px;font-size:14px;text-align:center}div.sp-result-area table.sp-table{width:100%;border-spacing:0}div.sp-result-area table.sp-table td,div.sp-result-area table.sp-table th{font-size:14px;line-height:1.43;border:0!important}div.sp-result-area table.sp-table th{padding:0 8px 5px;font-weight:600;font-size:15px;color:#333;text-align:left}div.sp-result-area table.sp-table td{padding:4px 8px;color:#333}div.sp-result-area table.sp-table tbody tr.sp-over td{background-color:#d6ebff!important;color:#000!important;cursor:pointer}div.sp-result-area table.sp-table tbody tr.sp-selected td{color:#0083ff;cursor:default}div.sp-result-area table.sp-table tbody tr.sp-rtl td,div.sp-result-area table.sp-table thead tr.sp-rtl th{direction:rtl;text-align:right}div.sp-pagination{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,\\\\5FAE\\8F6F\\96C5\\9ED1,Arial,sans-serif;padding:0;background-color:#fff;position:relative;border-bottom-left-radius:2px;border-bottom-right-radius:2px;text-align:center;font-size:14px}div.sp-pagination div.sp-page-info{height:38px;line-height:38px;font-weight:400;color:#333}div.sp-pagination ul{position:absolute;top:0;padding:0;margin:0;text-align:left;border-bottom-left-radius:2px;border-bottom-right-radius:2px;width:100%;height:100%;line-height:38px;background:rgba(226,239,253,.3)}div.sp-pagination ul li{display:inline-block;text-align:center}div.sp-pagination ul li a{display:inline-block;padding:7px 7px 5px;font-size:14px;color:#0576f3;text-decoration:none;cursor:pointer;height:28px;line-height:1;background:transparent;font-weight:700}div.sp-pagination ul li a:hover{color:#3179f5;font-weight:700}div.sp-pagination ul li.sp-right{float:right}div.sp-pagination ul lifirst-child{border-bottom-left-radius:2px}div.sp-pagination ul lilast-child{border-bottom-right-radius:2px}div.sp-pagination ul li.sp-disabled a{color:#666;font-weight:400}div.sp-message{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,\\\\5FAE\\8F6F\\96C5\\9ED1,Arial,sans-serif;padding:10px;position:relative;background-color:#e4eaee;color:#000}div.sp-message i{position:absolute;top:6px;font-size:22px}div.sp-message span{margin-left:3px;font-size:14px}.sp-message-slide-enter-active,.sp-message-slide-leave-active{transition:opacity .3s}.sp-message-slide-enter,.sp-message-slide-leave-to{opacity:0}.sp-message-slide-enter-to,.sp-message-slide-leave{opacity:1}", ""]);

// exports


/***/ }),
/* 7 */
/***/ (function(module, exports) {

/**
 * Translates the list format produced by css-loader into something
 * easier to manipulate.
 */
module.exports = function listToStyles (parentId, list) {
  var styles = []
  var newStyles = {}
  for (var i = 0; i < list.length; i++) {
    var item = list[i]
    var id = item[0]
    var css = item[1]
    var media = item[2]
    var sourceMap = item[3]
    var part = {
      id: parentId + ':' + i,
      css: css,
      media: media,
      sourceMap: sourceMap
    }
    if (!newStyles[id]) {
      styles.push(newStyles[id] = { id: id, parts: [part] })
    } else {
      newStyles[id].parts.push(part)
    }
  }
  return styles
}


/***/ }),
/* 8 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__styles_dropdown_css__ = __webpack_require__(9);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__styles_dropdown_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__styles_dropdown_css__);
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }



/* harmony default export */ __webpack_exports__["a"] = ({
  name: 'v-dropdown',
  props: {
    align: {
      type: String,
      default: 'left'
    },
    embed: {
      type: Boolean,
      default: false
    },
    border: {
      type: Boolean,
      default: true
    },
    rightClick: {
      type: Boolean,
      default: false
    },
    toggle: {
      type: Boolean,
      default: true
    },
    manual: {
      type: Boolean,
      default: false
    },
    disabled: {
      type: Boolean,
      default: false
    },
    animated: {
      type: [String, Boolean],
      default: true
    },
    width: Number,
    dropWidth: Number,
    dropClass: '',
    fullWidth: {
      type: Boolean,
      default: false
    }
  },
  data: function data() {
    return {
      show: false,
      styleSheet: { top: '', left: '' },
      dropdownClass: 'v-dropdown-container',
      dropUp: false,
      x: null,
      y: null
    };
  },

  computed: {
    animate: function animate() {
      if (typeof this.animated === 'string') return this.animated;
      if (!this.embed && this.animated) return this.dropUp ? 'animate-up' : 'animate-down';
      return '';
    }
  },
  render: function render(h) {
    var _class,
        _this = this;

    var children = [];
    if ('caller' in this.$scopedSlots && !this.embed) {
      children.push(this.$scopedSlots.caller());
    }
    children.push(h('transition', {
      props: {
        name: this.animate
      }
    }, [h('div', {
      class: (_class = {}, _defineProperty(_class, this.dropClass, this.dropClass !== ''), _defineProperty(_class, this.dropdownClass, true), _defineProperty(_class, 'v-dropdown-embed', this.embed), _defineProperty(_class, 'v-dropdown-no-border', !this.border), _class),
      style: this.styleSheet,
      directives: [{ name: 'show', value: this.show }],
      ref: 'dropdown',
      on: {
        mousedown: function mousedown(e) {
          e.stopPropagation();
        }
      }
    }, this.$slots.default)]));
    return h('div', {
      class: {
        'v-dropdown-caller': true,
        'v-dropdown-caller--full-width': this.fullWidth
      },
      on: {
        click: function click(e) {
          if (_this.embed || _this.rightClick || _this.manual) return;
          e.stopPropagation();
          _this.visible();
        },
        // 鼠标点击
        contextmenu: function contextmenu(e) {
          if (_this.embed || _this.manual || !_this.rightClick) return;
          e.stopPropagation();
          e.preventDefault();

          var info = _this.scrollInfo();
          _this.x = e.pageX || e.clientX + info.x;
          _this.y = e.pageY || e.clientY + info.y;
          _this.visible();
        }
      }
    }, children);
  },

  methods: {
    visible: function visible() {
      var outside = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

      if (this.disabled) return;
      if (this.show && !this.toggle && !outside) return;
      // 计算向上或者向下展示
      if (!this.show && !this.embed && this.$slots.caller) this.adjust();

      this.show = !this.show;
      this.$emit('show', this.show);
    },

    /**
     * 点击其他位置隐藏
     */
    whole: function whole(e) {
      var _this2 = this;

      if (this.show) {
        var inCaller = this.eventPath(e).findIndex(function (val) {
          return val === _this2.$el;
        }) !== -1;
        if (inCaller && !this.toggle && !this.rightClick) return;
        if (!inCaller || inCaller && this.rightClick) {
          this.visible(true);
        }
      }
    },

    /**
     * 调整下拉显示位置
     */
    adjust: function adjust() {
      var pos = this.$el.getBoundingClientRect();
      var menu = null;

      if (this.show) menu = this.$refs.dropdown.getBoundingClientRect();else {
        this.$refs.dropdown.style.visibility = 'hidden';
        this.$refs.dropdown.style.display = 'inline-block';
        menu = this.$refs.dropdown.getBoundingClientRect();
        // 获取位置数据后恢复下拉样式
        this.$refs.dropdown.style.visibility = 'visible';
        this.$refs.dropdown.style.display = 'none';
      }

      this.adjustTop(pos, menu);
      this.styleSheet.left = this.adjustLeft(pos, menu) + 'px';
      this.styleSheet.width = pos.width + 'px';
    },

    /**
     * 计算顶部方向
     */
    adjustTop: function adjustTop(pos, menu) {
      var gap = 5;
      var scrollTop = window.pageYOffset;
      var viewHeight = document.documentElement.clientHeight;
      var srcTop = this.rightClick ? this.y : pos.top + scrollTop;
      var t = this.rightClick ? this.y : pos.top + pos.height + gap + scrollTop;
      var overDown = false;var overUp = false;var up = false;
      if (t + menu.height + 20 > scrollTop + viewHeight) overDown = true;
      if (srcTop - gap - menu.height < scrollTop) overUp = true;

      if (!overUp && overDown) {
        t = srcTop - gap - menu.height;
        up = true;
      }
      this.dropUp = up;
      this.styleSheet.top = t + 'px';
      if (pos.top < 60 || pos.top > document.documentElement.clientHeight) {
        this.$refs.dropdown.style.display = 'none';
      } else {
        if (this.show) {
          this.$refs.dropdown.style.display = 'inline-block';
        }
      }
    },
    adjustLeft: function adjustLeft(pos, menu) {
      var scrollLeft = window.pageXOffset;var viewWid = document.documentElement.clientWidth;
      var wid = this.rightClick ? 0 : pos.width;
      var left = this.rightClick ? this.x : pos.left + scrollLeft;
      var center = left + wid / 2 - menu.width / 2;
      var right = left + wid - menu.width;

      switch (this.align) {
        case 'left':
          return left + menu.width > scrollLeft + viewWid ? right : left;
        case 'center':
          if (center + menu.width > scrollLeft + viewWid) return right;else if (right < scrollLeft) return left;else return center;
        case 'right':
          return right < scrollLeft ? left : right;
      }
    },
    scrollInfo: function scrollInfo() {
      var supportPageOffset = window.pageXOffset !== undefined;
      var isCSS1Compat = (document.compatMode || '') === 'CSS1Compat';

      return {
        x: supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft,
        y: supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop
      };
    },

    /**
     * 返回事件的路径,该路径是将在其上调用侦听器的对象数组
     */
    eventPath: function eventPath(e) {
      if ('composedPath' in e) return e.composedPath();
      if ('path' in e) return e.path;
      var path = [];
      var currentElem = e.target;
      while (currentElem) {
        path.push(currentElem);
        currentElem = currentElem.parentElement;
      }
      if (path.indexOf(window) === -1 && path.indexOf(document) === -1) path.push(document);
      if (path.indexOf(window) === -1) path.push(window);
      return path;
    },
    isIE: function isIE() {
      // ie?
      if (!!window.ActiveXObject || 'ActiveXObject' in window) {
        return true;
      } else {
        return false;
      }
    }
  },
  mounted: function mounted() {
    if (this.width) this.styleSheet.width = this.width + 'px';
    if (this.embed) this.visible();else {
      // this.$refs.dropdown.parentElement.appendChild(this.$refs.dropdown)
      document.body.appendChild(this.$refs.dropdown);
      document.body.addEventListener('mousedown', this.whole);
    }
    if (this.dropWidth > 0) this.styleSheet['min-width'] = this.dropWidth + 'px';
    window.addEventListener('scroll', this.adjust, true);
  },
  beforeDestroy: function beforeDestroy() {
    // 删除下拉层
    if (!this.embed) {
      document.body.removeEventListener('mousedown', this.whole);
      if (this.isIE()) {
        this.$refs.dropdown.removeNode(true);
      } else {
        this.$refs.dropdown.remove();
      }
      //
    }
    window.removeEventListener('scroll', this.adjust, true);
  },
  destroyed: function destroyed() {
    if (!this.embed) {
      if (this.isIE()) {
        this.$el.removeNode(true);
      } else {
        this.$el.remove();
      }
    }
  }
});

/***/ }),
/* 9 */
/***/ (function(module, exports, __webpack_require__) {

// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(10);
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var update = __webpack_require__(1)("f94d1d88", content, true);

/***/ }),
/* 10 */
/***/ (function(module, exports, __webpack_require__) {

exports = module.exports = __webpack_require__(0)(false);
// imports


// module
exports.push([module.i, "div.v-dropdown-caller{display:inline-block;width:100%}div.v-dropdown-container{display:inline-block;margin:0;padding:0;top:0;left:0;border:1px solid #d6d7d7;position:absolute;box-sizing:border-box;background-color:#fff;-webkit-border-radius:2px;border-radius:2px;overflow:hidden;z-index:3000;-webkit-box-shadow:0 3px 12px rgba(0,0,0,.2);-moz-box-shadow:0 3px 12px rgba(0,0,0,.2);box-shadow:0 3px 12px rgba(0,0,0,.2);will-change:opacity,transform}div.v-dropdown-container.v-dropdown-embed{position:relative;box-shadow:0 1px 6px rgba(0,0,0,.12)!important;z-index:100}div.v-dropdown-container.v-dropdown-no-border{border:0;box-shadow:0 0 3px 0 #5371de}.animate-down-enter,.animate-down-leave-to{-webkit-transform:translateY(-6px);transform:translateY(-6px);opacity:0}.animate-up-enter,.animate-up-leave-to{-webkit-transform:translateY(6px);transform:translateY(6px);opacity:0}.animate-down-enter-active,.animate-down-leave-active,.animate-up-enter-active,.animate-up-leave-active{-webkit-transition:opacity 50ms,transform 50ms;transition:opacity 50ms,transform 50ms}.animate-down-enter-to,.animate-down-leave,.animate-up-enter-to,.animate-up-leave{-webkit-transform:none;transform:none;opacity:1}", ""]);

// exports


/***/ }),
/* 11 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony default export */ __webpack_exports__["a"] = ({
  name: 'SelectPageTag',
  props: {
    picked: Array,
    disabled: Boolean,
    placeholder: String
  },
  inject: ['renderCell'],
  render: function render(h) {
    var _this = this;

    var tags = [];
    if (this.picked.length) {
      this.picked.forEach(function (val, index) {
        var tag = [];
        // tag content
        tag.push(h('span', {
          domProps: {
            innerHTML: _this.renderCell(val)
          }
        }));
        if (!_this.disabled) {
          tag.push(h('span', {
            on: {
              click: function click(e) {
                e.stopPropagation();
                _this.remove(index);
              }
            }
          }, [h('i', { class: 'sp-iconfont sp-icon-close' })]));
        }
        tags.push(h('span', { class: 'sp-selected-tag', key: index }, tag));
      });
    } else {
      tags.push(h('span', { class: 'sp-placeholder' }, this.placeholder));
    }
    return h('div', { class: 'sp-base sp-inputs' }, tags);
  },

  methods: {
    remove: function remove(index) {
      this.$emit('remove', index);
    }
  }
});

/***/ }),
/* 12 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony default export */ __webpack_exports__["a"] = ({
  name: 'SelectPageSelect',
  props: {
    picked: Array,
    disabled: Boolean,
    clear: Boolean,
    placeholder: String
  },
  inject: ['i18n', 'renderCell'],
  render: function render(h) {
    var _this = this;

    var children = [];
    var result = null;
    if (this.picked && this.picked.length) {
      result = h('span', { domProps: { innerHTML: this.renderCell(this.picked[0]) } });
    } else {
      result = h('span', { class: 'sp-placeholder' }, this.placeholder);
    }
    children.push(h('div', { class: 'sp-base sp-input' }, [result]));
    // clear button
    if (this.clear && this.picked && this.picked.length && !this.disabled) {
      children.push(h('div', {
        class: 'sp-clear',
        attrs: {
          title: this.i18n.clear
        },
        on: {
          click: function click(e) {
            e.stopPropagation();
            _this.remove();
          }
        }
      }, [h('i', { class: 'sp-iconfont sp-icon-close' })]));
    }
    return h('div', children);
  },

  methods: {
    remove: function remove() {
      this.$emit('remove');
    }
  }
});

/***/ }),
/* 13 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
var FIRST = 1;
/* harmony default export */ __webpack_exports__["a"] = ({
  name: 'SelectPagePagination',
  render: function render(h) {
    var _this = this;

    var list = [];
    /**
     * 计算页码
     */

    var genItem = function genItem(classes, title, action) {
      return h('li', {
        class: classes,
        attrs: {
          title: title
        }
      }, [h('a', {
        attrs: { href: 'javascript:void(0);' },
        on: { click: function click() {
            return _this.switchPage(action);
          } }
      }, [h('i', { class: 'sp-iconfont sp-icon-' + action })])]);
    };
    list.push(genItem({ 'sp-disabled': this.value === FIRST }, this.i18n.first, 'first'));
    list.push(genItem({ 'sp-disabled': this.value === FIRST }, this.i18n.prev, 'previous'));
    list.push(genItem({ 'sp-disabled': this.value === this.totalPage, 'sp-right': true }, this.i18n.last, 'last'));
    list.push(genItem({ 'sp-disabled': this.value === this.totalPage, 'sp-right': true }, this.i18n.next, 'next'));

    return h('div', { class: 'sp-pagination' }, [h('div', { class: 'sp-page-info' }, [h('span', this.pageInfo.page_num_text), h('span', { style: { 'color': '#3179F5', 'font-weight': 'bold' } }, this.pageInfo.page_num), h('span', this.pageInfo.page_count_text), h('span', { style: { 'color': '#3179F5', 'font-weight': 'bold' } }, this.pageInfo.page_count), h('span', { style: { 'margin-right': '5px' } }, this.pageInfo.page_count_label), h('span', this.pageInfo.row_count_text), h('span', { style: { 'color': '#3179F5', 'font-weight': 'bold' } }, this.pageInfo.row_count), h('span', this.pageInfo.row_count_label)]), h('ul', list)]);
  },

  props: {
    value: {
      type: Number,
      default: 1
    },
    pageSize: Number,
    totalRow: Number
  },
  inject: ['i18n'],
  data: function data() {
    return {
      lastNumber: -1
    };
  },

  computed: {
    pageInfo: function pageInfo() {
      return {
        page_num_text: '第',
        page_num: this.value,
        page_count_text: ' / ',
        page_count: this.totalPage,
        page_count_label: ' 页 ',
        row_count_text: '( 共 ',
        row_count: this.totalRow,
        row_count_label: ' 条记录 )'

        // this.i18n.page_info
        //    .replace('page_num', this.value)
        //      .replace('page_count', this.totalPage)
        //      .replace('row_count', this.totalRow)
      };
    },
    totalPage: function totalPage() {
      return Math.ceil(this.totalRow / this.pageSize);
    }
  },
  methods: {
    getPageNumber: function getPageNumber(action) {
      switch (action) {
        case 'first':
          return FIRST;
        case 'previous':
          return this.value > FIRST ? this.value - 1 : FIRST;
        case 'next':
          return this.value < this.totalPage ? this.value + 1 : this.totalPage;
        case 'last':
          return this.totalPage;
      }
    },
    switchPage: function switchPage(action) {
      var pageNumber = this.getPageNumber(action);
      // if (pageNumber === this.lastNumber) return
      if (pageNumber) this.$emit('input', pageNumber);
      this.lastNumber = pageNumber;
    }
  }
});

/***/ }),
/* 14 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_view__ = __webpack_require__(2);
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }



/* harmony default export */ __webpack_exports__["a"] = ({
  name: 'SelectPageList',
  mixins: [__WEBPACK_IMPORTED_MODULE_0__mixins_view__["a" /* default */]],
  data: function data() {
    return {
      expandedKeys: new Set(),
      selectedKeys: new Set(),
      newList: [{
        'name': '超级管理员',
        'code': '512501196512305186',
        'jpcode': 'null',
        'scode': ''
      }, {
        'name': '测试用户',
        'code': '512501196512305185',
        'jpcode': 'null',
        'scode': '',
        'subTreeData': [{
          'name': '测试用户01',
          'code': '512501196512305185',
          'jpcode': 'null',
          'scode': ''
        }, {
          'name': '测试用户02',
          'code': '512501196512305110',
          'jpcode': 'null',
          'scode': '',
          'subTreeData': [{
            'name': '测试用户02-01',
            'code': '512501196512305112',
            'jpcode': 'null',
            'scode': ''
          }, {
            'name': '测试用户02-02',
            'code': '512501196512305113',
            'jpcode': 'null',
            'scode': '',
            'subTreeData': []
          }]
        }, {
          'name': '测试用户03',
          'code': '512501196512305187',
          'jpcode': 'null',
          'scode': ''
        }]
      }, {
        'name': '总队1',
        'code': '510183199002026763',
        'jpcode': 'null',
        'scode': ''
      }, {
        'name': '总队2',
        'code': '510183199002026764',
        'jpcode': 'null',
        'scode': ''
      }, {
        'name': '二看所领导',
        'code': '420684199002026706',
        'jpcode': 'null',
        'scode': '',
        'subTreeData': [{
          'name': '二看所领导-01',
          'code': '512501196512305701',
          'jpcode': 'null',
          'scode': ''
        }, {
          'name': '二看所领导-02',
          'code': '512501196512305702',
          'jpcode': 'null',
          'scode': ''
        }]
      }, {
        'name': '二看参评人',
        'code': '420684199002026714',
        'jpcode': 'null',
        'scode': ''
      }, {
        'name': '三看参评人01',
        'code': '510183199002026767',
        'jpcode': 'null',
        'scode': ''
      }, {
        'name': '三看参评人02',
        'code': '510183199002026768',
        'jpcode': 'null',
        'scode': ''
      }, {
        'name': '一看所领导',
        'code': '420684199002026722',
        'jpcode': 'null',
        'scode': ''
      }, {
        'name': '一看参评人',
        'code': '420684199002026749',
        'jpcode': 'null',
        'scode': ''
      }, {
        'name': '超级管理员',
        'code': '512501196512305181',
        'jpcode': 'null',
        'scode': ''
      }, {
        'name': '超级管理员',
        'code': '512501196512305180',
        'jpcode': 'null',
        'scode': ''
      }, {
        'name': '超级管理员',
        'code': '512501196512305188',
        'jpcode': 'null',
        'scode': ''
      }, {
        'name': '超级管理员',
        'code': '512501196512305117',
        'jpcode': 'null',
        'scode': ''
      }]
    };
  },

  methods: {
    generateKey: function generateKey(item, level, index) {
      return item.code + '-' + level + '-' + index;
    },


    // 递归查找选中项的路径
    findSelectedPaths: function findSelectedPaths(items, selectedCodes) {
      var _this = this;

      var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
      var currentPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];

      // console.log(items);
      // debugger
      var paths = [];

      items.forEach(function (item, index) {
        var key = _this.generateKey(item, level, index);
        var newPath = [].concat(_toConsumableArray(currentPath), [key]);

        if (selectedCodes.includes(item.code)) {
          paths.push(newPath);
        }

        if (item.subTreeData && item.subTreeData.length) {
          paths.push.apply(paths, _toConsumableArray(_this.findSelectedPaths(item.subTreeData, selectedCodes, level + 1, newPath)));
        }
      });

      return paths;
    },

    // 切换展开状态
    toggleExpand: function toggleExpand(key) {
      var newSet = new Set(this.expandedKeys);
      if (newSet.has(key)) {
        newSet.delete(key);
      } else {
        newSet.add(key);
      }
      this.expandedKeys = newSet;
    },


    // 设置选中项
    setSelected: function setSelected(item, key) {
      this.selectedKeys = new Set([key]);
      // debugger
      this.rowClick(item);

      // 更新展开路径
      this.updateExpandedPaths();
    },
    updateExpandedPaths: function updateExpandedPaths() {
      var _this2 = this;

      this.expandedKeys = new Set();

      var selectedCodes = Array.from(this.selectedKeys).map(function (key) {
        console.log(key);
        return key.split('-')[0]; // 从key中提取code
      });

      // 查找所有已选中项的路径
      var allPaths = this.findSelectedPaths(this.list, selectedCodes);

      // 展开所有路径的父级
      allPaths.forEach(function (path) {
        path.slice(0, -1).forEach(function (k) {
          return _this2.expandedKeys.add(k);
        });
      });
    },


    // 处理数据,标记选中状态
    processData: function processData(items) {
      var _this3 = this;

      var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;

      return items.map(function (item, index) {
        var key = _this3.generateKey(item, level, index);
        var isSelected = _this3.selectedKeys.has(key);

        var processed = _extends({}, item, {
          _key: key,
          _level: level,
          _isSelected: isSelected
        });

        if (item.subTreeData && item.subTreeData.length) {
          processed.subTreeData = _this3.processData(item.subTreeData, level + 1);
        }

        return processed;
      });
    },
    renderItem: function renderItem(h, item) {
      var _this4 = this;

      var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;

      var hasChildren = item.subTreeData && item.subTreeData.length > 0;
      var isExpanded = this.expandedKeys.has(item._key);

      return h('li', {
        class: [this.rowClass(item, level), _defineProperty({
          'sp-has-children': hasChildren,
          'sp-expanded': isExpanded,
          'sp-selected': item.isSelected
        }, 'sp-level-' + level, true)],
        key: item._key,
        attrs: { title: item[this.showField] || '' }
      }, [h('div', {
        class: 'sp-item-content',
        on: {
          click: function click(e) {
            e.stopPropagation();
            // console.log(item);
            // debugger
            _this4.setSelected(item, item._key);
          }
        },
        domProps: { innerHTML: this.renderCell(item) }
      }), hasChildren && h('span', {
        class: 'sp-arrow',
        on: {
          click: function click(e) {
            e.stopPropagation();
            _this4.toggleExpand(item._key);
          }
        }
      }), hasChildren && isExpanded && h('ul', {
        class: 'sp-sub-list'
      }, item.subTreeData.map(function (child) {
        return _this4.renderItem(h, child, level + 1);
      }))]);
    }
  },
  computed: {
    processedList: function processedList() {
      return this.processData(this.list);
    }
  },
  mounted: function mounted() {
    console.log(this.picked);
  },

  watch: {
    // 监听选中项的变化
    picked: {
      immediate: true,
      handler: function handler(newVal) {
        var _this5 = this;

        // debugger
        if (Array.isArray(newVal)) {
          // 初始化选中状态
          this.selectedKeys = new Set();
          var selectedCodes = newVal.map(function (item) {
            return item.code;
          });

          // 查找所有选中项的key
          var allKeys = [];
          var findKeys = function findKeys(items) {
            var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;

            items.forEach(function (item, index) {
              var key = _this5.generateKey(item, level, index);
              if (selectedCodes.includes(item.code)) {
                allKeys.push(key);
              }
              if (item.subTreeData) {
                findKeys(item.subTreeData, level + 1);
              }
            });
          };
          findKeys(this.list);

          this.selectedKeys = new Set(allKeys);
          this.updateExpandedPaths();
        }
      }
    }
  },

  render: function render(h) {
    var _this6 = this;

    return h('ul', {
      class: 'sp-results',
      style: { minHeight: this.dropHeight + 'px' },
      on: { mouseleave: function mouseleave() {
          return _this6.highlight(-1);
        } }
    }, this.processedList.map(function (item) {
      return _this6.renderItem(h, item);
    }));
  }
});

/***/ }),
/* 15 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_view__ = __webpack_require__(2);
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; };


/* harmony default export */ __webpack_exports__["a"] = ({
  name: 'SelectPageTable',
  mixins: [__WEBPACK_IMPORTED_MODULE_0__mixins_view__["a" /* default */]],
  props: {
    tbColumns: Array
  },
  render: function render(h) {
    var _this = this;

    return h('table', { class: 'sp-table' }, [
    // table thead
    h('thead', [h('tr', {
      class: { 'sp-rtl': this.rtl }
    }, this.tbColumns.map(function (val) {
      return h('th', val.title);
    }))]),
    // table tbody
    h('tbody', {
      on: {
        mouseleave: function mouseleave() {
          return _this.highlight(-1);
        }
      }
    }, this.list.map(function (val, index) {
      // table row
      return h('tr', {
        key: index,
        class: _this.rowClass(val, index),
        on: {
          click: function click(e) {
            e.stopPropagation();
            _this.rowClick(val);
          },
          mouseenter: function mouseenter() {
            return _this.highlight(_this.inPicked(val) ? -1 : index);
          }
        }
      }, _this.tbColumns.map(function (col, idx) {
        // table cells
        return h('td', {
          key: idx,
          domProps: {
            innerHTML: _this.renderColumn(val, col)
          }
        });
      }));
    }))]);
  },

  methods: {
    renderColumn: function renderColumn(row, col) {
      if (!row || !Object.keys(row).length || !col || !col.data) return '';
      switch (_typeof(col.data)) {
        case 'string':
          return row[col.data];
        case 'function':
          return col.data(row);
      }
    }
  }
});

/***/ }),
/* 16 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__language__ = __webpack_require__(17);


/* harmony default export */ __webpack_exports__["a"] = ({
  props: {
    /**
     * 单选模式: '123'
     * 多选模式: '123, 124, 125'
     */
    value: String,
    params: Object,
    resultFormat: Function,
    title: {
      type: String,
      default: ''
    },
    appMark: {
      type: String,
      default: ''
    },
    placeholder: {
      type: String,
      default: ''
    },
    multiple: {
      type: Boolean,
      default: false
    },
    language: {
      type: String,
      default: 'cn'
    },
    keyField: {
      type: String,
      default: 'code'
    },
    showField: {
      type: [String, Function],
      default: 'name'
    },
    /**
     * 表格模型展示数据
     * title: [string] - 表题,
     * data: [string|function] - 展示数据
     * [
     *      {title: 'full name', data: function(row){ return row.lastName + ' ' + row.firstName; }},
     *      {title: 'age', data: 'age'},
     *      {title: 'birthday', data: function(row){ return someformat(row.birthday); }}
     * ]
     */
    tbColumns: Array,
    sort: String,
    searchField: String,
    pageSize: {
      type: Number,
      default: 10
    },
    maxSelectLimit: {
      type: Number,
      default: 0
    },
    rtl: {
      type: Boolean,
      default: false
    },
    width: Number,
    disabled: {
      type: Boolean,
      default: false
    },
    dicName: { // 字典名称
      type: String,
      default: ''
    },
    selected: { // 选中项
      type: String,
      default: ''
    },
    filterField: { // 过滤条件
      type: String
    },
    isSearch: {
      type: Boolean,
      default: true
    },
    dropWidth: {
      type: Number,
      default: -1
    },
    dropClass: {
      type: String,
      default: ''
    },
    dropHeight: { // 下拉内容最小高度
      type: Number,
      default: 260
    },
    clear: {
      type: Boolean,
      default: true
    },
    requestType: { // 请求类型,dic字典[字典], loopData 获取数据循环, request 异步请求数据
      type: String,
      default: 'dic'
    },
    path: { // 请求地址
      type: String,
      default: ''
    },
    loopData: { // 循环数据
      type: Array,
      default: function _default() {}
    }
  },
  data: function data() {
    return {
      show: false,
      search: '',
      lastSearch: null,
      searchColumn: null,
      i18n: __WEBPACK_IMPORTED_MODULE_0__language__["a" /* default */]['cn'],
      message: '',
      highlight: -1,
      pagination: false,
      list: [],
      sortedList: null,
      picked: [],
      data: [],
      pageNumber: 1,
      totalRows: 0
    };
  },

  computed: {
    headerTitle: function headerTitle() {
      var headerStr = this.i18n.items_selected;
      var replace = function replace(val) {
        return headerStr.replace('selected_count', '<b>' + val + '</b>');
      };
      if (this.picked.length) {
        return this.multiple ? replace(this.picked.length) : this.getResults();
      } else {
        return this.title;
      }
    },
    placeholderString: function placeholderString() {
      return '请选择';
    },
    inputClasses: function inputClasses() {
      return { 'sp-input-container': true, 'sp-open': this.show, 'sp-disabled': this.disabled };
    },
    keys: function keys() {
      var _this = this;

      return this.picked.map(function (value) {
        return value[_this.keyField];
      }).join(',');
    },
    names: function names() {
      return this.picked.map(function (value) {
        return value['name'];
      }).join(',');
    }
  },
  watch: {
    value: function value(val) {
      if (val) {
        if (val !== this.keys) {
          this.initSelection();
        }
      } else {
        this.remove();
      }
      this.$emit('change', val);
    },
    data: function data() {
      // this.sortList()
      // this.populate()
      if (this.picked.length) this.picked = [];else this.initSelection();
    },
    picked: function picked(val) {
      var _this2 = this;

      if (this.message && this.maxSelectLimit && val.length < this.maxSelectLimit) this.message = '';
      this.$nextTick(function () {
        if (_this2.show) {
          _this2.adjust();
          _this2.inputFocus();
        } else {
          if (_this2.multiple) {
            // 加了条件 &&  !val.length,因为字典项会自动弹出 所以注释
            // this.$refs.drop.visible()
          }
        }
      });
      this.$emit('input', this.keys);
      this.$emit('update:text', this.names);
      this.$emit('values', this.picked.slice());
    },
    pageNumber: function pageNumber(val, oldVal) {
      if (val !== oldVal) this.populate();
    },
    disabled: function disabled(val) {
      if (val && this.show) this.close();
    }
  }
});

/***/ }),
/* 17 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony default export */ __webpack_exports__["a"] = ({
  cn: {
    next: '下一页',
    prev: '上一页',
    first: '首页',
    last: '尾页',
    close_btn: '关闭 (Esc键)',
    loading: '读取中...',
    page_info: '第 page_num/page_count 页( 共 row_count 条记录 )',
    not_found: '无查询结果',
    server_error: '连接到服务器时发生错误!',
    clear: '清除内容',
    select_all: '选择当前页项目',
    unselect_all: '取消选择当前页项目',
    clear_all: '清除全部已选择项目',
    max_selected: '最多只能选择 max_selected_limit 个项目',
    placeholder: '请选择一个项目',
    items_selected: '已选择 selected_count 个项目'
  }
});

/***/ }),
/* 18 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
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 LEFT = 37;
var UP = 38;
var RIGHT = 39;
var DOWN = 40;
var TAB = 9;
var ENTER = 13;
var ESCAPE = 27;
/* harmony default export */ __webpack_exports__["a"] = ({
  methods: {
    showChange: function showChange(val) {
      this.show = val;
      if (val) {
        this.populate();
        this.findSelectionPage();
        this.inputFocus();
      } else {
        if (this.isSearch) {
          this.search = '';
          this.$refs.search.value = '';
        }
        this.highlight = -1;
      }
    },
    focus: function focus() {
      this.$el.click();
    },

    /**
     * remove all selected item
     */
    remove: function remove(index) {
      var removed = [];
      if (typeof index !== 'number') {
        removed = this.picked.slice();
        this.picked = [];
      } else {
        removed = [this.picked[index]];
        this.picked.splice(index, 1);
      }
      this.$emit('removed', removed);
    },

    /**
     * pick/remove current page items
     * @param check
     * true: pick
     * false: remove
     */
    pickPage: function pickPage() {
      var _this = this;

      var check = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

      var toDo = [];
      if (check) {
        var _picked;

        // picked current page items
        if (this.maxSelectLimit && this.picked.length >= this.maxSelectLimit) return;
        var available = 0;

        /**
         * the number of current page available items
         */
        if (check && this.maxSelectLimit) {
          var outOfPage = this.picked.filter(function (val) {
            return _this.list.findIndex(function (value) {
              return val[_this.keyField] === value[_this.keyField];
            }) === -1;
          }).length;
          available = this.maxSelectLimit - outOfPage;
        }
        this.list.forEach(function (row) {
          if (!_this.inPicked(row) && (!_this.maxSelectLimit || _this.maxSelectLimit && toDo.length < available)) {
            toDo.push(row);
          }
        });
        (_picked = this.picked).push.apply(_picked, toDo);
      } else {
        // unpicked current page items
        if (!this.picked.length) return;
        this.list.forEach(function (row) {
          if (_this.inPicked(row)) {
            toDo.push(_this.inPickedIndex(row));
          }
        });
        this.$emit('removed', this.picked.filter(function (val, index) {
          return toDo.includes(index);
        }));
        this.picked = this.picked.filter(function (val, index) {
          return !toDo.includes(index);
        });
      }

      this.inputFocus();
    },
    getResults: function getResults() {
      if (!this.picked.length || this.multiple) return;
      return this.renderCell(this.picked[0]);
    },
    renderCell: function renderCell(row) {
      if (!row || !Object.keys(row).length) return '';
      switch (_typeof(this.showField)) {
        case 'string':
          return row[this.showField];
        case 'function':
          return this.showField(row);
      }
    },
    processKey: function processKey(e) {
      if (![LEFT, UP, RIGHT, DOWN, ESCAPE, ENTER, TAB].includes(e.keyCode)) this.populate();
    },
    processControl: function processControl(e) {
      if ([LEFT, UP, RIGHT, DOWN, ESCAPE, ENTER, TAB].includes(e.keyCode)) {
        switch (e.keyCode) {
          case LEFT:
            if (this.pagination) this.$refs.page.switchPage('previous');
            break;
          case UP:
            this.previous();
            break;
          case RIGHT:
            if (this.pagination) this.$refs.page.switchPage('next');
            break;
          case DOWN:
            this.next();
            break;
          case TAB:
          case ENTER:
            if (this.highlight !== -1) this.selectItem(this.list[this.highlight]);
            break;
          case ESCAPE:
            this.close();
            break;
        }
      }
    },
    previous: function previous() {
      var _this2 = this;

      if (this.highlight > 0 && this.list.length) {
        var previous = this.list.filter(function (val, idx) {
          return idx < _this2.highlight && !_this2.inPicked(val);
        });
        if (previous.length) {
          var preIndex = this.list.findIndex(function (val) {
            return Object.is(val, previous[previous.length - 1]);
          });
          if (preIndex !== -1) this.highlight = preIndex;
        }
      }
    },
    next: function next() {
      var _this3 = this;

      if (this.highlight < this.list.length - 1) {
        var nextIndex = this.list.findIndex(function (val, idx) {
          return idx > _this3.highlight && !_this3.inPicked(val);
        });
        if (nextIndex !== -1) this.highlight = nextIndex;
      }
    },
    selectItem: function selectItem(row) {
      var _this4 = this;

      if (this.inPicked(row)) return;
      // multiple selection by tag form
      if (this.multiple) {
        if (this.maxSelectLimit && this.picked.length < this.maxSelectLimit || !this.maxSelectLimit) {
          this.picked.push(row);
        } else {
          this.message = this.i18n.max_selected.replace('max_selected_limit', '<b>' + this.maxSelectLimit + '</b>');
          setTimeout(function () {
            _this4.message = '';
          }, 3000);
        }
        this.inputFocus();
      } else {
        this.close();
        this.picked = [row];
      }
      this.highlight = -1;
    },
    sortList: function sortList() {
      if (this.data && Array.isArray(this.data) && this.sort) {
        var sortArr = this.sort.split(' ');var sort = {};
        if (sortArr.length === 2) {
          sort.field = sortArr[0];
          sort.order = sortArr[1];
          this.sortedList = this.data.slice().sort(function (a, b) {
            var valA = a[sort.field];
            var valB = b[sort.field];var order = sort.order ? sort.order.toLowerCase() : 'asc';
            if (order === 'asc') {
              return typeof valA === 'number' ? valA - valB : String(valA).localeCompare(String(valB));
            } else if (order === 'desc') {
              return typeof valA === 'number' ? valB - valA : String(valB).localeCompare(String(valA));
            }
          });
        }
      }
    },
    populate: function populate() {
      var _this5 = this;

      if (this.data) {
        if (this.search && this.search !== this.lastSearch) this.pageNumber = 1;
        if (Array.isArray(this.data)) {
          var list = this.sortedList ? this.sortedList.slice() : this.data.slice();
          if (this.search) {
            // 搜索字典项
            list = list.filter(function (val) {
              var exp = new RegExp(_this5.search.toLowerCase());
              var sspell = val['sspell'] ? val['sspell'] : '';
              var fspell = val['fspell'] ? val['fspell'] : '';
              var name = val[_this5.showField] ? val[_this5.showField] : '';
              var code = val[_this5.keyField] ? val[_this5.keyField] : '';
              return exp.test(name.toLowerCase()) || exp.test(code.toLowerCase()) || exp.test(sspell.toLowerCase()) || exp.test(fspell.toLowerCase());
            });
          }
          this.totalRows = list.length;

          if (this.pagination) {
            var start = (this.pageNumber - 1) * this.pageSize;
            var end = start + this.pageSize - 1;
            this.list = list.filter(function (val, index) {
              return index >= start && index <= end;
            });
          } else {
            this.list = list;
          }
        } else {
          console.log('数据格式错误');
        }

        this.lastSearch = this.search;
        this.highlight = -1;
      }
      this.inputFocus();
    },
    pageChange: function pageChange(pNum) {
      this.pageNumber = pNum;
      this.populate();
    },
    initSelection: function initSelection() {
      var _this6 = this;

      if (this.data && this.data.length >= this.pageSize) {
        this.pagination = true;
      }
      // 计算字典
      if (this.value) {
        if (Array.isArray(this.data)) {
          var arr = this.value.split(',');
          if (arr && arr.length) {
            var matchRows = this.data.filter(function (val) {
              return arr.includes(String(val[_this6.keyField]));
            });
            if (matchRows.length) this.picked = this.multiple ? matchRows : [matchRows[0]];
          }
          this.findSelectionPage();
        } else {
          console.log('数据格式错误');
        }
      }
      this.populate();
    },
    findSelectionPage: function findSelectionPage() {
      var _this7 = this;

      if (!this.multiple && this.pagination) {
        var list = this.sortedList ? this.sortedList.slice() : this.data.slice();
        var index = list.findIndex(function (val) {
          return String(val[_this7.keyField]) === _this7.value;
        });
        if (index >= 0) {
          this.pageNumber = Math.ceil((index + 1) / this.pageSize);
        }
      } else if (this.multiple && this.pagination) {
        // 多选,默认跳转第一选择项
        var _list = this.sortedList ? this.sortedList.slice() : this.data.slice();
        if (this.picked && this.picked.length > 0) {
          var key = this.picked[this.picked.length - 1][this.keyField];
          var _index = _list.findIndex(function (val) {
            return String(val[_this7.keyField]) === key;
          });
          if (_index >= 0) {
            this.pageNumber = Math.ceil((_index + 1) / this.pageSize);
          }
        }
      }
    }
  }
});

/***/ }),
/* 19 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony default export */ __webpack_exports__["a"] = ({
  methods: {
    inPickedIndex: function inPickedIndex(row) {
      var _this = this;

      if (!row || !Object.keys(row).length || !this.picked.length) return -1;
      return this.picked.findIndex(function (val) {
        return val[_this.keyField] === row[_this.keyField];
      });
    },
    inPicked: function inPicked(row) {
      return this.inPickedIndex(row) !== -1;
    },
    adjust: function adjust() {
      this.$refs.drop.adjust();
    },
    close: function close() {
      if (this.show) this.$refs.drop.visible();
    },
    inputFocus: function inputFocus() {
      var _this2 = this;

      if (!this.show || !this.isSearch) return;
      this.$nextTick(function () {
        if (_this2.isChrome() || _this2.isEdge()) _this2.$refs.search.focus({ preventScroll: true });else {
          var x = window.pageXOffset;var y = window.pageYOffset;
          _this2.$refs.search.focus();
          if (window.pageYOffset !== y) setTimeout(function () {
            window.scrollTo(x, y);
          }, 0);
        }
      });
    },
    isChrome: function isChrome() {
      return navigator.vendor !== undefined && navigator.vendor.indexOf('Google') !== -1;
    },
    isEdge: function isEdge() {
      return navigator.userAgent.indexOf('Edge') >= 0;
    }
  }
});

/***/ }),
/* 20 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony default export */ __webpack_exports__["a"] = ({
  render: function render(h) {
    var child = [];
    child.push(this.buildCaller(h));
    if (this.isSearch) {
      child.push(this.buildHeader(h));
      child.push(this.buildSearch(h));
    }
    child.push(this.buildMessage(h));
    child.push(this.buildContent(h));
    child.push(this.buildPagination(h));

    return h('v-dropdown', {
      props: {
        'full-width': true,
        width: this.width,
        disabled: this.disabled,
        border: false,
        align: this.rtl ? 'right' : 'left',
        dropWidth: this.dropWidth,
        dropClass: this.dropClass
      },
      class: 'v-selectpage',
      attrs: {
        dicName: this.dicName
      },
      on: {
        show: this.showChange
      },
      ref: 'drop'
    }, child);
  },

  methods: {
    /**
     * 选择面板
     */
    buildCaller: function buildCaller(h) {
      var input = [];
      var inputAttrs = {
        props: {
          disabled: this.disabled,
          placeholder: this.placeholderString,
          picked: this.picked,
          clear: this.clear
        },
        on: {
          remove: this.remove
        }
      };
      input.push(h(this.multiple ? 'sp-tag' : 'sp-select', inputAttrs));
      input.push(h('div', {
        class: {
          'sp-button': true,
          open: this.show
        }
      }, [h('span', { class: 'sp-caret' })]));
      return h('template', { slot: 'caller' }, [h('div', { class: this.inputClasses }, input)]);
    },

    /**
     * header bar
     */
    buildHeader: function buildHeader(h) {
      var _this = this;

      var header = [];
      header.push(h('h3', { domProps: { innerHTML: this.headerTitle } }));
      var genBtn = function genBtn(title, btnClass, iconClass, event) {
        return h('button', {
          attrs: {
            type: 'button',
            title: title
          },
          class: btnClass,
          on: { click: function click() {
              event();
            } }
        }, [h('i', { class: 'sp-iconfont ' + iconClass })]);
      };

      if (this.multiple) {
        header.push(genBtn(this.i18n.select_all, 'sp-select-all-btn', 'sp-icon-select-all', function () {
          _this.pickPage();
        }));
        header.push(genBtn(this.i18n.unselect_all, 'sp-remove-all-btn', 'sp-icon-unselect-all', function () {
          _this.pickPage(false);
        }));
      }
      if (this.clear) {
        header.push(genBtn(this.i18n.clear_all, 'sp-clear-all-btn', 'sp-icon-clear', this.remove));
      }

      header.push(genBtn(this.i18n.close_btn, 'sp-close-btn', 'sp-icon-close', this.close));

      return h('div', { class: 'sp-header' }, header);
    },

    /**
     * 搜索条
     */
    buildSearch: function buildSearch(h) {
      var _this2 = this;

      return h('div', { class: 'sp-search' }, [h('input', {
        attrs: {
          type: 'text',
          autocomplete: 'off',
          placeholder: '请输出查询内容',
          style: 'border: 1px solid #bdcaf1',
          value: this.search.trim()
        },
        class: {
          'sp-search-input': true,
          'sp-search-input--rtl': this.rtl
        },
        on: {
          keyup: function keyup(e) {
            return _this2.processKey(e);
          },
          keydown: function keydown(e) {
            e.stopPropagation();
            _this2.processControl(e);
          },
          input: function input(e) {
            _this2.search = e.target.value;
            if (e.target.value === '') {
              // 无搜索数据时去找出选择项
              _this2.findSelectionPage();
            }
          }
        },
        ref: 'search'
      })]);
    },
    buildMessage: function buildMessage(h) {
      var _this3 = this;

      var child = [];
      if (this.message) {
        child.push(h('div', { class: 'sp-message' }, [h('i', { class: 'sp-iconfont sp-icon-warning' }), h('span', { domProps: { innerHTML: this.message } })]));
      }

      return h('transition', {
        props: {
          name: 'sp-message-slide',
          appear: true
        },
        on: {
          enter: function enter() {
            return _this3.adjust();
          },
          'after-leave': function afterLeave() {
            return _this3.adjust();
          }
        }
      }, child);
    },
    buildContent: function buildContent(h) {
      var _this4 = this;

      var child = [];
      if (this.list.length) {
        var contentAttrs = {
          props: {
            list: this.list,
            picked: this.picked,
            dropHeight: this.dropHeight
          },
          model: {
            value: this.highlight,
            callback: function callback(value) {
              _this4.highlight = value;
            }
          },
          on: {
            select: function select(row) {
              return _this4.selectItem(row);
            }
          }
        };
        if (this.tbColumns && this.tbColumns.length) {
          contentAttrs.props['tb-columns'] = this.tbColumns;
          child.push(h('sp-table', contentAttrs));
        } else {
          child.push(h('sp-list', contentAttrs));
        }
      } else {
        child.push(h('div', { class: 'sp-result-message' }, this.i18n.not_found));
      }
      return h('div', { class: 'sp-result-area' }, child);
    },

    /**
     * 分页工具
     */
    buildPagination: function buildPagination(h) {
      var _this5 = this;

      if (this.pagination) {
        return h('sp-page', {
          props: {
            'total-row': this.totalRows,
            'page-size': this.pageSize
          },
          model: {
            value: this.pageNumber,
            callback: function callback(value) {
              _this5.pageNumber = value;
            }
          },
          ref: 'page'
        });
      }
    }
  }
});

/***/ }),
/* 21 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* unused harmony export TOKEN_KEY */
/* unused harmony export REFRESH_TOKEN_KEY */
/* unused harmony export EXPIRES_IN */
/* unused harmony export CITY_CODE_KEY */
/* unused harmony export REG_CODE_KEY */
/* unused harmony export ORG_CODE_KEY */
/* unused harmony export ORG_NAME_KEY */
/* unused harmony export ORG_TYPE_KEY */
/* unused harmony export USER_ID_KEY */
/* unused harmony export USER_JOB_ID_KEY */
/* unused harmony export USER_CONFIRM_STATUS_KEY */
/* unused harmony export USER_LOGIN_KEY */
/* unused harmony export USER_CARD_KEY */
/* unused harmony export USER_NAME_KEY */
/* unused harmony export USER_ADMIN_KEY */
/* unused harmony export USER_S_ADMIN_KEY */
/* unused harmony export LOGIN_TIME */
/* unused harmony export MEUN_KEY */
/* unused harmony export FUNC_PERM_KEY */
/* unused harmony export ROOT_ROUTER_KEY */
/* unused harmony export SOP_TOKEN_KEY */
/* unused harmony export SOP_REFRESH_TOKEN_KEY */
/* unused harmony export SOP_USER_LOGIN_KEY */
/* unused harmony export SOP_USER_ID_KEY */
/* unused harmony export SOP_USER_NAME_KEY */
/* unused harmony export setSopToken */
/* unused harmony export setToken */
/* unused harmony export setConfirmSTatus */
/* unused harmony export setLoginTime */
/* unused harmony export cachePermMenu */
/* unused harmony export getPermMenu */
/* unused harmony export cacheFuncPerm */
/* unused harmony export getFuncPerm */
/* unused harmony export setRootRouter */
/* unused harmony export getRootRouter */
/* unused harmony export addUserCache */
/* unused harmony export addSopUserCache */
/* unused harmony export getSopToken */
/* unused harmony export getSopRefreshToken */
/* unused harmony export getToken */
/* unused harmony export getConfirmSTatus */
/* unused harmony export getRefreshToken */
/* unused harmony export getLoginTime */
/* unused harmony export getUserCache */
/* unused harmony export clear */
/* unused harmony export clearSop */
/* unused harmony export hasChild */
/* unused harmony export getMenuByRouter */
/* unused harmony export getBreadCrumbList */
/* unused harmony export getRouteTitleHandled */
/* unused harmony export showTitle */
/* unused harmony export setTagNavListInLocalstorage */
/* unused harmony export setAppTagNavListInLocalstorage */
/* unused harmony export getTagNavListFromLocalstorage */
/* unused harmony export getAppTagNavListFromLocalstorage */
/* unused harmony export getHomeRoute */
/* unused harmony export getNewTagList */
/* unused harmony export getNewAppTagList */
/* unused harmony export getParams */
/* unused harmony export getNextRoute */
/* unused harmony export getNextAppRoute */
/* unused harmony export doCustomTimes */
/* unused harmony export getArrayFromFile */
/* unused harmony export getTableDataFromArray */
/* unused harmony export findNodeUpper */
/* unused harmony export findNodeUpperByClasses */
/* unused harmony export findNodeDownward */
/* unused harmony export showByAccess */
/* unused harmony export routeEqual */
/* unused harmony export routeEqualNew */
/* unused harmony export routeHasExist */
/* unused harmony export routeHasExistNew */
/* unused harmony export localSave */
/* unused harmony export localRead */
/* unused harmony export scrollTop */
/* unused harmony export setTitle */
/* unused harmony export identityIsTrue */
/* unused harmony export validatorFunc */
/* unused harmony export lengthLimited */
/* unused harmony export isPassword */
/* unused harmony export flatTree */
/* unused harmony export arrayToTree */
/* unused harmony export deleteNullField */
/* unused harmony export deepCopy */
/* unused harmony export throttle */
/* unused harmony export filterAsyncRouter */
/* unused harmony export disabledChildren */
/* unused harmony export transFormData */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_js_cookie__ = __webpack_require__(22);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_js_cookie___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_js_cookie__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__config__ = __webpack_require__(23);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__libs_tools__ = __webpack_require__(24);
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 _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };

function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }


// cookie保存的天数


var title = __WEBPACK_IMPORTED_MODULE_1__config__["a" /* default */].title,
    useI18n = __WEBPACK_IMPORTED_MODULE_1__config__["a" /* default */].useI18n;


var TOKEN_KEY = 'bsp_access_token';
var REFRESH_TOKEN_KEY = 'bsp_refresh_token';
var EXPIRES_IN = 'bsp_expires_in';
var CITY_CODE_KEY = 'bsp_city_code';
var REG_CODE_KEY = 'bsp_reg_code';
var ORG_CODE_KEY = 'bsp_org_code';
var ORG_NAME_KEY = 'bsp_org_name';
var ORG_TYPE_KEY = 'bsp_org_type';
var USER_ID_KEY = 'bsp_user_id';
var USER_JOB_ID_KEY = 'bsp_user_job_id';
var USER_CONFIRM_STATUS_KEY = 'bsp_confirm_status';
var USER_LOGIN_KEY = 'bsp_user_login';
var USER_CARD_KEY = 'bsp_user_card';
var USER_NAME_KEY = 'bsp_user_name';
var USER_ADMIN_KEY = 'bsp_user_admin';
var USER_S_ADMIN_KEY = 'bsp_user_s_admin';
var LOGIN_TIME = 'bsp_login_time';

var MEUN_KEY = 'bsp_menu';
var FUNC_PERM_KEY = 'func_perm';
var ROOT_ROUTER_KEY = 'bsp_root_router';

// sop
var SOP_TOKEN_KEY = 'sop_access_token';
var SOP_REFRESH_TOKEN_KEY = 'sop_refresh_token';
var SOP_USER_LOGIN_KEY = 'sop_user_login';
var SOP_USER_ID_KEY = 'sop_user_id';
var SOP_USER_NAME_KEY = 'sop_user_name';
// sop end

var setSopToken = function setSopToken(token) {
  __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.set(SOP_TOKEN_KEY, token);
};

var setToken = function setToken(token) {
  //Cookies.set(TOKEN_KEY, token)
  sessionStorage.setItem(TOKEN_KEY, token);
  __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.set(TOKEN_KEY, token);
};

var setConfirmSTatus = function setConfirmSTatus(status) {
  sessionStorage.setItem(USER_CONFIRM_STATUS_KEY, status);
  __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.set(USER_CONFIRM_STATUS_KEY, status);
};

var setLoginTime = function setLoginTime(time) {
  //Cookies.set(LOGIN_TIME, time)
  localStorage.setItem(LOGIN_TIME, time);
};

var cachePermMenu = function cachePermMenu(data) {
  // let accessedRoutes = filterAsyncRouter(data)
  var menuKey = MEUN_KEY + '_' + __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.get(USER_ID_KEY);
  if (data) {
    localStorage.setItem(menuKey, JSON.stringify(data));
  }
};

var getPermMenu = function getPermMenu() {
  var menuKey = MEUN_KEY + '_' + __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.get(USER_ID_KEY);
  var menu = localStorage.getItem(menuKey);
  if (menu) {
    return JSON.parse(menu);
  }
  return [];
};

var cacheFuncPerm = function cacheFuncPerm(data) {
  localStorage.setItem(FUNC_PERM_KEY, JSON.stringify(data));
};
var getFuncPerm = function getFuncPerm() {
  var arr = localStorage.getItem(FUNC_PERM_KEY);
  if (arr) {
    try {
      return JSON.parse(arr);
    } catch (e) {
      return [];
    }
  }
  return [];
};

var setRootRouter = function setRootRouter(name) {
  __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.set(ROOT_ROUTER_KEY, name);
};

var getRootRouter = function getRootRouter() {
  var value = __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.get(ROOT_ROUTER_KEY);
  if (value) return value;else return '';
};
var addUserCache = function addUserCache(data) {
  /*Cookies.set(REFRESH_TOKEN_KEY, data.refresh_token)
  Cookies.set(EXPIRES_IN, data.expires_in)
  Cookies.set(CITY_CODE_KEY, data.cityCode)
  Cookies.set(REG_CODE_KEY, data.regCode)
  Cookies.set(ORG_CODE_KEY, data.orgCode)
  Cookies.set(ORG_NAME_KEY, data.orgName)
  Cookies.set(ORG_TYPE_KEY, data.orgType)
  Cookies.set(USER_ID_KEY, data.id)
  Cookies.set(USER_LOGIN_KEY, data.loginId)
  Cookies.set(USER_CARD_KEY, data.idCard)
  Cookies.set(USER_NAME_KEY, data.name)
  Cookies.set(USER_ADMIN_KEY, data.isAdmin)
  Cookies.set(USER_JOB_ID_KEY, data.jobId)
  Cookies.set(USER_CONFIRM_STATUS_KEY, data.confirmStatus)*/

  localStorage.setItem(REFRESH_TOKEN_KEY, data.refresh_token);
  localStorage.setItem(EXPIRES_IN, data.expires_in);
  localStorage.setItem(CITY_CODE_KEY, data.cityCode);
  localStorage.setItem(REG_CODE_KEY, data.regCode);
  localStorage.setItem(ORG_CODE_KEY, data.orgCode);
  localStorage.setItem(ORG_NAME_KEY, data.orgName);
  localStorage.setItem(ORG_TYPE_KEY, data.orgType);
  localStorage.setItem(USER_ID_KEY, data.id);
  localStorage.setItem(USER_LOGIN_KEY, data.loginId);
  localStorage.setItem(USER_CARD_KEY, data.idCard);
  localStorage.setItem(USER_NAME_KEY, data.name);
  localStorage.setItem(USER_ADMIN_KEY, data.isAdmin);
  localStorage.setItem(USER_JOB_ID_KEY, data.jobId);
  //localStorage.setItem(USER_CONFIRM_STATUS_KEY, data.confirmStatus)
  setConfirmSTatus(data.confirmStatus);
};
// sop
var addSopUserCache = function addSopUserCache(data) {
  __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.set(SOP_USER_LOGIN_KEY, data.loginId);
  __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.set(SOP_USER_ID_KEY, data.id);
  __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.set(SOP_USER_NAME_KEY, data.name);
};
var getSopToken = function getSopToken() {
  var token = __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.get(SOP_TOKEN_KEY);
  if (token) return token;else return false;
};
var getSopRefreshToken = function getSopRefreshToken() {
  var token = __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.get(SOP_REFRESH_TOKEN_KEY);
  if (token) return token;else return false;
};
// sop end
var getToken = function getToken() {
  var token = __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.get(TOKEN_KEY);
  if (!token) {
    token = sessionStorage.getItem(TOKEN_KEY);
  }
  if (token) return token;else return false;
};

var getConfirmSTatus = function getConfirmSTatus() {
  var status = __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.get(USER_CONFIRM_STATUS_KEY);
  if (!status) {
    status = sessionStorage.getItem(USER_CONFIRM_STATUS_KEY);
  }
  if (status) return status;else return '0';
};
var getRefreshToken = function getRefreshToken() {
  var token = localStorage.getItem(REFRESH_TOKEN_KEY);
  if (token) return token;else return false;
};
var getLoginTime = function getLoginTime() {
  var login_time = localStorage.getItem(LOGIN_TIME);
  if (login_time) return login_time;else return false;
};
var getUserCache = {
  getCityCode: function getCityCode() {
    var cityCode = localStorage.getItem(CITY_CODE_KEY);
    if (cityCode) return cityCode;else return '';
  },
  getRegCode: function getRegCode() {
    var regCode = localStorage.getItem(REG_CODE_KEY);
    if (regCode) return regCode;else return '';
  },
  getOrgCode: function getOrgCode() {
    var orgCode = localStorage.getItem(ORG_CODE_KEY);
    if (orgCode) return orgCode;else return '';
  },
  getOrgName: function getOrgName() {
    var orgName = localStorage.getItem(ORG_NAME_KEY);
    if (orgName) return orgName;else return '';
  },
  getOrgType: function getOrgType() {
    var orgType = localStorage.getItem(ORG_TYPE_KEY);
    if (orgType) return orgType;else return '';
  },
  getUserId: function getUserId() {
    var userId = localStorage.getItem(USER_ID_KEY);
    if (userId) return userId;else return '';
  },
  getLoginId: function getLoginId() {
    var loginId = localStorage.getItem(USER_LOGIN_KEY);
    if (loginId) return loginId;else return '';
  },
  getJobId: function getJobId() {
    var jobId = localStorage.getItem(USER_JOB_ID_KEY);
    if (jobId) return jobId;else return '';
  },
  getIdCard: function getIdCard() {
    var idCard = localStorage.getItem(USER_CARD_KEY);
    if (idCard) return idCard;else return '';
  },
  getUserName: function getUserName() {
    var name = localStorage.getItem(USER_NAME_KEY);
    if (name) return name;else return '';
  },
  getExpiresIn: function getExpiresIn() {
    var expires_in = localStorage.getItem(EXPIRES_IN);
    if (expires_in) return expires_in;else return '';
  },
  isAdmin: function isAdmin() {
    var isDadmin = localStorage.getItem(USER_ADMIN_KEY);
    if (isDadmin && isDadmin === 'true') return true;else return false;
  },
  isSAdmin: function isSAdmin() {
    var isSAdmin = localStorage.getItem(USER_S_ADMIN_KEY);
    if (isSAdmin && isSAdmin === 'true') return true;else return false;
  },
  // sop
  getSopLoginId: function getSopLoginId() {
    var loginId = __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.get(SOP_USER_LOGIN_KEY);
    if (loginId) return loginId;else return '';
  },
  getSopUserId: function getSopUserId() {
    var userId = __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.get(SOP_USER_ID_KEY);
    if (userId) return userId;else return '';
  },
  getSopUserName: function getSopUserName() {
    var userName = __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.get(SOP_USER_NAME_KEY);
    if (userName) return userName;else return '';
  }
  // sop end
};
var clear = function clear() {
  var menuKey = MEUN_KEY + '_' + __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.get(USER_ID_KEY);
  __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.remove(TOKEN_KEY);
  sessionStorage.removeItem(TOKEN_KEY);
  localStorage.removeItem(REFRESH_TOKEN_KEY);
  localStorage.removeItem(EXPIRES_IN);
  localStorage.removeItem(LOGIN_TIME);
  localStorage.removeItem(REG_CODE_KEY);
  localStorage.removeItem(ORG_CODE_KEY);
  localStorage.removeItem(ORG_NAME_KEY);
  localStorage.removeItem(ORG_TYPE_KEY);
  localStorage.removeItem(USER_ID_KEY);
  localStorage.removeItem(USER_LOGIN_KEY);
  localStorage.removeItem(USER_CARD_KEY);
  localStorage.removeItem(USER_NAME_KEY);
  localStorage.removeItem(USER_ADMIN_KEY);
  localStorage.removeItem(USER_S_ADMIN_KEY);
  localStorage.removeItem(USER_JOB_ID_KEY);
  localStorage.removeItem(CITY_CODE_KEY);
  localStorage.removeItem(USER_CONFIRM_STATUS_KEY);

  __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.remove(ROOT_ROUTER_KEY);
  localStorage.removeItem(menuKey);
};

// sop
var clearSop = function clearSop() {
  __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.remove(SOP_TOKEN_KEY);
  __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.remove(SOP_REFRESH_TOKEN_KEY);
  __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.remove(SOP_USER_LOGIN_KEY);
  __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.remove(SOP_USER_ID_KEY);
  __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.remove(SOP_USER_NAME_KEY);
};
// sop end

var hasChild = function hasChild(item) {
  return item.children && item.children.length !== 0;
};

var showThisMenuEle = function showThisMenuEle(item, access) {
  if (item.meta && item.meta.access && item.meta.access.length) {
    if (Object(__WEBPACK_IMPORTED_MODULE_2__libs_tools__["b" /* hasOneOf */])(item.meta.access, access)) return true;else return false;
  } else return true;
};
/**
 * @param {Array} list 通过路由列表得到菜单列表
 * @returns {Array}
 */
var getMenuByRouter = function getMenuByRouter(list, access) {
  var res = [];
  Object(__WEBPACK_IMPORTED_MODULE_2__libs_tools__["a" /* forEach */])(list, function (item) {
    if (!item.meta || item.meta && !item.meta.hideInMenu) {
      var obj = {
        icon: item.meta && item.meta.icon || '',
        name: item.name,
        meta: item.meta,
        id: item.id,
        path: item.path,
        parentId: item.parentId
      };
      if ((hasChild(item) || item.meta && item.meta.showAlways) && showThisMenuEle(item, access)) {
        obj.children = getMenuByRouter(item.children, access);
      }
      if (item.meta && item.meta.href) obj.href = item.meta.href;
      if (showThisMenuEle(item, access)) res.push(obj);
    }
  });
  return res;
};

/**
 * @param {Array} routeMetched 当前路由metched
 * @returns {Array}
 */
var getBreadCrumbList = function getBreadCrumbList(route, homeRoute) {
  var homeItem = _extends({}, homeRoute, { icon: homeRoute.meta.icon });
  var routeMetched = route.matched;
  if (routeMetched.some(function (item) {
    return item.path === homeRoute.path;
  })) return [homeItem];
  var res = routeMetched.filter(function (item) {
    return item.meta === undefined || !item.meta.hideInBread;
  }).map(function (item) {
    var meta = _extends({}, item.meta);
    if (meta.title && typeof meta.title === 'function') {
      meta.__titleIsFunction__ = true;
      meta.title = meta.title(route);
    }
    var obj = {
      icon: item.meta && item.meta.icon || '',
      path: item.path,
      meta: meta
    };
    return obj;
  });
  res = res.filter(function (item) {
    return !item.meta.hideInMenu;
  });
  return [_extends({}, homeItem, { to: homeRoute.path })].concat(_toConsumableArray(res));
};

var getRouteTitleHandled = function getRouteTitleHandled(route) {
  var router = _extends({}, route);
  var meta = _extends({}, route.meta);
  var title = '';
  if (meta.title) {
    if (typeof meta.title === 'function') {
      meta.__titleIsFunction__ = true;
      title = meta.title(router);
    } else title = meta.title;
  }
  meta.title = title;
  router.meta = meta;
  return router;
};

var showTitle = function showTitle(item, vm) {
  var _item$meta = item.meta,
      title = _item$meta.title,
      __titleIsFunction__ = _item$meta.__titleIsFunction__;

  if (!title) return;
  if (useI18n) {
    if (title.includes('{{') && title.includes('}}') && useI18n) title = title.replace(/({{[\s\S]+?}})/, function (m, str) {
      return str.replace(/{{([\s\S]*)}}/, function (m, _) {
        return vm.$t(_.trim());
      });
    });else if (__titleIsFunction__) title = item.meta.title;else title = vm.$t(item.name);
  } else title = item.meta && item.meta.title || item.name;
  return title;
};

/**
 * @description 本地存储和获取标签导航列表
 */
var setTagNavListInLocalstorage = function setTagNavListInLocalstorage(list) {
  localStorage.tagNaveList = JSON.stringify(list);
};
var setAppTagNavListInLocalstorage = function setAppTagNavListInLocalstorage(key, list) {
  localStorage[key] = JSON.stringify(list);
};
/**
 * @returns {Array} 其中的每个元素只包含路由原信息中的name, path, meta三项
 */
var getTagNavListFromLocalstorage = function getTagNavListFromLocalstorage() {
  var list = localStorage.tagNaveList;
  return list ? JSON.parse(list) : [];
};
var getAppTagNavListFromLocalstorage = function getAppTagNavListFromLocalstorage(key) {
  var list = localStorage[key];
  return list ? JSON.parse(list) : [];
};

/**
 * @param {Array} routers 路由列表数组
 * @description 用于找到路由列表中name为home的对象
 */
var getHomeRoute = function getHomeRoute(routers) {
  var homeName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'home';

  var i = -1;
  var len = routers.length;
  var homeRoute = {};
  while (++i < len) {
    var item = routers[i];
    if (item.children && item.children.length) {
      var res = getHomeRoute(item.children, homeName);
      if (res.name) return res;
    } else {
      if (item.name === 'home' || item.path === '/home') homeRoute = item;
    }
  }
  return homeRoute;
};

/**
 * @param {*} list 现有标签导航列表
 * @param {*} newRoute 新添加的路由原信息对象
 * @description 如果该newRoute已经存在则不再添加
 */
var getNewTagList = function getNewTagList(list, newRoute) {
  var name = newRoute.name,
      path = newRoute.path,
      meta = newRoute.meta;

  var newList = [].concat(_toConsumableArray(list));
  if (newList.findIndex(function (item) {
    return item.path === path;
  }) >= 0) return newList;else newList.push({ name: name, path: path, meta: meta });
  return newList;
};

var getNewAppTagList = function getNewAppTagList(list, newRoute) {
  var name = newRoute.name,
      path = newRoute.path,
      meta = newRoute.meta,
      query = newRoute.query;

  var newList = [].concat(_toConsumableArray(list));
  if (newList.findIndex(function (item) {
    return item.path === path;
  }) >= 0 || path === '/app/system') return newList;else newList.push({ name: name, path: path, meta: meta, query: query });
  return newList;
};
/**
 * @param {String} url
 * @description 从URL中解析参数
 */
var getParams = function getParams(url) {
  var keyValueArr = url.split('?')[1].split('&');
  var paramObj = {};
  keyValueArr.forEach(function (item) {
    var keyValue = item.split('=');
    paramObj[keyValue[0]] = keyValue[1];
  });
  return paramObj;
};

/**
 * @param {Array} list 标签列表
 * @param {String} name 当前关闭的标签的name
 */
var getNextRoute = function getNextRoute(list, route) {
  var res = {};
  if (list.length === 2) {
    res = getHomeRoute(list);
  } else {
    var index = list.findIndex(function (item) {
      return routeEqual(item, route);
    });
    if (index === list.length - 1) res = list[list.length - 2];else res = list[index + 1];
  }
  return res;
};

var getNextAppRoute = function getNextAppRoute(list, route) {
  var res = {};
  if (list.length === 1) {
    // res = getHomeRoute(list)
  } else {
    var index = list.findIndex(function (item) {
      return routeEqual(item, route);
    });
    if (index === list.length - 1) res = list[list.length - 2];else res = list[index + 1];
  }
  return res;
};

/**
 * @param {Number} times 回调函数需要执行的次数
 * @param {Function} callback 回调函数
 */
var doCustomTimes = function doCustomTimes(times, callback) {
  var i = -1;
  while (++i < times) {
    callback(i);
  }
};

/**
 * @param {Object} file 从上传组件得到的文件对象
 * @returns {Promise} resolve参数是解析后的二维数组
 * @description 从Csv文件中解析出表格,解析成二维数组
 */
var getArrayFromFile = function getArrayFromFile(file) {
  var nameSplit = file.name.split('.');
  var format = nameSplit[nameSplit.length - 1];
  return new Promise(function (resolve, reject) {
    var reader = new FileReader();
    reader.readAsText(file); // 以文本格式读取
    var arr = [];
    reader.onload = function (evt) {
      var data = evt.target.result; // 读到的数据
      var pasteData = data.trim();
      arr = pasteData.split(/[\n\u0085\u2028\u2029]|\r\n?/g).map(function (row) {
        return row.split('\t');
      }).map(function (item) {
        return item[0].split(',');
      });
      if (format === 'csv') resolve(arr);else reject(new Error('[Format Error]:你上传的不是Csv文件'));
    };
  });
};

/**
 * @param {Array} array 表格数据二维数组
 * @returns {Object} { columns, tableData }
 * @description 从二维数组中获取表头和表格数据,将第一行作为表头,用于在iView的表格中展示数据
 */
var getTableDataFromArray = function getTableDataFromArray(array) {
  var columns = [];
  var tableData = [];
  if (array.length > 1) {
    var titles = array.shift();
    columns = titles.map(function (item) {
      return {
        title: item,
        key: item
      };
    });
    tableData = array.map(function (item) {
      var res = {};
      item.forEach(function (col, i) {
        res[titles[i]] = col;
      });
      return res;
    });
  }
  return {
    columns: columns,
    tableData: tableData
  };
};

var findNodeUpper = function findNodeUpper(ele, tag) {
  if (ele.parentNode) {
    if (ele.parentNode.tagName === tag.toUpperCase()) {
      return ele.parentNode;
    } else {
      return findNodeUpper(ele.parentNode, tag);
    }
  }
};

var findNodeUpperByClasses = function findNodeUpperByClasses(ele, classes) {
  var parentNode = ele.parentNode;
  if (parentNode) {
    var classList = parentNode.classList;
    if (classList && classes.every(function (className) {
      return classList.contains(className);
    })) {
      return parentNode;
    } else {
      return findNodeUpperByClasses(parentNode, classes);
    }
  }
};

var findNodeDownward = function findNodeDownward(ele, tag) {
  var tagName = tag.toUpperCase();
  if (ele.childNodes.length) {
    var i = -1;
    var len = ele.childNodes.length;
    while (++i < len) {
      var child = ele.childNodes[i];
      if (child.tagName === tagName) return child;else return findNodeDownward(child, tag);
    }
  }
};

var showByAccess = function showByAccess(access, canViewAccess) {
  return Object(__WEBPACK_IMPORTED_MODULE_2__libs_tools__["b" /* hasOneOf */])(canViewAccess, access);
};

/**
 * @description 根据name/params/query判断两个路由对象是否相等
 * @param {*} route1 路由对象
 * @param {*} route2 路由对象
 */
var routeEqual = function routeEqual(route1, route2) {
  var params1 = route1.params || {};
  var params2 = route2.params || {};
  var query1 = route1.query || {};
  var query2 = route2.query || {};
  return route1.path === route2.path && Object(__WEBPACK_IMPORTED_MODULE_2__libs_tools__["c" /* objEqual */])(params1, params2) && Object(__WEBPACK_IMPORTED_MODULE_2__libs_tools__["c" /* objEqual */])(query1, query2);
};

var routeEqualNew = function routeEqualNew(route1, route2) {
  return route1.path === route2.path;
};

/**
 * 判断打开的标签列表里是否已存在这个新添加的路由对象
 */
var routeHasExist = function routeHasExist(tagNavList, routeItem) {
  var len = tagNavList.length;
  var res = false;
  doCustomTimes(len, function (index) {
    if (routeEqual(tagNavList[index], routeItem)) res = true;
  });
  return res;
};

var routeHasExistNew = function routeHasExistNew(tagNavList, routeItem) {
  var len = tagNavList.length;
  var res = false;
  doCustomTimes(len, function (index) {
    if (routeEqualNew(tagNavList[index], routeItem)) res = true;
  });
  return res;
};

var localSave = function localSave(key, value) {
  localStorage.setItem(key, value);
};

var localRead = function localRead(key) {
  return localStorage.getItem(key) || '';
};

// scrollTop animation
var scrollTop = function scrollTop(el) {
  var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
  var to = arguments[2];
  var duration = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 500;
  var endCallback = arguments[4];

  if (!window.requestAnimationFrame) {
    window.requestAnimationFrame = window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {
      return window.setTimeout(callback, 1000 / 60);
    };
  }
  var difference = Math.abs(from - to);
  var step = Math.ceil(difference / duration * 50);

  var scroll = function scroll(start, end, step) {
    if (start === end) {
      endCallback && endCallback();
      return;
    }

    var d = start + step > end ? end : start + step;
    if (start > end) {
      d = start - step < end ? end : start - step;
    }

    if (el === window) {
      window.scrollTo(d, d);
    } else {
      el.scrollTop = d;
    }
    window.requestAnimationFrame(function () {
      return scroll(d, end, step);
    });
  };
  scroll(from, to, step);
};

/**
 * @description 根据当前跳转的路由设置显示在浏览器标签的title
 * @param {Object} routeItem 路由对象
 * @param {Object} vm Vue实例
 */
var setTitle = function setTitle(routeItem, vm) {
  var handledRoute = getRouteTitleHandled(routeItem);
  var pageTitle = showTitle(handledRoute, vm);
  var resTitle = pageTitle ? title + ' - ' + pageTitle : title;
  window.document.title = resTitle;
};

/**
 * @description 身份证校验
 * @param {String} id 身份证号码
 */
var identityIsTrue = function identityIsTrue(id) {
  var paternMainLand = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}X)$)$/;
  var patternHongkong = /^((\s?[A-Za-z])|([A-Za-z]{2}))\d{6}(\([0-9aA]\)|[0-9aA])$/;
  var patternTaiwan = /^[a-zA-Z][0-9]{9}$/;
  var patternMacao = /^[1|5|7][0-9]{6}\([0-9Aa]\)/;
  var isMainLand = paternMainLand.test(id);
  var isHongKong = patternHongkong.test(id);
  var isTaiwan = patternTaiwan.test(id);
  var isMacao = patternMacao.test(id);
  return isMainLand || isHongKong || isTaiwan || isMacao;
};
/**
 * @description: 统一输入验证方法
 */
var validatorFunc = function validatorFunc(val, mess, reg, cb) {
  if (reg && reg.test(val)) {} else if (reg && Boolean(val)) {
    cb(new Error('\u8F93\u5165\u7684' + mess + '\u975E\u6CD5'));
  }
  cb();
};

// 统一长度验证
var lengthLimited = { type: 'string', max: 20, message: '不能超过20个字符', trigger: 'blur'

  // 验证密码有效性
};function isPassword(str) {
  str = str || '';
  str = str.trim();
  return str.length >= 6 && str.length <= 12;
}

//  树转化为数组
var flatTree = function flatTree(tree) {
  var childrenKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'children';

  if (Array.isArray(tree)) {
    return tree.reduce(function (res, child) {
      return res.concat(flatTree(child));
    }, []);
  }
  if (tree[childrenKey] && tree[childrenKey].length) {
    var subTrees = tree[childrenKey].reduce(function (res, child) {
      return res.concat(flatTree(child));
    }, []);
    return [tree].concat(subTrees);
  } else {
    return [tree];
  }
};
// 数组转化为树
var arrayToTree = function arrayToTree(arr, isParent) {
  var childrenKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'children';

  var copyArr = arr.slice();
  var rootArr = arr.slice();
  var _iteratorNormalCompletion = true;
  var _didIteratorError = false;
  var _iteratorError = undefined;

  try {
    for (var _iterator = copyArr[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
      var p = _step.value;
      var _iteratorNormalCompletion2 = true;
      var _didIteratorError2 = false;
      var _iteratorError2 = undefined;

      try {
        for (var _iterator2 = copyArr[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
          var c = _step2.value;

          var flag = isParent(p, c);
          if (flag) {
            if (!Array.isArray(p[childrenKey])) {
              p[childrenKey] = [];
            }
            p[childrenKey].push(c);
            var i = rootArr.indexOf(c);
            rootArr.splice(i, 1);
          }
        }
      } catch (err) {
        _didIteratorError2 = true;
        _iteratorError2 = err;
      } finally {
        try {
          if (!_iteratorNormalCompletion2 && _iterator2.return) {
            _iterator2.return();
          }
        } finally {
          if (_didIteratorError2) {
            throw _iteratorError2;
          }
        }
      }
    }
  } catch (err) {
    _didIteratorError = true;
    _iteratorError = err;
  } finally {
    try {
      if (!_iteratorNormalCompletion && _iterator.return) {
        _iterator.return();
      }
    } finally {
      if (_didIteratorError) {
        throw _iteratorError;
      }
    }
  }

  return rootArr;
};

// 去除对象中的空字段
var deleteNullField = function deleteNullField(obj) {
  if (!((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object')) {
    return;
  }
  for (var key in obj) {
    if (obj.hasOwnProperty(key) && (obj[key] === null || obj[key] === undefined || obj[key] === '')) {
      delete obj[key];
    }
  }
  return obj;
};
// 深拷贝
var deepCopy = function deepCopy(obj) {
  return JSON.parse(JSON.stringify(obj));
};
var throttle = function throttle(fn) {
  var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;

  var timer = void 0;
  return function () {
    var _this = this;

    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
      args[_key] = arguments[_key];
    }

    clearTimeout(timer);
    timer = setTimeout(function () {
      fn.apply(_this, args);
    }, delay);
  };
};

// // 通过后台的菜单树,构造路由
var filterAsyncRouter = function filterAsyncRouter(routers) {
  routers = routers.filter(function (it) {
    return !it.disabled;
  });
  var accessedRoutes = routers.map(function (it) {
    if (it.children && it.children.length > 0) {
      it.children = filterAsyncRouter(it.children);
    }
    return transFormData(it);
  });
  return accessedRoutes;
};
var disabledChildren = function disabledChildren(data) {
  if (!data) return;
  data = data.filter(function (it) {
    return !it.disabled;
  });
  var _iteratorNormalCompletion3 = true;
  var _didIteratorError3 = false;
  var _iteratorError3 = undefined;

  try {
    for (var _iterator3 = data[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
      var child = _step3.value;

      child.children = disabledChildren(child.children);
    }
  } catch (err) {
    _didIteratorError3 = true;
    _iteratorError3 = err;
  } finally {
    try {
      if (!_iteratorNormalCompletion3 && _iterator3.return) {
        _iterator3.return();
      }
    } finally {
      if (_didIteratorError3) {
        throw _iteratorError3;
      }
    }
  }

  return data;
};

var transFormData = function transFormData(it) {
  var data = {
    name: it.code,
    path: it.url,
    id: it.id,
    meta: {
      icon: it.imgPath || 'ios-key',
      title: it.name,
      showMenu: it.showMenu
    },
    children: it.children
  };
  return data;
};

/***/ }),
/* 22 */
/***/ (function(module, exports, __webpack_require__) {

/*! js-cookie v3.0.5 | MIT */
;
(function (global, factory) {
   true ? module.exports = factory() :
  typeof define === 'function' && define.amd ? define(factory) :
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () {
    var current = global.Cookies;
    var exports = global.Cookies = factory();
    exports.noConflict = function () { global.Cookies = current; return exports; };
  })());
})(this, (function () { 'use strict';

  /* eslint-disable no-var */
  function assign (target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = arguments[i];
      for (var key in source) {
        target[key] = source[key];
      }
    }
    return target
  }
  /* eslint-enable no-var */

  /* eslint-disable no-var */
  var defaultConverter = {
    read: function (value) {
      if (value[0] === '"') {
        value = value.slice(1, -1);
      }
      return value.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent)
    },
    write: function (value) {
      return encodeURIComponent(value).replace(
        /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,
        decodeURIComponent
      )
    }
  };
  /* eslint-enable no-var */

  /* eslint-disable no-var */

  function init (converter, defaultAttributes) {
    function set (name, value, attributes) {
      if (typeof document === 'undefined') {
        return
      }

      attributes = assign({}, defaultAttributes, attributes);

      if (typeof attributes.expires === 'number') {
        attributes.expires = new Date(Date.now() + attributes.expires * 864e5);
      }
      if (attributes.expires) {
        attributes.expires = attributes.expires.toUTCString();
      }

      name = encodeURIComponent(name)
        .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)
        .replace(/[()]/g, escape);

      var stringifiedAttributes = '';
      for (var attributeName in attributes) {
        if (!attributes[attributeName]) {
          continue
        }

        stringifiedAttributes += '; ' + attributeName;

        if (attributes[attributeName] === true) {
          continue
        }

        // Considers RFC 6265 section 5.2:
        // ...
        // 3.  If the remaining unparsed-attributes contains a %x3B (";")
        //     character:
        // Consume the characters of the unparsed-attributes up to,
        // not including, the first %x3B (";") character.
        // ...
        stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];
      }

      return (document.cookie =
        name + '=' + converter.write(value, name) + stringifiedAttributes)
    }

    function get (name) {
      if (typeof document === 'undefined' || (arguments.length && !name)) {
        return
      }

      // To prevent the for loop in the first place assign an empty array
      // in case there are no cookies at all.
      var cookies = document.cookie ? document.cookie.split('; ') : [];
      var jar = {};
      for (var i = 0; i < cookies.length; i++) {
        var parts = cookies[i].split('=');
        var value = parts.slice(1).join('=');

        try {
          var found = decodeURIComponent(parts[0]);
          jar[found] = converter.read(value, found);

          if (name === found) {
            break
          }
        } catch (e) {}
      }

      return name ? jar[name] : jar
    }

    return Object.create(
      {
        set,
        get,
        remove: function (name, attributes) {
          set(
            name,
            '',
            assign({}, attributes, {
              expires: -1
            })
          );
        },
        withAttributes: function (attributes) {
          return init(this.converter, assign({}, this.attributes, attributes))
        },
        withConverter: function (converter) {
          return init(assign({}, this.converter, converter), this.attributes)
        }
      },
      {
        attributes: { value: Object.freeze(defaultAttributes) },
        converter: { value: Object.freeze(converter) }
      }
    )
  }

  var api = init(defaultConverter, { path: '/' });
  /* eslint-enable no-var */

  return api;

}));


/***/ }),
/* 23 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony default export */ __webpack_exports__["a"] = ({
  /**
   * @description 配置显示在浏览器标签的title
   */
  title: '基础支撑平台(BSP)',
  loginTitle: serverConfig.APP_NAME,
  copyRight: serverConfig.copyRight,
  version: serverConfig.version,
  /**
   * @description token在Cookie中存储的天数,默认1天
   */
  cookieExpires: 1,
  /**
   * @description 是否使用国际化,默认为false
   *              如果不使用,则需要在路由中给需要在菜单中展示的路由设置meta: {title: 'xxx'}
   *              用来在菜单中显示文字
   */
  useI18n: false,
  /**
   * @description api请求基础路径
   */
  baseUrl: {
    dev: '',
    pro: ''
  },
  /**
   * @description 默认打开的首页的路由name值,默认为home
   */
  homeName: '/home',
  /**
   * @description 需要加载的插件
   */
  plugin: {
    'error-store': {
      showInHeader: false, // 设为false后不会在顶部显示错误日志徽标
      developmentOff: false // 设为true后在开发环境不会收集错误信息,方便开发中排查错误
    }
  }
});

/***/ }),
/* 24 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return forEach; });
/* unused harmony export getIntersection */
/* unused harmony export getUnion */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return hasOneOf; });
/* unused harmony export oneOf */
/* unused harmony export getRelativeTime */
/* unused harmony export getExplorer */
/* unused harmony export on */
/* unused harmony export off */
/* unused harmony export hasKey */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return objEqual; });
/* unused harmony export emptyString */
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }

var forEach = function forEach(arr, fn) {
  if (!arr.length || !fn) return;
  var i = -1;
  var len = arr.length;
  while (++i < len) {
    var item = arr[i];
    fn(item, i, arr);
  }
};

/**
 * @param {Array} arr1
 * @param {Array} arr2
 * @description 得到两个数组的交集, 两个数组的元素为数值或字符串
 */
var getIntersection = function getIntersection(arr1, arr2) {
  var len = Math.min(arr1.length, arr2.length);
  var i = -1;
  var res = [];
  while (++i < len) {
    var item = arr2[i];
    if (arr1.indexOf(item) > -1) res.push(item);
  }
  return res;
};

/**
 * @param {Array} arr1
 * @param {Array} arr2
 * @description 得到两个数组的并集, 两个数组的元素为数值或字符串
 */
var getUnion = function getUnion(arr1, arr2) {
  return Array.from(new Set([].concat(_toConsumableArray(arr1), _toConsumableArray(arr2))));
};

/**
 * @param {Array} target 目标数组
 * @param {Array} arr 需要查询的数组
 * @description 判断要查询的数组是否至少有一个元素包含在目标数组中
 */
var hasOneOf = function hasOneOf(targetarr, arr) {
  return targetarr.some(function (_) {
    return arr.indexOf(_) > -1;
  });
};

/**
 * @param {String|Number} value 要验证的字符串或数值
 * @param {*} validList 用来验证的列表
 */
function oneOf(value, validList) {
  for (var i = 0; i < validList.length; i++) {
    if (value === validList[i]) {
      return true;
    }
  }
  return false;
}

/**
 * @param {Number} timeStamp 判断时间戳格式是否是毫秒
 * @returns {Boolean}
 */
var isMillisecond = function isMillisecond(timeStamp) {
  var timeStr = String(timeStamp);
  return timeStr.length > 10;
};

/**
 * @param {Number} timeStamp 传入的时间戳
 * @param {Number} currentTime 当前时间时间戳
 * @returns {Boolean} 传入的时间戳是否早于当前时间戳
 */
var isEarly = function isEarly(timeStamp, currentTime) {
  return timeStamp < currentTime;
};

/**
 * @param {Number} num 数值
 * @returns {String} 处理后的字符串
 * @description 如果传入的数值小于10,即位数只有1位,则在前面补充0
 */
var getHandledValue = function getHandledValue(num) {
  return num < 10 ? '0' + num : num;
};

/**
 * @param {Number} timeStamp 传入的时间戳
 * @param {Number} startType 要返回的时间字符串的格式类型,传入'year'则返回年开头的完整时间
 */
var getDate = function getDate(timeStamp, startType) {
  var d = new Date(timeStamp * 1000);
  var year = d.getFullYear();
  var month = getHandledValue(d.getMonth() + 1);
  var date = getHandledValue(d.getDate());
  var hours = getHandledValue(d.getHours());
  var minutes = getHandledValue(d.getMinutes());
  var second = getHandledValue(d.getSeconds());
  var resStr = '';
  if (startType === 'year') resStr = year + '-' + month + '-' + date + ' ' + hours + ':' + minutes + ':' + second;else resStr = month + '-' + date + ' ' + hours + ':' + minutes;
  return resStr;
};

/**
 * @param {String|Number} timeStamp 时间戳
 * @returns {String} 相对时间字符串
 */
var getRelativeTime = function getRelativeTime(timeStamp) {
  // 判断当前传入的时间戳是秒格式还是毫秒
  var IS_MILLISECOND = isMillisecond(timeStamp);
  // 如果是毫秒格式则转为秒格式
  if (IS_MILLISECOND) Math.floor(timeStamp /= 1000);
  // 传入的时间戳可以是数值或字符串类型,这里统一转为数值类型
  timeStamp = Number(timeStamp);
  // 获取当前时间时间戳
  var currentTime = Math.floor(Date.parse(new Date()) / 1000);
  // 判断传入时间戳是否早于当前时间戳
  var IS_EARLY = isEarly(timeStamp, currentTime);
  // 获取两个时间戳差值
  var diff = currentTime - timeStamp;
  // 如果IS_EARLY为false则差值取反
  if (!IS_EARLY) diff = -diff;
  var resStr = '';
  var dirStr = IS_EARLY ? '前' : '后';
  // 少于等于59秒
  if (diff <= 59) resStr = diff + '秒' + dirStr;
  // 多于59秒,少于等于59分钟59秒
  else if (diff > 59 && diff <= 3599) resStr = Math.floor(diff / 60) + '分钟' + dirStr;
    // 多于59分钟59秒,少于等于23小时59分钟59秒
    else if (diff > 3599 && diff <= 86399) resStr = Math.floor(diff / 3600) + '小时' + dirStr;
      // 多于23小时59分钟59秒,少于等于29天59分钟59秒
      else if (diff > 86399 && diff <= 2623859) resStr = Math.floor(diff / 86400) + '天' + dirStr;
        // 多于29天59分钟59秒,少于364天23小时59分钟59秒,且传入的时间戳早于当前
        else if (diff > 2623859 && diff <= 31567859 && IS_EARLY) resStr = getDate(timeStamp);else resStr = getDate(timeStamp, 'year');
  return resStr;
};

/**
 * @returns {String} 当前浏览器名称
 */
var getExplorer = function getExplorer() {
  var ua = window.navigator.userAgent;
  var isExplorer = function isExplorer(exp) {
    return ua.indexOf(exp) > -1;
  };
  if (isExplorer('MSIE')) return 'IE';else if (isExplorer('Firefox')) return 'Firefox';else if (isExplorer('Chrome')) return 'Chrome';else if (isExplorer('Opera')) return 'Opera';else if (isExplorer('Safari')) return 'Safari';
};

/**
 * @description 绑定事件 on(element, event, handler)
 */
var on = function () {
  if (document.addEventListener) {
    return function (element, event, handler) {
      if (element && event && handler) {
        element.addEventListener(event, handler, false);
      }
    };
  } else {
    return function (element, event, handler) {
      if (element && event && handler) {
        element.attachEvent('on' + event, handler);
      }
    };
  }
}();

/**
 * @description 解绑事件 off(element, event, handler)
 */
var off = function () {
  if (document.removeEventListener) {
    return function (element, event, handler) {
      if (element && event) {
        element.removeEventListener(event, handler, false);
      }
    };
  } else {
    return function (element, event, handler) {
      if (element && event) {
        element.detachEvent('on' + event, handler);
      }
    };
  }
}();

/**
 * 判断一个对象是否存在key,如果传入第二个参数key,则是判断这个obj对象是否存在key这个属性
 * 如果没有传入key这个参数,则判断obj对象是否有键值对
 */
var hasKey = function hasKey(obj, key) {
  if (key) return key in obj;else {
    var keysArr = Object.keys(obj);
    return keysArr.length;
  }
};

/**
 * @param {*} obj1 对象
 * @param {*} obj2 对象
 * @description 判断两个对象是否相等,这两个对象的值只能是数字或字符串
 */
var objEqual = function objEqual(obj1, obj2) {
  var keysArr1 = Object.keys(obj1);
  var keysArr2 = Object.keys(obj2);
  if (keysArr1.length !== keysArr2.length) return false;else if (keysArr1.length === 0 && keysArr2.length === 0) return true;
  /* eslint-disable-next-line */
  else return !keysArr1.some(function (key) {
      return obj1[key] != obj2[key];
    });
};

/* unused harmony default export */ var _unused_webpack_default_export = ({
  objEqual: objEqual,
  getExplorer: getExplorer,
  closeGridModal: function closeGridModal(modalId) {
    window.parent.postMessage({
      cmd: 'closeGridModal',
      modalId: modalId
    }, '*');
  },
  // 字段转驼峰
  toCamel: function toCamel(name) {
    return name.replace(/\_(\w)/g, function (all, letter) {
      return letter.toUpperCase();
    });
  },
  // 对象转驼峰
  objToCamel: function objToCamel(obj) {
    var newObj = {};
    for (var key in obj) {
      var newKey = this.toCamel(key);
      newObj[newKey] = obj[key];
    }
    return newObj;
  },
  validateNum: function validateNum(rule, value, callback) {
    if (isNaN(value) || parseInt(value) < 0) {
      callback(new Error('请输入正确的数字1'));
    } else {
      var num = parseInt(value);
      var n = Math.floor(Number(value));
      if (n !== Infinity && String(n) === value + '' && n >= 0) {
        callback();
      } else {
        callback(new Error('请输入正确的数字'));
      }
    }
  },

  // 只验证数字,不验证非必填
  validateNumOnly: function validateNumOnly(rule, value, callback) {
    if (!value) {
      callback();
    }
    if (parseInt(value) < 0) {
      callback(new Error('请输入正确的数字'));
    } else {
      var num = parseInt(value);
      var n = Math.floor(Number(value));
      if (n !== Infinity && String(n) === value + '' && n >= 0) {
        callback();
      } else {
        callback(new Error('请输入正确的数字'));
      }
    }
  }
});

/**
 * 空字符串返回 true
 * @param str1 ...  多个string
 * @returns {*|boolean}
 */
var emptyString = function emptyString() {
  for (var i = 0; i < arguments.length; i++) {
    if (arguments[i] && arguments[i].trim().length) {
      return false;
    }
  }
  return true;
};

/***/ })
/******/ ]);
});
//# sourceMappingURL=sd-dic-tree-grid.js.map