(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ ["common/vendor"], { "0676": function(e, t) { e.exports = function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, "0c1b": function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var o = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 32, t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, o = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""), a = []; if (n = n || o.length, e) for (var r = 0; r < e; r++) a[r] = o[0 | Math.random() * n]; else { var i; a[8] = a[13] = a[18] = a[23] = "-", a[14] = "4"; for (var c = 0; c < 36; c++) a[c] || (i = 0 | 16 * Math.random(), a[c] = o[19 == c ? 3 & i | 8 : i]) } return t ? (a.shift(), "u" + a.join("")) : a.join("") }; t.default = o }, "0c59": function(e, t, n) { "use strict"; (function(e) { var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.myRequest = t.BASE_URL = t.BASE_IMG_URL = void 0; o(n("d47e")); var a = "https://crm.hebeidazhe.com/addons/crmx/"; t.BASE_URL = a; t.BASE_IMG_URL = "https://crm.hebeidazhe.com/assets/addons/crmx/mini/"; t.myRequest = function(t, n, o) { var r = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3], i = ""; return r && e.showLoading({ title: "加载中..." }), i = "wx", new Promise((function(c, d) { e.request({ url: a + t, method: o || "POST", data: n || {}, header: { "login-type": i, "Content-Type": "application/json", token: e.getStorageSync("token") }, success: function(t) { r && e.hideLoading(), t = t.data, 1 == t.code ? c(t) : 401 == t.code ? e.navigateTo({ url: "/pages/public/login" }) : 402 == t.code || 0 == t.role ? e.showModal({ title: "提示", content: t.msg, showCancel: !1, success: function(t) { e.navigateTo({ url: "/pagesA/profile/mySet/setPersonData/setPersonData" }) } }) : 405 == t.code ? (e.showModal({ title: "提示", content: t.msg, showCancel: !1, success: function(e) {} }), e.reLaunch({ url: "/pages/index/examineing" })) : e.showToast({ title: t.msg, icon: "none" }) }, fail: function(t) { r && e.hideLoading(), e.showToast({ title: "正在拼命加载中", icon: "none" }), d(t) } }) })) } }).call(this, n("543d")["default"]) }, "0dc5": function(e, t, n) { "use strict"; var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function(e, t) { var n = this.$parent; while (n) if (n.$options.name !== e) n = n.$parent; else { var o = function() { var e = {}; if (Array.isArray(t)) t.map((function(t) { e[t] = n[t] ? n[t] : "" })); else for (var o in t) Array.isArray(t[o]) ? t[o].length ? e[o] = t[o] : e[o] = n[o] : t[o].constructor === Object ? Object.keys(t[o]).length ? e[o] = t[o] : e[o] = n[o] : e[o] = t[o] || !1 === t[o] ? t[o] : n[o]; return { v: e } }(); if ("object" === (0, a.default)(o)) return o.v } return {} }; var a = o(n("7037")) }, "11b0": function(e, t) { e.exports = function(e) { if ("undefined" !== typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e) }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, "120a": function(e, t, n) { "use strict"; (function(e) { var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var a = o(n("970b")), r = o(n("5bc3")), i = o(n("432c")), c = o(n("7e41")), d = function() { function t() { var e = this; (0, a.default)(this, t), this.config = { baseUrl: "", header: {}, method: "POST", dataType: "json", responseType: "text", showLoading: !0, loadingText: "请求中...", loadingTime: 800, timer: null, originalData: !1, loadingMask: !0 }, this.interceptor = { request: null, response: null }, this.get = function(t) { var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, o = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; return e.request({ method: "GET", url: t, header: o, data: n }) }, this.post = function(t) { var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, o = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; return e.request({ url: t, method: "POST", header: o, data: n }) }, this.put = function(t) { var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, o = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; return e.request({ url: t, method: "PUT", header: o, data: n }) }, this.delete = function(t) { var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, o = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; return e.request({ url: t, method: "DELETE", header: o, data: n }) } } return (0, r.default)(t, [{ key: "setConfig", value: function(e) { this.config = (0, i.default)(this.config, e) } }, { key: "request", value: function() { var t = this, n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; if (this.interceptor.request && "function" === typeof this.interceptor.request) { var o = this.interceptor.request(n); if (!1 === o) return new Promise((function() {})); this.options = o } return n.dataType = n.dataType || this.config.dataType, n.responseType = n.responseType || this.config.responseType, n.url = n.url || "", n.params = n.params || {}, n.header = Object.assign({}, this.config.header, n.header), n.method = n.method || this.config.method, new Promise((function(o, a) { n.complete = function(n) { if (e.hideLoading(), clearTimeout(t.config.timer), t.config.timer = null, t.config.originalData) if (t.interceptor.response && "function" === typeof t.interceptor.response) { var r = t.interceptor.response(n); !1 !== r ? o(r) : a(n) } else o(n); else if (200 == n.statusCode) if (t.interceptor.response && "function" === typeof t.interceptor.response) { var i = t.interceptor.response(n.data); !1 !== i ? o(i) : a(n.data) } else o(n.data); else a(n) }, n.url = c.default.url(n.url) ? n.url : t.config.baseUrl + (0 == n.url.indexOf("/") ? n.url : "/" + n.url), t.config.showLoading && !t.config.timer && (t.config.timer = setTimeout((function() { e.showLoading({ title: t.config.loadingText, mask: t.config.loadingMask }), t.config.timer = null }), t.config.loadingTime)), e.request(n) })) } }]), t }(), s = new d; t.default = s }).call(this, n("543d")["default"]) }, "129e": function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : void 0, t = this.$parent; while (t) { if (!t.$options || t.$options.name === e) return t; t = t.$parent } return !1 } }, "12a5": function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var o = function(e, t) { if (e >= 0 && t > 0 && t >= e) { var n = t - e + 1; return Math.floor(Math.random() * n + e) } return 0 }; t.default = o }, "154c": function(e, t, n) { "use strict"; (function(e) { Object.defineProperty(t, "__esModule", { value: !0 }), t.pageJumps = void 0; var n = { methods: { selectMemberClick: function() { e.navigateTo({ url: "/pagesA/crm/selectMember/selectMember" }) }, foTimeClick: function() { e.navigateTo({ url: "/pagesA/crm/customerManagement/newFllow/selectTime/selectTime" }) }, followPeopleClick: function() { e.navigateTo({ url: "/pagesA/crm/customerManagement/newFllow/selectLinkman/selectLinkman" }) }, taskRemindClick: function() { e.navigateTo({ url: "/pagesA/crm/customerManagement/newFllow/taskManager/taskManager" }) }, remindWayClick: function() { e.navigateTo({ url: "/pagesA/crm/customerManagement/newFllow/remindWay/remindWay" }) }, selectDateClick: function() { e.navigateTo({ url: "/pagesA/crm/customerManagement/newFllow/selectTime/selectTime" }) } } }; t.pageJumps = n }).call(this, n("543d")["default"]) }, 1606: function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; t.default = { toast: 10090, noNetwork: 10080, popup: 10075, mask: 10070, navbar: 980, topTips: 975, sticky: 970, indexListSticky: 965 } }, 2236: function(e, t, n) { var o = n("5a43"); e.exports = function(e) { if (Array.isArray(e)) return o(e) }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, "26cb": function(e, t, n) { "use strict"; (function(t) { var n = "undefined" !== typeof window ? window : "undefined" !== typeof t ? t : {}, o = n.__VUE_DEVTOOLS_GLOBAL_HOOK__; function a(e, t) { if (void 0 === t && (t = []), null === e || "object" !== typeof e) return e; var n = function(e, t) { return e.filter(t)[0] }(t, (function(t) { return t.original === e })); if (n) return n.copy; var o = Array.isArray(e) ? [] : {}; return t.push({ original: e, copy: o }), Object.keys(e).forEach((function(n) { o[n] = a(e[n], t) })), o } function r(e, t) { Object.keys(e).forEach((function(n) { return t(e[n], n) })) } function i(e) { return null !== e && "object" === typeof e } var c = function(e, t) { this.runtime = t, this._children = Object.create(null), this._rawModule = e; var n = e.state; this.state = ("function" === typeof n ? n() : n) || {} }, d = { namespaced: { configurable: !0 } }; d.namespaced.get = function() { return !!this._rawModule.namespaced }, c.prototype.addChild = function(e, t) { this._children[e] = t }, c.prototype.removeChild = function(e) { delete this._children[e] }, c.prototype.getChild = function(e) { return this._children[e] }, c.prototype.hasChild = function(e) { return e in this._children }, c.prototype.update = function(e) { this._rawModule.namespaced = e.namespaced, e.actions && (this._rawModule.actions = e.actions), e.mutations && (this._rawModule.mutations = e.mutations), e.getters && (this._rawModule.getters = e.getters) }, c.prototype.forEachChild = function(e) { r(this._children, e) }, c.prototype.forEachGetter = function(e) { this._rawModule.getters && r(this._rawModule.getters, e) }, c.prototype.forEachAction = function(e) { this._rawModule.actions && r(this._rawModule.actions, e) }, c.prototype.forEachMutation = function(e) { this._rawModule.mutations && r(this._rawModule.mutations, e) }, Object.defineProperties(c.prototype, d); var s = function(e) { this.register([], e, !1) }; s.prototype.get = function(e) { return e.reduce((function(e, t) { return e.getChild(t) }), this.root) }, s.prototype.getNamespace = function(e) { var t = this.root; return e.reduce((function(e, n) { return t = t.getChild(n), e + (t.namespaced ? n + "/" : "") }), "") }, s.prototype.update = function(e) { (function e(t, n, o) { 0; if (n.update(o), o.modules) for (var a in o.modules) { if (!n.getChild(a)) return void 0; e(t.concat(a), n.getChild(a), o.modules[a]) } })([], this.root, e) }, s.prototype.register = function(e, t, n) { var o = this; void 0 === n && (n = !0); var a = new c(t, n); if (0 === e.length) this.root = a; else { var i = this.get(e.slice(0, -1)); i.addChild(e[e.length - 1], a) } t.modules && r(t.modules, (function(t, a) { o.register(e.concat(a), t, n) })) }, s.prototype.unregister = function(e) { var t = this.get(e.slice(0, -1)), n = e[e.length - 1], o = t.getChild(n); o && o.runtime && t.removeChild(n) }, s.prototype.isRegistered = function(e) { var t = this.get(e.slice(0, -1)), n = e[e.length - 1]; return !!t && t.hasChild(n) }; var l; var u = function(e) { var t = this; void 0 === e && (e = {}), !l && "undefined" !== typeof window && window.Vue && x(window.Vue); var n = e.plugins; void 0 === n && (n = []); var a = e.strict; void 0 === a && (a = !1), this._committing = !1, this._actions = Object.create(null), this._actionSubscribers = [], this._mutations = Object.create(null), this._wrappedGetters = Object.create(null), this._modules = new s(e), this._modulesNamespaceMap = Object.create(null), this._subscribers = [], this._watcherVM = new l, this._makeLocalGettersCache = Object.create(null); var r = this, i = this.dispatch, c = this.commit; this.dispatch = function(e, t) { return i.call(r, e, t) }, this.commit = function(e, t, n) { return c.call(r, e, t, n) }, this.strict = a; var d = this._modules.root.state; g(this, d, [], this._modules.root), p(this, d), n.forEach((function(e) { return e(t) })); var u = void 0 !== e.devtools ? e.devtools : l.config.devtools; u && function(e) { o && (e._devtoolHook = o, o.emit("vuex:init", e), o.on("vuex:travel-to-state", (function(t) { e.replaceState(t) })), e.subscribe((function(e, t) { o.emit("vuex:mutation", e, t) }), { prepend: !0 }), e.subscribeAction((function(e, t) { o.emit("vuex:action", e, t) }), { prepend: !0 })) }(this) }, m = { state: { configurable: !0 } }; function h(e, t, n) { return t.indexOf(e) < 0 && (n && n.prepend ? t.unshift(e) : t.push(e)), function() { var n = t.indexOf(e); n > -1 && t.splice(n, 1) } } function f(e, t) { e._actions = Object.create(null), e._mutations = Object.create(null), e._wrappedGetters = Object.create(null), e._modulesNamespaceMap = Object.create(null); var n = e.state; g(e, n, [], e._modules.root, !0), p(e, n, t) } function p(e, t, n) { var o = e._vm; e.getters = {}, e._makeLocalGettersCache = Object.create(null); var a = e._wrappedGetters, i = {}; r(a, (function(t, n) { i[n] = function(e, t) { return function() { return e(t) } }(t, e), Object.defineProperty(e.getters, n, { get: function() { return e._vm[n] }, enumerable: !0 }) })); var c = l.config.silent; l.config.silent = !0, e._vm = new l({ data: { $$state: t }, computed: i }), l.config.silent = c, e.strict && function(e) { e._vm.$watch((function() { return this._data.$$state }), (function() { 0 }), { deep: !0, sync: !0 }) }(e), o && (n && e._withCommit((function() { o._data.$$state = null })), l.nextTick((function() { return o.$destroy() }))) } function g(e, t, n, o, a) { var r = !n.length, i = e._modules.getNamespace(n); if (o.namespaced && (e._modulesNamespaceMap[i], e._modulesNamespaceMap[i] = o), !r && !a) { var c = v(t, n.slice(0, -1)), d = n[n.length - 1]; e._withCommit((function() { l.set(c, d, o.state) })) } var s = o.context = function(e, t, n) { var o = "" === t, a = { dispatch: o ? e.dispatch : function(n, o, a) { var r = y(n, o, a), i = r.payload, c = r.options, d = r.type; return c && c.root || (d = t + d), e.dispatch(d, i) }, commit: o ? e.commit : function(n, o, a) { var r = y(n, o, a), i = r.payload, c = r.options, d = r.type; c && c.root || (d = t + d), e.commit(d, i, c) } }; return Object.defineProperties(a, { getters: { get: o ? function() { return e.getters } : function() { return function(e, t) { if (!e._makeLocalGettersCache[t]) { var n = {}, o = t.length; Object.keys(e.getters).forEach((function(a) { if (a.slice(0, o) === t) { var r = a.slice(o); Object.defineProperty(n, r, { get: function() { return e.getters[a] }, enumerable: !0 }) } })), e._makeLocalGettersCache[t] = n } return e._makeLocalGettersCache[t] }(e, t) } }, state: { get: function() { return v(e.state, n) } } }), a }(e, i, n); o.forEachMutation((function(t, n) { var o = i + n; (function(e, t, n, o) { var a = e._mutations[t] || (e._mutations[t] = []); a.push((function(t) { n.call(e, o.state, t) })) })(e, o, t, s) })), o.forEachAction((function(t, n) { var o = t.root ? n : i + n, a = t.handler || t; (function(e, t, n, o) { var a = e._actions[t] || (e._actions[t] = []); a.push((function(t) { var a = n.call(e, { dispatch: o.dispatch, commit: o.commit, getters: o.getters, state: o.state, rootGetters: e.getters, rootState: e.state }, t); return function(e) { return e && "function" === typeof e.then }(a) || (a = Promise.resolve(a)), e._devtoolHook ? a.catch((function(t) { throw e._devtoolHook.emit("vuex:error", t), t })) : a })) })(e, o, a, s) })), o.forEachGetter((function(t, n) { var o = i + n; (function(e, t, n, o) { if (e._wrappedGetters[t]) return void 0; e._wrappedGetters[t] = function(e) { return n(o.state, o.getters, e.state, e.getters) } })(e, o, t, s) })), o.forEachChild((function(o, r) { g(e, t, n.concat(r), o, a) })) } function v(e, t) { return t.reduce((function(e, t) { return e[t] }), e) } function y(e, t, n) { return i(e) && e.type && (n = t, t = e, e = e.type), { type: e, payload: t, options: n } } function x(e) { l && e === l || (l = e, /*! * vuex v3.6.2 * (c) 2021 Evan You * @license MIT */ function(e) { var t = Number(e.version.split(".")[0]); if (t >= 2) e.mixin({ beforeCreate: o }); else { var n = e.prototype._init; e.prototype._init = function(e) { void 0 === e && (e = {}), e.init = e.init ? [o].concat(e.init) : o, n.call(this, e) } } function o() { var e = this.$options; e.store ? this.$store = "function" === typeof e.store ? e.store() : e.store : e.parent && e.parent.$store && (this.$store = e.parent.$store) } }(l)) } m.state.get = function() { return this._vm._data.$$state }, m.state.set = function(e) { 0 }, u.prototype.commit = function(e, t, n) { var o = this, a = y(e, t, n), r = a.type, i = a.payload, c = (a.options, { type: r, payload: i }), d = this._mutations[r]; d && (this._withCommit((function() { d.forEach((function(e) { e(i) })) })), this._subscribers.slice().forEach((function(e) { return e(c, o.state) }))) }, u.prototype.dispatch = function(e, t) { var n = this, o = y(e, t), a = o.type, r = o.payload, i = { type: a, payload: r }, c = this._actions[a]; if (c) { try { this._actionSubscribers.slice().filter((function(e) { return e.before })).forEach((function(e) { return e.before(i, n.state) })) } catch (s) { 0 } var d = c.length > 1 ? Promise.all(c.map((function(e) { return e(r) }))) : c[0](r); return new Promise((function(e, t) { d.then((function(t) { try { n._actionSubscribers.filter((function(e) { return e.after })).forEach((function(e) { return e.after(i, n.state) })) } catch (s) { 0 } e(t) }), (function(e) { try { n._actionSubscribers.filter((function(e) { return e.error })).forEach((function(t) { return t.error(i, n.state, e) })) } catch (s) { 0 } t(e) })) })) } }, u.prototype.subscribe = function(e, t) { return h(e, this._subscribers, t) }, u.prototype.subscribeAction = function(e, t) { var n = "function" === typeof e ? { before: e } : e; return h(n, this._actionSubscribers, t) }, u.prototype.watch = function(e, t, n) { var o = this; return this._watcherVM.$watch((function() { return e(o.state, o.getters) }), t, n) }, u.prototype.replaceState = function(e) { var t = this; this._withCommit((function() { t._vm._data.$$state = e })) }, u.prototype.registerModule = function(e, t, n) { void 0 === n && (n = {}), "string" === typeof e && (e = [e]), this._modules.register(e, t), g(this, this.state, e, this._modules.get(e), n.preserveState), p(this, this.state) }, u.prototype.unregisterModule = function(e) { var t = this; "string" === typeof e && (e = [e]), this._modules.unregister(e), this._withCommit((function() { var n = v(t.state, e.slice(0, -1)); l.delete(n, e[e.length - 1]) })), f(this) }, u.prototype.hasModule = function(e) { return "string" === typeof e && (e = [e]), this._modules.isRegistered(e) }, u.prototype[[104, 111, 116, 85, 112, 100, 97, 116, 101].map((function(e) { return String.fromCharCode(e) })).join("")] = function(e) { this._modules.update(e), f(this, !0) }, u.prototype._withCommit = function(e) { var t = this._committing; this._committing = !0, e(), this._committing = t }, Object.defineProperties(u.prototype, m); var b = T((function(e, t) { var n = {}; return S(t).forEach((function(t) { var o = t.key, a = t.val; n[o] = function() { var t = this.$store.state, n = this.$store.getters; if (e) { var o = C(this.$store, "mapState", e); if (!o) return; t = o.context.state, n = o.context.getters } return "function" === typeof a ? a.call(this, t, n) : t[a] }, n[o].vuex = !0 })), n })), _ = T((function(e, t) { var n = {}; return S(t).forEach((function(t) { var o = t.key, a = t.val; n[o] = function() { var t = [], n = arguments.length; while (n--) t[n] = arguments[n]; var o = this.$store.commit; if (e) { var r = C(this.$store, "mapMutations", e); if (!r) return; o = r.context.commit } return "function" === typeof a ? a.apply(this, [o].concat(t)) : o.apply(this.$store, [a].concat(t)) } })), n })), w = T((function(e, t) { var n = {}; return S(t).forEach((function(t) { var o = t.key, a = t.val; a = e + a, n[o] = function() { if (!e || C(this.$store, "mapGetters", e)) return this.$store.getters[a] }, n[o].vuex = !0 })), n })), A = T((function(e, t) { var n = {}; return S(t).forEach((function(t) { var o = t.key, a = t.val; n[o] = function() { var t = [], n = arguments.length; while (n--) t[n] = arguments[n]; var o = this.$store.dispatch; if (e) { var r = C(this.$store, "mapActions", e); if (!r) return; o = r.context.dispatch } return "function" === typeof a ? a.apply(this, [o].concat(t)) : o.apply(this.$store, [a].concat(t)) } })), n })); function S(e) { return function(e) { return Array.isArray(e) || i(e) }(e) ? Array.isArray(e) ? e.map((function(e) { return { key: e, val: e } })) : Object.keys(e).map((function(t) { return { key: t, val: e[t] } })) : [] } function T(e) { return function(t, n) { return "string" !== typeof t ? (n = t, t = "") : "/" !== t.charAt(t.length - 1) && (t += "/"), e(t, n) } } function C(e, t, n) { var o = e._modulesNamespaceMap[n]; return o } function P(e, t, n) { var o = n ? e.groupCollapsed : e.group; try { o.call(e, t) } catch (a) { e.log(t) } } function k(e) { try { e.groupEnd() } catch (t) { e.log("—— log end ——") } } function D() { var e = new Date; return " @ " + M(e.getHours(), 2) + ":" + M(e.getMinutes(), 2) + ":" + M(e.getSeconds(), 2) + "." + M(e.getMilliseconds(), 3) } function M(e, t) { return function(e, t) { return new Array(t + 1).join(e) }("0", t - e.toString().length) + e } var O = { Store: u, install: x, version: "3.6.2", mapState: b, mapMutations: _, mapGetters: w, mapActions: A, createNamespacedHelpers: function(e) { return { mapState: b.bind(null, e), mapGetters: w.bind(null, e), mapMutations: _.bind(null, e), mapActions: A.bind(null, e) } }, createLogger: function(e) { void 0 === e && (e = {}); var t = e.collapsed; void 0 === t && (t = !0); var n = e.filter; void 0 === n && (n = function(e, t, n) { return !0 }); var o = e.transformer; void 0 === o && (o = function(e) { return e }); var r = e.mutationTransformer; void 0 === r && (r = function(e) { return e }); var i = e.actionFilter; void 0 === i && (i = function(e, t) { return !0 }); var c = e.actionTransformer; void 0 === c && (c = function(e) { return e }); var d = e.logMutations; void 0 === d && (d = !0); var s = e.logActions; void 0 === s && (s = !0); var l = e.logger; return void 0 === l && (l = console), function(e) { var u = a(e.state); "undefined" !== typeof l && (d && e.subscribe((function(e, i) { var c = a(i); if (n(e, u, c)) { var d = D(), s = r(e), m = "mutation " + e.type + d; P(l, m, t), l.log("%c prev state", "color: #9E9E9E; font-weight: bold", o(u)), l.log("%c mutation", "color: #03A9F4; font-weight: bold", s), l.log("%c next state", "color: #4CAF50; font-weight: bold", o(c)), k(l) } u = c })), s && e.subscribeAction((function(e, n) { if (i(e, n)) { var o = D(), a = c(e), r = "action " + e.type + o; P(l, r, t), l.log("%c action", "color: #03A9F4; font-weight: bold", a), k(l) } }))) } } }; e.exports = O }).call(this, n("c8ba")) }, "278c": function(e, t, n) { var o = n("c135"), a = n("9b42"), r = n("6613"), i = n("c240"); e.exports = function(e, t) { return o(e) || a(e, t) || r(e, t) || i() }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 2851: function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.judgeType = t.gegerateDates = t.formatDate = t.equalDate = t.dateEqual = void 0; var o = function(e, t) { /(y+)/.test(t) && (t = t.replace(RegExp.$1, (e.getFullYear() + "").substr(4 - RegExp.$1.length))); var n = { "M+": e.getMonth() + 1, "d+": e.getDate(), "h+": e.getHours(), "m+": e.getMinutes(), "s+": e.getSeconds() }; for (var o in n) if (new RegExp("(".concat(o, ")")).test(t)) { var r = n[o] + ""; t = t.replace(RegExp.$1, 1 === RegExp.$1.length ? r : a(r)) } return t }; t.formatDate = o; var a = function(e) { return ("00" + e).substr(e.length) }, r = function(e) { return Object.prototype.toString.call(e).slice(8, -1) }; t.judgeType = r; var i = function(e, t) { var n = !1; return e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth() && e.getDate() === t.getDate() && (n = !0), n }; t.equalDate = i; t.dateEqual = function(e, t) { return e = new Date(e.replace("-", "/").replace("-", "/")), t = new Date(t.replace("-", "/").replace("-", "/")), e.getTime() - t.getTime() === 0 }; t.gegerateDates = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : new Date, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "week", n = []; if ("Date" === r(e)) { var a = e.getFullYear(), c = e.getMonth(), d = e.getDate(), s = new Date(a, c + 1, 0).getDate(), l = 0 === e.getDay() ? 7 : e.getDay(); if ("month" === t) { var u = new Date(a, c, 1); l = 0 === u.getDay() ? 7 : u.getDay() } if ("week" === t) { for (var m = l - 1; m > 0; m--) { var h = new Date(a, c, d); h.setDate(h.getDate() - m), n.push({ time: h, show: !0, fullDate: o(h, "yyyy-MM-dd"), isToday: i(new Date, h) }) } for (var f = 0; f <= 7 - l; f++) { var p = new Date(a, c, d); p.setDate(p.getDate() + f), n.push({ time: p, show: !0, fullDate: o(p, "yyyy-MM-dd"), isToday: i(new Date, p) }) } } else if ("month" === t) { for (var g = l - 1; g > 0; g--) { var v = new Date(a, c, 1); v.setDate(v.getDate() - g), n.push({ time: v, show: !1, fullDate: o(v, "yyyy-MM-dd"), isToday: i(new Date, v) }) } for (var y = 0; y < s; y++) { var x = new Date(a, c, 1); x.setDate(x.getDate() + y), n.push({ time: x, show: !0, fullDate: o(x, "yyyy-MM-dd"), isToday: i(new Date, x) }) } for (var b = 42 - n.length, _ = 1; _ <= b; _++) { var w = new Date(a, c + 1, 0); w.setDate(w.getDate() + _), n.push({ time: w, show: !1, fullDate: o(w, "yyyy-MM-dd"), isToday: i(new Date, w) }) } } } return n } }, "2a07": function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var o = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "brackets", o = t ? "?" : "", a = []; - 1 == ["indices", "brackets", "repeat", "comma"].indexOf(n) && (n = "brackets"); var r = function(t) { var o = e[t]; if (["", void 0, null].indexOf(o) >= 0) return "continue"; if (o.constructor === Array) switch (n) { case "indices": for (var r = 0; r < o.length; r++) a.push(t + "[" + r + "]=" + o[r]); break; case "brackets": o.forEach((function(e) { a.push(t + "[]=" + e) })); break; case "repeat": o.forEach((function(e) { a.push(t + "=" + e) })); break; case "comma": var i = ""; o.forEach((function(e) { i += (i ? "," : "") + e })), a.push(t + "=" + i); break; default: o.forEach((function(e) { a.push(t + "[]=" + e) })) } else a.push(t + "=" + o) }; for (var i in e) r(i); return a.length ? o + a.join("&") : "" }; t.default = o }, "2eee": function(e, t, n) { var o = n("7ec2")(); e.exports = o }, "37dc": function(e, t, n) { "use strict"; (function(e, o) { var a = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.LOCALE_ZH_HANT = t.LOCALE_ZH_HANS = t.LOCALE_FR = t.LOCALE_ES = t.LOCALE_EN = t.I18n = t.Formatter = void 0, t.compileI18nJsonStr = function(e, t) { var n = t.locale, o = t.locales, a = t.delimiters; if (!C(e, a)) return e; S || (S = new m); var r = []; Object.keys(o).forEach((function(e) { e !== n && r.push({ locale: e, values: o[e] }) })), r.unshift({ locale: n, values: o[n] }); try { return JSON.stringify(k(JSON.parse(e), r, a), null, 2) } catch (i) {} return e }, t.hasI18nJson = function e(t, n) { S || (S = new m); return D(t, (function(t, o) { var a = t[o]; return T(a) ? !!C(a, n) || void 0 : e(a, n) })) }, t.initVueI18n = function(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = arguments.length > 2 ? arguments[2] : void 0, o = arguments.length > 3 ? arguments[3] : void 0; if ("string" !== typeof e) { var a = [t, e]; e = a[0], t = a[1] } "string" !== typeof e && (e = A()); "string" !== typeof n && (n = "undefined" !== typeof __uniConfig && __uniConfig.fallbackLocale || "en"); var r = new _({ locale: e, fallbackLocale: n, messages: t, watcher: o }), i = function(e, t) { if ("function" !== typeof getApp) i = function(e, t) { return r.t(e, t) }; else { var n = !1; i = function(e, t) { var o = getApp().$vm; return o && (o.$locale, n || (n = !0, w(o, r))), r.t(e, t) } } return i(e, t) }; return { i18n: r, f: function(e, t, n) { return r.f(e, t, n) }, t: function(e, t) { return i(e, t) }, add: function(e, t) { var n = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2]; return r.add(e, t, n) }, watch: function(e) { return r.watchLocale(e) }, getLocale: function() { return r.getLocale() }, setLocale: function(e) { return r.setLocale(e) } } }, t.isI18nStr = C, t.isString = void 0, t.normalizeLocale = b, t.parseI18nJson = function e(t, n, o) { S || (S = new m); return D(t, (function(t, a) { var r = t[a]; T(r) ? C(r, o) && (t[a] = P(r, n, o)) : e(r, n, o) })), t }, t.resolveLocale = function(e) { return function(t) { return t ? (t = b(t) || t, function(e) { var t = [], n = e.split("-"); while (n.length) t.push(n.join("-")), n.pop(); return t }(t).find((function(t) { return e.indexOf(t) > -1 }))) : t } }; var r = a(n("278c")), i = a(n("970b")), c = a(n("5bc3")), d = a(n("7037")), s = Array.isArray, l = function(e) { return null !== e && "object" === (0, d.default)(e) }, u = ["{", "}"], m = function() { function e() { (0, i.default)(this, e), this._caches = Object.create(null) } return (0, c.default)(e, [{ key: "interpolate", value: function(e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : u; if (!t) return [e]; var o = this._caches[e]; return o || (o = p(e, n), this._caches[e] = o), g(o, t) } }]), e }(); t.Formatter = m; var h = /^(?:\d)+/, f = /^(?:\w)+/; function p(e, t) { var n = (0, r.default)(t, 2), o = n[0], a = n[1], i = [], c = 0, d = ""; while (c < e.length) { var s = e[c++]; if (s === o) { d && i.push({ type: "text", value: d }), d = ""; var l = ""; s = e[c++]; while (void 0 !== s && s !== a) l += s, s = e[c++]; var u = s === a, m = h.test(l) ? "list" : u && f.test(l) ? "named" : "unknown"; i.push({ value: l, type: m }) } else d += s } return d && i.push({ type: "text", value: d }), i } function g(e, t) { var n = [], o = 0, a = s(t) ? "list" : l(t) ? "named" : "unknown"; if ("unknown" === a) return n; while (o < e.length) { var r = e[o]; switch (r.type) { case "text": n.push(r.value); break; case "list": n.push(t[parseInt(r.value, 10)]); break; case "named": "named" === a && n.push(t[r.value]); break; case "unknown": 0; break } o++ } return n } t.LOCALE_ZH_HANS = "zh-Hans"; t.LOCALE_ZH_HANT = "zh-Hant"; t.LOCALE_EN = "en"; t.LOCALE_FR = "fr"; t.LOCALE_ES = "es"; var v = Object.prototype.hasOwnProperty, y = function(e, t) { return v.call(e, t) }, x = new m; function b(e, t) { if (e) { if (e = e.trim().replace(/_/g, "-"), t && t[e]) return e; if (e = e.toLowerCase(), 0 === e.indexOf("zh")) return e.indexOf("-hans") > -1 ? "zh-Hans" : e.indexOf("-hant") > -1 || function(e, t) { return !!t.find((function(t) { return -1 !== e.indexOf(t) })) }(e, ["-tw", "-hk", "-mo", "-cht"]) ? "zh-Hant" : "zh-Hans"; var n = function(e, t) { return t.find((function(t) { return 0 === e.indexOf(t) })) }(e, ["en", "fr", "es"]); return n || void 0 } } var _ = function() { function e(t) { var n = t.locale, o = t.fallbackLocale, a = t.messages, r = t.watcher, c = t.formater; (0, i.default)(this, e), this.locale = "en", this.fallbackLocale = "en", this.message = {}, this.messages = {}, this.watchers = [], o && (this.fallbackLocale = o), this.formater = c || x, this.messages = a || {}, this.setLocale(n || "en"), r && this.watchLocale(r) } return (0, c.default)(e, [{ key: "setLocale", value: function(e) { var t = this, n = this.locale; this.locale = b(e, this.messages) || this.fallbackLocale, this.messages[this.locale] || (this.messages[this.locale] = {}), this.message = this.messages[this.locale], n !== this.locale && this.watchers.forEach((function(e) { e(t.locale, n) })) } }, { key: "getLocale", value: function() { return this.locale } }, { key: "watchLocale", value: function(e) { var t = this, n = this.watchers.push(e) - 1; return function() { t.watchers.splice(n, 1) } } }, { key: "add", value: function(e, t) { var n = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2], o = this.messages[e]; o ? n ? Object.assign(o, t) : Object.keys(t).forEach((function(e) { y(o, e) || (o[e] = t[e]) })) : this.messages[e] = t } }, { key: "f", value: function(e, t, n) { return this.formater.interpolate(e, t, n).join("") } }, { key: "t", value: function(e, t, n) { var o = this.message; return "string" === typeof t ? (t = b(t, this.messages), t && (o = this.messages[t])) : n = t, y(o, e) ? this.formater.interpolate(o[e], n).join("") : (console.warn("Cannot translate the value of keypath ".concat(e, ". Use the value of keypath as default.")), e) } }]), e }(); function w(e, t) { e.$watchLocale ? e.$watchLocale((function(e) { t.setLocale(e) })) : e.$watch((function() { return e.$locale }), (function(e) { t.setLocale(e) })) } function A() { return "undefined" !== typeof e && e.getLocale ? e.getLocale() : "undefined" !== typeof o && o.getLocale ? o.getLocale() : "en" } t.I18n = _; var S, T = function(e) { return "string" === typeof e }; function C(e, t) { return e.indexOf(t[0]) > -1 } function P(e, t, n) { return S.interpolate(e, t, n).join("") } function k(e, t, n) { return D(e, (function(e, o) { (function(e, t, n, o) { var a = e[t]; if (T(a)) { if (C(a, o) && (e[t] = P(a, n[0].values, o), n.length > 1)) { var r = e[t + "Locales"] = {}; n.forEach((function(e) { r[e.locale] = P(a, e.values, o) })) } } else k(a, n, o) })(e, o, t, n) })), e } function D(e, t) { if (s(e)) { for (var n = 0; n < e.length; n++) if (t(e, n)) return !0 } else if (l(e)) for (var o in e) if (t(e, o)) return !0; return !1 } t.isString = T }).call(this, n("543d")["default"], n("c8ba")) }, "3a1f": function(e, t, n) { "use strict"; (function(e) { Object.defineProperty(t, "__esModule", { value: !0 }), t.pageJumps = void 0; var n = { methods: { toContractDetail: function(t) { e.navigateTo({ url: "/pages/index/groupCompany/contract/contractDetail?id=" + t }) }, toMore: function(t) { e.navigateTo({ url: "/pages/index/groupCompany/groupCompany?id=" + t }) }, jumpDetail: function(t) { e.navigateTo({ url: "/pages/index/groupCompany/contact/contactDetail?id=" + t }) }, moreClick: function(t) { e.navigateTo({ url: "/pagesA/crm/cluesManagement/cluesMore/cluesMore?id=" + t }) }, gotoVaried: function(t) { switch (t) { case 0: e.navigateTo({ url: "/pages/index/locationMap/locationMap" }); break; case 1: e.navigateTo({ url: "/pages/index/groupCompany/groupCompany" }); break; case 2: e.showToast({ title: "员工页面未完成,无法跳转", icon: "none", duration: 1e3 }); break; case 3: e.showToast({ title: "工作日报设计图报错,无法跳转", icon: "none", duration: 1e3 }); break } }, detail: function() { e.showToast({ title: "排行榜设计图报错,无法跳转", icon: "none", duration: 1e3 }) }, redactSchedule: function() { e.showToast({ title: "编辑日程页面未完成,无法跳转", icon: "none", duration: 1e3 }) } } }; t.pageJumps = n }).call(this, n("543d")["default"]) }, "40ff": function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var o = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "success", t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; - 1 == ["primary", "info", "error", "warning", "success"].indexOf(e) && (e = "success"); var n = ""; switch (e) { case "primary": n = "info-circle"; break; case "info": n = "info-circle"; break; case "error": n = "close-circle"; break; case "warning": n = "error-circle"; break; case "success": n = "checkmark-circle"; break; default: n = "checkmark-circle" } return t && (n += "-fill"), n }; t.default = o }, "432c": function(e, t, n) { "use strict"; var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var a = o(n("7037")), r = o(n("a913")); var i = function e() { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; if (t = (0, r.default)(t), "object" !== (0, a.default)(t) || "object" !== (0, a.default)(n)) return !1; for (var o in n) n.hasOwnProperty(o) && (o in t ? "object" !== (0, a.default)(t[o]) || "object" !== (0, a.default)(n[o]) ? t[o] = n[o] : t[o].concat && n[o].concat ? t[o] = t[o].concat(n[o]) : t[o] = e(t[o], n[o]) : t[o] = n[o]); return t }; t.default = i }, 4395: function(e, t, n) { "use strict"; var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var a = o(n("278c")), r = o(n("7037")), i = { version: "v2.4.3-20220505", yAxisWidth: 15, xAxisHeight: 22, xAxisTextPadding: 3, padding: [10, 10, 10, 10], pixelRatio: 1, rotate: !1, fontSize: 13, fontColor: "#666666", dataPointShape: ["circle", "circle", "circle", "circle"], color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4", "#ea7ccc"], linearColor: ["#0EE2F8", "#2BDCA8", "#FA7D8D", "#EB88E2", "#2AE3A0", "#0EE2F8", "#EB88E2", "#6773E3", "#F78A85"], pieChartLinePadding: 15, pieChartTextPadding: 5, titleFontSize: 20, subtitleFontSize: 15, toolTipPadding: 3, toolTipBackground: "#000000", toolTipOpacity: .7, toolTipLineHeight: 20, radarLabelTextMargin: 13 }, c = function(e) { for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), o = 1; o < t; o++) n[o - 1] = arguments[o]; if (null == e) throw new TypeError("[uCharts] Cannot convert undefined or null to object"); if (!n || n.length <= 0) return e; function a(e, t) { for (var n in t) e[n] = e[n] && "[object Object]" === e[n].toString() ? a(e[n], t[n]) : e[n] = t[n]; return e } return n.forEach((function(t) { e = a(e, t) })), e }, d = { toFixed: function(e, t) { return t = t || 2, this.isFloat(e) && (e = e.toFixed(t)), e }, isFloat: function(e) { return e % 1 !== 0 }, approximatelyEqual: function(e, t) { return Math.abs(e - t) < 1e-10 }, isSameSign: function(e, t) { return Math.abs(e) === e && Math.abs(t) === t || Math.abs(e) !== e && Math.abs(t) !== t }, isSameXCoordinateArea: function(e, t) { return this.isSameSign(e.x, t.x) }, isCollision: function(e, t) { e.end = {}, e.end.x = e.start.x + e.width, e.end.y = e.start.y - e.height, t.end = {}, t.end.x = t.start.x + t.width, t.end.y = t.start.y - t.height; var n = t.start.x > e.end.x || t.end.x < e.start.x || t.end.y > e.start.y || t.start.y < e.end.y; return !n } }; function s(e, t) { var n = e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (function(e, t, n, o) { return t + t + n + n + o + o })), o = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n), a = parseInt(o[1], 16), r = parseInt(o[2], 16), i = parseInt(o[3], 16); return "rgba(" + a + "," + r + "," + i + "," + t + ")" } function l(e, t, n) { if (isNaN(e)) throw new Error("[uCharts] series数据需为Number格式"); n = n || 10, t = t || "upper"; var o = 1; while (n < 1) n *= 10, o *= 10; e = "upper" === t ? Math.ceil(e * o) : Math.floor(e * o); while (e % n !== 0) if ("upper" === t) { if (e == e + 1) break; e++ } else e--; return e / o } function u(e, t, n, o, a) { var r = a.width - a.area[1] - a.area[3], i = n.eachSpacing * (a.chartData.xAxisData.xAxisPoints.length - 1); "mount" == a.type && a.extra && a.extra.mount && a.extra.mount.widthRatio && a.extra.mount.widthRatio > 1 && (a.extra.mount.widthRatio > 2 && (a.extra.mount.widthRatio = 2), i += (a.extra.mount.widthRatio - 1) * n.eachSpacing); var c = t; return t >= 0 ? (c = 0, e.uevent.trigger("scrollLeft"), e.scrollOption.position = "left", a.xAxis.scrollPosition = "left") : Math.abs(t) >= i - r ? (c = r - i, e.uevent.trigger("scrollRight"), e.scrollOption.position = "right", a.xAxis.scrollPosition = "right") : (e.scrollOption.position = t, a.xAxis.scrollPosition = t), c } function m(e, t, n) { function o(e) { while (e < 0) e += 2 * Math.PI; while (e > 2 * Math.PI) e -= 2 * Math.PI; return e } return e = o(e), t = o(t), n = o(n), t > n && (n += 2 * Math.PI, e < t && (e += 2 * Math.PI)), e >= t && e <= n } function h(e, t) { function n(e, t) { return !(!e[t - 1] || !e[t + 1]) && (e[t].y >= Math.max(e[t - 1].y, e[t + 1].y) || e[t].y <= Math.min(e[t - 1].y, e[t + 1].y)) } function o(e, t) { return !(!e[t - 1] || !e[t + 1]) && (e[t].x >= Math.max(e[t - 1].x, e[t + 1].x) || e[t].x <= Math.min(e[t - 1].x, e[t + 1].x)) } var a = .2, r = .2, i = null, c = null, d = null, s = null; if (t < 1 ? (i = e[0].x + (e[1].x - e[0].x) * a, c = e[0].y + (e[1].y - e[0].y) * a) : (i = e[t].x + (e[t + 1].x - e[t - 1].x) * a, c = e[t].y + (e[t + 1].y - e[t - 1].y) * a), t > e.length - 3) { var l = e.length - 1; d = e[l].x - (e[l].x - e[l - 1].x) * r, s = e[l].y - (e[l].y - e[l - 1].y) * r } else d = e[t + 1].x - (e[t + 2].x - e[t].x) * r, s = e[t + 1].y - (e[t + 2].y - e[t].y) * r; return n(e, t + 1) && (s = e[t + 1].y), n(e, t) && (c = e[t].y), o(e, t + 1) && (d = e[t + 1].x), o(e, t) && (i = e[t].x), (c >= Math.max(e[t].y, e[t + 1].y) || c <= Math.min(e[t].y, e[t + 1].y)) && (c = e[t].y), (s >= Math.max(e[t].y, e[t + 1].y) || s <= Math.min(e[t].y, e[t + 1].y)) && (s = e[t + 1].y), (i >= Math.max(e[t].x, e[t + 1].x) || i <= Math.min(e[t].x, e[t + 1].x)) && (i = e[t].x), (d >= Math.max(e[t].x, e[t + 1].x) || d <= Math.min(e[t].x, e[t + 1].x)) && (d = e[t + 1].x), { ctrA: { x: i, y: c }, ctrB: { x: d, y: s } } } function f(e, t, n) { return { x: n.x + e, y: n.y - t } } function p(e, t) { if (t) while (d.isCollision(e, t)) e.start.x > 0 ? e.start.y-- : e.start.x < 0 || e.start.y > 0 ? e.start.y++ : e.start.y--; return e } function g(e, t, n) { for (var o = 0, a = 0; a < e.length; a++) { var r = e[a]; if (r.color || (r.color = n.color[o], o = (o + 1) % n.color.length), r.linearIndex || (r.linearIndex = a), r.index || (r.index = 0), r.type || (r.type = t.type), "undefined" == typeof r.show && (r.show = !0), r.type || (r.type = t.type), r.pointShape || (r.pointShape = "circle"), !r.legendShape) switch (r.type) { case "line": r.legendShape = "line"; break; case "column": case "bar": r.legendShape = "rect"; break; case "area": case "mount": r.legendShape = "triangle"; break; default: r.legendShape = "circle" } } return e } function v(e, t, n, o) { var a = t || []; if ("custom" == e && 0 == a.length && (a = o.linearColor), "custom" == e && a.length < n.length) for (var r = n.length - a.length, i = 0; i < r; i++) a.push(o.linearColor[(i + 1) % o.linearColor.length]); return a } function y(e, t) { var n = 0, o = t - e; return n = o >= 1e4 ? 1e3 : o >= 1e3 ? 100 : o >= 100 ? 10 : o >= 10 ? 5 : o >= 1 ? 1 : o >= .1 ? .1 : o >= .01 ? .01 : o >= .001 ? .001 : o >= 1e-4 ? 1e-4 : o >= 1e-5 ? 1e-5 : 1e-6, { minRange: l(e, "lower", n), maxRange: l(t, "upper", n) } } function x(e, t, n) { var o = 0; if (e = String(e), !1 !== n && void 0 !== n && n.setFontSize && n.measureText) return n.setFontSize(t), n.measureText(e).width; e = e.split(""); for (var a = 0; a < e.length; a++) { var r = e[a]; /[a-zA-Z]/.test(r) ? o += 7 : /[0-9]/.test(r) ? o += 5.5 : /\./.test(r) ? o += 2.7 : /-/.test(r) ? o += 3.25 : /:/.test(r) ? o += 2.5 : /[\u4e00-\u9fa5]/.test(r) ? o += 10 : /\(|\)/.test(r) ? o += 3.73 : /\s/.test(r) ? o += 2.5 : /%/.test(r) ? o += 8 : o += 10 } return o * t / 10 } function b(e) { return e.reduce((function(e, t) { return (e.data ? e.data : e).concat(t.data) }), []) } function _(e, t) { for (var n = new Array(t), o = 0; o < n.length; o++) n[o] = 0; for (var a = 0; a < e.length; a++) for (o = 0; o < n.length; o++) n[o] += e[a].data[o]; return e.reduce((function(e, t) { return (e.data ? e.data : e).concat(t.data).concat(n) }), []) } function w(e, t, n) { var o, a; return e.clientX ? t.rotate ? (a = t.height - e.clientX * t.pix, o = (e.pageY - n.currentTarget.offsetTop - t.height / t.pix / 2 * (t.pix - 1)) * t.pix) : (o = e.clientX * t.pix, a = (e.pageY - n.currentTarget.offsetTop - t.height / t.pix / 2 * (t.pix - 1)) * t.pix) : t.rotate ? (a = t.height - e.x * t.pix, o = e.y * t.pix) : (o = e.x * t.pix, a = e.y * t.pix), { x: o, y: a } } function A(e, t, n) { var o = [], a = [], r = t.constructor.toString().indexOf("Array") > -1; if (r) for (var i = D(e), c = 0; c < n.length; c++) a.push(i[n[c]]); else a = e; for (var d = 0; d < a.length; d++) { var s = a[d], l = -1; if (l = r ? t[d] : t, null !== s.data[l] && "undefined" !== typeof s.data[l] && s.show) { var u = {}; u.color = s.color, u.type = s.type, u.style = s.style, u.pointShape = s.pointShape, u.disableLegend = s.disableLegend, u.name = s.name, u.show = s.show, u.data = s.formatter ? s.formatter(s.data[l]) : s.data[l], o.push(u) } } return o } function S(e, t, n) { var o = e.map((function(e) { return x(e, t, n) })); return Math.max.apply(null, o) } function T(e) { for (var t = 2 * Math.PI / e, n = [], o = 0; o < e; o++) n.push(t * o); return n.map((function(e) { return -1 * e + Math.PI / 2 })) } function C(e, t, n, o, a) { var r = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : {}, i = t.chartData.calPoints ? t.chartData.calPoints : [], c = {}; if (o.length > 0) { for (var d = [], s = 0; s < o.length; s++) d.push(i[o[s]]); c = d[0][n[0]] } else for (var l = 0; l < i.length; l++) if (i[l][n]) { c = i[l][n]; break } var u = e.map((function(e) { var o = null; return t.categories && t.categories.length > 0 && (o = a[n]), { text: r.formatter ? r.formatter(e, o, n, t) : e.name + ": " + e.data, color: e.color } })), m = { x: Math.round(c.x), y: Math.round(c.y) }; return { textList: u, offset: m } } function P(e, t, n, o) { var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : {}, r = t.chartData.xAxisPoints[n] + t.chartData.eachSpacing / 2, i = e.map((function(e) { return { text: a.formatter ? a.formatter(e, o[n], n, t) : e.name + ": " + e.data, color: e.color, disableLegend: !!e.disableLegend } })); i = i.filter((function(e) { if (!0 !== e.disableLegend) return e })); var c = { x: Math.round(r), y: 0 }; return { textList: i, offset: c } } function k(e, t, n, o, a, r) { var i = n.chartData.calPoints, c = r.color.upFill, d = r.color.downFill, s = [c, c, d, c], l = []; t.map((function(t) { 0 == o ? t.data[1] - t.data[0] < 0 ? s[1] = d : s[1] = c : (t.data[0] < e[o - 1][1] && (s[0] = d), t.data[1] < t.data[0] && (s[1] = d), t.data[2] > e[o - 1][1] && (s[2] = c), t.data[3] < e[o - 1][1] && (s[3] = d)); var n = { text: "开盘:" + t.data[0], color: s[0] }, a = { text: "收盘:" + t.data[1], color: s[1] }, r = { text: "最低:" + t.data[2], color: s[2] }, i = { text: "最高:" + t.data[3], color: s[3] }; l.push(n, a, r, i) })); for (var u = [], m = { x: 0, y: 0 }, h = 0; h < i.length; h++) { var f = i[h]; "undefined" !== typeof f[o] && null !== f[o] && u.push(f[o]) } return m.x = Math.round(u[0][0].x), { textList: l, offset: m } } function D(e) { for (var t = [], n = 0; n < e.length; n++) 1 == e[n].show && t.push(e[n]); return t } function M(e, t, n) { return e.x <= t.width - t.area[1] + 10 && e.x >= t.area[3] - 10 && e.y >= t.area[0] && e.y <= t.height - t.area[2] } function O(e, t, n) { return Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2) <= Math.pow(n, 2) } function L(e, t) { var n = [], o = []; return e.forEach((function(e, a) { t.connectNulls ? null !== e && o.push(e) : null !== e ? o.push(e) : (o.length && n.push(o), o = []) })), o.length && n.push(o), n } function R(e, t, n, o, a) { var r = { angle: 0, xAxisHeight: n.xAxisHeight }, i = t.xAxis.fontSize * t.pix || n.fontSize, c = e.map((function(e, n) { var o = t.xAxis.formatter ? t.xAxis.formatter(e, n, t) : e; return x(String(o), i, a) })), d = Math.max.apply(this, c); if (1 == t.xAxis.rotateLabel) { r.angle = t.xAxis.rotateAngle * Math.PI / 180; var s = 2 * n.xAxisTextPadding + Math.abs(d * Math.sin(r.angle)); s = s < i + 2 * n.xAxisTextPadding ? s + 2 * n.xAxisTextPadding : s, 1 == t.enableScroll && 1 == t.xAxis.scrollShow && (s += 12 * t.pix), r.xAxisHeight = s } return t.xAxis.disabled && (r.xAxisHeight = 0), r } function F(e, t, n, o) { var a = c({}, { type: "" }, t.extra.bar), i = { angle: 0, xAxisHeight: n.xAxisHeight }; i.ranges = function(e, t, n, o) { var a, i = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : -1; a = "stack" == o ? _(e, t.categories.length) : b(e); var c = []; a = a.filter((function(e) { return "object" === (0, r.default)(e) && null !== e ? e.constructor.toString().indexOf("Array") > -1 ? null !== e : null !== e.value : null !== e })), a.map((function(e) { "object" === (0, r.default)(e) ? e.constructor.toString().indexOf("Array") > -1 ? "candle" == t.type ? e.map((function(e) { c.push(e) })) : c.push(e[0]) : c.push(e.value): c.push(e) })); var d = 0, s = 0; if (c.length > 0 && (d = Math.min.apply(this, c), s = Math.max.apply(this, c)), i > -1 ? ("number" === typeof t.xAxis.data[i].min && (d = Math.min(t.xAxis.data[i].min, d)), "number" === typeof t.xAxis.data[i].max && (s = Math.max(t.xAxis.data[i].max, s))) : ("number" === typeof t.xAxis.min && (d = Math.min(t.xAxis.min, d)), "number" === typeof t.xAxis.max && (s = Math.max(t.xAxis.max, s))), d === s) { var l = s || 10; s += l } for (var u = d, m = s, h = [], f = (m - u) / t.xAxis.splitNumber, p = 0; p <= t.xAxis.splitNumber; p++) h.push(u + f * p); return h }(e, t, n, a.type), i.rangesFormat = i.ranges.map((function(e) { return e = d.toFixed(e, 2), e })); var s = i.ranges.map((function(e) { return e = d.toFixed(e, 2), e })); i = Object.assign(i, X(s, t, n)); var l = i.eachSpacing, u = s.map((function(e) { return x(e, t.xAxis.fontSize * t.pix || n.fontSize, o) })), m = Math.max.apply(this, u); return m + 2 * n.xAxisTextPadding > l && (i.angle = 45 * Math.PI / 180, i.xAxisHeight = 2 * n.xAxisTextPadding + m * Math.sin(i.angle)), !0 === t.xAxis.disabled && (i.xAxisHeight = 0), i } function E(e, t, n, o, a) { var r = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 1, i = a.extra.radar || {}; i.max = i.max || 0; for (var c = Math.max(i.max, Math.max.apply(null, b(o))), d = [], s = function(a) { var i = o[a], s = {}; s.color = i.color, s.legendShape = i.legendShape, s.pointShape = i.pointShape, s.data = [], i.data.forEach((function(o, a) { var i = {}; i.angle = e[a], i.proportion = o / c, i.value = o, i.position = f(n * i.proportion * r * Math.cos(i.angle), n * i.proportion * r * Math.sin(i.angle), t), s.data.push(i) })), d.push(s) }, l = 0; l < o.length; l++) s(l); return d } function $(e, t) { for (var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1, o = 0, a = 0, r = 0; r < e.length; r++) { var i = e[r]; i.data = null === i.data ? 0 : i.data, o += i.data } for (var c = 0; c < e.length; c++) { var d = e[c]; d.data = null === d.data ? 0 : d.data, d._proportion_ = 0 === o ? 1 / e.length * n : d.data / o * n, d._radius_ = t } for (var s = 0; s < e.length; s++) { var l = e[s]; l._start_ = a, a += 2 * l._proportion_ * Math.PI } return e } function j(e, t, n, o) { var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1; e = e.sort((function(e, t) { return parseInt(t.data) - parseInt(e.data) })); for (var r = 0; r < e.length; r++) e[r].radius = "funnel" == n ? e[r].data / e[0].data * t * a : o * (e.length - r) / (o * e.length) * t * a, e[r]._proportion_ = e[r].data / e[0].data; return "pyramid" !== n && e.reverse(), e } function I(e, t, n, o) { for (var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1, r = 0, i = 0, c = [], d = 0; d < e.length; d++) { var s = e[d]; s.data = null === s.data ? 0 : s.data, r += s.data, c.push(s.data) } for (var l = Math.min.apply(null, c), u = Math.max.apply(null, c), m = o - n, h = 0; h < e.length; h++) { var f = e[h]; f.data = null === f.data ? 0 : f.data, 0 === r ? (f._proportion_ = 1 / e.length * a, f._rose_proportion_ = 1 / e.length * a) : (f._proportion_ = f.data / r * a, f._rose_proportion_ = "area" == t ? 1 / e.length * a : f.data / r * a), f._radius_ = n + m * ((f.data - l) / (u - l)) || o } for (var p = 0; p < e.length; p++) { var g = e[p]; g._start_ = i, i += 2 * g._rose_proportion_ * Math.PI } return e } function q(e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1; 1 == n && (n = .999999); for (var o = 0; o < e.length; o++) { var a = e[o]; a.data = null === a.data ? 0 : a.data; var r = void 0; r = "circle" == t.type ? 2 : t.endAngle < t.startAngle ? 2 + t.endAngle - t.startAngle : t.startAngle - t.endAngle, a._proportion_ = r * a.data * n + t.startAngle, a._proportion_ >= 2 && (a._proportion_ = a._proportion_ % 2) } return e } function z(e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1; 1 == n && (n = .999999); for (var o = 0; o < e.length; o++) { var a = e[o]; a.data = null === a.data ? 0 : a.data; var r = void 0; r = "circle" == t.type ? 2 : t.endAngle < t.startAngle ? 2 + t.endAngle - t.startAngle : t.startAngle - t.endAngle, a._proportion_ = r * a.data * n + t.startAngle, a._proportion_ >= 2 && (a._proportion_ = a._proportion_ % 2) } return e } function W(e, t, n) { for (var o = t - n + 1, a = t, r = 0; r < e.length; r++) e[r].value = null === e[r].value ? 0 : e[r].value, e[r]._startAngle_ = a, e[r]._endAngle_ = o * e[r].value + t, e[r]._endAngle_ >= 2 && (e[r]._endAngle_ = e[r]._endAngle_ % 2), a = e[r]._endAngle_; return e } function B(e, t, n) { for (var o = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 1, a = 0; a < e.length; a++) { var r = e[a]; if (r.data = null === r.data ? 0 : r.data, "auto" == n.pointer.color) { for (var i = 0; i < t.length; i++) if (r.data <= t[i].value) { r.color = t[i].color; break } } else r.color = n.pointer.color; var c = n.startAngle - n.endAngle + 1; r._endAngle_ = c * r.data + n.startAngle, r._oldAngle_ = n.oldAngle, n.oldAngle < n.endAngle && (r._oldAngle_ += 2), r.data >= n.oldData ? r._proportion_ = (r._endAngle_ - r._oldAngle_) * o + n.oldAngle : r._proportion_ = r._oldAngle_ - (r._oldAngle_ - r._endAngle_) * o, r._proportion_ >= 2 && (r._proportion_ = r._proportion_ % 2) } return e } function N(e, t, n, o, a, r) { return e.map((function(e) { if (null === e) return null; var a = 0, i = 0; return "mix" == r.type ? (a = r.extra.mix.column.seriesGap * r.pix || 0, i = r.extra.mix.column.categoryGap * r.pix || 0) : (a = r.extra.column.seriesGap * r.pix || 0, i = r.extra.column.categoryGap * r.pix || 0), a = Math.min(a, t / n), i = Math.min(i, t / n), e.width = Math.ceil((t - 2 * i - a * (n - 1)) / n), r.extra.mix && r.extra.mix.column.width && +r.extra.mix.column.width > 0 && (e.width = Math.min(e.width, +r.extra.mix.column.width * r.pix)), r.extra.column && r.extra.column.width && +r.extra.column.width > 0 && (e.width = Math.min(e.width, +r.extra.column.width * r.pix)), e.width <= 0 && (e.width = 1), e.x += (o + .5 - n / 2) * (e.width + a), e })) } function G(e, t, n, o, a, r) { return e.map((function(e) { if (null === e) return null; var a = 0, i = 0; return a = r.extra.bar.seriesGap * r.pix || 0, i = r.extra.bar.categoryGap * r.pix || 0, a = Math.min(a, t / n), i = Math.min(i, t / n), e.width = Math.ceil((t - 2 * i - a * (n - 1)) / n), r.extra.bar && r.extra.bar.width && +r.extra.bar.width > 0 && (e.width = Math.min(e.width, +r.extra.bar.width * r.pix)), e.width <= 0 && (e.width = 1), e.y += (o + .5 - n / 2) * (e.width + a), e })) } function H(e, t, n, o, a, r, i) { var c = r.extra.column.categoryGap * r.pix || 0; return e.map((function(e) { return null === e ? null : (e.width = t - 2 * c, r.extra.column && r.extra.column.width && +r.extra.column.width > 0 && (e.width = Math.min(e.width, +r.extra.column.width * r.pix)), o > 0 && (e.width -= i), e) })) } function V(e, t, n, o, a, r, i) { var c = r.extra.column.categoryGap * r.pix || 0; return e.map((function(e, n) { return null === e ? null : (e.width = Math.ceil(t - 2 * c), r.extra.column && r.extra.column.width && +r.extra.column.width > 0 && (e.width = Math.min(e.width, +r.extra.column.width * r.pix)), e.width <= 0 && (e.width = 1), e) })) } function U(e, t, n, o, a, r, i) { var c = r.extra.bar.categoryGap * r.pix || 0; return e.map((function(e, n) { return null === e ? null : (e.width = Math.ceil(t - 2 * c), r.extra.bar && r.extra.bar.width && +r.extra.bar.width > 0 && (e.width = Math.min(e.width, +r.extra.bar.width * r.pix)), e.width <= 0 && (e.width = 1), e) })) } function X(e, t, n) { var o = t.width - t.area[1] - t.area[3], a = t.enableScroll ? Math.min(t.xAxis.itemCount, e.length) : e.length; ("line" == t.type || "area" == t.type || "scatter" == t.type || "bubble" == t.type || "bar" == t.type) && a > 1 && "justify" == t.xAxis.boundaryGap && (a -= 1); var r = 0; "mount" == t.type && t.extra && t.extra.mount && t.extra.mount.widthRatio && t.extra.mount.widthRatio > 1 && (t.extra.mount.widthRatio > 2 && (t.extra.mount.widthRatio = 2), r = t.extra.mount.widthRatio - 1, a += r); var i = o / a, c = [], d = t.area[3], s = t.width - t.area[1]; return e.forEach((function(e, t) { c.push(d + r / 2 * i + t * i) })), "justify" !== t.xAxis.boundaryGap && (!0 === t.enableScroll ? c.push(d + r * i + e.length * i) : c.push(s)), { xAxisPoints: c, startX: d, endX: s, eachSpacing: i } } function J(e, t, n, o, a, r, i) { var c = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : 1, d = [], s = r.height - r.area[0] - r.area[2]; return e.forEach((function(e, i) { if (null === e) d.push(null); else { var l = []; e.forEach((function(e, d) { var u = {}; u.x = o[i] + Math.round(a / 2); var m = e.value || e, h = s * (m - t) / (n - t); h *= c, u.y = r.height - Math.round(h) - r.area[2], l.push(u) })), d.push(l) } })), d } function K(e, t, n, o, a, i, c) { var d = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : 1, s = "center"; "line" != i.type && "area" != i.type && "scatter" != i.type && "bubble" != i.type || (s = i.xAxis.boundaryGap); var l = [], u = i.height - i.area[0] - i.area[2], m = i.width - i.area[1] - i.area[3]; return e.forEach((function(e, c) { if (null === e) l.push(null); else { var h = {}; h.color = e.color, h.x = o[c]; var f, p, g, v = e; if ("object" === (0, r.default)(e) && null !== e) if (e.constructor.toString().indexOf("Array") > -1) f = [].concat(i.chartData.xAxisData.ranges), p = f.shift(), g = f.pop(), v = e[1], h.x = i.area[3] + m * (e[0] - p) / (g - p), "bubble" == i.type && (h.r = e[2], h.t = e[3]); else v = e.value; "center" == s && (h.x += a / 2); var y = u * (v - t) / (n - t); y *= d, h.y = i.height - y - i.area[2], l.push(h) } })), l } function Y(e, t, n, o, a, r, i) { var c = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : 1, d = [], s = r.height - r.area[0] - r.area[2], l = (r.width, r.area[1], r.area[3], a * i.widthRatio); return e.forEach((function(e, i) { if (null === e) d.push(null); else { var u = {}; u.color = e.color, u.x = o[i], u.x += a / 2; var m = e.data, h = s * (m - t) / (n - t); h *= c, u.y = r.height - h - r.area[2], u.value = m, u.width = l, d.push(u) } })), d } function Z(e, t, n, o, a, i, c) { var d = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : 1, s = [], l = (i.height, i.area[0], i.area[2], i.width - i.area[1] - i.area[3]); return e.forEach((function(e, a) { if (null === e) s.push(null); else { var c = {}; c.color = e.color, c.y = o[a]; var u = e; "object" === (0, r.default)(e) && null !== e && (u = e.value); var m = l * (u - t) / (n - t); m *= d, c.height = m, c.value = u, c.x = m + i.area[3], s.push(c) } })), s } function Q(e, t, n, o, a, r, i, c, d) { var s = arguments.length > 9 && void 0 !== arguments[9] ? arguments[9] : 1, l = [], u = r.height - r.area[0] - r.area[2]; return e.forEach((function(e, i) { if (null === e) l.push(null); else { var m = {}; if (m.color = e.color, m.x = o[i] + Math.round(a / 2), c > 0) { for (var h = 0, f = 0; f <= c; f++) h += d[f].data[i]; var p = h - e, g = u * (h - t) / (n - t), v = u * (p - t) / (n - t) } else h = e, g = u * (h - t) / (n - t), v = 0; var y = v; g *= s, y *= s, m.y = r.height - Math.round(g) - r.area[2], m.y0 = r.height - Math.round(y) - r.area[2], l.push(m) } })), l } function ee(e, t, n, o, a, r, i, c, d) { var s = arguments.length > 9 && void 0 !== arguments[9] ? arguments[9] : 1, l = [], u = r.width - r.area[1] - r.area[3]; return e.forEach((function(e, a) { if (null === e) l.push(null); else { var i = {}; if (i.color = e.color, i.y = o[a], c > 0) { for (var m = 0, h = 0; h <= c; h++) m += d[h].data[a]; var f = m - e, p = u * (m - t) / (n - t), g = u * (f - t) / (n - t) } else m = e, p = u * (m - t) / (n - t), g = 0; var v = g; p *= s, v *= s, i.height = p - v, i.x = r.area[3] + p, i.x0 = r.area[3] + v, l.push(i) } })), l } function te(e, t, n, o, a) { var i; i = "stack" == o ? _(e, t.categories.length) : b(e); var c = []; i = i.filter((function(e) { return "object" === (0, r.default)(e) && null !== e ? e.constructor.toString().indexOf("Array") > -1 ? null !== e : null !== e.value : null !== e })), i.map((function(e) { "object" === (0, r.default)(e) ? e.constructor.toString().indexOf("Array") > -1 ? "candle" == t.type ? e.map((function(e) { c.push(e) })) : c.push(e[1]) : c.push(e.value): c.push(e) })); var d = a.min || 0, s = a.max || 0; c.length > 0 && (d = Math.min.apply(this, c), s = Math.max.apply(this, c)), d === s && (0 == s ? s = 10 : d = 0); for (var l = y(d, s), u = void 0 === a.min || null === a.min ? l.minRange : a.min, m = void 0 === a.max || null === a.max ? l.maxRange : a.max, h = [], f = (m - u) / t.yAxis.splitNumber, p = 0; p <= t.yAxis.splitNumber; p++) h.push(u + f * p); return h.reverse() } function ne(e, t, n, o) { var a = c({}, { type: "" }, t.extra.column), r = t.yAxis.data.length, i = new Array(r); if (r > 0) { for (var d = 0; d < r; d++) { i[d] = []; for (var s = 0; s < e.length; s++) e[s].index == d && i[d].push(e[s]) } for (var l = new Array(r), u = new Array(r), m = new Array(r), h = function(e) { var r = t.yAxis.data[e]; 1 == t.yAxis.disabled && (r.disabled = !0), "categories" === r.type ? (r.formatter || (r.formatter = function(e, t, n) { return e + (r.unit || "") }), r.categories = r.categories || t.categories, l[e] = r.categories) : (r.formatter || (r.formatter = function(e, t, n) { return e.toFixed(r.tofix) + (r.unit || "") }), l[e] = te(i[e], t, n, a.type, r, e)); var c = r.fontSize * t.pix || n.fontSize; m[e] = { position: r.position ? r.position : "left", width: 0 }, u[e] = l[e].map((function(n, a) { return n = r.formatter(n, a, t), m[e].width = Math.max(m[e].width, x(n, c, o) + 5), n })); var d = r.calibration ? 4 * t.pix : 0; m[e].width += d + 3 * t.pix, !0 === r.disabled && (m[e].width = 0) }, f = 0; f < r; f++) h(f) } else { l = new Array(1), u = new Array(1), m = new Array(1); "bar" === t.type ? (l[0] = t.categories, t.yAxis.formatter || (t.yAxis.formatter = function(e, t, n) { return e + (n.yAxis.unit || "") })) : (t.yAxis.formatter || (t.yAxis.formatter = function(e, t, n) { return e.toFixed(n.yAxis.tofix) + (n.yAxis.unit || "") }), l[0] = te(e, t, n, a.type, {})), m[0] = { position: "left", width: 0 }; var p = t.yAxis.fontSize * t.pix || n.fontSize; u[0] = l[0].map((function(e, n) { return e = t.yAxis.formatter(e, n, t), m[0].width = Math.max(m[0].width, x(e, p, o) + 5), e })), m[0].width += 3 * t.pix, !0 === t.yAxis.disabled ? (m[0] = { position: "left", width: 0 }, t.yAxis.data[0] = { disabled: !0 }) : (t.yAxis.data[0] = { disabled: !1, position: "left", max: t.yAxis.max, min: t.yAxis.min, formatter: t.yAxis.formatter }, "bar" === t.type && (t.yAxis.data[0].categories = t.categories, t.yAxis.data[0].type = "categories")) } return { rangesFormat: u, ranges: l, yAxisWidth: m } } function oe(e, t) { !0 !== t.rotateLock ? (e.translate(t.height, 0), e.rotate(90 * Math.PI / 180)) : !0 !== t._rotate_ && (e.translate(t.height, 0), e.rotate(90 * Math.PI / 180), t._rotate_ = !0) } function ae(e, t, n, o, a) { if (o.beginPath(), "hollow" == a.dataPointShapeType ? (o.setStrokeStyle(t), o.setFillStyle(a.background), o.setLineWidth(2 * a.pix)) : (o.setStrokeStyle("#ffffff"), o.setFillStyle(t), o.setLineWidth(1 * a.pix)), "diamond" === n) e.forEach((function(e, t) { null !== e && (o.moveTo(e.x, e.y - 4.5), o.lineTo(e.x - 4.5, e.y), o.lineTo(e.x, e.y + 4.5), o.lineTo(e.x + 4.5, e.y), o.lineTo(e.x, e.y - 4.5)) })); else if ("circle" === n) e.forEach((function(e, t) { null !== e && (o.moveTo(e.x + 2.5 * a.pix, e.y), o.arc(e.x, e.y, 3 * a.pix, 0, 2 * Math.PI, !1)) })); else if ("square" === n) e.forEach((function(e, t) { null !== e && (o.moveTo(e.x - 3.5, e.y - 3.5), o.rect(e.x - 3.5, e.y - 3.5, 7, 7)) })); else if ("triangle" === n) e.forEach((function(e, t) { null !== e && (o.moveTo(e.x, e.y - 4.5), o.lineTo(e.x - 4.5, e.y + 4.5), o.lineTo(e.x + 4.5, e.y + 4.5), o.lineTo(e.x, e.y - 4.5)) })); else if ("triangle" === n) return; o.closePath(), o.fill(), o.stroke() } function re(e, t, n, o) { var a = e.title.fontSize || t.titleFontSize, r = e.subtitle.fontSize || t.subtitleFontSize, i = e.title.name || "", c = e.subtitle.name || "", d = e.title.color || e.fontColor, s = e.subtitle.color || e.fontColor, l = i ? a : 0, u = c ? r : 0; if (c) { var m = x(c, r * e.pix, n), h = o.x - m / 2 + (e.subtitle.offsetX || 0) * e.pix, f = o.y + r * e.pix / 2 + (e.subtitle.offsetY || 0) * e.pix; i && (f += (l * e.pix + 5) / 2), n.beginPath(), n.setFontSize(r * e.pix), n.setFillStyle(s), n.fillText(c, h, f), n.closePath(), n.stroke() } if (i) { var p = x(i, a * e.pix, n), g = o.x - p / 2 + (e.title.offsetX || 0), v = o.y + a * e.pix / 2 + (e.title.offsetY || 0) * e.pix; c && (v -= (u * e.pix + 5) / 2), n.beginPath(), n.setFontSize(a * e.pix), n.setFillStyle(d), n.fillText(i, g, v), n.closePath(), n.stroke() } } function ie(e, t, n, o, a) { var i = t.data, c = t.textOffset ? t.textOffset : 0; e.forEach((function(e, d) { if (null !== e) { o.beginPath(); var s = t.textSize ? t.textSize * a.pix : n.fontSize; o.setFontSize(s), o.setFillStyle(t.textColor || a.fontColor); var l = i[d]; "object" === (0, r.default)(i[d]) && null !== i[d] && (l = i[d].constructor.toString().indexOf("Array") > -1 ? i[d][1] : i[d].value); var u = t.formatter ? t.formatter(l, d, t, a) : l; o.setTextAlign("center"), o.fillText(String(u), e.x, e.y - 4 + c * a.pix), o.closePath(), o.stroke(), o.setTextAlign("left") } })) } function ce(e, t, n, o, a) { t.data; var r = t.textOffset ? t.textOffset : 0; e.forEach((function(e, i) { if (null !== e) { o.beginPath(); var c = t[i].textSize ? t[i].textSize * a.pix : n.fontSize; o.setFontSize(c), o.setFillStyle(t[i].textColor || a.fontColor); var d = e.value, s = t[i].formatter ? t[i].formatter(d, i, t, a) : d; o.setTextAlign("center"), o.fillText(String(s), e.x, e.y - 4 + r * a.pix), o.closePath(), o.stroke(), o.setTextAlign("left") } })) } function de(e, t, n, o, a) { var i = t.data; t.textOffset && t.textOffset; e.forEach((function(e, c) { if (null !== e) { o.beginPath(); var d = t.textSize ? t.textSize * a.pix : n.fontSize; o.setFontSize(d), o.setFillStyle(t.textColor || a.fontColor); var s = i[c]; "object" === (0, r.default)(i[c]) && null !== i[c] && (s = i[c].value); var l = t.formatter ? t.formatter(s, c, t, a) : s; o.setTextAlign("left"), o.fillText(String(l), e.x + 4 * a.pix, e.y + d / 2 - 3), o.closePath(), o.stroke() } })) } function se(e, t, n, o, a, r) { t -= e.width / 2 + e.labelOffset * o.pix, t = t < 10 ? 10 : t; for (var i = e.startAngle - e.endAngle + 1, c = i / e.splitLine.splitNumber, d = e.endNumber - e.startNumber, s = d / e.splitLine.splitNumber, l = e.startAngle, u = e.startNumber, m = 0; m < e.splitLine.splitNumber + 1; m++) { var h = { x: t * Math.cos(l * Math.PI), y: t * Math.sin(l * Math.PI) }, f = e.formatter ? e.formatter(u, m, o) : u; h.x += n.x - x(f, a.fontSize, r) / 2, h.y += n.y; var p = h.x, g = h.y; r.beginPath(), r.setFontSize(a.fontSize), r.setFillStyle(e.labelColor || o.fontColor), r.fillText(f, p, g + a.fontSize / 2), r.closePath(), r.stroke(), l += c, l >= 2 && (l %= 2), u += s } } function le(e, t, n, o, a, r) { var i = o.extra.radar || {}; e.forEach((function(e, c) { if (!0 === i.labelPointShow && "" !== o.categories[c]) { var s = { x: t * Math.cos(e), y: t * Math.sin(e) }, l = f(s.x, s.y, n); r.setFillStyle(i.labelPointColor), r.beginPath(), r.arc(l.x, l.y, i.labelPointRadius * o.pix, 0, 2 * Math.PI, !1), r.closePath(), r.fill() } var u = { x: (t + a.radarLabelTextMargin * o.pix) * Math.cos(e), y: (t + a.radarLabelTextMargin * o.pix) * Math.sin(e) }, m = f(u.x, u.y, n), h = m.x, p = m.y; d.approximatelyEqual(u.x, 0) ? h -= x(o.categories[c] || "", a.fontSize, r) / 2 : u.x < 0 && (h -= x(o.categories[c] || "", a.fontSize, r)), r.beginPath(), r.setFontSize(a.fontSize), r.setFillStyle(i.labelColor || o.fontColor), r.fillText(o.categories[c] || "", h, p + a.fontSize / 2), r.closePath(), r.stroke() })) } function ue(e, t, n, o, a, r) { for (var i = n.pieChartLinePadding, c = [], s = null, l = e.map((function(n, o) { var a = n.formatter ? n.formatter(n, o, e, t) : d.toFixed(100 * n._proportion_.toFixed(4)) + "%"; a = n.labelText ? n.labelText : a; var r = 2 * Math.PI - (n._start_ + 2 * Math.PI * n._proportion_ / 2); n._rose_proportion_ && (r = 2 * Math.PI - (n._start_ + 2 * Math.PI * n._rose_proportion_ / 2)); var i = n.color, c = n._radius_; return { arc: r, text: a, color: i, radius: c, textColor: n.textColor, textSize: n.textSize, labelShow: n.labelShow } })), u = 0; u < l.length; u++) { var m = l[u], h = Math.cos(m.arc) * (m.radius + i), g = Math.sin(m.arc) * (m.radius + i), v = Math.cos(m.arc) * m.radius, y = Math.sin(m.arc) * m.radius, b = h >= 0 ? h + n.pieChartTextPadding : h - n.pieChartTextPadding, _ = g, w = x(m.text, m.textSize * t.pix || n.fontSize, o), A = _; s && d.isSameXCoordinateArea(s.start, { x: b }) && (A = b > 0 ? Math.min(_, s.start.y) : h < 0 || _ > 0 ? Math.max(_, s.start.y) : Math.min(_, s.start.y)), b < 0 && (b -= w); var S = { lineStart: { x: v, y: y }, lineEnd: { x: h, y: g }, start: { x: b, y: A }, width: w, height: n.fontSize, text: m.text, color: m.color, textColor: m.textColor, textSize: m.textSize }; s = p(S, s), c.push(s) } for (var T = 0; T < c.length; T++) if (!1 !== l[T].labelShow) { var C = c[T], P = f(C.lineStart.x, C.lineStart.y, r), k = f(C.lineEnd.x, C.lineEnd.y, r), D = f(C.start.x, C.start.y, r); o.setLineWidth(1 * t.pix), o.setFontSize(C.textSize * t.pix || n.fontSize), o.beginPath(), o.setStrokeStyle(C.color), o.setFillStyle(C.color), o.moveTo(P.x, P.y); var M = C.start.x < 0 ? D.x + C.width : D.x, O = C.start.x < 0 ? D.x - 5 : D.x + 5; o.quadraticCurveTo(k.x, k.y, M, D.y), o.moveTo(P.x, P.y), o.stroke(), o.closePath(), o.beginPath(), o.moveTo(D.x + C.width, D.y), o.arc(M, D.y, 2 * t.pix, 0, 2 * Math.PI), o.closePath(), o.fill(), o.beginPath(), o.setFontSize(C.textSize * t.pix || n.fontSize), o.setFillStyle(C.textColor || t.fontColor), o.fillText(C.text, O, D.y + 3), o.closePath(), o.stroke(), o.closePath() } } function me(e, t, n) { for (var o = c({}, { type: "solid", dashLength: 4, data: [] }, e.extra.markLine), a = e.area[3], r = e.width - e.area[1], i = function(e, t) { for (var n, o, a = t.height - t.area[0] - t.area[2], r = 0; r < e.length; r++) { e[r].yAxisIndex = e[r].yAxisIndex ? e[r].yAxisIndex : 0; var i = [].concat(t.chartData.yAxisData.ranges[e[r].yAxisIndex]); n = i.pop(), o = i.shift(); var c = a * (e[r].value - n) / (o - n); e[r].y = t.height - Math.round(c) - t.area[2] } return e }(o.data, e), d = 0; d < i.length; d++) { var l = c({}, { lineColor: "#DE4A42", showLabel: !1, labelFontColor: "#666666", labelBgColor: "#DFE8FF", labelBgOpacity: .8, labelAlign: "left", labelOffsetX: 0, labelOffsetY: 0 }, i[d]); if ("dash" == o.type && n.setLineDash([o.dashLength, o.dashLength]), n.setStrokeStyle(l.lineColor), n.setLineWidth(1 * e.pix), n.beginPath(), n.moveTo(a, l.y), n.lineTo(r, l.y), n.stroke(), n.setLineDash([]), l.showLabel) { var u = l.labelText ? l.labelText : l.value; n.setFontSize(t.fontSize); var m = x(u, t.fontSize, n), h = m + 2 * t.toolTipPadding, f = "left" == l.labelAlign ? e.area[3] - h : e.width - e.area[1]; f += l.labelOffsetX; var p = l.y - .5 * t.fontSize - t.toolTipPadding; p += l.labelOffsetY; var g = f + t.toolTipPadding; l.y; n.setFillStyle(s(l.labelBgColor, l.labelBgOpacity)), n.setStrokeStyle(l.labelBgColor), n.setLineWidth(1 * e.pix), n.beginPath(), n.rect(f, p, h, t.fontSize + 2 * t.toolTipPadding), n.closePath(), n.stroke(), n.fill(), n.setFontSize(t.fontSize), n.setTextAlign("left"), n.setFillStyle(l.labelFontColor), n.fillText(String(u), g, p + t.fontSize + t.toolTipPadding / 2), n.stroke(), n.setTextAlign("left") } } } function he(e, t, n, o, a) { var r = c({}, { gridType: "solid", dashLength: 4 }, e.extra.tooltip), i = e.area[3], d = e.width - e.area[1]; if ("dash" == r.gridType && n.setLineDash([r.dashLength, r.dashLength]), n.setStrokeStyle(r.gridColor || "#cccccc"), n.setLineWidth(1 * e.pix), n.beginPath(), n.moveTo(i, e.tooltip.offset.y), n.lineTo(d, e.tooltip.offset.y), n.stroke(), n.setLineDash([]), r.yAxisLabel) for (var l = function(e, t, n, o, a) { for (var r = [].concat(n.chartData.yAxisData.ranges), i = n.height - n.area[0] - n.area[2], c = n.area[0], d = [], s = 0; s < r.length; s++) { var l = r[s].shift(), u = r[s].pop(), m = l - (l - u) * (e - c) / i; m = n.yAxis.data[s].formatter ? n.yAxis.data[s].formatter(m, s, n) : m.toFixed(0), d.push(String(m)) } return d }(e.tooltip.offset.y, e.series, e), u = e.chartData.yAxisData.yAxisWidth, m = e.area[3], h = e.width - e.area[1], f = 0; f < l.length; f++) { n.setFontSize(t.fontSize); var p, g = x(l[f], t.fontSize, n), v = void 0, y = void 0; "left" == u[f].position ? (v = m - u[f].width, y = Math.max(v, v + g + 2 * t.toolTipPadding)) : (v = h, y = Math.max(v + u[f].width, v + g + 2 * t.toolTipPadding)), p = y - v; var b = v + (p - g) / 2, _ = e.tooltip.offset.y; n.beginPath(), n.setFillStyle(s(r.labelBgColor || t.toolTipBackground, r.labelBgOpacity || t.toolTipOpacity)), n.setStrokeStyle(r.labelBgColor || t.toolTipBackground), n.setLineWidth(1 * e.pix), n.rect(v, _ - .5 * t.fontSize - t.toolTipPadding, p, t.fontSize + 2 * t.toolTipPadding), n.closePath(), n.stroke(), n.fill(), n.beginPath(), n.setFontSize(t.fontSize), n.setFillStyle(r.labelFontColor || e.fontColor), n.fillText(l[f], b, _ + .5 * t.fontSize), n.closePath(), n.stroke(), "left" == u[f].position ? m -= u[f].width + e.yAxis.padding * e.pix : h += u[f].width + e.yAxis.padding * e.pix } } function fe(e, t, n, o, a) { var r = c({}, { activeBgColor: "#000000", activeBgOpacity: .08, activeWidth: a }, t.extra.column); r.activeWidth = r.activeWidth > a ? a : r.activeWidth; var i = t.area[0], d = t.height - t.area[2]; o.beginPath(), o.setFillStyle(s(r.activeBgColor, r.activeBgOpacity)), o.rect(e - r.activeWidth / 2, i, r.activeWidth, d - i), o.closePath(), o.fill(), o.setFillStyle("#FFFFFF") } function pe(e, t, n, o, a) { var r = c({}, { activeBgColor: "#000000", activeBgOpacity: .08 }, t.extra.bar), i = t.area[3], d = t.width - t.area[1]; o.beginPath(), o.setFillStyle(s(r.activeBgColor, r.activeBgOpacity)), o.rect(i, e - a / 2, d - i, a), o.closePath(), o.fill(), o.setFillStyle("#FFFFFF") } function ge(e, t, n, o, a, r, i) { var d = c({}, { showBox: !0, showArrow: !0, showCategory: !1, bgColor: "#000000", bgOpacity: .7, borderColor: "#000000", borderWidth: 0, borderRadius: 0, borderOpacity: .7, fontColor: "#FFFFFF", splitLine: !0 }, n.extra.tooltip); 1 == d.showCategory && n.categories && e.unshift({ text: n.categories[n.tooltip.index], color: null }); var l = 4 * n.pix, u = 5 * n.pix, m = d.showArrow ? 8 * n.pix : 0, h = !1; "line" != n.type && "mount" != n.type && "area" != n.type && "candle" != n.type && "mix" != n.type || 1 == d.splitLine && function(e, t, n, o) { var a = t.extra.tooltip || {}; a.gridType = void 0 == a.gridType ? "solid" : a.gridType, a.dashLength = void 0 == a.dashLength ? 4 : a.dashLength; var r = t.area[0], i = t.height - t.area[2]; if ("dash" == a.gridType && o.setLineDash([a.dashLength, a.dashLength]), o.setStrokeStyle(a.gridColor || "#cccccc"), o.setLineWidth(1 * t.pix), o.beginPath(), o.moveTo(e, r), o.lineTo(e, i), o.stroke(), o.setLineDash([]), a.xAxisLabel) { var c = t.categories[t.tooltip.index]; o.setFontSize(n.fontSize); var d = x(c, n.fontSize, o), l = e - .5 * d, u = i; o.beginPath(), o.setFillStyle(s(a.labelBgColor || n.toolTipBackground, a.labelBgOpacity || n.toolTipOpacity)), o.setStrokeStyle(a.labelBgColor || n.toolTipBackground), o.setLineWidth(1 * t.pix), o.rect(l - n.toolTipPadding, u, d + 2 * n.toolTipPadding, n.fontSize + 2 * n.toolTipPadding), o.closePath(), o.stroke(), o.fill(), o.beginPath(), o.setFontSize(n.fontSize), o.setFillStyle(a.labelFontColor || t.fontColor), o.fillText(String(c), l, u + n.toolTipPadding + n.fontSize), o.closePath(), o.stroke() } }(n.tooltip.offset.x, n, o, a), t = c({ x: 0, y: 0 }, t), t.y -= 8 * n.pix; var f = e.map((function(e) { return x(e.text, o.fontSize, a) })), p = l + u + 4 * o.toolTipPadding + Math.max.apply(null, f), g = 2 * o.toolTipPadding + e.length * o.toolTipLineHeight; if (0 != d.showBox) { t.x - Math.abs(n._scrollDistance_ || 0) + m + p > n.width && (h = !0), g + t.y > n.height && (t.y = n.height - g), a.beginPath(), a.setFillStyle(s(d.bgColor || o.toolTipBackground, d.bgOpacity || o.toolTipOpacity)), a.setLineWidth(d.borderWidth * n.pix), a.setStrokeStyle(s(d.borderColor, d.borderOpacity)); var v = d.borderRadius; h ? (d.showArrow && (a.moveTo(t.x, t.y + 10 * n.pix), a.lineTo(t.x - m, t.y + 10 * n.pix + 5 * n.pix)), a.arc(t.x - m - v, t.y + g - v, v, 0, Math.PI / 2, !1), a.arc(t.x - m - Math.round(p) + v, t.y + g - v, v, Math.PI / 2, Math.PI, !1), a.arc(t.x - m - Math.round(p) + v, t.y + v, v, -Math.PI, -Math.PI / 2, !1), a.arc(t.x - m - v, t.y + v, v, -Math.PI / 2, 0, !1), d.showArrow && (a.lineTo(t.x - m, t.y + 10 * n.pix - 5 * n.pix), a.lineTo(t.x, t.y + 10 * n.pix))) : (d.showArrow && (a.moveTo(t.x, t.y + 10 * n.pix), a.lineTo(t.x + m, t.y + 10 * n.pix - 5 * n.pix)), a.arc(t.x + m + v, t.y + v, v, -Math.PI, -Math.PI / 2, !1), a.arc(t.x + m + Math.round(p) - v, t.y + v, v, -Math.PI / 2, 0, !1), a.arc(t.x + m + Math.round(p) - v, t.y + g - v, v, 0, Math.PI / 2, !1), a.arc(t.x + m + v, t.y + g - v, v, Math.PI / 2, Math.PI, !1), d.showArrow && (a.lineTo(t.x + m, t.y + 10 * n.pix + 5 * n.pix), a.lineTo(t.x, t.y + 10 * n.pix))), a.closePath(), a.fill(), d.borderWidth > 0 && a.stroke(), e.forEach((function(e, n) { if (null !== e.color) { a.beginPath(), a.setFillStyle(e.color); var r = t.x + m + 2 * o.toolTipPadding, i = t.y + (o.toolTipLineHeight - o.fontSize) / 2 + o.toolTipLineHeight * n + o.toolTipPadding + 1; h && (r = t.x - p - m + 2 * o.toolTipPadding), a.fillRect(r, i, l, o.fontSize), a.closePath() } })), e.forEach((function(e, n) { var r = t.x + m + 2 * o.toolTipPadding + l + u; h && (r = t.x - p - m + 2 * o.toolTipPadding + +l + u); var i = t.y + (o.toolTipLineHeight - o.fontSize) / 2 + o.toolTipLineHeight * n + o.toolTipPadding; a.beginPath(), a.setFontSize(o.fontSize), a.setFillStyle(d.fontColor), a.fillText(e.text, r, i + o.fontSize), a.closePath(), a.stroke() })) } } function ve(e, t, n, o, a, r) { var i = e.extra.tooltip || {}; i.horizentalLine && e.tooltip && 1 === o && ("line" == e.type || "area" == e.type || "column" == e.type || "mount" == e.type || "candle" == e.type || "mix" == e.type) && he(e, t, n), n.save(), e._scrollDistance_ && 0 !== e._scrollDistance_ && !0 === e.enableScroll && n.translate(e._scrollDistance_, 0), e.tooltip && e.tooltip.textList && e.tooltip.textList.length && 1 === o && ge(e.tooltip.textList, e.tooltip.offset, e, t, n), n.restore() } function ye(e, t, n, o) { var a = t.chartData.xAxisData, r = a.xAxisPoints, i = a.startX, c = a.endX, d = a.eachSpacing, s = "center"; "bar" != t.type && "line" != t.type && "area" != t.type && "scatter" != t.type && "bubble" != t.type || (s = t.xAxis.boundaryGap); var l = t.height - t.area[2], u = t.area[0]; if (t.enableScroll && t.xAxis.scrollShow) { var m = t.height - t.area[2] + n.xAxisHeight, h = c - i, f = d * (r.length - 1); "mount" == t.type && t.extra && t.extra.mount && t.extra.mount.widthRatio && t.extra.mount.widthRatio > 1 && (t.extra.mount.widthRatio > 2 && (t.extra.mount.widthRatio = 2), f += (t.extra.mount.widthRatio - 1) * d); var p = h * h / f, g = 0; t._scrollDistance_ && (g = -t._scrollDistance_ * h / f), o.beginPath(), o.setLineCap("round"), o.setLineWidth(6 * t.pix), o.setStrokeStyle(t.xAxis.scrollBackgroundColor || "#EFEBEF"), o.moveTo(i, m), o.lineTo(c, m), o.stroke(), o.closePath(), o.beginPath(), o.setLineCap("round"), o.setLineWidth(6 * t.pix), o.setStrokeStyle(t.xAxis.scrollColor || "#A6A6A6"), o.moveTo(i + g, m), o.lineTo(i + g + p, m), o.stroke(), o.closePath(), o.setLineCap("butt") } if (o.save(), t._scrollDistance_ && 0 !== t._scrollDistance_ && o.translate(t._scrollDistance_, 0), !0 === t.xAxis.calibration && (o.setStrokeStyle(t.xAxis.gridColor || "#cccccc"), o.setLineCap("butt"), o.setLineWidth(1 * t.pix), r.forEach((function(e, n) { n > 0 && (o.beginPath(), o.moveTo(e - d / 2, l), o.lineTo(e - d / 2, l + 3 * t.pix), o.closePath(), o.stroke()) }))), !0 !== t.xAxis.disableGrid && (o.setStrokeStyle(t.xAxis.gridColor || "#cccccc"), o.setLineCap("butt"), o.setLineWidth(1 * t.pix), "dash" == t.xAxis.gridType && o.setLineDash([t.xAxis.dashLength * t.pix, t.xAxis.dashLength * t.pix]), t.xAxis.gridEval = t.xAxis.gridEval || 1, r.forEach((function(e, n) { n % t.xAxis.gridEval == 0 && (o.beginPath(), o.moveTo(e, l), o.lineTo(e, u), o.stroke()) })), o.setLineDash([])), !0 !== t.xAxis.disabled) { var v = e.length; t.xAxis.labelCount && (v = t.xAxis.itemCount ? Math.ceil(e.length / t.xAxis.itemCount * t.xAxis.labelCount) : t.xAxis.labelCount, v -= 1); for (var y = Math.ceil(e.length / v), b = [], _ = e.length, w = 0; w < _; w++) w % y !== 0 ? b.push("") : b.push(e[w]); b[_ - 1] = e[_ - 1]; var A = t.xAxis.fontSize * t.pix || n.fontSize; 0 === n._xAxisTextAngle_ ? b.forEach((function(e, a) { var i = t.xAxis.formatter ? t.xAxis.formatter(e, a, t) : e, c = -x(String(i), A, o) / 2; "center" == s && (c += d / 2); var u = 0; t.xAxis.scrollShow && (u = 6 * t.pix), o.beginPath(), o.setFontSize(A), o.setFillStyle(t.xAxis.fontColor || t.fontColor), o.fillText(String(i), r[a] + c, l + A + (n.xAxisHeight - u - A) / 2), o.closePath(), o.stroke() })) : b.forEach((function(e, a) { var i = t.xAxis.formatter ? t.xAxis.formatter(e) : e; o.save(), o.beginPath(), o.setFontSize(A), o.setFillStyle(t.xAxis.fontColor || t.fontColor); var c = x(String(i), A, o), u = r[a]; "center" == s && (u = r[a] + d / 2); t.xAxis.scrollShow && t.pix; var m = l + 6 * t.pix + A - A * Math.abs(Math.sin(n._xAxisTextAngle_)); t.xAxis.rotateAngle < 0 ? (u -= A / 2, c = 0) : (u += A / 2, c = -c), o.translate(u, m), o.rotate(-1 * n._xAxisTextAngle_), o.fillText(String(i), c, 0), o.closePath(), o.stroke(), o.restore() })) } o.restore(), t.xAxis.axisLine && (o.beginPath(), o.setStrokeStyle(t.xAxis.axisLineColor), o.setLineWidth(1 * t.pix), o.moveTo(i, t.height - t.area[2]), o.lineTo(c, t.height - t.area[2]), o.stroke()) } function xe(e, t, n, o) { if (!0 !== t.yAxis.disableGrid) { var a = t.height - t.area[0] - t.area[2], r = a / t.yAxis.splitNumber, i = t.area[3], c = t.chartData.xAxisData.xAxisPoints, d = t.chartData.xAxisData.eachSpacing, s = d * (c.length - 1); "mount" == t.type && t.extra && t.extra.mount && t.extra.mount.widthRatio && t.extra.mount.widthRatio > 1 && (t.extra.mount.widthRatio > 2 && (t.extra.mount.widthRatio = 2), s += (t.extra.mount.widthRatio - 1) * d); var l = i + s, u = [], m = 1; !1 === t.xAxis.axisLine && (m = 0); for (var h = m; h < t.yAxis.splitNumber + 1; h++) u.push(t.height - t.area[2] - r * h); o.save(), t._scrollDistance_ && 0 !== t._scrollDistance_ && o.translate(t._scrollDistance_, 0), "dash" == t.yAxis.gridType && o.setLineDash([t.yAxis.dashLength * t.pix, t.yAxis.dashLength * t.pix]), o.setStrokeStyle(t.yAxis.gridColor), o.setLineWidth(1 * t.pix), u.forEach((function(e, t) { o.beginPath(), o.moveTo(i, e), o.lineTo(l, e), o.stroke() })), o.setLineDash([]), o.restore() } } function be(e, t, n, o) { if (!0 !== t.yAxis.disabled) { var a = t.height - t.area[0] - t.area[2], r = a / t.yAxis.splitNumber, i = t.area[3], c = t.width - t.area[1], d = t.height - t.area[2], s = d + n.xAxisHeight; t.xAxis.scrollShow && (s -= 3 * t.pix), t.xAxis.rotateLabel && (s = t.height - t.area[2] + t.fontSize * t.pix / 2), o.beginPath(), o.setFillStyle(t.background), 1 == t.enableScroll && t.xAxis.scrollPosition && "left" !== t.xAxis.scrollPosition && o.fillRect(0, 0, i, s), 1 == t.enableScroll && t.xAxis.scrollPosition && "right" !== t.xAxis.scrollPosition && o.fillRect(c, 0, t.width, s), o.closePath(), o.stroke(); var l = t.area[3], u = t.width - t.area[1], m = t.area[3] + (t.width - t.area[1] - t.area[3]) / 2; if (t.yAxis.data) for (var h = function(e) { var i = t.yAxis.data[e]; if (p = [], "categories" === i.type) for (var c = 0; c <= i.categories.length; c++) p.push(t.area[0] + a / i.categories.length / 2 + a / i.categories.length * c); else for (var d = 0; d <= t.yAxis.splitNumber; d++) p.push(t.area[0] + r * d); if (!0 !== i.disabled) { var s = t.chartData.yAxisData.rangesFormat[e], h = i.fontSize ? i.fontSize * t.pix : n.fontSize, f = t.chartData.yAxisData.yAxisWidth[e], g = i.textAlign || "right"; if (s.forEach((function(e, n) { var a = p[n]; o.beginPath(), o.setFontSize(h), o.setLineWidth(1 * t.pix), o.setStrokeStyle(i.axisLineColor || "#cccccc"), o.setFillStyle(i.fontColor || t.fontColor); var r = 0, c = 4 * t.pix; if ("left" == f.position) { switch (1 == i.calibration && (o.moveTo(l, a), o.lineTo(l - 3 * t.pix, a), c += 3 * t.pix), g) { case "left": o.setTextAlign("left"), r = l - f.width; break; case "right": o.setTextAlign("right"), r = l - c; break; default: o.setTextAlign("center"), r = l - f.width / 2 } o.fillText(String(e), r, a + h / 2 - 3 * t.pix) } else if ("right" == f.position) { switch (1 == i.calibration && (o.moveTo(u, a), o.lineTo(u + 3 * t.pix, a), c += 3 * t.pix), g) { case "left": o.setTextAlign("left"), r = u + c; break; case "right": o.setTextAlign("right"), r = u + f.width; break; default: o.setTextAlign("center"), r = u + f.width / 2 } o.fillText(String(e), r, a + h / 2 - 3 * t.pix) } else if ("center" == f.position) { switch (1 == i.calibration && (o.moveTo(m, a), o.lineTo(m - 3 * t.pix, a), c += 3 * t.pix), g) { case "left": o.setTextAlign("left"), r = m - f.width; break; case "right": o.setTextAlign("right"), r = m - c; break; default: o.setTextAlign("center"), r = m - f.width / 2 } o.fillText(String(e), r, a + h / 2 - 3 * t.pix) } o.closePath(), o.stroke(), o.setTextAlign("left") })), !1 !== i.axisLine && (o.beginPath(), o.setStrokeStyle(i.axisLineColor || "#cccccc"), o.setLineWidth(1 * t.pix), "left" == f.position ? (o.moveTo(l, t.height - t.area[2]), o.lineTo(l, t.area[0])) : "right" == f.position ? (o.moveTo(u, t.height - t.area[2]), o.lineTo(u, t.area[0])) : "center" == f.position && (o.moveTo(m, t.height - t.area[2]), o.lineTo(m, t.area[0])), o.stroke()), t.yAxis.showTitle) { var v = i.titleFontSize * t.pix || n.fontSize, y = i.title; o.beginPath(), o.setFontSize(v), o.setFillStyle(i.titleFontColor || t.fontColor), "left" == f.position ? o.fillText(y, l - x(y, v, o) / 2 + (i.titleOffsetX || 0), t.area[0] - (10 - (i.titleOffsetY || 0)) * t.pix) : "right" == f.position ? o.fillText(y, u - x(y, v, o) / 2 + (i.titleOffsetX || 0), t.area[0] - (10 - (i.titleOffsetY || 0)) * t.pix) : "center" == f.position && o.fillText(y, m - x(y, v, o) / 2 + (i.titleOffsetX || 0), t.area[0] - (10 - (i.titleOffsetY || 0)) * t.pix), o.closePath(), o.stroke() } "left" == f.position ? l -= f.width + t.yAxis.padding * t.pix : u += f.width + t.yAxis.padding * t.pix } }, f = 0; f < t.yAxis.data.length; f++) { var p; h(f) } } } function _e(e, t, n, o, a) { if (!1 !== t.legend.show) { var r = a.legendData, i = r.points, c = r.area, d = t.legend.padding * t.pix, s = t.legend.fontSize * t.pix, l = 15 * t.pix, u = 5 * t.pix, m = t.legend.itemGap * t.pix, h = Math.max(t.legend.lineHeight * t.pix, s); o.beginPath(), o.setLineWidth(t.legend.borderWidth * t.pix), o.setStrokeStyle(t.legend.borderColor), o.setFillStyle(t.legend.backgroundColor), o.moveTo(c.start.x, c.start.y), o.rect(c.start.x, c.start.y, c.width, c.height), o.closePath(), o.fill(), o.stroke(), i.forEach((function(e, a) { var i, f = 0; f = r.widthArr[a], i = r.heightArr[a]; var p = 0, g = 0; if ("top" == t.legend.position || "bottom" == t.legend.position) { switch (t.legend.float) { case "left": p = c.start.x + d; break; case "right": p = c.start.x + c.width - f; break; default: p = c.start.x + (c.width - f) / 2 } g = c.start.y + d + a * h } else f = 0 == a ? 0 : r.widthArr[a - 1], p = c.start.x + d + f, g = c.start.y + d + (c.height - i) / 2; o.setFontSize(n.fontSize); for (var v = 0; v < e.length; v++) { var y = e[v]; switch (y.area = [0, 0, 0, 0], y.area[0] = p, y.area[1] = g, y.area[3] = g + h, o.beginPath(), o.setLineWidth(1 * t.pix), o.setStrokeStyle(y.show ? y.color : t.legend.hiddenColor), o.setFillStyle(y.show ? y.color : t.legend.hiddenColor), y.legendShape) { case "line": o.moveTo(p, g + .5 * h - 2 * t.pix), o.fillRect(p, g + .5 * h - 2 * t.pix, 15 * t.pix, 4 * t.pix); break; case "triangle": o.moveTo(p + 7.5 * t.pix, g + .5 * h - 5 * t.pix), o.lineTo(p + 2.5 * t.pix, g + .5 * h + 5 * t.pix), o.lineTo(p + 12.5 * t.pix, g + .5 * h + 5 * t.pix), o.lineTo(p + 7.5 * t.pix, g + .5 * h - 5 * t.pix); break; case "diamond": o.moveTo(p + 7.5 * t.pix, g + .5 * h - 5 * t.pix), o.lineTo(p + 2.5 * t.pix, g + .5 * h), o.lineTo(p + 7.5 * t.pix, g + .5 * h + 5 * t.pix), o.lineTo(p + 12.5 * t.pix, g + .5 * h), o.lineTo(p + 7.5 * t.pix, g + .5 * h - 5 * t.pix); break; case "circle": o.moveTo(p + 7.5 * t.pix, g + .5 * h), o.arc(p + 7.5 * t.pix, g + .5 * h, 5 * t.pix, 0, 2 * Math.PI); break; case "rect": o.moveTo(p, g + .5 * h - 5 * t.pix), o.fillRect(p, g + .5 * h - 5 * t.pix, 15 * t.pix, 10 * t.pix); break; case "square": o.moveTo(p + 5 * t.pix, g + .5 * h - 5 * t.pix), o.fillRect(p + 5 * t.pix, g + .5 * h - 5 * t.pix, 10 * t.pix, 10 * t.pix); break; case "none": break; default: o.moveTo(p, g + .5 * h - 5 * t.pix), o.fillRect(p, g + .5 * h - 5 * t.pix, 15 * t.pix, 10 * t.pix) } o.closePath(), o.fill(), o.stroke(), p += l + u; var b = .5 * h + .5 * s - 2, _ = y.legendText ? y.legendText : y.name; o.beginPath(), o.setFontSize(s), o.setFillStyle(y.show ? t.legend.fontColor : t.legend.hiddenColor), o.fillText(_, p, g + b), o.closePath(), o.stroke(), "top" == t.legend.position || "bottom" == t.legend.position ? (p += x(_, s, o) + m, y.area[2] = p) : (y.area[2] = p + x(_, s, o) + m, p -= l + u, g += h) } })) } } function we(e, t, n, o) { var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1, r = c({}, { activeOpacity: .5, activeRadius: 10, offsetAngle: 0, labelWidth: 15, ringWidth: 30, customRadius: 0, border: !1, borderWidth: 2, borderColor: "#FFFFFF", centerColor: "#FFFFFF", linearType: "none", customColor: [] }, "pie" == t.type ? t.extra.pie : t.extra.ring), i = { x: t.area[3] + (t.width - t.area[1] - t.area[3]) / 2, y: t.area[0] + (t.height - t.area[0] - t.area[2]) / 2 }; 0 == n.pieChartLinePadding && (n.pieChartLinePadding = r.activeRadius * t.pix); var d = Math.min((t.width - t.area[1] - t.area[3]) / 2 - n.pieChartLinePadding - n.pieChartTextPadding - n._pieTextMaxLength_, (t.height - t.area[0] - t.area[2]) / 2 - n.pieChartLinePadding - n.pieChartTextPadding); d = d < 10 ? 10 : d, r.customRadius > 0 && (d = r.customRadius * t.pix), e = $(e, d, a); var l = r.activeRadius * t.pix; if (r.customColor = v(r.linearType, r.customColor, e, n), e = e.map((function(e) { return e._start_ += r.offsetAngle * Math.PI / 180, e })), e.forEach((function(e, n) { t.tooltip && t.tooltip.index == n && (o.beginPath(), o.setFillStyle(s(e.color, r.activeOpacity || .5)), o.moveTo(i.x, i.y), o.arc(i.x, i.y, e._radius_ + l, e._start_, e._start_ + 2 * e._proportion_ * Math.PI), o.closePath(), o.fill()), o.beginPath(), o.setLineWidth(r.borderWidth * t.pix), o.lineJoin = "round", o.setStrokeStyle(r.borderColor); var a, c = e.color; "custom" == r.linearType && (a = o.createCircularGradient ? o.createCircularGradient(i.x, i.y, e._radius_) : o.createRadialGradient(i.x, i.y, 0, i.x, i.y, e._radius_), a.addColorStop(0, s(r.customColor[e.linearIndex], 1)), a.addColorStop(1, s(e.color, 1)), c = a); o.setFillStyle(c), o.moveTo(i.x, i.y), o.arc(i.x, i.y, e._radius_, e._start_, e._start_ + 2 * e._proportion_ * Math.PI), o.closePath(), o.fill(), 1 == r.border && o.stroke() })), "ring" === t.type) { var u = .6 * d; "number" === typeof r.ringWidth && r.ringWidth > 0 && (u = Math.max(0, d - r.ringWidth * t.pix)), o.beginPath(), o.setFillStyle(r.centerColor), o.moveTo(i.x, i.y), o.arc(i.x, i.y, u, 0, 2 * Math.PI), o.closePath(), o.fill() } return !1 !== t.dataLabel && 1 === a && ue(e, t, n, o, 0, i), 1 === a && "ring" === t.type && re(t, n, o, i), { center: i, radius: d, series: e } } function Ae(e, t) { var n = Array(2), o = 20037508.34 * e / 180, a = Math.log(Math.tan((90 + t) * Math.PI / 360)) / (Math.PI / 180); return a = 20037508.34 * a / 180, n[0] = o, n[1] = a, n } function Se(e, t, n, o, a, r) { return { x: (t - n.xMin) * o + a, y: (n.yMax - e) * o + r } } function Te(e, t, n) { if (t[1] == n[1]) return !1; if (t[1] > e[1] && n[1] > e[1]) return !1; if (t[1] < e[1] && n[1] < e[1]) return !1; if (t[1] == e[1] && n[1] > e[1]) return !1; if (n[1] == e[1] && t[1] > e[1]) return !1; if (t[0] < e[0] && n[1] < e[1]) return !1; var o = n[0] - (n[0] - t[0]) * (n[1] - e[1]) / (n[1] - t[1]); return !(o < e[0]) } function Ce(e, t, n) { for (var o = 0, a = 0; a < t.length; a++) { var r = t[a][0]; 1 == t.length && (r = t[a][0]); for (var i = 0; i < r.length - 1; i++) { var c = r[i], d = r[i + 1]; n && (c = Ae(r[i][0], r[i][1]), d = Ae(r[i + 1][0], r[i + 1][1])), Te(e, c, d) && (o += 1) } } return o % 2 == 1 } function Pe(e, t, n) { n = 0 == n ? 1 : n; for (var o = [], a = 0; a < n; a++) o[a] = Math.random(); return Math.floor(o.reduce((function(e, t) { return e + t })) / n * (t - e)) + e } function ke(e, t, n, o) { for (var a = !1, r = 0; r < t.length; r++) if (t[r].area) { if (!(e[3] < t[r].area[1] || e[0] > t[r].area[2] || e[1] > t[r].area[3] || e[2] < t[r].area[0])) { a = !0; break } if (e[0] < 0 || e[1] < 0 || e[2] > n || e[3] > o) { a = !0; break } a = !1 } return a } function De(e, t, n) { var o = e.series; switch (t) { case "normal": for (var a = 0; a < o.length; a++) { var r = o[a].name, i = o[a].textSize * e.pix, c = x(r, i, n), d = void 0, s = void 0, l = void 0, u = 0; while (1) { u++, d = Pe(-e.width / 2, e.width / 2, 5) - c / 2, s = Pe(-e.height / 2, e.height / 2, 5) + i / 2, l = [d - 5 + e.width / 2, s - 5 - i + e.height / 2, d + c + 5 + e.width / 2, s + 5 + e.height / 2]; var m = ke(l, o, e.width, e.height); if (!m) break; if (1e3 == u) { l = [-100, -100, -100, -100]; break } } o[a].area = l } break; case "vertical": for (var h = function() { return Math.random() > .7 }, f = 0; f < o.length; f++) { var p = o[f].name, g = o[f].textSize * e.pix, v = x(p, g, n), y = h(), b = void 0, _ = void 0, w = void 0, A = void 0, S = 0; while (1) { S++; var T = void 0; if (y ? (b = Pe(-e.width / 2, e.width / 2, 5) - v / 2, _ = Pe(-e.height / 2, e.height / 2, 5) + g / 2, w = [_ - 5 - v + e.width / 2, -b - 5 + e.height / 2, _ + 5 + e.width / 2, -b + g + 5 + e.height / 2], A = [e.width - (e.width / 2 - e.height / 2) - (-b + g + 5 + e.height / 2) - 5, e.height / 2 - e.width / 2 + (_ - 5 - v + e.width / 2) - 5, e.width - (e.width / 2 - e.height / 2) - (-b + g + 5 + e.height / 2) + g, e.height / 2 - e.width / 2 + (_ - 5 - v + e.width / 2) + v + 5], T = ke(A, o, e.height, e.width)) : (b = Pe(-e.width / 2, e.width / 2, 5) - v / 2, _ = Pe(-e.height / 2, e.height / 2, 5) + g / 2, w = [b - 5 + e.width / 2, _ - 5 - g + e.height / 2, b + v + 5 + e.width / 2, _ + 5 + e.height / 2], T = ke(w, o, e.width, e.height)), !T) break; if (1e3 == S) { w = [-1e3, -1e3, -1e3, -1e3]; break } } y ? (o[f].area = A, o[f].areav = w) : o[f].area = w, o[f].rotate = y } break } return o } function Me(e, t, n, o, a, r, i) { for (var c = 0; c < e.length; c++) { var s = e[c]; if (!1 !== s.labelShow) { var l = void 0, u = void 0, m = void 0, h = void 0, f = s.formatter ? s.formatter(s, c, e, t) : d.toFixed(100 * s._proportion_) + "%"; f = s.labelText ? s.labelText : f, "right" == a ? (l = "pyramid" === t.extra.funnel.type ? c == e.length - 1 ? (s.funnelArea[2] + i.x) / 2 : (s.funnelArea[2] + e[c + 1].funnelArea[2]) / 2 : 0 == c ? (s.funnelArea[2] + i.x) / 2 : (s.funnelArea[2] + e[c - 1].funnelArea[2]) / 2, u = l + 2 * r, m = s.funnelArea[1] + o / 2, h = s.textSize * t.pix || t.fontSize * t.pix, n.setLineWidth(1 * t.pix), n.setStrokeStyle(s.color), n.setFillStyle(s.color), n.beginPath(), n.moveTo(l, m), n.lineTo(u, m), n.stroke(), n.closePath(), n.beginPath(), n.moveTo(u, m), n.arc(u, m, 2 * t.pix, 0, 2 * Math.PI), n.closePath(), n.fill(), n.beginPath(), n.setFontSize(h), n.setFillStyle(s.textColor || t.fontColor), n.fillText(f, u + 5, m + h / 2 - 2), n.closePath(), n.stroke(), n.closePath()) : (l = "pyramid" === t.extra.funnel.type ? c == e.length - 1 ? (s.funnelArea[0] + i.x) / 2 : (s.funnelArea[0] + e[c + 1].funnelArea[0]) / 2 : 0 == c ? (s.funnelArea[0] + i.x) / 2 : (s.funnelArea[0] + e[c - 1].funnelArea[0]) / 2, u = l - 2 * r, m = s.funnelArea[1] + o / 2, h = s.textSize * t.pix || t.fontSize * t.pix, n.setLineWidth(1 * t.pix), n.setStrokeStyle(s.color), n.setFillStyle(s.color), n.beginPath(), n.moveTo(l, m), n.lineTo(u, m), n.stroke(), n.closePath(), n.beginPath(), n.moveTo(u, m), n.arc(u, m, 2, 0, 2 * Math.PI), n.closePath(), n.fill(), n.beginPath(), n.setFontSize(h), n.setFillStyle(s.textColor || t.fontColor), n.fillText(f, u - 5 - x(f, h, n), m + h / 2 - 2), n.closePath(), n.stroke(), n.closePath()) } } } function Oe(e, t) { t.draw() } var Le = { easeIn: function(e) { return Math.pow(e, 3) }, easeOut: function(e) { return Math.pow(e - 1, 3) + 1 }, easeInOut: function(e) { return (e /= .5) < 1 ? .5 * Math.pow(e, 3) : .5 * (Math.pow(e - 2, 3) + 2) }, linear: function(e) { return e } }; function Re(e) { this.isStop = !1, e.duration = "undefined" === typeof e.duration ? 1e3 : e.duration, e.timing = e.timing || "easeInOut"; var t = function() { return "undefined" !== typeof setTimeout ? function(e, t) { setTimeout((function() { var t = +new Date; e(t) }), t) } : "undefined" !== typeof requestAnimationFrame ? requestAnimationFrame : function(e) { e(null) } }(), n = null, o = function(a) { if (null === a || !0 === this.isStop) return e.onProcess && e.onProcess(1), void(e.onAnimationFinish && e.onAnimationFinish()); if (null === n && (n = a), a - n < e.duration) { var r = (a - n) / e.duration, i = Le[e.timing]; r = i(r), e.onProcess && e.onProcess(r), t(o, 17) } else e.onProcess && e.onProcess(1), e.onAnimationFinish && e.onAnimationFinish() }; o = o.bind(this), t(o, 17) } function Fe(e, t, n, o) { var r = this, i = t.series; "pie" !== e && "ring" !== e && "mount" !== e && "rose" !== e && "funnel" !== e || (i = function(e, t, n) { var o = []; if (e.length > 0 && e[0].data.constructor.toString().indexOf("Array") > -1) { t._pieSeries_ = e; for (var a = e[0].data, r = 0; r < a.length; r++) a[r].formatter = e[0].formatter, a[r].data = a[r].value, o.push(a[r]); t.series = o } else o = e; return o }(i, t)); var l = t.categories; if ("mount" === e) { l = []; for (var u = 0; u < i.length; u++) !1 !== i[u].show && l.push(i[u].name); t.categories = l } i = g(i, t, n); var m = t.animation ? t.duration : 0; r.animationInstance && r.animationInstance.stop(); var p = null; if ("candle" == e) { var y = c({}, t.extra.candle.average); y.show ? (p = function(e, t, n, o) { for (var a = [], r = 0; r < e.length; r++) { for (var i = { data: [], name: t[r], color: n[r] }, c = 0, d = o.length; c < d; c++) if (c < e[r]) i.data.push(null); else { for (var s = 0, l = 0; l < e[r]; l++) s += o[c - l][1]; i.data.push(+(s / e[r]).toFixed(3)) } a.push(i) } return a }(y.day, y.name, y.color, i[0].data), p = g(p, t, n), t.seriesMA = p) : p = t.seriesMA ? t.seriesMA = g(t.seriesMA, t, n) : i } else p = i; t._series_ = i = D(i), t.area = new Array(4); for (var _ = 0; _ < 4; _++) t.area[_] = t.padding[_] * t.pix; var w = function(e, t, n, o, a) { var r = { area: { start: { x: 0, y: 0 }, end: { x: 0, y: 0 }, width: 0, height: 0, wholeWidth: 0, wholeHeight: 0 }, points: [], widthArr: [], heightArr: [] }; if (!1 === t.legend.show) return o.legendData = r, r; var i = t.legend.padding * t.pix, c = t.legend.margin * t.pix, d = t.legend.fontSize ? t.legend.fontSize * t.pix : n.fontSize, s = 15 * t.pix, l = 5 * t.pix, u = Math.max(t.legend.lineHeight * t.pix, d); if ("top" == t.legend.position || "bottom" == t.legend.position) { for (var m = [], h = 0, f = [], p = [], g = 0; g < e.length; g++) { var v = e[g], y = v.legendText ? v.legendText : v.name, b = s + l + x(y || "undefined", d, a) + t.legend.itemGap * t.pix; h + b > t.width - t.area[1] - t.area[3] ? (m.push(p), f.push(h - t.legend.itemGap * t.pix), h = b, p = [v]) : (h += b, p.push(v)) } if (p.length) { m.push(p), f.push(h - t.legend.itemGap * t.pix), r.widthArr = f; var _ = Math.max.apply(null, f); switch (t.legend.float) { case "left": r.area.start.x = t.area[3], r.area.end.x = t.area[3] + _ + 2 * i; break; case "right": r.area.start.x = t.width - t.area[1] - _ - 2 * i, r.area.end.x = t.width - t.area[1]; break; default: r.area.start.x = (t.width - _) / 2 - i, r.area.end.x = (t.width + _) / 2 + i } r.area.width = _ + 2 * i, r.area.wholeWidth = _ + 2 * i, r.area.height = m.length * u + 2 * i, r.area.wholeHeight = m.length * u + 2 * i + 2 * c, r.points = m } } else { var w = e.length, A = t.height - t.area[0] - t.area[2] - 2 * c - 2 * i, S = Math.min(Math.floor(A / u), w); switch (r.area.height = S * u + 2 * i, r.area.wholeHeight = S * u + 2 * i, t.legend.float) { case "top": r.area.start.y = t.area[0] + c, r.area.end.y = t.area[0] + c + r.area.height; break; case "bottom": r.area.start.y = t.height - t.area[2] - c - r.area.height, r.area.end.y = t.height - t.area[2] - c; break; default: r.area.start.y = (t.height - r.area.height) / 2, r.area.end.y = (t.height + r.area.height) / 2 } for (var T = w % S === 0 ? w / S : Math.floor(w / S + 1), C = [], P = 0; P < T; P++) { var k = e.slice(P * S, P * S + S); C.push(k) } if (r.points = C, C.length) { for (var D = 0; D < C.length; D++) { for (var M = C[D], O = 0, L = 0; L < M.length; L++) { var R = s + l + x(M[L].name || "undefined", d, a) + t.legend.itemGap * t.pix; R > O && (O = R) } r.widthArr.push(O), r.heightArr.push(M.length * u + 2 * i) } for (var F = 0, E = 0; E < r.widthArr.length; E++) F += r.widthArr[E]; r.area.width = F - t.legend.itemGap * t.pix + 2 * i, r.area.wholeWidth = r.area.width + i } } switch (t.legend.position) { case "top": r.area.start.y = t.area[0] + c, r.area.end.y = t.area[0] + c + r.area.height; break; case "bottom": r.area.start.y = t.height - t.area[2] - r.area.height - c, r.area.end.y = t.height - t.area[2] - c; break; case "left": r.area.start.x = t.area[3], r.area.end.x = t.area[3] + r.area.width; break; case "right": r.area.start.x = t.width - t.area[1] - r.area.width, r.area.end.x = t.width - t.area[1]; break } return o.legendData = r, r }(p, t, n, t.chartData, o), A = w.area.wholeHeight, C = w.area.wholeWidth; switch (t.legend.position) { case "top": t.area[0] += A; break; case "bottom": t.area[2] += A; break; case "left": t.area[3] += C; break; case "right": t.area[1] += C; break } var P = {}, k = 0; if ("line" === t.type || "column" === t.type || "mount" === t.type || "area" === t.type || "mix" === t.type || "candle" === t.type || "scatter" === t.type || "bubble" === t.type || "bar" === t.type) { if (P = ne(i, t, n, o), k = P.yAxisWidth, t.yAxis.showTitle) { for (var M = 0, O = 0; O < t.yAxis.data.length; O++) M = Math.max(M, t.yAxis.data[O].titleFontSize ? t.yAxis.data[O].titleFontSize * t.pix : n.fontSize); t.area[0] += M } for (var te = 0, he = 0, ge = 0; ge < k.length; ge++) "left" == k[ge].position ? (t.area[3] += he > 0 ? k[ge].width + t.yAxis.padding * t.pix : k[ge].width, he += 1) : "right" == k[ge].position && (t.area[1] += te > 0 ? k[ge].width + t.yAxis.padding * t.pix : k[ge].width, te += 1) } else n.yAxisWidth = k; if (t.chartData.yAxisData = P, t.categories && t.categories.length && "radar" !== t.type && "gauge" !== t.type && "bar" !== t.type) { t.chartData.xAxisData = X(t.categories, t); var Te = R(t.categories, t, n, t.chartData.xAxisData.eachSpacing, o), Ce = Te.xAxisHeight, Pe = Te.angle; n.xAxisHeight = Ce, n._xAxisTextAngle_ = Pe, t.area[2] += Ce, t.chartData.categoriesData = Te } else if ("line" === t.type || "area" === t.type || "scatter" === t.type || "bubble" === t.type || "bar" === t.type) { t.chartData.xAxisData = F(i, t, n, o), l = t.chartData.xAxisData.rangesFormat; var ke = R(l, t, n, t.chartData.xAxisData.eachSpacing, o), Le = ke.xAxisHeight, Fe = ke.angle; n.xAxisHeight = Le, n._xAxisTextAngle_ = Fe, t.area[2] += Le, t.chartData.categoriesData = ke } else t.chartData.xAxisData = { xAxisPoints: [] }; if (t.enableScroll && "right" == t.xAxis.scrollAlign && void 0 === t._scrollDistance_) { var Ee, $e = t.chartData.xAxisData.xAxisPoints, je = t.chartData.xAxisData.startX, Ie = t.chartData.xAxisData.endX, qe = t.chartData.xAxisData.eachSpacing, ze = qe * ($e.length - 1), We = Ie - je; Ee = We - ze, r.scrollOption.currentOffset = Ee, r.scrollOption.startTouchX = Ee, r.scrollOption.distance = 0, r.scrollOption.lastMoveTime = 0, t._scrollDistance_ = Ee } switch ("pie" !== e && "ring" !== e && "rose" !== e || (n._pieTextMaxLength_ = !1 === t.dataLabel ? 0 : function(e, t, n, o) { e = $(e); for (var a = 0, r = 0; r < e.length; r++) { var i = e[r], c = i.formatter ? i.formatter(+i._proportion_.toFixed(2)) : d.toFixed(100 * i._proportion_) + "%"; a = Math.max(a, x(c, i.textSize * o.pix || t.fontSize, n)) } return a }(p, n, o, t)), e) { case "word": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), function(e, t, n, o) { var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1, r = c({}, { type: "normal", autoColors: !0 }, t.extra.word); t.chartData.wordCloudData || (t.chartData.wordCloudData = De(t, r.type, o)), o.beginPath(), o.setFillStyle(t.background), o.rect(0, 0, t.width, t.height), o.fill(), o.save(); var i = t.chartData.wordCloudData; o.translate(t.width / 2, t.height / 2); for (var d = 0; d < i.length; d++) { o.save(), i[d].rotate && o.rotate(90 * Math.PI / 180); var s = i[d].name, l = i[d].textSize * t.pix, u = x(s, l, o); o.beginPath(), o.setStrokeStyle(i[d].color), o.setFillStyle(i[d].color), o.setFontSize(l), i[d].rotate ? i[d].areav[0] > 0 && (t.tooltip && t.tooltip.index == d ? o.strokeText(s, (i[d].areav[0] + 5 - t.width / 2) * a - u * (1 - a) / 2, (i[d].areav[1] + 5 + l - t.height / 2) * a) : o.fillText(s, (i[d].areav[0] + 5 - t.width / 2) * a - u * (1 - a) / 2, (i[d].areav[1] + 5 + l - t.height / 2) * a)) : i[d].area[0] > 0 && (t.tooltip && t.tooltip.index == d ? o.strokeText(s, (i[d].area[0] + 5 - t.width / 2) * a - u * (1 - a) / 2, (i[d].area[1] + 5 + l - t.height / 2) * a) : o.fillText(s, (i[d].area[0] + 5 - t.width / 2) * a - u * (1 - a) / 2, (i[d].area[1] + 5 + l - t.height / 2) * a)), o.stroke(), o.restore() } o.restore() }(i, t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break; case "map": o.clearRect(0, 0, t.width, t.height), function(e, t, n, o) { var a, r, i = c({}, { border: !0, mercator: !1, borderWidth: 1, borderColor: "#666666", fillOpacity: .6, activeBorderColor: "#f04864", activeFillColor: "#facc14", activeFillOpacity: 1 }, t.extra.map), d = e, l = function(e) { for (var t, n = { xMin: 180, xMax: 0, yMin: 90, yMax: 0 }, o = 0; o < e.length; o++) for (var a = e[o].geometry.coordinates, r = 0; r < a.length; r++) { t = a[r], 1 == t.length && (t = t[0]); for (var i = 0; i < t.length; i++) { var c = t[i][0], d = t[i][1], s = { x: c, y: d }; n.xMin = n.xMin < s.x ? n.xMin : s.x, n.xMax = n.xMax > s.x ? n.xMax : s.x, n.yMin = n.yMin < s.y ? n.yMin : s.y, n.yMax = n.yMax > s.y ? n.yMax : s.y } } return n }(d); if (i.mercator) { var u = Ae(l.xMax, l.yMax), m = Ae(l.xMin, l.yMin); l.xMax = u[0], l.yMax = u[1], l.xMin = m[0], l.yMin = m[1] } for (var h = t.width / Math.abs(l.xMax - l.xMin), f = t.height / Math.abs(l.yMax - l.yMin), p = h < f ? h : f, g = t.width / 2 - Math.abs(l.xMax - l.xMin) / 2 * p, v = t.height / 2 - Math.abs(l.yMax - l.yMin) / 2 * p, y = 0; y < d.length; y++) { o.beginPath(), o.setLineWidth(i.borderWidth * t.pix), o.setStrokeStyle(i.borderColor), o.setFillStyle(s(e[y].color, i.fillOpacity)), t.tooltip && t.tooltip.index == y && (o.setStrokeStyle(i.activeBorderColor), o.setFillStyle(s(i.activeFillColor, i.activeFillOpacity))); for (var b = d[y].geometry.coordinates, _ = 0; _ < b.length; _++) { a = b[_], 1 == a.length && (a = a[0]); for (var w = 0; w < a.length; w++) { var A = Array(2); A = i.mercator ? Ae(a[w][0], a[w][1]) : a[w], r = Se(A[1], A[0], l, p, g, v), 0 === w ? (o.beginPath(), o.moveTo(r.x, r.y)) : o.lineTo(r.x, r.y) } o.fill(), 1 == i.border && o.stroke() } } if (1 == t.dataLabel) for (y = 0; y < d.length; y++) { var S = d[y].properties.centroid; if (S) { i.mercator && (S = Ae(d[y].properties.centroid[0], d[y].properties.centroid[1])), r = Se(S[1], S[0], l, p, g, v); var T = d[y].textSize * t.pix || n.fontSize, C = d[y].properties.name; o.beginPath(), o.setFontSize(T), o.setFillStyle(d[y].textColor || t.fontColor), o.fillText(C, r.x - x(C, T, o) / 2, r.y + T / 2), o.closePath(), o.stroke() } } t.chartData.mapData = { bounds: l, scale: p, xoffset: g, yoffset: v, mercator: i.mercator }, ve(t, n, o, 1), o.draw() }(i, t, n, o); break; case "funnel": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), t.chartData.funnelData = function(e, t, n, o) { var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1, r = c({}, { type: "funnel", activeWidth: 10, activeOpacity: .3, border: !1, borderWidth: 2, borderColor: "#FFFFFF", fillOpacity: 1, labelAlign: "right", linearType: "none", customColor: [] }, t.extra.funnel), i = (t.height - t.area[0] - t.area[2]) / e.length, d = { x: t.area[3] + (t.width - t.area[1] - t.area[3]) / 2, y: t.height - t.area[2] }, l = r.activeWidth * t.pix, u = Math.min((t.width - t.area[1] - t.area[3]) / 2 - l, (t.height - t.area[0] - t.area[2]) / 2 - l); if (e = j(e, u, r.type, i, a), o.save(), o.translate(d.x, d.y), r.customColor = v(r.linearType, r.customColor, e, n), "pyramid" == r.type) for (var m = 0; m < e.length; m++) { if (m == e.length - 1) { t.tooltip && t.tooltip.index == m && (o.beginPath(), o.setFillStyle(s(e[m].color, r.activeOpacity)), o.moveTo(-l, -i), o.lineTo(-e[m].radius - l, 0), o.lineTo(e[m].radius + l, 0), o.lineTo(l, -i), o.lineTo(-l, -i), o.closePath(), o.fill()), e[m].funnelArea = [d.x - e[m].radius, d.y - i * (m + 1), d.x + e[m].radius, d.y - i * m], o.beginPath(), o.setLineWidth(r.borderWidth * t.pix), o.setStrokeStyle(r.borderColor); var h = s(e[m].color, r.fillOpacity); if ("custom" == r.linearType) { var f = o.createLinearGradient(e[m].radius, -i, -e[m].radius, -i); f.addColorStop(0, s(e[m].color, r.fillOpacity)), f.addColorStop(.5, s(r.customColor[e[m].linearIndex], r.fillOpacity)), f.addColorStop(1, s(e[m].color, r.fillOpacity)), h = f } o.setFillStyle(h), o.moveTo(0, -i), o.lineTo(-e[m].radius, 0), o.lineTo(e[m].radius, 0), o.lineTo(0, -i), o.closePath(), o.fill(), 1 == r.border && o.stroke() } else { t.tooltip && t.tooltip.index == m && (o.beginPath(), o.setFillStyle(s(e[m].color, r.activeOpacity)), o.moveTo(0, 0), o.lineTo(-e[m].radius - l, 0), o.lineTo(-e[m + 1].radius - l, -i), o.lineTo(e[m + 1].radius + l, -i), o.lineTo(e[m].radius + l, 0), o.lineTo(0, 0), o.closePath(), o.fill()), e[m].funnelArea = [d.x - e[m].radius, d.y - i * (m + 1), d.x + e[m].radius, d.y - i * m], o.beginPath(), o.setLineWidth(r.borderWidth * t.pix), o.setStrokeStyle(r.borderColor); h = s(e[m].color, r.fillOpacity); if ("custom" == r.linearType) { f = o.createLinearGradient(e[m].radius, -i, -e[m].radius, -i); f.addColorStop(0, s(e[m].color, r.fillOpacity)), f.addColorStop(.5, s(r.customColor[e[m].linearIndex], r.fillOpacity)), f.addColorStop(1, s(e[m].color, r.fillOpacity)), h = f } o.setFillStyle(h), o.moveTo(0, 0), o.lineTo(-e[m].radius, 0), o.lineTo(-e[m + 1].radius, -i), o.lineTo(e[m + 1].radius, -i), o.lineTo(e[m].radius, 0), o.lineTo(0, 0), o.closePath(), o.fill(), 1 == r.border && o.stroke() } o.translate(0, -i) } else for (var p = 0; p < e.length; p++) { if (0 == p) { t.tooltip && t.tooltip.index == p && (o.beginPath(), o.setFillStyle(s(e[p].color, r.activeOpacity)), o.moveTo(-l, 0), o.lineTo(-e[p].radius - l, -i), o.lineTo(e[p].radius + l, -i), o.lineTo(l, 0), o.lineTo(-l, 0), o.closePath(), o.fill()), e[p].funnelArea = [d.x - e[p].radius, d.y - i, d.x + e[p].radius, d.y], o.beginPath(), o.setLineWidth(r.borderWidth * t.pix), o.setStrokeStyle(r.borderColor); h = s(e[p].color, r.fillOpacity); if ("custom" == r.linearType) { f = o.createLinearGradient(e[p].radius, -i, -e[p].radius, -i); f.addColorStop(0, s(e[p].color, r.fillOpacity)), f.addColorStop(.5, s(r.customColor[e[p].linearIndex], r.fillOpacity)), f.addColorStop(1, s(e[p].color, r.fillOpacity)), h = f } o.setFillStyle(h), o.moveTo(0, 0), o.lineTo(-e[p].radius, -i), o.lineTo(e[p].radius, -i), o.lineTo(0, 0), o.closePath(), o.fill(), 1 == r.border && o.stroke() } else { t.tooltip && t.tooltip.index == p && (o.beginPath(), o.setFillStyle(s(e[p].color, r.activeOpacity)), o.moveTo(0, 0), o.lineTo(-e[p - 1].radius - l, 0), o.lineTo(-e[p].radius - l, -i), o.lineTo(e[p].radius + l, -i), o.lineTo(e[p - 1].radius + l, 0), o.lineTo(0, 0), o.closePath(), o.fill()), e[p].funnelArea = [d.x - e[p].radius, d.y - i * (p + 1), d.x + e[p].radius, d.y - i * p], o.beginPath(), o.setLineWidth(r.borderWidth * t.pix), o.setStrokeStyle(r.borderColor); h = s(e[p].color, r.fillOpacity); if ("custom" == r.linearType) { f = o.createLinearGradient(e[p].radius, -i, -e[p].radius, -i); f.addColorStop(0, s(e[p].color, r.fillOpacity)), f.addColorStop(.5, s(r.customColor[e[p].linearIndex], r.fillOpacity)), f.addColorStop(1, s(e[p].color, r.fillOpacity)), h = f } o.setFillStyle(h), o.moveTo(0, 0), o.lineTo(-e[p - 1].radius, 0), o.lineTo(-e[p].radius, -i), o.lineTo(e[p].radius, -i), o.lineTo(e[p - 1].radius, 0), o.lineTo(0, 0), o.closePath(), o.fill(), 1 == r.border && o.stroke() } o.translate(0, -i) } return o.restore(), !1 !== t.dataLabel && 1 === a && Me(e, t, o, i, r.labelAlign, l, d), { center: d, radius: u, series: e } }(i, t, n, o, e), _e(t.series, t, n, o, t.chartData), ve(t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break; case "line": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), xe(0, t, 0, o), ye(l, t, n, o); var a = function(e, t, n, o) { var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1, r = c({}, { type: "straight", width: 2 }, t.extra.line); r.width *= t.pix; var i = t.chartData.xAxisData, d = i.xAxisPoints, s = i.eachSpacing, l = []; o.save(); var u = 0, m = t.width + s; return t._scrollDistance_ && 0 !== t._scrollDistance_ && !0 === t.enableScroll && (o.translate(t._scrollDistance_, 0), u = -t._scrollDistance_ - 2 * s + t.area[3], m = u + (t.xAxis.itemCount + 4) * s), e.forEach((function(e, i) { var c, f, p; c = [].concat(t.chartData.yAxisData.ranges[e.index]), f = c.pop(), p = c.shift(); var g = e.data, v = K(g, f, p, d, s, t, n, a); l.push(v); var y = L(v, e); if ("dash" == e.lineType) { var x = e.dashLength ? e.dashLength : 8; x *= t.pix, o.setLineDash([x, x]) } o.beginPath(), o.setStrokeStyle(e.color), o.setLineWidth(r.width), y.forEach((function(e, t) { if (1 === e.length) o.moveTo(e[0].x, e[0].y), o.arc(e[0].x, e[0].y, 1, 0, 2 * Math.PI); else { o.moveTo(e[0].x, e[0].y); var n = 0; if ("curve" === r.type) for (var a = 0; a < e.length; a++) { var i = e[a]; if (0 == n && i.x > u && (o.moveTo(i.x, i.y), n = 1), a > 0 && i.x > u && i.x < m) { var c = h(e, a - 1); o.bezierCurveTo(c.ctrA.x, c.ctrA.y, c.ctrB.x, c.ctrB.y, i.x, i.y) } } if ("straight" === r.type) for (var d = 0; d < e.length; d++) { var s = e[d]; 0 == n && s.x > u && (o.moveTo(s.x, s.y), n = 1), d > 0 && s.x > u && s.x < m && o.lineTo(s.x, s.y) } if ("step" === r.type) for (var l = 0; l < e.length; l++) { var f = e[l]; 0 == n && f.x > u && (o.moveTo(f.x, f.y), n = 1), l > 0 && f.x > u && f.x < m && (o.lineTo(f.x, e[l - 1].y), o.lineTo(f.x, f.y)) } o.moveTo(e[0].x, e[0].y) } })), o.stroke(), o.setLineDash([]), !1 !== t.dataPointShape && ae(v, e.color, e.pointShape, o, t) })), !1 !== t.dataLabel && 1 === a && e.forEach((function(e, r) { var i, c, l; i = [].concat(t.chartData.yAxisData.ranges[e.index]), c = i.pop(), l = i.shift(); var u = e.data, m = K(u, c, l, d, s, t, n, a); ie(m, e, n, o, t) })), o.restore(), { xAxisPoints: d, calPoints: l, eachSpacing: s } }(i, t, n, o, e), r = a.xAxisPoints, d = a.calPoints, s = a.eachSpacing; t.chartData.xAxisPoints = r, t.chartData.calPoints = d, t.chartData.eachSpacing = s, be(0, t, n, o), !1 !== t.enableMarkLine && 1 === e && me(t, n, o), _e(t.series, t, n, o, t.chartData), ve(t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break; case "scatter": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), xe(0, t, 0, o), ye(l, t, n, o); var a = function(e, t, n, o) { var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1, r = (c({}, { type: "circle" }, t.extra.scatter), t.chartData.xAxisData), i = r.xAxisPoints, d = r.eachSpacing, s = []; o.save(); return t.width, t._scrollDistance_ && 0 !== t._scrollDistance_ && !0 === t.enableScroll && (o.translate(t._scrollDistance_, 0), -t._scrollDistance_ - 2 * d + t.area[3], t.xAxis.itemCount), e.forEach((function(e, r) { var c, s, l; c = [].concat(t.chartData.yAxisData.ranges[e.index]), s = c.pop(), l = c.shift(); var u = e.data, m = K(u, s, l, i, d, t, n, a); o.beginPath(), o.setStrokeStyle(e.color), o.setFillStyle(e.color), o.setLineWidth(1 * t.pix); var h = e.pointShape; if ("diamond" === h) m.forEach((function(e, t) { null !== e && (o.moveTo(e.x, e.y - 4.5), o.lineTo(e.x - 4.5, e.y), o.lineTo(e.x, e.y + 4.5), o.lineTo(e.x + 4.5, e.y), o.lineTo(e.x, e.y - 4.5)) })); else if ("circle" === h) m.forEach((function(e, n) { null !== e && (o.moveTo(e.x + 2.5 * t.pix, e.y), o.arc(e.x, e.y, 3 * t.pix, 0, 2 * Math.PI, !1)) })); else if ("square" === h) m.forEach((function(e, t) { null !== e && (o.moveTo(e.x - 3.5, e.y - 3.5), o.rect(e.x - 3.5, e.y - 3.5, 7, 7)) })); else if ("triangle" === h) m.forEach((function(e, t) { null !== e && (o.moveTo(e.x, e.y - 4.5), o.lineTo(e.x - 4.5, e.y + 4.5), o.lineTo(e.x + 4.5, e.y + 4.5), o.lineTo(e.x, e.y - 4.5)) })); else if ("triangle" === h) return; o.closePath(), o.fill(), o.stroke() })), !1 !== t.dataLabel && 1 === a && e.forEach((function(e, r) { var c, s, l; c = [].concat(t.chartData.yAxisData.ranges[e.index]), s = c.pop(), l = c.shift(); var u = e.data, m = K(u, s, l, i, d, t, n, a); ie(m, e, n, o, t) })), o.restore(), { xAxisPoints: i, calPoints: s, eachSpacing: d } }(i, t, n, o, e), r = a.xAxisPoints, d = a.calPoints, s = a.eachSpacing; t.chartData.xAxisPoints = r, t.chartData.calPoints = d, t.chartData.eachSpacing = s, be(0, t, n, o), !1 !== t.enableMarkLine && 1 === e && me(t, n, o), _e(t.series, t, n, o, t.chartData), ve(t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break; case "bubble": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), xe(0, t, 0, o), ye(l, t, n, o); var a = function(e, t, n, o) { var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1, r = c({}, { opacity: 1, border: 2 }, t.extra.bubble), i = t.chartData.xAxisData, d = i.xAxisPoints, l = i.eachSpacing, u = []; o.save(); return t.width, t._scrollDistance_ && 0 !== t._scrollDistance_ && !0 === t.enableScroll && (o.translate(t._scrollDistance_, 0), -t._scrollDistance_ - 2 * l + t.area[3], t.xAxis.itemCount), e.forEach((function(i, c) { var u, m, h; u = [].concat(t.chartData.yAxisData.ranges[i.index]), m = u.pop(), h = u.shift(); var f = i.data, p = K(f, m, h, d, l, t, n, a); o.beginPath(), o.setStrokeStyle(i.color), o.setLineWidth(r.border * t.pix), o.setFillStyle(s(i.color, r.opacity)), p.forEach((function(e, n) { o.moveTo(e.x + e.r, e.y), o.arc(e.x, e.y, e.r * t.pix, 0, 2 * Math.PI, !1) })), o.closePath(), o.fill(), o.stroke(), !1 !== t.dataLabel && 1 === a && p.forEach((function(a, r) { o.beginPath(); var i = e.textSize * t.pix || n.fontSize; o.setFontSize(i), o.setFillStyle(e.textColor || "#FFFFFF"), o.setTextAlign("center"), o.fillText(String(a.t), a.x, a.y + i / 2), o.closePath(), o.stroke(), o.setTextAlign("left") })) })), o.restore(), { xAxisPoints: d, calPoints: u, eachSpacing: l } }(i, t, n, o, e), r = a.xAxisPoints, d = a.calPoints, u = a.eachSpacing; t.chartData.xAxisPoints = r, t.chartData.calPoints = d, t.chartData.eachSpacing = u, be(0, t, n, o), !1 !== t.enableMarkLine && 1 === e && me(t, n, o), _e(t.series, t, n, o, t.chartData), ve(t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break; case "mix": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), xe(0, t, 0, o), ye(l, t, n, o); var r = function(e, t, n, o) { var r = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1, i = t.chartData.xAxisData, d = i.xAxisPoints, l = i.eachSpacing, u = c({}, { width: l / 2, barBorderCircle: !1, barBorderRadius: [], seriesGap: 2, linearType: "none", linearOpacity: 1, customColor: [], colorStop: 0 }, t.extra.mix.column), m = c({}, { opacity: .2, gradient: !1 }, t.extra.mix.area), f = t.height - t.area[2], p = [], g = 0, y = 0; e.forEach((function(e, t) { "column" == e.type && (y += 1) })), o.save(); var x = -2, b = d.length + 2, _ = 0, w = t.width + l; if (t._scrollDistance_ && 0 !== t._scrollDistance_ && !0 === t.enableScroll && (o.translate(t._scrollDistance_, 0), x = Math.floor(-t._scrollDistance_ / l) - 2, b = x + t.xAxis.itemCount + 4, _ = -t._scrollDistance_ - 2 * l + t.area[3], w = _ + (t.xAxis.itemCount + 4) * l), u.customColor = v(u.linearType, u.customColor, e, n), e.forEach((function(e, i) { var c, v, A; c = [].concat(t.chartData.yAxisData.ranges[e.index]), v = c.pop(), A = c.shift(); var S = e.data, T = K(S, v, A, d, l, t, n, r); if (p.push(T), "column" == e.type) { T = N(T, l, y, g, 0, t); for (var C = 0; C < T.length; C++) { var P = T[C]; if (null !== P && C > x && C < b) { var k = P.x - P.width / 2; t.height, P.y, t.area[2]; o.beginPath(); var D = P.color || e.color, M = P.color || e.color; if ("none" !== u.linearType) { var O = o.createLinearGradient(k, P.y, k, t.height - t.area[2]); "opacity" == u.linearType ? (O.addColorStop(0, s(D, u.linearOpacity)), O.addColorStop(1, s(D, 1))) : (O.addColorStop(0, s(u.customColor[e.linearIndex], u.linearOpacity)), O.addColorStop(u.colorStop, s(u.customColor[e.linearIndex], u.linearOpacity)), O.addColorStop(1, s(D, 1))), D = O } if (u.barBorderRadius && 4 === u.barBorderRadius.length || u.barBorderCircle) { var R = k, F = P.y, E = P.width, $ = t.height - t.area[2] - P.y; u.barBorderCircle && (u.barBorderRadius = [E / 2, E / 2, 0, 0]); var j = (0, a.default)(u.barBorderRadius, 4), I = j[0], q = j[1], z = j[2], W = j[3], B = Math.min(E / 2, $ / 2); I = I > B ? B : I, q = q > B ? B : q, z = z > B ? B : z, W = W > B ? B : W, I = I < 0 ? 0 : I, q = q < 0 ? 0 : q, z = z < 0 ? 0 : z, W = W < 0 ? 0 : W, o.arc(R + I, F + I, I, -Math.PI, -Math.PI / 2), o.arc(R + E - q, F + q, q, -Math.PI / 2, 0), o.arc(R + E - z, F + $ - z, z, 0, Math.PI / 2), o.arc(R + W, F + $ - W, W, Math.PI / 2, Math.PI) } else o.moveTo(k, P.y), o.lineTo(k + P.width, P.y), o.lineTo(k + P.width, t.height - t.area[2]), o.lineTo(k, t.height - t.area[2]), o.lineTo(k, P.y), o.setLineWidth(1), o.setStrokeStyle(M); o.setFillStyle(D), o.closePath(), o.fill() } } g += 1 } if ("area" == e.type) for (var G = L(T, e), H = 0; H < G.length; H++) { var V = G[H]; if (o.beginPath(), o.setStrokeStyle(e.color), o.setStrokeStyle(s(e.color, m.opacity)), m.gradient) { var U = o.createLinearGradient(0, t.area[0], 0, t.height - t.area[2]); U.addColorStop("0", s(e.color, m.opacity)), U.addColorStop("1.0", s("#FFFFFF", .1)), o.setFillStyle(U) } else o.setFillStyle(s(e.color, m.opacity)); if (o.setLineWidth(2 * t.pix), V.length > 1) { var X = V[0], J = V[V.length - 1]; o.moveTo(X.x, X.y); var Y = 0; if ("curve" === e.style) for (var Z = 0; Z < V.length; Z++) { var Q = V[Z]; if (0 == Y && Q.x > _ && (o.moveTo(Q.x, Q.y), Y = 1), Z > 0 && Q.x > _ && Q.x < w) { var ee = h(V, Z - 1); o.bezierCurveTo(ee.ctrA.x, ee.ctrA.y, ee.ctrB.x, ee.ctrB.y, Q.x, Q.y) } } else for (var te = 0; te < V.length; te++) { var ne = V[te]; 0 == Y && ne.x > _ && (o.moveTo(ne.x, ne.y), Y = 1), te > 0 && ne.x > _ && ne.x < w && o.lineTo(ne.x, ne.y) } o.lineTo(J.x, f), o.lineTo(X.x, f), o.lineTo(X.x, X.y) } else { var oe = V[0]; o.moveTo(oe.x - l / 2, oe.y), o.lineTo(oe.x + l / 2, oe.y), o.lineTo(oe.x + l / 2, f), o.lineTo(oe.x - l / 2, f), o.moveTo(oe.x - l / 2, oe.y) } o.closePath(), o.fill() } if ("line" == e.type) { var re = L(T, e); re.forEach((function(n, a) { if ("dash" == e.lineType) { var r = e.dashLength ? e.dashLength : 8; r *= t.pix, o.setLineDash([r, r]) } if (o.beginPath(), o.setStrokeStyle(e.color), o.setLineWidth(2 * t.pix), 1 === n.length) o.moveTo(n[0].x, n[0].y), o.arc(n[0].x, n[0].y, 1, 0, 2 * Math.PI); else { o.moveTo(n[0].x, n[0].y); var i = 0; if ("curve" == e.style) for (var c = 0; c < n.length; c++) { var d = n[c]; if (0 == i && d.x > _ && (o.moveTo(d.x, d.y), i = 1), c > 0 && d.x > _ && d.x < w) { var s = h(n, c - 1); o.bezierCurveTo(s.ctrA.x, s.ctrA.y, s.ctrB.x, s.ctrB.y, d.x, d.y) } } else for (var l = 0; l < n.length; l++) { var u = n[l]; 0 == i && u.x > _ && (o.moveTo(u.x, u.y), i = 1), l > 0 && u.x > _ && u.x < w && o.lineTo(u.x, u.y) } o.moveTo(n[0].x, n[0].y) } o.stroke(), o.setLineDash([]) })) } "point" == e.type && (e.addPoint = !0), 1 == e.addPoint && "column" !== e.type && ae(T, e.color, e.pointShape, o, t) })), !1 !== t.dataLabel && 1 === r) { g = 0; e.forEach((function(e, a) { var i, c, s; i = [].concat(t.chartData.yAxisData.ranges[e.index]), c = i.pop(), s = i.shift(); var u = e.data, m = K(u, c, s, d, l, t, n, r); "column" !== e.type ? ie(m, e, n, o, t) : (m = N(m, l, y, g, 0, t), ie(m, e, n, o, t), g += 1) })) } return o.restore(), { xAxisPoints: d, calPoints: p, eachSpacing: l } }(i, t, n, o, e), d = r.xAxisPoints, u = r.calPoints, m = r.eachSpacing; t.chartData.xAxisPoints = d, t.chartData.calPoints = u, t.chartData.eachSpacing = m, be(0, t, n, o), !1 !== t.enableMarkLine && 1 === e && me(t, n, o), _e(t.series, t, n, o, t.chartData), ve(t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break; case "column": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), xe(0, t, 0, o), ye(l, t, n, o); var r = function(e, t, n, o) { var r = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1, i = t.chartData.xAxisData, d = i.xAxisPoints, l = i.eachSpacing, u = c({}, { type: "group", width: l / 2, meterBorder: 4, meterFillColor: "#FFFFFF", barBorderCircle: !1, barBorderRadius: [], seriesGap: 2, linearType: "none", linearOpacity: 1, customColor: [], colorStop: 0 }, t.extra.column), m = []; o.save(); var h = -2, f = d.length + 2; return t._scrollDistance_ && 0 !== t._scrollDistance_ && !0 === t.enableScroll && (o.translate(t._scrollDistance_, 0), h = Math.floor(-t._scrollDistance_ / l) - 2, f = h + t.xAxis.itemCount + 4), t.tooltip && t.tooltip.textList && t.tooltip.textList.length && 1 === r && fe(t.tooltip.offset.x, t, 0, o, l), u.customColor = v(u.linearType, u.customColor, e, n), e.forEach((function(i, c) { var p, g, v; p = [].concat(t.chartData.yAxisData.ranges[i.index]), g = p.pop(), v = p.shift(); var y = i.data; switch (u.type) { case "group": var x = K(y, g, v, d, l, t, n, r), b = Q(y, g, v, d, l, t, n, c, e, r); m.push(b), x = N(x, l, e.length, c, 0, t); for (var _ = 0; _ < x.length; _++) { var w = x[_]; if (null !== w && _ > h && _ < f) { var A = w.x - w.width / 2, S = t.height - w.y - t.area[2]; o.beginPath(); var T = w.color || i.color, C = w.color || i.color; if ("none" !== u.linearType) { var P = o.createLinearGradient(A, w.y, A, t.height - t.area[2]); "opacity" == u.linearType ? (P.addColorStop(0, s(T, u.linearOpacity)), P.addColorStop(1, s(T, 1))) : (P.addColorStop(0, s(u.customColor[i.linearIndex], u.linearOpacity)), P.addColorStop(u.colorStop, s(u.customColor[i.linearIndex], u.linearOpacity)), P.addColorStop(1, s(T, 1))), T = P } if (u.barBorderRadius && 4 === u.barBorderRadius.length || !0 === u.barBorderCircle) { var k = A, D = w.y, M = w.width, O = t.height - t.area[2] - w.y; u.barBorderCircle && (u.barBorderRadius = [M / 2, M / 2, 0, 0]); var L = (0, a.default)(u.barBorderRadius, 4), R = L[0], F = L[1], E = L[2], $ = L[3], j = Math.min(M / 2, O / 2); R = R > j ? j : R, F = F > j ? j : F, E = E > j ? j : E, $ = $ > j ? j : $, R = R < 0 ? 0 : R, F = F < 0 ? 0 : F, E = E < 0 ? 0 : E, $ = $ < 0 ? 0 : $, o.arc(k + R, D + R, R, -Math.PI, -Math.PI / 2), o.arc(k + M - F, D + F, F, -Math.PI / 2, 0), o.arc(k + M - E, D + O - E, E, 0, Math.PI / 2), o.arc(k + $, D + O - $, $, Math.PI / 2, Math.PI) } else o.moveTo(A, w.y), o.lineTo(A + w.width, w.y), o.lineTo(A + w.width, t.height - t.area[2]), o.lineTo(A, t.height - t.area[2]), o.lineTo(A, w.y), o.setLineWidth(1), o.setStrokeStyle(C); o.setFillStyle(T), o.closePath(), o.fill() } } break; case "stack": x = Q(y, g, v, d, l, t, n, c, e, r); m.push(x), x = V(x, l, e.length, 0, 0, t); for (var I = 0; I < x.length; I++) { var q = x[I]; if (null !== q && I > h && I < f) { o.beginPath(); T = q.color || i.color, A = q.x - q.width / 2 + 1, S = t.height - q.y - t.area[2]; var z = t.height - q.y0 - t.area[2]; c > 0 && (S -= z), o.setFillStyle(T), o.moveTo(A, q.y), o.fillRect(A, q.y, q.width, S), o.closePath(), o.fill() } } break; case "meter": x = K(y, g, v, d, l, t, n, r); m.push(x), x = H(x, l, e.length, c, 0, t, u.meterBorder); for (var W = 0; W < x.length; W++) { var B = x[W]; if (null !== B && W > h && W < f) { o.beginPath(), 0 == c && u.meterBorder > 0 && (o.setStrokeStyle(i.color), o.setLineWidth(u.meterBorder * t.pix)), 0 == c ? o.setFillStyle(u.meterFillColor) : o.setFillStyle(B.color || i.color); A = B.x - B.width / 2, S = t.height - B.y - t.area[2]; if (u.barBorderRadius && 4 === u.barBorderRadius.length || !0 === u.barBorderCircle) { var G = A, U = B.y, X = B.width, J = t.height - t.area[2] - B.y; u.barBorderCircle && (u.barBorderRadius = [X / 2, X / 2, 0, 0]); var Y = (0, a.default)(u.barBorderRadius, 4), Z = Y[0], ee = Y[1], te = Y[2], ne = Y[3], oe = Math.min(X / 2, J / 2); Z = Z > oe ? oe : Z, ee = ee > oe ? oe : ee, te = te > oe ? oe : te, ne = ne > oe ? oe : ne, Z = Z < 0 ? 0 : Z, ee = ee < 0 ? 0 : ee, te = te < 0 ? 0 : te, ne = ne < 0 ? 0 : ne, o.arc(G + Z, U + Z, Z, -Math.PI, -Math.PI / 2), o.arc(G + X - ee, U + ee, ee, -Math.PI / 2, 0), o.arc(G + X - te, U + J - te, te, 0, Math.PI / 2), o.arc(G + ne, U + J - ne, ne, Math.PI / 2, Math.PI), o.fill() } else o.moveTo(A, B.y), o.lineTo(A + B.width, B.y), o.lineTo(A + B.width, t.height - t.area[2]), o.lineTo(A, t.height - t.area[2]), o.lineTo(A, B.y), o.fill(); 0 == c && u.meterBorder > 0 && (o.closePath(), o.stroke()) } } break } })), !1 !== t.dataLabel && 1 === r && e.forEach((function(a, i) { var c, s, m; c = [].concat(t.chartData.yAxisData.ranges[a.index]), s = c.pop(), m = c.shift(); var h = a.data; switch (u.type) { case "group": var f = K(h, s, m, d, l, t, n, r); f = N(f, l, e.length, i, 0, t), ie(f, a, n, o, t); break; case "stack": f = Q(h, s, m, d, l, t, n, i, e, r); ie(f, a, n, o, t); break; case "meter": f = K(h, s, m, d, l, t, n, r); ie(f, a, n, o, t); break } })), o.restore(), { xAxisPoints: d, calPoints: m, eachSpacing: l } }(i, t, n, o, e), d = r.xAxisPoints, u = r.calPoints, m = r.eachSpacing; t.chartData.xAxisPoints = d, t.chartData.calPoints = u, t.chartData.eachSpacing = m, be(0, t, n, o), !1 !== t.enableMarkLine && 1 === e && me(t, n, o), _e(t.series, t, n, o, t.chartData), ve(t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break; case "mount": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), xe(0, t, 0, o), ye(l, t, n, o); var r = function(e, t, n, o) { var r = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1, i = t.chartData.xAxisData, d = i.xAxisPoints, l = i.eachSpacing, u = c({}, { type: "mount", widthRatio: 1, borderWidth: 1, barBorderCircle: !1, barBorderRadius: [], linearType: "none", linearOpacity: 1, customColor: [], colorStop: 0 }, t.extra.mount); u.widthRatio = u.widthRatio <= 0 ? 0 : u.widthRatio, u.widthRatio = u.widthRatio >= 2 ? 2 : u.widthRatio, o.save(); var m, h, f, p = -2, g = d.length + 2; t._scrollDistance_ && 0 !== t._scrollDistance_ && !0 === t.enableScroll && (o.translate(t._scrollDistance_, 0), p = Math.floor(-t._scrollDistance_ / l) - 2, g = p + t.xAxis.itemCount + 4), u.customColor = v(u.linearType, u.customColor, e, n), m = [].concat(t.chartData.yAxisData.ranges[0]), h = m.pop(), f = m.shift(); var y = Y(e, h, f, d, l, t, u, r); switch (u.type) { case "bar": for (var x = 0; x < y.length; x++) { var b = y[x]; if (null !== b && x > p && x < g) { var _ = b.x - l * u.widthRatio / 2, w = t.height - b.y - t.area[2]; o.beginPath(); var A = b.color || e[x].color, S = b.color || e[x].color; if ("none" !== u.linearType) { var T = o.createLinearGradient(_, b.y, _, t.height - t.area[2]); "opacity" == u.linearType ? (T.addColorStop(0, s(A, u.linearOpacity)), T.addColorStop(1, s(A, 1))) : (T.addColorStop(0, s(u.customColor[e[x].linearIndex], u.linearOpacity)), T.addColorStop(u.colorStop, s(u.customColor[e[x].linearIndex], u.linearOpacity)), T.addColorStop(1, s(A, 1))), A = T } if (u.barBorderRadius && 4 === u.barBorderRadius.length || !0 === u.barBorderCircle) { var C = _, P = b.y, k = b.width, D = t.height - t.area[2] - b.y - u.borderWidth * t.pix / 2; u.barBorderCircle && (u.barBorderRadius = [k / 2, k / 2, 0, 0]); var M = (0, a.default)(u.barBorderRadius, 4), O = M[0], L = M[1], R = M[2], F = M[3], E = Math.min(k / 2, D / 2); O = O > E ? E : O, L = L > E ? E : L, R = R > E ? E : R, F = F > E ? E : F, O = O < 0 ? 0 : O, L = L < 0 ? 0 : L, R = R < 0 ? 0 : R, F = F < 0 ? 0 : F, o.arc(C + O, P + O, O, -Math.PI, -Math.PI / 2), o.arc(C + k - L, P + L, L, -Math.PI / 2, 0), o.arc(C + k - R, P + D - R, R, 0, Math.PI / 2), o.arc(C + F, P + D - F, F, Math.PI / 2, Math.PI) } else o.moveTo(_, b.y), o.lineTo(_ + b.width, b.y), o.lineTo(_ + b.width, t.height - t.area[2]), o.lineTo(_, t.height - t.area[2]), o.lineTo(_, b.y); o.setStrokeStyle(S), o.setFillStyle(A), u.borderWidth > 0 && (o.setLineWidth(u.borderWidth * t.pix), o.closePath(), o.stroke()), o.fill() } } break; case "triangle": for (var $ = 0; $ < y.length; $++) { var j = y[$]; if (null !== j && $ > p && $ < g) { _ = j.x - l * u.widthRatio / 2, w = t.height - j.y - t.area[2]; o.beginPath(); A = j.color || e[$].color, S = j.color || e[$].color; if ("none" !== u.linearType) { T = o.createLinearGradient(_, j.y, _, t.height - t.area[2]); "opacity" == u.linearType ? (T.addColorStop(0, s(A, u.linearOpacity)), T.addColorStop(1, s(A, 1))) : (T.addColorStop(0, s(u.customColor[e[$].linearIndex], u.linearOpacity)), T.addColorStop(u.colorStop, s(u.customColor[e[$].linearIndex], u.linearOpacity)), T.addColorStop(1, s(A, 1))), A = T } o.moveTo(_, t.height - t.area[2]), o.lineTo(j.x, j.y), o.lineTo(_ + j.width, t.height - t.area[2]), o.setStrokeStyle(S), o.setFillStyle(A), u.borderWidth > 0 && (o.setLineWidth(u.borderWidth * t.pix), o.stroke()), o.fill() } } break; case "mount": for (var I = 0; I < y.length; I++) { var q = y[I]; if (null !== q && I > p && I < g) { _ = q.x - l * u.widthRatio / 2, w = t.height - q.y - t.area[2]; o.beginPath(); A = q.color || e[I].color, S = q.color || e[I].color; if ("none" !== u.linearType) { T = o.createLinearGradient(_, q.y, _, t.height - t.area[2]); "opacity" == u.linearType ? (T.addColorStop(0, s(A, u.linearOpacity)), T.addColorStop(1, s(A, 1))) : (T.addColorStop(0, s(u.customColor[e[I].linearIndex], u.linearOpacity)), T.addColorStop(u.colorStop, s(u.customColor[e[I].linearIndex], u.linearOpacity)), T.addColorStop(1, s(A, 1))), A = T } o.moveTo(_, t.height - t.area[2]), o.bezierCurveTo(q.x - q.width / 4, t.height - t.area[2], q.x - q.width / 4, q.y, q.x, q.y), o.bezierCurveTo(q.x + q.width / 4, q.y, q.x + q.width / 4, t.height - t.area[2], _ + q.width, t.height - t.area[2]), o.setStrokeStyle(S), o.setFillStyle(A), u.borderWidth > 0 && (o.setLineWidth(u.borderWidth * t.pix), o.stroke()), o.fill() } } break; case "sharp": for (var z = 0; z < y.length; z++) { var W = y[z]; if (null !== W && z > p && z < g) { _ = W.x - l * u.widthRatio / 2, w = t.height - W.y - t.area[2]; o.beginPath(); A = W.color || e[z].color, S = W.color || e[z].color; if ("none" !== u.linearType) { T = o.createLinearGradient(_, W.y, _, t.height - t.area[2]); "opacity" == u.linearType ? (T.addColorStop(0, s(A, u.linearOpacity)), T.addColorStop(1, s(A, 1))) : (T.addColorStop(0, s(u.customColor[e[z].linearIndex], u.linearOpacity)), T.addColorStop(u.colorStop, s(u.customColor[e[z].linearIndex], u.linearOpacity)), T.addColorStop(1, s(A, 1))), A = T } o.moveTo(_, t.height - t.area[2]), o.quadraticCurveTo(W.x - 0, t.height - t.area[2] - w / 4, W.x, W.y), o.quadraticCurveTo(W.x + 0, t.height - t.area[2] - w / 4, _ + W.width, t.height - t.area[2]), o.setStrokeStyle(S), o.setFillStyle(A), u.borderWidth > 0 && (o.setLineWidth(u.borderWidth * t.pix), o.stroke()), o.fill() } } break } if (!1 !== t.dataLabel && 1 === r) { var B, N, G; B = [].concat(t.chartData.yAxisData.ranges[0]), N = B.pop(), G = B.shift(); y = Y(e, N, G, d, l, t, u, r); ce(y, e, n, o, t) } return o.restore(), { xAxisPoints: d, calPoints: y, eachSpacing: l } }(i, t, n, o, e), d = r.xAxisPoints, u = r.calPoints, m = r.eachSpacing; t.chartData.xAxisPoints = d, t.chartData.calPoints = u, t.chartData.eachSpacing = m, be(0, t, n, o), !1 !== t.enableMarkLine && 1 === e && me(t, n, o), _e(t.series, t, n, o, t.chartData), ve(t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break; case "bar": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), ye(l, t, n, o); var r = function(e, t, n, o) { for (var r = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1, i = [], d = (t.height - t.area[0] - t.area[2]) / t.categories.length, l = 0; l < t.categories.length; l++) i.push(t.area[0] + d / 2 + d * l); var u = c({}, { type: "group", width: d / 2, meterBorder: 4, meterFillColor: "#FFFFFF", barBorderCircle: !1, barBorderRadius: [], seriesGap: 2, linearType: "none", linearOpacity: 1, customColor: [], colorStop: 0 }, t.extra.bar), m = []; o.save(); var h = -2, f = i.length + 2; return t.tooltip && t.tooltip.textList && t.tooltip.textList.length && 1 === r && pe(t.tooltip.offset.y, t, 0, o, d), u.customColor = v(u.linearType, u.customColor, e, n), e.forEach((function(c, l) { var p, g, v; p = [].concat(t.chartData.xAxisData.ranges), v = p.pop(), g = p.shift(); var y = c.data; switch (u.type) { case "group": var x = Z(y, g, v, i, d, t, n, r), b = ee(y, g, v, i, d, t, n, l, e, r); m.push(b), x = G(x, d, e.length, l, 0, t); for (var _ = 0; _ < x.length; _++) { var w = x[_]; if (null !== w && _ > h && _ < f) { var A = t.area[3], S = w.y - w.width / 2; w.height; o.beginPath(); var T = w.color || c.color, C = w.color || c.color; if ("none" !== u.linearType) { var P = o.createLinearGradient(A, w.y, w.x, w.y); "opacity" == u.linearType ? (P.addColorStop(0, s(T, u.linearOpacity)), P.addColorStop(1, s(T, 1))) : (P.addColorStop(0, s(u.customColor[c.linearIndex], u.linearOpacity)), P.addColorStop(u.colorStop, s(u.customColor[c.linearIndex], u.linearOpacity)), P.addColorStop(1, s(T, 1))), T = P } if (u.barBorderRadius && 4 === u.barBorderRadius.length || !0 === u.barBorderCircle) { var k = A, D = w.width, M = w.y - w.width / 2, O = w.height; u.barBorderCircle && (u.barBorderRadius = [D / 2, D / 2, 0, 0]); var L = (0, a.default)(u.barBorderRadius, 4), R = L[0], F = L[1], E = L[2], $ = L[3], j = Math.min(D / 2, O / 2); R = R > j ? j : R, F = F > j ? j : F, E = E > j ? j : E, $ = $ > j ? j : $, R = R < 0 ? 0 : R, F = F < 0 ? 0 : F, E = E < 0 ? 0 : E, $ = $ < 0 ? 0 : $, o.arc(k + $, M + $, $, -Math.PI, -Math.PI / 2), o.arc(w.x - R, M + R, R, -Math.PI / 2, 0), o.arc(w.x - F, M + D - F, F, 0, Math.PI / 2), o.arc(k + E, M + D - E, E, Math.PI / 2, Math.PI) } else o.moveTo(A, S), o.lineTo(w.x, S), o.lineTo(w.x, S + w.width), o.lineTo(A, S + w.width), o.lineTo(A, S), o.setLineWidth(1), o.setStrokeStyle(C); o.setFillStyle(T), o.closePath(), o.fill() } } break; case "stack": x = ee(y, g, v, i, d, t, n, l, e, r); m.push(x), x = U(x, d, e.length, 0, 0, t); for (var I = 0; I < x.length; I++) { var q = x[I]; if (null !== q && I > h && I < f) { o.beginPath(); T = q.color || c.color, A = q.x0; o.setFillStyle(T), o.moveTo(A, q.y - q.width / 2), o.fillRect(A, q.y - q.width / 2, q.height, q.width), o.closePath(), o.fill() } } break } })), !1 !== t.dataLabel && 1 === r && e.forEach((function(a, c) { var s, l, m; s = [].concat(t.chartData.xAxisData.ranges), m = s.pop(), l = s.shift(); var h = a.data; switch (u.type) { case "group": var f = Z(h, l, m, i, d, t, n, r); f = G(f, d, e.length, c, 0, t), de(f, a, n, o, t); break; case "stack": f = ee(h, l, m, i, d, t, n, c, e, r); de(f, a, n, o, t); break } })), { yAxisPoints: i, calPoints: m, eachSpacing: d } }(i, t, n, o, e), d = r.yAxisPoints, u = r.calPoints, m = r.eachSpacing; t.chartData.yAxisPoints = d, t.chartData.xAxisPoints = t.chartData.xAxisData.xAxisPoints, t.chartData.calPoints = u, t.chartData.eachSpacing = m, be(0, t, n, o), !1 !== t.enableMarkLine && 1 === e && me(t, n, o), _e(t.series, t, n, o, t.chartData), ve(t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break; case "area": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), xe(0, t, 0, o), ye(l, t, n, o); var a = function(e, t, n, o) { var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1, r = c({}, { type: "straight", opacity: .2, addLine: !1, width: 2, gradient: !1 }, t.extra.area), i = t.chartData.xAxisData, d = i.xAxisPoints, l = i.eachSpacing, u = t.height - t.area[2], m = []; o.save(); var f = 0, p = t.width + l; return t._scrollDistance_ && 0 !== t._scrollDistance_ && !0 === t.enableScroll && (o.translate(t._scrollDistance_, 0), f = -t._scrollDistance_ - 2 * l + t.area[3], p = f + (t.xAxis.itemCount + 4) * l), e.forEach((function(e, i) { var c, g, v; c = [].concat(t.chartData.yAxisData.ranges[e.index]), g = c.pop(), v = c.shift(); var y = e.data, x = K(y, g, v, d, l, t, n, a); m.push(x); for (var b = L(x, e), _ = 0; _ < b.length; _++) { var w = b[_]; if (o.beginPath(), o.setStrokeStyle(s(e.color, r.opacity)), r.gradient) { var A = o.createLinearGradient(0, t.area[0], 0, t.height - t.area[2]); A.addColorStop("0", s(e.color, r.opacity)), A.addColorStop("1.0", s("#FFFFFF", .1)), o.setFillStyle(A) } else o.setFillStyle(s(e.color, r.opacity)); if (o.setLineWidth(r.width * t.pix), w.length > 1) { var S = w[0], T = w[w.length - 1]; o.moveTo(S.x, S.y); var C = 0; if ("curve" === r.type) for (var P = 0; P < w.length; P++) { var k = w[P]; if (0 == C && k.x > f && (o.moveTo(k.x, k.y), C = 1), P > 0 && k.x > f && k.x < p) { var D = h(w, P - 1); o.bezierCurveTo(D.ctrA.x, D.ctrA.y, D.ctrB.x, D.ctrB.y, k.x, k.y) } } if ("straight" === r.type) for (var M = 0; M < w.length; M++) { var O = w[M]; 0 == C && O.x > f && (o.moveTo(O.x, O.y), C = 1), M > 0 && O.x > f && O.x < p && o.lineTo(O.x, O.y) } if ("step" === r.type) for (var R = 0; R < w.length; R++) { var F = w[R]; 0 == C && F.x > f && (o.moveTo(F.x, F.y), C = 1), R > 0 && F.x > f && F.x < p && (o.lineTo(F.x, w[R - 1].y), o.lineTo(F.x, F.y)) } o.lineTo(T.x, u), o.lineTo(S.x, u), o.lineTo(S.x, S.y) } else { var E = w[0]; o.moveTo(E.x - l / 2, E.y), o.lineTo(E.x + l / 2, E.y), o.lineTo(E.x + l / 2, u), o.lineTo(E.x - l / 2, u), o.moveTo(E.x - l / 2, E.y) } if (o.closePath(), o.fill(), r.addLine) { if ("dash" == e.lineType) { var $ = e.dashLength ? e.dashLength : 8; $ *= t.pix, o.setLineDash([$, $]) } if (o.beginPath(), o.setStrokeStyle(e.color), o.setLineWidth(r.width * t.pix), 1 === w.length) o.moveTo(w[0].x, w[0].y), o.arc(w[0].x, w[0].y, 1, 0, 2 * Math.PI); else { o.moveTo(w[0].x, w[0].y); var j = 0; if ("curve" === r.type) for (var I = 0; I < w.length; I++) { var q = w[I]; if (0 == j && q.x > f && (o.moveTo(q.x, q.y), j = 1), I > 0 && q.x > f && q.x < p) { var z = h(w, I - 1); o.bezierCurveTo(z.ctrA.x, z.ctrA.y, z.ctrB.x, z.ctrB.y, q.x, q.y) } } if ("straight" === r.type) for (var W = 0; W < w.length; W++) { var B = w[W]; 0 == j && B.x > f && (o.moveTo(B.x, B.y), j = 1), W > 0 && B.x > f && B.x < p && o.lineTo(B.x, B.y) } if ("step" === r.type) for (var N = 0; N < w.length; N++) { var G = w[N]; 0 == j && G.x > f && (o.moveTo(G.x, G.y), j = 1), N > 0 && G.x > f && G.x < p && (o.lineTo(G.x, w[N - 1].y), o.lineTo(G.x, G.y)) } o.moveTo(w[0].x, w[0].y) } o.stroke(), o.setLineDash([]) } }!1 !== t.dataPointShape && ae(x, e.color, e.pointShape, o, t) })), !1 !== t.dataLabel && 1 === a && e.forEach((function(e, r) { var i, c, s; i = [].concat(t.chartData.yAxisData.ranges[e.index]), c = i.pop(), s = i.shift(); var u = e.data, m = K(u, c, s, d, l, t, n, a); ie(m, e, n, o, t) })), o.restore(), { xAxisPoints: d, calPoints: m, eachSpacing: l } }(i, t, n, o, e), r = a.xAxisPoints, d = a.calPoints, u = a.eachSpacing; t.chartData.xAxisPoints = r, t.chartData.calPoints = d, t.chartData.eachSpacing = u, be(0, t, n, o), !1 !== t.enableMarkLine && 1 === e && me(t, n, o), _e(t.series, t, n, o, t.chartData), ve(t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break; case "ring": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), t.chartData.pieData = we(i, t, n, o, e), _e(t.series, t, n, o, t.chartData), ve(t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break; case "pie": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), t.chartData.pieData = we(i, t, n, o, e), _e(t.series, t, n, o, t.chartData), ve(t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break; case "rose": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), t.chartData.pieData = function(e, t, n, o) { var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1, r = c({}, { type: "area", activeOpacity: .5, activeRadius: 10, offsetAngle: 0, labelWidth: 15, border: !1, borderWidth: 2, borderColor: "#FFFFFF", linearType: "none", customColor: [] }, t.extra.rose); 0 == n.pieChartLinePadding && (n.pieChartLinePadding = r.activeRadius * t.pix); var i = { x: t.area[3] + (t.width - t.area[1] - t.area[3]) / 2, y: t.area[0] + (t.height - t.area[0] - t.area[2]) / 2 }, d = Math.min((t.width - t.area[1] - t.area[3]) / 2 - n.pieChartLinePadding - n.pieChartTextPadding - n._pieTextMaxLength_, (t.height - t.area[0] - t.area[2]) / 2 - n.pieChartLinePadding - n.pieChartTextPadding); d = d < 10 ? 10 : d; var l = r.minRadius || .5 * d; e = I(e, r.type, l, d, a); var u = r.activeRadius * t.pix; return r.customColor = v(r.linearType, r.customColor, e, n), e = e.map((function(e) { return e._start_ += (r.offsetAngle || 0) * Math.PI / 180, e })), e.forEach((function(e, n) { t.tooltip && t.tooltip.index == n && (o.beginPath(), o.setFillStyle(s(e.color, r.activeOpacity || .5)), o.moveTo(i.x, i.y), o.arc(i.x, i.y, u + e._radius_, e._start_, e._start_ + 2 * e._rose_proportion_ * Math.PI), o.closePath(), o.fill()), o.beginPath(), o.setLineWidth(r.borderWidth * t.pix), o.lineJoin = "round", o.setStrokeStyle(r.borderColor); var a, c = e.color; "custom" == r.linearType && (a = o.createCircularGradient ? o.createCircularGradient(i.x, i.y, e._radius_) : o.createRadialGradient(i.x, i.y, 0, i.x, i.y, e._radius_), a.addColorStop(0, s(r.customColor[e.linearIndex], 1)), a.addColorStop(1, s(e.color, 1)), c = a); o.setFillStyle(c), o.moveTo(i.x, i.y), o.arc(i.x, i.y, e._radius_, e._start_, e._start_ + 2 * e._rose_proportion_ * Math.PI), o.closePath(), o.fill(), 1 == r.border && o.stroke() })), !1 !== t.dataLabel && 1 === a && ue(e, t, n, o, 0, i), { center: i, radius: d, series: e } }(i, t, n, o, e), _e(t.series, t, n, o, t.chartData), ve(t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break; case "radar": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), t.chartData.radarData = function(e, t, n, o) { var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1, r = c({}, { gridColor: "#cccccc", gridType: "radar", gridEval: 1, axisLabel: !1, axisLabelTofix: 0, labelColor: "#666666", labelPointShow: !1, labelPointRadius: 3, labelPointColor: "#cccccc", opacity: .2, gridCount: 3, border: !1, borderWidth: 2, linearType: "none", customColor: [] }, t.extra.radar), i = T(t.categories.length), d = { x: t.area[3] + (t.width - t.area[1] - t.area[3]) / 2, y: t.area[0] + (t.height - t.area[0] - t.area[2]) / 2 }, l = (t.width - t.area[1] - t.area[3]) / 2, u = (t.height - t.area[0] - t.area[2]) / 2, m = Math.min(l - (S(t.categories, n.fontSize, o) + n.radarLabelTextMargin), u - n.radarLabelTextMargin); m -= n.radarLabelTextMargin * t.pix, m = m < 10 ? 10 : m, o.beginPath(), o.setLineWidth(1 * t.pix), o.setStrokeStyle(r.gridColor), i.forEach((function(e, t) { var n = f(m * Math.cos(e), m * Math.sin(e), d); o.moveTo(d.x, d.y), t % r.gridEval == 0 && o.lineTo(n.x, n.y) })), o.stroke(), o.closePath(); for (var h = function(e) { var n = {}; if (o.beginPath(), o.setLineWidth(1 * t.pix), o.setStrokeStyle(r.gridColor), "radar" == r.gridType) i.forEach((function(t, a) { var i = f(m / r.gridCount * e * Math.cos(t), m / r.gridCount * e * Math.sin(t), d); 0 === a ? (n = i, o.moveTo(i.x, i.y)) : o.lineTo(i.x, i.y) })), o.lineTo(n.x, n.y); else { var a = f(m / r.gridCount * e * Math.cos(1.5), m / r.gridCount * e * Math.sin(1.5), d); o.arc(d.x, d.y, d.y - a.y, 0, 2 * Math.PI, !1) } o.stroke(), o.closePath() }, p = 1; p <= r.gridCount; p++) h(p); r.customColor = v(r.linearType, r.customColor, e, n); var g = E(i, d, m, e, t, a); if (g.forEach((function(n, a) { o.beginPath(), o.setLineWidth(r.borderWidth * t.pix), o.setStrokeStyle(n.color); var i, c = s(n.color, r.opacity); "custom" == r.linearType && (i = o.createCircularGradient ? o.createCircularGradient(d.x, d.y, m) : o.createRadialGradient(d.x, d.y, 0, d.x, d.y, m), i.addColorStop(0, s(r.customColor[e[a].linearIndex], r.opacity)), i.addColorStop(1, s(n.color, r.opacity)), c = i); if (o.setFillStyle(c), n.data.forEach((function(e, t) { 0 === t ? o.moveTo(e.position.x, e.position.y) : o.lineTo(e.position.x, e.position.y) })), o.closePath(), o.fill(), !0 === r.border && o.stroke(), o.closePath(), !1 !== t.dataPointShape) { var l = n.data.map((function(e) { return e.position })); ae(l, n.color, n.pointShape, o, t) } })), !0 === r.axisLabel) { var y = Math.max(r.max, Math.max.apply(null, b(e))), x = m / r.gridCount, _ = t.fontSize * t.pix; o.setFontSize(_), o.setFillStyle(t.fontColor), o.setTextAlign("left"); for (p = 0; p < r.gridCount + 1; p++) { var w = p * y / r.gridCount; w = w.toFixed(r.axisLabelTofix), o.fillText(String(w), d.x + 3 * t.pix, d.y - p * x + _ / 2) } } return le(i, m, d, t, n, o), !1 !== t.dataLabel && 1 === a && (g.forEach((function(e, a) { o.beginPath(); var r = e.textSize * t.pix || n.fontSize; o.setFontSize(r), o.setFillStyle(e.textColor || t.fontColor), e.data.forEach((function(e, t) { Math.abs(e.position.x - d.x) < 2 ? e.position.y < d.y ? (o.setTextAlign("center"), o.fillText(e.value, e.position.x, e.position.y - 4)) : (o.setTextAlign("center"), o.fillText(e.value, e.position.x, e.position.y + r + 2)) : e.position.x < d.x ? (o.setTextAlign("right"), o.fillText(e.value, e.position.x - 4, e.position.y + r / 2 - 2)) : (o.setTextAlign("left"), o.fillText(e.value, e.position.x + 4, e.position.y + r / 2 - 2)) })), o.closePath(), o.stroke() })), o.setTextAlign("left")), { center: d, radius: m, angleList: i } }(i, t, n, o, e), _e(t.series, t, n, o, t.chartData), ve(t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break; case "arcbar": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), t.chartData.arcbarData = function(e, t, n, o) { var a, r, i = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1, d = c({}, { startAngle: .75, endAngle: .25, type: "default", lineCap: "round", width: 12, gap: 2, linearType: "none", customColor: [] }, t.extra.arcbar); e = q(e, d, i), a = d.centerX || d.centerY ? { x: d.centerX ? d.centerX : t.width / 2, y: d.centerY ? d.centerY : t.height / 2 } : { x: t.width / 2, y: t.height / 2 }, d.radius ? r = d.radius : (r = Math.min(a.x, a.y), r -= 5 * t.pix, r -= d.width / 2), r = r < 10 ? 10 : r, d.customColor = v(d.linearType, d.customColor, e, n); for (var l = 0; l < e.length; l++) { var u = e[l]; o.setLineWidth(d.width * t.pix), o.setStrokeStyle(d.backgroundColor || "#E9E9E9"), o.setLineCap(d.lineCap), o.beginPath(), "default" == d.type ? o.arc(a.x, a.y, r - (d.width * t.pix + d.gap * t.pix) * l, d.startAngle * Math.PI, d.endAngle * Math.PI, !1) : o.arc(a.x, a.y, r - (d.width * t.pix + d.gap * t.pix) * l, 0, 2 * Math.PI, !1), o.stroke(); var m = u.color; if ("custom" == d.linearType) { var h = o.createLinearGradient(a.x - r, a.y, a.x + r, a.y); h.addColorStop(1, s(d.customColor[u.linearIndex], 1)), h.addColorStop(0, s(u.color, 1)), m = h } o.setLineWidth(d.width * t.pix), o.setStrokeStyle(m), o.setLineCap(d.lineCap), o.beginPath(), o.arc(a.x, a.y, r - (d.width * t.pix + d.gap * t.pix) * l, d.startAngle * Math.PI, u._proportion_ * Math.PI, !1), o.stroke() } return re(t, n, o, a), { center: a, radius: r, series: e } }(i, t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break; case "gauge": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), t.chartData.gaugeData = function(e, t, n, o, a) { var r = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 1, i = c({}, { type: "default", startAngle: .75, endAngle: .25, width: 15, labelOffset: 13, splitLine: { fixRadius: 0, splitNumber: 10, width: 15, color: "#FFFFFF", childNumber: 5, childWidth: 5 }, pointer: { width: 15, color: "auto" } }, n.extra.gauge); void 0 == i.oldAngle && (i.oldAngle = i.startAngle), void 0 == i.oldData && (i.oldData = 0), e = W(e, i.startAngle, i.endAngle); var d = { x: n.width / 2, y: n.height / 2 }, l = Math.min(d.x, d.y); l -= 5 * n.pix, l -= i.width / 2, l = l < 10 ? 10 : l; var u = l - i.width, m = 0; if ("progress" == i.type) { var h = l - 3 * i.width; a.beginPath(); var f = a.createLinearGradient(d.x, d.y - h, d.x, d.y + h); f.addColorStop("0", s(t[0].color, .3)), f.addColorStop("1.0", s("#FFFFFF", .1)), a.setFillStyle(f), a.arc(d.x, d.y, h, 0, 2 * Math.PI, !1), a.fill(), a.setLineWidth(i.width), a.setStrokeStyle(s(t[0].color, .3)), a.setLineCap("round"), a.beginPath(), a.arc(d.x, d.y, u, i.startAngle * Math.PI, i.endAngle * Math.PI, !1), a.stroke(), m = i.startAngle - i.endAngle + 1; i.splitLine.splitNumber; var p = m / i.splitLine.splitNumber / i.splitLine.childNumber, g = -l - .5 * i.width - i.splitLine.fixRadius, v = -l - i.width - i.splitLine.fixRadius + i.splitLine.width; a.save(), a.translate(d.x, d.y), a.rotate((i.startAngle - 1) * Math.PI); for (var y = i.splitLine.splitNumber * i.splitLine.childNumber + 1, x = t[0].data * r, b = 0; b < y; b++) a.beginPath(), x > b / y ? a.setStrokeStyle(s(t[0].color, 1)) : a.setStrokeStyle(s(t[0].color, .3)), a.setLineWidth(3 * n.pix), a.moveTo(g, 0), a.lineTo(v, 0), a.stroke(), a.rotate(p * Math.PI); a.restore(), t = z(t, i, r), a.setLineWidth(i.width), a.setStrokeStyle(t[0].color), a.setLineCap("round"), a.beginPath(), a.arc(d.x, d.y, u, i.startAngle * Math.PI, t[0]._proportion_ * Math.PI, !1), a.stroke(); var _ = l - 2.5 * i.width; a.save(), a.translate(d.x, d.y), a.rotate((t[0]._proportion_ - 1) * Math.PI), a.beginPath(), a.setLineWidth(i.width / 3); var w = a.createLinearGradient(0, .6 * -_, 0, .6 * _); w.addColorStop("0", s("#FFFFFF", 0)), w.addColorStop("0.5", s(t[0].color, 1)), w.addColorStop("1.0", s("#FFFFFF", 0)), a.setStrokeStyle(w), a.arc(0, 0, _, .85 * Math.PI, 1.15 * Math.PI, !1), a.stroke(), a.beginPath(), a.setLineWidth(1), a.setStrokeStyle(t[0].color), a.setFillStyle(t[0].color), a.moveTo(-_ - i.width / 3 / 2, -4), a.lineTo(-_ - i.width / 3 / 2 - 4, 0), a.lineTo(-_ - i.width / 3 / 2, 4), a.lineTo(-_ - i.width / 3 / 2, -4), a.stroke(), a.fill(), a.restore() } else { a.setLineWidth(i.width), a.setLineCap("butt"); for (var A = 0; A < e.length; A++) { var S = e[A]; a.beginPath(), a.setStrokeStyle(S.color), a.arc(d.x, d.y, l, S._startAngle_ * Math.PI, S._endAngle_ * Math.PI, !1), a.stroke() } a.save(), m = i.startAngle - i.endAngle + 1; var T = m / i.splitLine.splitNumber, C = m / i.splitLine.splitNumber / i.splitLine.childNumber, P = -l - .5 * i.width - i.splitLine.fixRadius, k = -l - .5 * i.width - i.splitLine.fixRadius + i.splitLine.width, D = -l - .5 * i.width - i.splitLine.fixRadius + i.splitLine.childWidth; a.translate(d.x, d.y), a.rotate((i.startAngle - 1) * Math.PI); for (var M = 0; M < i.splitLine.splitNumber + 1; M++) a.beginPath(), a.setStrokeStyle(i.splitLine.color), a.setLineWidth(2 * n.pix), a.moveTo(P, 0), a.lineTo(k, 0), a.stroke(), a.rotate(T * Math.PI); a.restore(), a.save(), a.translate(d.x, d.y), a.rotate((i.startAngle - 1) * Math.PI); for (var O = 0; O < i.splitLine.splitNumber * i.splitLine.childNumber + 1; O++) a.beginPath(), a.setStrokeStyle(i.splitLine.color), a.setLineWidth(1 * n.pix), a.moveTo(P, 0), a.lineTo(D, 0), a.stroke(), a.rotate(C * Math.PI); a.restore(), t = B(t, e, i, r); for (var L = 0; L < t.length; L++) { var R = t[L]; a.save(), a.translate(d.x, d.y), a.rotate((R._proportion_ - 1) * Math.PI), a.beginPath(), a.setFillStyle(R.color), a.moveTo(i.pointer.width, 0), a.lineTo(0, -i.pointer.width / 2), a.lineTo(-u, 0), a.lineTo(0, i.pointer.width / 2), a.lineTo(i.pointer.width, 0), a.closePath(), a.fill(), a.beginPath(), a.setFillStyle("#FFFFFF"), a.arc(0, 0, i.pointer.width / 6, 0, 2 * Math.PI, !1), a.fill(), a.restore() }!1 !== n.dataLabel && se(i, l, d, n, o, a) } return re(n, o, a, d), 1 === r && "gauge" === n.type && (n.extra.gauge.oldAngle = t[0]._proportion_, n.extra.gauge.oldData = t[0].data), { center: d, radius: l, innerRadius: u, categories: e, totalAngle: m } }(l, i, t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break; case "candle": this.animationInstance = new Re({ timing: t.timing, duration: m, onProcess: function(e) { o.clearRect(0, 0, t.width, t.height), t.rotate && oe(o, t), xe(0, t, 0, o), ye(l, t, n, o); var a = function(e, t, n, o, a) { var r = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 1, i = c({}, { color: {}, average: {} }, n.extra.candle); i.color = c({}, { upLine: "#f04864", upFill: "#f04864", downLine: "#2fc25b", downFill: "#2fc25b" }, i.color), i.average = c({}, { show: !1, name: [], day: [], color: o.color }, i.average), n.extra.candle = i; var d = n.chartData.xAxisData, s = d.xAxisPoints, l = d.eachSpacing, u = []; a.save(); var m = -2, f = s.length + 2, p = 0, g = n.width + l; return n._scrollDistance_ && 0 !== n._scrollDistance_ && !0 === n.enableScroll && (a.translate(n._scrollDistance_, 0), m = Math.floor(-n._scrollDistance_ / l) - 2, f = m + n.xAxis.itemCount + 4, p = -n._scrollDistance_ - 2 * l + n.area[3], g = p + (n.xAxis.itemCount + 4) * l), (i.average.show || t) && t.forEach((function(e, t) { var i, c, d; i = [].concat(n.chartData.yAxisData.ranges[e.index]), c = i.pop(), d = i.shift(); for (var u = e.data, m = K(u, c, d, s, l, n, o, r), f = L(m, e), v = 0; v < f.length; v++) { var y = f[v]; if (a.beginPath(), a.setStrokeStyle(e.color), a.setLineWidth(1), 1 === y.length) a.moveTo(y[0].x, y[0].y), a.arc(y[0].x, y[0].y, 1, 0, 2 * Math.PI); else { a.moveTo(y[0].x, y[0].y); for (var x = 0, b = 0; b < y.length; b++) { var _ = y[b]; if (0 == x && _.x > p && (a.moveTo(_.x, _.y), x = 1), b > 0 && _.x > p && _.x < g) { var w = h(y, b - 1); a.bezierCurveTo(w.ctrA.x, w.ctrA.y, w.ctrB.x, w.ctrB.y, _.x, _.y) } } a.moveTo(y[0].x, y[0].y) } a.closePath(), a.stroke() } })), e.forEach((function(e, t) { var c, d, h; c = [].concat(n.chartData.yAxisData.ranges[e.index]), d = c.pop(), h = c.shift(); var p = e.data, g = J(p, d, h, s, l, n, o, r); u.push(g); for (var v = L(g, e), y = 0; y < v[0].length; y++) if (y > m && y < f) { var x = v[0][y]; a.beginPath(), p[y][1] - p[y][0] > 0 ? (a.setStrokeStyle(i.color.upLine), a.setFillStyle(i.color.upFill), a.setLineWidth(1 * n.pix), a.moveTo(x[3].x, x[3].y), a.lineTo(x[1].x, x[1].y), a.lineTo(x[1].x - l / 4, x[1].y), a.lineTo(x[0].x - l / 4, x[0].y), a.lineTo(x[0].x, x[0].y), a.lineTo(x[2].x, x[2].y), a.lineTo(x[0].x, x[0].y), a.lineTo(x[0].x + l / 4, x[0].y), a.lineTo(x[1].x + l / 4, x[1].y), a.lineTo(x[1].x, x[1].y), a.moveTo(x[3].x, x[3].y)) : (a.setStrokeStyle(i.color.downLine), a.setFillStyle(i.color.downFill), a.setLineWidth(1 * n.pix), a.moveTo(x[3].x, x[3].y), a.lineTo(x[0].x, x[0].y), a.lineTo(x[0].x - l / 4, x[0].y), a.lineTo(x[1].x - l / 4, x[1].y), a.lineTo(x[1].x, x[1].y), a.lineTo(x[2].x, x[2].y), a.lineTo(x[1].x, x[1].y), a.lineTo(x[1].x + l / 4, x[1].y), a.lineTo(x[0].x + l / 4, x[0].y), a.lineTo(x[0].x, x[0].y), a.moveTo(x[3].x, x[3].y)), a.closePath(), a.fill(), a.stroke() } })), a.restore(), { xAxisPoints: s, calPoints: u, eachSpacing: l } }(i, p, t, n, o, e), r = a.xAxisPoints, d = a.calPoints, s = a.eachSpacing; t.chartData.xAxisPoints = r, t.chartData.calPoints = d, t.chartData.eachSpacing = s, be(0, t, n, o), !1 !== t.enableMarkLine && 1 === e && me(t, n, o), _e(p ? 0 : t.series, t, n, o, t.chartData), ve(t, n, o, e), Oe(0, o) }, onAnimationFinish: function() { r.uevent.trigger("renderComplete") } }); break } } function Ee() { this.events = {} } Re.prototype.stop = function() { this.isStop = !0 }, Ee.prototype.addEventListener = function(e, t) { this.events[e] = this.events[e] || [], this.events[e].push(t) }, Ee.prototype.delEventListener = function(e) { this.events[e] = [] }, Ee.prototype.trigger = function() { for (var e = arguments.length, t = Array(e), n = 0; n < e; n++) t[n] = arguments[n]; var o = t[0], a = t.slice(1); this.events[o] && this.events[o].forEach((function(e) { try { e.apply(null, a) } catch (t) {} })) }; var $e = function(e) { e.pix = e.pixelRatio ? e.pixelRatio : 1, e.fontSize = e.fontSize ? e.fontSize : 13, e.fontColor = e.fontColor ? e.fontColor : i.fontColor, "" != e.background && "none" != e.background || (e.background = "#FFFFFF"), e.title = c({}, e.title), e.subtitle = c({}, e.subtitle), e.duration = e.duration ? e.duration : 1e3, e.yAxis = c({}, { data: [], showTitle: !1, disabled: !1, disableGrid: !1, splitNumber: 5, gridType: "solid", dashLength: 4 * e.pix, gridColor: "#cccccc", padding: 10, fontColor: "#666666" }, e.yAxis), e.xAxis = c({}, { rotateLabel: !1, rotateAngle: 45, disabled: !1, disableGrid: !1, splitNumber: 5, calibration: !1, gridType: "solid", dashLength: 4, scrollAlign: "left", boundaryGap: "center", axisLine: !0, axisLineColor: "#cccccc" }, e.xAxis), e.xAxis.scrollPosition = e.xAxis.scrollAlign, e.legend = c({}, { show: !0, position: "bottom", float: "center", backgroundColor: "rgba(0,0,0,0)", borderColor: "rgba(0,0,0,0)", borderWidth: 0, padding: 5, margin: 5, itemGap: 10, fontSize: e.fontSize, lineHeight: e.fontSize, fontColor: e.fontColor, formatter: {}, hiddenColor: "#CECECE" }, e.legend), e.extra = c({}, e.extra), e.rotate = !!e.rotate, e.animation = !!e.animation, e.rotate = !!e.rotate, e.canvas2d = !!e.canvas2d; var t = c({}, i); if (t.color = e.color ? e.color : t.color, "pie" == e.type && (t.pieChartLinePadding = !1 === e.dataLabel ? 0 : e.extra.pie.labelWidth * e.pix || t.pieChartLinePadding * e.pix), "ring" == e.type && (t.pieChartLinePadding = !1 === e.dataLabel ? 0 : e.extra.ring.labelWidth * e.pix || t.pieChartLinePadding * e.pix), "rose" == e.type && (t.pieChartLinePadding = !1 === e.dataLabel ? 0 : e.extra.rose.labelWidth * e.pix || t.pieChartLinePadding * e.pix), t.pieChartTextPadding = !1 === e.dataLabel ? 0 : t.pieChartTextPadding * e.pix, t.rotate = e.rotate, e.rotate) { var n = e.width, o = e.height; e.width = o, e.height = n } if (e.padding = e.padding ? e.padding : t.padding, t.yAxisWidth = i.yAxisWidth * e.pix, t.xAxisHeight = i.xAxisHeight * e.pix, e.enableScroll && e.xAxis.scrollShow && (t.xAxisHeight += 6 * e.pix), t.fontSize = e.fontSize * e.pix, t.titleFontSize = i.titleFontSize * e.pix, t.subtitleFontSize = i.subtitleFontSize * e.pix, t.toolTipPadding = i.toolTipPadding * e.pix, t.toolTipLineHeight = i.toolTipLineHeight * e.pix, !e.context) throw new Error("[uCharts] 未获取到context!注意:v2.0版本后,需要自行获取canvas的绘图上下文并传入opts.context!"); this.context = e.context, this.context.setTextAlign || (this.context.setStrokeStyle = function(e) { return this.strokeStyle = e }, this.context.setLineWidth = function(e) { return this.lineWidth = e }, this.context.setLineCap = function(e) { return this.lineCap = e }, this.context.setFontSize = function(e) { return this.font = e + "px sans-serif" }, this.context.setFillStyle = function(e) { return this.fillStyle = e }, this.context.setTextAlign = function(e) { return this.textAlign = e }, this.context.draw = function() {}), this.context.setLineDash || (this.context.setLineDash = function(e) {}), e.chartData = {}, this.uevent = new Ee, this.scrollOption = { currentOffset: 0, startTouchX: 0, distance: 0, lastMoveTime: 0 }, this.opts = e, this.config = t, Fe.call(this, e.type, e, t, this.context) }; $e.prototype.updateData = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; this.opts = c({}, this.opts, e), this.opts.updateData = !0; var t = e.scrollPosition || "current"; switch (t) { case "current": this.opts._scrollDistance_ = this.scrollOption.currentOffset; break; case "left": this.opts._scrollDistance_ = 0, this.scrollOption = { currentOffset: 0, startTouchX: 0, distance: 0, lastMoveTime: 0 }; break; case "right": var n = ne(this.opts.series, this.opts, this.config, this.context), o = n.yAxisWidth; this.config.yAxisWidth = o; var a = 0, r = X(this.opts.categories, this.opts, this.config), i = r.xAxisPoints, d = r.startX, s = r.endX, l = r.eachSpacing, u = l * (i.length - 1), m = s - d; a = m - u, this.scrollOption = { currentOffset: a, startTouchX: a, distance: 0, lastMoveTime: 0 }, this.opts._scrollDistance_ = a; break } Fe.call(this, this.opts.type, this.opts, this.config, this.context) }, $e.prototype.zoom = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.opts.xAxis.itemCount; if (!0 === this.opts.enableScroll) { var t = Math.round(Math.abs(this.scrollOption.currentOffset) / this.opts.chartData.eachSpacing) + Math.round(this.opts.xAxis.itemCount / 2); this.opts.animation = !1, this.opts.xAxis.itemCount = e.itemCount; var n = ne(this.opts.series, this.opts, this.config, this.context), o = n.yAxisWidth; this.config.yAxisWidth = o; var a = 0, r = X(this.opts.categories, this.opts, this.config), i = r.xAxisPoints, c = r.startX, d = r.endX, s = r.eachSpacing, l = s * t, m = d - c, h = m - s * (i.length - 1); a = m / 2 - l, a > 0 && (a = 0), a < h && (a = h), this.scrollOption = { currentOffset: a, startTouchX: 0, distance: 0, lastMoveTime: 0 }, u(this, a, this.opts.chartData, this.config, this.opts), this.opts._scrollDistance_ = a, Fe.call(this, this.opts.type, this.opts, this.config, this.context) } else console.log("[uCharts] 请启用滚动条后使用") }, $e.prototype.dobuleZoom = function(e) { if (!0 === this.opts.enableScroll) { var t = e.changedTouches; if (!(t.length < 2)) { for (var n = 0; n < t.length; n++) t[n].x = t[n].x ? t[n].x : t[n].clientX, t[n].y = t[n].y ? t[n].y : t[n].clientY; var o = [w(t[0], this.opts, e), w(t[1], this.opts, e)], a = Math.abs(o[0].x - o[1].x); if (!this.scrollOption.moveCount) { var r = { changedTouches: [{ x: t[0].x, y: this.opts.area[0] / this.opts.pix + 2 }] }, i = { changedTouches: [{ x: t[1].x, y: this.opts.area[0] / this.opts.pix + 2 }] }; this.opts.rotate && (r = { changedTouches: [{ x: this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2, y: t[0].y }] }, i = { changedTouches: [{ x: this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2, y: t[1].y }] }); var c = this.getCurrentDataIndex(r).index, d = this.getCurrentDataIndex(i).index, s = Math.abs(c - d); return this.scrollOption.moveCount = s, this.scrollOption.moveCurrent1 = Math.min(c, d), void(this.scrollOption.moveCurrent2 = Math.max(c, d)) } var l = a / this.scrollOption.moveCount, m = (this.opts.width - this.opts.area[1] - this.opts.area[3]) / l; m = m <= 2 ? 2 : m, m = m >= this.opts.categories.length ? this.opts.categories.length : m, this.opts.animation = !1, this.opts.xAxis.itemCount = m; var h = 0, f = X(this.opts.categories, this.opts, this.config), p = f.xAxisPoints, g = f.startX, v = f.endX, y = f.eachSpacing, x = y * this.scrollOption.moveCurrent1, b = v - g, _ = b - y * (p.length - 1); h = -x + Math.min(o[0].x, o[1].x) - this.opts.area[3] - y, h > 0 && (h = 0), h < _ && (h = _), this.scrollOption.currentOffset = h, this.scrollOption.startTouchX = 0, this.scrollOption.distance = 0, u(this, h, this.opts.chartData, this.config, this.opts), this.opts._scrollDistance_ = h, Fe.call(this, this.opts.type, this.opts, this.config, this.context) } } else console.log("[uCharts] 请启用滚动条后使用") }, $e.prototype.stopAnimation = function() { this.animationInstance && this.animationInstance.stop() }, $e.prototype.addEventListener = function(e, t) { this.uevent.addEventListener(e, t) }, $e.prototype.delEventListener = function(e) { this.uevent.delEventListener(e) }, $e.prototype.getCurrentDataIndex = function(e) { var t = null; if (t = e.changedTouches ? e.changedTouches[0] : e.mp.changedTouches[0], t) { var n = w(t, this.opts, e); return "pie" === this.opts.type || "ring" === this.opts.type ? function(e, t, n) { var o = -1, a = $(t.series); if (t && t.center && O(e, t.center, t.radius)) { var r = Math.atan2(t.center.y - e.y, e.x - t.center.x); r = -r, n.extra.pie && n.extra.pie.offsetAngle && (r -= n.extra.pie.offsetAngle * Math.PI / 180), n.extra.ring && n.extra.ring.offsetAngle && (r -= n.extra.ring.offsetAngle * Math.PI / 180); for (var i = 0, c = a.length; i < c; i++) if (m(r, a[i]._start_, a[i]._start_ + 2 * a[i]._proportion_ * Math.PI)) { o = i; break } } return o }({ x: n.x, y: n.y }, this.opts.chartData.pieData, this.opts) : "rose" === this.opts.type ? function(e, t, n) { var o = -1, a = I(n._series_, n.extra.rose.type, t.radius, t.radius); if (t && t.center && O(e, t.center, t.radius)) { var r = Math.atan2(t.center.y - e.y, e.x - t.center.x); r = -r, n.extra.rose && n.extra.rose.offsetAngle && (r -= n.extra.rose.offsetAngle * Math.PI / 180); for (var i = 0, c = a.length; i < c; i++) if (m(r, a[i]._start_, a[i]._start_ + 2 * a[i]._rose_proportion_ * Math.PI)) { o = i; break } } return o }({ x: n.x, y: n.y }, this.opts.chartData.pieData, this.opts) : "radar" === this.opts.type ? function(e, t, n) { var o = 2 * Math.PI / n, a = -1; if (O(e, t.center, t.radius)) { var r = function(e) { return e < 0 && (e += 2 * Math.PI), e > 2 * Math.PI && (e -= 2 * Math.PI), e }, i = Math.atan2(t.center.y - e.y, e.x - t.center.x); i *= -1, i < 0 && (i += 2 * Math.PI); var c = t.angleList.map((function(e) { return e = r(-1 * e), e })); c.forEach((function(e, t) { var n = r(e - o / 2), c = r(e + o / 2); c < n && (c += 2 * Math.PI), (i >= n && i <= c || i + 2 * Math.PI >= n && i + 2 * Math.PI <= c) && (a = t) })) } return a }({ x: n.x, y: n.y }, this.opts.chartData.radarData, this.opts.categories.length) : "funnel" === this.opts.type ? function(e, t) { for (var n = -1, o = 0, a = t.series.length; o < a; o++) { var r = t.series[o]; if (e.x > r.funnelArea[0] && e.x < r.funnelArea[2] && e.y > r.funnelArea[1] && e.y < r.funnelArea[3]) { n = o; break } } return n }({ x: n.x, y: n.y }, this.opts.chartData.funnelData) : "map" === this.opts.type ? function(e, t) { for (var n = -1, o = t.chartData.mapData, a = t.series, r = function(e, t, n, o, a, r) { return { x: (t - a) / o + n.xMin, y: n.yMax - (e - r) / o } }(e.y, e.x, o.bounds, o.scale, o.xoffset, o.yoffset), i = [r.x, r.y], c = 0, d = a.length; c < d; c++) { var s = a[c].geometry.coordinates; if (Ce(i, s, t.chartData.mapData.mercator)) { n = c; break } } return n }({ x: n.x, y: n.y }, this.opts) : "word" === this.opts.type ? function(e, t) { for (var n = -1, o = 0, a = t.length; o < a; o++) { var r = t[o]; if (e.x > r.area[0] && e.x < r.area[2] && e.y > r.area[1] && e.y < r.area[3]) { n = o; break } } return n }({ x: n.x, y: n.y }, this.opts.chartData.wordCloudData) : "bar" === this.opts.type ? function(e, t, n, o) { var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 0, r = { index: -1, group: [] }, i = n.chartData.eachSpacing / 2, c = n.chartData.yAxisPoints; return t && t.length > 0 && M(e, n, o) && c.forEach((function(t, n) { e.y + a + i > t && (r.index = n) })), r }({ x: n.x, y: n.y }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset)) : function(e, t, n, o) { var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 0, r = { index: -1, group: [] }, i = n.chartData.eachSpacing / 2, c = []; if (t && t.length > 0) { if (n.categories) { for (var d = 1; d < n.chartData.xAxisPoints.length; d++) c.push(n.chartData.xAxisPoints[d] - i); "line" != n.type && "area" != n.type || "justify" != n.xAxis.boundaryGap || (c = n.chartData.xAxisPoints) } else i = 0; if (M(e, n, o)) if (n.categories) c.forEach((function(t, n) { e.x + a + i > t && (r.index = n) })); else { for (var s = Array(t.length), l = 0; l < t.length; l++) { s[l] = Array(t[l].length); for (var u = 0; u < t[l].length; u++) s[l][u] = Math.abs(t[l][u].x - e.x) } for (var m = Array(s.length), h = Array(s.length), f = 0; f < s.length; f++) m[f] = Math.min.apply(null, s[f]), h[f] = s[f].indexOf(m[f]); var p = Math.min.apply(null, m); r.index = []; for (var g = 0; g < m.length; g++) m[g] == p && (r.group.push(g), r.index.push(h[g])) } } return r }({ x: n.x, y: n.y }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset)) } return -1 }, $e.prototype.getLegendDataIndex = function(e) { var t = null; if (t = e.changedTouches ? e.changedTouches[0] : e.mp.changedTouches[0], t) { var n = w(t, this.opts, e); return function(e, t, n) { var o = -1; if (function(e, t) { return e.x > t.start.x && e.x < t.end.x && e.y > t.start.y && e.y < t.end.y }(e, t.area)) { for (var a = t.points, r = -1, i = 0, c = a.length; i < c; i++) for (var d = a[i], s = 0; s < d.length; s++) { r += 1; var l = d[s]["area"]; if (l && e.x > l[0] - 0 && e.x < l[2] + 0 && e.y > l[1] - 0 && e.y < l[3] + 0) { o = r; break } } return o } return o }({ x: n.x, y: n.y }, this.opts.chartData.legendData) } return -1 }, $e.prototype.touchLegend = function(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = null; if (n = e.changedTouches ? e.changedTouches[0] : e.mp.changedTouches[0], n) { w(n, this.opts, e); var o = this.getLegendDataIndex(e); o >= 0 && ("candle" == this.opts.type ? this.opts.seriesMA[o].show = !this.opts.seriesMA[o].show : this.opts.series[o].show = !this.opts.series[o].show, this.opts.animation = !!t.animation, this.opts._scrollDistance_ = this.scrollOption.currentOffset, Fe.call(this, this.opts.type, this.opts, this.config, this.context)) } }, $e.prototype.showToolTip = function(e) { var t = this, n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, o = null; o = e.changedTouches ? e.changedTouches[0] : e.mp.changedTouches[0], o || console.log("[uCharts] 未获取到event坐标信息"); var a = w(o, this.opts, e), r = this.scrollOption.currentOffset, i = c({}, this.opts, { _scrollDistance_: r, animation: !1 }); if ("line" === this.opts.type || "area" === this.opts.type || "column" === this.opts.type || "scatter" === this.opts.type || "bubble" === this.opts.type) { var d = this.getCurrentDataIndex(e), s = void 0 == n.index ? d.index : n.index; if (s > -1 || s.length > 0) { var l = A(this.opts.series, s, d.group); if (0 !== l.length) { var u = C(l, this.opts, s, d.group, this.opts.categories, n), m = u.textList, h = u.offset; h.y = a.y, i.tooltip = { textList: void 0 !== n.textList ? n.textList : m, offset: void 0 !== n.offset ? n.offset : h, option: n, index: s } } } Fe.call(this, i.type, i, this.config, this.context) } if ("mount" === this.opts.type) { s = void 0 == n.index ? this.getCurrentDataIndex(e).index : n.index; if (s > -1) { i = c({}, this.opts, { animation: !1 }), l = c({}, i._series_[s]), m = [{ text: n.formatter ? n.formatter(l, void 0, s, i) : l.name + ": " + l.data, color: l.color }], h = { x: i.chartData.calPoints[s].x, y: a.y }; i.tooltip = { textList: n.textList ? n.textList : m, offset: void 0 !== n.offset ? n.offset : h, option: n, index: s } } Fe.call(this, i.type, i, this.config, this.context) } if ("bar" === this.opts.type) { d = this.getCurrentDataIndex(e), s = void 0 == n.index ? d.index : n.index; if (s > -1 || s.length > 0) { l = A(this.opts.series, s, d.group); if (0 !== l.length) { u = C(l, this.opts, s, d.group, this.opts.categories, n), m = u.textList, h = u.offset; h.x = a.x, i.tooltip = { textList: void 0 !== n.textList ? n.textList : m, offset: void 0 !== n.offset ? n.offset : h, option: n, index: s } } } Fe.call(this, i.type, i, this.config, this.context) } if ("mix" === this.opts.type) { d = this.getCurrentDataIndex(e), s = void 0 == n.index ? d.index : n.index; if (s > -1) { r = this.scrollOption.currentOffset, i = c({}, this.opts, { _scrollDistance_: r, animation: !1 }), l = A(this.opts.series, s); if (0 !== l.length) { var f = P(l, this.opts, s, this.opts.categories, n); m = f.textList, h = f.offset; h.y = a.y, i.tooltip = { textList: n.textList ? n.textList : m, offset: void 0 !== n.offset ? n.offset : h, option: n, index: s } } } Fe.call(this, i.type, i, this.config, this.context) } if ("candle" === this.opts.type) { d = this.getCurrentDataIndex(e), s = void 0 == n.index ? d.index : n.index; if (s > -1) { r = this.scrollOption.currentOffset, i = c({}, this.opts, { _scrollDistance_: r, animation: !1 }), l = A(this.opts.series, s); if (0 !== l.length) { u = k(this.opts.series[0].data, l, this.opts, s, this.opts.categories, this.opts.extra.candle, n), m = u.textList, h = u.offset; h.y = a.y, i.tooltip = { textList: n.textList ? n.textList : m, offset: void 0 !== n.offset ? n.offset : h, option: n, index: s } } } Fe.call(this, i.type, i, this.config, this.context) } if ("pie" === this.opts.type || "ring" === this.opts.type || "rose" === this.opts.type || "funnel" === this.opts.type) { s = void 0 == n.index ? this.getCurrentDataIndex(e) : n.index; if (s > -1) { i = c({}, this.opts, { animation: !1 }), l = c({}, i._series_[s]), m = [{ text: n.formatter ? n.formatter(l, void 0, s, i) : l.name + ": " + l.data, color: l.color }], h = { x: a.x, y: a.y }; i.tooltip = { textList: n.textList ? n.textList : m, offset: void 0 !== n.offset ? n.offset : h, option: n, index: s } } Fe.call(this, i.type, i, this.config, this.context) } if ("map" === this.opts.type) { s = void 0 == n.index ? this.getCurrentDataIndex(e) : n.index; if (s > -1) { i = c({}, this.opts, { animation: !1 }), l = c({}, this.opts.series[s]); l.name = l.properties.name; m = [{ text: n.formatter ? n.formatter(l, void 0, s, this.opts) : l.name, color: l.color }], h = { x: a.x, y: a.y }; i.tooltip = { textList: n.textList ? n.textList : m, offset: void 0 !== n.offset ? n.offset : h, option: n, index: s } } i.updateData = !1, Fe.call(this, i.type, i, this.config, this.context) } if ("word" === this.opts.type) { s = void 0 == n.index ? this.getCurrentDataIndex(e) : n.index; if (s > -1) { i = c({}, this.opts, { animation: !1 }), l = c({}, this.opts.series[s]), m = [{ text: n.formatter ? n.formatter(l, void 0, s, this.opts) : l.name, color: l.color }], h = { x: a.x, y: a.y }; i.tooltip = { textList: n.textList ? n.textList : m, offset: void 0 !== n.offset ? n.offset : h, option: n, index: s } } i.updateData = !1, Fe.call(this, i.type, i, this.config, this.context) } if ("radar" === this.opts.type) { s = void 0 == n.index ? this.getCurrentDataIndex(e) : n.index; if (s > -1) { i = c({}, this.opts, { animation: !1 }), l = A(this.opts.series, s); if (0 !== l.length) { m = l.map((function(e) { return { text: n.formatter ? n.formatter(e, t.opts.categories[s], s, t.opts) : e.name + ": " + e.data, color: e.color } })), h = { x: a.x, y: a.y }; i.tooltip = { textList: n.textList ? n.textList : m, offset: void 0 !== n.offset ? n.offset : h, option: n, index: s } } } Fe.call(this, i.type, i, this.config, this.context) } }, $e.prototype.translate = function(e) { this.scrollOption = { currentOffset: e, startTouchX: e, distance: 0, lastMoveTime: 0 }; var t = c({}, this.opts, { _scrollDistance_: e, animation: !1 }); Fe.call(this, this.opts.type, t, this.config, this.context) }, $e.prototype.scrollStart = function(e) { var t = null; t = e.changedTouches ? e.changedTouches[0] : e.mp.changedTouches[0]; var n = w(t, this.opts, e); t && !0 === this.opts.enableScroll && (this.scrollOption.startTouchX = n.x) }, $e.prototype.scroll = function(e) { 0 === this.scrollOption.lastMoveTime && (this.scrollOption.lastMoveTime = Date.now()); var t = this.opts.touchMoveLimit || 60, n = Date.now(), o = n - this.scrollOption.lastMoveTime; if (!(o < Math.floor(1e3 / t)) && 0 != this.scrollOption.startTouchX) { this.scrollOption.lastMoveTime = n; var a = null; if (a = e.changedTouches ? e.changedTouches[0] : e.mp.changedTouches[0], a && !0 === this.opts.enableScroll) { var r, i = w(a, this.opts, e); r = i.x - this.scrollOption.startTouchX; var d = this.scrollOption.currentOffset, s = u(this, d + r, this.opts.chartData, this.config, this.opts); this.scrollOption.distance = r = s - d; var l = c({}, this.opts, { _scrollDistance_: d + r, animation: !1 }); return this.opts = l, Fe.call(this, l.type, l, this.config, this.context), d + r } } }, $e.prototype.scrollEnd = function(e) { if (!0 === this.opts.enableScroll) { var t = this.scrollOption, n = t.currentOffset, o = t.distance; this.scrollOption.currentOffset = n + o, this.scrollOption.distance = 0, this.scrollOption.moveCount = 0 } }; var je = $e; t.default = je }, "448a": function(e, t, n) { var o = n("2236"), a = n("11b0"), r = n("6613"), i = n("0676"); e.exports = function(e) { return o(e) || a(e) || r(e) || i() }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, "4a4b": function(e, t) { function n(t, o) { return e.exports = n = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(e, t) { return e.__proto__ = t, e }, e.exports.__esModule = !0, e.exports["default"] = e.exports, n(t, o) } e.exports = n, e.exports.__esModule = !0, e.exports["default"] = e.exports }, "4ea4": function(e, t) { e.exports = function(e) { return e && e.__esModule ? e : { default: e } }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, "51cd": function(e, t, n) { "use strict"; var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "auto", t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "rpx"; return e = String(e), a.default.number(e) ? "".concat(e).concat(t) : e }; var a = o(n("7e41")) }, 5291: function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var o = null; var a = function(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 500, n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]; if (null !== o && clearTimeout(o), n) { var a = !o; o = setTimeout((function() { o = null }), t), a && "function" === typeof e && e() } else o = setTimeout((function() { "function" === typeof e && e() }), t) }; t.default = a }, "543d": function(e, t, n) { "use strict"; (function(e, o) { var a = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.createApp = Ot, t.createComponent = Wt, t.createPage = zt, t.createPlugin = Nt, t.createSubpackageApp = Bt, t.default = void 0; var r, i = a(n("278c")), c = a(n("9523")), d = a(n("b17c")), s = a(n("448a")), l = a(n("7037")), u = n("37dc"), m = a(n("66fd")); function h(e, t) { var n = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); t && (o = o.filter((function(t) { return Object.getOwnPropertyDescriptor(e, t).enumerable }))), n.push.apply(n, o) } return n } function f(e) { for (var t = 1; t < arguments.length; t++) { var n = null != arguments[t] ? arguments[t] : {}; t % 2 ? h(Object(n), !0).forEach((function(t) { (0, c.default)(e, t, n[t]) })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : h(Object(n)).forEach((function(t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) })) } return e } var p = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", g = /^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/; function v() { var t, n = e.getStorageSync("uni_id_token") || "", o = n.split("."); if (!n || 3 !== o.length) return { uid: null, role: [], permission: [], tokenExpired: 0 }; try { t = JSON.parse(function(e) { return decodeURIComponent(r(e).split("").map((function(e) { return "%" + ("00" + e.charCodeAt(0).toString(16)).slice(-2) })).join("")) }(o[1])) } catch (a) { throw new Error("获取当前用户信息出错,详细错误信息为:" + a.message) } return t.tokenExpired = 1e3 * t.exp, delete t.exp, delete t.iat, t } r = "function" !== typeof atob ? function(e) { if (e = String(e).replace(/[\t\n\f\r ]+/g, ""), !g.test(e)) throw new Error("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded."); var t; e += "==".slice(2 - (3 & e.length)); for (var n, o, a = "", r = 0; r < e.length;) t = p.indexOf(e.charAt(r++)) << 18 | p.indexOf(e.charAt(r++)) << 12 | (n = p.indexOf(e.charAt(r++))) << 6 | (o = p.indexOf(e.charAt(r++))), a += 64 === n ? String.fromCharCode(t >> 16 & 255) : 64 === o ? String.fromCharCode(t >> 16 & 255, t >> 8 & 255) : String.fromCharCode(t >> 16 & 255, t >> 8 & 255, 255 & t); return a } : atob; var y = Object.prototype.toString, x = Object.prototype.hasOwnProperty; function b(e) { return "function" === typeof e } function _(e) { return "string" === typeof e } function w(e) { return "[object Object]" === y.call(e) } function A(e, t) { return x.call(e, t) } function S() {} function T(e) { var t = Object.create(null); return function(n) { var o = t[n]; return o || (t[n] = e(n)) } } var C = /-(\w)/g, P = T((function(e) { return e.replace(C, (function(e, t) { return t ? t.toUpperCase() : "" })) })); function k(e) { var t = {}; return w(e) && Object.keys(e).sort().forEach((function(n) { t[n] = e[n] })), Object.keys(t) ? t : e } var D = ["invoke", "success", "fail", "complete", "returnValue"], M = {}, O = {}; function L(e, t) { Object.keys(t).forEach((function(n) { -1 !== D.indexOf(n) && b(t[n]) && (e[n] = function(e, t) { var n = t ? e ? e.concat(t) : Array.isArray(t) ? t : [t] : e; return n ? function(e) { for (var t = [], n = 0; n < e.length; n++) - 1 === t.indexOf(e[n]) && t.push(e[n]); return t }(n) : n }(e[n], t[n])) })) } function R(e, t) { e && t && Object.keys(t).forEach((function(n) { -1 !== D.indexOf(n) && b(t[n]) && function(e, t) { var n = e.indexOf(t); - 1 !== n && e.splice(n, 1) }(e[n], t[n]) })) } function F(e) { return function(t) { return e(t) || t } } function E(e) { return !!e && ("object" === (0, l.default)(e) || "function" === typeof e) && "function" === typeof e.then } function $(e, t) { for (var n = !1, o = 0; o < e.length; o++) { var a = e[o]; if (n) n = Promise.resolve(F(a)); else { var r = a(t); if (E(r) && (n = Promise.resolve(r)), !1 === r) return { then: function() {} } } } return n || { then: function(e) { return e(t) } } } function j(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; return ["success", "fail", "complete"].forEach((function(n) { if (Array.isArray(e[n])) { var o = t[n]; t[n] = function(t) { $(e[n], t).then((function(e) { return b(o) && o(e) || e })) } } })), t } function I(e, t) { var n = []; Array.isArray(M.returnValue) && n.push.apply(n, (0, s.default)(M.returnValue)); var o = O[e]; return o && Array.isArray(o.returnValue) && n.push.apply(n, (0, s.default)(o.returnValue)), n.forEach((function(e) { t = e(t) || t })), t } function q(e) { var t = Object.create(null); Object.keys(M).forEach((function(e) { "returnValue" !== e && (t[e] = M[e].slice()) })); var n = O[e]; return n && Object.keys(n).forEach((function(e) { "returnValue" !== e && (t[e] = (t[e] || []).concat(n[e])) })), t } function z(e, t, n) { for (var o = arguments.length, a = new Array(o > 3 ? o - 3 : 0), r = 3; r < o; r++) a[r - 3] = arguments[r]; var i = q(e); if (i && Object.keys(i).length) { if (Array.isArray(i.invoke)) { var c = $(i.invoke, n); return c.then((function(e) { return t.apply(void 0, [j(i, e)].concat(a)) })) } return t.apply(void 0, [j(i, n)].concat(a)) } return t.apply(void 0, [n].concat(a)) } var W = { returnValue: function(e) { return E(e) ? new Promise((function(t, n) { e.then((function(e) { e[0] ? n(e[0]) : t(e[1]) })) })) : e } }, B = /^\$|Window$|WindowStyle$|sendHostEvent|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getLocale|setLocale|invokePushCallback|getWindowInfo|getDeviceInfo|getAppBaseInfo|getSystemSetting|getAppAuthorizeSetting|initUTS|requireUTS|registerUTS/, N = /^create|Manager$/, G = ["createBLEConnection"], H = ["createBLEConnection", "createPushMessage"], V = /^on|^off/; function U(e) { return N.test(e) && -1 === G.indexOf(e) } function X(e) { return B.test(e) && -1 === H.indexOf(e) } function J(e) { return e.then((function(e) { return [null, e] })).catch((function(e) { return [e] })) } function K(e) { return !(U(e) || X(e) || function(e) { return V.test(e) && "onPush" !== e }(e)) } function Y(e, t) { return K(e) && b(t) ? function() { for (var n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, o = arguments.length, a = new Array(o > 1 ? o - 1 : 0), r = 1; r < o; r++) a[r - 1] = arguments[r]; return b(n.success) || b(n.fail) || b(n.complete) ? I(e, z.apply(void 0, [e, t, n].concat(a))) : I(e, J(new Promise((function(o, r) { z.apply(void 0, [e, t, Object.assign({}, n, { success: o, fail: r })].concat(a)) })))) } : t } Promise.prototype.finally || (Promise.prototype.finally = function(e) { var t = this.constructor; return this.then((function(n) { return t.resolve(e()).then((function() { return n })) }), (function(n) { return t.resolve(e()).then((function() { throw n })) })) }); var Z = !1, Q = 0, ee = 0; var te, ne = {}; te = re(e.getSystemInfoSync().language) || "en", function() { if (function() { return "undefined" !== typeof __uniConfig && __uniConfig.locales && !!Object.keys(__uniConfig.locales).length }()) { var e = Object.keys(__uniConfig.locales); e.length && e.forEach((function(e) { var t = ne[e], n = __uniConfig.locales[e]; t ? Object.assign(t, n) : ne[e] = n })) } }(); var oe = (0, u.initVueI18n)(te, {}), ae = oe.t; oe.mixin = { beforeCreate: function() { var e = this, t = oe.i18n.watchLocale((function() { e.$forceUpdate() })); this.$once("hook:beforeDestroy", (function() { t() })) }, methods: { $$t: function(e, t) { return ae(e, t) } } }, oe.setLocale, oe.getLocale; function re(e, t) { if (e) { if (e = e.trim().replace(/_/g, "-"), t && t[e]) return e; if (e = e.toLowerCase(), "chinese" === e) return "zh-Hans"; if (0 === e.indexOf("zh")) return e.indexOf("-hans") > -1 ? "zh-Hans" : e.indexOf("-hant") > -1 || function(e, t) { return !!t.find((function(t) { return -1 !== e.indexOf(t) })) }(e, ["-tw", "-hk", "-mo", "-cht"]) ? "zh-Hant" : "zh-Hans"; var n = function(e, t) { return t.find((function(t) { return 0 === e.indexOf(t) })) }(e, ["en", "fr", "es"]); return n || void 0 } } function ie() { if (b(getApp)) { var t = getApp({ allowDefault: !0 }); if (t && t.$vm) return t.$vm.$locale } return re(e.getSystemInfoSync().language) || "en" } var ce = []; "undefined" !== typeof o && (o.getLocale = ie); var de = { promiseInterceptor: W }, se = Object.freeze({ __proto__: null, upx2px: function(t, n) { if (0 === Q && function() { var t = e.getSystemInfoSync(), n = t.platform, o = t.pixelRatio, a = t.windowWidth; Q = a, ee = o, Z = "ios" === n }(), t = Number(t), 0 === t) return 0; var o = t / 750 * (n || Q); return o < 0 && (o = -o), o = Math.floor(o + 1e-4), 0 === o && (o = 1 !== ee && Z ? .5 : 1), t < 0 ? -o : o }, getLocale: ie, setLocale: function(e) { var t = !!b(getApp) && getApp(); if (!t) return !1; var n = t.$vm.$locale; return n !== e && (t.$vm.$locale = e, ce.forEach((function(t) { return t({ locale: e }) })), !0) }, onLocaleChange: function(e) { -1 === ce.indexOf(e) && ce.push(e) }, addInterceptor: function(e, t) { "string" === typeof e && w(t) ? L(O[e] || (O[e] = {}), t) : w(e) && L(M, e) }, removeInterceptor: function(e, t) { "string" === typeof e ? w(t) ? R(O[e], t) : delete O[e] : w(e) && R(M, e) }, interceptors: de }); var le, ue = { name: function(e) { return "back" === e.exists && e.delta ? "navigateBack" : "redirectTo" }, args: function(e) { if ("back" === e.exists && e.url) { var t = function(e) { var t = getCurrentPages(), n = t.length; while (n--) { var o = t[n]; if (o.$page && o.$page.fullPath === e) return n } return -1 }(e.url); if (-1 !== t) { var n = getCurrentPages().length - 1 - t; n > 0 && (e.delta = n) } } } }, me = { args: function(e) { var t = parseInt(e.current); if (!isNaN(t)) { var n = e.urls; if (Array.isArray(n)) { var o = n.length; if (o) return t < 0 ? t = 0 : t >= o && (t = o - 1), t > 0 ? (e.current = n[t], e.urls = n.filter((function(e, o) { return !(o < t) || e !== n[t] }))) : e.current = n[0], { indicator: !1, loop: !1 } } } } }; function he(t) { le = le || e.getStorageSync("__DC_STAT_UUID"), le || (le = Date.now() + "" + Math.floor(1e7 * Math.random()), e.setStorage({ key: "__DC_STAT_UUID", data: le })), t.deviceId = le } function fe(e) { if (e.safeArea) { var t = e.safeArea; e.safeAreaInsets = { top: t.top, left: t.left, right: e.windowWidth - t.right, bottom: e.screenHeight - t.bottom } } } function pe(e, t) { for (var n = e.deviceType || "phone", o = { ipad: "pad", windows: "pc", mac: "pc" }, a = Object.keys(o), r = t.toLocaleLowerCase(), i = 0; i < a.length; i++) { var c = a[i]; if (-1 !== r.indexOf(c)) { n = o[c]; break } } return n } function ge(e) { var t = e; return t && (t = e.toLocaleLowerCase()), t } function ve(e) { return ie ? ie() : e } function ye(e) { var t = e.hostName || "WeChat"; return e.environment ? t = e.environment : e.host && e.host.env && (t = e.host.env), t } var xe = { returnValue: function(e) { he(e), fe(e), function(e) { var t, n = e.brand, o = void 0 === n ? "" : n, a = e.model, r = void 0 === a ? "" : a, i = e.system, c = void 0 === i ? "" : i, d = e.language, s = void 0 === d ? "" : d, l = e.theme, u = e.version, m = (e.platform, e.fontSizeSetting), h = e.SDKVersion, f = e.pixelRatio, p = e.deviceOrientation, g = ""; g = c.split(" ")[0] || "", t = c.split(" ")[1] || ""; var v = u, y = pe(e, r), x = ge(o), b = ye(e), _ = p, w = f, A = h, S = s.replace(/_/g, "-"), T = { appId: "__UNI__9A35C4F", appName: "CRM", appVersion: "1.0.0", appVersionCode: "100", appLanguage: ve(S), uniCompileVersion: "3.7.3", uniRuntimeVersion: "3.7.3", uniPlatform: "mp-weixin", deviceBrand: x, deviceModel: r, deviceType: y, devicePixelRatio: w, deviceOrientation: _, osName: g.toLocaleLowerCase(), osVersion: t, hostTheme: l, hostVersion: v, hostLanguage: S, hostName: b, hostSDKVersion: A, hostFontSizeSetting: m, windowTop: 0, windowBottom: 0, osLanguage: void 0, osTheme: void 0, ua: void 0, hostPackageName: void 0, browserName: void 0, browserVersion: void 0 }; Object.assign(e, T, {}) }(e) } }, be = { args: function(e) { "object" === (0, l.default)(e) && (e.alertText = e.title) } }, _e = { returnValue: function(e) { var t = e, n = t.version, o = t.language, a = t.SDKVersion, r = t.theme, i = ye(e), c = o.replace("_", "-"); e = k(Object.assign(e, { appId: "__UNI__9A35C4F", appName: "CRM", appVersion: "1.0.0", appVersionCode: "100", appLanguage: ve(c), hostVersion: n, hostLanguage: c, hostName: i, hostSDKVersion: a, hostTheme: r })) } }, we = { returnValue: function(e) { var t = e, n = t.brand, o = t.model, a = pe(e, o), r = ge(n); he(e), e = k(Object.assign(e, { deviceType: a, deviceBrand: r, deviceModel: o })) } }, Ae = { returnValue: function(e) { fe(e), e = k(Object.assign(e, { windowTop: 0, windowBottom: 0 })) } }, Se = { redirectTo: ue, previewImage: me, getSystemInfo: xe, getSystemInfoSync: xe, showActionSheet: be, getAppBaseInfo: _e, getDeviceInfo: we, getWindowInfo: Ae, getAppAuthorizeSetting: { returnValue: function(e) { var t = e.locationReducedAccuracy; e.locationAccuracy = "unsupported", !0 === t ? e.locationAccuracy = "reduced" : !1 === t && (e.locationAccuracy = "full") } }, compressImage: { args: function(e) { e.compressedHeight && !e.compressHeight && (e.compressHeight = e.compressedHeight), e.compressedWidth && !e.compressWidth && (e.compressWidth = e.compressedWidth) } } }, Te = ["success", "fail", "cancel", "complete"]; function Ce(e, t, n) { return function(o) { return t(ke(e, o, n)) } } function Pe(e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, o = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {}, a = arguments.length > 4 && void 0 !== arguments[4] && arguments[4]; if (w(t)) { var r = !0 === a ? t : {}; for (var i in b(n) && (n = n(t, r) || {}), t) if (A(n, i)) { var c = n[i]; b(c) && (c = c(t[i], t, r)), c ? _(c) ? r[c] = t[i] : w(c) && (r[c.name ? c.name : i] = c.value) : console.warn("The '".concat(e, "' method of platform '微信小程序' does not support option '").concat(i, "'")) } else -1 !== Te.indexOf(i) ? b(t[i]) && (r[i] = Ce(e, t[i], o)) : a || (r[i] = t[i]); return r } return b(t) && (t = Ce(e, t, o)), t } function ke(e, t, n) { var o = arguments.length > 3 && void 0 !== arguments[3] && arguments[3]; return b(Se.returnValue) && (t = Se.returnValue(e, t)), Pe(e, t, n, {}, o) } function De(t, n) { if (A(Se, t)) { var o = Se[t]; return o ? function(n, a) { var r = o; b(o) && (r = o(n)), n = Pe(t, n, r.args, r.returnValue); var i = [n]; "undefined" !== typeof a && i.push(a), b(r.name) ? t = r.name(n) : _(r.name) && (t = r.name); var c = e[t].apply(e, i); return X(t) ? ke(t, c, r.returnValue, U(t)) : c } : function() { console.error("Platform '微信小程序' does not support '".concat(t, "'.")) } } return n } var Me = Object.create(null); ["onTabBarMidButtonTap", "subscribePush", "unsubscribePush", "onPush", "offPush", "share"].forEach((function(e) { Me[e] = function(e) { return function(t) { var n = t.fail, o = t.complete, a = { errMsg: "".concat(e, ":fail method '").concat(e, "' not supported") }; b(n) && n(a), b(o) && o(a) } }(e) })); var Oe = { oauth: ["weixin"], share: ["weixin"], payment: ["wxpay"], push: ["weixin"] }; var Le = Object.freeze({ __proto__: null, getProvider: function(e) { var t = e.service, n = e.success, o = e.fail, a = e.complete, r = !1; Oe[t] ? (r = { errMsg: "getProvider:ok", service: t, provider: Oe[t] }, b(n) && n(r)) : (r = { errMsg: "getProvider:fail service not found" }, b(o) && o(r)), b(a) && a(r) } }), Re = function() { var e; return function() { return e || (e = new m.default), e } }(); function Fe(e, t, n) { return e[t].apply(e, n) } var Ee, $e, je, Ie = Object.freeze({ __proto__: null, $on: function() { return Fe(Re(), "$on", Array.prototype.slice.call(arguments)) }, $off: function() { return Fe(Re(), "$off", Array.prototype.slice.call(arguments)) }, $once: function() { return Fe(Re(), "$once", Array.prototype.slice.call(arguments)) }, $emit: function() { return Fe(Re(), "$emit", Array.prototype.slice.call(arguments)) } }); function qe(e) { return function() { try { return e.apply(e, arguments) } catch (t) { console.error(t) } } } function ze(e) { try { return JSON.parse(e) } catch (t) {} return e } var We = []; function Be(e, t) { We.forEach((function(n) { n(e, t) })), We.length = 0 } var Ne = [], Ge = e.getAppBaseInfo && e.getAppBaseInfo(); Ge || (Ge = e.getSystemInfoSync()); var He = Ge ? Ge.host : null, Ve = He && "SAAASDK" === He.env ? e.miniapp.shareVideoMessage : e.shareVideoMessage, Ue = Object.freeze({ __proto__: null, shareVideoMessage: Ve, getPushClientId: function(e) { w(e) || (e = {}); var t = function(e) { var t = {}; for (var n in e) { var o = e[n]; b(o) && (t[n] = qe(o), delete e[n]) } return t }(e), n = t.success, o = t.fail, a = t.complete, r = b(n), i = b(o), c = b(a); Promise.resolve().then((function() { "undefined" === typeof je && (je = !1, Ee = "", $e = "uniPush is not enabled"), We.push((function(e, t) { var d; e ? (d = { errMsg: "getPushClientId:ok", cid: e }, r && n(d)) : (d = { errMsg: "getPushClientId:fail" + (t ? " " + t : "") }, i && o(d)), c && a(d) })), "undefined" !== typeof Ee && Be(Ee, $e) })) }, onPushMessage: function(e) { -1 === Ne.indexOf(e) && Ne.push(e) }, offPushMessage: function(e) { if (e) { var t = Ne.indexOf(e); t > -1 && Ne.splice(t, 1) } else Ne.length = 0 }, invokePushCallback: function(e) { if ("enabled" === e.type) je = !0; else if ("clientId" === e.type) Ee = e.cid, $e = e.errMsg, Be(Ee, e.errMsg); else if ("pushMsg" === e.type) for (var t = { type: "receive", data: ze(e.message) }, n = 0; n < Ne.length; n++) { var o = Ne[n]; if (o(t), t.stopped) break } else "click" === e.type && Ne.forEach((function(t) { t({ type: "click", data: ze(e.message) }) })) } }), Xe = ["__route__", "__wxExparserNodeId__", "__wxWebviewId__"]; function Je(e) { return Behavior(e) } function Ke() { return !!this.route } function Ye(e) { this.triggerEvent("__l", e) } function Ze(e) { var t = e.$scope, n = {}; Object.defineProperty(e, "$refs", { get: function() { var e = {}; (function e(t, n, o) { var a = t.selectAllComponents(n) || []; a.forEach((function(t) { var a = t.dataset.ref; o[a] = t.$vm || tt(t), "scoped" === t.dataset.vueGeneric && t.selectAllComponents(".scoped-ref").forEach((function(t) { e(t, n, o) })) })) })(t, ".vue-ref", e); var o = t.selectAllComponents(".vue-ref-in-for") || []; return o.forEach((function(t) { var n = t.dataset.ref; e[n] || (e[n] = []), e[n].push(t.$vm || tt(t)) })), function(e, t) { var n = (0, d.default)(Set, (0, s.default)(Object.keys(e))), o = Object.keys(t); return o.forEach((function(o) { var a = e[o], r = t[o]; Array.isArray(a) && Array.isArray(r) && a.length === r.length && r.every((function(e) { return a.includes(e) })) || (e[o] = r, n.delete(o)) })), n.forEach((function(t) { delete e[t] })), e }(n, e) } }) } function Qe(e) { var t, n = e.detail || e.value, o = n.vuePid, a = n.vueOptions; o && (t = function e(t, n) { for (var o, a = t.$children, r = a.length - 1; r >= 0; r--) { var i = a[r]; if (i.$scope._$vueId === n) return i } for (var c = a.length - 1; c >= 0; c--) if (o = e(a[c], n), o) return o }(this.$vm, o)), t || (t = this.$vm), a.parent = t } function et(e) { return Object.defineProperty(e, "__v_isMPComponent", { configurable: !0, enumerable: !1, value: !0 }), e } function tt(e) { return function(e) { return null !== e && "object" === (0, l.default)(e) }(e) && Object.isExtensible(e) && Object.defineProperty(e, "__ob__", { configurable: !0, enumerable: !1, value: (0, c.default)({}, "__v_skip", !0) }), e } var nt = Page, ot = Component, at = /:/g, rt = T((function(e) { return P(e.replace(at, "-")) })); function it(e) { var t = e.triggerEvent, n = function(e) { for (var n = arguments.length, o = new Array(n > 1 ? n - 1 : 0), a = 1; a < n; a++) o[a - 1] = arguments[a]; if (this.$vm || this.dataset && this.dataset.comType) e = rt(e); else { var r = rt(e); r !== e && t.apply(this, [r].concat(o)) } return t.apply(this, [e].concat(o)) }; try { e.triggerEvent = n } catch (o) { e._triggerEvent = n } } function ct(e, t, n) { var o = t[e]; t[e] = function() { if (et(this), it(this), o) { for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]; return o.apply(this, t) } } } nt.__$wrappered || (nt.__$wrappered = !0, Page = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; return ct("onLoad", e), nt(e) }, Page.after = nt.after, Component = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; return ct("created", e), ot(e) }); function dt(e, t, n) { t.forEach((function(t) { (function e(t, n) { if (!n) return !0; if (m.default.options && Array.isArray(m.default.options[t])) return !0; if (n = n.default || n, b(n)) return !!b(n.extendOptions[t]) || !!(n.super && n.super.options && Array.isArray(n.super.options[t])); if (b(n[t]) || Array.isArray(n[t])) return !0; var o = n.mixins; return Array.isArray(o) ? !!o.find((function(n) { return e(t, n) })) : void 0 })(t, n) && (e[t] = function(e) { return this.$vm && this.$vm.__call_hook(t, e) }) })) } function st(e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : []; lt(t).forEach((function(t) { return ut(e, t, n) })) } function lt(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : []; return e && Object.keys(e).forEach((function(n) { 0 === n.indexOf("on") && b(e[n]) && t.push(n) })), t } function ut(e, t, n) { -1 !== n.indexOf(t) || A(e, t) || (e[t] = function(e) { return this.$vm && this.$vm.__call_hook(t, e) }) } function mt(e, t) { var n; return t = t.default || t, n = b(t) ? t : e.extend(t), t = n.options, [n, t] } function ht(e, t) { if (Array.isArray(t) && t.length) { var n = Object.create(null); t.forEach((function(e) { n[e] = !0 })), e.$scopedSlots = e.$slots = n } } function ft(e, t) { e = (e || "").split(","); var n = e.length; 1 === n ? t._$vueId = e[0] : 2 === n && (t._$vueId = e[0], t._$vuePid = e[1]) } function pt(e, t) { var n = e.data || {}, o = e.methods || {}; if ("function" === typeof n) try { n = n.call(t) } catch (a) { Object({ VUE_APP_DARK_MODE: "false", VUE_APP_NAME: "CRM", VUE_APP_PLATFORM: "mp-weixin", NODE_ENV: "production", BASE_URL: "/" }).VUE_APP_DEBUG && console.warn("根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。", n) } else try { n = JSON.parse(JSON.stringify(n)) } catch (a) {} return w(n) || (n = {}), Object.keys(o).forEach((function(e) { -1 !== t.__lifecycle_hooks__.indexOf(e) || A(n, e) || (n[e] = o[e]) })), n } var gt = [String, Number, Boolean, Object, Array, null]; function vt(e) { return function(t, n) { this.$vm && (this.$vm[e] = t) } } function yt(e, t) { var n = e.behaviors, o = e.extends, a = e.mixins, r = e.props; r || (e.props = r = []); var i = []; return Array.isArray(n) && n.forEach((function(e) { i.push(e.replace("uni://", "wx".concat("://"))), "uni://form-field" === e && (Array.isArray(r) ? (r.push("name"), r.push("value")) : (r.name = { type: String, default: "" }, r.value = { type: [String, Number, Boolean, Array, Object, Date], default: "" })) })), w(o) && o.props && i.push(t({ properties: bt(o.props, !0) })), Array.isArray(a) && a.forEach((function(e) { w(e) && e.props && i.push(t({ properties: bt(e.props, !0) })) })), i } function xt(e, t, n, o) { return Array.isArray(t) && 1 === t.length ? t[0] : t } function bt(e) { var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], n = arguments.length > 3 ? arguments[3] : void 0, o = {}; return t || (o.vueId = { type: String, value: "" }, n.virtualHost && (o.virtualHostStyle = { type: null, value: "" }, o.virtualHostClass = { type: null, value: "" }), o.scopedSlotsCompiler = { type: String, value: "" }, o.vueSlots = { type: null, value: [], observer: function(e, t) { var n = Object.create(null); e.forEach((function(e) { n[e] = !0 })), this.setData({ $slots: n }) } }), Array.isArray(e) ? e.forEach((function(e) { o[e] = { type: null, observer: vt(e) } })) : w(e) && Object.keys(e).forEach((function(t) { var n = e[t]; if (w(n)) { var a = n.default; b(a) && (a = a()), n.type = xt(0, n.type), o[t] = { type: -1 !== gt.indexOf(n.type) ? n.type : null, value: a, observer: vt(t) } } else { var r = xt(0, n); o[t] = { type: -1 !== gt.indexOf(r) ? r : null, observer: vt(t) } } })), o } function _t(e, t, n, o) { var a = {}; return Array.isArray(t) && t.length && t.forEach((function(t, r) { "string" === typeof t ? t ? "$event" === t ? a["$" + r] = n : "arguments" === t ? a["$" + r] = n.detail && n.detail.__args__ || o : 0 === t.indexOf("$event.") ? a["$" + r] = e.__get_value(t.replace("$event.", ""), n) : a["$" + r] = e.__get_value(t) : a["$" + r] = e : a["$" + r] = function(e, t) { var n = e; return t.forEach((function(t) { var o = t[0], a = t[2]; if (o || "undefined" !== typeof a) { var r, i = t[1], c = t[3]; Number.isInteger(o) ? r = o : o ? "string" === typeof o && o && (r = 0 === o.indexOf("#s#") ? o.substr(3) : e.__get_value(o, n)) : r = n, Number.isInteger(r) ? n = a : i ? Array.isArray(r) ? n = r.find((function(t) { return e.__get_value(i, t) === a })) : w(r) ? n = Object.keys(r).find((function(t) { return e.__get_value(i, r[t]) === a })) : console.error("v-for 暂不支持循环数据:", r) : n = r[a], c && (n = e.__get_value(c, n)) } })), n }(e, t) })), a } function wt(e) { for (var t = {}, n = 1; n < e.length; n++) { var o = e[n]; t[o[0]] = o[1] } return t } function At(e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [], o = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : [], a = arguments.length > 4 ? arguments[4] : void 0, r = arguments.length > 5 ? arguments[5] : void 0, i = !1, c = w(t.detail) && t.detail.__args__ || [t.detail]; if (a && (i = t.currentTarget && t.currentTarget.dataset && "wx" === t.currentTarget.dataset.comType, !n.length)) return i ? [t] : c; var d = _t(e, o, t, c), s = []; return n.forEach((function(e) { "$event" === e ? "__set_model" !== r || a ? a && !i ? s.push(c[0]) : s.push(t) : s.push(t.target.value) : Array.isArray(e) && "o" === e[0] ? s.push(wt(e)) : "string" === typeof e && A(d, e) ? s.push(d[e]) : s.push(e) })), s } function St(e) { var t = this; e = function(e) { try { e.mp = JSON.parse(JSON.stringify(e)) } catch (t) {} return e.stopPropagation = S, e.preventDefault = S, e.target = e.target || {}, A(e, "detail") || (e.detail = {}), A(e, "markerId") && (e.detail = "object" === (0, l.default)(e.detail) ? e.detail : {}, e.detail.markerId = e.markerId), w(e.detail) && (e.target = Object.assign({}, e.target, e.detail)), e }(e); var n = (e.currentTarget || e.target).dataset; if (!n) return console.warn("事件信息不存在"); var o = n.eventOpts || n["event-opts"]; if (!o) return console.warn("事件信息不存在"); var a = e.type, r = []; return o.forEach((function(n) { var o = n[0], i = n[1], c = "^" === o.charAt(0); o = c ? o.slice(1) : o; var d = "~" === o.charAt(0); o = d ? o.slice(1) : o, i && function(e, t) { return e === t || "regionchange" === t && ("begin" === e || "end" === e) }(a, o) && i.forEach((function(n) { var o = n[0]; if (o) { var a = t.$vm; if (a.$options.generic && (a = function(e) { var t = e.$parent; while (t && t.$parent && (t.$options.generic || t.$parent.$options.generic || t.$scope._$vuePid)) t = t.$parent; return t && t.$parent }(a) || a), "$emit" === o) return void a.$emit.apply(a, At(t.$vm, e, n[1], n[2], c, o)); var i = a[o]; if (!b(i)) { var s = "page" === t.$vm.mpType ? "Page" : "Component", l = t.route || t.is; throw new Error("".concat(s, ' "').concat(l, '" does not have a method "').concat(o, '"')) } if (d) { if (i.once) return; i.once = !0 } var u = At(t.$vm, e, n[1], n[2], c, o); u = Array.isArray(u) ? u : [], /=\s*\S+\.eventParams\s*\|\|\s*\S+\[['"]event-params['"]\]/.test(i.toString()) && (u = u.concat([, , , , , , , , , , e])), r.push(i.apply(a, u)) } })) })), "input" === a && 1 === r.length && "undefined" !== typeof r[0] ? r[0] : void 0 } var Tt = {}, Ct = []; var Pt = ["onShow", "onHide", "onError", "onPageNotFound", "onThemeChange", "onUnhandledRejection"]; function kt() { m.default.prototype.getOpenerEventChannel = function() { return this.$scope.getOpenerEventChannel() }; var e = m.default.prototype.__call_hook; m.default.prototype.__call_hook = function(t, n) { return "onLoad" === t && n && n.__id__ && (this.__eventChannel__ = function(e) { if (e) { var t = Tt[e]; return delete Tt[e], t } return Ct.shift() }(n.__id__), delete n.__id__), e.call(this, t, n) } } function Dt(t, n) { var o = n.mocks, a = n.initRefs; kt(), function() { var e = {}, t = {}; m.default.prototype.$hasScopedSlotsParams = function(n) { var o = e[n]; return o || (t[n] = this, this.$on("hook:destroyed", (function() { delete t[n] }))), o }, m.default.prototype.$getScopedSlotsParams = function(n, o, a) { var r = e[n]; if (r) { var i = r[o] || {}; return a ? i[a] : i } t[n] = this, this.$on("hook:destroyed", (function() { delete t[n] })) }, m.default.prototype.$setScopedSlotsParams = function(n, o) { var a = this.$options.propsData.vueId; if (a) { var r = a.split(",")[0], i = e[r] = e[r] || {}; i[n] = o, t[r] && t[r].$forceUpdate() } }, m.default.mixin({ destroyed: function() { var n = this.$options.propsData, o = n && n.vueId; o && (delete e[o], delete t[o]) } }) }(), t.$options.store && (m.default.prototype.$store = t.$options.store), function(e) { e.prototype.uniIDHasRole = function(e) { var t = v(), n = t.role; return n.indexOf(e) > -1 }, e.prototype.uniIDHasPermission = function(e) { var t = v(), n = t.permission; return this.uniIDHasRole("admin") || n.indexOf(e) > -1 }, e.prototype.uniIDTokenValid = function() { var e = v(), t = e.tokenExpired; return t > Date.now() } }(m.default), m.default.prototype.mpHost = "mp-weixin", m.default.mixin({ beforeCreate: function() { if (this.$options.mpType) { if (this.mpType = this.$options.mpType, this.$mp = (0, c.default)({ data: {} }, this.mpType, this.$options.mpInstance), this.$scope = this.$options.mpInstance, delete this.$options.mpType, delete this.$options.mpInstance, "page" === this.mpType && "function" === typeof getApp) { var e = getApp(); e.$vm && e.$vm.$i18n && (this._i18n = e.$vm.$i18n) } "app" !== this.mpType && (a(this), function(e, t) { var n = e.$mp[e.mpType]; t.forEach((function(t) { A(n, t) && (e[t] = n[t]) })) }(this, o)) } } }); var r = { onLaunch: function(n) { this.$vm || (e.canIUse && !e.canIUse("nextTick") && console.error("当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上"), this.$vm = t, this.$vm.$mp = { app: this }, this.$vm.$scope = this, this.$vm.globalData = this.globalData, this.$vm._isMounted = !0, this.$vm.__call_hook("mounted", n), this.$vm.__call_hook("onLaunch", n)) } }; r.globalData = t.$options.globalData || {}; var i = t.$options.methods; return i && Object.keys(i).forEach((function(e) { r[e] = i[e] })), function(e, t, n) { var o = e.observable({ locale: n || oe.getLocale() }), a = []; t.$watchLocale = function(e) { a.push(e) }, Object.defineProperty(t, "$locale", { get: function() { return o.locale }, set: function(e) { o.locale = e, a.forEach((function(t) { return t(e) })) } }) }(m.default, t, re(e.getSystemInfoSync().language) || "en"), dt(r, Pt), st(r, t.$options), r } function Mt(e) { return Dt(e, { mocks: Xe, initRefs: Ze }) } function Ot(e) { return App(Mt(e)), e } var Lt = /[!'()*]/g, Rt = function(e) { return "%" + e.charCodeAt(0).toString(16) }, Ft = /%2C/g, Et = function(e) { return encodeURIComponent(e).replace(Lt, Rt).replace(Ft, ",") }; function $t(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Et, n = e ? Object.keys(e).map((function(n) { var o = e[n]; if (void 0 === o) return ""; if (null === o) return t(n); if (Array.isArray(o)) { var a = []; return o.forEach((function(e) { void 0 !== e && (null === e ? a.push(t(n)) : a.push(t(n) + "=" + t(e))) })), a.join("&") } return t(n) + "=" + t(o) })).filter((function(e) { return e.length > 0 })).join("&") : null; return n ? "?".concat(n) : "" } function jt(e, t) { return function(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = t.isPage, o = t.initRelation, a = arguments.length > 2 ? arguments[2] : void 0, r = mt(m.default, e), c = (0, i.default)(r, 2), d = c[0], s = c[1], l = f({ multipleSlots: !0, addGlobalClass: !0 }, s.options || {}); s["mp-weixin"] && s["mp-weixin"].options && Object.assign(l, s["mp-weixin"].options); var u = { options: l, data: pt(s, m.default.prototype), behaviors: yt(s, Je), properties: bt(s.props, !1, s.__file, l), lifetimes: { attached: function() { var e = this.properties, t = { mpType: n.call(this) ? "page" : "component", mpInstance: this, propsData: e }; ft(e.vueId, this), o.call(this, { vuePid: this._$vuePid, vueOptions: t }), this.$vm = new d(t), ht(this.$vm, e.vueSlots), this.$vm.$mount() }, ready: function() { this.$vm && (this.$vm._isMounted = !0, this.$vm.__call_hook("mounted"), this.$vm.__call_hook("onReady")) }, detached: function() { this.$vm && this.$vm.$destroy() } }, pageLifetimes: { show: function(e) { this.$vm && this.$vm.__call_hook("onPageShow", e) }, hide: function() { this.$vm && this.$vm.__call_hook("onPageHide") }, resize: function(e) { this.$vm && this.$vm.__call_hook("onPageResize", e) } }, methods: { __l: Qe, __e: St } }; return s.externalClasses && (u.externalClasses = s.externalClasses), Array.isArray(s.wxsCallMethods) && s.wxsCallMethods.forEach((function(e) { u.methods[e] = function(t) { return this.$vm[e](t) } })), a ? [u, s, d] : n ? u : [u, d] }(e, { isPage: Ke, initRelation: Ye }, t) } var It = ["onShow", "onHide", "onUnload"]; function qt(e) { return function(e) { var t = jt(e, !0), n = (0, i.default)(t, 2), o = n[0], a = n[1]; return dt(o.methods, It, a), o.methods.onLoad = function(e) { this.options = e; var t = Object.assign({}, e); delete t.__id__, this.$page = { fullPath: "/" + (this.route || this.is) + $t(t) }, this.$vm.$mp.query = e, this.$vm.__call_hook("onLoad", e) }, st(o.methods, e, ["onReady"]), o }(e) } function zt(e) { return Component(qt(e)) } function Wt(e) { return Component(jt(e)) } function Bt(t) { var n = Mt(t), o = getApp({ allowDefault: !0 }); t.$scope = o; var a = o.globalData; if (a && Object.keys(n.globalData).forEach((function(e) { A(a, e) || (a[e] = n.globalData[e]) })), Object.keys(n).forEach((function(e) { A(o, e) || (o[e] = n[e]) })), b(n.onShow) && e.onAppShow && e.onAppShow((function() { for (var e = arguments.length, n = new Array(e), o = 0; o < e; o++) n[o] = arguments[o]; t.__call_hook("onShow", n) })), b(n.onHide) && e.onAppHide && e.onAppHide((function() { for (var e = arguments.length, n = new Array(e), o = 0; o < e; o++) n[o] = arguments[o]; t.__call_hook("onHide", n) })), b(n.onLaunch)) { var r = e.getLaunchOptionsSync && e.getLaunchOptionsSync(); t.__call_hook("onLaunch", r) } return t } function Nt(t) { var n = Mt(t); if (b(n.onShow) && e.onAppShow && e.onAppShow((function() { for (var e = arguments.length, n = new Array(e), o = 0; o < e; o++) n[o] = arguments[o]; t.__call_hook("onShow", n) })), b(n.onHide) && e.onAppHide && e.onAppHide((function() { for (var e = arguments.length, n = new Array(e), o = 0; o < e; o++) n[o] = arguments[o]; t.__call_hook("onHide", n) })), b(n.onLaunch)) { var o = e.getLaunchOptionsSync && e.getLaunchOptionsSync(); t.__call_hook("onLaunch", o) } return t } It.push.apply(It, ["onPullDownRefresh", "onReachBottom", "onAddToFavorites", "onShareTimeline", "onShareAppMessage", "onPageScroll", "onResize", "onTabItemTap"]), ["vibrate", "preloadPage", "unPreloadPage", "loadSubPackage"].forEach((function(e) { Se[e] = !1 })), [].forEach((function(t) { var n = Se[t] && Se[t].name ? Se[t].name : t; e.canIUse(n) || (Se[t] = !1) })); var Gt = {}; "undefined" !== typeof Proxy ? Gt = new Proxy({}, { get: function(t, n) { return A(t, n) ? t[n] : se[n] ? se[n] : Ue[n] ? Y(n, Ue[n]) : Le[n] ? Y(n, Le[n]) : Me[n] ? Y(n, Me[n]) : Ie[n] ? Ie[n] : Y(n, De(n, e[n])) }, set: function(e, t, n) { return e[t] = n, !0 } }) : (Object.keys(se).forEach((function(e) { Gt[e] = se[e] })), Object.keys(Me).forEach((function(e) { Gt[e] = Y(e, Me[e]) })), Object.keys(Le).forEach((function(e) { Gt[e] = Y(e, Me[e]) })), Object.keys(Ie).forEach((function(e) { Gt[e] = Ie[e] })), Object.keys(Ue).forEach((function(e) { Gt[e] = Y(e, Ue[e]) })), Object.keys(e).forEach((function(t) { (A(e, t) || A(Se, t)) && (Gt[t] = Y(t, De(t, e[t]))) }))), e.createApp = Ot, e.createPage = zt, e.createComponent = Wt, e.createSubpackageApp = Bt, e.createPlugin = Nt; var Ht = Gt, Vt = Ht; t.default = Vt }).call(this, n("bc2e")["default"], n("c8ba")) }, "5a43": function(e, t) { e.exports = function(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, o = new Array(t); n < t; n++) o[n] = e[n]; return o }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, "5bc3": function(e, t, n) { var o = n("a395"); function a(e, t) { for (var n = 0; n < t.length; n++) { var a = t[n]; a.enumerable = a.enumerable || !1, a.configurable = !0, "value" in a && (a.writable = !0), Object.defineProperty(e, o(a.key), a) } } e.exports = function(e, t, n) { return t && a(e.prototype, t), n && a(e, n), Object.defineProperty(e, "prototype", { writable: !1 }), e }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 6613: function(e, t, n) { var o = n("5a43"); e.exports = function(e, t) { if (e) { if ("string" === typeof e) return o(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? o(e, t) : void 0 } }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, "66fd": function(e, t, n) { "use strict"; n.r(t), function(e) { /*! * Vue.js v2.6.11 * (c) 2014-2022 Evan You * Released under the MIT License. */ var n = Object.freeze({}); function o(e) { return void 0 === e || null === e } function a(e) { return void 0 !== e && null !== e } function r(e) { return !0 === e } function i(e) { return "string" === typeof e || "number" === typeof e || "symbol" === typeof e || "boolean" === typeof e } function c(e) { return null !== e && "object" === typeof e } var d = Object.prototype.toString; function s(e) { return "[object Object]" === d.call(e) } function l(e) { var t = parseFloat(String(e)); return t >= 0 && Math.floor(t) === t && isFinite(e) } function u(e) { return a(e) && "function" === typeof e.then && "function" === typeof e.catch } function m(e) { return null == e ? "" : Array.isArray(e) || s(e) && e.toString === d ? JSON.stringify(e, null, 2) : String(e) } function h(e) { var t = parseFloat(e); return isNaN(t) ? e : t } function f(e, t) { for (var n = Object.create(null), o = e.split(","), a = 0; a < o.length; a++) n[o[a]] = !0; return t ? function(e) { return n[e.toLowerCase()] } : function(e) { return n[e] } } f("slot,component", !0); var p = f("key,ref,slot,slot-scope,is"); function g(e, t) { if (e.length) { var n = e.indexOf(t); if (n > -1) return e.splice(n, 1) } } var v = Object.prototype.hasOwnProperty; function y(e, t) { return v.call(e, t) } function x(e) { var t = Object.create(null); return function(n) { var o = t[n]; return o || (t[n] = e(n)) } } var b = /-(\w)/g, _ = x((function(e) { return e.replace(b, (function(e, t) { return t ? t.toUpperCase() : "" })) })), w = x((function(e) { return e.charAt(0).toUpperCase() + e.slice(1) })), A = /\B([A-Z])/g, S = x((function(e) { return e.replace(A, "-$1").toLowerCase() })); var T = Function.prototype.bind ? function(e, t) { return e.bind(t) } : function(e, t) { function n(n) { var o = arguments.length; return o ? o > 1 ? e.apply(t, arguments) : e.call(t, n) : e.call(t) } return n._length = e.length, n }; function C(e, t) { t = t || 0; var n = e.length - t, o = new Array(n); while (n--) o[n] = e[n + t]; return o } function P(e, t) { for (var n in t) e[n] = t[n]; return e } function k(e) { for (var t = {}, n = 0; n < e.length; n++) e[n] && P(t, e[n]); return t } function D(e, t, n) {} var M = function(e, t, n) { return !1 }, O = function(e) { return e }; function L(e, t) { if (e === t) return !0; var n = c(e), o = c(t); if (!n || !o) return !n && !o && String(e) === String(t); try { var a = Array.isArray(e), r = Array.isArray(t); if (a && r) return e.length === t.length && e.every((function(e, n) { return L(e, t[n]) })); if (e instanceof Date && t instanceof Date) return e.getTime() === t.getTime(); if (a || r) return !1; var i = Object.keys(e), d = Object.keys(t); return i.length === d.length && i.every((function(n) { return L(e[n], t[n]) })) } catch (s) { return !1 } } function R(e, t) { for (var n = 0; n < e.length; n++) if (L(e[n], t)) return n; return -1 } function F(e) { var t = !1; return function() { t || (t = !0, e.apply(this, arguments)) } } var E = ["component", "directive", "filter"], $ = ["beforeCreate", "created", "beforeMount", "mounted", "beforeUpdate", "updated", "beforeDestroy", "destroyed", "activated", "deactivated", "errorCaptured", "serverPrefetch"], j = { optionMergeStrategies: Object.create(null), silent: !1, productionTip: !1, devtools: !1, performance: !1, errorHandler: null, warnHandler: null, ignoredElements: [], keyCodes: Object.create(null), isReservedTag: M, isReservedAttr: M, isUnknownElement: M, getTagNamespace: D, parsePlatformTagName: O, mustUseProp: M, async: !0, _lifecycleHooks: $ }, I = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; function q(e) { var t = (e + "").charCodeAt(0); return 36 === t || 95 === t } function z(e, t, n, o) { Object.defineProperty(e, t, { value: n, enumerable: !!o, writable: !0, configurable: !0 }) } var W = new RegExp("[^" + I.source + ".$_\\d]"); var B, N = "__proto__" in {}, G = "undefined" !== typeof window, H = "undefined" !== typeof WXEnvironment && !!WXEnvironment.platform, V = H && WXEnvironment.platform.toLowerCase(), U = G && window.navigator.userAgent.toLowerCase(), X = U && /msie|trident/.test(U), J = (U && U.indexOf("msie 9.0"), U && U.indexOf("edge/") > 0), K = (U && U.indexOf("android"), U && /iphone|ipad|ipod|ios/.test(U) || "ios" === V), Y = (U && /chrome\/\d+/.test(U), U && /phantomjs/.test(U), U && U.match(/firefox\/(\d+)/), {}.watch); if (G) try { var Z = {}; Object.defineProperty(Z, "passive", { get: function() {} }), window.addEventListener("test-passive", null, Z) } catch (jn) {} var Q = function() { return void 0 === B && (B = !G && !H && "undefined" !== typeof e && (e["process"] && "server" === e["process"].env.VUE_ENV)), B }, ee = G && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; function te(e) { return "function" === typeof e && /native code/.test(e.toString()) } var ne, oe = "undefined" !== typeof Symbol && te(Symbol) && "undefined" !== typeof Reflect && te(Reflect.ownKeys); ne = "undefined" !== typeof Set && te(Set) ? Set : function() { function e() { this.set = Object.create(null) } return e.prototype.has = function(e) { return !0 === this.set[e] }, e.prototype.add = function(e) { this.set[e] = !0 }, e.prototype.clear = function() { this.set = Object.create(null) }, e }(); var ae = D, re = 0, ie = function() { this.id = re++, this.subs = [] }; function ce(e) { ie.SharedObject.targetStack.push(e), ie.SharedObject.target = e, ie.target = e } function de() { ie.SharedObject.targetStack.pop(), ie.SharedObject.target = ie.SharedObject.targetStack[ie.SharedObject.targetStack.length - 1], ie.target = ie.SharedObject.target } ie.prototype.addSub = function(e) { this.subs.push(e) }, ie.prototype.removeSub = function(e) { g(this.subs, e) }, ie.prototype.depend = function() { ie.SharedObject.target && ie.SharedObject.target.addDep(this) }, ie.prototype.notify = function() { var e = this.subs.slice(); for (var t = 0, n = e.length; t < n; t++) e[t].update() }, ie.SharedObject = {}, ie.SharedObject.target = null, ie.SharedObject.targetStack = []; var se = function(e, t, n, o, a, r, i, c) { this.tag = e, this.data = t, this.children = n, this.text = o, this.elm = a, this.ns = void 0, this.context = r, this.fnContext = void 0, this.fnOptions = void 0, this.fnScopeId = void 0, this.key = t && t.key, this.componentOptions = i, this.componentInstance = void 0, this.parent = void 0, this.raw = !1, this.isStatic = !1, this.isRootInsert = !0, this.isComment = !1, this.isCloned = !1, this.isOnce = !1, this.asyncFactory = c, this.asyncMeta = void 0, this.isAsyncPlaceholder = !1 }, le = { child: { configurable: !0 } }; le.child.get = function() { return this.componentInstance }, Object.defineProperties(se.prototype, le); var ue = function(e) { void 0 === e && (e = ""); var t = new se; return t.text = e, t.isComment = !0, t }; function me(e) { return new se(void 0, void 0, void 0, String(e)) } var he = Array.prototype, fe = Object.create(he); ["push", "pop", "shift", "unshift", "splice", "sort", "reverse"].forEach((function(e) { var t = he[e]; z(fe, e, (function() { var n = [], o = arguments.length; while (o--) n[o] = arguments[o]; var a, r = t.apply(this, n), i = this.__ob__; switch (e) { case "push": case "unshift": a = n; break; case "splice": a = n.slice(2); break } return a && i.observeArray(a), i.dep.notify(), r })) })); var pe = Object.getOwnPropertyNames(fe), ge = !0; function ve(e) { ge = e } var ye = function(e) { this.value = e, this.dep = new ie, this.vmCount = 0, z(e, "__ob__", this), Array.isArray(e) ? (N ? e.push !== e.__proto__.push ? xe(e, fe, pe) : function(e, t) { e.__proto__ = t }(e, fe) : xe(e, fe, pe), this.observeArray(e)) : this.walk(e) }; function xe(e, t, n) { for (var o = 0, a = n.length; o < a; o++) { var r = n[o]; z(e, r, t[r]) } } function be(e, t) { var n; if (c(e) && !(e instanceof se)) return y(e, "__ob__") && e.__ob__ instanceof ye ? n = e.__ob__ : !ge || Q() || !Array.isArray(e) && !s(e) || !Object.isExtensible(e) || e._isVue || e.__v_isMPComponent || (n = new ye(e)), t && n && n.vmCount++, n } function _e(e, t, n, o, a) { var r = new ie, i = Object.getOwnPropertyDescriptor(e, t); if (!i || !1 !== i.configurable) { var c = i && i.get, d = i && i.set; c && !d || 2 !== arguments.length || (n = e[t]); var s = !a && be(n); Object.defineProperty(e, t, { enumerable: !0, configurable: !0, get: function() { var t = c ? c.call(e) : n; return ie.SharedObject.target && (r.depend(), s && (s.dep.depend(), Array.isArray(t) && Se(t))), t }, set: function(t) { var o = c ? c.call(e) : n; t === o || t !== t && o !== o || c && !d || (d ? d.call(e, t) : n = t, s = !a && be(t), r.notify()) } }) } } function we(e, t, n) { if (Array.isArray(e) && l(t)) return e.length = Math.max(e.length, t), e.splice(t, 1, n), n; if (t in e && !(t in Object.prototype)) return e[t] = n, n; var o = e.__ob__; return e._isVue || o && o.vmCount ? n : o ? (_e(o.value, t, n), o.dep.notify(), n) : (e[t] = n, n) } function Ae(e, t) { if (Array.isArray(e) && l(t)) e.splice(t, 1); else { var n = e.__ob__; e._isVue || n && n.vmCount || y(e, t) && (delete e[t], n && n.dep.notify()) } } function Se(e) { for (var t = void 0, n = 0, o = e.length; n < o; n++) t = e[n], t && t.__ob__ && t.__ob__.dep.depend(), Array.isArray(t) && Se(t) } ye.prototype.walk = function(e) { for (var t = Object.keys(e), n = 0; n < t.length; n++) _e(e, t[n]) }, ye.prototype.observeArray = function(e) { for (var t = 0, n = e.length; t < n; t++) be(e[t]) }; var Te = j.optionMergeStrategies; function Ce(e, t) { if (!t) return e; for (var n, o, a, r = oe ? Reflect.ownKeys(t) : Object.keys(t), i = 0; i < r.length; i++) n = r[i], "__ob__" !== n && (o = e[n], a = t[n], y(e, n) ? o !== a && s(o) && s(a) && Ce(o, a) : we(e, n, a)); return e } function Pe(e, t, n) { return n ? function() { var o = "function" === typeof t ? t.call(n, n) : t, a = "function" === typeof e ? e.call(n, n) : e; return o ? Ce(o, a) : a } : t ? e ? function() { return Ce("function" === typeof t ? t.call(this, this) : t, "function" === typeof e ? e.call(this, this) : e) } : t : e } function ke(e, t) { var n = t ? e ? e.concat(t) : Array.isArray(t) ? t : [t] : e; return n ? function(e) { for (var t = [], n = 0; n < e.length; n++) - 1 === t.indexOf(e[n]) && t.push(e[n]); return t }(n) : n } function De(e, t, n, o) { var a = Object.create(e || null); return t ? P(a, t) : a } Te.data = function(e, t, n) { return n ? Pe(e, t, n) : t && "function" !== typeof t ? e : Pe(e, t) }, $.forEach((function(e) { Te[e] = ke })), E.forEach((function(e) { Te[e + "s"] = De })), Te.watch = function(e, t, n, o) { if (e === Y && (e = void 0), t === Y && (t = void 0), !t) return Object.create(e || null); if (!e) return t; var a = {}; for (var r in P(a, e), t) { var i = a[r], c = t[r]; i && !Array.isArray(i) && (i = [i]), a[r] = i ? i.concat(c) : Array.isArray(c) ? c : [c] } return a }, Te.props = Te.methods = Te.inject = Te.computed = function(e, t, n, o) { if (!e) return t; var a = Object.create(null); return P(a, e), t && P(a, t), a }, Te.provide = Pe; var Me = function(e, t) { return void 0 === t ? e : t }; function Oe(e, t, n) { if ("function" === typeof t && (t = t.options), function(e, t) { var n = e.props; if (n) { var o, a, r, i = {}; if (Array.isArray(n)) { o = n.length; while (o--) a = n[o], "string" === typeof a && (r = _(a), i[r] = { type: null }) } else if (s(n)) for (var c in n) a = n[c], r = _(c), i[r] = s(a) ? a : { type: a }; else 0; e.props = i } }(t), function(e, t) { var n = e.inject; if (n) { var o = e.inject = {}; if (Array.isArray(n)) for (var a = 0; a < n.length; a++) o[n[a]] = { from: n[a] }; else if (s(n)) for (var r in n) { var i = n[r]; o[r] = s(i) ? P({ from: r }, i) : { from: i } } else 0 } }(t), function(e) { var t = e.directives; if (t) for (var n in t) { var o = t[n]; "function" === typeof o && (t[n] = { bind: o, update: o }) } }(t), !t._base && (t.extends && (e = Oe(e, t.extends, n)), t.mixins)) for (var o = 0, a = t.mixins.length; o < a; o++) e = Oe(e, t.mixins[o], n); var r, i = {}; for (r in e) c(r); for (r in t) y(e, r) || c(r); function c(o) { var a = Te[o] || Me; i[o] = a(e[o], t[o], n, o) } return i } function Le(e, t, n, o) { if ("string" === typeof n) { var a = e[t]; if (y(a, n)) return a[n]; var r = _(n); if (y(a, r)) return a[r]; var i = w(r); if (y(a, i)) return a[i]; var c = a[n] || a[r] || a[i]; return c } } function Re(e, t, n, o) { var a = t[e], r = !y(n, e), i = n[e], c = $e(Boolean, a.type); if (c > -1) if (r && !y(a, "default")) i = !1; else if ("" === i || i === S(e)) { var d = $e(String, a.type); (d < 0 || c < d) && (i = !0) } if (void 0 === i) { i = function(e, t, n) { if (!y(t, "default")) return; var o = t.default; 0; if (e && e.$options.propsData && void 0 === e.$options.propsData[n] && void 0 !== e._props[n]) return e._props[n]; return "function" === typeof o && "Function" !== Fe(t.type) ? o.call(e) : o }(o, a, e); var s = ge; ve(!0), be(i), ve(s) } return i } function Fe(e) { var t = e && e.toString().match(/^\s*function (\w+)/); return t ? t[1] : "" } function Ee(e, t) { return Fe(e) === Fe(t) } function $e(e, t) { if (!Array.isArray(t)) return Ee(t, e) ? 0 : -1; for (var n = 0, o = t.length; n < o; n++) if (Ee(t[n], e)) return n; return -1 } function je(e, t, n) { ce(); try { if (t) { var o = t; while (o = o.$parent) { var a = o.$options.errorCaptured; if (a) for (var r = 0; r < a.length; r++) try { var i = !1 === a[r].call(o, e, t, n); if (i) return } catch (jn) { qe(jn, o, "errorCaptured hook") } } } qe(e, t, n) } finally { de() } } function Ie(e, t, n, o, a) { var r; try { r = n ? e.apply(t, n) : e.call(t), r && !r._isVue && u(r) && !r._handled && (r.catch((function(e) { return je(e, o, a + " (Promise/async)") })), r._handled = !0) } catch (jn) { je(jn, o, a) } return r } function qe(e, t, n) { if (j.errorHandler) try { return j.errorHandler.call(null, e, t, n) } catch (jn) { jn !== e && ze(jn, null, "config.errorHandler") } ze(e, t, n) } function ze(e, t, n) { if (!G && !H || "undefined" === typeof console) throw e; console.error(e) } var We, Be = [], Ne = !1; function Ge() { Ne = !1; var e = Be.slice(0); Be.length = 0; for (var t = 0; t < e.length; t++) e[t]() } if ("undefined" !== typeof Promise && te(Promise)) { var He = Promise.resolve(); We = function() { He.then(Ge), K && setTimeout(D) } } else if (X || "undefined" === typeof MutationObserver || !te(MutationObserver) && "[object MutationObserverConstructor]" !== MutationObserver.toString()) We = "undefined" !== typeof setImmediate && te(setImmediate) ? function() { setImmediate(Ge) } : function() { setTimeout(Ge, 0) }; else { var Ve = 1, Ue = new MutationObserver(Ge), Xe = document.createTextNode(String(Ve)); Ue.observe(Xe, { characterData: !0 }), We = function() { Ve = (Ve + 1) % 2, Xe.data = String(Ve) } } function Je(e, t) { var n; if (Be.push((function() { if (e) try { e.call(t) } catch (jn) { je(jn, t, "nextTick") } else n && n(t) })), Ne || (Ne = !0, We()), !e && "undefined" !== typeof Promise) return new Promise((function(e) { n = e })) } var Ke = new ne; function Ye(e) { (function e(t, n) { var o, a, r = Array.isArray(t); if (!r && !c(t) || Object.isFrozen(t) || t instanceof se) return; if (t.__ob__) { var i = t.__ob__.dep.id; if (n.has(i)) return; n.add(i) } if (r) { o = t.length; while (o--) e(t[o], n) } else { a = Object.keys(t), o = a.length; while (o--) e(t[a[o]], n) } })(e, Ke), Ke.clear() } var Ze = x((function(e) { var t = "&" === e.charAt(0); e = t ? e.slice(1) : e; var n = "~" === e.charAt(0); e = n ? e.slice(1) : e; var o = "!" === e.charAt(0); return e = o ? e.slice(1) : e, { name: e, once: n, capture: o, passive: t } })); function Qe(e, t) { function n() { var e = arguments, o = n.fns; if (!Array.isArray(o)) return Ie(o, null, arguments, t, "v-on handler"); for (var a = o.slice(), r = 0; r < a.length; r++) Ie(a[r], null, e, t, "v-on handler") } return n.fns = e, n } function et(e, t, n, r) { var i = t.options.mpOptions && t.options.mpOptions.properties; if (o(i)) return n; var c = t.options.mpOptions.externalClasses || [], d = e.attrs, s = e.props; if (a(d) || a(s)) for (var l in i) { var u = S(l), m = tt(n, s, l, u, !0) || tt(n, d, l, u, !1); m && n[l] && -1 !== c.indexOf(u) && r[_(n[l])] && (n[l] = r[_(n[l])]) } return n } function tt(e, t, n, o, r) { if (a(t)) { if (y(t, n)) return e[n] = t[n], r || delete t[n], !0; if (y(t, o)) return e[n] = t[o], r || delete t[o], !0 } return !1 } function nt(e) { return i(e) ? [me(e)] : Array.isArray(e) ? function e(t, n) { var c, d, s, l, u = []; for (c = 0; c < t.length; c++) d = t[c], o(d) || "boolean" === typeof d || (s = u.length - 1, l = u[s], Array.isArray(d) ? d.length > 0 && (d = e(d, (n || "") + "_" + c), ot(d[0]) && ot(l) && (u[s] = me(l.text + d[0].text), d.shift()), u.push.apply(u, d)) : i(d) ? ot(l) ? u[s] = me(l.text + d) : "" !== d && u.push(me(d)) : ot(d) && ot(l) ? u[s] = me(l.text + d.text) : (r(t._isVList) && a(d.tag) && o(d.key) && a(n) && (d.key = "__vlist" + n + "_" + c + "__"), u.push(d))); return u }(e) : void 0 } function ot(e) { return a(e) && a(e.text) && function(e) { return !1 === e }(e.isComment) } function at(e) { var t = e.$options.provide; t && (e._provided = "function" === typeof t ? t.call(e) : t) } function rt(e) { var t = it(e.$options.inject, e); t && (ve(!1), Object.keys(t).forEach((function(n) { _e(e, n, t[n]) })), ve(!0)) } function it(e, t) { if (e) { for (var n = Object.create(null), o = oe ? Reflect.ownKeys(e) : Object.keys(e), a = 0; a < o.length; a++) { var r = o[a]; if ("__ob__" !== r) { var i = e[r].from, c = t; while (c) { if (c._provided && y(c._provided, i)) { n[r] = c._provided[i]; break } c = c.$parent } if (!c) if ("default" in e[r]) { var d = e[r].default; n[r] = "function" === typeof d ? d.call(t) : d } else 0 } } return n } } function ct(e, t) { if (!e || !e.length) return {}; for (var n = {}, o = 0, a = e.length; o < a; o++) { var r = e[o], i = r.data; if (i && i.attrs && i.attrs.slot && delete i.attrs.slot, r.context !== t && r.fnContext !== t || !i || null == i.slot) r.asyncMeta && r.asyncMeta.data && "page" === r.asyncMeta.data.slot ? (n["page"] || (n["page"] = [])).push(r) : (n.default || (n.default = [])).push(r); else { var c = i.slot, d = n[c] || (n[c] = []); "template" === r.tag ? d.push.apply(d, r.children || []) : d.push(r) } } for (var s in n) n[s].every(dt) && delete n[s]; return n } function dt(e) { return e.isComment && !e.asyncFactory || " " === e.text } function st(e, t, o) { var a, r = Object.keys(t).length > 0, i = e ? !!e.$stable : !r, c = e && e.$key; if (e) { if (e._normalized) return e._normalized; if (i && o && o !== n && c === o.$key && !r && !o.$hasNormal) return o; for (var d in a = {}, e) e[d] && "$" !== d[0] && (a[d] = lt(t, d, e[d])) } else a = {}; for (var s in t) s in a || (a[s] = ut(t, s)); return e && Object.isExtensible(e) && (e._normalized = a), z(a, "$stable", i), z(a, "$key", c), z(a, "$hasNormal", r), a } function lt(e, t, n) { var o = function() { var e = arguments.length ? n.apply(null, arguments) : n({}); return e = e && "object" === typeof e && !Array.isArray(e) ? [e] : nt(e), e && (0 === e.length || 1 === e.length && e[0].isComment) ? void 0 : e }; return n.proxy && Object.defineProperty(e, t, { get: o, enumerable: !0, configurable: !0 }), o } function ut(e, t) { return function() { return e[t] } } function mt(e, t) { var n, o, r, i, d; if (Array.isArray(e) || "string" === typeof e) for (n = new Array(e.length), o = 0, r = e.length; o < r; o++) n[o] = t(e[o], o, o, o); else if ("number" === typeof e) for (n = new Array(e), o = 0; o < e; o++) n[o] = t(o + 1, o, o, o); else if (c(e)) if (oe && e[Symbol.iterator]) { n = []; var s = e[Symbol.iterator](), l = s.next(); while (!l.done) n.push(t(l.value, n.length, o, o++)), l = s.next() } else for (i = Object.keys(e), n = new Array(i.length), o = 0, r = i.length; o < r; o++) d = i[o], n[o] = t(e[d], d, o, o); return a(n) || (n = []), n._isVList = !0, n } function ht(e, t, n, o) { var a, r = this.$scopedSlots[e]; r ? (n = n || {}, o && (n = P(P({}, o), n)), a = r(n, this, n._i) || t) : a = this.$slots[e] || t; var i = n && n.slot; return i ? this.$createElement("template", { slot: i }, a) : a } function ft(e) { return Le(this.$options, "filters", e) || O } function pt(e, t) { return Array.isArray(e) ? -1 === e.indexOf(t) : e !== t } function gt(e, t, n, o, a) { var r = j.keyCodes[t] || n; return a && o && !j.keyCodes[t] ? pt(a, o) : r ? pt(r, e) : o ? S(o) !== t : void 0 } function vt(e, t, n, o, a) { if (n) if (c(n)) { var r; Array.isArray(n) && (n = k(n)); var i = function(i) { if ("class" === i || "style" === i || p(i)) r = e; else { var c = e.attrs && e.attrs.type; r = o || j.mustUseProp(t, c, i) ? e.domProps || (e.domProps = {}) : e.attrs || (e.attrs = {}) } var d = _(i), s = S(i); if (!(d in r) && !(s in r) && (r[i] = n[i], a)) { var l = e.on || (e.on = {}); l["update:" + i] = function(e) { n[i] = e } } }; for (var d in n) i(d) } else; return e } function yt(e, t) { var n = this._staticTrees || (this._staticTrees = []), o = n[e]; return o && !t || (o = n[e] = this.$options.staticRenderFns[e].call(this._renderProxy, null, this), bt(o, "__static__" + e, !1)), o } function xt(e, t, n) { return bt(e, "__once__" + t + (n ? "_" + n : ""), !0), e } function bt(e, t, n) { if (Array.isArray(e)) for (var o = 0; o < e.length; o++) e[o] && "string" !== typeof e[o] && _t(e[o], t + "_" + o, n); else _t(e, t, n) } function _t(e, t, n) { e.isStatic = !0, e.key = t, e.isOnce = n } function wt(e, t) { if (t) if (s(t)) { var n = e.on = e.on ? P({}, e.on) : {}; for (var o in t) { var a = n[o], r = t[o]; n[o] = a ? [].concat(a, r) : r } } else; return e } function At(e, t, n, o) { t = t || { $stable: !n }; for (var a = 0; a < e.length; a++) { var r = e[a]; Array.isArray(r) ? At(r, t, n) : r && (r.proxy && (r.fn.proxy = !0), t[r.key] = r.fn) } return o && (t.$key = o), t } function St(e, t) { for (var n = 0; n < t.length; n += 2) { var o = t[n]; "string" === typeof o && o && (e[t[n]] = t[n + 1]) } return e } function Tt(e, t) { return "string" === typeof e ? t + e : e } function Ct(e) { e._o = xt, e._n = h, e._s = m, e._l = mt, e._t = ht, e._q = L, e._i = R, e._m = yt, e._f = ft, e._k = gt, e._b = vt, e._v = me, e._e = ue, e._u = At, e._g = wt, e._d = St, e._p = Tt } function Pt(e, t, o, a, i) { var c, d = this, s = i.options; y(a, "_uid") ? (c = Object.create(a), c._original = a) : (c = a, a = a._original); var l = r(s._compiled), u = !l; this.data = e, this.props = t, this.children = o, this.parent = a, this.listeners = e.on || n, this.injections = it(s.inject, a), this.slots = function() { return d.$slots || st(e.scopedSlots, d.$slots = ct(o, a)), d.$slots }, Object.defineProperty(this, "scopedSlots", { enumerable: !0, get: function() { return st(e.scopedSlots, this.slots()) } }), l && (this.$options = s, this.$slots = this.slots(), this.$scopedSlots = st(e.scopedSlots, this.$slots)), s._scopeId ? this._c = function(e, t, n, o) { var r = Ft(c, e, t, n, o, u); return r && !Array.isArray(r) && (r.fnScopeId = s._scopeId, r.fnContext = a), r } : this._c = function(e, t, n, o) { return Ft(c, e, t, n, o, u) } } function kt(e, t, n, o, a) { var r = function(e) { var t = new se(e.tag, e.data, e.children && e.children.slice(), e.text, e.elm, e.context, e.componentOptions, e.asyncFactory); return t.ns = e.ns, t.isStatic = e.isStatic, t.key = e.key, t.isComment = e.isComment, t.fnContext = e.fnContext, t.fnOptions = e.fnOptions, t.fnScopeId = e.fnScopeId, t.asyncMeta = e.asyncMeta, t.isCloned = !0, t }(e); return r.fnContext = n, r.fnOptions = o, t.slot && ((r.data || (r.data = {})).slot = t.slot), r } function Dt(e, t) { for (var n in t) e[_(n)] = t[n] } Ct(Pt.prototype); var Mt = { init: function(e, t) { if (e.componentInstance && !e.componentInstance._isDestroyed && e.data.keepAlive) { var n = e; Mt.prepatch(n, n) } else { var o = e.componentInstance = function(e, t) { var n = { _isComponent: !0, _parentVnode: e, parent: t }, o = e.data.inlineTemplate; a(o) && (n.render = o.render, n.staticRenderFns = o.staticRenderFns); return new e.componentOptions.Ctor(n) }(e, Nt); o.$mount(t ? e.elm : void 0, t) } }, prepatch: function(e, t) { var o = t.componentOptions, a = t.componentInstance = e.componentInstance; (function(e, t, o, a, r) { 0; var i = a.data.scopedSlots, c = e.$scopedSlots, d = !!(i && !i.$stable || c !== n && !c.$stable || i && e.$scopedSlots.$key !== i.$key), s = !!(r || e.$options._renderChildren || d); e.$options._parentVnode = a, e.$vnode = a, e._vnode && (e._vnode.parent = a); if (e.$options._renderChildren = r, e.$attrs = a.data.attrs || n, e.$listeners = o || n, t && e.$options.props) { ve(!1); for (var l = e._props, u = e.$options._propKeys || [], m = 0; m < u.length; m++) { var h = u[m], f = e.$options.props; l[h] = Re(h, f, t, e) } ve(!0), e.$options.propsData = t } e._$updateProperties && e._$updateProperties(e), o = o || n; var p = e.$options._parentListeners; e.$options._parentListeners = o, Bt(e, o, p), s && (e.$slots = ct(r, a.context), e.$forceUpdate()); 0 })(a, o.propsData, o.listeners, t, o.children) }, insert: function(e) { var t = e.context, n = e.componentInstance; n._isMounted || (Vt(n, "onServiceCreated"), Vt(n, "onServiceAttached"), n._isMounted = !0, Vt(n, "mounted")), e.data.keepAlive && (t._isMounted ? function(e) { e._inactive = !1, Xt.push(e) }(n) : Ht(n, !0)) }, destroy: function(e) { var t = e.componentInstance; t._isDestroyed || (e.data.keepAlive ? function e(t, n) { if (n && (t._directInactive = !0, Gt(t))) return; if (!t._inactive) { t._inactive = !0; for (var o = 0; o < t.$children.length; o++) e(t.$children[o]); Vt(t, "deactivated") } }(t, !0) : t.$destroy()) } }, Ot = Object.keys(Mt); function Lt(e, t, i, d, s) { if (!o(e)) { var l = i.$options._base; if (c(e) && (e = l.extend(e)), "function" === typeof e) { var m; if (o(e.cid) && (m = e, e = function(e, t) { if (r(e.error) && a(e.errorComp)) return e.errorComp; if (a(e.resolved)) return e.resolved; var n = $t; n && a(e.owners) && -1 === e.owners.indexOf(n) && e.owners.push(n); if (r(e.loading) && a(e.loadingComp)) return e.loadingComp; if (n && !a(e.owners)) { var i = e.owners = [n], d = !0, s = null, l = null; n.$on("hook:destroyed", (function() { return g(i, n) })); var m = function(e) { for (var t = 0, n = i.length; t < n; t++) i[t].$forceUpdate(); e && (i.length = 0, null !== s && (clearTimeout(s), s = null), null !== l && (clearTimeout(l), l = null)) }, h = F((function(n) { e.resolved = jt(n, t), d ? i.length = 0 : m(!0) })), f = F((function(t) { a(e.errorComp) && (e.error = !0, m(!0)) })), p = e(h, f); return c(p) && (u(p) ? o(e.resolved) && p.then(h, f) : u(p.component) && (p.component.then(h, f), a(p.error) && (e.errorComp = jt(p.error, t)), a(p.loading) && (e.loadingComp = jt(p.loading, t), 0 === p.delay ? e.loading = !0 : s = setTimeout((function() { s = null, o(e.resolved) && o(e.error) && (e.loading = !0, m(!1)) }), p.delay || 200)), a(p.timeout) && (l = setTimeout((function() { l = null, o(e.resolved) && f(null) }), p.timeout)))), d = !1, e.loading ? e.loadingComp : e.resolved } }(m, l), void 0 === e)) return function(e, t, n, o, a) { var r = ue(); return r.asyncFactory = e, r.asyncMeta = { data: t, context: n, children: o, tag: a }, r }(m, t, i, d, s); t = t || {}, fn(e), a(t.model) && function(e, t) { var n = e.model && e.model.prop || "value", o = e.model && e.model.event || "input"; (t.attrs || (t.attrs = {}))[n] = t.model.value; var r = t.on || (t.on = {}), i = r[o], c = t.model.callback; a(i) ? (Array.isArray(i) ? -1 === i.indexOf(c) : i !== c) && (r[o] = [c].concat(i)) : r[o] = c }(e.options, t); var h = function(e, t, n, r) { var i = t.options.props; if (o(i)) return et(e, t, {}, r); var c = {}, d = e.attrs, s = e.props; if (a(d) || a(s)) for (var l in i) { var u = S(l); tt(c, s, l, u, !0) || tt(c, d, l, u, !1) } return et(e, t, c, r) }(t, e, 0, i); if (r(e.options.functional)) return function(e, t, o, r, i) { var c = e.options, d = {}, s = c.props; if (a(s)) for (var l in s) d[l] = Re(l, s, t || n); else a(o.attrs) && Dt(d, o.attrs), a(o.props) && Dt(d, o.props); var u = new Pt(o, d, i, r, e), m = c.render.call(null, u._c, u); if (m instanceof se) return kt(m, o, u.parent, c, u); if (Array.isArray(m)) { for (var h = nt(m) || [], f = new Array(h.length), p = 0; p < h.length; p++) f[p] = kt(h[p], o, u.parent, c, u); return f } }(e, h, t, i, d); var f = t.on; if (t.on = t.nativeOn, r(e.options.abstract)) { var p = t.slot; t = {}, p && (t.slot = p) }(function(e) { for (var t = e.hook || (e.hook = {}), n = 0; n < Ot.length; n++) { var o = Ot[n], a = t[o], r = Mt[o]; a === r || a && a._merged || (t[o] = a ? Rt(r, a) : r) } })(t); var v = e.options.name || s, y = new se("vue-component-" + e.cid + (v ? "-" + v : ""), t, void 0, void 0, void 0, i, { Ctor: e, propsData: h, listeners: f, tag: s, children: d }, m); return y } } } function Rt(e, t) { var n = function(n, o) { e(n, o), t(n, o) }; return n._merged = !0, n } function Ft(e, t, n, d, s, l) { return (Array.isArray(n) || i(n)) && (s = d, d = n, n = void 0), r(l) && (s = 2), function(e, t, n, i, d) { if (a(n) && a(n.__ob__)) return ue(); a(n) && a(n.is) && (t = n.is); if (!t) return ue(); 0; Array.isArray(i) && "function" === typeof i[0] && (n = n || {}, n.scopedSlots = { default: i[0] }, i.length = 0); 2 === d ? i = nt(i) : 1 === d && (i = function(e) { for (var t = 0; t < e.length; t++) if (Array.isArray(e[t])) return Array.prototype.concat.apply([], e); return e }(i)); var s, l; if ("string" === typeof t) { var u; l = e.$vnode && e.$vnode.ns || j.getTagNamespace(t), s = j.isReservedTag(t) ? new se(j.parsePlatformTagName(t), n, i, void 0, void 0, e) : n && n.pre || !a(u = Le(e.$options, "components", t)) ? new se(t, n, i, void 0, void 0, e) : Lt(u, n, e, i, t) } else s = Lt(t, n, e, i); return Array.isArray(s) ? s : a(s) ? (a(l) && function e(t, n, i) { t.ns = n, "foreignObject" === t.tag && (n = void 0, i = !0); if (a(t.children)) for (var c = 0, d = t.children.length; c < d; c++) { var s = t.children[c]; a(s.tag) && (o(s.ns) || r(i) && "svg" !== s.tag) && e(s, n, i) } }(s, l), a(n) && function(e) { c(e.style) && Ye(e.style); c(e.class) && Ye(e.class) }(n), s) : ue() }(e, t, n, d, s) } var Et, $t = null; function jt(e, t) { return (e.__esModule || oe && "Module" === e[Symbol.toStringTag]) && (e = e.default), c(e) ? t.extend(e) : e } function It(e) { return e.isComment && e.asyncFactory } function qt(e, t) { Et.$on(e, t) } function zt(e, t) { Et.$off(e, t) } function Wt(e, t) { var n = Et; return function o() { var a = t.apply(null, arguments); null !== a && n.$off(e, o) } } function Bt(e, t, n) { Et = e, function(e, t, n, a, i, c) { var d, s, l, u; for (d in e) s = e[d], l = t[d], u = Ze(d), o(s) || (o(l) ? (o(s.fns) && (s = e[d] = Qe(s, c)), r(u.once) && (s = e[d] = i(u.name, s, u.capture)), n(u.name, s, u.capture, u.passive, u.params)) : s !== l && (l.fns = s, e[d] = l)); for (d in t) o(e[d]) && (u = Ze(d), a(u.name, t[d], u.capture)) }(t, n || {}, qt, zt, Wt, e), Et = void 0 } var Nt = null; function Gt(e) { while (e && (e = e.$parent)) if (e._inactive) return !0; return !1 } function Ht(e, t) { if (t) { if (e._directInactive = !1, Gt(e)) return } else if (e._directInactive) return; if (e._inactive || null === e._inactive) { e._inactive = !1; for (var n = 0; n < e.$children.length; n++) Ht(e.$children[n]); Vt(e, "activated") } } function Vt(e, t) { ce(); var n = e.$options[t], o = t + " hook"; if (n) for (var a = 0, r = n.length; a < r; a++) Ie(n[a], e, null, e, o); e._hasHookEvent && e.$emit("hook:" + t), de() } var Ut = [], Xt = [], Jt = {}, Kt = !1, Yt = !1, Zt = 0; var Qt = Date.now; if (G && !X) { var en = window.performance; en && "function" === typeof en.now && Qt() > document.createEvent("Event").timeStamp && (Qt = function() { return en.now() }) } function tn() { var e, t; for (Qt(), Yt = !0, Ut.sort((function(e, t) { return e.id - t.id })), Zt = 0; Zt < Ut.length; Zt++) e = Ut[Zt], e.before && e.before(), t = e.id, Jt[t] = null, e.run(); var n = Xt.slice(), o = Ut.slice(); (function() { Zt = Ut.length = Xt.length = 0, Jt = {}, Kt = Yt = !1 })(), function(e) { for (var t = 0; t < e.length; t++) e[t]._inactive = !0, Ht(e[t], !0) }(n), function(e) { var t = e.length; while (t--) { var n = e[t], o = n.vm; o._watcher === n && o._isMounted && !o._isDestroyed && Vt(o, "updated") } }(o), ee && j.devtools && ee.emit("flush") } var nn = 0, on = function(e, t, n, o, a) { this.vm = e, a && (e._watcher = this), e._watchers.push(this), o ? (this.deep = !!o.deep, this.user = !!o.user, this.lazy = !!o.lazy, this.sync = !!o.sync, this.before = o.before) : this.deep = this.user = this.lazy = this.sync = !1, this.cb = n, this.id = ++nn, this.active = !0, this.dirty = this.lazy, this.deps = [], this.newDeps = [], this.depIds = new ne, this.newDepIds = new ne, this.expression = "", "function" === typeof t ? this.getter = t : (this.getter = function(e) { if (!W.test(e)) { var t = e.split("."); return function(e) { for (var n = 0; n < t.length; n++) { if (!e) return; e = e[t[n]] } return e } } }(t), this.getter || (this.getter = D)), this.value = this.lazy ? void 0 : this.get() }; on.prototype.get = function() { var e; ce(this); var t = this.vm; try { e = this.getter.call(t, t) } catch (jn) { if (!this.user) throw jn; je(jn, t, 'getter for watcher "' + this.expression + '"') } finally { this.deep && Ye(e), de(), this.cleanupDeps() } return e }, on.prototype.addDep = function(e) { var t = e.id; this.newDepIds.has(t) || (this.newDepIds.add(t), this.newDeps.push(e), this.depIds.has(t) || e.addSub(this)) }, on.prototype.cleanupDeps = function() { var e = this.deps.length; while (e--) { var t = this.deps[e]; this.newDepIds.has(t.id) || t.removeSub(this) } var n = this.depIds; this.depIds = this.newDepIds, this.newDepIds = n, this.newDepIds.clear(), n = this.deps, this.deps = this.newDeps, this.newDeps = n, this.newDeps.length = 0 }, on.prototype.update = function() { this.lazy ? this.dirty = !0 : this.sync ? this.run() : function(e) { var t = e.id; if (null == Jt[t]) { if (Jt[t] = !0, Yt) { var n = Ut.length - 1; while (n > Zt && Ut[n].id > e.id) n--; Ut.splice(n + 1, 0, e) } else Ut.push(e); Kt || (Kt = !0, Je(tn)) } }(this) }, on.prototype.run = function() { if (this.active) { var e = this.get(); if (e !== this.value || c(e) || this.deep) { var t = this.value; if (this.value = e, this.user) try { this.cb.call(this.vm, e, t) } catch (jn) { je(jn, this.vm, 'callback for watcher "' + this.expression + '"') } else this.cb.call(this.vm, e, t) } } }, on.prototype.evaluate = function() { this.value = this.get(), this.dirty = !1 }, on.prototype.depend = function() { var e = this.deps.length; while (e--) this.deps[e].depend() }, on.prototype.teardown = function() { if (this.active) { this.vm._isBeingDestroyed || g(this.vm._watchers, this); var e = this.deps.length; while (e--) this.deps[e].removeSub(this); this.active = !1 } }; var an = { enumerable: !0, configurable: !0, get: D, set: D }; function rn(e, t, n) { an.get = function() { return this[t][n] }, an.set = function(e) { this[t][n] = e }, Object.defineProperty(e, n, an) } function cn(e) { e._watchers = []; var t = e.$options; t.props && function(e, t) { var n = e.$options.propsData || {}, o = e._props = {}, a = e.$options._propKeys = [], r = !e.$parent; r || ve(!1); var i = function(r) { a.push(r); var i = Re(r, t, n, e); _e(o, r, i), r in e || rn(e, "_props", r) }; for (var c in t) i(c); ve(!0) }(e, t.props), t.methods && function(e, t) { e.$options.props; for (var n in t) e[n] = "function" !== typeof t[n] ? D : T(t[n], e) }(e, t.methods), t.data ? function(e) { var t = e.$options.data; t = e._data = "function" === typeof t ? function(e, t) { ce(); try { return e.call(t, t) } catch (jn) { return je(jn, t, "data()"), {} } finally { de() } }(t, e) : t || {}, s(t) || (t = {}); var n = Object.keys(t), o = e.$options.props, a = (e.$options.methods, n.length); while (a--) { var r = n[a]; 0, o && y(o, r) || q(r) || rn(e, "_data", r) } be(t, !0) }(e) : be(e._data = {}, !0), t.computed && function(e, t) { var n = e._computedWatchers = Object.create(null), o = Q(); for (var a in t) { var r = t[a], i = "function" === typeof r ? r : r.get; 0, o || (n[a] = new on(e, i || D, D, dn)), a in e || sn(e, a, r) } }(e, t.computed), t.watch && t.watch !== Y && function(e, t) { for (var n in t) { var o = t[n]; if (Array.isArray(o)) for (var a = 0; a < o.length; a++) mn(e, n, o[a]); else mn(e, n, o) } }(e, t.watch) } var dn = { lazy: !0 }; function sn(e, t, n) { var o = !Q(); "function" === typeof n ? (an.get = o ? ln(t) : un(n), an.set = D) : (an.get = n.get ? o && !1 !== n.cache ? ln(t) : un(n.get) : D, an.set = n.set || D), Object.defineProperty(e, t, an) } function ln(e) { return function() { var t = this._computedWatchers && this._computedWatchers[e]; if (t) return t.dirty && t.evaluate(), ie.SharedObject.target && t.depend(), t.value } } function un(e) { return function() { return e.call(this, this) } } function mn(e, t, n, o) { return s(n) && (o = n, n = n.handler), "string" === typeof n && (n = e[n]), e.$watch(t, n, o) } var hn = 0; function fn(e) { var t = e.options; if (e.super) { var n = fn(e.super), o = e.superOptions; if (n !== o) { e.superOptions = n; var a = function(e) { var t, n = e.options, o = e.sealedOptions; for (var a in n) n[a] !== o[a] && (t || (t = {}), t[a] = n[a]); return t }(e); a && P(e.extendOptions, a), t = e.options = Oe(n, e.extendOptions), t.name && (t.components[t.name] = e) } } return t } function pn(e) { this._init(e) } function gn(e) { e.cid = 0; var t = 1; e.extend = function(e) { e = e || {}; var n = this, o = n.cid, a = e._Ctor || (e._Ctor = {}); if (a[o]) return a[o]; var r = e.name || n.options.name; var i = function(e) { this._init(e) }; return i.prototype = Object.create(n.prototype), i.prototype.constructor = i, i.cid = t++, i.options = Oe(n.options, e), i["super"] = n, i.options.props && function(e) { var t = e.options.props; for (var n in t) rn(e.prototype, "_props", n) }(i), i.options.computed && function(e) { var t = e.options.computed; for (var n in t) sn(e.prototype, n, t[n]) }(i), i.extend = n.extend, i.mixin = n.mixin, i.use = n.use, E.forEach((function(e) { i[e] = n[e] })), r && (i.options.components[r] = i), i.superOptions = n.options, i.extendOptions = e, i.sealedOptions = P({}, i.options), a[o] = i, i } } function vn(e) { return e && (e.Ctor.options.name || e.tag) } function yn(e, t) { return Array.isArray(e) ? e.indexOf(t) > -1 : "string" === typeof e ? e.split(",").indexOf(t) > -1 : !! function(e) { return "[object RegExp]" === d.call(e) }(e) && e.test(t) } function xn(e, t) { var n = e.cache, o = e.keys, a = e._vnode; for (var r in n) { var i = n[r]; if (i) { var c = vn(i.componentOptions); c && !t(c) && bn(n, r, o, a) } } } function bn(e, t, n, o) { var a = e[t]; !a || o && a.tag === o.tag || a.componentInstance.$destroy(), e[t] = null, g(n, t) }(function(e) { e.prototype._init = function(e) { var t = this; t._uid = hn++, t._isVue = !0, e && e._isComponent ? function(e, t) { var n = e.$options = Object.create(e.constructor.options), o = t._parentVnode; n.parent = t.parent, n._parentVnode = o; var a = o.componentOptions; n.propsData = a.propsData, n._parentListeners = a.listeners, n._renderChildren = a.children, n._componentTag = a.tag, t.render && (n.render = t.render, n.staticRenderFns = t.staticRenderFns) }(t, e) : t.$options = Oe(fn(t.constructor), e || {}, t), t._renderProxy = t, t._self = t, function(e) { var t = e.$options, n = t.parent; if (n && !t.abstract) { while (n.$options.abstract && n.$parent) n = n.$parent; n.$children.push(e) } e.$parent = n, e.$root = n ? n.$root : e, e.$children = [], e.$refs = {}, e._watcher = null, e._inactive = null, e._directInactive = !1, e._isMounted = !1, e._isDestroyed = !1, e._isBeingDestroyed = !1 }(t), function(e) { e._events = Object.create(null), e._hasHookEvent = !1; var t = e.$options._parentListeners; t && Bt(e, t) }(t), function(e) { e._vnode = null, e._staticTrees = null; var t = e.$options, o = e.$vnode = t._parentVnode, a = o && o.context; e.$slots = ct(t._renderChildren, a), e.$scopedSlots = n, e._c = function(t, n, o, a) { return Ft(e, t, n, o, a, !1) }, e.$createElement = function(t, n, o, a) { return Ft(e, t, n, o, a, !0) }; var r = o && o.data; _e(e, "$attrs", r && r.attrs || n, null, !0), _e(e, "$listeners", t._parentListeners || n, null, !0) }(t), Vt(t, "beforeCreate"), !t._$fallback && rt(t), cn(t), !t._$fallback && at(t), !t._$fallback && Vt(t, "created"), t.$options.el && t.$mount(t.$options.el) } })(pn), function(e) { var t = { get: function() { return this._data } }, n = { get: function() { return this._props } }; Object.defineProperty(e.prototype, "$data", t), Object.defineProperty(e.prototype, "$props", n), e.prototype.$set = we, e.prototype.$delete = Ae, e.prototype.$watch = function(e, t, n) { if (s(t)) return mn(this, e, t, n); n = n || {}, n.user = !0; var o = new on(this, e, t, n); if (n.immediate) try { t.call(this, o.value) } catch (a) { je(a, this, 'callback for immediate watcher "' + o.expression + '"') } return function() { o.teardown() } } }(pn), function(e) { var t = /^hook:/; e.prototype.$on = function(e, n) { var o = this; if (Array.isArray(e)) for (var a = 0, r = e.length; a < r; a++) o.$on(e[a], n); else(o._events[e] || (o._events[e] = [])).push(n), t.test(e) && (o._hasHookEvent = !0); return o }, e.prototype.$once = function(e, t) { var n = this; function o() { n.$off(e, o), t.apply(n, arguments) } return o.fn = t, n.$on(e, o), n }, e.prototype.$off = function(e, t) { var n = this; if (!arguments.length) return n._events = Object.create(null), n; if (Array.isArray(e)) { for (var o = 0, a = e.length; o < a; o++) n.$off(e[o], t); return n } var r, i = n._events[e]; if (!i) return n; if (!t) return n._events[e] = null, n; var c = i.length; while (c--) if (r = i[c], r === t || r.fn === t) { i.splice(c, 1); break } return n }, e.prototype.$emit = function(e) { var t = this, n = t._events[e]; if (n) { n = n.length > 1 ? C(n) : n; for (var o = C(arguments, 1), a = 'event handler for "' + e + '"', r = 0, i = n.length; r < i; r++) Ie(n[r], t, o, t, a) } return t } }(pn), function(e) { e.prototype._update = function(e, t) { var n = this, o = n.$el, a = n._vnode, r = function(e) { var t = Nt; return Nt = e, function() { Nt = t } }(n); n._vnode = e, n.$el = a ? n.__patch__(a, e) : n.__patch__(n.$el, e, t, !1), r(), o && (o.__vue__ = null), n.$el && (n.$el.__vue__ = n), n.$vnode && n.$parent && n.$vnode === n.$parent._vnode && (n.$parent.$el = n.$el) }, e.prototype.$forceUpdate = function() { this._watcher && this._watcher.update() }, e.prototype.$destroy = function() { var e = this; if (!e._isBeingDestroyed) { Vt(e, "beforeDestroy"), e._isBeingDestroyed = !0; var t = e.$parent; !t || t._isBeingDestroyed || e.$options.abstract || g(t.$children, e), e._watcher && e._watcher.teardown(); var n = e._watchers.length; while (n--) e._watchers[n].teardown(); e._data.__ob__ && e._data.__ob__.vmCount--, e._isDestroyed = !0, e.__patch__(e._vnode, null), Vt(e, "destroyed"), e.$off(), e.$el && (e.$el.__vue__ = null), e.$vnode && (e.$vnode.parent = null) } } }(pn), function(e) { Ct(e.prototype), e.prototype.$nextTick = function(e) { return Je(e, this) }, e.prototype._render = function() { var e, t = this, n = t.$options, o = n.render, a = n._parentVnode; a && (t.$scopedSlots = st(a.data.scopedSlots, t.$slots, t.$scopedSlots)), t.$vnode = a; try { $t = t, e = o.call(t._renderProxy, t.$createElement) } catch (jn) { je(jn, t, "render"), e = t._vnode } finally { $t = null } return Array.isArray(e) && 1 === e.length && (e = e[0]), e instanceof se || (e = ue()), e.parent = a, e } }(pn); var _n = [String, RegExp, Array], wn = { name: "keep-alive", abstract: !0, props: { include: _n, exclude: _n, max: [String, Number] }, created: function() { this.cache = Object.create(null), this.keys = [] }, destroyed: function() { for (var e in this.cache) bn(this.cache, e, this.keys) }, mounted: function() { var e = this; this.$watch("include", (function(t) { xn(e, (function(e) { return yn(t, e) })) })), this.$watch("exclude", (function(t) { xn(e, (function(e) { return !yn(t, e) })) })) }, render: function() { var e = this.$slots.default, t = function(e) { if (Array.isArray(e)) for (var t = 0; t < e.length; t++) { var n = e[t]; if (a(n) && (a(n.componentOptions) || It(n))) return n } }(e), n = t && t.componentOptions; if (n) { var o = vn(n), r = this.include, i = this.exclude; if (r && (!o || !yn(r, o)) || i && o && yn(i, o)) return t; var c = this.cache, d = this.keys, s = null == t.key ? n.Ctor.cid + (n.tag ? "::" + n.tag : "") : t.key; c[s] ? (t.componentInstance = c[s].componentInstance, g(d, s), d.push(s)) : (c[s] = t, d.push(s), this.max && d.length > parseInt(this.max) && bn(c, d[0], d, this._vnode)), t.data.keepAlive = !0 } return t || e && e[0] } }, An = { KeepAlive: wn }; (function(e) { var t = { get: function() { return j } }; Object.defineProperty(e, "config", t), e.util = { warn: ae, extend: P, mergeOptions: Oe, defineReactive: _e }, e.set = we, e.delete = Ae, e.nextTick = Je, e.observable = function(e) { return be(e), e }, e.options = Object.create(null), E.forEach((function(t) { e.options[t + "s"] = Object.create(null) })), e.options._base = e, P(e.options.components, An), function(e) { e.use = function(e) { var t = this._installedPlugins || (this._installedPlugins = []); if (t.indexOf(e) > -1) return this; var n = C(arguments, 1); return n.unshift(this), "function" === typeof e.install ? e.install.apply(e, n) : "function" === typeof e && e.apply(null, n), t.push(e), this } }(e), function(e) { e.mixin = function(e) { return this.options = Oe(this.options, e), this } }(e), gn(e), function(e) { E.forEach((function(t) { e[t] = function(e, n) { return n ? ("component" === t && s(n) && (n.name = n.name || e, n = this.options._base.extend(n)), "directive" === t && "function" === typeof n && (n = { bind: n, update: n }), this.options[t + "s"][e] = n, n) : this.options[t + "s"][e] } })) }(e) })(pn), Object.defineProperty(pn.prototype, "$isServer", { get: Q }), Object.defineProperty(pn.prototype, "$ssrContext", { get: function() { return this.$vnode && this.$vnode.ssrContext } }), Object.defineProperty(pn, "FunctionalRenderContext", { value: Pt }), pn.version = "2.6.11"; var Sn = "[object Array]", Tn = "[object Object]"; function Cn(e, t) { var n = {}; return function e(t, n) { if (t === n) return; var o = kn(t), a = kn(n); if (o == Tn && a == Tn) { if (Object.keys(t).length >= Object.keys(n).length) for (var r in n) { var i = t[r]; void 0 === i ? t[r] = null : e(i, n[r]) } } else o == Sn && a == Sn && t.length >= n.length && n.forEach((function(n, o) { e(t[o], n) })) }(e, t), function e(t, n, o, a) { if (t === n) return; var r = kn(t), i = kn(n); if (r == Tn) if (i != Tn || Object.keys(t).length < Object.keys(n).length) Pn(a, o, t); else { var c = function(r) { var i = t[r], c = n[r], d = kn(i), s = kn(c); if (d != Sn && d != Tn) i !== n[r] && function(e, t) { if (("[object Null]" === e || "[object Undefined]" === e) && ("[object Null]" === t || "[object Undefined]" === t)) return !1; return !0 }(d, s) && Pn(a, ("" == o ? "" : o + ".") + r, i); else if (d == Sn) s != Sn || i.length < c.length ? Pn(a, ("" == o ? "" : o + ".") + r, i) : i.forEach((function(t, n) { e(t, c[n], ("" == o ? "" : o + ".") + r + "[" + n + "]", a) })); else if (d == Tn) if (s != Tn || Object.keys(i).length < Object.keys(c).length) Pn(a, ("" == o ? "" : o + ".") + r, i); else for (var l in i) e(i[l], c[l], ("" == o ? "" : o + ".") + r + "." + l, a) }; for (var d in t) c(d) } else r == Sn ? i != Sn || t.length < n.length ? Pn(a, o, t) : t.forEach((function(t, r) { e(t, n[r], o + "[" + r + "]", a) })) : Pn(a, o, t) }(e, t, "", n), n } function Pn(e, t, n) { e[t] = n } function kn(e) { return Object.prototype.toString.call(e) } function Dn(e) { if (e.__next_tick_callbacks && e.__next_tick_callbacks.length) { if (Object({ VUE_APP_DARK_MODE: "false", VUE_APP_NAME: "CRM", VUE_APP_PLATFORM: "mp-weixin", NODE_ENV: "production", BASE_URL: "/" }).VUE_APP_DEBUG) { var t = e.$scope; console.log("[" + +new Date + "][" + (t.is || t.route) + "][" + e._uid + "]:flushCallbacks[" + e.__next_tick_callbacks.length + "]") } var n = e.__next_tick_callbacks.slice(0); e.__next_tick_callbacks.length = 0; for (var o = 0; o < n.length; o++) n[o]() } } function Mn(e, t) { if (!e.__next_tick_pending && ! function(e) { return Ut.find((function(t) { return e._watcher === t })) }(e)) { if (Object({ VUE_APP_DARK_MODE: "false", VUE_APP_NAME: "CRM", VUE_APP_PLATFORM: "mp-weixin", NODE_ENV: "production", BASE_URL: "/" }).VUE_APP_DEBUG) { var n = e.$scope; console.log("[" + +new Date + "][" + (n.is || n.route) + "][" + e._uid + "]:nextVueTick") } return Je(t, e) } if (Object({ VUE_APP_DARK_MODE: "false", VUE_APP_NAME: "CRM", VUE_APP_PLATFORM: "mp-weixin", NODE_ENV: "production", BASE_URL: "/" }).VUE_APP_DEBUG) { var o = e.$scope; console.log("[" + +new Date + "][" + (o.is || o.route) + "][" + e._uid + "]:nextMPTick") } var a; if (e.__next_tick_callbacks || (e.__next_tick_callbacks = []), e.__next_tick_callbacks.push((function() { if (t) try { t.call(e) } catch (jn) { je(jn, e, "nextTick") } else a && a(e) })), !t && "undefined" !== typeof Promise) return new Promise((function(e) { a = e })) } function On(e, t) { return t && (t._isVue || t.__v_isMPComponent) ? {} : t } function Ln() {} function Rn(e) { return Array.isArray(e) ? function(e) { for (var t, n = "", o = 0, r = e.length; o < r; o++) a(t = Rn(e[o])) && "" !== t && (n && (n += " "), n += t); return n }(e) : c(e) ? function(e) { var t = ""; for (var n in e) e[n] && (t && (t += " "), t += n); return t }(e) : "string" === typeof e ? e : "" } var Fn = x((function(e) { var t = {}, n = /:(.+)/; return e.split(/;(?![^(]*\))/g).forEach((function(e) { if (e) { var o = e.split(n); o.length > 1 && (t[o[0].trim()] = o[1].trim()) } })), t })); var En = ["createSelectorQuery", "createIntersectionObserver", "selectAllComponents", "selectComponent"]; var $n = ["onLaunch", "onShow", "onHide", "onUniNViewMessage", "onPageNotFound", "onThemeChange", "onError", "onUnhandledRejection", "onInit", "onLoad", "onReady", "onUnload", "onPullDownRefresh", "onReachBottom", "onTabItemTap", "onAddToFavorites", "onShareTimeline", "onShareAppMessage", "onResize", "onPageScroll", "onNavigationBarButtonTap", "onBackPress", "onNavigationBarSearchInputChanged", "onNavigationBarSearchInputConfirmed", "onNavigationBarSearchInputClicked", "onPageShow", "onPageHide", "onPageResize", "onUploadDouyinVideo"]; pn.prototype.__patch__ = function(e, t) { var n = this; if (null !== t && ("page" === this.mpType || "component" === this.mpType)) { var o = this.$scope, a = Object.create(null); try { a = function(e) { var t = Object.create(null), n = [].concat(Object.keys(e._data || {}), Object.keys(e._computedWatchers || {})); n.reduce((function(t, n) { return t[n] = e[n], t }), t); var o = e.__composition_api_state__ || e.__secret_vfa_state__, a = o && o.rawBindings; return a && Object.keys(a).forEach((function(n) { t[n] = e[n] })), Object.assign(t, e.$mp.data || {}), Array.isArray(e.$options.behaviors) && -1 !== e.$options.behaviors.indexOf("uni://form-field") && (t["name"] = e.name, t["value"] = e.value), JSON.parse(JSON.stringify(t, On)) }(this) } catch (c) { console.error(c) } a.__webviewId__ = o.data.__webviewId__; var r = Object.create(null); Object.keys(a).forEach((function(e) { r[e] = o.data[e] })); var i = !1 === this.$shouldDiffData ? a : Cn(a, r); Object.keys(i).length ? (Object({ VUE_APP_DARK_MODE: "false", VUE_APP_NAME: "CRM", VUE_APP_PLATFORM: "mp-weixin", NODE_ENV: "production", BASE_URL: "/" }).VUE_APP_DEBUG && console.log("[" + +new Date + "][" + (o.is || o.route) + "][" + this._uid + "]差量更新", JSON.stringify(i)), this.__next_tick_pending = !0, o.setData(i, (function() { n.__next_tick_pending = !1, Dn(n) }))) : Dn(this) } }, pn.prototype.$mount = function(e, t) { return function(e, t, n) { return e.mpType ? ("app" === e.mpType && (e.$options.render = Ln), e.$options.render || (e.$options.render = Ln), !e._$fallback && Vt(e, "beforeMount"), new on(e, (function() { e._update(e._render(), n) }), D, { before: function() { e._isMounted && !e._isDestroyed && Vt(e, "beforeUpdate") } }, !0), n = !1, e) : e }(this, 0, t) }, function(e) { var t = e.extend; e.extend = function(e) { e = e || {}; var n = e.methods; return n && Object.keys(n).forEach((function(t) { -1 !== $n.indexOf(t) && (e[t] = n[t], delete n[t]) })), t.call(this, e) }; var n = e.config.optionMergeStrategies, o = n.created; $n.forEach((function(e) { n[e] = o })), e.prototype.__lifecycle_hooks__ = $n }(pn), function(e) { e.config.errorHandler = function(t, n, o) { e.util.warn("Error in " + o + ': "' + t.toString() + '"', n), console.error(t); var a = "function" === typeof getApp && getApp(); a && a.onError && a.onError(t) }; var t = e.prototype.$emit; e.prototype.$emit = function(e) { if (this.$scope && e) { var n = this.$scope["_triggerEvent"] || this.$scope["triggerEvent"]; if (n) try { n.call(this.$scope, e, { __args__: C(arguments, 1) }) } catch (o) {} } return t.apply(this, arguments) }, e.prototype.$nextTick = function(e) { return Mn(this, e) }, En.forEach((function(t) { e.prototype[t] = function(e) { return this.$scope && this.$scope[t] ? this.$scope[t](e) : "undefined" !== typeof my ? "createSelectorQuery" === t ? my.createSelectorQuery(e) : "createIntersectionObserver" === t ? my.createIntersectionObserver(e) : void 0 : void 0 } })), e.prototype.__init_provide = at, e.prototype.__init_injections = rt, e.prototype.__call_hook = function(e, t) { var n = this; ce(); var o, a = n.$options[e], r = e + " hook"; if (a) for (var i = 0, c = a.length; i < c; i++) o = Ie(a[i], n, t ? [t] : null, n, r); return n._hasHookEvent && n.$emit("hook:" + e, t), de(), o }, e.prototype.__set_model = function(t, n, o, a) { Array.isArray(a) && (-1 !== a.indexOf("trim") && (o = o.trim()), -1 !== a.indexOf("number") && (o = this._n(o))), t || (t = this), e.set(t, n, o) }, e.prototype.__set_sync = function(t, n, o) { t || (t = this), e.set(t, n, o) }, e.prototype.__get_orig = function(e) { return s(e) && e["$orig"] || e }, e.prototype.__get_value = function(e, t) { return function e(t, n) { var o = n.split("."), a = o[0]; return 0 === a.indexOf("__$n") && (a = parseInt(a.replace("__$n", ""))), 1 === o.length ? t[a] : e(t[a], o.slice(1).join(".")) }(t || this, e) }, e.prototype.__get_class = function(e, t) { return function(e, t) { return a(e) || a(t) ? function(e, t) { return e ? t ? e + " " + t : e : t || "" }(e, Rn(t)) : "" }(t, e) }, e.prototype.__get_style = function(e, t) { if (!e && !t) return ""; var n = function(e) { return Array.isArray(e) ? k(e) : "string" === typeof e ? Fn(e) : e }(e), o = t ? P(t, n) : n; return Object.keys(o).map((function(e) { return S(e) + ":" + o[e] })).join(";") }, e.prototype.__map = function(e, t) { var n, o, a, r, i; if (Array.isArray(e)) { for (n = new Array(e.length), o = 0, a = e.length; o < a; o++) n[o] = t(e[o], o); return n } if (c(e)) { for (r = Object.keys(e), n = Object.create(null), o = 0, a = r.length; o < a; o++) i = r[o], n[i] = t(e[i], i, o); return n } if ("number" === typeof e) { for (n = new Array(e), o = 0, a = e; o < a; o++) n[o] = t(o, o); return n } return [] } }(pn), t["default"] = pn }.call(this, n("c8ba")) }, "6f8f": function(e, t) { e.exports = function() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function() {}))), !0 } catch (e) { return !1 } }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 7037: function(e, t) { function n(t) { return e.exports = n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { return typeof e } : function(e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e }, e.exports.__esModule = !0, e.exports["default"] = e.exports, n(t) } e.exports = n, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 7651: function(e, t, n) { "use strict"; (function(e) { var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.pageJumps = void 0; o(n("66fd")); var a = { methods: { affiche: function() { e.navigateTo({ url: "/pages/news/notice" }) }, remind: function() { e.navigateTo({ url: "/pages/news/theReminder/theReminder" }) }, jumpDeal: function() { e.navigateTo({ url: "/pagesA/profile/needDeal" }) }, workTrend: function() { e.navigateTo({ url: "/pages/index/workNews" }) }, agendar: function() { e.navigateTo({ url: "/pages/index/schedule/schedule" }) }, schedule: function() { e.navigateTo({ url: "/pagesA/profile/needDeal" }) }, task: function() { e.showToast({ title: "超时任务设计页面出错,无法跳转", icon: "none", duration: 1e3 }) } } }; t.pageJumps = a }).call(this, n("543d")["default"]) }, "76dd": function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.daibanKehuFollow = function(e) { return (0, o.myRequest)("record/getcustomerList", e) }, t.netAddComment = function(e) { return (0, o.myRequest)("record/addComment", e) }, t.netAddCost = function(e) { return (0, o.myRequest)("consume/addConsume", e) }, t.netAddFollowRecords = function(e) { return (0, o.myRequest)("record/createRecord", e) }, t.netAddLianxiren = function(e) { return (0, o.myRequest)("contacts/addContacts", e) }, t.netAddPayment = function(e) { return (0, o.myRequest)("receivables/addReceivables", e) }, t.netAddPlan = function(e) { return (0, o.myRequest)("receivables_plan/addPlan", e) }, t.netAddkehu = function(e) { return (0, o.myRequest)("customer/addCustomer", e) }, t.netCancelExamine = function(e) { return (0, o.myRequest)("contract/cancel", e) }, t.netCheckName = function(e) { return (0, o.myRequest)("customer/selectName", e) }, t.netConcatDetailInfo = function(e) { return (0, o.myRequest)("contacts/getDetail", e) }, t.netContact = function(e) { return (0, o.myRequest)("contacts/getSelectList", e) }, t.netContactFileList = function(e) { return (0, o.myRequest)("contacts/getFilesList", e) }, t.netContactList = function(e) { return (0, o.myRequest)("contacts/getList", e) }, t.netContractDetail = function(e) { return (0, o.myRequest)("contract/getDetail", e) }, t.netContractFileList = function(e) { return (0, o.myRequest)("contract/getFilesList", e) }, t.netContractList = function(e) { return (0, o.myRequest)("contract/getCustomerContacts", e) }, t.netContractNum = function() { return (0, o.myRequest)("contract/getContractNumber") }, t.netContractProduct = function(e) { return (0, o.myRequest)("/product/getSelectList", e) }, t.netCostDetail = function(e) { return (0, o.myRequest)("consume/getDetail", e) }, t.netCostList = function(e) { return (0, o.myRequest)("consume/getList", e) }, t.netCreateContract = function(e) { return (0, o.myRequest)("contract/addContract", e) }, t.netCrmContractList = function(e) { return (0, o.myRequest)("contract/getList", e) },t.checkHasAmountView = function(e) { return (0, o.myRequest)("bill/checkHasAmountView", e) }, t.netDelContact = function(e) { return (0, o.myRequest)("contacts/delContacts", e) }, t.netEditContactInfo = function(e) { return (0, o.myRequest)("contacts/editContacts", e) }, t.netEditContract = function(e) { return (0, o.myRequest)("contract/editContract", e) }, t.netEditCost = function(e) { return (0, o.myRequest)("consume/editConsume", e) }, t.netEditFileName = function(e) { return (0, o.myRequest)("file/editName", e) }, t.netEditKehu = function(e) { return (0, o.myRequest)("customer/editCustomer", e) }, t.netEditPaymentInfo = function(e) { return (0, o.myRequest)("receivables/editReceivables", e) }, t.netExamine = function(e) { return (0, o.myRequest)("examine_record/examine", e) }, t.netFollowRecordDetail = function(e) { return (0, o.myRequest)("record/getRecordDetail", e) }, t.netGetBriefdata = function(e) { return (0, o.myRequest)("index/briefing", e) }, t.netGetBumenList = function(e) { return (0, o.myRequest)("achievement/getDepartmentList", e) }, t.netGetCommentList = function(e) { return (0, o.myRequest)("record/commentList", e) }, t.netGetDefaultMoney = function(e) { return (0, o.myRequest)("achievement/getAchievementDetail", e) }, t.netGetDefaultSelfDetail = function(e) { return (0, o.myRequest)("achievement/getMyAchievementDetail", e) }, t.netGetDepTargetlist = function(e) { return (0, o.myRequest)("achievement/getStaffList", e) }, t.netGetGongsiList = function(e) { return (0, o.myRequest)("achievement/getCompanyAchievement", e) }, t.netGetOthersReceivable = function() { return (0, o.myRequest)("statistics/staffReceivablesStatistics") }, t.netGetRecordDetail = function(e) { return (0, o.myRequest)("achievement/getRecordsDetail", e) }, t.netGetRecordList = function(e) { return (0, o.myRequest)("achievement/editRecords", e) }, t.netGetTargetSelect = function() { return (0, o.myRequest)("achievement/getDepartment") }, t.netGetTealList = function(e) { return (0, o.myRequest)("achievement/getTeamList", e) }, t.netGetreceivableStaff = function() { return (0, o.myRequest)("statistics/receivablesStatistics") }, t.netKehuDetail = function(e) { return (0, o.myRequest)("customer/customerDetail", e) }, t.netKehuFileList = function(e) { return (0, o.myRequest)("customer/getFilesList", e) }, t.netKehuFollow = function(e) { return (0, o.myRequest)("record/getList", e) },t.getConsumeList = function(e) { return (0, o.myRequest)("consume/getContractDetailConsume", e) }, t.getBillList = function(e) { return (0, o.myRequest)("bill/getBillList", e) },t.getCollectionList = function(e) { return (0, o.myRequest)("receivables/getList", e) },t.netKehuList = function(e) { return (0, o.myRequest)("customer/getList", e) }, t.netKeyCollect = function(e) { return (0, o.myRequest)("customer/collect", e) }, t.netLianxiren = function(e) { return (0, o.myRequest)("contacts/getSelectList", e) }, t.netOperationList = function(e) { return (0, o.myRequest)("operation/getList", e) }, t.netPaymentApproval = function(e) { return (0, o.myRequest)("examine_record/getList", e) }, t.netPaymentCancel = function(e) { return (0, o.myRequest)("receivables/cancel", e) }, t.netPaymentDetail = function(e) { return (0, o.myRequest)("receivables/getDetail", e) }, t.netPaymentList = function(e) { return (0, o.myRequest)("receivables/getList", e) }, t.netPaymentNum = function(e) { return (0, o.myRequest)("receivables_plan/getSelectList", e) }, t.netPaymentNumber = function() { return (0, o.myRequest)("receivables/getReceivablesNumber") }, t.netPlanListf = function(e) { return (0, o.myRequest)("receivables_plan/getList", e) }, t.netPrevCustomer = function(e) { return (0, o.myRequest)("customer/getSelectList", e) }, t.netProductClass = function(e) { return (0, o.myRequest)("product/getProducttypeList", e) }, t.netProductDetail = function(e) { return (0, o.myRequest)("product/getProductDetail", e) }, t.netQueryData = function(e) { return (0, o.myRequest)("index/search", e) }, t.netReceiveKehu = function(e) { return (0, o.myRequest)("customer/receive", e) }, t.netRemoveColect = function(e) { return (0, o.myRequest)("customer/cancelCollect", e) }, t.netRemoveSeas = function(e) { return (0, o.myRequest)("customer/moveSeas", e) }, t.netSearchStaffList = function(e) { return (0, o.myRequest)("customer/getSearchStaffList", e) }, t.netSelect = function() { return (0, o.myRequest)("common/selectOption") }, t.netSelectContract = function(e) { return (0, o.myRequest)("contract/getSelectList", e) }, t.netSetMymubiao = function(e) { return (0, o.myRequest)("achievement/staffEditAchievement", e) }, t.netSetTargetMoney = function(e) { return (0, o.myRequest)("achievement/addAchievement", e) }, t.netStaffList = function(e) { return (0, o.myRequest)("common/getSelectStaff", e) }, t.netSubordList = function(e) { return (0, o.myRequest)("customer/getLowerCustomer", e) }, t.netTransKehu = function(e) { return (0, o.myRequest)("customer/transfer", e) }, t.netTurnoverList = function(e) { return (0, o.myRequest)("index/contractRanding", e) }; var o = n("0c59") }, "7e41": function(e, t, n) { "use strict"; var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var a = o(n("7037")); function r(e) { switch ((0, a.default)(e)) { case "undefined": return !0; case "string": if (0 == e.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, "").length) return !0; break; case "boolean": if (!e) return !0; break; case "number": if (0 === e || isNaN(e)) return !0; break; case "object": if (null === e || 0 === e.length) return !0; for (var t in e) return !1; return !0 } return !1 } var i = { email: function(e) { return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(e) }, mobile: function(e) { return /^1[3-9]\d{9}$/.test(e) }, url: function(e) { return /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?/.test(e) }, date: function(e) { return !/Invalid|NaN/.test(new Date(e).toString()) }, dateISO: function(e) { return /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(e) }, number: function(e) { return /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(e) }, digits: function(e) { return /^\d+$/.test(e) }, idCard: function(e) { return /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/.test(e) }, carNo: function(e) { return 7 === e.length ? /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/.test(e) : 8 === e.length && /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/.test(e) }, amount: function(e) { return /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0\.\d{1,2}$/.test(e) }, chinese: function(e) { return /^[\u4e00-\u9fa5]+$/gi.test(e) }, letter: function(e) { return /^[a-zA-Z]*$/.test(e) }, enOrNum: function(e) { return /^[0-9a-zA-Z]*$/g.test(e) }, contains: function(e, t) { return e.indexOf(t) >= 0 }, range: function(e, t) { return e >= t[0] && e <= t[1] }, rangeLength: function(e, t) { return e.length >= t[0] && e.length <= t[1] }, empty: r, isEmpty: r, jsonString: function(e) { if ("string" == typeof e) try { var t = JSON.parse(e); return !("object" != (0, a.default)(t) || !t) } catch (n) { return !1 } return !1 }, landline: function(e) { return /^\d{3,4}-\d{7,8}(-\d{3,4})?$/.test(e) }, object: function(e) { return "[object Object]" === Object.prototype.toString.call(e) }, array: function(e) { return "function" === typeof Array.isArray ? Array.isArray(e) : "[object Array]" === Object.prototype.toString.call(e) }, code: function(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 6; return new RegExp("^\\d{".concat(t, "}$")).test(e) } }; t.default = i }, "7ec2": function(e, t, n) { var o = n("7037")["default"]; function a() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ e.exports = a = function() { return t }, e.exports.__esModule = !0, e.exports["default"] = e.exports; var t = {}, n = Object.prototype, r = n.hasOwnProperty, i = Object.defineProperty || function(e, t, n) { e[t] = n.value }, c = "function" == typeof Symbol ? Symbol : {}, d = c.iterator || "@@iterator", s = c.asyncIterator || "@@asyncIterator", l = c.toStringTag || "@@toStringTag"; function u(e, t, n) { return Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }), e[t] } try { u({}, "") } catch (O) { u = function(e, t, n) { return e[t] = n } } function m(e, t, n, o) { var a = t && t.prototype instanceof p ? t : p, r = Object.create(a.prototype), c = new k(o || []); return i(r, "_invoke", { value: S(e, n, c) }), r } function h(e, t, n) { try { return { type: "normal", arg: e.call(t, n) } } catch (O) { return { type: "throw", arg: O } } } t.wrap = m; var f = {}; function p() {} function g() {} function v() {} var y = {}; u(y, d, (function() { return this })); var x = Object.getPrototypeOf, b = x && x(x(D([]))); b && b !== n && r.call(b, d) && (y = b); var _ = v.prototype = p.prototype = Object.create(y); function w(e) { ["next", "throw", "return"].forEach((function(t) { u(e, t, (function(e) { return this._invoke(t, e) })) })) } function A(e, t) { var n; i(this, "_invoke", { value: function(a, i) { function c() { return new t((function(n, c) { (function n(a, i, c, d) { var s = h(e[a], e, i); if ("throw" !== s.type) { var l = s.arg, u = l.value; return u && "object" == o(u) && r.call(u, "__await") ? t.resolve(u.__await).then((function(e) { n("next", e, c, d) }), (function(e) { n("throw", e, c, d) })) : t.resolve(u).then((function(e) { l.value = e, c(l) }), (function(e) { return n("throw", e, c, d) })) } d(s.arg) })(a, i, n, c) })) } return n = n ? n.then(c, c) : c() } }) } function S(e, t, n) { var o = "suspendedStart"; return function(a, r) { if ("executing" === o) throw new Error("Generator is already running"); if ("completed" === o) { if ("throw" === a) throw r; return M() } for (n.method = a, n.arg = r;;) { var i = n.delegate; if (i) { var c = T(i, n); if (c) { if (c === f) continue; return c } } if ("next" === n.method) n.sent = n._sent = n.arg; else if ("throw" === n.method) { if ("suspendedStart" === o) throw o = "completed", n.arg; n.dispatchException(n.arg) } else "return" === n.method && n.abrupt("return", n.arg); o = "executing"; var d = h(e, t, n); if ("normal" === d.type) { if (o = n.done ? "completed" : "suspendedYield", d.arg === f) continue; return { value: d.arg, done: n.done } } "throw" === d.type && (o = "completed", n.method = "throw", n.arg = d.arg) } } } function T(e, t) { var n = t.method, o = e.iterator[n]; if (void 0 === o) return t.delegate = null, "throw" === n && e.iterator["return"] && (t.method = "return", t.arg = void 0, T(e, t), "throw" === t.method) || "return" !== n && (t.method = "throw", t.arg = new TypeError("The iterator does not provide a '" + n + "' method")), f; var a = h(o, e.iterator, t.arg); if ("throw" === a.type) return t.method = "throw", t.arg = a.arg, t.delegate = null, f; var r = a.arg; return r ? r.done ? (t[e.resultName] = r.value, t.next = e.nextLoc, "return" !== t.method && (t.method = "next", t.arg = void 0), t.delegate = null, f) : r : (t.method = "throw", t.arg = new TypeError("iterator result is not an object"), t.delegate = null, f) } function C(e) { var t = { tryLoc: e[0] }; 1 in e && (t.catchLoc = e[1]), 2 in e && (t.finallyLoc = e[2], t.afterLoc = e[3]), this.tryEntries.push(t) } function P(e) { var t = e.completion || {}; t.type = "normal", delete t.arg, e.completion = t } function k(e) { this.tryEntries = [{ tryLoc: "root" }], e.forEach(C, this), this.reset(!0) } function D(e) { if (e) { var t = e[d]; if (t) return t.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var n = -1, o = function t() { for (; ++n < e.length;) if (r.call(e, n)) return t.value = e[n], t.done = !1, t; return t.value = void 0, t.done = !0, t }; return o.next = o } } return { next: M } } function M() { return { value: void 0, done: !0 } } return g.prototype = v, i(_, "constructor", { value: v, configurable: !0 }), i(v, "constructor", { value: g, configurable: !0 }), g.displayName = u(v, l, "GeneratorFunction"), t.isGeneratorFunction = function(e) { var t = "function" == typeof e && e.constructor; return !!t && (t === g || "GeneratorFunction" === (t.displayName || t.name)) }, t.mark = function(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, v) : (e.__proto__ = v, u(e, l, "GeneratorFunction")), e.prototype = Object.create(_), e }, t.awrap = function(e) { return { __await: e } }, w(A.prototype), u(A.prototype, s, (function() { return this })), t.AsyncIterator = A, t.async = function(e, n, o, a, r) { void 0 === r && (r = Promise); var i = new A(m(e, n, o, a), r); return t.isGeneratorFunction(n) ? i : i.next().then((function(e) { return e.done ? e.value : i.next() })) }, w(_), u(_, l, "Generator"), u(_, d, (function() { return this })), u(_, "toString", (function() { return "[object Generator]" })), t.keys = function(e) { var t = Object(e), n = []; for (var o in t) n.push(o); return n.reverse(), function e() { for (; n.length;) { var o = n.pop(); if (o in t) return e.value = o, e.done = !1, e } return e.done = !0, e } }, t.values = D, k.prototype = { constructor: k, reset: function(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = void 0, this.done = !1, this.delegate = null, this.method = "next", this.arg = void 0, this.tryEntries.forEach(P), !e) for (var t in this) "t" === t.charAt(0) && r.call(this, t) && !isNaN(+t.slice(1)) && (this[t] = void 0) }, stop: function() { this.done = !0; var e = this.tryEntries[0].completion; if ("throw" === e.type) throw e.arg; return this.rval }, dispatchException: function(e) { if (this.done) throw e; var t = this; function n(n, o) { return i.type = "throw", i.arg = e, t.next = n, o && (t.method = "next", t.arg = void 0), !!o } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var a = this.tryEntries[o], i = a.completion; if ("root" === a.tryLoc) return n("end"); if (a.tryLoc <= this.prev) { var c = r.call(a, "catchLoc"), d = r.call(a, "finallyLoc"); if (c && d) { if (this.prev < a.catchLoc) return n(a.catchLoc, !0); if (this.prev < a.finallyLoc) return n(a.finallyLoc) } else if (c) { if (this.prev < a.catchLoc) return n(a.catchLoc, !0) } else { if (!d) throw new Error("try statement without catch or finally"); if (this.prev < a.finallyLoc) return n(a.finallyLoc) } } } }, abrupt: function(e, t) { for (var n = this.tryEntries.length - 1; n >= 0; --n) { var o = this.tryEntries[n]; if (o.tryLoc <= this.prev && r.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var a = o; break } } a && ("break" === e || "continue" === e) && a.tryLoc <= t && t <= a.finallyLoc && (a = null); var i = a ? a.completion : {}; return i.type = e, i.arg = t, a ? (this.method = "next", this.next = a.finallyLoc, f) : this.complete(i) }, complete: function(e, t) { if ("throw" === e.type) throw e.arg; return "break" === e.type || "continue" === e.type ? this.next = e.arg : "return" === e.type ? (this.rval = this.arg = e.arg, this.method = "return", this.next = "end") : "normal" === e.type && t && (this.next = t), f }, finish: function(e) { for (var t = this.tryEntries.length - 1; t >= 0; --t) { var n = this.tryEntries[t]; if (n.finallyLoc === e) return this.complete(n.completion, n.afterLoc), P(n), f } }, catch: function(e) { for (var t = this.tryEntries.length - 1; t >= 0; --t) { var n = this.tryEntries[t]; if (n.tryLoc === e) { var o = n.completion; if ("throw" === o.type) { var a = o.arg; P(n) } return a } } throw new Error("illegal catch attempt") }, delegateYield: function(e, t, n) { return this.delegate = { iterator: D(e), resultName: t, nextLoc: n }, "next" === this.method && (this.arg = void 0), f } }, t } e.exports = a, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 8683: function(e, t, n) { "use strict"; (function(e) { var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.commonF = void 0; var a = o(n("448a")), r = n("dc92"), i = { onShow: function() { this.remindPeople = [], this.getDefaultRemind() }, onUnload: function() { e.removeStorageSync("remindlist") }, methods: { getDefaultRemind: function() { var t = this; (0, r.netStaffDefaultReviewer)({ type: this.remindType }).then((function(n) { n = n.data, n.forEach((function(e, t) { e.isDel = !1 })), t.remindPeople = t.$deWeight([].concat((0, a.default)(n), (0, a.default)(e.getStorageSync("remindlist")))) })) }, delRemind: function(t) { this.remindPeople.splice(t, 1), e.setStorageSync("remindlist", this.remindPeople) } } }; t.commonF = i }).call(this, n("543d")["default"]) }, 8886: function(e, t) {}, "8a0e": function(e, t, n) { "use strict"; (function(e, n) { Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var o = { noMultipleClicks: function(e, t) { var n = this; n.noClick && (n.noClick = !1, t && "" !== t || 0 == t ? e(t) : e(), setTimeout((function() { n.noClick = !0 }), 5e3)) }, deWeight: function(e) { for (var t = 0; t < e.length - 1; t++) for (var n = t + 1; n < e.length; n++) e[t].id == e[n].id && (e.splice(n, 1), n--); return e }, openCommonFile: function(t) { var o = t.name, a = o.substring(o.indexOf(".") + 1); ["png", "jpg", "img", "image", "gif"].includes(a) ? e.previewImage({ urls: [t.file_path], complete: function(e) { console.log(e) } }) : e.downloadFile({ url: t.file_path, success: function(o) { e.getSystemInfo({ success: function(r) { "windows" == r.platform || "mac" == r.platform ? n.saveFileToDisk({ filePath: o.tempFilePath, success: function(e) { console.log(e) }, fail: function(e) { console.log(e) } }) : function(t, o, a, r) { e.showLoading({ title: "正在加载" }); var i = e.getFileSystemManager(), c = n.env.USER_DATA_PATH + "/" + o; i.saveFile({ tempFilePath: t.tempFilePath, filePath: c, fileType: r, success: function(t) { e.openDocument({ filePath: t.savedFilePath, showMenu: !0, fileType: r, success: function(t) { console.log(t, "成功打开"), e.hideLoading() }, fail: function(t) { console.log(t, "打开失败"), e.hideLoading() } }) } }) }(o, t.name, t.file_path, a) } }) }, fail: function(t) { e.hideLoading(), console.log(t, "===") } }) }, openCommonImg: function(t, n) { var o = []; t.forEach((function(e) { o.push(e.file_path) })), e.previewImage({ urls: o, current: n }) }, checkCommonForm: function(t) { var n = []; t.forEach((function(e) { n.push({ name: e.id, required: e.config.required, msg: e.config.placeholder, value: e.value, component: e.component }) })); for (var o = {}, a = 0; a < n.length; a++) { if (n[a].required && !n[a].value) return void e.showToast({ title: n[a].msg, icon: "none" }); "uploadImage" == n[a].component || "uploadFile" == n[a].component ? function() { var e = n[a].value ? n[a].value : [], t = []; e.forEach((function(e) { t.push(e.id) })), o[n[a].name] = t.join(",") }() : o[n[a].name] = n[a].value } return o }, checkStartAndEnd: function(e) { var t = e.substring(0, 4), n = e.substring(5, 7); console.log(t, Number(n), "分割"); var o = []; o = t % 4 == 0 && t % 100 != 0 || t % 400 == 0 ? [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] : [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; var a = Number(n), r = o[a - 1]; return [t + "-" + n + "-01", t + "-" + n + "-" + r] }, handleTime: function(e) { return e >= 10 ? e : "0" + e } }; t.default = o }).call(this, n("543d")["default"], n("bc2e")["default"]) }, 9523: function(e, t, n) { var o = n("a395"); e.exports = function(e, t, n) { return t = o(t), t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, "96d2": function(e, t, n) { "use strict"; var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var a = o(n("b824")); var r = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "yyyy-mm-dd"; e || (e = Number(new Date)), 10 == e.toString().length && (e *= 1e3); var n = +new Date(Number(e)), o = (Number(new Date) - n) / 1e3, r = ""; switch (!0) { case o < 300: r = "刚刚"; break; case o >= 300 && o < 3600: r = parseInt(o / 60) + "分钟前"; break; case o >= 3600 && o < 86400: r = parseInt(o / 3600) + "小时前"; break; case o >= 86400 && o < 2592e3: r = parseInt(o / 86400) + "天前"; break; default: r = !1 === t ? o >= 2592e3 && o < 31536e3 ? parseInt(o / 2592e3) + "个月前" : parseInt(o / 31536e3) + "年前" : (0, a.default)(n, t) } return r }; t.default = r }, "970b": function(e, t) { e.exports = function(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, "9a6f": function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.moreLinkman = t.moreCompany = t.followSortDatas = t.followScreenDatas = t.customerSortDatas = t.cluesSortDatas = t.cluesScreenDatas = void 0; t.customerSortDatas = [{ id: 1, name: "名称正序" }, { id: 2, name: "名称倒序" }, { id: 3, name: "创建时间正序" }, { id: 4, name: "创建时间倒序" }, { id: 5, name: "下次跟进时间正序" }, { id: 6, name: "下次跟进时间倒序" }]; t.cluesSortDatas = ["客户名称", "系统编号", "线索来源", "线索状态", "联系人姓名", "手机号码", "归属人员", "跟进次数", "未跟进天数", "最后跟进时间", "下次跟进时间", "下次跟进内容", "备注信息", "归属人员", "所属部门", "创建人员", "前归属人", "前所属部门", "协作人员", "创建时间", "更新时间"]; t.cluesScreenDatas = [{ title: "联系人分类", content: ["全部线索", "我的线索", "下属的线索", "已转客户", "公共线索"], active: 0 }, { title: "线索来源", content: ["电话营销", "主动来电", "客户介绍", "朋友介绍", "独立开发", "网络搜索", "公告杂志", "展会促销", "其他途径"], active: 0 }, { title: "线索状态", content: ["初步意向", "下次邀约", "已转客户"], active: 0 }, { title: "角色", content: ["普通人", "决策人", "分项决策人", "商务决策", "财务决策", "使用人", "意见影响人"], active: 0 }, { title: "尊称", content: ["先生", "女生"], active: 0 }]; t.followSortDatas = ["跟进人员", "创建时间", "所属模块", "跟进类型"]; t.followScreenDatas = [{ title: "所属模块", content: ["全部", "线索", "客户", "商机", "订单"], active: 0 }, { title: "跟进类型", content: ["到访", "电话", "微信", "短信", "邮件", "QQ", "其他"], active: 0 }]; t.moreCompany = [{ title: "联系人", num: 100 }, { title: "下级公司", num: 100 }, { title: "跟进记录", num: 100 }, { title: "订单记录", num: 100 }, { title: "费用记录", num: 100 }, { title: "相关附件", num: 100 }, { title: "归属记录", num: 100 }, { title: "操作日志", num: 100 }]; t.moreLinkman = [{ title: "相关联系人", num: 100 }, { title: "通话记录", num: 100 }, { title: "操作日志", num: 100 }] }, "9b42": function(e, t) { e.exports = function(e, t) { var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (null != n) { var o, a, r, i, c = [], d = !0, s = !1; try { if (r = (n = n.call(e)).next, 0 === t) { if (Object(n) !== n) return; d = !1 } else for (; !(d = (o = r.call(n)).done) && (c.push(o.value), c.length !== t); d = !0); } catch (l) { s = !0, a = l } finally { try { if (!d && null != n["return"] && (i = n["return"](), Object(i) !== i)) return } finally { if (s) throw a } } return c } }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, a395: function(e, t, n) { var o = n("7037")["default"], a = n("e50d"); e.exports = function(e) { var t = a(e, "string"); return "symbol" === o(t) ? t : String(t) }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, a913: function(e, t, n) { "use strict"; var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var a = o(n("7037")); var r = function e(t) { if ([null, void 0, NaN, !1].includes(t)) return t; if ("object" !== (0, a.default)(t) && "function" !== typeof t) return t; var n = function(e) { return "[object Array]" === Object.prototype.toString.call(e) }(t) ? [] : {}; for (var o in t) t.hasOwnProperty(o) && (n[o] = "object" === (0, a.default)(t[o]) ? e(t[o]) : t[o]); return n }; t.default = r }, a963: function(e, t, n) { "use strict"; (function(e) { Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var n = function(t) { var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1500; e.showToast({ title: t, icon: "none", duration: n }) }; t.default = n }).call(this, n("543d")["default"]) }, ab23: function(e, t) { e.exports.citys = [{ code: "11", name: "北京市", children: [{ code: "1101", name: "市辖区", children: [{ code: "110101", name: "东城区" }, { code: "110102", name: "西城区" }, { code: "110105", name: "朝阳区" }, { code: "110106", name: "丰台区" }, { code: "110107", name: "石景山区" }, { code: "110108", name: "海淀区" }, { code: "110109", name: "门头沟区" }, { code: "110111", name: "房山区" }, { code: "110112", name: "通州区" }, { code: "110113", name: "顺义区" }, { code: "110114", name: "昌平区" }, { code: "110115", name: "大兴区" }, { code: "110116", name: "怀柔区" }, { code: "110117", name: "平谷区" }, { code: "110118", name: "密云区" }, { code: "110119", name: "延庆区" }] }] }, { code: "12", name: "天津市", children: [{ code: "1201", name: "市辖区", children: [{ code: "120101", name: "和平区" }, { code: "120102", name: "河东区" }, { code: "120103", name: "河西区" }, { code: "120104", name: "南开区" }, { code: "120105", name: "河北区" }, { code: "120106", name: "红桥区" }, { code: "120110", name: "东丽区" }, { code: "120111", name: "西青区" }, { code: "120112", name: "津南区" }, { code: "120113", name: "北辰区" }, { code: "120114", name: "武清区" }, { code: "120115", name: "宝坻区" }, { code: "120116", name: "滨海新区" }, { code: "120117", name: "宁河区" }, { code: "120118", name: "静海区" }, { code: "120119", name: "蓟州区" }] }] }, { code: "13", name: "河北省", children: [{ code: "1301", name: "石家庄市", children: [{ code: "130102", name: "长安区" }, { code: "130104", name: "桥西区" }, { code: "130105", name: "新华区" }, { code: "130107", name: "井陉矿区" }, { code: "130108", name: "裕华区" }, { code: "130109", name: "藁城区" }, { code: "130110", name: "鹿泉区" }, { code: "130111", name: "栾城区" }, { code: "130121", name: "井陉县" }, { code: "130123", name: "正定县" }, { code: "130125", name: "行唐县" }, { code: "130126", name: "灵寿县" }, { code: "130127", name: "高邑县" }, { code: "130128", name: "深泽县" }, { code: "130129", name: "赞皇县" }, { code: "130130", name: "无极县" }, { code: "130131", name: "平山县" }, { code: "130132", name: "元氏县" }, { code: "130133", name: "赵县" }, { code: "130171", name: "石家庄高新技术产业开发区" }, { code: "130172", name: "石家庄循环化工园区" }, { code: "130181", name: "辛集市" }, { code: "130183", name: "晋州市" }, { code: "130184", name: "新乐市" }] }, { code: "1302", name: "唐山市", children: [{ code: "130202", name: "路南区" }, { code: "130203", name: "路北区" }, { code: "130204", name: "古冶区" }, { code: "130205", name: "开平区" }, { code: "130207", name: "丰南区" }, { code: "130208", name: "丰润区" }, { code: "130209", name: "曹妃甸区" }, { code: "130224", name: "滦南县" }, { code: "130225", name: "乐亭县" }, { code: "130227", name: "迁西县" }, { code: "130229", name: "玉田县" }, { code: "130271", name: "河北唐山芦台经济开发区" }, { code: "130272", name: "唐山市汉沽管理区" }, { code: "130273", name: "唐山高新技术产业开发区" }, { code: "130274", name: "河北唐山海港经济开发区" }, { code: "130281", name: "遵化市" }, { code: "130283", name: "迁安市" }, { code: "130284", name: "滦州市" }] }, { code: "1303", name: "秦皇岛市", children: [{ code: "130302", name: "海港区" }, { code: "130303", name: "山海关区" }, { code: "130304", name: "北戴河区" }, { code: "130306", name: "抚宁区" }, { code: "130321", name: "青龙满族自治县" }, { code: "130322", name: "昌黎县" }, { code: "130324", name: "卢龙县" }, { code: "130371", name: "秦皇岛市经济技术开发区" }, { code: "130372", name: "北戴河新区" }] }, { code: "1304", name: "邯郸市", children: [{ code: "130402", name: "邯山区" }, { code: "130403", name: "丛台区" }, { code: "130404", name: "复兴区" }, { code: "130406", name: "峰峰矿区" }, { code: "130407", name: "肥乡区" }, { code: "130408", name: "永年区" }, { code: "130423", name: "临漳县" }, { code: "130424", name: "成安县" }, { code: "130425", name: "大名县" }, { code: "130426", name: "涉县" }, { code: "130427", name: "磁县" }, { code: "130430", name: "邱县" }, { code: "130431", name: "鸡泽县" }, { code: "130432", name: "广平县" }, { code: "130433", name: "馆陶县" }, { code: "130434", name: "魏县" }, { code: "130435", name: "曲周县" }, { code: "130471", name: "邯郸经济技术开发区" }, { code: "130473", name: "邯郸冀南新区" }, { code: "130481", name: "武安市" }] }, { code: "1305", name: "邢台市", children: [{ code: "130502", name: "襄都区" }, { code: "130503", name: "信都区" }, { code: "130505", name: "任泽区" }, { code: "130506", name: "南和区" }, { code: "130522", name: "临城县" }, { code: "130523", name: "内丘县" }, { code: "130524", name: "柏乡县" }, { code: "130525", name: "隆尧县" }, { code: "130528", name: "宁晋县" }, { code: "130529", name: "巨鹿县" }, { code: "130530", name: "新河县" }, { code: "130531", name: "广宗县" }, { code: "130532", name: "平乡县" }, { code: "130533", name: "威县" }, { code: "130534", name: "清河县" }, { code: "130535", name: "临西县" }, { code: "130571", name: "河北邢台经济开发区" }, { code: "130581", name: "南宫市" }, { code: "130582", name: "沙河市" }] }, { code: "1306", name: "保定市", children: [{ code: "130602", name: "竞秀区" }, { code: "130606", name: "莲池区" }, { code: "130607", name: "满城区" }, { code: "130608", name: "清苑区" }, { code: "130609", name: "徐水区" }, { code: "130623", name: "涞水县" }, { code: "130624", name: "阜平县" }, { code: "130626", name: "定兴县" }, { code: "130627", name: "唐县" }, { code: "130628", name: "高阳县" }, { code: "130629", name: "容城县" }, { code: "130630", name: "涞源县" }, { code: "130631", name: "望都县" }, { code: "130632", name: "安新县" }, { code: "130633", name: "易县" }, { code: "130634", name: "曲阳县" }, { code: "130635", name: "蠡县" }, { code: "130636", name: "顺平县" }, { code: "130637", name: "博野县" }, { code: "130638", name: "雄县" }, { code: "130671", name: "保定高新技术产业开发区" }, { code: "130672", name: "保定白沟新城" }, { code: "130681", name: "涿州市" }, { code: "130682", name: "定州市" }, { code: "130683", name: "安国市" }, { code: "130684", name: "高碑店市" }] }, { code: "1307", name: "张家口市", children: [{ code: "130702", name: "桥东区" }, { code: "130703", name: "桥西区" }, { code: "130705", name: "宣化区" }, { code: "130706", name: "下花园区" }, { code: "130708", name: "万全区" }, { code: "130709", name: "崇礼区" }, { code: "130722", name: "张北县" }, { code: "130723", name: "康保县" }, { code: "130724", name: "沽源县" }, { code: "130725", name: "尚义县" }, { code: "130726", name: "蔚县" }, { code: "130727", name: "阳原县" }, { code: "130728", name: "怀安县" }, { code: "130730", name: "怀来县" }, { code: "130731", name: "涿鹿县" }, { code: "130732", name: "赤城县" }, { code: "130771", name: "张家口经济开发区" }, { code: "130772", name: "张家口市察北管理区" }, { code: "130773", name: "张家口市塞北管理区" }] }, { code: "1308", name: "承德市", children: [{ code: "130802", name: "双桥区" }, { code: "130803", name: "双滦区" }, { code: "130804", name: "鹰手营子矿区" }, { code: "130821", name: "承德县" }, { code: "130822", name: "兴隆县" }, { code: "130824", name: "滦平县" }, { code: "130825", name: "隆化县" }, { code: "130826", name: "丰宁满族自治县" }, { code: "130827", name: "宽城满族自治县" }, { code: "130828", name: "围场满族蒙古族自治县" }, { code: "130871", name: "承德高新技术产业开发区" }, { code: "130881", name: "平泉市" }] }, { code: "1309", name: "沧州市", children: [{ code: "130902", name: "新华区" }, { code: "130903", name: "运河区" }, { code: "130921", name: "沧县" }, { code: "130922", name: "青县" }, { code: "130923", name: "东光县" }, { code: "130924", name: "海兴县" }, { code: "130925", name: "盐山县" }, { code: "130926", name: "肃宁县" }, { code: "130927", name: "南皮县" }, { code: "130928", name: "吴桥县" }, { code: "130929", name: "献县" }, { code: "130930", name: "孟村回族自治县" }, { code: "130971", name: "河北沧州经济开发区" }, { code: "130972", name: "沧州高新技术产业开发区" }, { code: "130973", name: "沧州渤海新区" }, { code: "130981", name: "泊头市" }, { code: "130982", name: "任丘市" }, { code: "130983", name: "黄骅市" }, { code: "130984", name: "河间市" }] }, { code: "1310", name: "廊坊市", children: [{ code: "131002", name: "安次区" }, { code: "131003", name: "广阳区" }, { code: "131022", name: "固安县" }, { code: "131023", name: "永清县" }, { code: "131024", name: "香河县" }, { code: "131025", name: "大城县" }, { code: "131026", name: "文安县" }, { code: "131028", name: "大厂回族自治县" }, { code: "131071", name: "廊坊经济技术开发区" }, { code: "131081", name: "霸州市" }, { code: "131082", name: "三河市" }] }, { code: "1311", name: "衡水市", children: [{ code: "131102", name: "桃城区" }, { code: "131103", name: "冀州区" }, { code: "131121", name: "枣强县" }, { code: "131122", name: "武邑县" }, { code: "131123", name: "武强县" }, { code: "131124", name: "饶阳县" }, { code: "131125", name: "安平县" }, { code: "131126", name: "故城县" }, { code: "131127", name: "景县" }, { code: "131128", name: "阜城县" }, { code: "131171", name: "河北衡水高新技术产业开发区" }, { code: "131172", name: "衡水滨湖新区" }, { code: "131182", name: "深州市" }] }] }, { code: "14", name: "山西省", children: [{ code: "1401", name: "太原市", children: [{ code: "140105", name: "小店区" }, { code: "140106", name: "迎泽区" }, { code: "140107", name: "杏花岭区" }, { code: "140108", name: "尖草坪区" }, { code: "140109", name: "万柏林区" }, { code: "140110", name: "晋源区" }, { code: "140121", name: "清徐县" }, { code: "140122", name: "阳曲县" }, { code: "140123", name: "娄烦县" }, { code: "140171", name: "山西转型综合改革示范区" }, { code: "140181", name: "古交市" }] }, { code: "1402", name: "大同市", children: [{ code: "140212", name: "新荣区" }, { code: "140213", name: "平城区" }, { code: "140214", name: "云冈区" }, { code: "140215", name: "云州区" }, { code: "140221", name: "阳高县" }, { code: "140222", name: "天镇县" }, { code: "140223", name: "广灵县" }, { code: "140224", name: "灵丘县" }, { code: "140225", name: "浑源县" }, { code: "140226", name: "左云县" }, { code: "140271", name: "山西大同经济开发区" }] }, { code: "1403", name: "阳泉市", children: [{ code: "140302", name: "城区" }, { code: "140303", name: "矿区" }, { code: "140311", name: "郊区" }, { code: "140321", name: "平定县" }, { code: "140322", name: "盂县" }] }, { code: "1404", name: "长治市", children: [{ code: "140403", name: "潞州区" }, { code: "140404", name: "上党区" }, { code: "140405", name: "屯留区" }, { code: "140406", name: "潞城区" }, { code: "140423", name: "襄垣县" }, { code: "140425", name: "平顺县" }, { code: "140426", name: "黎城县" }, { code: "140427", name: "壶关县" }, { code: "140428", name: "长子县" }, { code: "140429", name: "武乡县" }, { code: "140430", name: "沁县" }, { code: "140431", name: "沁源县" }, { code: "140471", name: "山西长治高新技术产业园区" }] }, { code: "1405", name: "晋城市", children: [{ code: "140502", name: "城区" }, { code: "140521", name: "沁水县" }, { code: "140522", name: "阳城县" }, { code: "140524", name: "陵川县" }, { code: "140525", name: "泽州县" }, { code: "140581", name: "高平市" }] }, { code: "1406", name: "朔州市", children: [{ code: "140602", name: "朔城区" }, { code: "140603", name: "平鲁区" }, { code: "140621", name: "山阴县" }, { code: "140622", name: "应县" }, { code: "140623", name: "右玉县" }, { code: "140671", name: "山西朔州经济开发区" }, { code: "140681", name: "怀仁市" }] }, { code: "1407", name: "晋中市", children: [{ code: "140702", name: "榆次区" }, { code: "140703", name: "太谷区" }, { code: "140721", name: "榆社县" }, { code: "140722", name: "左权县" }, { code: "140723", name: "和顺县" }, { code: "140724", name: "昔阳县" }, { code: "140725", name: "寿阳县" }, { code: "140727", name: "祁县" }, { code: "140728", name: "平遥县" }, { code: "140729", name: "灵石县" }, { code: "140781", name: "介休市" }] }, { code: "1408", name: "运城市", children: [{ code: "140802", name: "盐湖区" }, { code: "140821", name: "临猗县" }, { code: "140822", name: "万荣县" }, { code: "140823", name: "闻喜县" }, { code: "140824", name: "稷山县" }, { code: "140825", name: "新绛县" }, { code: "140826", name: "绛县" }, { code: "140827", name: "垣曲县" }, { code: "140828", name: "夏县" }, { code: "140829", name: "平陆县" }, { code: "140830", name: "芮城县" }, { code: "140881", name: "永济市" }, { code: "140882", name: "河津市" }] }, { code: "1409", name: "忻州市", children: [{ code: "140902", name: "忻府区" }, { code: "140921", name: "定襄县" }, { code: "140922", name: "五台县" }, { code: "140923", name: "代县" }, { code: "140924", name: "繁峙县" }, { code: "140925", name: "宁武县" }, { code: "140926", name: "静乐县" }, { code: "140927", name: "神池县" }, { code: "140928", name: "五寨县" }, { code: "140929", name: "岢岚县" }, { code: "140930", name: "河曲县" }, { code: "140931", name: "保德县" }, { code: "140932", name: "偏关县" }, { code: "140971", name: "五台山风景名胜区" }, { code: "140981", name: "原平市" }] }, { code: "1410", name: "临汾市", children: [{ code: "141002", name: "尧都区" }, { code: "141021", name: "曲沃县" }, { code: "141022", name: "翼城县" }, { code: "141023", name: "襄汾县" }, { code: "141024", name: "洪洞县" }, { code: "141025", name: "古县" }, { code: "141026", name: "安泽县" }, { code: "141027", name: "浮山县" }, { code: "141028", name: "吉县" }, { code: "141029", name: "乡宁县" }, { code: "141030", name: "大宁县" }, { code: "141031", name: "隰县" }, { code: "141032", name: "永和县" }, { code: "141033", name: "蒲县" }, { code: "141034", name: "汾西县" }, { code: "141081", name: "侯马市" }, { code: "141082", name: "霍州市" }] }, { code: "1411", name: "吕梁市", children: [{ code: "141102", name: "离石区" }, { code: "141121", name: "文水县" }, { code: "141122", name: "交城县" }, { code: "141123", name: "兴县" }, { code: "141124", name: "临县" }, { code: "141125", name: "柳林县" }, { code: "141126", name: "石楼县" }, { code: "141127", name: "岚县" }, { code: "141128", name: "方山县" }, { code: "141129", name: "中阳县" }, { code: "141130", name: "交口县" }, { code: "141181", name: "孝义市" }, { code: "141182", name: "汾阳市" }] }] }, { code: "15", name: "内蒙古自治区", children: [{ code: "1501", name: "呼和浩特市", children: [{ code: "150102", name: "新城区" }, { code: "150103", name: "回民区" }, { code: "150104", name: "玉泉区" }, { code: "150105", name: "赛罕区" }, { code: "150121", name: "土默特左旗" }, { code: "150122", name: "托克托县" }, { code: "150123", name: "和林格尔县" }, { code: "150124", name: "清水河县" }, { code: "150125", name: "武川县" }, { code: "150172", name: "呼和浩特经济技术开发区" }] }, { code: "1502", name: "包头市", children: [{ code: "150202", name: "东河区" }, { code: "150203", name: "昆都仑区" }, { code: "150204", name: "青山区" }, { code: "150205", name: "石拐区" }, { code: "150206", name: "白云鄂博矿区" }, { code: "150207", name: "九原区" }, { code: "150221", name: "土默特右旗" }, { code: "150222", name: "固阳县" }, { code: "150223", name: "达尔罕茂明安联合旗" }, { code: "150271", name: "包头稀土高新技术产业开发区" }] }, { code: "1503", name: "乌海市", children: [{ code: "150302", name: "海勃湾区" }, { code: "150303", name: "海南区" }, { code: "150304", name: "乌达区" }] }, { code: "1504", name: "赤峰市", children: [{ code: "150402", name: "红山区" }, { code: "150403", name: "元宝山区" }, { code: "150404", name: "松山区" }, { code: "150421", name: "阿鲁科尔沁旗" }, { code: "150422", name: "巴林左旗" }, { code: "150423", name: "巴林右旗" }, { code: "150424", name: "林西县" }, { code: "150425", name: "克什克腾旗" }, { code: "150426", name: "翁牛特旗" }, { code: "150428", name: "喀喇沁旗" }, { code: "150429", name: "宁城县" }, { code: "150430", name: "敖汉旗" }] }, { code: "1505", name: "通辽市", children: [{ code: "150502", name: "科尔沁区" }, { code: "150521", name: "科尔沁左翼中旗" }, { code: "150522", name: "科尔沁左翼后旗" }, { code: "150523", name: "开鲁县" }, { code: "150524", name: "库伦旗" }, { code: "150525", name: "奈曼旗" }, { code: "150526", name: "扎鲁特旗" }, { code: "150571", name: "通辽经济技术开发区" }, { code: "150581", name: "霍林郭勒市" }] }, { code: "1506", name: "鄂尔多斯市", children: [{ code: "150602", name: "东胜区" }, { code: "150603", name: "康巴什区" }, { code: "150621", name: "达拉特旗" }, { code: "150622", name: "准格尔旗" }, { code: "150623", name: "鄂托克前旗" }, { code: "150624", name: "鄂托克旗" }, { code: "150625", name: "杭锦旗" }, { code: "150626", name: "乌审旗" }, { code: "150627", name: "伊金霍洛旗" }] }, { code: "1507", name: "呼伦贝尔市", children: [{ code: "150702", name: "海拉尔区" }, { code: "150703", name: "扎赉诺尔区" }, { code: "150721", name: "阿荣旗" }, { code: "150722", name: "莫力达瓦达斡尔族自治旗" }, { code: "150723", name: "鄂伦春自治旗" }, { code: "150724", name: "鄂温克族自治旗" }, { code: "150725", name: "陈巴尔虎旗" }, { code: "150726", name: "新巴尔虎左旗" }, { code: "150727", name: "新巴尔虎右旗" }, { code: "150781", name: "满洲里市" }, { code: "150782", name: "牙克石市" }, { code: "150783", name: "扎兰屯市" }, { code: "150784", name: "额尔古纳市" }, { code: "150785", name: "根河市" }] }, { code: "1508", name: "巴彦淖尔市", children: [{ code: "150802", name: "临河区" }, { code: "150821", name: "五原县" }, { code: "150822", name: "磴口县" }, { code: "150823", name: "乌拉特前旗" }, { code: "150824", name: "乌拉特中旗" }, { code: "150825", name: "乌拉特后旗" }, { code: "150826", name: "杭锦后旗" }] }, { code: "1509", name: "乌兰察布市", children: [{ code: "150902", name: "集宁区" }, { code: "150921", name: "卓资县" }, { code: "150922", name: "化德县" }, { code: "150923", name: "商都县" }, { code: "150924", name: "兴和县" }, { code: "150925", name: "凉城县" }, { code: "150926", name: "察哈尔右翼前旗" }, { code: "150927", name: "察哈尔右翼中旗" }, { code: "150928", name: "察哈尔右翼后旗" }, { code: "150929", name: "四子王旗" }, { code: "150981", name: "丰镇市" }] }, { code: "1522", name: "兴安盟", children: [{ code: "152201", name: "乌兰浩特市" }, { code: "152202", name: "阿尔山市" }, { code: "152221", name: "科尔沁右翼前旗" }, { code: "152222", name: "科尔沁右翼中旗" }, { code: "152223", name: "扎赉特旗" }, { code: "152224", name: "突泉县" }] }, { code: "1525", name: "锡林郭勒盟", children: [{ code: "152501", name: "二连浩特市" }, { code: "152502", name: "锡林浩特市" }, { code: "152522", name: "阿巴嘎旗" }, { code: "152523", name: "苏尼特左旗" }, { code: "152524", name: "苏尼特右旗" }, { code: "152525", name: "东乌珠穆沁旗" }, { code: "152526", name: "西乌珠穆沁旗" }, { code: "152527", name: "太仆寺旗" }, { code: "152528", name: "镶黄旗" }, { code: "152529", name: "正镶白旗" }, { code: "152530", name: "正蓝旗" }, { code: "152531", name: "多伦县" }, { code: "152571", name: "乌拉盖管委会" }] }, { code: "1529", name: "阿拉善盟", children: [{ code: "152921", name: "阿拉善左旗" }, { code: "152922", name: "阿拉善右旗" }, { code: "152923", name: "额济纳旗" }, { code: "152971", name: "内蒙古阿拉善经济开发区" }] }] }, { code: "21", name: "辽宁省", children: [{ code: "2101", name: "沈阳市", children: [{ code: "210102", name: "和平区" }, { code: "210103", name: "沈河区" }, { code: "210104", name: "大东区" }, { code: "210105", name: "皇姑区" }, { code: "210106", name: "铁西区" }, { code: "210111", name: "苏家屯区" }, { code: "210112", name: "浑南区" }, { code: "210113", name: "沈北新区" }, { code: "210114", name: "于洪区" }, { code: "210115", name: "辽中区" }, { code: "210123", name: "康平县" }, { code: "210124", name: "法库县" }, { code: "210181", name: "新民市" }] }, { code: "2102", name: "大连市", children: [{ code: "210202", name: "中山区" }, { code: "210203", name: "西岗区" }, { code: "210204", name: "沙河口区" }, { code: "210211", name: "甘井子区" }, { code: "210212", name: "旅顺口区" }, { code: "210213", name: "金州区" }, { code: "210214", name: "普兰店区" }, { code: "210224", name: "长海县" }, { code: "210281", name: "瓦房店市" }, { code: "210283", name: "庄河市" }] }, { code: "2103", name: "鞍山市", children: [{ code: "210302", name: "铁东区" }, { code: "210303", name: "铁西区" }, { code: "210304", name: "立山区" }, { code: "210311", name: "千山区" }, { code: "210321", name: "台安县" }, { code: "210323", name: "岫岩满族自治县" }, { code: "210381", name: "海城市" }] }, { code: "2104", name: "抚顺市", children: [{ code: "210402", name: "新抚区" }, { code: "210403", name: "东洲区" }, { code: "210404", name: "望花区" }, { code: "210411", name: "顺城区" }, { code: "210421", name: "抚顺县" }, { code: "210422", name: "新宾满族自治县" }, { code: "210423", name: "清原满族自治县" }] }, { code: "2105", name: "本溪市", children: [{ code: "210502", name: "平山区" }, { code: "210503", name: "溪湖区" }, { code: "210504", name: "明山区" }, { code: "210505", name: "南芬区" }, { code: "210521", name: "本溪满族自治县" }, { code: "210522", name: "桓仁满族自治县" }] }, { code: "2106", name: "丹东市", children: [{ code: "210602", name: "元宝区" }, { code: "210603", name: "振兴区" }, { code: "210604", name: "振安区" }, { code: "210624", name: "宽甸满族自治县" }, { code: "210681", name: "东港市" }, { code: "210682", name: "凤城市" }] }, { code: "2107", name: "锦州市", children: [{ code: "210702", name: "古塔区" }, { code: "210703", name: "凌河区" }, { code: "210711", name: "太和区" }, { code: "210726", name: "黑山县" }, { code: "210727", name: "义县" }, { code: "210781", name: "凌海市" }, { code: "210782", name: "北镇市" }] }, { code: "2108", name: "营口市", children: [{ code: "210802", name: "站前区" }, { code: "210803", name: "西市区" }, { code: "210804", name: "鲅鱼圈区" }, { code: "210811", name: "老边区" }, { code: "210881", name: "盖州市" }, { code: "210882", name: "大石桥市" }] }, { code: "2109", name: "阜新市", children: [{ code: "210902", name: "海州区" }, { code: "210903", name: "新邱区" }, { code: "210904", name: "太平区" }, { code: "210905", name: "清河门区" }, { code: "210911", name: "细河区" }, { code: "210921", name: "阜新蒙古族自治县" }, { code: "210922", name: "彰武县" }] }, { code: "2110", name: "辽阳市", children: [{ code: "211002", name: "白塔区" }, { code: "211003", name: "文圣区" }, { code: "211004", name: "宏伟区" }, { code: "211005", name: "弓长岭区" }, { code: "211011", name: "太子河区" }, { code: "211021", name: "辽阳县" }, { code: "211081", name: "灯塔市" }] }, { code: "2111", name: "盘锦市", children: [{ code: "211102", name: "双台子区" }, { code: "211103", name: "兴隆台区" }, { code: "211104", name: "大洼区" }, { code: "211122", name: "盘山县" }] }, { code: "2112", name: "铁岭市", children: [{ code: "211202", name: "银州区" }, { code: "211204", name: "清河区" }, { code: "211221", name: "铁岭县" }, { code: "211223", name: "西丰县" }, { code: "211224", name: "昌图县" }, { code: "211281", name: "调兵山市" }, { code: "211282", name: "开原市" }] }, { code: "2113", name: "朝阳市", children: [{ code: "211302", name: "双塔区" }, { code: "211303", name: "龙城区" }, { code: "211321", name: "朝阳县" }, { code: "211322", name: "建平县" }, { code: "211324", name: "喀喇沁左翼蒙古族自治县" }, { code: "211381", name: "北票市" }, { code: "211382", name: "凌源市" }] }, { code: "2114", name: "葫芦岛市", children: [{ code: "211402", name: "连山区" }, { code: "211403", name: "龙港区" }, { code: "211404", name: "南票区" }, { code: "211421", name: "绥中县" }, { code: "211422", name: "建昌县" }, { code: "211481", name: "兴城市" }] }] }, { code: "22", name: "吉林省", children: [{ code: "2201", name: "长春市", children: [{ code: "220102", name: "南关区" }, { code: "220103", name: "宽城区" }, { code: "220104", name: "朝阳区" }, { code: "220105", name: "二道区" }, { code: "220106", name: "绿园区" }, { code: "220112", name: "双阳区" }, { code: "220113", name: "九台区" }, { code: "220122", name: "农安县" }, { code: "220171", name: "长春经济技术开发区" }, { code: "220172", name: "长春净月高新技术产业开发区" }, { code: "220173", name: "长春高新技术产业开发区" }, { code: "220174", name: "长春汽车经济技术开发区" }, { code: "220182", name: "榆树市" }, { code: "220183", name: "德惠市" }, { code: "220184", name: "公主岭市" }] }, { code: "2202", name: "吉林市", children: [{ code: "220202", name: "昌邑区" }, { code: "220203", name: "龙潭区" }, { code: "220204", name: "船营区" }, { code: "220211", name: "丰满区" }, { code: "220221", name: "永吉县" }, { code: "220271", name: "吉林经济开发区" }, { code: "220272", name: "吉林高新技术产业开发区" }, { code: "220273", name: "吉林中国新加坡食品区" }, { code: "220281", name: "蛟河市" }, { code: "220282", name: "桦甸市" }, { code: "220283", name: "舒兰市" }, { code: "220284", name: "磐石市" }] }, { code: "2203", name: "四平市", children: [{ code: "220302", name: "铁西区" }, { code: "220303", name: "铁东区" }, { code: "220322", name: "梨树县" }, { code: "220323", name: "伊通满族自治县" }, { code: "220382", name: "双辽市" }] }, { code: "2204", name: "辽源市", children: [{ code: "220402", name: "龙山区" }, { code: "220403", name: "西安区" }, { code: "220421", name: "东丰县" }, { code: "220422", name: "东辽县" }] }, { code: "2205", name: "通化市", children: [{ code: "220502", name: "东昌区" }, { code: "220503", name: "二道江区" }, { code: "220521", name: "通化县" }, { code: "220523", name: "辉南县" }, { code: "220524", name: "柳河县" }, { code: "220581", name: "梅河口市" }, { code: "220582", name: "集安市" }] }, { code: "2206", name: "白山市", children: [{ code: "220602", name: "浑江区" }, { code: "220605", name: "江源区" }, { code: "220621", name: "抚松县" }, { code: "220622", name: "靖宇县" }, { code: "220623", name: "长白朝鲜族自治县" }, { code: "220681", name: "临江市" }] }, { code: "2207", name: "松原市", children: [{ code: "220702", name: "宁江区" }, { code: "220721", name: "前郭尔罗斯蒙古族自治县" }, { code: "220722", name: "长岭县" }, { code: "220723", name: "乾安县" }, { code: "220771", name: "吉林松原经济开发区" }, { code: "220781", name: "扶余市" }] }, { code: "2208", name: "白城市", children: [{ code: "220802", name: "洮北区" }, { code: "220821", name: "镇赉县" }, { code: "220822", name: "通榆县" }, { code: "220871", name: "吉林白城经济开发区" }, { code: "220881", name: "洮南市" }, { code: "220882", name: "大安市" }] }, { code: "2224", name: "延边朝鲜族自治州", children: [{ code: "222401", name: "延吉市" }, { code: "222402", name: "图们市" }, { code: "222403", name: "敦化市" }, { code: "222404", name: "珲春市" }, { code: "222405", name: "龙井市" }, { code: "222406", name: "和龙市" }, { code: "222424", name: "汪清县" }, { code: "222426", name: "安图县" }] }] }, { code: "23", name: "黑龙江省", children: [{ code: "2301", name: "哈尔滨市", children: [{ code: "230102", name: "道里区" }, { code: "230103", name: "南岗区" }, { code: "230104", name: "道外区" }, { code: "230108", name: "平房区" }, { code: "230109", name: "松北区" }, { code: "230110", name: "香坊区" }, { code: "230111", name: "呼兰区" }, { code: "230112", name: "阿城区" }, { code: "230113", name: "双城区" }, { code: "230123", name: "依兰县" }, { code: "230124", name: "方正县" }, { code: "230125", name: "宾县" }, { code: "230126", name: "巴彦县" }, { code: "230127", name: "木兰县" }, { code: "230128", name: "通河县" }, { code: "230129", name: "延寿县" }, { code: "230183", name: "尚志市" }, { code: "230184", name: "五常市" }] }, { code: "2302", name: "齐齐哈尔市", children: [{ code: "230202", name: "龙沙区" }, { code: "230203", name: "建华区" }, { code: "230204", name: "铁锋区" }, { code: "230205", name: "昂昂溪区" }, { code: "230206", name: "富拉尔基区" }, { code: "230207", name: "碾子山区" }, { code: "230208", name: "梅里斯达斡尔族区" }, { code: "230221", name: "龙江县" }, { code: "230223", name: "依安县" }, { code: "230224", name: "泰来县" }, { code: "230225", name: "甘南县" }, { code: "230227", name: "富裕县" }, { code: "230229", name: "克山县" }, { code: "230230", name: "克东县" }, { code: "230231", name: "拜泉县" }, { code: "230281", name: "讷河市" }] }, { code: "2303", name: "鸡西市", children: [{ code: "230302", name: "鸡冠区" }, { code: "230303", name: "恒山区" }, { code: "230304", name: "滴道区" }, { code: "230305", name: "梨树区" }, { code: "230306", name: "城子河区" }, { code: "230307", name: "麻山区" }, { code: "230321", name: "鸡东县" }, { code: "230381", name: "虎林市" }, { code: "230382", name: "密山市" }] }, { code: "2304", name: "鹤岗市", children: [{ code: "230402", name: "向阳区" }, { code: "230403", name: "工农区" }, { code: "230404", name: "南山区" }, { code: "230405", name: "兴安区" }, { code: "230406", name: "东山区" }, { code: "230407", name: "兴山区" }, { code: "230421", name: "萝北县" }, { code: "230422", name: "绥滨县" }] }, { code: "2305", name: "双鸭山市", children: [{ code: "230502", name: "尖山区" }, { code: "230503", name: "岭东区" }, { code: "230505", name: "四方台区" }, { code: "230506", name: "宝山区" }, { code: "230521", name: "集贤县" }, { code: "230522", name: "友谊县" }, { code: "230523", name: "宝清县" }, { code: "230524", name: "饶河县" }] }, { code: "2306", name: "大庆市", children: [{ code: "230602", name: "萨尔图区" }, { code: "230603", name: "龙凤区" }, { code: "230604", name: "让胡路区" }, { code: "230605", name: "红岗区" }, { code: "230606", name: "大同区" }, { code: "230621", name: "肇州县" }, { code: "230622", name: "肇源县" }, { code: "230623", name: "林甸县" }, { code: "230624", name: "杜尔伯特蒙古族自治县" }, { code: "230671", name: "大庆高新技术产业开发区" }] }, { code: "2307", name: "伊春市", children: [{ code: "230717", name: "伊美区" }, { code: "230718", name: "乌翠区" }, { code: "230719", name: "友好区" }, { code: "230722", name: "嘉荫县" }, { code: "230723", name: "汤旺县" }, { code: "230724", name: "丰林县" }, { code: "230725", name: "大箐山县" }, { code: "230726", name: "南岔县" }, { code: "230751", name: "金林区" }, { code: "230781", name: "铁力市" }] }, { code: "2308", name: "佳木斯市", children: [{ code: "230803", name: "向阳区" }, { code: "230804", name: "前进区" }, { code: "230805", name: "东风区" }, { code: "230811", name: "郊区" }, { code: "230822", name: "桦南县" }, { code: "230826", name: "桦川县" }, { code: "230828", name: "汤原县" }, { code: "230881", name: "同江市" }, { code: "230882", name: "富锦市" }, { code: "230883", name: "抚远市" }] }, { code: "2309", name: "七台河市", children: [{ code: "230902", name: "新兴区" }, { code: "230903", name: "桃山区" }, { code: "230904", name: "茄子河区" }, { code: "230921", name: "勃利县" }] }, { code: "2310", name: "牡丹江市", children: [{ code: "231002", name: "东安区" }, { code: "231003", name: "阳明区" }, { code: "231004", name: "爱民区" }, { code: "231005", name: "西安区" }, { code: "231025", name: "林口县" }, { code: "231071", name: "牡丹江经济技术开发区" }, { code: "231081", name: "绥芬河市" }, { code: "231083", name: "海林市" }, { code: "231084", name: "宁安市" }, { code: "231085", name: "穆棱市" }, { code: "231086", name: "东宁市" }] }, { code: "2311", name: "黑河市", children: [{ code: "231102", name: "爱辉区" }, { code: "231123", name: "逊克县" }, { code: "231124", name: "孙吴县" }, { code: "231181", name: "北安市" }, { code: "231182", name: "五大连池市" }, { code: "231183", name: "嫩江市" }] }, { code: "2312", name: "绥化市", children: [{ code: "231202", name: "北林区" }, { code: "231221", name: "望奎县" }, { code: "231222", name: "兰西县" }, { code: "231223", name: "青冈县" }, { code: "231224", name: "庆安县" }, { code: "231225", name: "明水县" }, { code: "231226", name: "绥棱县" }, { code: "231281", name: "安达市" }, { code: "231282", name: "肇东市" }, { code: "231283", name: "海伦市" }] }, { code: "2327", name: "大兴安岭地区", children: [{ code: "232701", name: "漠河市" }, { code: "232721", name: "呼玛县" }, { code: "232722", name: "塔河县" }, { code: "232761", name: "加格达奇区" }, { code: "232762", name: "松岭区" }, { code: "232763", name: "新林区" }, { code: "232764", name: "呼中区" }] }] }, { code: "31", name: "上海市", children: [{ code: "3101", name: "市辖区", children: [{ code: "310101", name: "黄浦区" }, { code: "310104", name: "徐汇区" }, { code: "310105", name: "长宁区" }, { code: "310106", name: "静安区" }, { code: "310107", name: "普陀区" }, { code: "310109", name: "虹口区" }, { code: "310110", name: "杨浦区" }, { code: "310112", name: "闵行区" }, { code: "310113", name: "宝山区" }, { code: "310114", name: "嘉定区" }, { code: "310115", name: "浦东新区" }, { code: "310116", name: "金山区" }, { code: "310117", name: "松江区" }, { code: "310118", name: "青浦区" }, { code: "310120", name: "奉贤区" }, { code: "310151", name: "崇明区" }] }] }, { code: "32", name: "江苏省", children: [{ code: "3201", name: "南京市", children: [{ code: "320102", name: "玄武区" }, { code: "320104", name: "秦淮区" }, { code: "320105", name: "建邺区" }, { code: "320106", name: "鼓楼区" }, { code: "320111", name: "浦口区" }, { code: "320113", name: "栖霞区" }, { code: "320114", name: "雨花台区" }, { code: "320115", name: "江宁区" }, { code: "320116", name: "六合区" }, { code: "320117", name: "溧水区" }, { code: "320118", name: "高淳区" }] }, { code: "3202", name: "无锡市", children: [{ code: "320205", name: "锡山区" }, { code: "320206", name: "惠山区" }, { code: "320211", name: "滨湖区" }, { code: "320213", name: "梁溪区" }, { code: "320214", name: "新吴区" }, { code: "320281", name: "江阴市" }, { code: "320282", name: "宜兴市" }] }, { code: "3203", name: "徐州市", children: [{ code: "320302", name: "鼓楼区" }, { code: "320303", name: "云龙区" }, { code: "320305", name: "贾汪区" }, { code: "320311", name: "泉山区" }, { code: "320312", name: "铜山区" }, { code: "320321", name: "丰县" }, { code: "320322", name: "沛县" }, { code: "320324", name: "睢宁县" }, { code: "320371", name: "徐州经济技术开发区" }, { code: "320381", name: "新沂市" }, { code: "320382", name: "邳州市" }] }, { code: "3204", name: "常州市", children: [{ code: "320402", name: "天宁区" }, { code: "320404", name: "钟楼区" }, { code: "320411", name: "新北区" }, { code: "320412", name: "武进区" }, { code: "320413", name: "金坛区" }, { code: "320481", name: "溧阳市" }] }, { code: "3205", name: "苏州市", children: [{ code: "320505", name: "虎丘区" }, { code: "320506", name: "吴中区" }, { code: "320507", name: "相城区" }, { code: "320508", name: "姑苏区" }, { code: "320509", name: "吴江区" }, { code: "320571", name: "苏州工业园区" }, { code: "320581", name: "常熟市" }, { code: "320582", name: "张家港市" }, { code: "320583", name: "昆山市" }, { code: "320585", name: "太仓市" }] }, { code: "3206", name: "南通市", children: [{ code: "320602", name: "崇川区" }, { code: "320611", name: "港闸区" }, { code: "320612", name: "通州区" }, { code: "320623", name: "如东县" }, { code: "320671", name: "南通经济技术开发区" }, { code: "320681", name: "启东市" }, { code: "320682", name: "如皋市" }, { code: "320684", name: "海门市" }, { code: "320685", name: "海安市" }] }, { code: "3207", name: "连云港市", children: [{ code: "320703", name: "连云区" }, { code: "320706", name: "海州区" }, { code: "320707", name: "赣榆区" }, { code: "320722", name: "东海县" }, { code: "320723", name: "灌云县" }, { code: "320724", name: "灌南县" }, { code: "320771", name: "连云港经济技术开发区" }, { code: "320772", name: "连云港高新技术产业开发区" }] }, { code: "3208", name: "淮安市", children: [{ code: "320803", name: "淮安区" }, { code: "320804", name: "淮阴区" }, { code: "320812", name: "清江浦区" }, { code: "320813", name: "洪泽区" }, { code: "320826", name: "涟水县" }, { code: "320830", name: "盱眙县" }, { code: "320831", name: "金湖县" }, { code: "320871", name: "淮安经济技术开发区" }] }, { code: "3209", name: "盐城市", children: [{ code: "320902", name: "亭湖区" }, { code: "320903", name: "盐都区" }, { code: "320904", name: "大丰区" }, { code: "320921", name: "响水县" }, { code: "320922", name: "滨海县" }, { code: "320923", name: "阜宁县" }, { code: "320924", name: "射阳县" }, { code: "320925", name: "建湖县" }, { code: "320971", name: "盐城经济技术开发区" }, { code: "320981", name: "东台市" }] }, { code: "3210", name: "扬州市", children: [{ code: "321002", name: "广陵区" }, { code: "321003", name: "邗江区" }, { code: "321012", name: "江都区" }, { code: "321023", name: "宝应县" }, { code: "321071", name: "扬州经济技术开发区" }, { code: "321081", name: "仪征市" }, { code: "321084", name: "高邮市" }] }, { code: "3211", name: "镇江市", children: [{ code: "321102", name: "京口区" }, { code: "321111", name: "润州区" }, { code: "321112", name: "丹徒区" }, { code: "321171", name: "镇江新区" }, { code: "321181", name: "丹阳市" }, { code: "321182", name: "扬中市" }, { code: "321183", name: "句容市" }] }, { code: "3212", name: "泰州市", children: [{ code: "321202", name: "海陵区" }, { code: "321203", name: "高港区" }, { code: "321204", name: "姜堰区" }, { code: "321271", name: "泰州医药高新技术产业开发区" }, { code: "321281", name: "兴化市" }, { code: "321282", name: "靖江市" }, { code: "321283", name: "泰兴市" }] }, { code: "3213", name: "宿迁市", children: [{ code: "321302", name: "宿城区" }, { code: "321311", name: "宿豫区" }, { code: "321322", name: "沭阳县" }, { code: "321323", name: "泗阳县" }, { code: "321324", name: "泗洪县" }, { code: "321371", name: "宿迁经济技术开发区" }] }] }, { code: "33", name: "浙江省", children: [{ code: "3301", name: "杭州市", children: [{ code: "330102", name: "上城区" }, { code: "330103", name: "下城区" }, { code: "330104", name: "江干区" }, { code: "330105", name: "拱墅区" }, { code: "330106", name: "西湖区" }, { code: "330108", name: "滨江区" }, { code: "330109", name: "萧山区" }, { code: "330110", name: "余杭区" }, { code: "330111", name: "富阳区" }, { code: "330112", name: "临安区" }, { code: "330122", name: "桐庐县" }, { code: "330127", name: "淳安县" }, { code: "330182", name: "建德市" }] }, { code: "3302", name: "宁波市", children: [{ code: "330203", name: "海曙区" }, { code: "330205", name: "江北区" }, { code: "330206", name: "北仑区" }, { code: "330211", name: "镇海区" }, { code: "330212", name: "鄞州区" }, { code: "330213", name: "奉化区" }, { code: "330225", name: "象山县" }, { code: "330226", name: "宁海县" }, { code: "330281", name: "余姚市" }, { code: "330282", name: "慈溪市" }] }, { code: "3303", name: "温州市", children: [{ code: "330302", name: "鹿城区" }, { code: "330303", name: "龙湾区" }, { code: "330304", name: "瓯海区" }, { code: "330305", name: "洞头区" }, { code: "330324", name: "永嘉县" }, { code: "330326", name: "平阳县" }, { code: "330327", name: "苍南县" }, { code: "330328", name: "文成县" }, { code: "330329", name: "泰顺县" }, { code: "330371", name: "温州经济技术开发区" }, { code: "330381", name: "瑞安市" }, { code: "330382", name: "乐清市" }, { code: "330383", name: "龙港市" }] }, { code: "3304", name: "嘉兴市", children: [{ code: "330402", name: "南湖区" }, { code: "330411", name: "秀洲区" }, { code: "330421", name: "嘉善县" }, { code: "330424", name: "海盐县" }, { code: "330481", name: "海宁市" }, { code: "330482", name: "平湖市" }, { code: "330483", name: "桐乡市" }] }, { code: "3305", name: "湖州市", children: [{ code: "330502", name: "吴兴区" }, { code: "330503", name: "南浔区" }, { code: "330521", name: "德清县" }, { code: "330522", name: "长兴县" }, { code: "330523", name: "安吉县" }] }, { code: "3306", name: "绍兴市", children: [{ code: "330602", name: "越城区" }, { code: "330603", name: "柯桥区" }, { code: "330604", name: "上虞区" }, { code: "330624", name: "新昌县" }, { code: "330681", name: "诸暨市" }, { code: "330683", name: "嵊州市" }] }, { code: "3307", name: "金华市", children: [{ code: "330702", name: "婺城区" }, { code: "330703", name: "金东区" }, { code: "330723", name: "武义县" }, { code: "330726", name: "浦江县" }, { code: "330727", name: "磐安县" }, { code: "330781", name: "兰溪市" }, { code: "330782", name: "义乌市" }, { code: "330783", name: "东阳市" }, { code: "330784", name: "永康市" }] }, { code: "3308", name: "衢州市", children: [{ code: "330802", name: "柯城区" }, { code: "330803", name: "衢江区" }, { code: "330822", name: "常山县" }, { code: "330824", name: "开化县" }, { code: "330825", name: "龙游县" }, { code: "330881", name: "江山市" }] }, { code: "3309", name: "舟山市", children: [{ code: "330902", name: "定海区" }, { code: "330903", name: "普陀区" }, { code: "330921", name: "岱山县" }, { code: "330922", name: "嵊泗县" }] }, { code: "3310", name: "台州市", children: [{ code: "331002", name: "椒江区" }, { code: "331003", name: "黄岩区" }, { code: "331004", name: "路桥区" }, { code: "331022", name: "三门县" }, { code: "331023", name: "天台县" }, { code: "331024", name: "仙居县" }, { code: "331081", name: "温岭市" }, { code: "331082", name: "临海市" }, { code: "331083", name: "玉环市" }] }, { code: "3311", name: "丽水市", children: [{ code: "331102", name: "莲都区" }, { code: "331121", name: "青田县" }, { code: "331122", name: "缙云县" }, { code: "331123", name: "遂昌县" }, { code: "331124", name: "松阳县" }, { code: "331125", name: "云和县" }, { code: "331126", name: "庆元县" }, { code: "331127", name: "景宁畲族自治县" }, { code: "331181", name: "龙泉市" }] }] }, { code: "34", name: "安徽省", children: [{ code: "3401", name: "合肥市", children: [{ code: "340102", name: "瑶海区" }, { code: "340103", name: "庐阳区" }, { code: "340104", name: "蜀山区" }, { code: "340111", name: "包河区" }, { code: "340121", name: "长丰县" }, { code: "340122", name: "肥东县" }, { code: "340123", name: "肥西县" }, { code: "340124", name: "庐江县" }, { code: "340171", name: "合肥高新技术产业开发区" }, { code: "340172", name: "合肥经济技术开发区" }, { code: "340173", name: "合肥新站高新技术产业开发区" }, { code: "340181", name: "巢湖市" }] }, { code: "3402", name: "芜湖市", children: [{ code: "340202", name: "镜湖区" }, { code: "340203", name: "弋江区" }, { code: "340207", name: "鸠江区" }, { code: "340208", name: "三山区" }, { code: "340221", name: "芜湖县" }, { code: "340222", name: "繁昌县" }, { code: "340223", name: "南陵县" }, { code: "340271", name: "芜湖经济技术开发区" }, { code: "340272", name: "安徽芜湖长江大桥经济开发区" }, { code: "340281", name: "无为市" }] }, { code: "3403", name: "蚌埠市", children: [{ code: "340302", name: "龙子湖区" }, { code: "340303", name: "蚌山区" }, { code: "340304", name: "禹会区" }, { code: "340311", name: "淮上区" }, { code: "340321", name: "怀远县" }, { code: "340322", name: "五河县" }, { code: "340323", name: "固镇县" }, { code: "340371", name: "蚌埠市高新技术开发区" }, { code: "340372", name: "蚌埠市经济开发区" }] }, { code: "3404", name: "淮南市", children: [{ code: "340402", name: "大通区" }, { code: "340403", name: "田家庵区" }, { code: "340404", name: "谢家集区" }, { code: "340405", name: "八公山区" }, { code: "340406", name: "潘集区" }, { code: "340421", name: "凤台县" }, { code: "340422", name: "寿县" }] }, { code: "3405", name: "马鞍山市", children: [{ code: "340503", name: "花山区" }, { code: "340504", name: "雨山区" }, { code: "340506", name: "博望区" }, { code: "340521", name: "当涂县" }, { code: "340522", name: "含山县" }, { code: "340523", name: "和县" }] }, { code: "3406", name: "淮北市", children: [{ code: "340602", name: "杜集区" }, { code: "340603", name: "相山区" }, { code: "340604", name: "烈山区" }, { code: "340621", name: "濉溪县" }] }, { code: "3407", name: "铜陵市", children: [{ code: "340705", name: "铜官区" }, { code: "340706", name: "义安区" }, { code: "340711", name: "郊区" }, { code: "340722", name: "枞阳县" }] }, { code: "3408", name: "安庆市", children: [{ code: "340802", name: "迎江区" }, { code: "340803", name: "大观区" }, { code: "340811", name: "宜秀区" }, { code: "340822", name: "怀宁县" }, { code: "340825", name: "太湖县" }, { code: "340826", name: "宿松县" }, { code: "340827", name: "望江县" }, { code: "340828", name: "岳西县" }, { code: "340871", name: "安徽安庆经济开发区" }, { code: "340881", name: "桐城市" }, { code: "340882", name: "潜山市" }] }, { code: "3410", name: "黄山市", children: [{ code: "341002", name: "屯溪区" }, { code: "341003", name: "黄山区" }, { code: "341004", name: "徽州区" }, { code: "341021", name: "歙县" }, { code: "341022", name: "休宁县" }, { code: "341023", name: "黟县" }, { code: "341024", name: "祁门县" }] }, { code: "3411", name: "滁州市", children: [{ code: "341102", name: "琅琊区" }, { code: "341103", name: "南谯区" }, { code: "341122", name: "来安县" }, { code: "341124", name: "全椒县" }, { code: "341125", name: "定远县" }, { code: "341126", name: "凤阳县" }, { code: "341171", name: "苏滁现代产业园" }, { code: "341172", name: "滁州经济技术开发区" }, { code: "341181", name: "天长市" }, { code: "341182", name: "明光市" }] }, { code: "3412", name: "阜阳市", children: [{ code: "341202", name: "颍州区" }, { code: "341203", name: "颍东区" }, { code: "341204", name: "颍泉区" }, { code: "341221", name: "临泉县" }, { code: "341222", name: "太和县" }, { code: "341225", name: "阜南县" }, { code: "341226", name: "颍上县" }, { code: "341271", name: "阜阳合肥现代产业园区" }, { code: "341272", name: "阜阳经济技术开发区" }, { code: "341282", name: "界首市" }] }, { code: "3413", name: "宿州市", children: [{ code: "341302", name: "埇桥区" }, { code: "341321", name: "砀山县" }, { code: "341322", name: "萧县" }, { code: "341323", name: "灵璧县" }, { code: "341324", name: "泗县" }, { code: "341371", name: "宿州马鞍山现代产业园区" }, { code: "341372", name: "宿州经济技术开发区" }] }, { code: "3415", name: "六安市", children: [{ code: "341502", name: "金安区" }, { code: "341503", name: "裕安区" }, { code: "341504", name: "叶集区" }, { code: "341522", name: "霍邱县" }, { code: "341523", name: "舒城县" }, { code: "341524", name: "金寨县" }, { code: "341525", name: "霍山县" }] }, { code: "3416", name: "亳州市", children: [{ code: "341602", name: "谯城区" }, { code: "341621", name: "涡阳县" }, { code: "341622", name: "蒙城县" }, { code: "341623", name: "利辛县" }] }, { code: "3417", name: "池州市", children: [{ code: "341702", name: "贵池区" }, { code: "341721", name: "东至县" }, { code: "341722", name: "石台县" }, { code: "341723", name: "青阳县" }] }, { code: "3418", name: "宣城市", children: [{ code: "341802", name: "宣州区" }, { code: "341821", name: "郎溪县" }, { code: "341823", name: "泾县" }, { code: "341824", name: "绩溪县" }, { code: "341825", name: "旌德县" }, { code: "341871", name: "宣城市经济开发区" }, { code: "341881", name: "宁国市" }, { code: "341882", name: "广德市" }] }] }, { code: "35", name: "福建省", children: [{ code: "3501", name: "福州市", children: [{ code: "350102", name: "鼓楼区" }, { code: "350103", name: "台江区" }, { code: "350104", name: "仓山区" }, { code: "350105", name: "马尾区" }, { code: "350111", name: "晋安区" }, { code: "350112", name: "长乐区" }, { code: "350121", name: "闽侯县" }, { code: "350122", name: "连江县" }, { code: "350123", name: "罗源县" }, { code: "350124", name: "闽清县" }, { code: "350125", name: "永泰县" }, { code: "350128", name: "平潭县" }, { code: "350181", name: "福清市" }] }, { code: "3502", name: "厦门市", children: [{ code: "350203", name: "思明区" }, { code: "350205", name: "海沧区" }, { code: "350206", name: "湖里区" }, { code: "350211", name: "集美区" }, { code: "350212", name: "同安区" }, { code: "350213", name: "翔安区" }] }, { code: "3503", name: "莆田市", children: [{ code: "350302", name: "城厢区" }, { code: "350303", name: "涵江区" }, { code: "350304", name: "荔城区" }, { code: "350305", name: "秀屿区" }, { code: "350322", name: "仙游县" }] }, { code: "3504", name: "三明市", children: [{ code: "350402", name: "梅列区" }, { code: "350403", name: "三元区" }, { code: "350421", name: "明溪县" }, { code: "350423", name: "清流县" }, { code: "350424", name: "宁化县" }, { code: "350425", name: "大田县" }, { code: "350426", name: "尤溪县" }, { code: "350427", name: "沙县" }, { code: "350428", name: "将乐县" }, { code: "350429", name: "泰宁县" }, { code: "350430", name: "建宁县" }, { code: "350481", name: "永安市" }] }, { code: "3505", name: "泉州市", children: [{ code: "350502", name: "鲤城区" }, { code: "350503", name: "丰泽区" }, { code: "350504", name: "洛江区" }, { code: "350505", name: "泉港区" }, { code: "350521", name: "惠安县" }, { code: "350524", name: "安溪县" }, { code: "350525", name: "永春县" }, { code: "350526", name: "德化县" }, { code: "350527", name: "金门县" }, { code: "350581", name: "石狮市" }, { code: "350582", name: "晋江市" }, { code: "350583", name: "南安市" }] }, { code: "3506", name: "漳州市", children: [{ code: "350602", name: "芗城区" }, { code: "350603", name: "龙文区" }, { code: "350622", name: "云霄县" }, { code: "350623", name: "漳浦县" }, { code: "350624", name: "诏安县" }, { code: "350625", name: "长泰县" }, { code: "350626", name: "东山县" }, { code: "350627", name: "南靖县" }, { code: "350628", name: "平和县" }, { code: "350629", name: "华安县" }, { code: "350681", name: "龙海市" }] }, { code: "3507", name: "南平市", children: [{ code: "350702", name: "延平区" }, { code: "350703", name: "建阳区" }, { code: "350721", name: "顺昌县" }, { code: "350722", name: "浦城县" }, { code: "350723", name: "光泽县" }, { code: "350724", name: "松溪县" }, { code: "350725", name: "政和县" }, { code: "350781", name: "邵武市" }, { code: "350782", name: "武夷山市" }, { code: "350783", name: "建瓯市" }] }, { code: "3508", name: "龙岩市", children: [{ code: "350802", name: "新罗区" }, { code: "350803", name: "永定区" }, { code: "350821", name: "长汀县" }, { code: "350823", name: "上杭县" }, { code: "350824", name: "武平县" }, { code: "350825", name: "连城县" }, { code: "350881", name: "漳平市" }] }, { code: "3509", name: "宁德市", children: [{ code: "350902", name: "蕉城区" }, { code: "350921", name: "霞浦县" }, { code: "350922", name: "古田县" }, { code: "350923", name: "屏南县" }, { code: "350924", name: "寿宁县" }, { code: "350925", name: "周宁县" }, { code: "350926", name: "柘荣县" }, { code: "350981", name: "福安市" }, { code: "350982", name: "福鼎市" }] }] }, { code: "36", name: "江西省", children: [{ code: "3601", name: "南昌市", children: [{ code: "360102", name: "东湖区" }, { code: "360103", name: "西湖区" }, { code: "360104", name: "青云谱区" }, { code: "360111", name: "青山湖区" }, { code: "360112", name: "新建区" }, { code: "360113", name: "红谷滩区" }, { code: "360121", name: "南昌县" }, { code: "360123", name: "安义县" }, { code: "360124", name: "进贤县" }] }, { code: "3602", name: "景德镇市", children: [{ code: "360202", name: "昌江区" }, { code: "360203", name: "珠山区" }, { code: "360222", name: "浮梁县" }, { code: "360281", name: "乐平市" }] }, { code: "3603", name: "萍乡市", children: [{ code: "360302", name: "安源区" }, { code: "360313", name: "湘东区" }, { code: "360321", name: "莲花县" }, { code: "360322", name: "上栗县" }, { code: "360323", name: "芦溪县" }] }, { code: "3604", name: "九江市", children: [{ code: "360402", name: "濂溪区" }, { code: "360403", name: "浔阳区" }, { code: "360404", name: "柴桑区" }, { code: "360423", name: "武宁县" }, { code: "360424", name: "修水县" }, { code: "360425", name: "永修县" }, { code: "360426", name: "德安县" }, { code: "360428", name: "都昌县" }, { code: "360429", name: "湖口县" }, { code: "360430", name: "彭泽县" }, { code: "360481", name: "瑞昌市" }, { code: "360482", name: "共青城市" }, { code: "360483", name: "庐山市" }] }, { code: "3605", name: "新余市", children: [{ code: "360502", name: "渝水区" }, { code: "360521", name: "分宜县" }] }, { code: "3606", name: "鹰潭市", children: [{ code: "360602", name: "月湖区" }, { code: "360603", name: "余江区" }, { code: "360681", name: "贵溪市" }] }, { code: "3607", name: "赣州市", children: [{ code: "360702", name: "章贡区" }, { code: "360703", name: "南康区" }, { code: "360704", name: "赣县区" }, { code: "360722", name: "信丰县" }, { code: "360723", name: "大余县" }, { code: "360724", name: "上犹县" }, { code: "360725", name: "崇义县" }, { code: "360726", name: "安远县" }, { code: "360728", name: "定南县" }, { code: "360729", name: "全南县" }, { code: "360730", name: "宁都县" }, { code: "360731", name: "于都县" }, { code: "360732", name: "兴国县" }, { code: "360733", name: "会昌县" }, { code: "360734", name: "寻乌县" }, { code: "360735", name: "石城县" }, { code: "360781", name: "瑞金市" }, { code: "360783", name: "龙南市" }] }, { code: "3608", name: "吉安市", children: [{ code: "360802", name: "吉州区" }, { code: "360803", name: "青原区" }, { code: "360821", name: "吉安县" }, { code: "360822", name: "吉水县" }, { code: "360823", name: "峡江县" }, { code: "360824", name: "新干县" }, { code: "360825", name: "永丰县" }, { code: "360826", name: "泰和县" }, { code: "360827", name: "遂川县" }, { code: "360828", name: "万安县" }, { code: "360829", name: "安福县" }, { code: "360830", name: "永新县" }, { code: "360881", name: "井冈山市" }] }, { code: "3609", name: "宜春市", children: [{ code: "360902", name: "袁州区" }, { code: "360921", name: "奉新县" }, { code: "360922", name: "万载县" }, { code: "360923", name: "上高县" }, { code: "360924", name: "宜丰县" }, { code: "360925", name: "靖安县" }, { code: "360926", name: "铜鼓县" }, { code: "360981", name: "丰城市" }, { code: "360982", name: "樟树市" }, { code: "360983", name: "高安市" }] }, { code: "3610", name: "抚州市", children: [{ code: "361002", name: "临川区" }, { code: "361003", name: "东乡区" }, { code: "361021", name: "南城县" }, { code: "361022", name: "黎川县" }, { code: "361023", name: "南丰县" }, { code: "361024", name: "崇仁县" }, { code: "361025", name: "乐安县" }, { code: "361026", name: "宜黄县" }, { code: "361027", name: "金溪县" }, { code: "361028", name: "资溪县" }, { code: "361030", name: "广昌县" }] }, { code: "3611", name: "上饶市", children: [{ code: "361102", name: "信州区" }, { code: "361103", name: "广丰区" }, { code: "361104", name: "广信区" }, { code: "361123", name: "玉山县" }, { code: "361124", name: "铅山县" }, { code: "361125", name: "横峰县" }, { code: "361126", name: "弋阳县" }, { code: "361127", name: "余干县" }, { code: "361128", name: "鄱阳县" }, { code: "361129", name: "万年县" }, { code: "361130", name: "婺源县" }, { code: "361181", name: "德兴市" }] }] }, { code: "37", name: "山东省", children: [{ code: "3701", name: "济南市", children: [{ code: "370102", name: "历下区" }, { code: "370103", name: "市中区" }, { code: "370104", name: "槐荫区" }, { code: "370105", name: "天桥区" }, { code: "370112", name: "历城区" }, { code: "370113", name: "长清区" }, { code: "370114", name: "章丘区" }, { code: "370115", name: "济阳区" }, { code: "370116", name: "莱芜区" }, { code: "370117", name: "钢城区" }, { code: "370124", name: "平阴县" }, { code: "370126", name: "商河县" }, { code: "370171", name: "济南高新技术产业开发区" }] }, { code: "3702", name: "青岛市", children: [{ code: "370202", name: "市南区" }, { code: "370203", name: "市北区" }, { code: "370211", name: "黄岛区" }, { code: "370212", name: "崂山区" }, { code: "370213", name: "李沧区" }, { code: "370214", name: "城阳区" }, { code: "370215", name: "即墨区" }, { code: "370271", name: "青岛高新技术产业开发区" }, { code: "370281", name: "胶州市" }, { code: "370283", name: "平度市" }, { code: "370285", name: "莱西市" }] }, { code: "3703", name: "淄博市", children: [{ code: "370302", name: "淄川区" }, { code: "370303", name: "张店区" }, { code: "370304", name: "博山区" }, { code: "370305", name: "临淄区" }, { code: "370306", name: "周村区" }, { code: "370321", name: "桓台县" }, { code: "370322", name: "高青县" }, { code: "370323", name: "沂源县" }] }, { code: "3704", name: "枣庄市", children: [{ code: "370402", name: "市中区" }, { code: "370403", name: "薛城区" }, { code: "370404", name: "峄城区" }, { code: "370405", name: "台儿庄区" }, { code: "370406", name: "山亭区" }, { code: "370481", name: "滕州市" }] }, { code: "3705", name: "东营市", children: [{ code: "370502", name: "东营区" }, { code: "370503", name: "河口区" }, { code: "370505", name: "垦利区" }, { code: "370522", name: "利津县" }, { code: "370523", name: "广饶县" }, { code: "370571", name: "东营经济技术开发区" }, { code: "370572", name: "东营港经济开发区" }] }, { code: "3706", name: "烟台市", children: [{ code: "370602", name: "芝罘区" }, { code: "370611", name: "福山区" }, { code: "370612", name: "牟平区" }, { code: "370613", name: "莱山区" }, { code: "370614", name: "蓬莱区" }, { code: "370671", name: "烟台高新技术产业开发区" }, { code: "370672", name: "烟台经济技术开发区" }, { code: "370681", name: "龙口市" }, { code: "370682", name: "莱阳市" }, { code: "370683", name: "莱州市" }, { code: "370685", name: "招远市" }, { code: "370686", name: "栖霞市" }, { code: "370687", name: "海阳市" }] }, { code: "3707", name: "潍坊市", children: [{ code: "370702", name: "潍城区" }, { code: "370703", name: "寒亭区" }, { code: "370704", name: "坊子区" }, { code: "370705", name: "奎文区" }, { code: "370724", name: "临朐县" }, { code: "370725", name: "昌乐县" }, { code: "370772", name: "潍坊滨海经济技术开发区" }, { code: "370781", name: "青州市" }, { code: "370782", name: "诸城市" }, { code: "370783", name: "寿光市" }, { code: "370784", name: "安丘市" }, { code: "370785", name: "高密市" }, { code: "370786", name: "昌邑市" }] }, { code: "3708", name: "济宁市", children: [{ code: "370811", name: "任城区" }, { code: "370812", name: "兖州区" }, { code: "370826", name: "微山县" }, { code: "370827", name: "鱼台县" }, { code: "370828", name: "金乡县" }, { code: "370829", name: "嘉祥县" }, { code: "370830", name: "汶上县" }, { code: "370831", name: "泗水县" }, { code: "370832", name: "梁山县" }, { code: "370871", name: "济宁高新技术产业开发区" }, { code: "370881", name: "曲阜市" }, { code: "370883", name: "邹城市" }] }, { code: "3709", name: "泰安市", children: [{ code: "370902", name: "泰山区" }, { code: "370911", name: "岱岳区" }, { code: "370921", name: "宁阳县" }, { code: "370923", name: "东平县" }, { code: "370982", name: "新泰市" }, { code: "370983", name: "肥城市" }] }, { code: "3710", name: "威海市", children: [{ code: "371002", name: "环翠区" }, { code: "371003", name: "文登区" }, { code: "371071", name: "威海火炬高技术产业开发区" }, { code: "371072", name: "威海经济技术开发区" }, { code: "371073", name: "威海临港经济技术开发区" }, { code: "371082", name: "荣成市" }, { code: "371083", name: "乳山市" }] }, { code: "3711", name: "日照市", children: [{ code: "371102", name: "东港区" }, { code: "371103", name: "岚山区" }, { code: "371121", name: "五莲县" }, { code: "371122", name: "莒县" }, { code: "371171", name: "日照经济技术开发区" }] }, { code: "3713", name: "临沂市", children: [{ code: "371302", name: "兰山区" }, { code: "371311", name: "罗庄区" }, { code: "371312", name: "河东区" }, { code: "371321", name: "沂南县" }, { code: "371322", name: "郯城县" }, { code: "371323", name: "沂水县" }, { code: "371324", name: "兰陵县" }, { code: "371325", name: "费县" }, { code: "371326", name: "平邑县" }, { code: "371327", name: "莒南县" }, { code: "371328", name: "蒙阴县" }, { code: "371329", name: "临沭县" }, { code: "371371", name: "临沂高新技术产业开发区" }] }, { code: "3714", name: "德州市", children: [{ code: "371402", name: "德城区" }, { code: "371403", name: "陵城区" }, { code: "371422", name: "宁津县" }, { code: "371423", name: "庆云县" }, { code: "371424", name: "临邑县" }, { code: "371425", name: "齐河县" }, { code: "371426", name: "平原县" }, { code: "371427", name: "夏津县" }, { code: "371428", name: "武城县" }, { code: "371471", name: "德州经济技术开发区" }, { code: "371472", name: "德州运河经济开发区" }, { code: "371481", name: "乐陵市" }, { code: "371482", name: "禹城市" }] }, { code: "3715", name: "聊城市", children: [{ code: "371502", name: "东昌府区" }, { code: "371503", name: "茌平区" }, { code: "371521", name: "阳谷县" }, { code: "371522", name: "莘县" }, { code: "371524", name: "东阿县" }, { code: "371525", name: "冠县" }, { code: "371526", name: "高唐县" }, { code: "371581", name: "临清市" }] }, { code: "3716", name: "滨州市", children: [{ code: "371602", name: "滨城区" }, { code: "371603", name: "沾化区" }, { code: "371621", name: "惠民县" }, { code: "371622", name: "阳信县" }, { code: "371623", name: "无棣县" }, { code: "371625", name: "博兴县" }, { code: "371681", name: "邹平市" }] }, { code: "3717", name: "菏泽市", children: [{ code: "371702", name: "牡丹区" }, { code: "371703", name: "定陶区" }, { code: "371721", name: "曹县" }, { code: "371722", name: "单县" }, { code: "371723", name: "成武县" }, { code: "371724", name: "巨野县" }, { code: "371725", name: "郓城县" }, { code: "371726", name: "鄄城县" }, { code: "371728", name: "东明县" }, { code: "371771", name: "菏泽经济技术开发区" }, { code: "371772", name: "菏泽高新技术开发区" }] }] }, { code: "41", name: "河南省", children: [{ code: "4101", name: "郑州市", children: [{ code: "410102", name: "中原区" }, { code: "410103", name: "二七区" }, { code: "410104", name: "管城回族区" }, { code: "410105", name: "金水区" }, { code: "410106", name: "上街区" }, { code: "410108", name: "惠济区" }, { code: "410122", name: "中牟县" }, { code: "410171", name: "郑州经济技术开发区" }, { code: "410172", name: "郑州高新技术产业开发区" }, { code: "410173", name: "郑州航空港经济综合实验区" }, { code: "410181", name: "巩义市" }, { code: "410182", name: "荥阳市" }, { code: "410183", name: "新密市" }, { code: "410184", name: "新郑市" }, { code: "410185", name: "登封市" }] }, { code: "4102", name: "开封市", children: [{ code: "410202", name: "龙亭区" }, { code: "410203", name: "顺河回族区" }, { code: "410204", name: "鼓楼区" }, { code: "410205", name: "禹王台区" }, { code: "410212", name: "祥符区" }, { code: "410221", name: "杞县" }, { code: "410222", name: "通许县" }, { code: "410223", name: "尉氏县" }, { code: "410225", name: "兰考县" }] }, { code: "4103", name: "洛阳市", children: [{ code: "410302", name: "老城区" }, { code: "410303", name: "西工区" }, { code: "410304", name: "瀍河回族区" }, { code: "410305", name: "涧西区" }, { code: "410306", name: "吉利区" }, { code: "410311", name: "洛龙区" }, { code: "410322", name: "孟津县" }, { code: "410323", name: "新安县" }, { code: "410324", name: "栾川县" }, { code: "410325", name: "嵩县" }, { code: "410326", name: "汝阳县" }, { code: "410327", name: "宜阳县" }, { code: "410328", name: "洛宁县" }, { code: "410329", name: "伊川县" }, { code: "410371", name: "洛阳高新技术产业开发区" }, { code: "410381", name: "偃师市" }] }, { code: "4104", name: "平顶山市", children: [{ code: "410402", name: "新华区" }, { code: "410403", name: "卫东区" }, { code: "410404", name: "石龙区" }, { code: "410411", name: "湛河区" }, { code: "410421", name: "宝丰县" }, { code: "410422", name: "叶县" }, { code: "410423", name: "鲁山县" }, { code: "410425", name: "郏县" }, { code: "410471", name: "平顶山高新技术产业开发区" }, { code: "410472", name: "平顶山市城乡一体化示范区" }, { code: "410481", name: "舞钢市" }, { code: "410482", name: "汝州市" }] }, { code: "4105", name: "安阳市", children: [{ code: "410502", name: "文峰区" }, { code: "410503", name: "北关区" }, { code: "410505", name: "殷都区" }, { code: "410506", name: "龙安区" }, { code: "410522", name: "安阳县" }, { code: "410523", name: "汤阴县" }, { code: "410526", name: "滑县" }, { code: "410527", name: "内黄县" }, { code: "410571", name: "安阳高新技术产业开发区" }, { code: "410581", name: "林州市" }] }, { code: "4106", name: "鹤壁市", children: [{ code: "410602", name: "鹤山区" }, { code: "410603", name: "山城区" }, { code: "410611", name: "淇滨区" }, { code: "410621", name: "浚县" }, { code: "410622", name: "淇县" }, { code: "410671", name: "鹤壁经济技术开发区" }] }, { code: "4107", name: "新乡市", children: [{ code: "410702", name: "红旗区" }, { code: "410703", name: "卫滨区" }, { code: "410704", name: "凤泉区" }, { code: "410711", name: "牧野区" }, { code: "410721", name: "新乡县" }, { code: "410724", name: "获嘉县" }, { code: "410725", name: "原阳县" }, { code: "410726", name: "延津县" }, { code: "410727", name: "封丘县" }, { code: "410771", name: "新乡高新技术产业开发区" }, { code: "410772", name: "新乡经济技术开发区" }, { code: "410773", name: "新乡市平原城乡一体化示范区" }, { code: "410781", name: "卫辉市" }, { code: "410782", name: "辉县市" }, { code: "410783", name: "长垣市" }] }, { code: "4108", name: "焦作市", children: [{ code: "410802", name: "解放区" }, { code: "410803", name: "中站区" }, { code: "410804", name: "马村区" }, { code: "410811", name: "山阳区" }, { code: "410821", name: "修武县" }, { code: "410822", name: "博爱县" }, { code: "410823", name: "武陟县" }, { code: "410825", name: "温县" }, { code: "410871", name: "焦作城乡一体化示范区" }, { code: "410882", name: "沁阳市" }, { code: "410883", name: "孟州市" }] }, { code: "4109", name: "濮阳市", children: [{ code: "410902", name: "华龙区" }, { code: "410922", name: "清丰县" }, { code: "410923", name: "南乐县" }, { code: "410926", name: "范县" }, { code: "410927", name: "台前县" }, { code: "410928", name: "濮阳县" }, { code: "410971", name: "河南濮阳工业园区" }, { code: "410972", name: "濮阳经济技术开发区" }] }, { code: "4110", name: "许昌市", children: [{ code: "411002", name: "魏都区" }, { code: "411003", name: "建安区" }, { code: "411024", name: "鄢陵县" }, { code: "411025", name: "襄城县" }, { code: "411071", name: "许昌经济技术开发区" }, { code: "411081", name: "禹州市" }, { code: "411082", name: "长葛市" }] }, { code: "4111", name: "漯河市", children: [{ code: "411102", name: "源汇区" }, { code: "411103", name: "郾城区" }, { code: "411104", name: "召陵区" }, { code: "411121", name: "舞阳县" }, { code: "411122", name: "临颍县" }, { code: "411171", name: "漯河经济技术开发区" }] }, { code: "4112", name: "三门峡市", children: [{ code: "411202", name: "湖滨区" }, { code: "411203", name: "陕州区" }, { code: "411221", name: "渑池县" }, { code: "411224", name: "卢氏县" }, { code: "411271", name: "河南三门峡经济开发区" }, { code: "411281", name: "义马市" }, { code: "411282", name: "灵宝市" }] }, { code: "4113", name: "南阳市", children: [{ code: "411302", name: "宛城区" }, { code: "411303", name: "卧龙区" }, { code: "411321", name: "南召县" }, { code: "411322", name: "方城县" }, { code: "411323", name: "西峡县" }, { code: "411324", name: "镇平县" }, { code: "411325", name: "内乡县" }, { code: "411326", name: "淅川县" }, { code: "411327", name: "社旗县" }, { code: "411328", name: "唐河县" }, { code: "411329", name: "新野县" }, { code: "411330", name: "桐柏县" }, { code: "411371", name: "南阳高新技术产业开发区" }, { code: "411372", name: "南阳市城乡一体化示范区" }, { code: "411381", name: "邓州市" }] }, { code: "4114", name: "商丘市", children: [{ code: "411402", name: "梁园区" }, { code: "411403", name: "睢阳区" }, { code: "411421", name: "民权县" }, { code: "411422", name: "睢县" }, { code: "411423", name: "宁陵县" }, { code: "411424", name: "柘城县" }, { code: "411425", name: "虞城县" }, { code: "411426", name: "夏邑县" }, { code: "411471", name: "豫东综合物流产业聚集区" }, { code: "411472", name: "河南商丘经济开发区" }, { code: "411481", name: "永城市" }] }, { code: "4115", name: "信阳市", children: [{ code: "411502", name: "浉河区" }, { code: "411503", name: "平桥区" }, { code: "411521", name: "罗山县" }, { code: "411522", name: "光山县" }, { code: "411523", name: "新县" }, { code: "411524", name: "商城县" }, { code: "411525", name: "固始县" }, { code: "411526", name: "潢川县" }, { code: "411527", name: "淮滨县" }, { code: "411528", name: "息县" }, { code: "411571", name: "信阳高新技术产业开发区" }] }, { code: "4116", name: "周口市", children: [{ code: "411602", name: "川汇区" }, { code: "411603", name: "淮阳区" }, { code: "411621", name: "扶沟县" }, { code: "411622", name: "西华县" }, { code: "411623", name: "商水县" }, { code: "411624", name: "沈丘县" }, { code: "411625", name: "郸城县" }, { code: "411627", name: "太康县" }, { code: "411628", name: "鹿邑县" }, { code: "411671", name: "河南周口经济开发区" }, { code: "411681", name: "项城市" }] }, { code: "4117", name: "驻马店市", children: [{ code: "411702", name: "驿城区" }, { code: "411721", name: "西平县" }, { code: "411722", name: "上蔡县" }, { code: "411723", name: "平舆县" }, { code: "411724", name: "正阳县" }, { code: "411725", name: "确山县" }, { code: "411726", name: "泌阳县" }, { code: "411727", name: "汝南县" }, { code: "411728", name: "遂平县" }, { code: "411729", name: "新蔡县" }, { code: "411771", name: "河南驻马店经济开发区" }] }, { code: "4190", name: "省直辖县级行政区划", children: [{ code: "419001", name: "济源市" }] }] }, { code: "42", name: "湖北省", children: [{ code: "4201", name: "武汉市", children: [{ code: "420102", name: "江岸区" }, { code: "420103", name: "江汉区" }, { code: "420104", name: "硚口区" }, { code: "420105", name: "汉阳区" }, { code: "420106", name: "武昌区" }, { code: "420107", name: "青山区" }, { code: "420111", name: "洪山区" }, { code: "420112", name: "东西湖区" }, { code: "420113", name: "汉南区" }, { code: "420114", name: "蔡甸区" }, { code: "420115", name: "江夏区" }, { code: "420116", name: "黄陂区" }, { code: "420117", name: "新洲区" }] }, { code: "4202", name: "黄石市", children: [{ code: "420202", name: "黄石港区" }, { code: "420203", name: "西塞山区" }, { code: "420204", name: "下陆区" }, { code: "420205", name: "铁山区" }, { code: "420222", name: "阳新县" }, { code: "420281", name: "大冶市" }] }, { code: "4203", name: "十堰市", children: [{ code: "420302", name: "茅箭区" }, { code: "420303", name: "张湾区" }, { code: "420304", name: "郧阳区" }, { code: "420322", name: "郧西县" }, { code: "420323", name: "竹山县" }, { code: "420324", name: "竹溪县" }, { code: "420325", name: "房县" }, { code: "420381", name: "丹江口市" }] }, { code: "4205", name: "宜昌市", children: [{ code: "420502", name: "西陵区" }, { code: "420503", name: "伍家岗区" }, { code: "420504", name: "点军区" }, { code: "420505", name: "猇亭区" }, { code: "420506", name: "夷陵区" }, { code: "420525", name: "远安县" }, { code: "420526", name: "兴山县" }, { code: "420527", name: "秭归县" }, { code: "420528", name: "长阳土家族自治县" }, { code: "420529", name: "五峰土家族自治县" }, { code: "420581", name: "宜都市" }, { code: "420582", name: "当阳市" }, { code: "420583", name: "枝江市" }] }, { code: "4206", name: "襄阳市", children: [{ code: "420602", name: "襄城区" }, { code: "420606", name: "樊城区" }, { code: "420607", name: "襄州区" }, { code: "420624", name: "南漳县" }, { code: "420625", name: "谷城县" }, { code: "420626", name: "保康县" }, { code: "420682", name: "老河口市" }, { code: "420683", name: "枣阳市" }, { code: "420684", name: "宜城市" }] }, { code: "4207", name: "鄂州市", children: [{ code: "420702", name: "梁子湖区" }, { code: "420703", name: "华容区" }, { code: "420704", name: "鄂城区" }] }, { code: "4208", name: "荆门市", children: [{ code: "420802", name: "东宝区" }, { code: "420804", name: "掇刀区" }, { code: "420822", name: "沙洋县" }, { code: "420881", name: "钟祥市" }, { code: "420882", name: "京山市" }] }, { code: "4209", name: "孝感市", children: [{ code: "420902", name: "孝南区" }, { code: "420921", name: "孝昌县" }, { code: "420922", name: "大悟县" }, { code: "420923", name: "云梦县" }, { code: "420981", name: "应城市" }, { code: "420982", name: "安陆市" }, { code: "420984", name: "汉川市" }] }, { code: "4210", name: "荆州市", children: [{ code: "421002", name: "沙市区" }, { code: "421003", name: "荆州区" }, { code: "421022", name: "公安县" }, { code: "421023", name: "监利县" }, { code: "421024", name: "江陵县" }, { code: "421071", name: "荆州经济技术开发区" }, { code: "421081", name: "石首市" }, { code: "421083", name: "洪湖市" }, { code: "421087", name: "松滋市" }] }, { code: "4211", name: "黄冈市", children: [{ code: "421102", name: "黄州区" }, { code: "421121", name: "团风县" }, { code: "421122", name: "红安县" }, { code: "421123", name: "罗田县" }, { code: "421124", name: "英山县" }, { code: "421125", name: "浠水县" }, { code: "421126", name: "蕲春县" }, { code: "421127", name: "黄梅县" }, { code: "421171", name: "龙感湖管理区" }, { code: "421181", name: "麻城市" }, { code: "421182", name: "武穴市" }] }, { code: "4212", name: "咸宁市", children: [{ code: "421202", name: "咸安区" }, { code: "421221", name: "嘉鱼县" }, { code: "421222", name: "通城县" }, { code: "421223", name: "崇阳县" }, { code: "421224", name: "通山县" }, { code: "421281", name: "赤壁市" }] }, { code: "4213", name: "随州市", children: [{ code: "421303", name: "曾都区" }, { code: "421321", name: "随县" }, { code: "421381", name: "广水市" }] }, { code: "4228", name: "恩施土家族苗族自治州", children: [{ code: "422801", name: "恩施市" }, { code: "422802", name: "利川市" }, { code: "422822", name: "建始县" }, { code: "422823", name: "巴东县" }, { code: "422825", name: "宣恩县" }, { code: "422826", name: "咸丰县" }, { code: "422827", name: "来凤县" }, { code: "422828", name: "鹤峰县" }] }, { code: "4290", name: "省直辖县级行政区划", children: [{ code: "429004", name: "仙桃市" }, { code: "429005", name: "潜江市" }, { code: "429006", name: "天门市" }, { code: "429021", name: "神农架林区" }] }] }, { code: "43", name: "湖南省", children: [{ code: "4301", name: "长沙市", children: [{ code: "430102", name: "芙蓉区" }, { code: "430103", name: "天心区" }, { code: "430104", name: "岳麓区" }, { code: "430105", name: "开福区" }, { code: "430111", name: "雨花区" }, { code: "430112", name: "望城区" }, { code: "430121", name: "长沙县" }, { code: "430181", name: "浏阳市" }, { code: "430182", name: "宁乡市" }] }, { code: "4302", name: "株洲市", children: [{ code: "430202", name: "荷塘区" }, { code: "430203", name: "芦淞区" }, { code: "430204", name: "石峰区" }, { code: "430211", name: "天元区" }, { code: "430212", name: "渌口区" }, { code: "430223", name: "攸县" }, { code: "430224", name: "茶陵县" }, { code: "430225", name: "炎陵县" }, { code: "430271", name: "云龙示范区" }, { code: "430281", name: "醴陵市" }] }, { code: "4303", name: "湘潭市", children: [{ code: "430302", name: "雨湖区" }, { code: "430304", name: "岳塘区" }, { code: "430321", name: "湘潭县" }, { code: "430371", name: "湖南湘潭高新技术产业园区" }, { code: "430372", name: "湘潭昭山示范区" }, { code: "430373", name: "湘潭九华示范区" }, { code: "430381", name: "湘乡市" }, { code: "430382", name: "韶山市" }] }, { code: "4304", name: "衡阳市", children: [{ code: "430405", name: "珠晖区" }, { code: "430406", name: "雁峰区" }, { code: "430407", name: "石鼓区" }, { code: "430408", name: "蒸湘区" }, { code: "430412", name: "南岳区" }, { code: "430421", name: "衡阳县" }, { code: "430422", name: "衡南县" }, { code: "430423", name: "衡山县" }, { code: "430424", name: "衡东县" }, { code: "430426", name: "祁东县" }, { code: "430471", name: "衡阳综合保税区" }, { code: "430472", name: "湖南衡阳高新技术产业园区" }, { code: "430473", name: "湖南衡阳松木经济开发区" }, { code: "430481", name: "耒阳市" }, { code: "430482", name: "常宁市" }] }, { code: "4305", name: "邵阳市", children: [{ code: "430502", name: "双清区" }, { code: "430503", name: "大祥区" }, { code: "430511", name: "北塔区" }, { code: "430522", name: "新邵县" }, { code: "430523", name: "邵阳县" }, { code: "430524", name: "隆回县" }, { code: "430525", name: "洞口县" }, { code: "430527", name: "绥宁县" }, { code: "430528", name: "新宁县" }, { code: "430529", name: "城步苗族自治县" }, { code: "430581", name: "武冈市" }, { code: "430582", name: "邵东市" }] }, { code: "4306", name: "岳阳市", children: [{ code: "430602", name: "岳阳楼区" }, { code: "430603", name: "云溪区" }, { code: "430611", name: "君山区" }, { code: "430621", name: "岳阳县" }, { code: "430623", name: "华容县" }, { code: "430624", name: "湘阴县" }, { code: "430626", name: "平江县" }, { code: "430671", name: "岳阳市屈原管理区" }, { code: "430681", name: "汨罗市" }, { code: "430682", name: "临湘市" }] }, { code: "4307", name: "常德市", children: [{ code: "430702", name: "武陵区" }, { code: "430703", name: "鼎城区" }, { code: "430721", name: "安乡县" }, { code: "430722", name: "汉寿县" }, { code: "430723", name: "澧县" }, { code: "430724", name: "临澧县" }, { code: "430725", name: "桃源县" }, { code: "430726", name: "石门县" }, { code: "430771", name: "常德市西洞庭管理区" }, { code: "430781", name: "津市市" }] }, { code: "4308", name: "张家界市", children: [{ code: "430802", name: "永定区" }, { code: "430811", name: "武陵源区" }, { code: "430821", name: "慈利县" }, { code: "430822", name: "桑植县" }] }, { code: "4309", name: "益阳市", children: [{ code: "430902", name: "资阳区" }, { code: "430903", name: "赫山区" }, { code: "430921", name: "南县" }, { code: "430922", name: "桃江县" }, { code: "430923", name: "安化县" }, { code: "430971", name: "益阳市大通湖管理区" }, { code: "430972", name: "湖南益阳高新技术产业园区" }, { code: "430981", name: "沅江市" }] }, { code: "4310", name: "郴州市", children: [{ code: "431002", name: "北湖区" }, { code: "431003", name: "苏仙区" }, { code: "431021", name: "桂阳县" }, { code: "431022", name: "宜章县" }, { code: "431023", name: "永兴县" }, { code: "431024", name: "嘉禾县" }, { code: "431025", name: "临武县" }, { code: "431026", name: "汝城县" }, { code: "431027", name: "桂东县" }, { code: "431028", name: "安仁县" }, { code: "431081", name: "资兴市" }] }, { code: "4311", name: "永州市", children: [{ code: "431102", name: "零陵区" }, { code: "431103", name: "冷水滩区" }, { code: "431121", name: "祁阳县" }, { code: "431122", name: "东安县" }, { code: "431123", name: "双牌县" }, { code: "431124", name: "道县" }, { code: "431125", name: "江永县" }, { code: "431126", name: "宁远县" }, { code: "431127", name: "蓝山县" }, { code: "431128", name: "新田县" }, { code: "431129", name: "江华瑶族自治县" }, { code: "431171", name: "永州经济技术开发区" }, { code: "431172", name: "永州市金洞管理区" }, { code: "431173", name: "永州市回龙圩管理区" }] }, { code: "4312", name: "怀化市", children: [{ code: "431202", name: "鹤城区" }, { code: "431221", name: "中方县" }, { code: "431222", name: "沅陵县" }, { code: "431223", name: "辰溪县" }, { code: "431224", name: "溆浦县" }, { code: "431225", name: "会同县" }, { code: "431226", name: "麻阳苗族自治县" }, { code: "431227", name: "新晃侗族自治县" }, { code: "431228", name: "芷江侗族自治县" }, { code: "431229", name: "靖州苗族侗族自治县" }, { code: "431230", name: "通道侗族自治县" }, { code: "431271", name: "怀化市洪江管理区" }, { code: "431281", name: "洪江市" }] }, { code: "4313", name: "娄底市", children: [{ code: "431302", name: "娄星区" }, { code: "431321", name: "双峰县" }, { code: "431322", name: "新化县" }, { code: "431381", name: "冷水江市" }, { code: "431382", name: "涟源市" }] }, { code: "4331", name: "湘西土家族苗族自治州", children: [{ code: "433101", name: "吉首市" }, { code: "433122", name: "泸溪县" }, { code: "433123", name: "凤凰县" }, { code: "433124", name: "花垣县" }, { code: "433125", name: "保靖县" }, { code: "433126", name: "古丈县" }, { code: "433127", name: "永顺县" }, { code: "433130", name: "龙山县" }] }] }, { code: "44", name: "广东省", children: [{ code: "4401", name: "广州市", children: [{ code: "440103", name: "荔湾区" }, { code: "440104", name: "越秀区" }, { code: "440105", name: "海珠区" }, { code: "440106", name: "天河区" }, { code: "440111", name: "白云区" }, { code: "440112", name: "黄埔区" }, { code: "440113", name: "番禺区" }, { code: "440114", name: "花都区" }, { code: "440115", name: "南沙区" }, { code: "440117", name: "从化区" }, { code: "440118", name: "增城区" }] }, { code: "4402", name: "韶关市", children: [{ code: "440203", name: "武江区" }, { code: "440204", name: "浈江区" }, { code: "440205", name: "曲江区" }, { code: "440222", name: "始兴县" }, { code: "440224", name: "仁化县" }, { code: "440229", name: "翁源县" }, { code: "440232", name: "乳源瑶族自治县" }, { code: "440233", name: "新丰县" }, { code: "440281", name: "乐昌市" }, { code: "440282", name: "南雄市" }] }, { code: "4403", name: "深圳市", children: [{ code: "440303", name: "罗湖区" }, { code: "440304", name: "福田区" }, { code: "440305", name: "南山区" }, { code: "440306", name: "宝安区" }, { code: "440307", name: "龙岗区" }, { code: "440308", name: "盐田区" }, { code: "440309", name: "龙华区" }, { code: "440310", name: "坪山区" }, { code: "440311", name: "光明区" }] }, { code: "4404", name: "珠海市", children: [{ code: "440402", name: "香洲区" }, { code: "440403", name: "斗门区" }, { code: "440404", name: "金湾区" }] }, { code: "4405", name: "汕头市", children: [{ code: "440507", name: "龙湖区" }, { code: "440511", name: "金平区" }, { code: "440512", name: "濠江区" }, { code: "440513", name: "潮阳区" }, { code: "440514", name: "潮南区" }, { code: "440515", name: "澄海区" }, { code: "440523", name: "南澳县" }] }, { code: "4406", name: "佛山市", children: [{ code: "440604", name: "禅城区" }, { code: "440605", name: "南海区" }, { code: "440606", name: "顺德区" }, { code: "440607", name: "三水区" }, { code: "440608", name: "高明区" }] }, { code: "4407", name: "江门市", children: [{ code: "440703", name: "蓬江区" }, { code: "440704", name: "江海区" }, { code: "440705", name: "新会区" }, { code: "440781", name: "台山市" }, { code: "440783", name: "开平市" }, { code: "440784", name: "鹤山市" }, { code: "440785", name: "恩平市" }] }, { code: "4408", name: "湛江市", children: [{ code: "440802", name: "赤坎区" }, { code: "440803", name: "霞山区" }, { code: "440804", name: "坡头区" }, { code: "440811", name: "麻章区" }, { code: "440823", name: "遂溪县" }, { code: "440825", name: "徐闻县" }, { code: "440881", name: "廉江市" }, { code: "440882", name: "雷州市" }, { code: "440883", name: "吴川市" }] }, { code: "4409", name: "茂名市", children: [{ code: "440902", name: "茂南区" }, { code: "440904", name: "电白区" }, { code: "440981", name: "高州市" }, { code: "440982", name: "化州市" }, { code: "440983", name: "信宜市" }] }, { code: "4412", name: "肇庆市", children: [{ code: "441202", name: "端州区" }, { code: "441203", name: "鼎湖区" }, { code: "441204", name: "高要区" }, { code: "441223", name: "广宁县" }, { code: "441224", name: "怀集县" }, { code: "441225", name: "封开县" }, { code: "441226", name: "德庆县" }, { code: "441284", name: "四会市" }] }, { code: "4413", name: "惠州市", children: [{ code: "441302", name: "惠城区" }, { code: "441303", name: "惠阳区" }, { code: "441322", name: "博罗县" }, { code: "441323", name: "惠东县" }, { code: "441324", name: "龙门县" }] }, { code: "4414", name: "梅州市", children: [{ code: "441402", name: "梅江区" }, { code: "441403", name: "梅县区" }, { code: "441422", name: "大埔县" }, { code: "441423", name: "丰顺县" }, { code: "441424", name: "五华县" }, { code: "441426", name: "平远县" }, { code: "441427", name: "蕉岭县" }, { code: "441481", name: "兴宁市" }] }, { code: "4415", name: "汕尾市", children: [{ code: "441502", name: "城区" }, { code: "441521", name: "海丰县" }, { code: "441523", name: "陆河县" }, { code: "441581", name: "陆丰市" }] }, { code: "4416", name: "河源市", children: [{ code: "441602", name: "源城区" }, { code: "441621", name: "紫金县" }, { code: "441622", name: "龙川县" }, { code: "441623", name: "连平县" }, { code: "441624", name: "和平县" }, { code: "441625", name: "东源县" }] }, { code: "4417", name: "阳江市", children: [{ code: "441702", name: "江城区" }, { code: "441704", name: "阳东区" }, { code: "441721", name: "阳西县" }, { code: "441781", name: "阳春市" }] }, { code: "4418", name: "清远市", children: [{ code: "441802", name: "清城区" }, { code: "441803", name: "清新区" }, { code: "441821", name: "佛冈县" }, { code: "441823", name: "阳山县" }, { code: "441825", name: "连山壮族瑶族自治县" }, { code: "441826", name: "连南瑶族自治县" }, { code: "441881", name: "英德市" }, { code: "441882", name: "连州市" }] }, { code: "4419", name: "东莞市", children: [{ code: "441900003", name: "东城街道" }, { code: "441900004", name: "南城街道" }, { code: "441900005", name: "万江街道" }, { code: "441900006", name: "莞城街道" }, { code: "441900101", name: "石碣镇" }, { code: "441900102", name: "石龙镇" }, { code: "441900103", name: "茶山镇" }, { code: "441900104", name: "石排镇" }, { code: "441900105", name: "企石镇" }, { code: "441900106", name: "横沥镇" }, { code: "441900107", name: "桥头镇" }, { code: "441900108", name: "谢岗镇" }, { code: "441900109", name: "东坑镇" }, { code: "441900110", name: "常平镇" }, { code: "441900111", name: "寮步镇" }, { code: "441900112", name: "樟木头镇" }, { code: "441900113", name: "大朗镇" }, { code: "441900114", name: "黄江镇" }, { code: "441900115", name: "清溪镇" }, { code: "441900116", name: "塘厦镇" }, { code: "441900117", name: "凤岗镇" }, { code: "441900118", name: "大岭山镇" }, { code: "441900119", name: "长安镇" }, { code: "441900121", name: "虎门镇" }, { code: "441900122", name: "厚街镇" }, { code: "441900123", name: "沙田镇" }, { code: "441900124", name: "道滘镇" }, { code: "441900125", name: "洪梅镇" }, { code: "441900126", name: "麻涌镇" }, { code: "441900127", name: "望牛墩镇" }, { code: "441900128", name: "中堂镇" }, { code: "441900129", name: "高埗镇" }, { code: "441900401", name: "松山湖" }, { code: "441900402", name: "东莞港" }, { code: "441900403", name: "东莞生态园" }] }, { code: "4420", name: "中山市", children: [{ code: "442000001", name: "石岐街道" }, { code: "442000002", name: "东区街道" }, { code: "442000003", name: "中山港街道" }, { code: "442000004", name: "西区街道" }, { code: "442000005", name: "南区街道" }, { code: "442000006", name: "五桂山街道" }, { code: "442000100", name: "小榄镇" }, { code: "442000101", name: "黄圃镇" }, { code: "442000102", name: "民众镇" }, { code: "442000103", name: "东凤镇" }, { code: "442000104", name: "东升镇" }, { code: "442000105", name: "古镇镇" }, { code: "442000106", name: "沙溪镇" }, { code: "442000107", name: "坦洲镇" }, { code: "442000108", name: "港口镇" }, { code: "442000109", name: "三角镇" }, { code: "442000110", name: "横栏镇" }, { code: "442000111", name: "南头镇" }, { code: "442000112", name: "阜沙镇" }, { code: "442000113", name: "南朗镇" }, { code: "442000114", name: "三乡镇" }, { code: "442000115", name: "板芙镇" }, { code: "442000116", name: "大涌镇" }, { code: "442000117", name: "神湾镇" }] }, { code: "4451", name: "潮州市", children: [{ code: "445102", name: "湘桥区" }, { code: "445103", name: "潮安区" }, { code: "445122", name: "饶平县" }] }, { code: "4452", name: "揭阳市", children: [{ code: "445202", name: "榕城区" }, { code: "445203", name: "揭东区" }, { code: "445222", name: "揭西县" }, { code: "445224", name: "惠来县" }, { code: "445281", name: "普宁市" }] }, { code: "4453", name: "云浮市", children: [{ code: "445302", name: "云城区" }, { code: "445303", name: "云安区" }, { code: "445321", name: "新兴县" }, { code: "445322", name: "郁南县" }, { code: "445381", name: "罗定市" }] }] }, { code: "45", name: "广西壮族自治区", children: [{ code: "4501", name: "南宁市", children: [{ code: "450102", name: "兴宁区" }, { code: "450103", name: "青秀区" }, { code: "450105", name: "江南区" }, { code: "450107", name: "西乡塘区" }, { code: "450108", name: "良庆区" }, { code: "450109", name: "邕宁区" }, { code: "450110", name: "武鸣区" }, { code: "450123", name: "隆安县" }, { code: "450124", name: "马山县" }, { code: "450125", name: "上林县" }, { code: "450126", name: "宾阳县" }, { code: "450127", name: "横县" }] }, { code: "4502", name: "柳州市", children: [{ code: "450202", name: "城中区" }, { code: "450203", name: "鱼峰区" }, { code: "450204", name: "柳南区" }, { code: "450205", name: "柳北区" }, { code: "450206", name: "柳江区" }, { code: "450222", name: "柳城县" }, { code: "450223", name: "鹿寨县" }, { code: "450224", name: "融安县" }, { code: "450225", name: "融水苗族自治县" }, { code: "450226", name: "三江侗族自治县" }] }, { code: "4503", name: "桂林市", children: [{ code: "450302", name: "秀峰区" }, { code: "450303", name: "叠彩区" }, { code: "450304", name: "象山区" }, { code: "450305", name: "七星区" }, { code: "450311", name: "雁山区" }, { code: "450312", name: "临桂区" }, { code: "450321", name: "阳朔县" }, { code: "450323", name: "灵川县" }, { code: "450324", name: "全州县" }, { code: "450325", name: "兴安县" }, { code: "450326", name: "永福县" }, { code: "450327", name: "灌阳县" }, { code: "450328", name: "龙胜各族自治县" }, { code: "450329", name: "资源县" }, { code: "450330", name: "平乐县" }, { code: "450332", name: "恭城瑶族自治县" }, { code: "450381", name: "荔浦市" }] }, { code: "4504", name: "梧州市", children: [{ code: "450403", name: "万秀区" }, { code: "450405", name: "长洲区" }, { code: "450406", name: "龙圩区" }, { code: "450421", name: "苍梧县" }, { code: "450422", name: "藤县" }, { code: "450423", name: "蒙山县" }, { code: "450481", name: "岑溪市" }] }, { code: "4505", name: "北海市", children: [{ code: "450502", name: "海城区" }, { code: "450503", name: "银海区" }, { code: "450512", name: "铁山港区" }, { code: "450521", name: "合浦县" }] }, { code: "4506", name: "防城港市", children: [{ code: "450602", name: "港口区" }, { code: "450603", name: "防城区" }, { code: "450621", name: "上思县" }, { code: "450681", name: "东兴市" }] }, { code: "4507", name: "钦州市", children: [{ code: "450702", name: "钦南区" }, { code: "450703", name: "钦北区" }, { code: "450721", name: "灵山县" }, { code: "450722", name: "浦北县" }] }, { code: "4508", name: "贵港市", children: [{ code: "450802", name: "港北区" }, { code: "450803", name: "港南区" }, { code: "450804", name: "覃塘区" }, { code: "450821", name: "平南县" }, { code: "450881", name: "桂平市" }] }, { code: "4509", name: "玉林市", children: [{ code: "450902", name: "玉州区" }, { code: "450903", name: "福绵区" }, { code: "450921", name: "容县" }, { code: "450922", name: "陆川县" }, { code: "450923", name: "博白县" }, { code: "450924", name: "兴业县" }, { code: "450981", name: "北流市" }] }, { code: "4510", name: "百色市", children: [{ code: "451002", name: "右江区" }, { code: "451003", name: "田阳区" }, { code: "451022", name: "田东县" }, { code: "451024", name: "德保县" }, { code: "451026", name: "那坡县" }, { code: "451027", name: "凌云县" }, { code: "451028", name: "乐业县" }, { code: "451029", name: "田林县" }, { code: "451030", name: "西林县" }, { code: "451031", name: "隆林各族自治县" }, { code: "451081", name: "靖西市" }, { code: "451082", name: "平果市" }] }, { code: "4511", name: "贺州市", children: [{ code: "451102", name: "八步区" }, { code: "451103", name: "平桂区" }, { code: "451121", name: "昭平县" }, { code: "451122", name: "钟山县" }, { code: "451123", name: "富川瑶族自治县" }] }, { code: "4512", name: "河池市", children: [{ code: "451202", name: "金城江区" }, { code: "451203", name: "宜州区" }, { code: "451221", name: "南丹县" }, { code: "451222", name: "天峨县" }, { code: "451223", name: "凤山县" }, { code: "451224", name: "东兰县" }, { code: "451225", name: "罗城仫佬族自治县" }, { code: "451226", name: "环江毛南族自治县" }, { code: "451227", name: "巴马瑶族自治县" }, { code: "451228", name: "都安瑶族自治县" }, { code: "451229", name: "大化瑶族自治县" }] }, { code: "4513", name: "来宾市", children: [{ code: "451302", name: "兴宾区" }, { code: "451321", name: "忻城县" }, { code: "451322", name: "象州县" }, { code: "451323", name: "武宣县" }, { code: "451324", name: "金秀瑶族自治县" }, { code: "451381", name: "合山市" }] }, { code: "4514", name: "崇左市", children: [{ code: "451402", name: "江州区" }, { code: "451421", name: "扶绥县" }, { code: "451422", name: "宁明县" }, { code: "451423", name: "龙州县" }, { code: "451424", name: "大新县" }, { code: "451425", name: "天等县" }, { code: "451481", name: "凭祥市" }] }] }, { code: "46", name: "海南省", children: [{ code: "4601", name: "海口市", children: [{ code: "460105", name: "秀英区" }, { code: "460106", name: "龙华区" }, { code: "460107", name: "琼山区" }, { code: "460108", name: "美兰区" }] }, { code: "4602", name: "三亚市", children: [{ code: "460202", name: "海棠区" }, { code: "460203", name: "吉阳区" }, { code: "460204", name: "天涯区" }, { code: "460205", name: "崖州区" }] }, { code: "4603", name: "三沙市", children: [{ code: "460321", name: "西沙群岛" }, { code: "460322", name: "南沙群岛" }, { code: "460323", name: "中沙群岛的岛礁及其海域" }] }, { code: "4604", name: "儋州市", children: [{ code: "460400100", name: "那大镇" }, { code: "460400101", name: "和庆镇" }, { code: "460400102", name: "南丰镇" }, { code: "460400103", name: "大成镇" }, { code: "460400104", name: "雅星镇" }, { code: "460400105", name: "兰洋镇" }, { code: "460400106", name: "光村镇" }, { code: "460400107", name: "木棠镇" }, { code: "460400108", name: "海头镇" }, { code: "460400109", name: "峨蔓镇" }, { code: "460400111", name: "王五镇" }, { code: "460400112", name: "白马井镇" }, { code: "460400113", name: "中和镇" }, { code: "460400114", name: "排浦镇" }, { code: "460400115", name: "东成镇" }, { code: "460400116", name: "新州镇" }, { code: "460400499", name: "洋浦经济开发区" }, { code: "460400500", name: "华南热作学院" }] }, { code: "4690", name: "省直辖县级行政区划", children: [{ code: "469001", name: "五指山市" }, { code: "469002", name: "琼海市" }, { code: "469005", name: "文昌市" }, { code: "469006", name: "万宁市" }, { code: "469007", name: "东方市" }, { code: "469021", name: "定安县" }, { code: "469022", name: "屯昌县" }, { code: "469023", name: "澄迈县" }, { code: "469024", name: "临高县" }, { code: "469025", name: "白沙黎族自治县" }, { code: "469026", name: "昌江黎族自治县" }, { code: "469027", name: "乐东黎族自治县" }, { code: "469028", name: "陵水黎族自治县" }, { code: "469029", name: "保亭黎族苗族自治县" }, { code: "469030", name: "琼中黎族苗族自治县" }] }] }, { code: "50", name: "重庆市", children: [{ code: "5001", name: "市辖区", children: [{ code: "500101", name: "万州区" }, { code: "500102", name: "涪陵区" }, { code: "500103", name: "渝中区" }, { code: "500104", name: "大渡口区" }, { code: "500105", name: "江北区" }, { code: "500106", name: "沙坪坝区" }, { code: "500107", name: "九龙坡区" }, { code: "500108", name: "南岸区" }, { code: "500109", name: "北碚区" }, { code: "500110", name: "綦江区" }, { code: "500111", name: "大足区" }, { code: "500112", name: "渝北区" }, { code: "500113", name: "巴南区" }, { code: "500114", name: "黔江区" }, { code: "500115", name: "长寿区" }, { code: "500116", name: "江津区" }, { code: "500117", name: "合川区" }, { code: "500118", name: "永川区" }, { code: "500119", name: "南川区" }, { code: "500120", name: "璧山区" }, { code: "500151", name: "铜梁区" }, { code: "500152", name: "潼南区" }, { code: "500153", name: "荣昌区" }, { code: "500154", name: "开州区" }, { code: "500155", name: "梁平区" }, { code: "500156", name: "武隆区" }] }, { code: "5002", name: "县", children: [{ code: "500229", name: "城口县" }, { code: "500230", name: "丰都县" }, { code: "500231", name: "垫江县" }, { code: "500233", name: "忠县" }, { code: "500235", name: "云阳县" }, { code: "500236", name: "奉节县" }, { code: "500237", name: "巫山县" }, { code: "500238", name: "巫溪县" }, { code: "500240", name: "石柱土家族自治县" }, { code: "500241", name: "秀山土家族苗族自治县" }, { code: "500242", name: "酉阳土家族苗族自治县" }, { code: "500243", name: "彭水苗族土家族自治县" }] }] }, { code: "51", name: "四川省", children: [{ code: "5101", name: "成都市", children: [{ code: "510104", name: "锦江区" }, { code: "510105", name: "青羊区" }, { code: "510106", name: "金牛区" }, { code: "510107", name: "武侯区" }, { code: "510108", name: "成华区" }, { code: "510112", name: "龙泉驿区" }, { code: "510113", name: "青白江区" }, { code: "510114", name: "新都区" }, { code: "510115", name: "温江区" }, { code: "510116", name: "双流区" }, { code: "510117", name: "郫都区" }, { code: "510118", name: "新津区" }, { code: "510121", name: "金堂县" }, { code: "510129", name: "大邑县" }, { code: "510131", name: "蒲江县" }, { code: "510181", name: "都江堰市" }, { code: "510182", name: "彭州市" }, { code: "510183", name: "邛崃市" }, { code: "510184", name: "崇州市" }, { code: "510185", name: "简阳市" }] }, { code: "5103", name: "自贡市", children: [{ code: "510302", name: "自流井区" }, { code: "510303", name: "贡井区" }, { code: "510304", name: "大安区" }, { code: "510311", name: "沿滩区" }, { code: "510321", name: "荣县" }, { code: "510322", name: "富顺县" }] }, { code: "5104", name: "攀枝花市", children: [{ code: "510402", name: "东区" }, { code: "510403", name: "西区" }, { code: "510411", name: "仁和区" }, { code: "510421", name: "米易县" }, { code: "510422", name: "盐边县" }] }, { code: "5105", name: "泸州市", children: [{ code: "510502", name: "江阳区" }, { code: "510503", name: "纳溪区" }, { code: "510504", name: "龙马潭区" }, { code: "510521", name: "泸县" }, { code: "510522", name: "合江县" }, { code: "510524", name: "叙永县" }, { code: "510525", name: "古蔺县" }] }, { code: "5106", name: "德阳市", children: [{ code: "510603", name: "旌阳区" }, { code: "510604", name: "罗江区" }, { code: "510623", name: "中江县" }, { code: "510681", name: "广汉市" }, { code: "510682", name: "什邡市" }, { code: "510683", name: "绵竹市" }] }, { code: "5107", name: "绵阳市", children: [{ code: "510703", name: "涪城区" }, { code: "510704", name: "游仙区" }, { code: "510705", name: "安州区" }, { code: "510722", name: "三台县" }, { code: "510723", name: "盐亭县" }, { code: "510725", name: "梓潼县" }, { code: "510726", name: "北川羌族自治县" }, { code: "510727", name: "平武县" }, { code: "510781", name: "江油市" }] }, { code: "5108", name: "广元市", children: [{ code: "510802", name: "利州区" }, { code: "510811", name: "昭化区" }, { code: "510812", name: "朝天区" }, { code: "510821", name: "旺苍县" }, { code: "510822", name: "青川县" }, { code: "510823", name: "剑阁县" }, { code: "510824", name: "苍溪县" }] }, { code: "5109", name: "遂宁市", children: [{ code: "510903", name: "船山区" }, { code: "510904", name: "安居区" }, { code: "510921", name: "蓬溪县" }, { code: "510923", name: "大英县" }, { code: "510981", name: "射洪市" }] }, { code: "5110", name: "内江市", children: [{ code: "511002", name: "市中区" }, { code: "511011", name: "东兴区" }, { code: "511024", name: "威远县" }, { code: "511025", name: "资中县" }, { code: "511071", name: "内江经济开发区" }, { code: "511083", name: "隆昌市" }] }, { code: "5111", name: "乐山市", children: [{ code: "511102", name: "市中区" }, { code: "511111", name: "沙湾区" }, { code: "511112", name: "五通桥区" }, { code: "511113", name: "金口河区" }, { code: "511123", name: "犍为县" }, { code: "511124", name: "井研县" }, { code: "511126", name: "夹江县" }, { code: "511129", name: "沐川县" }, { code: "511132", name: "峨边彝族自治县" }, { code: "511133", name: "马边彝族自治县" }, { code: "511181", name: "峨眉山市" }] }, { code: "5113", name: "南充市", children: [{ code: "511302", name: "顺庆区" }, { code: "511303", name: "高坪区" }, { code: "511304", name: "嘉陵区" }, { code: "511321", name: "南部县" }, { code: "511322", name: "营山县" }, { code: "511323", name: "蓬安县" }, { code: "511324", name: "仪陇县" }, { code: "511325", name: "西充县" }, { code: "511381", name: "阆中市" }] }, { code: "5114", name: "眉山市", children: [{ code: "511402", name: "东坡区" }, { code: "511403", name: "彭山区" }, { code: "511421", name: "仁寿县" }, { code: "511423", name: "洪雅县" }, { code: "511424", name: "丹棱县" }, { code: "511425", name: "青神县" }] }, { code: "5115", name: "宜宾市", children: [{ code: "511502", name: "翠屏区" }, { code: "511503", name: "南溪区" }, { code: "511504", name: "叙州区" }, { code: "511523", name: "江安县" }, { code: "511524", name: "长宁县" }, { code: "511525", name: "高县" }, { code: "511526", name: "珙县" }, { code: "511527", name: "筠连县" }, { code: "511528", name: "兴文县" }, { code: "511529", name: "屏山县" }] }, { code: "5116", name: "广安市", children: [{ code: "511602", name: "广安区" }, { code: "511603", name: "前锋区" }, { code: "511621", name: "岳池县" }, { code: "511622", name: "武胜县" }, { code: "511623", name: "邻水县" }, { code: "511681", name: "华蓥市" }] }, { code: "5117", name: "达州市", children: [{ code: "511702", name: "通川区" }, { code: "511703", name: "达川区" }, { code: "511722", name: "宣汉县" }, { code: "511723", name: "开江县" }, { code: "511724", name: "大竹县" }, { code: "511725", name: "渠县" }, { code: "511771", name: "达州经济开发区" }, { code: "511781", name: "万源市" }] }, { code: "5118", name: "雅安市", children: [{ code: "511802", name: "雨城区" }, { code: "511803", name: "名山区" }, { code: "511822", name: "荥经县" }, { code: "511823", name: "汉源县" }, { code: "511824", name: "石棉县" }, { code: "511825", name: "天全县" }, { code: "511826", name: "芦山县" }, { code: "511827", name: "宝兴县" }] }, { code: "5119", name: "巴中市", children: [{ code: "511902", name: "巴州区" }, { code: "511903", name: "恩阳区" }, { code: "511921", name: "通江县" }, { code: "511922", name: "南江县" }, { code: "511923", name: "平昌县" }, { code: "511971", name: "巴中经济开发区" }] }, { code: "5120", name: "资阳市", children: [{ code: "512002", name: "雁江区" }, { code: "512021", name: "安岳县" }, { code: "512022", name: "乐至县" }] }, { code: "5132", name: "阿坝藏族羌族自治州", children: [{ code: "513201", name: "马尔康市" }, { code: "513221", name: "汶川县" }, { code: "513222", name: "理县" }, { code: "513223", name: "茂县" }, { code: "513224", name: "松潘县" }, { code: "513225", name: "九寨沟县" }, { code: "513226", name: "金川县" }, { code: "513227", name: "小金县" }, { code: "513228", name: "黑水县" }, { code: "513230", name: "壤塘县" }, { code: "513231", name: "阿坝县" }, { code: "513232", name: "若尔盖县" }, { code: "513233", name: "红原县" }] }, { code: "5133", name: "甘孜藏族自治州", children: [{ code: "513301", name: "康定市" }, { code: "513322", name: "泸定县" }, { code: "513323", name: "丹巴县" }, { code: "513324", name: "九龙县" }, { code: "513325", name: "雅江县" }, { code: "513326", name: "道孚县" }, { code: "513327", name: "炉霍县" }, { code: "513328", name: "甘孜县" }, { code: "513329", name: "新龙县" }, { code: "513330", name: "德格县" }, { code: "513331", name: "白玉县" }, { code: "513332", name: "石渠县" }, { code: "513333", name: "色达县" }, { code: "513334", name: "理塘县" }, { code: "513335", name: "巴塘县" }, { code: "513336", name: "乡城县" }, { code: "513337", name: "稻城县" }, { code: "513338", name: "得荣县" }] }, { code: "5134", name: "凉山彝族自治州", children: [{ code: "513401", name: "西昌市" }, { code: "513422", name: "木里藏族自治县" }, { code: "513423", name: "盐源县" }, { code: "513424", name: "德昌县" }, { code: "513425", name: "会理县" }, { code: "513426", name: "会东县" }, { code: "513427", name: "宁南县" }, { code: "513428", name: "普格县" }, { code: "513429", name: "布拖县" }, { code: "513430", name: "金阳县" }, { code: "513431", name: "昭觉县" }, { code: "513432", name: "喜德县" }, { code: "513433", name: "冕宁县" }, { code: "513434", name: "越西县" }, { code: "513435", name: "甘洛县" }, { code: "513436", name: "美姑县" }, { code: "513437", name: "雷波县" }] }] }, { code: "52", name: "贵州省", children: [{ code: "5201", name: "贵阳市", children: [{ code: "520102", name: "南明区" }, { code: "520103", name: "云岩区" }, { code: "520111", name: "花溪区" }, { code: "520112", name: "乌当区" }, { code: "520113", name: "白云区" }, { code: "520115", name: "观山湖区" }, { code: "520121", name: "开阳县" }, { code: "520122", name: "息烽县" }, { code: "520123", name: "修文县" }, { code: "520181", name: "清镇市" }] }, { code: "5202", name: "六盘水市", children: [{ code: "520201", name: "钟山区" }, { code: "520203", name: "六枝特区" }, { code: "520221", name: "水城县" }, { code: "520281", name: "盘州市" }] }, { code: "5203", name: "遵义市", children: [{ code: "520302", name: "红花岗区" }, { code: "520303", name: "汇川区" }, { code: "520304", name: "播州区" }, { code: "520322", name: "桐梓县" }, { code: "520323", name: "绥阳县" }, { code: "520324", name: "正安县" }, { code: "520325", name: "道真仡佬族苗族自治县" }, { code: "520326", name: "务川仡佬族苗族自治县" }, { code: "520327", name: "凤冈县" }, { code: "520328", name: "湄潭县" }, { code: "520329", name: "余庆县" }, { code: "520330", name: "习水县" }, { code: "520381", name: "赤水市" }, { code: "520382", name: "仁怀市" }] }, { code: "5204", name: "安顺市", children: [{ code: "520402", name: "西秀区" }, { code: "520403", name: "平坝区" }, { code: "520422", name: "普定县" }, { code: "520423", name: "镇宁布依族苗族自治县" }, { code: "520424", name: "关岭布依族苗族自治县" }, { code: "520425", name: "紫云苗族布依族自治县" }] }, { code: "5205", name: "毕节市", children: [{ code: "520502", name: "七星关区" }, { code: "520521", name: "大方县" }, { code: "520522", name: "黔西县" }, { code: "520523", name: "金沙县" }, { code: "520524", name: "织金县" }, { code: "520525", name: "纳雍县" }, { code: "520526", name: "威宁彝族回族苗族自治县" }, { code: "520527", name: "赫章县" }] }, { code: "5206", name: "铜仁市", children: [{ code: "520602", name: "碧江区" }, { code: "520603", name: "万山区" }, { code: "520621", name: "江口县" }, { code: "520622", name: "玉屏侗族自治县" }, { code: "520623", name: "石阡县" }, { code: "520624", name: "思南县" }, { code: "520625", name: "印江土家族苗族自治县" }, { code: "520626", name: "德江县" }, { code: "520627", name: "沿河土家族自治县" }, { code: "520628", name: "松桃苗族自治县" }] }, { code: "5223", name: "黔西南布依族苗族自治州", children: [{ code: "522301", name: "兴义市" }, { code: "522302", name: "兴仁市" }, { code: "522323", name: "普安县" }, { code: "522324", name: "晴隆县" }, { code: "522325", name: "贞丰县" }, { code: "522326", name: "望谟县" }, { code: "522327", name: "册亨县" }, { code: "522328", name: "安龙县" }] }, { code: "5226", name: "黔东南苗族侗族自治州", children: [{ code: "522601", name: "凯里市" }, { code: "522622", name: "黄平县" }, { code: "522623", name: "施秉县" }, { code: "522624", name: "三穗县" }, { code: "522625", name: "镇远县" }, { code: "522626", name: "岑巩县" }, { code: "522627", name: "天柱县" }, { code: "522628", name: "锦屏县" }, { code: "522629", name: "剑河县" }, { code: "522630", name: "台江县" }, { code: "522631", name: "黎平县" }, { code: "522632", name: "榕江县" }, { code: "522633", name: "从江县" }, { code: "522634", name: "雷山县" }, { code: "522635", name: "麻江县" }, { code: "522636", name: "丹寨县" }] }, { code: "5227", name: "黔南布依族苗族自治州", children: [{ code: "522701", name: "都匀市" }, { code: "522702", name: "福泉市" }, { code: "522722", name: "荔波县" }, { code: "522723", name: "贵定县" }, { code: "522725", name: "瓮安县" }, { code: "522726", name: "独山县" }, { code: "522727", name: "平塘县" }, { code: "522728", name: "罗甸县" }, { code: "522729", name: "长顺县" }, { code: "522730", name: "龙里县" }, { code: "522731", name: "惠水县" }, { code: "522732", name: "三都水族自治县" }] }] }, { code: "53", name: "云南省", children: [{ code: "5301", name: "昆明市", children: [{ code: "530102", name: "五华区" }, { code: "530103", name: "盘龙区" }, { code: "530111", name: "官渡区" }, { code: "530112", name: "西山区" }, { code: "530113", name: "东川区" }, { code: "530114", name: "呈贡区" }, { code: "530115", name: "晋宁区" }, { code: "530124", name: "富民县" }, { code: "530125", name: "宜良县" }, { code: "530126", name: "石林彝族自治县" }, { code: "530127", name: "嵩明县" }, { code: "530128", name: "禄劝彝族苗族自治县" }, { code: "530129", name: "寻甸回族彝族自治县" }, { code: "530181", name: "安宁市" }] }, { code: "5303", name: "曲靖市", children: [{ code: "530302", name: "麒麟区" }, { code: "530303", name: "沾益区" }, { code: "530304", name: "马龙区" }, { code: "530322", name: "陆良县" }, { code: "530323", name: "师宗县" }, { code: "530324", name: "罗平县" }, { code: "530325", name: "富源县" }, { code: "530326", name: "会泽县" }, { code: "530381", name: "宣威市" }] }, { code: "5304", name: "玉溪市", children: [{ code: "530402", name: "红塔区" }, { code: "530403", name: "江川区" }, { code: "530423", name: "通海县" }, { code: "530424", name: "华宁县" }, { code: "530425", name: "易门县" }, { code: "530426", name: "峨山彝族自治县" }, { code: "530427", name: "新平彝族傣族自治县" }, { code: "530428", name: "元江哈尼族彝族傣族自治县" }, { code: "530481", name: "澄江市" }] }, { code: "5305", name: "保山市", children: [{ code: "530502", name: "隆阳区" }, { code: "530521", name: "施甸县" }, { code: "530523", name: "龙陵县" }, { code: "530524", name: "昌宁县" }, { code: "530581", name: "腾冲市" }] }, { code: "5306", name: "昭通市", children: [{ code: "530602", name: "昭阳区" }, { code: "530621", name: "鲁甸县" }, { code: "530622", name: "巧家县" }, { code: "530623", name: "盐津县" }, { code: "530624", name: "大关县" }, { code: "530625", name: "永善县" }, { code: "530626", name: "绥江县" }, { code: "530627", name: "镇雄县" }, { code: "530628", name: "彝良县" }, { code: "530629", name: "威信县" }, { code: "530681", name: "水富市" }] }, { code: "5307", name: "丽江市", children: [{ code: "530702", name: "古城区" }, { code: "530721", name: "玉龙纳西族自治县" }, { code: "530722", name: "永胜县" }, { code: "530723", name: "华坪县" }, { code: "530724", name: "宁蒗彝族自治县" }] }, { code: "5308", name: "普洱市", children: [{ code: "530802", name: "思茅区" }, { code: "530821", name: "宁洱哈尼族彝族自治县" }, { code: "530822", name: "墨江哈尼族自治县" }, { code: "530823", name: "景东彝族自治县" }, { code: "530824", name: "景谷傣族彝族自治县" }, { code: "530825", name: "镇沅彝族哈尼族拉祜族自治县" }, { code: "530826", name: "江城哈尼族彝族自治县" }, { code: "530827", name: "孟连傣族拉祜族佤族自治县" }, { code: "530828", name: "澜沧拉祜族自治县" }, { code: "530829", name: "西盟佤族自治县" }] }, { code: "5309", name: "临沧市", children: [{ code: "530902", name: "临翔区" }, { code: "530921", name: "凤庆县" }, { code: "530922", name: "云县" }, { code: "530923", name: "永德县" }, { code: "530924", name: "镇康县" }, { code: "530925", name: "双江拉祜族佤族布朗族傣族自治县" }, { code: "530926", name: "耿马傣族佤族自治县" }, { code: "530927", name: "沧源佤族自治县" }] }, { code: "5323", name: "楚雄彝族自治州", children: [{ code: "532301", name: "楚雄市" }, { code: "532322", name: "双柏县" }, { code: "532323", name: "牟定县" }, { code: "532324", name: "南华县" }, { code: "532325", name: "姚安县" }, { code: "532326", name: "大姚县" }, { code: "532327", name: "永仁县" }, { code: "532328", name: "元谋县" }, { code: "532329", name: "武定县" }, { code: "532331", name: "禄丰县" }] }, { code: "5325", name: "红河哈尼族彝族自治州", children: [{ code: "532501", name: "个旧市" }, { code: "532502", name: "开远市" }, { code: "532503", name: "蒙自市" }, { code: "532504", name: "弥勒市" }, { code: "532523", name: "屏边苗族自治县" }, { code: "532524", name: "建水县" }, { code: "532525", name: "石屏县" }, { code: "532527", name: "泸西县" }, { code: "532528", name: "元阳县" }, { code: "532529", name: "红河县" }, { code: "532530", name: "金平苗族瑶族傣族自治县" }, { code: "532531", name: "绿春县" }, { code: "532532", name: "河口瑶族自治县" }] }, { code: "5326", name: "文山壮族苗族自治州", children: [{ code: "532601", name: "文山市" }, { code: "532622", name: "砚山县" }, { code: "532623", name: "西畴县" }, { code: "532624", name: "麻栗坡县" }, { code: "532625", name: "马关县" }, { code: "532626", name: "丘北县" }, { code: "532627", name: "广南县" }, { code: "532628", name: "富宁县" }] }, { code: "5328", name: "西双版纳傣族自治州", children: [{ code: "532801", name: "景洪市" }, { code: "532822", name: "勐海县" }, { code: "532823", name: "勐腊县" }] }, { code: "5329", name: "大理白族自治州", children: [{ code: "532901", name: "大理市" }, { code: "532922", name: "漾濞彝族自治县" }, { code: "532923", name: "祥云县" }, { code: "532924", name: "宾川县" }, { code: "532925", name: "弥渡县" }, { code: "532926", name: "南涧彝族自治县" }, { code: "532927", name: "巍山彝族回族自治县" }, { code: "532928", name: "永平县" }, { code: "532929", name: "云龙县" }, { code: "532930", name: "洱源县" }, { code: "532931", name: "剑川县" }, { code: "532932", name: "鹤庆县" }] }, { code: "5331", name: "德宏傣族景颇族自治州", children: [{ code: "533102", name: "瑞丽市" }, { code: "533103", name: "芒市" }, { code: "533122", name: "梁河县" }, { code: "533123", name: "盈江县" }, { code: "533124", name: "陇川县" }] }, { code: "5333", name: "怒江傈僳族自治州", children: [{ code: "533301", name: "泸水市" }, { code: "533323", name: "福贡县" }, { code: "533324", name: "贡山独龙族怒族自治县" }, { code: "533325", name: "兰坪白族普米族自治县" }] }, { code: "5334", name: "迪庆藏族自治州", children: [{ code: "533401", name: "香格里拉市" }, { code: "533422", name: "德钦县" }, { code: "533423", name: "维西傈僳族自治县" }] }] }, { code: "54", name: "西藏自治区", children: [{ code: "5401", name: "拉萨市", children: [{ code: "540102", name: "城关区" }, { code: "540103", name: "堆龙德庆区" }, { code: "540104", name: "达孜区" }, { code: "540121", name: "林周县" }, { code: "540122", name: "当雄县" }, { code: "540123", name: "尼木县" }, { code: "540124", name: "曲水县" }, { code: "540127", name: "墨竹工卡县" }, { code: "540171", name: "格尔木藏青工业园区" }, { code: "540172", name: "拉萨经济技术开发区" }, { code: "540173", name: "西藏文化旅游创意园区" }, { code: "540174", name: "达孜工业园区" }] }, { code: "5402", name: "日喀则市", children: [{ code: "540202", name: "桑珠孜区" }, { code: "540221", name: "南木林县" }, { code: "540222", name: "江孜县" }, { code: "540223", name: "定日县" }, { code: "540224", name: "萨迦县" }, { code: "540225", name: "拉孜县" }, { code: "540226", name: "昂仁县" }, { code: "540227", name: "谢通门县" }, { code: "540228", name: "白朗县" }, { code: "540229", name: "仁布县" }, { code: "540230", name: "康马县" }, { code: "540231", name: "定结县" }, { code: "540232", name: "仲巴县" }, { code: "540233", name: "亚东县" }, { code: "540234", name: "吉隆县" }, { code: "540235", name: "聂拉木县" }, { code: "540236", name: "萨嘎县" }, { code: "540237", name: "岗巴县" }] }, { code: "5403", name: "昌都市", children: [{ code: "540302", name: "卡若区" }, { code: "540321", name: "江达县" }, { code: "540322", name: "贡觉县" }, { code: "540323", name: "类乌齐县" }, { code: "540324", name: "丁青县" }, { code: "540325", name: "察雅县" }, { code: "540326", name: "八宿县" }, { code: "540327", name: "左贡县" }, { code: "540328", name: "芒康县" }, { code: "540329", name: "洛隆县" }, { code: "540330", name: "边坝县" }] }, { code: "5404", name: "林芝市", children: [{ code: "540402", name: "巴宜区" }, { code: "540421", name: "工布江达县" }, { code: "540422", name: "米林县" }, { code: "540423", name: "墨脱县" }, { code: "540424", name: "波密县" }, { code: "540425", name: "察隅县" }, { code: "540426", name: "朗县" }] }, { code: "5405", name: "山南市", children: [{ code: "540502", name: "乃东区" }, { code: "540521", name: "扎囊县" }, { code: "540522", name: "贡嘎县" }, { code: "540523", name: "桑日县" }, { code: "540524", name: "琼结县" }, { code: "540525", name: "曲松县" }, { code: "540526", name: "措美县" }, { code: "540527", name: "洛扎县" }, { code: "540528", name: "加查县" }, { code: "540529", name: "隆子县" }, { code: "540530", name: "错那县" }, { code: "540531", name: "浪卡子县" }] }, { code: "5406", name: "那曲市", children: [{ code: "540602", name: "色尼区" }, { code: "540621", name: "嘉黎县" }, { code: "540622", name: "比如县" }, { code: "540623", name: "聂荣县" }, { code: "540624", name: "安多县" }, { code: "540625", name: "申扎县" }, { code: "540626", name: "索县" }, { code: "540627", name: "班戈县" }, { code: "540628", name: "巴青县" }, { code: "540629", name: "尼玛县" }, { code: "540630", name: "双湖县" }] }, { code: "5425", name: "阿里地区", children: [{ code: "542521", name: "普兰县" }, { code: "542522", name: "札达县" }, { code: "542523", name: "噶尔县" }, { code: "542524", name: "日土县" }, { code: "542525", name: "革吉县" }, { code: "542526", name: "改则县" }, { code: "542527", name: "措勤县" }] }] }, { code: "61", name: "陕西省", children: [{ code: "6101", name: "西安市", children: [{ code: "610102", name: "新城区" }, { code: "610103", name: "碑林区" }, { code: "610104", name: "莲湖区" }, { code: "610111", name: "灞桥区" }, { code: "610112", name: "未央区" }, { code: "610113", name: "雁塔区" }, { code: "610114", name: "阎良区" }, { code: "610115", name: "临潼区" }, { code: "610116", name: "长安区" }, { code: "610117", name: "高陵区" }, { code: "610118", name: "鄠邑区" }, { code: "610122", name: "蓝田县" }, { code: "610124", name: "周至县" }] }, { code: "6102", name: "铜川市", children: [{ code: "610202", name: "王益区" }, { code: "610203", name: "印台区" }, { code: "610204", name: "耀州区" }, { code: "610222", name: "宜君县" }] }, { code: "6103", name: "宝鸡市", children: [{ code: "610302", name: "渭滨区" }, { code: "610303", name: "金台区" }, { code: "610304", name: "陈仓区" }, { code: "610322", name: "凤翔县" }, { code: "610323", name: "岐山县" }, { code: "610324", name: "扶风县" }, { code: "610326", name: "眉县" }, { code: "610327", name: "陇县" }, { code: "610328", name: "千阳县" }, { code: "610329", name: "麟游县" }, { code: "610330", name: "凤县" }, { code: "610331", name: "太白县" }] }, { code: "6104", name: "咸阳市", children: [{ code: "610402", name: "秦都区" }, { code: "610403", name: "杨陵区" }, { code: "610404", name: "渭城区" }, { code: "610422", name: "三原县" }, { code: "610423", name: "泾阳县" }, { code: "610424", name: "乾县" }, { code: "610425", name: "礼泉县" }, { code: "610426", name: "永寿县" }, { code: "610428", name: "长武县" }, { code: "610429", name: "旬邑县" }, { code: "610430", name: "淳化县" }, { code: "610431", name: "武功县" }, { code: "610481", name: "兴平市" }, { code: "610482", name: "彬州市" }] }, { code: "6105", name: "渭南市", children: [{ code: "610502", name: "临渭区" }, { code: "610503", name: "华州区" }, { code: "610522", name: "潼关县" }, { code: "610523", name: "大荔县" }, { code: "610524", name: "合阳县" }, { code: "610525", name: "澄城县" }, { code: "610526", name: "蒲城县" }, { code: "610527", name: "白水县" }, { code: "610528", name: "富平县" }, { code: "610581", name: "韩城市" }, { code: "610582", name: "华阴市" }] }, { code: "6106", name: "延安市", children: [{ code: "610602", name: "宝塔区" }, { code: "610603", name: "安塞区" }, { code: "610621", name: "延长县" }, { code: "610622", name: "延川县" }, { code: "610625", name: "志丹县" }, { code: "610626", name: "吴起县" }, { code: "610627", name: "甘泉县" }, { code: "610628", name: "富县" }, { code: "610629", name: "洛川县" }, { code: "610630", name: "宜川县" }, { code: "610631", name: "黄龙县" }, { code: "610632", name: "黄陵县" }, { code: "610681", name: "子长市" }] }, { code: "6107", name: "汉中市", children: [{ code: "610702", name: "汉台区" }, { code: "610703", name: "南郑区" }, { code: "610722", name: "城固县" }, { code: "610723", name: "洋县" }, { code: "610724", name: "西乡县" }, { code: "610725", name: "勉县" }, { code: "610726", name: "宁强县" }, { code: "610727", name: "略阳县" }, { code: "610728", name: "镇巴县" }, { code: "610729", name: "留坝县" }, { code: "610730", name: "佛坪县" }] }, { code: "6108", name: "榆林市", children: [{ code: "610802", name: "榆阳区" }, { code: "610803", name: "横山区" }, { code: "610822", name: "府谷县" }, { code: "610824", name: "靖边县" }, { code: "610825", name: "定边县" }, { code: "610826", name: "绥德县" }, { code: "610827", name: "米脂县" }, { code: "610828", name: "佳县" }, { code: "610829", name: "吴堡县" }, { code: "610830", name: "清涧县" }, { code: "610831", name: "子洲县" }, { code: "610881", name: "神木市" }] }, { code: "6109", name: "安康市", children: [{ code: "610902", name: "汉滨区" }, { code: "610921", name: "汉阴县" }, { code: "610922", name: "石泉县" }, { code: "610923", name: "宁陕县" }, { code: "610924", name: "紫阳县" }, { code: "610925", name: "岚皋县" }, { code: "610926", name: "平利县" }, { code: "610927", name: "镇坪县" }, { code: "610928", name: "旬阳县" }, { code: "610929", name: "白河县" }] }, { code: "6110", name: "商洛市", children: [{ code: "611002", name: "商州区" }, { code: "611021", name: "洛南县" }, { code: "611022", name: "丹凤县" }, { code: "611023", name: "商南县" }, { code: "611024", name: "山阳县" }, { code: "611025", name: "镇安县" }, { code: "611026", name: "柞水县" }] }] }, { code: "62", name: "甘肃省", children: [{ code: "6201", name: "兰州市", children: [{ code: "620102", name: "城关区" }, { code: "620103", name: "七里河区" }, { code: "620104", name: "西固区" }, { code: "620105", name: "安宁区" }, { code: "620111", name: "红古区" }, { code: "620121", name: "永登县" }, { code: "620122", name: "皋兰县" }, { code: "620123", name: "榆中县" }, { code: "620171", name: "兰州新区" }] }, { code: "6202", name: "嘉峪关市", children: [{ code: "620201001", name: "雄关街道" }, { code: "620201002", name: "钢城街道" }, { code: "620201100", name: "新城镇" }, { code: "620201101", name: "峪泉镇" }, { code: "620201102", name: "文殊镇" }] }, { code: "6203", name: "金昌市", children: [{ code: "620302", name: "金川区" }, { code: "620321", name: "永昌县" }] }, { code: "6204", name: "白银市", children: [{ code: "620402", name: "白银区" }, { code: "620403", name: "平川区" }, { code: "620421", name: "靖远县" }, { code: "620422", name: "会宁县" }, { code: "620423", name: "景泰县" }] }, { code: "6205", name: "天水市", children: [{ code: "620502", name: "秦州区" }, { code: "620503", name: "麦积区" }, { code: "620521", name: "清水县" }, { code: "620522", name: "秦安县" }, { code: "620523", name: "甘谷县" }, { code: "620524", name: "武山县" }, { code: "620525", name: "张家川回族自治县" }] }, { code: "6206", name: "武威市", children: [{ code: "620602", name: "凉州区" }, { code: "620621", name: "民勤县" }, { code: "620622", name: "古浪县" }, { code: "620623", name: "天祝藏族自治县" }] }, { code: "6207", name: "张掖市", children: [{ code: "620702", name: "甘州区" }, { code: "620721", name: "肃南裕固族自治县" }, { code: "620722", name: "民乐县" }, { code: "620723", name: "临泽县" }, { code: "620724", name: "高台县" }, { code: "620725", name: "山丹县" }] }, { code: "6208", name: "平凉市", children: [{ code: "620802", name: "崆峒区" }, { code: "620821", name: "泾川县" }, { code: "620822", name: "灵台县" }, { code: "620823", name: "崇信县" }, { code: "620825", name: "庄浪县" }, { code: "620826", name: "静宁县" }, { code: "620881", name: "华亭市" }] }, { code: "6209", name: "酒泉市", children: [{ code: "620902", name: "肃州区" }, { code: "620921", name: "金塔县" }, { code: "620922", name: "瓜州县" }, { code: "620923", name: "肃北蒙古族自治县" }, { code: "620924", name: "阿克塞哈萨克族自治县" }, { code: "620981", name: "玉门市" }, { code: "620982", name: "敦煌市" }] }, { code: "6210", name: "庆阳市", children: [{ code: "621002", name: "西峰区" }, { code: "621021", name: "庆城县" }, { code: "621022", name: "环县" }, { code: "621023", name: "华池县" }, { code: "621024", name: "合水县" }, { code: "621025", name: "正宁县" }, { code: "621026", name: "宁县" }, { code: "621027", name: "镇原县" }] }, { code: "6211", name: "定西市", children: [{ code: "621102", name: "安定区" }, { code: "621121", name: "通渭县" }, { code: "621122", name: "陇西县" }, { code: "621123", name: "渭源县" }, { code: "621124", name: "临洮县" }, { code: "621125", name: "漳县" }, { code: "621126", name: "岷县" }] }, { code: "6212", name: "陇南市", children: [{ code: "621202", name: "武都区" }, { code: "621221", name: "成县" }, { code: "621222", name: "文县" }, { code: "621223", name: "宕昌县" }, { code: "621224", name: "康县" }, { code: "621225", name: "西和县" }, { code: "621226", name: "礼县" }, { code: "621227", name: "徽县" }, { code: "621228", name: "两当县" }] }, { code: "6229", name: "临夏回族自治州", children: [{ code: "622901", name: "临夏市" }, { code: "622921", name: "临夏县" }, { code: "622922", name: "康乐县" }, { code: "622923", name: "永靖县" }, { code: "622924", name: "广河县" }, { code: "622925", name: "和政县" }, { code: "622926", name: "东乡族自治县" }, { code: "622927", name: "积石山保安族东乡族撒拉族自治县" }] }, { code: "6230", name: "甘南藏族自治州", children: [{ code: "623001", name: "合作市" }, { code: "623021", name: "临潭县" }, { code: "623022", name: "卓尼县" }, { code: "623023", name: "舟曲县" }, { code: "623024", name: "迭部县" }, { code: "623025", name: "玛曲县" }, { code: "623026", name: "碌曲县" }, { code: "623027", name: "夏河县" }] }] }, { code: "63", name: "青海省", children: [{ code: "6301", name: "西宁市", children: [{ code: "630102", name: "城东区" }, { code: "630103", name: "城中区" }, { code: "630104", name: "城西区" }, { code: "630105", name: "城北区" }, { code: "630106", name: "湟中区" }, { code: "630121", name: "大通回族土族自治县" }, { code: "630123", name: "湟源县" }] }, { code: "6302", name: "海东市", children: [{ code: "630202", name: "乐都区" }, { code: "630203", name: "平安区" }, { code: "630222", name: "民和回族土族自治县" }, { code: "630223", name: "互助土族自治县" }, { code: "630224", name: "化隆回族自治县" }, { code: "630225", name: "循化撒拉族自治县" }] }, { code: "6322", name: "海北藏族自治州", children: [{ code: "632221", name: "门源回族自治县" }, { code: "632222", name: "祁连县" }, { code: "632223", name: "海晏县" }, { code: "632224", name: "刚察县" }] }, { code: "6323", name: "黄南藏族自治州", children: [{ code: "632321", name: "同仁县" }, { code: "632322", name: "尖扎县" }, { code: "632323", name: "泽库县" }, { code: "632324", name: "河南蒙古族自治县" }] }, { code: "6325", name: "海南藏族自治州", children: [{ code: "632521", name: "共和县" }, { code: "632522", name: "同德县" }, { code: "632523", name: "贵德县" }, { code: "632524", name: "兴海县" }, { code: "632525", name: "贵南县" }] }, { code: "6326", name: "果洛藏族自治州", children: [{ code: "632621", name: "玛沁县" }, { code: "632622", name: "班玛县" }, { code: "632623", name: "甘德县" }, { code: "632624", name: "达日县" }, { code: "632625", name: "久治县" }, { code: "632626", name: "玛多县" }] }, { code: "6327", name: "玉树藏族自治州", children: [{ code: "632701", name: "玉树市" }, { code: "632722", name: "杂多县" }, { code: "632723", name: "称多县" }, { code: "632724", name: "治多县" }, { code: "632725", name: "囊谦县" }, { code: "632726", name: "曲麻莱县" }] }, { code: "6328", name: "海西蒙古族藏族自治州", children: [{ code: "632801", name: "格尔木市" }, { code: "632802", name: "德令哈市" }, { code: "632803", name: "茫崖市" }, { code: "632821", name: "乌兰县" }, { code: "632822", name: "都兰县" }, { code: "632823", name: "天峻县" }, { code: "632857", name: "大柴旦行政委员会" }] }] }, { code: "64", name: "宁夏回族自治区", children: [{ code: "6401", name: "银川市", children: [{ code: "640104", name: "兴庆区" }, { code: "640105", name: "西夏区" }, { code: "640106", name: "金凤区" }, { code: "640121", name: "永宁县" }, { code: "640122", name: "贺兰县" }, { code: "640181", name: "灵武市" }] }, { code: "6402", name: "石嘴山市", children: [{ code: "640202", name: "大武口区" }, { code: "640205", name: "惠农区" }, { code: "640221", name: "平罗县" }] }, { code: "6403", name: "吴忠市", children: [{ code: "640302", name: "利通区" }, { code: "640303", name: "红寺堡区" }, { code: "640323", name: "盐池县" }, { code: "640324", name: "同心县" }, { code: "640381", name: "青铜峡市" }] }, { code: "6404", name: "固原市", children: [{ code: "640402", name: "原州区" }, { code: "640422", name: "西吉县" }, { code: "640423", name: "隆德县" }, { code: "640424", name: "泾源县" }, { code: "640425", name: "彭阳县" }] }, { code: "6405", name: "中卫市", children: [{ code: "640502", name: "沙坡头区" }, { code: "640521", name: "中宁县" }, { code: "640522", name: "海原县" }] }] }, { code: "65", name: "新疆维吾尔自治区", children: [{ code: "6501", name: "乌鲁木齐市", children: [{ code: "650102", name: "天山区" }, { code: "650103", name: "沙依巴克区" }, { code: "650104", name: "新市区" }, { code: "650105", name: "水磨沟区" }, { code: "650106", name: "头屯河区" }, { code: "650107", name: "达坂城区" }, { code: "650109", name: "米东区" }, { code: "650121", name: "乌鲁木齐县" }] }, { code: "6502", name: "克拉玛依市", children: [{ code: "650202", name: "独山子区" }, { code: "650203", name: "克拉玛依区" }, { code: "650204", name: "白碱滩区" }, { code: "650205", name: "乌尔禾区" }] }, { code: "6504", name: "吐鲁番市", children: [{ code: "650402", name: "高昌区" }, { code: "650421", name: "鄯善县" }, { code: "650422", name: "托克逊县" }] }, { code: "6505", name: "哈密市", children: [{ code: "650502", name: "伊州区" }, { code: "650521", name: "巴里坤哈萨克自治县" }, { code: "650522", name: "伊吾县" }] }, { code: "6523", name: "昌吉回族自治州", children: [{ code: "652301", name: "昌吉市" }, { code: "652302", name: "阜康市" }, { code: "652323", name: "呼图壁县" }, { code: "652324", name: "玛纳斯县" }, { code: "652325", name: "奇台县" }, { code: "652327", name: "吉木萨尔县" }, { code: "652328", name: "木垒哈萨克自治县" }] }, { code: "6527", name: "博尔塔拉蒙古自治州", children: [{ code: "652701", name: "博乐市" }, { code: "652702", name: "阿拉山口市" }, { code: "652722", name: "精河县" }, { code: "652723", name: "温泉县" }] }, { code: "6528", name: "巴音郭楞蒙古自治州", children: [{ code: "652801", name: "库尔勒市" }, { code: "652822", name: "轮台县" }, { code: "652823", name: "尉犁县" }, { code: "652824", name: "若羌县" }, { code: "652825", name: "且末县" }, { code: "652826", name: "焉耆回族自治县" }, { code: "652827", name: "和静县" }, { code: "652828", name: "和硕县" }, { code: "652829", name: "博湖县" }, { code: "652871", name: "库尔勒经济技术开发区" }] }, { code: "6529", name: "阿克苏地区", children: [{ code: "652901", name: "阿克苏市" }, { code: "652902", name: "库车市" }, { code: "652922", name: "温宿县" }, { code: "652924", name: "沙雅县" }, { code: "652925", name: "新和县" }, { code: "652926", name: "拜城县" }, { code: "652927", name: "乌什县" }, { code: "652928", name: "阿瓦提县" }, { code: "652929", name: "柯坪县" }] }, { code: "6530", name: "克孜勒苏柯尔克孜自治州", children: [{ code: "653001", name: "阿图什市" }, { code: "653022", name: "阿克陶县" }, { code: "653023", name: "阿合奇县" }, { code: "653024", name: "乌恰县" }] }, { code: "6531", name: "喀什地区", children: [{ code: "653101", name: "喀什市" }, { code: "653121", name: "疏附县" }, { code: "653122", name: "疏勒县" }, { code: "653123", name: "英吉沙县" }, { code: "653124", name: "泽普县" }, { code: "653125", name: "莎车县" }, { code: "653126", name: "叶城县" }, { code: "653127", name: "麦盖提县" }, { code: "653128", name: "岳普湖县" }, { code: "653129", name: "伽师县" }, { code: "653130", name: "巴楚县" }, { code: "653131", name: "塔什库尔干塔吉克自治县" }] }, { code: "6532", name: "和田地区", children: [{ code: "653201", name: "和田市" }, { code: "653221", name: "和田县" }, { code: "653222", name: "墨玉县" }, { code: "653223", name: "皮山县" }, { code: "653224", name: "洛浦县" }, { code: "653225", name: "策勒县" }, { code: "653226", name: "于田县" }, { code: "653227", name: "民丰县" }] }, { code: "6540", name: "伊犁哈萨克自治州", children: [{ code: "654002", name: "伊宁市" }, { code: "654003", name: "奎屯市" }, { code: "654004", name: "霍尔果斯市" }, { code: "654021", name: "伊宁县" }, { code: "654022", name: "察布查尔锡伯自治县" }, { code: "654023", name: "霍城县" }, { code: "654024", name: "巩留县" }, { code: "654025", name: "新源县" }, { code: "654026", name: "昭苏县" }, { code: "654027", name: "特克斯县" }, { code: "654028", name: "尼勒克县" }] }, { code: "6542", name: "塔城地区", children: [{ code: "654201", name: "塔城市" }, { code: "654202", name: "乌苏市" }, { code: "654221", name: "额敏县" }, { code: "654223", name: "沙湾县" }, { code: "654224", name: "托里县" }, { code: "654225", name: "裕民县" }, { code: "654226", name: "和布克赛尔蒙古自治县" }] }, { code: "6543", name: "阿勒泰地区", children: [{ code: "654301", name: "阿勒泰市" }, { code: "654321", name: "布尔津县" }, { code: "654322", name: "富蕴县" }, { code: "654323", name: "福海县" }, { code: "654324", name: "哈巴河县" }, { code: "654325", name: "青河县" }, { code: "654326", name: "吉木乃县" }] }, { code: "6590", name: "自治区直辖县级行政区划", children: [{ code: "659001", name: "石河子市" }, { code: "659002", name: "阿拉尔市" }, { code: "659003", name: "图木舒克市" }, { code: "659004", name: "五家渠市" }, { code: "659005", name: "北屯市" }, { code: "659006", name: "铁门关市" }, { code: "659007", name: "双河市" }, { code: "659008", name: "可克达拉市" }, { code: "659009", name: "昆玉市" }, { code: "659010", name: "胡杨河市" }] }] }] }, b0dc: function(e, t, n) { "use strict"; function o(e) { var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], n = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/; if (e = e.toLowerCase(), e && n.test(e)) { if (4 === e.length) { for (var o = "#", a = 1; a < 4; a += 1) o += e.slice(a, a + 1).concat(e.slice(a, a + 1)); e = o } for (var r = [], i = 1; i < 7; i += 2) r.push(parseInt("0x" + e.slice(i, i + 2))); return t ? "rgb(".concat(r[0], ",").concat(r[1], ",").concat(r[2], ")") : r } if (/^(rgb|RGB)/.test(e)) { var c = e.replace(/(?:\(|\)|rgb|RGB)*/g, "").split(","); return c.map((function(e) { return Number(e) })) } return e } function a(e) { var t = e; if (/^(rgb|RGB)/.test(t)) { for (var n = t.replace(/(?:\(|\)|rgb|RGB)*/g, "").split(","), o = "#", a = 0; a < n.length; a++) { var r = Number(n[a]).toString(16); r = 1 == String(r).length ? "0" + r : r, "0" === r && (r += r), o += r } return 7 !== o.length && (o = t), o } if (!/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(t)) return t; var i = t.replace(/#/, "").split(""); if (6 === i.length) return t; if (3 === i.length) { for (var c = "#", d = 0; d < i.length; d += 1) c += i[d] + i[d]; return c } } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var r = { colorGradient: function() { for (var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "rgb(0, 0, 0)", t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "rgb(255, 255, 255)", n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 10, r = o(e, !1), i = r[0], c = r[1], d = r[2], s = o(t, !1), l = s[0], u = s[1], m = s[2], h = (l - i) / n, f = (u - c) / n, p = (m - d) / n, g = [], v = 0; v < n; v++) { var y = a("rgb(" + Math.round(h * v + i) + "," + Math.round(f * v + c) + "," + Math.round(p * v + d) + ")"); g.push(y) } return g }, hexToRgb: o, rgbToHex: a, colorToRgba: function(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : .3; e = a(e); var n = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/, o = e.toLowerCase(); if (o && n.test(o)) { if (4 === o.length) { for (var r = "#", i = 1; i < 4; i += 1) r += o.slice(i, i + 1).concat(o.slice(i, i + 1)); o = r } for (var c = [], d = 1; d < 7; d += 2) c.push(parseInt("0x" + o.slice(d, d + 2))); return "rgba(" + c.join(",") + "," + t + ")" } return o } }; t.default = r }, b17c: function(e, t, n) { var o = n("4a4b"), a = n("6f8f"); function r(t, n, i) { return a() ? (e.exports = r = Reflect.construct.bind(), e.exports.__esModule = !0, e.exports["default"] = e.exports) : (e.exports = r = function(e, t, n) { var a = [null]; a.push.apply(a, t); var r = Function.bind.apply(e, a), i = new r; return n && o(i, n.prototype), i }, e.exports.__esModule = !0, e.exports["default"] = e.exports), r.apply(null, arguments) } e.exports = r, e.exports.__esModule = !0, e.exports["default"] = e.exports }, b2a9: function(e, t, n) { "use strict"; var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var a = o(n("66fd")), r = o(n("26cb")), i = o(n("ced7")); a.default.use(r.default); var c = new r.default.Store({ modules: { customer: i.default } }), d = c; t.default = d }, b2e1: function(e, t, n) { "use strict"; (function(e) { var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var a = o(n("2eee")), r = o(n("c973")), i = o(n("970b")), c = o(n("5bc3")), d = function() { function t() { (0, i.default)(this, t), this.config = { type: "navigateTo", url: "", delta: 1, params: {}, animationType: "pop-in", animationDuration: 300, intercept: !1 }, this.route = this.route.bind(this) } return (0, c.default)(t, [{ key: "addRootPath", value: function(e) { return "/" === e[0] ? e : "/".concat(e) } }, { key: "mixinParam", value: function(t, n) { t = t && this.addRootPath(t); var o = ""; return /.*\/.*\?.*=.*/.test(t) ? (o = e.$u.queryParams(n, !1), t + "&" + o) : (o = e.$u.queryParams(n), t + o) } }, { key: "route", value: function() { var t = (0, r.default)(a.default.mark((function t() { var n, o, r, i, c = arguments; return a.default.wrap((function(t) { while (1) switch (t.prev = t.next) { case 0: if (n = c.length > 0 && void 0 !== c[0] ? c[0] : {}, o = c.length > 1 && void 0 !== c[1] ? c[1] : {}, r = {}, "string" === typeof n ? (r.url = this.mixinParam(n, o), r.type = "navigateTo") : (r = e.$u.deepClone(n, this.config), r.url = this.mixinParam(n.url, n.params)), o.intercept && (this.config.intercept = o.intercept), r.params = o, r = e.$u.deepMerge(this.config, r), "function" !== typeof e.$u.routeIntercept) { t.next = 14; break } return t.next = 10, new Promise((function(t, n) { e.$u.routeIntercept(r, t) })); case 10: i = t.sent, i && this.openPage(r), t.next = 15; break; case 14: this.openPage(r); case 15: case "end": return t.stop() } }), t, this) }))); return function() { return t.apply(this, arguments) } }() }, { key: "openPage", value: function(t) { var n = t.url, o = (t.type, t.delta), a = t.animationType, r = t.animationDuration; "navigateTo" != t.type && "to" != t.type || e.navigateTo({ url: n, animationType: a, animationDuration: r }), "redirectTo" != t.type && "redirect" != t.type || e.redirectTo({ url: n }), "switchTab" != t.type && "tab" != t.type || e.switchTab({ url: n }), "reLaunch" != t.type && "launch" != t.type || e.reLaunch({ url: n }), "navigateBack" != t.type && "back" != t.type || e.navigateBack({ delta: o }) } }]), t }(), s = (new d).route; t.default = s }).call(this, n("543d")["default"]) }, b3da: function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var o = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : []; return e.sort((function() { return Math.random() - .5 })) }; t.default = o }, b824: function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0, String.prototype.padStart || (String.prototype.padStart = function(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : " "; if ("[object String]" !== Object.prototype.toString.call(t)) throw new TypeError("fillString must be String"); var n = this; if (n.length >= e) return String(n); var o = e - n.length, a = Math.ceil(o / t.length); while (a >>= 1) t += t, 1 === a && (t += t); return t.slice(0, o) + n }); var o = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "yyyy-mm-dd"; e || (e = Number(new Date)), 10 == e.toString().length && (e *= 1e3); var n, o = new Date(e), a = { "y+": o.getFullYear().toString(), "m+": (o.getMonth() + 1).toString(), "d+": o.getDate().toString(), "h+": o.getHours().toString(), "M+": o.getMinutes().toString(), "s+": o.getSeconds().toString() }; for (var r in a) n = new RegExp("(" + r + ")").exec(t), n && (t = t.replace(n[1], 1 == n[1].length ? a[r] : a[r].padStart(n[1].length, "0"))); return t }; t.default = o }, ba96: function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var o = { primary: "#2979ff", primaryDark: "#2b85e4", primaryDisabled: "#a0cfff", primaryLight: "#ecf5ff", bgColor: "#f3f4f6", info: "#909399", infoDark: "#82848a", infoDisabled: "#c8c9cc", infoLight: "#f4f4f5", warning: "#ff9900", warningDark: "#f29100", warningDisabled: "#fcbd71", warningLight: "#fdf6ec", error: "#fa3534", errorDark: "#dd6161", errorDisabled: "#fab6b6", errorLight: "#fef0f0", success: "#19be6b", successDark: "#18b566", successDisabled: "#71d5a1", successLight: "#dbf1e1", mainColor: "#303133", contentColor: "#606266", tipsColor: "#909399", lightColor: "#c0c4cc", borderColor: "#e4e7ed" }; t.default = o }, bb40: function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var o = ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4", "#ea7ccc"], a = { type: ["pie", "ring", "rose", "word", "funnel", "map", "arcbar", "line", "column", "mount", "bar", "area", "radar", "gauge", "candle", "mix", "tline", "tarea", "scatter", "bubble", "demotype"], range: ["饼状图", "圆环图", "玫瑰图", "词云图", "漏斗图", "地图", "圆弧进度条", "折线图", "柱状图", "山峰图", "条状图", "区域图", "雷达图", "仪表盘", "K线图", "混合图", "时间轴折线", "时间轴区域", "散点图", "气泡图", "自定义类型"], categories: ["line", "column", "mount", "bar", "area", "radar", "gauge", "candle", "mix", "demotype"], instance: {}, option: {}, formatter: { yAxisDemo1: function(e, t, n) { return e + "元" }, yAxisDemo2: function(e, t, n) { return e.toFixed(2) }, xAxisDemo1: function(e, t, n) { return e + "年" }, xAxisDemo2: function(e, t, n) { return function(e, t) { var n = new Date; n.setTime(1e3 * e); var o = n.getFullYear(), a = n.getMonth() + 1; a = a < 10 ? "0" + a : a; var r = n.getDate(); r = r < 10 ? "0" + r : r; var i = n.getHours(); i = i < 10 ? "0" + i : i; var c = n.getMinutes(), d = n.getSeconds(); return c = c < 10 ? "0" + c : c, d = d < 10 ? "0" + d : d, "full" == t ? o + "-" + a + "-" + r + " " + i + ":" + c + ":" + d : "y-m-d" == t ? o + "-" + a + "-" + r : "h:m" == t ? i + ":" + c : "h:m:s" == t ? i + ":" + c + ":" + d : [o, a, r, i, c, d] }(e, "h:m") }, seriesDemo1: function(e, t, n, o) { return e + "元" }, tooltipDemo1: function(e, t, n, o) { return 0 == n ? "随便用" + e.data + "年" : "其他我没改" + e.data + "天" }, pieDemo: function(e, t, n, o) { if (void 0 !== t) return n[t].name + ":" + n[t].data + "元" } }, demotype: { type: "line", color: o, padding: [15, 10, 0, 15], xAxis: { disableGrid: !0 }, yAxis: { gridType: "dash", dashLength: 2 }, legend: {}, extra: { line: { type: "curve", width: 2 } } }, pie: { type: "pie", color: o, padding: [5, 5, 5, 5], extra: { pie: { activeOpacity: .5, activeRadius: 10, offsetAngle: 0, labelWidth: 15, border: !0, borderWidth: 3, borderColor: "#FFFFFF" } } }, ring: { type: "ring", color: o, padding: [5, 5, 5, 5], rotate: !1, dataLabel: !0, legend: { show: !0, position: "right", lineHeight: 25 }, title: { name: "收益率", fontSize: 15, color: "#666666" }, subtitle: { name: "70%", fontSize: 25, color: "#7cb5ec" }, extra: { ring: { ringWidth: 30, activeOpacity: .5, activeRadius: 10, offsetAngle: 0, labelWidth: 15, border: !0, borderWidth: 3, borderColor: "#FFFFFF" } } }, rose: { type: "rose", color: o, padding: [5, 5, 5, 5], legend: { show: !0, position: "left", lineHeight: 25 }, extra: { rose: { type: "area", minRadius: 50, activeOpacity: .5, activeRadius: 10, offsetAngle: 0, labelWidth: 15, border: !1, borderWidth: 2, borderColor: "#FFFFFF" } } }, word: { type: "word", color: o, extra: { word: { type: "normal", autoColors: !1 } } }, funnel: { type: "funnel", color: o, padding: [15, 15, 0, 15], extra: { funnel: { activeOpacity: .3, activeWidth: 10, border: !0, borderWidth: 2, borderColor: "#FFFFFF", fillOpacity: 1, labelAlign: "right" } } }, map: { type: "map", color: o, padding: [0, 0, 0, 0], dataLabel: !0, extra: { map: { border: !0, borderWidth: 1, borderColor: "#666666", fillOpacity: .6, activeBorderColor: "#F04864", activeFillColor: "#FACC14", activeFillOpacity: 1 } } }, arcbar: { type: "arcbar", color: o, title: { name: "百分比", fontSize: 25, color: "#00FF00" }, subtitle: { name: "默认标题", fontSize: 15, color: "#666666" }, extra: { arcbar: { type: "default", width: 12, backgroundColor: "#E9E9E9", startAngle: .75, endAngle: .25, gap: 2 } } }, line: { type: "line", color: o, padding: [15, 10, 0, 15], xAxis: { disableGrid: !0 }, yAxis: { gridType: "dash", dashLength: 2 }, legend: {}, extra: { line: { type: "straight", width: 2 } } }, tline: { type: "line", color: o, padding: [15, 10, 0, 15], xAxis: { disableGrid: !1, boundaryGap: "justify" }, yAxis: { gridType: "dash", dashLength: 2, data: [{ min: 0, max: 80 }] }, legend: {}, extra: { line: { type: "curve", width: 2 } } }, tarea: { type: "area", color: o, padding: [15, 10, 0, 15], xAxis: { disableGrid: !0, boundaryGap: "justify" }, yAxis: { gridType: "dash", dashLength: 2, data: [{ min: 0, max: 80 }] }, legend: {}, extra: { area: { type: "curve", opacity: .2, addLine: !0, width: 2, gradient: !0 } } }, column: { type: "column", color: o, padding: [15, 15, 0, 5], xAxis: { disableGrid: !0 }, yAxis: { data: [{ min: 0 }] }, legend: {}, extra: { column: { type: "group", width: 30, activeBgColor: "#000000", activeBgOpacity: .08 } } }, mount: { type: "mount", color: o, padding: [15, 15, 0, 5], xAxis: { disableGrid: !0 }, yAxis: { data: [{ min: 0 }] }, legend: {}, extra: { mount: { type: "mount", widthRatio: 1.5 } } }, bar: { type: "bar", color: o, padding: [15, 30, 0, 5], xAxis: { boundaryGap: "justify", disableGrid: !1, min: 0, axisLine: !1 }, yAxis: {}, legend: {}, extra: { bar: { type: "group", width: 30, meterBorde: 1, meterFillColor: "#FFFFFF", activeBgColor: "#000000", activeBgOpacity: .08 } } }, area: { type: "area", color: o, padding: [15, 15, 0, 15], xAxis: { disableGrid: !0 }, yAxis: { gridType: "dash", dashLength: 2 }, legend: {}, extra: { area: { type: "straight", opacity: .2, addLine: !0, width: 2, gradient: !1 } } }, radar: { type: "radar", color: o, padding: [5, 5, 5, 5], dataLabel: !1, legend: { show: !0, position: "right", lineHeight: 25 }, extra: { radar: { gridType: "radar", gridColor: "#CCCCCC", gridCount: 3, opacity: .2, max: 200 } } }, gauge: { type: "gauge", color: o, title: { name: "66Km/H", fontSize: 25, color: "#2fc25b", offsetY: 50 }, subtitle: { name: "实时速度", fontSize: 15, color: "#1890ff", offsetY: -50 }, extra: { gauge: { type: "default", width: 30, labelColor: "#666666", startAngle: .75, endAngle: .25, startNumber: 0, endNumber: 100, labelFormat: "", splitLine: { fixRadius: 0, splitNumber: 10, width: 30, color: "#FFFFFF", childNumber: 5, childWidth: 12 }, pointer: { width: 24, color: "auto" } } } }, candle: { type: "candle", color: o, padding: [15, 15, 0, 15], enableScroll: !0, enableMarkLine: !0, dataLabel: !1, xAxis: { labelCount: 4, itemCount: 40, disableGrid: !0, gridColor: "#CCCCCC", gridType: "solid", dashLength: 4, scrollShow: !0, scrollAlign: "left", scrollColor: "#A6A6A6", scrollBackgroundColor: "#EFEBEF" }, yAxis: {}, legend: {}, extra: { candle: { color: { upLine: "#f04864", upFill: "#f04864", downLine: "#2fc25b", downFill: "#2fc25b" }, average: { show: !0, name: ["MA5", "MA10", "MA30"], day: [5, 10, 20], color: ["#1890ff", "#2fc25b", "#facc14"] } }, markLine: { type: "dash", dashLength: 5, data: [{ value: 2150, lineColor: "#f04864", showLabel: !0 }, { value: 2350, lineColor: "#f04864", showLabel: !0 }] } } }, mix: { type: "mix", color: o, padding: [15, 15, 0, 15], xAxis: { disableGrid: !0 }, yAxis: { disabled: !1, disableGrid: !1, splitNumber: 5, gridType: "dash", dashLength: 4, gridColor: "#CCCCCC", padding: 10, showTitle: !0, data: [] }, legend: {}, extra: { mix: { column: { width: 20 } } } }, scatter: { type: "scatter", color: o, padding: [15, 15, 0, 15], dataLabel: !1, xAxis: { disableGrid: !1, gridType: "dash", splitNumber: 5, boundaryGap: "justify", min: 0 }, yAxis: { disableGrid: !1, gridType: "dash" }, legend: {}, extra: { scatter: {} } }, bubble: { type: "bubble", color: o, padding: [15, 15, 0, 15], xAxis: { disableGrid: !1, gridType: "dash", splitNumber: 5, boundaryGap: "justify", min: 0, max: 250 }, yAxis: { disableGrid: !1, gridType: "dash", data: [{ min: 0, max: 150 }] }, legend: {}, extra: { bubble: { border: 2, opacity: .5 } } } }, r = a; t.default = r }, bbfb: function(e, t, n) { "use strict"; (function(e) { Object.defineProperty(t, "__esModule", { value: !0 }), t.pageJumps = void 0; var n = { methods: { jumpDeal: function() { e.navigateTo({ url: "/pagesA/profile/needDeal" }) }, toClientele: function() { e.navigateTo({ url: "/pagesA/profile/mySet/keyFocus/keyFocus" }) }, affiche: function() { e.navigateTo({ url: "/pages/news/notice" }) }, jumpSign: function() { e.navigateTo({ url: "/pages/signin/signin" }) }, remind: function() { e.navigateTo({ url: "/pages/news/theReminder/theReminder" }) }, addChuchai: function() { e.navigateTo({ url: "/pagesA/signin/busSign" }) }, workreport: function() { e.navigateTo({ url: "/pages/workreport/list" }) }, toIdea: function() { e.navigateTo({ url: "/pagesA/profile/feedback/feedback" }) }, toAboutApp: function() { e.navigateTo({ url: "/pagesA/profile/about/about" }) }, approve: function() { e.navigateTo({ url: "/pagesA/work/approve/index" }) } } }; t.pageJumps = n }).call(this, n("543d")["default"]) }, bc2e: function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var o = ["qy", "env", "error", "version", "lanDebug", "cloud", "serviceMarket", "router", "worklet"], a = ["lanDebug", "router", "worklet"], r = "undefined" !== typeof globalThis ? globalThis : function() { return this }(), i = ["w", "x"].join(""), c = r[i], d = c.getLaunchOptionsSync ? c.getLaunchOptionsSync() : null; function s(e) { return (!d || 1154 !== d.scene || !a.includes(e)) && (o.indexOf(e) > -1 || "function" === typeof c[e]) } r[i] = function() { var e = {}; for (var t in c) s(t) && (e[t] = c[t]); return e }(); var l = r[i]; t.default = l }, c0a8: function(e, t, n) { "use strict"; (function(e) { Object.defineProperty(t, "__esModule", { value: !0 }), t.pageJumps = void 0; var n = { methods: { followClick: function(t, n) { this.show = !1, e.navigateTo({ url: "/pagesA/crm/customerManagement/newFllow/newFllow?id=" + t + "&type=" + n }) }, addLianxiren: function(t) { e.navigateTo({ url: "/pagesA/crm/linkman/newLinkman/newLinkman?id=" + t }) }, toTheCustomClick: function() {}, pullFollowClick: function(t, n) { e.navigateTo({ url: "/pagesA/crm/customerManagement/newFllow/newFllow?id=" + t + "&type=" + n }), this.show = !1 }, transferClueClick: function(t) { e.navigateTo({ url: "/pages/index/groupCompany/tranferClue/tranferClue?id=" + t }), this.show = !1 }, mapLocationClick: function(t) { e.navigateTo({ url: "/pages/index/locationMap/locationMap?id=" + t }), this.show = !1 }, editClueClick: function(t) { e.navigateTo({ url: "/pagesA/crm/createCustomer/editCustomer?id=" + t }), this.show = !1 } } }; t.pageJumps = n }).call(this, n("543d")["default"]) }, c135: function(e, t) { e.exports = function(e) { if (Array.isArray(e)) return e }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, c240: function(e, t) { e.exports = function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, c7eb: function(e, t, n) { var o = n("448a"); function a(e) { return e < 10 ? "0" + e : "" + e } function r(e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : ""; return function(e, t) { e = e || 0, t = t || 1; for (var o = [], r = e; r <= t; r++) o.push(a(r) + n); return o }(e, t) } function i(e, t, n) { var o = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : "", a = e % 400 == 0 || e % 4 == 0 && e % 100 != 0, i = null; switch (t) { case "01": case "03": case "05": case "07": case "08": case "10": case "12": i = r(1, n || 31, o); break; case "04": case "06": case "09": case "11": i = r(1, n || 30, o); break; case "02": i = r(1, a ? n || 29 : n || 28, o); break; default: i = "月份格式不正确,请重新输入!" } return i } e.exports = { dateTimePicker: function(e, t, n, c) { var d = [], s = [ [], [], [], [], [], [] ], l = [ [], [], [], [], [], [] ], u = t || 2e3, m = n || 2100, h = c ? [].concat(o(c.split(" ")[0].split("-")), o(c.split(" ")[1].split(":"))) : function() { var e = new Date, t = a(e.getFullYear()), n = a(e.getMonth() + 1), o = a(e.getDate()), r = a(e.getHours()), i = a(e.getMinutes()), c = a(e.getSeconds()); return [t, n, o, r, i, c] }(); if (l[0] = r(u, m), l[1] = r(1, 12), l[2] = i(h[0], h[1]), l[3] = r(0, 23), l[4] = r(0, 59), l[5] = r(0, 59), e) { var f = new Date, p = f.getTime(), g = (e = p + 24 * Number(e) * 60 * 60 * 1e3, n = m, new Date(e).getMonth() + 1), v = new Date(e).getDate(), y = new Date(e).getHours(), x = new Date(e).getMinutes(), b = new Date(e).getSeconds(); console.log(n, g, v, y, x, b), s[0] = r(u, n, "年"), s[1] = r(1, g, "月"), s[2] = i(h[0], h[1], h[1] < g ? null : v, "日") } else s[0] = r(u, m, "年"), s[1] = r(1, 12, "月"), s[2] = i(h[0], h[1], null, "日"); return s[3] = r(0, 23, "时"), s[4] = r(0, 59, "分"), s[5] = r(0, 59, "秒"), l.forEach((function(e, t) { d.push(e.indexOf(h[t])) })), { dateTimeArray: s, dateTime: d, dateArray: l } }, getMonthDay: i } }, c8ba: function(e, t) { var n; n = function() { return this }(); try { n = n || new Function("return this")() } catch (o) { "object" === typeof window && (n = window) } e.exports = n }, c973: function(e, t) { function n(e, t, n, o, a, r, i) { try { var c = e[r](i), d = c.value } catch (s) { return void n(s) } c.done ? t(d) : Promise.resolve(d).then(o, a) } e.exports = function(e) { return function() { var t = this, o = arguments; return new Promise((function(a, r) { var i = e.apply(t, o); function c(e) { n(i, a, r, c, d, "next", e) } function d(e) { n(i, a, r, c, d, "throw", e) } c(void 0) })) } }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, cb23: function(e, t, n) { (function(t) { var o = n("970b"), a = n("5bc3"), r = { KEY_ERR: 311, KEY_ERR_MSG: "key格式错误", PARAM_ERR: 310, PARAM_ERR_MSG: "请求参数信息有误", SYSTEM_ERR: 600, SYSTEM_ERR_MSG: "系统错误", WX_ERR_CODE: 1e3, WX_OK_CODE: 200 }, i = "https://apis.map.qq.com/ws/", c = i + "place/v1/suggestion", d = { location2query: function(e) { if ("string" == typeof e) return e; for (var t = "", n = 0; n < e.length; n++) { var o = e[n]; t && (t += ";"), o.location && (t = t + o.location.lat + "," + o.location.lng), o.latitude && o.longitude && (t = t + o.latitude + "," + o.longitude) } return t }, rad: function(e) { return e * Math.PI / 180 }, getEndLocation: function(e) { for (var t = e.split(";"), n = [], o = 0; o < t.length; o++) n.push({ lat: parseFloat(t[o].split(",")[0]), lng: parseFloat(t[o].split(",")[1]) }); return n }, getDistance: function(e, t, n, o) { var a = this.rad(e), r = this.rad(n), i = a - r, c = this.rad(t) - this.rad(o), d = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(i / 2), 2) + Math.cos(a) * Math.cos(r) * Math.pow(Math.sin(c / 2), 2))); return d *= 6378136.49, d = Math.round(1e4 * d) / 1e4, parseFloat(d.toFixed(0)) }, getWXLocation: function(e, n, o) { t.getLocation({ type: "gcj02", success: e, fail: n, complete: o }) }, getLocationParam: function(e) { if ("string" == typeof e) { var t = e.split(","); e = 2 === t.length ? { latitude: e.split(",")[0], longitude: e.split(",")[1] } : {} } return e }, polyfillParam: function(e) { e.success = e.success || function() {}, e.fail = e.fail || function() {}, e.complete = e.complete || function() {} }, checkParamKeyEmpty: function(e, t) { if (!e[t]) { var n = this.buildErrorConfig(r.PARAM_ERR, r.PARAM_ERR_MSG + t + "参数格式有误"); return e.fail(n), e.complete(n), !0 } return !1 }, checkKeyword: function(e) { return !this.checkParamKeyEmpty(e, "keyword") }, checkLocation: function(e) { var t = this.getLocationParam(e.location); if (!t || !t.latitude || !t.longitude) { var n = this.buildErrorConfig(r.PARAM_ERR, r.PARAM_ERR_MSG + " location参数格式有误"); return e.fail(n), e.complete(n), !1 } return !0 }, buildErrorConfig: function(e, t) { return { status: e, message: t } }, handleData: function(e, t, n) { if ("search" === n) { for (var o = t.data, a = [], r = 0; r < o.length; r++) a.push({ id: o[r].id || null, title: o[r].title || null, latitude: o[r].location && o[r].location.lat || null, longitude: o[r].location && o[r].location.lng || null, address: o[r].address || null, category: o[r].category || null, tel: o[r].tel || null, adcode: o[r].ad_info && o[r].ad_info.adcode || null, city: o[r].ad_info && o[r].ad_info.city || null, district: o[r].ad_info && o[r].ad_info.district || null, province: o[r].ad_info && o[r].ad_info.province || null }); e.success(t, { searchResult: o, searchSimplify: a }) } else if ("suggest" === n) { var i = t.data, c = []; for (r = 0; r < i.length; r++) c.push({ adcode: i[r].adcode || null, address: i[r].address || null, category: i[r].category || null, city: i[r].city || null, district: i[r].district || null, id: i[r].id || null, latitude: i[r].location && i[r].location.lat || null, longitude: i[r].location && i[r].location.lng || null, province: i[r].province || null, title: i[r].title || null, type: i[r].type || null }); e.success(t, { suggestResult: i, suggestSimplify: c }) } else if ("reverseGeocoder" === n) { var d = t.result, s = { address: d.address || null, latitude: d.location && d.location.lat || null, longitude: d.location && d.location.lng || null, adcode: d.ad_info && d.ad_info.adcode || null, city: d.address_component && d.address_component.city || null, district: d.address_component && d.address_component.district || null, nation: d.address_component && d.address_component.nation || null, province: d.address_component && d.address_component.province || null, street: d.address_component && d.address_component.street || null, street_number: d.address_component && d.address_component.street_number || null, recommend: d.formatted_addresses && d.formatted_addresses.recommend || null, rough: d.formatted_addresses && d.formatted_addresses.rough || null }; if (d.pois) { var l = d.pois, u = []; for (r = 0; r < l.length; r++) u.push({ id: l[r].id || null, title: l[r].title || null, latitude: l[r].location && l[r].location.lat || null, longitude: l[r].location && l[r].location.lng || null, address: l[r].address || null, category: l[r].category || null, adcode: l[r].ad_info && l[r].ad_info.adcode || null, city: l[r].ad_info && l[r].ad_info.city || null, district: l[r].ad_info && l[r].ad_info.district || null, province: l[r].ad_info && l[r].ad_info.province || null }); e.success(t, { reverseGeocoderResult: d, reverseGeocoderSimplify: s, pois: l, poisSimplify: u }) } else e.success(t, { reverseGeocoderResult: d, reverseGeocoderSimplify: s }) } else if ("geocoder" === n) { var m = t.result, h = { title: m.title || null, latitude: m.location && m.location.lat || null, longitude: m.location && m.location.lng || null, adcode: m.ad_info && m.ad_info.adcode || null, province: m.address_components && m.address_components.province || null, city: m.address_components && m.address_components.city || null, district: m.address_components && m.address_components.district || null, street: m.address_components && m.address_components.street || null, street_number: m.address_components && m.address_components.street_number || null, level: m.level || null }; e.success(t, { geocoderResult: m, geocoderSimplify: h }) } else if ("getCityList" === n) { var f = t.result[0], p = t.result[1], g = t.result[2]; e.success(t, { provinceResult: f, cityResult: p, districtResult: g }) } else if ("getDistrictByCityId" === n) { var v = t.result[0]; e.success(t, v) } else if ("calculateDistance" === n) { var y = t.result.elements, x = []; for (r = 0; r < y.length; r++) x.push(y[r].distance); e.success(t, { calculateDistanceResult: y, distance: x }) } else e.success(t) }, buildWxRequestConfig: function(e, t, n) { var o = this; return t.header = { "content-type": "application/json" }, t.method = "GET", t.success = function(t) { var a = t.data; 0 === a.status ? o.handleData(e, a, n) : e.fail(a) }, t.fail = function(t) { t.statusCode = r.WX_ERR_CODE, e.fail(o.buildErrorConfig(r.WX_ERR_CODE, t.errMsg)) }, t.complete = function(t) { var n = +t.statusCode; switch (n) { case r.WX_ERR_CODE: e.complete(o.buildErrorConfig(r.WX_ERR_CODE, t.errMsg)); break; case r.WX_OK_CODE: var a = t.data; 0 === a.status ? e.complete(a) : e.complete(o.buildErrorConfig(a.status, a.message)); break; default: e.complete(o.buildErrorConfig(r.SYSTEM_ERR, r.SYSTEM_ERR_MSG)) } }, t }, locationProcess: function(e, t, n, o) { var a = this; if (n = n || function(t) { t.statusCode = r.WX_ERR_CODE, e.fail(a.buildErrorConfig(r.WX_ERR_CODE, t.errMsg)) }, o = o || function(t) { t.statusCode == r.WX_ERR_CODE && e.complete(a.buildErrorConfig(r.WX_ERR_CODE, t.errMsg)) }, e.location) { if (a.checkLocation(e)) { var i = d.getLocationParam(e.location); t(i) } } else a.getWXLocation(t, n, o) } }, s = function() { "use strict"; function e(t) { if (o(this, e), !t.key) throw Error("key值不能为空"); this.key = t.key } return a(e, [{ key: "search", value: function(e) { if (e = e || {}, d.polyfillParam(e), d.checkKeyword(e)) { var n = { keyword: e.keyword, orderby: e.orderby || "_distance", page_size: e.page_size || 10, page_index: e.page_index || 1, output: "json", key: this.key }; e.address_format && (n.address_format = e.address_format), e.filter && (n.filter = e.filter); var o = e.distance || "1000", a = e.auto_extend || 1, r = null, i = null; e.region && (r = e.region), e.rectangle && (i = e.rectangle); d.locationProcess(e, (function(c) { n.boundary = r && !i ? "region(" + r + "," + a + "," + c.latitude + "," + c.longitude + ")" : i && !r ? "rectangle(" + i + ")" : "nearby(" + c.latitude + "," + c.longitude + "," + o + "," + a + ")", t.request(d.buildWxRequestConfig(e, { url: "https://apis.map.qq.com/ws/place/v1/search", data: n }, "search")) })) } } }, { key: "getSuggestion", value: function(e) { if (e = e || {}, d.polyfillParam(e), d.checkKeyword(e)) { var n = { keyword: e.keyword, region: e.region || "全国", region_fix: e.region_fix || 0, policy: e.policy || 0, page_size: e.page_size || 10, page_index: e.page_index || 1, get_subpois: e.get_subpois || 0, output: "json", key: this.key }; if (e.address_format && (n.address_format = e.address_format), e.filter && (n.filter = e.filter), e.location) { d.locationProcess(e, (function(o) { n.location = o.latitude + "," + o.longitude, t.request(d.buildWxRequestConfig(e, { url: c, data: n }, "suggest")) })) } else t.request(d.buildWxRequestConfig(e, { url: c, data: n }, "suggest")) } } }, { key: "reverseGeocoder", value: function(e) { e = e || {}, d.polyfillParam(e); var n = { coord_type: e.coord_type || 5, get_poi: e.get_poi || 0, output: "json", key: this.key }; e.poi_options && (n.poi_options = e.poi_options); d.locationProcess(e, (function(o) { n.location = o.latitude + "," + o.longitude, t.request(d.buildWxRequestConfig(e, { url: "https://apis.map.qq.com/ws/geocoder/v1/", data: n }, "reverseGeocoder")) })) } }, { key: "geocoder", value: function(e) { if (e = e || {}, d.polyfillParam(e), !d.checkParamKeyEmpty(e, "address")) { var n = { address: e.address, output: "json", key: this.key }; e.region && (n.region = e.region), t.request(d.buildWxRequestConfig(e, { url: "https://apis.map.qq.com/ws/geocoder/v1/", data: n }, "geocoder")) } } }, { key: "getCityList", value: function(e) { e = e || {}, d.polyfillParam(e); var n = { output: "json", key: this.key }; t.request(d.buildWxRequestConfig(e, { url: "https://apis.map.qq.com/ws/district/v1/list", data: n }, "getCityList")) } }, { key: "getDistrictByCityId", value: function(e) { if (e = e || {}, d.polyfillParam(e), !d.checkParamKeyEmpty(e, "id")) { var n = { id: e.id || "", output: "json", key: this.key }; t.request(d.buildWxRequestConfig(e, { url: "https://apis.map.qq.com/ws/district/v1/getchildren", data: n }, "getDistrictByCityId")) } } }, { key: "calculateDistance", value: function(e) { if (e = e || {}, d.polyfillParam(e), !d.checkParamKeyEmpty(e, "to")) { var n = { mode: e.mode || "walking", to: d.location2query(e.to), output: "json", key: this.key }; if (e.from && (e.location = e.from), "straight" == n.mode) { var o = function(t) { for (var o = d.getEndLocation(n.to), a = { message: "query ok", result: { elements: [] }, status: 0 }, r = 0; r < o.length; r++) a.result.elements.push({ distance: d.getDistance(t.latitude, t.longitude, o[r].lat, o[r].lng), duration: 0, from: { lat: t.latitude, lng: t.longitude }, to: { lat: o[r].lat, lng: o[r].lng } }); var i = a.result.elements, c = []; for (r = 0; r < i.length; r++) c.push(i[r].distance); return e.success(a, { calculateResult: i, distanceResult: c }) }; d.locationProcess(e, o) } else { o = function(o) { n.from = o.latitude + "," + o.longitude, t.request(d.buildWxRequestConfig(e, { url: "https://apis.map.qq.com/ws/distance/v1/", data: n }, "calculateDistance")) }; d.locationProcess(e, o) } } } }]), e }(); e.exports = s }).call(this, n("bc2e")["default"]) }, ced7: function(e, t, n) { "use strict"; var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var a, r = o(n("9523")), i = (a = {}, (0, r.default)(a, "CUSTOMEROBJ", (function(e, t) { e.customerobj = t })), (0, r.default)(a, "STAFFOBJ", (function(e, t) { e.staffObj = t })), a), c = { state: { customerobj: null, staffObj: null }, mutations: i, actions: {}, getters: {} }; t.default = c }, d47e: function(e, t, n) { (function(t) { e.exports = { checkLogin: function() { var e = t.getStorageSync("token"); return !e }, dateFormat: function(e, t) { t = t || "Y-M-D", console.log(e); var n = function(e) { return e < 10 ? "0" + e : e }, o = e ? new Date(e) : new Date; console.log(o); var a = o.getFullYear(), r = n(o.getMonth() + 1), i = n(o.getDate()), c = n(o.getHours()), d = n(o.getMinutes()), s = n(o.getSeconds()); return t.replace(/Y|M|D|h|m|s/g, (function(e) { return { Y: a, M: r, D: i, h: c, m: d, s: s }[e] })) }, checkPhone: function(e) { return !!/^[0-9|\+]*$/.test(e) }, checkCNPhone: function(e) { return !!/^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(e) }, checkReport: function(e) { for (var t = 0; t < e.length; t++) for (var n = t + 1; n < e.length; n++) e[t].id == e[n].id && (e.splice(n, 1), n--); return e }, getCurrentMonthDay: function(e, t) { var n = e % 400 == 0 || e % 4 == 0 && e % 100 != 0, o = null; switch (t) { case "01": case "03": case "05": case "07": case "08": case "10": case "12": o = 31; break; case "04": case "06": case "09": case "11": o = 30; break; case "02": o = n ? 29 : 28; break; default: o = "月份格式不正确,请重新输入!" } return { startTime: e + "-" + t + "-01", endTime: e + "-" + t + "-" + o } } } }).call(this, n("543d")["default"]) }, db68: function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.netAddClues = function(e) { return (0, o.myRequest)("leads/addLeads", e) }, t.netAgentList = function(e) { return (0, o.myRequest)("message/getInfo", e) }, t.netCluesDetail = function(e) { return (0, o.myRequest)("leads/getDetail", e) }, t.netCluesFiles = function(e) { return (0, o.myRequest)("leads/getFilesList", e) }, t.netCluesList = function(e) { return (0, o.myRequest)("leads/getList", e) }, t.netDelClues = function(e) { return (0, o.myRequest)("leads/delLeads", e) }, t.netEditClues = function(e) { return (0, o.myRequest)("leads/editLeads", e) }, t.netGetNopageClueslist = function(e) { return (0, o.myRequest)("leads/getSelectList", e) }, t.netMessageList = function(e) { return (0, o.myRequest)("message/getList", e) }, t.netNoticeDetail = function(e) { return (0, o.myRequest)("notice/getDetail", e) }, t.netNoticeList = function(e) { return (0, o.myRequest)("notice/getList", e) }; var o = n("0c59") }, dc92: function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.netAchievementStatistics = function(e) { return (0, o.myRequest)("statistics/getAchievementDetail", e) }, t.netAddAddress = function(e) { return (0, o.myRequest)("attendance/address_add", e) }, t.netAddBusiness = function(e) { return (0, o.myRequest)("business/addBusiness", e) }, t.netAddDataRank = function() { return (0, o.myRequest)("statistics/newRanking") }, t.netAddRules = function(e) { return (0, o.myRequest)("attendance/rule_add", e) }, t.netAddSchedule = function(e) { return (0, o.myRequest)("event/addEvent", e) }, t.netAddSignin = function(e) { return (0, o.myRequest)("event/addSign", e) }, t.netAddTimeSlot = function(e) { return (0, o.myRequest)("attendance/time_add", e) }, t.netAddressDetail = function(e) { return (0, o.myRequest)("attendance/address_detail", e) }, t.netAddressList = function(e) { return (0, o.myRequest)("attendance/address_list", e) }, t.netAdvanceBusiness = function(e) { return (0, o.myRequest)("business/business_status", e) }, t.netApplyLeave = function(e) { return (0, o.myRequest)("attendance/leave", e) }, t.netApprovalDetail = function(e) { return (0, o.myRequest)("staff/getstepdetail", e) }, t.netApprovalProcess = function(e) { return (0, o.myRequest)("staff/getsteplist", e) }, t.netApprovelNotice = function(e) { return (0, o.myRequest)("examine_record/get_examine_list", e) }, t.netApprovelTip = function(e) { return (0, o.myRequest)("message/getExamineRecord", e) }, t.netBindPhone = function(e) { return (0, o.myRequest)("staff/use_phone", e) }, t.netBusinessDetail = function(e) { return (0, o.myRequest)("business/getDetail", e) }, t.netBusinessHistory = function(e) { return (0, o.myRequest)("business/business_history", e) }, t.netBusinessList = function(e) { return (0, o.myRequest)("business/getList", e) }, t.netCardDetail = function(e) { return (0, o.myRequest)("attendance/get_card_detail", e) }, t.netCardList = function(e) { return (0, o.myRequest)("attendance/get_card_late", e) }, t.netCheckworkDetail = function(e) { return (0, o.myRequest)("attendance/get_statisc", e) }, t.netClockDayStatis = function(e) { return (0, o.myRequest)("attendance/day_statistics", e) }, t.netClockMonthStatis = function(e) { return (0, o.myRequest)("attendance/month_statistics", e) }, t.netClockStatis = function(e) { return (0, o.myRequest)("attendance/statistics", e) }, t.netCluesTrans = function(e) { return (0, o.myRequest)("leads/transfer", e) }, t.netCompanysInfo = function() { return (0, o.myRequest)("index/getCompanys") }, t.netCreateStraf = function(e) { return (0, o.myRequest)("daily/daily_draft", e) }, t.netCreateWork = function(e) { return (0, o.myRequest)("daily/createDaily", e) }, t.netCreateWorkExamine = function(e) { return (0, o.myRequest)("approval/addApproval", e) }, t.netCustomerARank = function(e) { return (0, o.myRequest)("statistics/newCustomer", e) }, t.netCustomerFRank = function(e) { return (0, o.myRequest)("/statistics/newRecord", e) }, t.netDealRank = function(e) { return (0, o.myRequest)("statistics/contractMoneyRanking", e) }, t.netDelAddress = function(e) { return (0, o.myRequest)("attendance/address_del", e) }, t.netDelBusiness = function(e) { return (0, o.myRequest)("business/delete", e) }, t.netDelRules = function(e) { return (0, o.myRequest)("attendance/rule_del", e) }, t.netDelTimeSlot = function(e) { return (0, o.myRequest)("attendance/time_del", e) }, t.netDepartmentList = function() { return (0, o.myRequest)("staff/getDepartment") }, t.netDisableAccount = function(e) { return (0, o.myRequest)("staff/disable_user", e) }, t.netDistributionType = function(e) { return (0, o.myRequest)("contract/getRatio", e) }, t.netEditAddress = function(e) { return (0, o.myRequest)("attendance/address_update", e) }, t.netEditBusiness = function(e) { return (0, o.myRequest)("business/editBusiness", e) }, t.netEditRules = function(e) { return (0, o.myRequest)("attendance/rule_update", e) }, t.netEditScheculeStatus = function(e) { return (0, o.myRequest)("event/changeStatus", e) }, t.netEditStaff = function(e) { return (0, o.myRequest)("staff/updateStaff", e) }, t.netEditTimeSlot = function(e) { return (0, o.myRequest)("attendance/time_update", e) }, t.netEditUserInfo = function(e) { return (0, o.myRequest)("staff/editInfo", e) }, t.netExamineStaffList = function(e) { return (0, o.myRequest)("staff/getCheckStaffList", e) }, t.netFeedBack = function(e) { return (0, o.myRequest)("index/feedback", e) }, t.netGetContractList = function() { return (0, o.myRequest)("index/examine_contract") }, t.netGetData = function(e) { return (0, o.myRequest)("statistics/contractRanding", e) }, t.netGetFollowList = function() { return (0, o.myRequest)("index/event_task") }, t.netGetKeyKehu = function(e) { return (0, o.myRequest)("customer/collectList", e) }, t.netGetModalData = function(e) { return (0, o.myRequest)("statistics/contractRanking", e) }, t.netGetPaymentList = function() { return (0, o.myRequest)("index/examine_receivables") }, t.netGetPaymentRemindList = function() { return (0, o.myRequest)("index/examine_receivables_plan") }, t.netGetScheList = function() { return (0, o.myRequest)("index/event_one") }, t.netGetSignDetail = function(e) { return (0, o.myRequest)("event/getSignDetail", e) }, t.netGetSignList = function(e) { return (0, o.myRequest)("event/getSign", e) }, t.netGetUserInfo = function() { return (0, o.myRequest)("staff/getInfo") }, t.netIsPunch = function(e) { return (0, o.myRequest)("attendance/is_card", e, "POST", !1) }, t.netLeaveDetail = function(e) { return (0, o.myRequest)("attendance/get_leave_detail", e) }, t.netLeaveDuration = function(e) { return (0, o.myRequest)("attendance/getleavetime", e) }, t.netLeaveList = function(e) { return (0, o.myRequest)("attendance/get_leave", e) }, t.netNearKehuList = function(e) { return (0, o.myRequest)("customer/nearby", e) }, t.netNeedDealtData = function() { return (0, o.myRequest)("index/agent") }, t.netOutClock = function(e) { return (0, o.myRequest)("attendance/other_card", e) }, t.netOutClockDetail = function(e) { return (0, o.myRequest)("attendance/get_attendance_detail", e) }, t.netPassStaffInfo = function(e) { return (0, o.myRequest)("staff/checkStaffSuccess", e) }, t.netPaymentRank = function(e) { return (0, o.myRequest)("statistics/receivablesRanking", e) }, t.netPendApprovel = function(e) { return (0, o.myRequest)("message/getExamineInfo", e) }, t.netPersonalData = function(e) { return (0, o.myRequest)("statistics/newRanking", e) }, t.netProductConfig = function(e) { return (0, o.myRequest)("product/getPartList", e) }, t.netPunchClock = function(e) { return (0, o.myRequest)("attendance/card_add", e) }, t.netRefuseStaffInfo = function(e) { return (0, o.myRequest)("staff/checkStaffError", e) }, t.netRelationBusiness = function(e) { return (0, o.myRequest)("business/business_list", e) }, t.netRelationContract = function(e) { return (0, o.myRequest)("business/contract", e) }, t.netRulesDetail = function(e) { return (0, o.myRequest)("attendance/rule_detail", e) }, t.netRulesList = function(e) { return (0, o.myRequest)("attendance/rule_list", e) }, t.netScheduleList = function(e) { return (0, o.myRequest)("event/getEvent", e) }, t.netSelectBusinessList = function(e) { return (0, o.myRequest)("business/get_select_list", e) }, t.netServiceText = function(e) { return (0, o.myRequest)("index/serviceContent") }, t.netSetForm = function(e) { return (0, o.myRequest)("common/getForm", e) }, t.netStaffAchievement = function(e) { return (0, o.myRequest)("staff/getStaffStatistics", e) }, t.netStaffDefaultReviewer = function(e) { return (0, o.myRequest)("staff/getStaffIds", e) }, t.netStaffDetail = function(e) { return (0, o.myRequest)("staff/getStaffDetail", e) }, t.netStaffList = function() { return (0, o.myRequest)("staff/getStaffList") }, t.netStaffofCustomerList = function(e) { return (0, o.myRequest)("staff/getStaffCustomer", e) }, t.netSupplementClock = function(e) { return (0, o.myRequest)("attendance/card_late", e) }, t.netTargetData = function(e) { return (0, o.myRequest)("statistics/staffAchievementStatistics", e) }, t.netTeamData = function(e) { return (0, o.myRequest)("statistics/addCustomerStatistics", e) }, t.netTeamEdit = function(e) { return (0, o.myRequest)("setting/editShowStaff", e) }, t.netTeamList = function(e) { return (0, o.myRequest)("setting/team", e) }, t.netTime = function(e) { return (0, o.myRequest)("common/getTimes", e) }, t.netTimeSlotDetail = function(e) { return (0, o.myRequest)("attendance/time_detail", e) }, t.netTimeSlotList = function(e) { return (0, o.myRequest)("attendance/time_list", e) }, t.netTransBusiness = function(e) { return (0, o.myRequest)("business/batch_change", e) }, t.netWorkDetail = function(e) { return (0, o.myRequest)("daily/getDailyDetail", e) }, t.netWorkDraftDetail = function(e) { return (0, o.myRequest)("daily/getDailyDraftDetail", e) }, t.netWorkExamineDetail = function(e) { return (0, o.myRequest)("approval/getDetail", e) }, t.netWorkExamineForm = function(e) { return (0, o.myRequest)("approval/getFormapproval", e) }, t.netWorkExamineList = function(e) { return (0, o.myRequest)("approval/examineApprovalList", e) }, t.netWorkExamineName = function() { return (0, o.myRequest)("approval/getList") }, t.netWorkisRead = function(e) { return (0, o.myRequest)("daily/getDailyRead", e) }, t.netWorkreportList = function(e) { return (0, o.myRequest)("daily/getList", e) }, t.netisSetTimeslot = function() { return (0, o.myRequest)("attendance/is_week") }, t.uploadUrl = void 0; var o = n("0c59"), a = o.BASE_URL + "common/upload"; t.uploadUrl = a }, e001: function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var o = { v: "1.8.4", version: "1.8.4", type: ["primary", "success", "info", "error", "warning"] }; t.default = o }, e50d: function(e, t, n) { var o = n("7037")["default"]; e.exports = function(e, t) { if ("object" !== o(e) || null === e) return e; var n = e[Symbol.toPrimitive]; if (void 0 !== n) { var a = n.call(e, t || "default"); if ("object" !== o(a)) return a; throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === t ? String : Number)(e) }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, e9af: function(e, t, n) { "use strict"; (function(e) { var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var a = o(n("f2c6")), r = o(n("120a")), i = o(n("2a07")), c = o(n("b2e1")), d = o(n("b824")), s = o(n("96d2")), l = o(n("b0dc")), u = o(n("0c1b")), m = o(n("ba96")), h = o(n("40ff")), f = o(n("b3da")), p = o(n("a913")), g = o(n("432c")), v = o(n("51cd")), y = o(n("7e41")), x = o(n("12a5")), b = o(n("f86e")), _ = o(n("a963")), w = o(n("0dc5")), A = o(n("129e")), S = n("fcc5"), T = o(n("5291")), C = o(n("f3d5")), P = o(n("e001")), k = o(n("1606")); var D = { queryParams: i.default, route: c.default, timeFormat: d.default, date: d.default, timeFrom: s.default, colorGradient: l.default.colorGradient, colorToRgba: l.default.colorToRgba, guid: u.default, color: m.default, sys: S.sys, os: S.os, type2icon: h.default, randomArray: f.default, wranning: function(e) { 0 }, get: r.default.get, post: r.default.post, put: r.default.put, delete: r.default.delete, hexToRgb: l.default.hexToRgb, rgbToHex: l.default.rgbToHex, test: y.default, random: x.default, deepClone: p.default, deepMerge: g.default, getParent: w.default, $parent: A.default, addUnit: v.default, trim: b.default, type: ["primary", "success", "error", "warning", "info"], http: r.default, toast: _.default, config: P.default, zIndex: k.default, debounce: T.default, throttle: C.default }; e.$u = D; var M = { install: function(e) { e.mixin(a.default), e.prototype.openShare && e.mixin(mpShare), e.filter("timeFormat", (function(e, t) { return (0, d.default)(e, t) })), e.filter("date", (function(e, t) { return (0, d.default)(e, t) })), e.filter("timeFrom", (function(e, t) { return (0, s.default)(e, t) })), e.prototype.$u = D } }; t.default = M }).call(this, n("543d")["default"]) }, eec6: function(e, t) { var n = new Date, o = Number(n.getFullYear()), a = Number(n.getMonth()) + 1, r = Number(n.getMonth()), c = Number(n.getDate()), d = new Date(o, a - 1, c), s = d.getDay(); Math.ceil((c + 6 - s) / 7); function l(e) { var t = Number(e.getFullYear()), n = Number(e.getMonth() + 1), o = Number(e.getDate()); return n < 10 && (n = "0" + n), o < 10 && (o = "0" + o), t + "-" + n + "-" + o } e.exports = { getWeekStartDate: function() { var e = new Date(o, r, c - s); return l(e) }, getWeekEndDate: function() { var e = new Date(o, r, c + 6 - s); return l(e) }, getNowDay: function() { var e = new Date, t = e.getDate(); return t }, getNowData: function() { return o + "-" + (a >= 10 ? a : "0" + a) + "-" + (c >= 10 ? c : "0" + c) }, getWeekDay: function() { var e = new Date(o, r, c - s), t = new Date(e).getTime(); console.log(e, t); var n = [{ date: "", week: "", day: "" }, { date: "", week: "", day: "" }, { date: "", week: "", day: "" }, { date: "", week: "", day: "" }, { date: "", week: "", day: "" }, { date: "", week: "", day: "" }, { date: "", week: "", day: "" }]; for (i = 0; i < 7; i++) { var a = new Date(t + 864e5 * i), d = l(a), u = a.getDate(); n[i].date = d, n[i].week = i + 1, n[i].day = u } return n }, monthStartDate: function() { var e = new Date(o, r, 1), t = new Date(e).getFullYear(), n = new Date(e).getMonth() + 1, a = new Date(e).getDate(); return t + "-" + (n >= 10 ? n : "0" + n) + "-" + (a >= 10 ? a : "0" + a) }, monthEndDate: function() { var e = new Date(o, r + 1, 0), t = new Date(e).getFullYear(), n = new Date(e).getMonth() + 1, a = new Date(e).getDate(); return t + "-" + (n >= 10 ? n : "0" + n) + "-" + (a >= 10 ? a : "0" + a) } } }, f0c5: function(e, t, n) { "use strict"; function o(e, t, n, o, a, r, i, c, d, s) { var l, u = "function" === typeof e ? e.options : e; if (d) { u.components || (u.components = {}); var m = Object.prototype.hasOwnProperty; for (var h in d) m.call(d, h) && !m.call(u.components, h) && (u.components[h] = d[h]) } if (s && ("function" === typeof s.beforeCreate && (s.beforeCreate = [s.beforeCreate]), (s.beforeCreate || (s.beforeCreate = [])).unshift((function() { this[s.__module] = this })), (u.mixins || (u.mixins = [])).push(s)), t && (u.render = t, u.staticRenderFns = n, u._compiled = !0), o && (u.functional = !0), r && (u._scopeId = "data-v-" + r), i ? (l = function(e) { e = e || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, e || "undefined" === typeof __VUE_SSR_CONTEXT__ || (e = __VUE_SSR_CONTEXT__), a && a.call(this, e), e && e._registeredComponents && e._registeredComponents.add(i) }, u._ssrRegister = l) : a && (l = c ? function() { a.call(this, this.$root.$options.shadowRoot) } : a), l) if (u.functional) { u._injectStyles = l; var f = u.render; u.render = function(e, t) { return l.call(t), f(e, t) } } else { var p = u.beforeCreate; u.beforeCreate = p ? [].concat(p, l) : [l] } return { exports: e, options: u } } n.d(t, "a", (function() { return o })) }, f22b: function(e, t, n) { "use strict"; (function(e) { var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.createAnimation = function(e, t) { if (!t) return; return clearTimeout(t.timer), new s(e, t) }; var a = o(n("9523")), r = o(n("970b")), i = o(n("5bc3")); function c(e, t) { var n = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); t && (o = o.filter((function(t) { return Object.getOwnPropertyDescriptor(e, t).enumerable }))), n.push.apply(n, o) } return n } function d(e) { for (var t = 1; t < arguments.length; t++) { var n = null != arguments[t] ? arguments[t] : {}; t % 2 ? c(Object(n), !0).forEach((function(t) { (0, a.default)(e, t, n[t]) })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : c(Object(n)).forEach((function(t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) })) } return e } var s = function() { function t(n, o) { (0, r.default)(this, t), this.options = n, this.animation = e.createAnimation(n), this.currentStepAnimates = {}, this.next = 0, this.$ = o } return (0, i.default)(t, [{ key: "_nvuePushAnimates", value: function(e, t) { var n = this.currentStepAnimates[this.next], o = {}; if (o = n || { styles: {}, config: {} }, l.includes(e)) { o.styles.transform || (o.styles.transform = ""); var a = ""; "rotate" === e && (a = "deg"), o.styles.transform += "".concat(e, "(").concat(t + a, ") ") } else o.styles[e] = "".concat(t); this.currentStepAnimates[this.next] = o } }, { key: "_animateRun", value: function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = this.$.$refs["ani"].ref; if (n) return new Promise((function(o, a) { nvueAnimation.transition(n, d({ styles: e }, t), (function(e) { o() })) })) } }, { key: "_nvueNextAnimate", value: function(e) { var t = this, n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, o = arguments.length > 2 ? arguments[2] : void 0, a = e[n]; if (a) { var r = a.styles, i = a.config; this._animateRun(r, i).then((function() { n += 1, t._nvueNextAnimate(e, n, o) })) } else this.currentStepAnimates = {}, "function" === typeof o && o(), this.isEnd = !0 } }, { key: "step", value: function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; return this.animation.step(e), this } }, { key: "run", value: function(e) { this.$.animationData = this.animation.export(), this.$.timer = setTimeout((function() { "function" === typeof e && e() }), this.$.durationTime) } }]), t }(), l = ["matrix", "matrix3d", "rotate", "rotate3d", "rotateX", "rotateY", "rotateZ", "scale", "scale3d", "scaleX", "scaleY", "scaleZ", "skew", "skewX", "skewY", "translate", "translate3d", "translateX", "translateY", "translateZ"]; l.concat(["opacity", "backgroundColor"], ["width", "height", "left", "right", "top", "bottom"]).forEach((function(e) { s.prototype[e] = function() { var t; return (t = this.animation)[e].apply(t, arguments), this } })) }).call(this, n("543d")["default"]) }, f2c6: function(e, t, n) { (function(t) { e.exports = { data: function() { return {} }, onLoad: function() { this.$u.getRect = this.$uGetRect }, methods: { $uGetRect: function(e, n) { var o = this; return new Promise((function(a) { t.createSelectorQuery().in(o)[n ? "selectAll" : "select"](e).boundingClientRect((function(e) { n && Array.isArray(e) && e.length && a(e), !n && e && a(e) })).exec() })) }, getParentData: function() { var e = this, t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ""; this.parent || (this.parent = !1), this.parent = this.$u.$parent.call(this, t), this.parent && Object.keys(this.parentData).map((function(t) { e.parentData[t] = e.parent[t] })) }, preventEvent: function(e) { e && e.stopPropagation && e.stopPropagation() } }, onReachBottom: function() { t.$emit("uOnReachBottom") }, beforeDestroy: function() { var e = this; if (this.parent && t.$u.test.array(this.parent.children)) { var n = this.parent.children; n.map((function(t, o) { t === e && n.splice(o, 1) })) } } } }).call(this, n("543d")["default"]) }, f3a3: function(e, t, n) { "use strict"; var o = n("4ea4"); Object.defineProperty(t, "__esModule", { value: !0 }), t.VueJsonp = void 0, t.jsonp = i; var a = o(n("7037")); /** * Vue Jsonp. * # Carry Your World # * * @author: LancerComet * @license: MIT */ var r = { install: function(e) { e.prototype.$jsonp = i } }; function i(e, t, n) { if (void 0 === t && (t = {}), "string" != typeof e) throw new Error('[Vue-jsonp] Type of param "url" is not string.'); if ("object" != (0, a.default)(t) || !t) throw new Error("[Vue-jsonp] Invalid params, should be an object."); return n = "number" == typeof n ? n : 5e3, new Promise((function(o, a) { var r = "string" == typeof t.callbackQuery ? t.callbackQuery : "callback", i = "string" == typeof t.callbackName ? t.callbackName : "jsonp_" + (Math.floor(1e5 * Math.random()) * Date.now()).toString(16); t[r] = i, delete t.callbackQuery, delete t.callbackName; var c = []; Object.keys(t).forEach((function(e) { c = c.concat(function e(t, n) { t = t.replace(/=/g, ""); var o = []; switch (n.constructor) { case String: case Number: case Boolean: o.push(encodeURIComponent(t) + "=" + encodeURIComponent(n)); break; case Array: n.forEach((function(n) { o = o.concat(e(t + "[]=", n)) })); break; case Object: Object.keys(n).forEach((function(a) { var r = n[a]; o = o.concat(e(t + "[" + a + "]", r)) })) } return o }(e, t[e])) })); var d = function e(t) { var n = []; return t.forEach((function(t) { "string" == typeof t ? n.push(t) : n = n.concat(e(t)) })), n }(c).join("&"), s = function() { l(), clearTimeout(m), a({ status: 400, statusText: "Bad Request" }) }, l = function() { h.removeEventListener("error", s) }, u = function() { document.body.removeChild(h), delete window[i] }, m = null; n > -1 && (m = setTimeout((function() { l(), u(), a({ statusText: "Request Timeout", status: 408 }) }), n)), window[i] = function(e) { clearTimeout(m), l(), u(), o(e) }; var h = document.createElement("script"); h.addEventListener("error", s), h.src = e + (/\?/.test(e) ? "&" : "?") + d, document.body.appendChild(h) })) } t.VueJsonp = r }, f3d5: function(e, t, n) { "use strict"; var o; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var a = function(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 500, n = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2]; n ? o || (o = !0, "function" === typeof e && e(), setTimeout((function() { o = !1 }), t)) : o || (o = !0, setTimeout((function() { o = !1, "function" === typeof e && e() }), t)) }; t.default = a }, f785: function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.defaultInfo = function() { return (0, o.myRequest)("common/getConfig") }, t.dingLogin = function() { return (0, o.myRequest)("staff/dingLogin") }, t.islog = function() { return (0, o.myRequest)("staff/isLogin") }, t.islogin = function() { return (0, o.myRequest)("staff/test") }, t.login = function(e) { return (0, o.myRequest)("staff/wxLogin", e) }, t.login2 = function(e) { return (0, o.myRequest)("staff/dingLogin?code=" + e, null, "get") }, t.nerIsbindWechat = function() { return (0, o.myRequest)("staff/staffBind") }, t.netEditPassword = function(e) { return (0, o.myRequest)("staff/changepwd", e) }, t.netMapKey = function() { return (0, o.myRequest)("common/getConfig") }, t.netNewLogin = function(e) { return (0, o.myRequest)("staff/login", e) }, t.netOutLogin = function() { return (0, o.myRequest)("staff/logout") }, t.netSendCode = function(e) { return (0, o.myRequest)("staff/wechatBind", e) }, t.netlogin_text = function() { return (0, o.myRequest)("staff/logintest") }; var o = n("0c59") }, f86e: function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var o = function(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "both"; return "both" == t ? e.replace(/^\s+|\s+$/g, "") : "left" == t ? e.replace(/^\s*/, "") : "right" == t ? e.replace(/(\s*$)/g, "") : "all" == t ? e.replace(/\s+/g, "") : e }; t.default = o }, f961: function(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; t.default = { data: function() { return { share: { title: "CRM", imageUrl: "" } } }, onShareAppMessage: function(e) { return { title: this.share.title, imageUrl: this.share.imageUrl } }, onShareTimeline: function(e) { return { title: this.share.title, imageUrl: this.share.imageUrl } } } }, fcc5: function(e, t, n) { "use strict"; (function(e) { Object.defineProperty(t, "__esModule", { value: !0 }), t.os = function() { return e.getSystemInfoSync().platform }, t.sys = function() { return e.getSystemInfoSync() } }).call(this, n("543d")["default"]) }, fef2: function(e, t, n) { "use strict"; (function(e) { Object.defineProperty(t, "__esModule", { value: !0 }), t.statisticalPageJumps = t.pageJumps = t.followRecordPageJumps = t.customerPageJumps = t.cluesPageJumps = void 0; var n = { methods: { toSearch: function() { e.navigateTo({ url: "/pagesA/crm/search/search" }) }, toMenu: function() { e.showToast({ title: "菜单设置页面未完成,无法跳转", icon: "none", duration: 1e3 }) }, toIndexCustomer: function() { e.navigateTo({ url: "/pagesA/crm/customerManagement/customerManagement" }) }, toContacts: function() { e.navigateTo({ url: "/pagesA/crm/linkman/linkman" }) }, toIndexClue: function() { e.navigateTo({ url: "/pagesA/crm/cluesManagement/cluesManagement" }) }, toCustomer: function() { e.navigateTo({ url: "/pagesA/crm/customerManagement/customerManagement?status=" + this.typeIndex + "&stime=" + this.startTime + "&etime=" + this.endTime }) }, toClue: function() { e.navigateTo({ url: "/pagesA/crm/cluesManagement/cluesManagement?status=" + this.typeIndex + "&stime=" + this.startTime + "&etime=" + this.endTime }) }, toIndexRecord: function() { e.navigateTo({ url: "/pagesA/crm/followRecord/followRecord" }) }, toRecord: function() { e.navigateTo({ url: "/pagesA/crm/followRecord/followRecord?status=" + this.typeIndex + "&stime=" + this.startTime + "&etime=" + this.endTime }) }, toIndexContract: function() { e.navigateTo({ url: "/pages/index/contract/contract" }) }, toContract: function() { e.navigateTo({ url: "/pages/index/contract/contract?status=" + this.typeIndex + "&stime=" + this.startTime + "&etime=" + this.endTime }) }, toReturnedMoney: function() { e.navigateTo({ url: "/pagesA/payment/index?status=" + this.typeIndex + "&stime=" + this.startTime + "&etime=" + this.endTime }) }, toWaterCustomer: function() { e.navigateTo({ url: "/pagesA/crm/customerManagement/waterCustomerManagement" }) }, toNears: function() { e.navigateTo({ url: "/pages/nearby/nearby" }) }, affiche: function() { e.navigateTo({ url: "/pages/news/notice" }) }, remind: function() { e.navigateTo({ url: "/pages/news/theReminder/theReminder" }) }, workreport: function() { e.navigateTo({ url: "/pages/workreport/list" }) }, agendar: function() { e.navigateTo({ url: "/pages/index/schedule/schedule" }) }, approve: function() { e.navigateTo({ url: "/pagesA/work/approve/index" }) }, daiban: function() { e.navigateTo({ url: "/pagesA/profile/needDeal" }) }, addChuchai: function() { e.navigateTo({ url: "/pagesA/signin/busSign" }) }, toLinkman: function() { e.navigateTo({ url: "/pagesA/crm/linkman/linkman" }) }, toOrder: function() { e.showToast({ title: "新增订单设计图测试报错,无法跳转", icon: "none", duration: 1e3 }) }, toExamine: function() { e.navigateTo({ url: "/pages/news/theReminder/theReminder" }) }, taskClick: function() { this.taskShow = !0 }, telClick: function() { this.telShow = !0 }, onCancel: function() { this.taskShow = !1, this.telShow = !1 }, toMore: function() { e.navigateTo({ url: "/pages/index/groupCompany/groupCompany" }) } } }; t.pageJumps = n; t.cluesPageJumps = { methods: {} }; var o = { methods: { toMore: function(t, n) { console.log(t), e.navigateTo({ url: "/pages/index/groupCompany/groupCompany?id=" + t + "&type=" + n }) }, followClick: function(t, n) { e.navigateTo({ url: "/pagesA/crm/customerManagement/newFllow/newFllow?id=" + t + "&type=" + n }) }, linkmanClick: function(t) { e.navigateTo({ url: "/pagesA/crm/linkman/newLinkman/newLinkman?id=" + t }) }, createClineClick: function() { this.isAdd = !0, e.navigateTo({ url: "/pagesA/crm/createCustomer/createCustomer" }) } } }; t.customerPageJumps = o; var a = { methods: { followDetailClick: function() { e.navigateTo({ url: "/pagesA/crm/cluesManagement/followUpDetail/followUpDetail" }) }, componyClick: function() { console.log("11"), e.navigateTo({ url: "/pages/index/groupCompany/groupCompany" }) } } }; t.followRecordPageJumps = a; var r = { methods: { achievementObjectClick: function() { e.navigateTo({ url: "/pagesA/crm/statisticalFrom/achievementObject/achievementObject" }) }, paymentRankClick: function() { e.navigateTo({ url: "/pagesA/crm/statisticalFrom/paymentRank/paymentRank" }) }, personRankClick: function() { e.navigateTo({ url: "/pagesA/crm/statisticalFrom/personRank/personRank" }) }, collectClick: function() { e.navigateTo({ url: "/pagesA/crm/statisticalFrom/collect/collect" }) } } }; t.statisticalPageJumps = r }).call(this, n("543d")["default"]) } } ]);