tree.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472
  1. !function(e, t) {
  2. "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.treeSelect = t() : e.treeSelect = t()
  3. }("undefined" != typeof self ? self : this, function() {
  4. return function(e) {
  5. var t = {};
  6. function n(r) {
  7. if (t[r])
  8. return t[r].exports;
  9. var o = t[r] = {
  10. i: r,
  11. l: !1,
  12. exports: {}
  13. };
  14. return e[r].call(o.exports, o, o.exports, n),
  15. o.l = !0,
  16. o.exports
  17. }
  18. return n.m = e,
  19. n.c = t,
  20. n.d = function(e, t, r) {
  21. n.o(e, t) || Object.defineProperty(e, t, {
  22. configurable: !1,
  23. enumerable: !0,
  24. get: r
  25. })
  26. }
  27. ,
  28. n.n = function(e) {
  29. var t = e && e.__esModule ? function() {
  30. return e.default
  31. }
  32. : function() {
  33. return e
  34. }
  35. ;
  36. return n.d(t, "a", t),
  37. t
  38. }
  39. ,
  40. n.o = function(e, t) {
  41. return Object.prototype.hasOwnProperty.call(e, t)
  42. }
  43. ,
  44. n.p = "",
  45. n(n.s = 1)
  46. }([function(e, t, n) {
  47. "use strict";
  48. Object.defineProperty(t, "__esModule", {
  49. value: !0
  50. }),
  51. t.default = {
  52. template: "#tree-select",
  53. name: "el-tree-select",
  54. props: {
  55. props: {
  56. type: Object,
  57. default: function() {
  58. return {
  59. value: "id",
  60. label: "title",
  61. children: "children"
  62. }
  63. }
  64. },
  65. options: {
  66. type: Array,
  67. default: function() {
  68. return []
  69. }
  70. },
  71. value: {
  72. type: Number,
  73. default: function() {
  74. return null
  75. }
  76. },
  77. clearable: {
  78. type: Boolean,
  79. default: function() {
  80. return !0
  81. }
  82. },
  83. accordion: {
  84. type: Boolean,
  85. default: function() {
  86. return !1
  87. }
  88. }
  89. },
  90. data: function() {
  91. return {
  92. valueId: this.value,
  93. valueTitle: "",
  94. defaultExpandedKey: []
  95. }
  96. },
  97. mounted: function() {
  98. this.initHandle()
  99. },
  100. methods: {
  101. initHandle: function() {
  102. if (this.valueId) {
  103. if (!this.$refs.selectTree.getNode(this.valueId))
  104. return this.valueTitle = "",
  105. this.valueId = null,
  106. this.defaultExpandedKey = [],
  107. void this.clearSelected();
  108. this.valueTitle = this.$refs.selectTree.getNode(this.valueId).data[this.props.label],
  109. this.$refs.selectTree.setCurrentKey(this.valueId),
  110. this.defaultExpandedKey = [this.valueId]
  111. }
  112. this.initScroll()
  113. },
  114. initScroll: function() {
  115. this.$nextTick(function() {
  116. var e = document.querySelectorAll(".el-scrollbar .el-select-dropdown__wrap")[0]
  117. , t = document.querySelectorAll(".el-scrollbar .el-scrollbar__bar");
  118. //e.style.cssText = "margin-bottom: -17px;margin-right: -17px;",
  119. // t.forEach(function(e) {
  120. // return e.style.width = 0
  121. // })
  122. })
  123. },
  124. handleNodeClick: function(e) {
  125. this.$emit("input", e[this.props.value]),
  126. this.$emit("change", {
  127. node: e,
  128. dom: this.$refs.tsSselect
  129. }),
  130. this.$refs.tsSselect.blur(),
  131. this.defaultExpandedKey = []
  132. },
  133. clearHandle: function() {
  134. this.valueTitle = "",
  135. this.valueId = null,
  136. this.defaultExpandedKey = [],
  137. this.clearSelected(),
  138. this.$emit("input", null),
  139. this.$emit("change", null)
  140. },
  141. clearSelected: function() {
  142. document.querySelectorAll("#tree-option .el-tree-node").forEach(function(e) {
  143. return e.classList.remove("is-current")
  144. })
  145. }
  146. },
  147. watch: {
  148. value: function() {
  149. this.valueId = this.value,
  150. this.initHandle()
  151. },
  152. options: {
  153. handler: function(e, t) {
  154. var n = this;
  155. this.valueId = this.value,
  156. this.$nextTick(function(e) {
  157. n.initHandle()
  158. })
  159. },
  160. immediate: !0,
  161. deep: !0
  162. }
  163. }
  164. }
  165. }
  166. , function(e, t, n) {
  167. "use strict";
  168. Object.defineProperty(t, "__esModule", {
  169. value: !0
  170. });
  171. var r = n(0)
  172. , o = n.n(r);
  173. for (var i in r)
  174. "default" !== i && function(e) {
  175. n.d(t, e, function() {
  176. return r[e]
  177. })
  178. }(i);
  179. var a = n(8)
  180. , l = !1;
  181. var s = function(e) {
  182. l || n(2)
  183. }
  184. , u = n(7)(o.a, a.a, !1, s, "data-v-24dbbcae", null);
  185. u.options.__file = "src/components/tree.vue",
  186. t.default = u.exports
  187. }
  188. , function(e, t, n) {
  189. var r = n(3);
  190. "string" == typeof r && (r = [[e.i, r, ""]]),
  191. r.locals && (e.exports = r.locals);
  192. n(5)("682353eb", r, !1, {})
  193. }
  194. , function(e, t, n) {
  195. (e.exports = n(4)(void 0)).push([e.i, "\n.el-scrollbar .el-scrollbar__view .el-select-dropdown__item[data-v-24dbbcae] {\r\n height: auto;\r\n max-height: 274px;\r\n padding: 0;\r\n overflow: hidden;\r\n overflow-y: auto;\n}\n.el-select-dropdown__item.selected[data-v-24dbbcae] {\r\n font-weight: normal;\n}\nul li[data-v-24dbbcae] .el-tree .el-tree-node__content {\r\n height: auto;\r\n padding: 0 20px;\n}\n.el-tree-node__label[data-v-24dbbcae] {\r\n font-weight: normal;\n}\n.el-tree[data-v-24dbbcae] .is-current .el-tree-node__label {\r\n color: #409eff;\r\n font-weight: 700;\n}\n.el-tree[data-v-24dbbcae] .is-current .el-tree-node__children .el-tree-node__label {\r\n color: #606266;\r\n font-weight: normal;\n}\r\n", ""])
  196. }
  197. , function(e, t) {
  198. e.exports = function(e) {
  199. var t = [];
  200. return t.toString = function() {
  201. return this.map(function(t) {
  202. var n = function(e, t) {
  203. var n = e[1] || ""
  204. , r = e[3];
  205. if (!r)
  206. return n;
  207. if (t) {
  208. var o = (a = r,
  209. "/*# sourceMappingURL=data:application/json;charset=utf-8;base64," + new Buffer(JSON.stringify(a)).toString("base64") + " */")
  210. , i = r.sources.map(function(e) {
  211. return "/*# sourceURL=" + r.sourceRoot + e + " */"
  212. });
  213. return [n].concat(i).concat([o]).join("\n")
  214. }
  215. var a;
  216. return [n].join("\n")
  217. }(t, e);
  218. return t[2] ? "@media " + t[2] + "{" + n + "}" : n
  219. }).join("")
  220. }
  221. ,
  222. t.i = function(e, n) {
  223. "string" == typeof e && (e = [[null, e, ""]]);
  224. for (var r = {}, o = 0; o < this.length; o++) {
  225. var i = this[o][0];
  226. "number" == typeof i && (r[i] = !0)
  227. }
  228. for (o = 0; o < e.length; o++) {
  229. var a = e[o];
  230. "number" == typeof a[0] && r[a[0]] || (n && !a[2] ? a[2] = n : n && (a[2] = "(" + a[2] + ") and (" + n + ")"),
  231. t.push(a))
  232. }
  233. }
  234. ,
  235. t
  236. }
  237. }
  238. , function(e, t, n) {
  239. var r = "undefined" != typeof document;
  240. if ("undefined" != typeof DEBUG && DEBUG && !r)
  241. throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");
  242. var o = n(6)
  243. , i = {}
  244. , a = r && (document.head || document.getElementsByTagName("head")[0])
  245. , l = null
  246. , s = 0
  247. , u = !1
  248. , d = function() {}
  249. , c = null
  250. , f = "data-vue-ssr-id"
  251. , p = "undefined" != typeof navigator && /msie [6-9]\b/.test(navigator.userAgent.toLowerCase());
  252. function h(e) {
  253. for (var t = 0; t < e.length; t++) {
  254. var n = e[t]
  255. , r = i[n.id];
  256. if (r) {
  257. r.refs++;
  258. for (var o = 0; o < r.parts.length; o++)
  259. r.parts[o](n.parts[o]);
  260. for (; o < n.parts.length; o++)
  261. r.parts.push(m(n.parts[o]));
  262. r.parts.length > n.parts.length && (r.parts.length = n.parts.length)
  263. } else {
  264. var a = [];
  265. for (o = 0; o < n.parts.length; o++)
  266. a.push(m(n.parts[o]));
  267. i[n.id] = {
  268. id: n.id,
  269. refs: 1,
  270. parts: a
  271. }
  272. }
  273. }
  274. }
  275. function v() {
  276. var e = document.createElement("style");
  277. return e.type = "text/css",
  278. a.appendChild(e),
  279. e
  280. }
  281. function m(e) {
  282. var t, n, r = document.querySelector("style[" + f + '~="' + e.id + '"]');
  283. if (r) {
  284. if (u)
  285. return d;
  286. r.parentNode.removeChild(r)
  287. }
  288. if (p) {
  289. var o = s++;
  290. r = l || (l = v()),
  291. t = g.bind(null, r, o, !1),
  292. n = g.bind(null, r, o, !0)
  293. } else
  294. r = v(),
  295. t = function(e, t) {
  296. var n = t.css
  297. , r = t.media
  298. , o = t.sourceMap;
  299. r && e.setAttribute("media", r);
  300. c.ssrId && e.setAttribute(f, t.id);
  301. o && (n += "\n/*# sourceURL=" + o.sources[0] + " */",
  302. n += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(o)))) + " */");
  303. if (e.styleSheet)
  304. e.styleSheet.cssText = n;
  305. else {
  306. for (; e.firstChild; )
  307. e.removeChild(e.firstChild);
  308. e.appendChild(document.createTextNode(n))
  309. }
  310. }
  311. .bind(null, r),
  312. n = function() {
  313. r.parentNode.removeChild(r)
  314. }
  315. ;
  316. return t(e),
  317. function(r) {
  318. if (r) {
  319. if (r.css === e.css && r.media === e.media && r.sourceMap === e.sourceMap)
  320. return;
  321. t(e = r)
  322. } else
  323. n()
  324. }
  325. }
  326. e.exports = function(e, t, n, r) {
  327. u = n,
  328. c = r || {};
  329. var a = o(e, t);
  330. return h(a),
  331. function(t) {
  332. for (var n = [], r = 0; r < a.length; r++) {
  333. var l = a[r];
  334. (s = i[l.id]).refs--,
  335. n.push(s)
  336. }
  337. t ? h(a = o(e, t)) : a = [];
  338. for (r = 0; r < n.length; r++) {
  339. var s;
  340. if (0 === (s = n[r]).refs) {
  341. for (var u = 0; u < s.parts.length; u++)
  342. s.parts[u]();
  343. delete i[s.id]
  344. }
  345. }
  346. }
  347. }
  348. ;
  349. var b, y = (b = [],
  350. function(e, t) {
  351. return b[e] = t,
  352. b.filter(Boolean).join("\n")
  353. }
  354. );
  355. function g(e, t, n, r) {
  356. var o = n ? "" : r.css;
  357. if (e.styleSheet)
  358. e.styleSheet.cssText = y(t, o);
  359. else {
  360. var i = document.createTextNode(o)
  361. , a = e.childNodes;
  362. a[t] && e.removeChild(a[t]),
  363. a.length ? e.insertBefore(i, a[t]) : e.appendChild(i)
  364. }
  365. }
  366. }
  367. , function(e, t) {
  368. e.exports = function(e, t) {
  369. for (var n = [], r = {}, o = 0; o < t.length; o++) {
  370. var i = t[o]
  371. , a = i[0]
  372. , l = {
  373. id: e + ":" + o,
  374. css: i[1],
  375. media: i[2],
  376. sourceMap: i[3]
  377. };
  378. r[a] ? r[a].parts.push(l) : n.push(r[a] = {
  379. id: a,
  380. parts: [l]
  381. })
  382. }
  383. return n
  384. }
  385. }
  386. , function(e, t) {
  387. e.exports = function(e, t, n, r, o, i) {
  388. var a, l = e = e || {}, s = typeof e.default;
  389. "object" !== s && "function" !== s || (a = e,
  390. l = e.default);
  391. var u, d = "function" == typeof l ? l.options : l;
  392. if (t && (d.render = t.render,
  393. d.staticRenderFns = t.staticRenderFns,
  394. d._compiled = !0),
  395. n && (d.functional = !0),
  396. o && (d._scopeId = o),
  397. i ? (u = function(e) {
  398. (e = e || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (e = __VUE_SSR_CONTEXT__),
  399. r && r.call(this, e),
  400. e && e._registeredComponents && e._registeredComponents.add(i)
  401. }
  402. ,
  403. d._ssrRegister = u) : r && (u = r),
  404. u) {
  405. var c = d.functional
  406. , f = c ? d.render : d.beforeCreate;
  407. c ? (d._injectStyles = u,
  408. d.render = function(e, t) {
  409. return u.call(t),
  410. f(e, t)
  411. }
  412. ) : d.beforeCreate = f ? [].concat(f, u) : [u]
  413. }
  414. return {
  415. esModule: a,
  416. exports: l,
  417. options: d
  418. }
  419. }
  420. }
  421. , function(e, t, n) {
  422. "use strict";
  423. var r = function() {
  424. var e = this
  425. , t = e.$createElement
  426. , n = e._self._c || t;
  427. return n("div", {
  428. attrs: {
  429. id: "selecttree"
  430. }
  431. }, [n("el-select", {
  432. ref: "tsSselect",
  433. attrs: {
  434. value: e.valueTitle,
  435. clearable: e.clearable
  436. },
  437. on: {
  438. clear: e.clearHandle
  439. }
  440. }, [n("el-option", {
  441. staticClass: "options",
  442. attrs: {
  443. value: e.valueTitle,
  444. label: e.valueTitle
  445. }
  446. }, [n("el-tree", {
  447. ref: "selectTree",
  448. attrs: {
  449. id: "tree-option",
  450. "default-expand-all": "",
  451. "expand-on-click-node": !1,
  452. accordion: e.accordion,
  453. data: e.options,
  454. props: e.props,
  455. "node-key": e.props.value,
  456. "default-expanded-keys": e.defaultExpandedKey
  457. },
  458. on: {
  459. "node-click": e.handleNodeClick
  460. }
  461. })], 1)], 1)], 1)
  462. };
  463. r._withStripped = !0;
  464. var o = {
  465. render: r,
  466. staticRenderFns: []
  467. };
  468. t.a = o
  469. }
  470. ]).default
  471. });
  472. Vue.component('tree-select', treeSelect)