zartui 2.0.57 → 2.0.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -170,7 +170,7 @@ export default createComponent({
170
170
  this.tabs = this.tabs.slice(0, tabIndex + 1);
171
171
  }
172
172
 
173
- var hasChildren = option[this.childrenKey] && option[this.childrenKey].length > 0;
173
+ var hasChildren = option[this.childrenKey];
174
174
 
175
175
  if (hasChildren) {
176
176
  var nextTab = {
@@ -1 +1 @@
1
- .zt2-dropdown-item{position:fixed;right:0;left:0;z-index:10;overflow:hidden}.zt2-dropdown-item__icon{display:block;line-height:inherit;font-size:24px}.zt2-dropdown-item .zt2-cell::after{border:none}.zt2-dropdown-item__option{text-align:left;font-size:14px;padding-left:0}.zt2-dropdown-item__option--active{color:#0091fa}.zt2-dropdown-item__option--active .zt2-dropdown-item__icon{color:#0091fa}.zt2-dropdown-item--up{top:0}.zt2-dropdown-item--down{bottom:0}.zt2-dropdown-item__content,.zt2-dropdown-item__content.zt2-popup{position:absolute;max-height:80%;padding-left:16px;box-sizing:border-box}.options{position:absolute;top:0;width:100%;overflow-y:scroll}.button{position:absolute;z-index:1;width:100%;height:44px;display:-webkit-box;display:-webkit-flex;display:flex;border-top:1px solid rgba(0,0,0,.05)}.button-reset{width:50%;font-family:PingFangSC-Regular;font-weight:400;font-size:16px;color:#ff9623;text-align:center;padding-top:11px}.button-confirm{width:50%;background-color:#0091fa;font-weight:600;font-size:16px;color:#f5f5fa;text-align:center;padding-top:11px}
1
+ .zt2-dropdown-item{position:fixed;right:0;left:0;z-index:10;overflow:hidden}.zt2-dropdown-item__icon{display:block;line-height:inherit;font-size:24px}.zt2-dropdown-item .zt2-cell::after{border:none}.zt2-dropdown-item__option{text-align:left;font-size:14px;padding-left:0}.zt2-dropdown-item__option--active{color:#0091fa}.zt2-dropdown-item__option--active .zt2-dropdown-item__icon{color:#0091fa}.zt2-dropdown-item--up{top:0}.zt2-dropdown-item--down{bottom:0}.zt2-dropdown-item__content,.zt2-dropdown-item__content.zt2-popup{position:absolute;max-height:80%;padding-left:16px;box-sizing:border-box}.zt2-dropdown-item__options{position:absolute;top:0;width:100%;overflow-y:scroll}.zt2-dropdown-item__button{position:absolute;z-index:1;width:100%;height:44px;display:-webkit-box;display:-webkit-flex;display:flex;border-top:1px solid rgba(0,0,0,.05)}.zt2-dropdown-item__button-reset{width:50%;font-family:PingFangSC-Regular;font-weight:400;font-size:16px;color:#ff9623;text-align:center;padding-top:11px}.zt2-dropdown-item__button-confirm{width:50%;background-color:#0091fa;font-weight:600;font-size:16px;color:#f5f5fa;text-align:center;padding-top:11px}
@@ -1,14 +1,14 @@
1
1
  // Utils
2
2
  import { createNamespace } from '../utils';
3
- import { on, off } from '../utils/dom/event'; // Mixins
3
+ import { off, on } from '../utils/dom/event'; // Mixins
4
4
 
5
5
  import { PortalMixin } from '../mixins/portal';
6
6
  import { ChildrenMixin } from '../mixins/relation'; // Components
7
7
 
8
8
  import Cell from '../cell';
9
+ import Checkbox from '../checkbox';
9
10
  import Icon from '../icon';
10
11
  import Popup from '../popup';
11
- import Checkbox from '../checkbox';
12
12
 
13
13
  var _createNamespace = createNamespace('dropdown-item'),
14
14
  createComponent = _createNamespace[0],
@@ -318,26 +318,26 @@ export default createComponent({
318
318
  value: !this.multiSelect
319
319
  }]
320
320
  }, [Options]), h("div", {
321
- "class": "options",
321
+ "class": bem('options'),
322
322
  "style": optionStyle,
323
323
  "directives": [{
324
324
  name: "show",
325
325
  value: this.multiSelect
326
326
  }]
327
327
  }, [Options]), h("div", {
328
- "class": "button",
328
+ "class": bem('button'),
329
329
  "style": buttonStyle,
330
330
  "directives": [{
331
331
  name: "show",
332
332
  value: this.multiSelect
333
333
  }]
334
334
  }, [h("div", {
335
- "class": "button-reset",
335
+ "class": bem('button-reset'),
336
336
  "on": {
337
337
  "click": this.reset
338
338
  }
339
339
  }, ["\u91CD\u7F6E"]), h("div", {
340
- "class": "button-confirm",
340
+ "class": bem('button-confirm'),
341
341
  "on": {
342
342
  "click": this.confirm
343
343
  }
@@ -39,45 +39,45 @@
39
39
  bottom: 0;
40
40
  }
41
41
 
42
- &__content, &__content.@{base-prefix}-popup {
42
+ &__content,
43
+ &__content.@{base-prefix}-popup {
43
44
  position: absolute;
44
45
  max-height: @dropdown-menu-content-max-height;
45
46
  padding-left: @padding-md;
46
47
  box-sizing: border-box;
47
48
  }
48
49
 
49
- }
50
-
51
- .options{
52
- position: absolute;
53
- top: 0px;
54
- width: 100%;
55
- overflow-y: scroll;
56
- }
50
+ &__options {
51
+ position: absolute;
52
+ top: 0px;
53
+ width: 100%;
54
+ overflow-y: scroll;
55
+ }
56
+ &__button {
57
+ position: absolute;
58
+ z-index: 1;
59
+ width: 100%;
60
+ height: 44px;
61
+ display: flex;
62
+ border-top: 1px solid rgba(0, 0, 0, 0.05);
57
63
 
58
- .button{
59
- position: absolute;
60
- z-index: 1;
61
- width: 100%;
62
- height: 44px;
63
- display: flex;
64
- border-top: 1px solid rgba(0,0,0,0.05);
65
- }
66
- .button-reset{
67
- width: 50%;
68
- font-family: PingFangSC-Regular;
69
- font-weight: 400;
70
- font-size: 16px;
71
- color: #FF9623;
72
- text-align: center;
73
- padding-top: 11px;
74
- }
75
- .button-confirm{
76
- width: 50%;
77
- background-color: #0091FA;
78
- font-weight: 600;
79
- font-size: 16px;
80
- color: #F5F5FA;
81
- text-align: center;
82
- padding-top: 11px;
64
+ &-reset {
65
+ width: 50%;
66
+ font-family: PingFangSC-Regular;
67
+ font-weight: 400;
68
+ font-size: 16px;
69
+ color: #ff9623;
70
+ text-align: center;
71
+ padding-top: 11px;
72
+ }
73
+ &-confirm {
74
+ width: 50%;
75
+ background-color: #0091fa;
76
+ font-weight: 600;
77
+ font-size: 16px;
78
+ color: #f5f5fa;
79
+ text-align: center;
80
+ padding-top: 11px;
81
+ }
82
+ }
83
83
  }
@@ -2,8 +2,8 @@
2
2
  import { createNamespace, isDef } from '../utils';
3
3
  import { getScroller } from '../utils/dom/scroll'; // Mixins
4
4
 
5
- import { ParentMixin } from '../mixins/relation';
6
5
  import { ClickOutsideMixin } from '../mixins/click-outside';
6
+ import { ParentMixin } from '../mixins/relation';
7
7
  import Icon from '../icon';
8
8
 
9
9
  var _createNamespace = createNamespace('dropdown-menu'),
@@ -117,8 +117,8 @@ export default createComponent({
117
117
  color: item.showPopup ? _this.activeColor : ''
118
118
  }
119
119
  }, [h("div", {
120
- "class": "zt-ellipsis",
121
- "style": "padding-right: 18px"
120
+ "class": "zt2-ellipsis",
121
+ "style": 'padding-right: 18px'
122
122
  }, [item.slots('title') || item.displayTitle, item.slots('icon') || h(Icon, {
123
123
  "class": bem('icon'),
124
124
  "attrs": {
@@ -4,8 +4,7 @@ import Icon from "../icon";
4
4
 
5
5
  var _createNamespace = createNamespace('hierarchy-select-breadcrumb'),
6
6
  createComponent = _createNamespace[0],
7
- bem = _createNamespace[1],
8
- t = _createNamespace[2];
7
+ bem = _createNamespace[1];
9
8
 
10
9
  export default createComponent({
11
10
  props: {
@@ -22,43 +21,47 @@ export default createComponent({
22
21
  textKey: {
23
22
  type: String,
24
23
  default: "name"
24
+ },
25
+ breadcrumbTitle: {
26
+ type: String,
27
+ default: "全部"
25
28
  }
26
29
  },
27
- data: function data() {
28
- return {};
29
- },
30
30
  methods: {
31
31
  chooseSenior: function chooseSenior(index) {
32
+ if (this.data.length === index + 1) {
33
+ return;
34
+ }
35
+
32
36
  this.$emit("chooseSenior", index);
33
37
  }
34
38
  },
35
- render: function render(h) {
39
+ render: function render() {
36
40
  var _this = this;
37
41
 
38
- return h("div", [this.data.length > 0 ? h("div", {
42
+ var h = arguments[0];
43
+ return h("section", {
39
44
  "class": bem()
40
- }, [h("span", {
41
- "class": bem("fill-blur")
42
- }), h("div", {
43
- "class": bem("indicator-crumb-list")
44
- }, [h("span", {
45
- "style": {
46
- color: '#0091fa'
47
- },
45
+ }, [h("div", {
46
+ "class": bem('list')
47
+ }, [h("div", {
48
+ "class": bem('default'),
48
49
  "on": {
49
50
  "click": function click() {
50
51
  _this.chooseSenior(-1);
51
52
  }
52
53
  }
53
- }, ["\u5168\u90E8"]), this.data.map(function (item, index) {
54
+ }, [this.breadcrumbTitle]), this.data.map(function (item, index) {
54
55
  return h("div", {
55
- "class": bem("crumb-item")
56
+ "class": bem('item')
56
57
  }, [h(Icon, {
58
+ "class": bem('icon'),
57
59
  "attrs": {
58
- "name": "arrow-right"
59
- },
60
- "class": bem("icon-arrow")
60
+ "name": "arrow-right",
61
+ "color": "#C6CED9"
62
+ }
61
63
  }), h("span", {
64
+ "class": bem('name'),
62
65
  "style": {
63
66
  color: index === _this.data.length - 1 ? '' : '#0091fa'
64
67
  },
@@ -68,8 +71,6 @@ export default createComponent({
68
71
  }
69
72
  }
70
73
  }, [item[_this.textKey]])]);
71
- })]), h("span", {
72
- "class": "fill-blur"
73
- })]) : h()]);
74
+ })])]);
74
75
  }
75
76
  });
@@ -1 +1 @@
1
- .zt2-hierarchy-select__popup{height:100%}.zt2-hierarchy-select__popup .zt2-hierarchy-select{background-color:#f5f5ff;height:100%}.zt2-hierarchy-select__popup .zt2-hierarchy-select__title{height:44px;position:relative;background-color:#fff;border-bottom:1px solid rgba(0,0,0,.1)}.zt2-hierarchy-select__popup .zt2-hierarchy-select__title i{font-size:14px;position:absolute;left:15px;top:16px}.zt2-hierarchy-select__popup .zt2-hierarchy-select__title div{line-height:44px;text-align:center;font-weight:700;font-size:18px;color:#142841}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-select-core .zt2-loading{position:absolute;top:50%;left:50%;margin-left:-18px;margin-right:-18px}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-select-core__list span{height:24px;font-size:16px;font-family:PingFangSC,PingFangSC-Semibold;font-weight:600;color:#0091fa;line-height:24px}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-select-core__list .flex{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-select-breadcrumb{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;padding:10px 0;background-color:#fff;margin-bottom:16px}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-select-breadcrumb__indicator-crumb-list{-webkit-box-flex:1;-webkit-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:0 16px;overflow-x:auto}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-select-breadcrumb__indicator-crumb-list span{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;white-space:nowrap;height:24px;font-size:16px;font-family:PingFangSC,PingFangSC-Regular;text-align:left;color:#000;line-height:24px}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-select-breadcrumb__indicator-crumb-list__icon-arrow{margin:0 4px;width:20px;height:20px}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-select-breadcrumb__crumb-item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-select-breadcrumb__fill-blur{position:absolute;top:0;width:16px;height:44px;background:-webkit-gradient(linear,right top,left top,from(rgba(255,255,255,0)),to(#fff))}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-select-breadcrumb__fill-blur:last-child{right:0;top:0;background:-webkit-gradient(linear,right top,left top,from(#fff),to(rgba(255,255,255,0)))}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list{background-color:#fff}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__multiple-button{margin-right:8px}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__select-icon{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;text-align:center;border-radius:100%;font-size:22px;cursor:pointer}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__select-icon--normal{color:transparent;background-image:-webkit-linear-gradient(315deg,#e6ebf0 0,#fff 100%);background-image:linear-gradient(135deg,#e6ebf0 0,#fff 100%);border:1px solid rgba(45,75,115,.13);box-shadow:-1px -1px 2px 0 #fff,0 0 3px 0 rgba(45,75,115,.2)}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__select-icon--checked{color:#fff;background-color:#0091fa;border:1px solid rgba(255,255,255,.5);box-shadow:inset 1px 1px 2px 0 rgba(0,0,0,.2)}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__score-item{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:10px 0;background-color:#fff;margin-left:16px}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__score-item:after{content:" ";position:absolute;bottom:0;height:1px;width:100%;background-color:rgba(0,0,0,.1);box-shadow:0 0 0 0 #000 inset}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__item-content{-webkit-box-flex:1;-webkit-flex:1;flex:1;margin-right:16px;width:278px;font-size:16px;font-family:PingFangSC,PingFangSC-Regular;font-weight:400;text-align:left;color:#000;line-height:24px;word-break:break-all}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__item-content span{color:#0091fa}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__item-nav{padding:0 16px;border-left:rgba(0,0,0,.1) 1px solid}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__sub-level{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__sub-level span{color:#0091fa}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__sub-level--disable{opacity:.2}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__sub-icon{margin-right:4px;font-size:0;width:20px;height:20px}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__result-box{position:fixed;left:0;bottom:0;background:#fff;width:100%}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__result-list{height:160px;box-shadow:0 -4px 8px 0 rgba(0,0,0,.1);border-radius:8px 8px 0 0;padding:12px 16px;font-size:14px;color:#000;line-height:24px}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__operate-box{display:-webkit-box;display:-webkit-flex;display:flex;height:44px;line-height:44px;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__selected{border-top:1px solid rgba(0,0,0,.1);display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:0 16px;-webkit-box-flex:1;-webkit-flex:1;flex:1;height:44px}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__selected i{color:#0091fa;font-size:20px;margin-right:4px}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__selected span{font-size:14px;color:rgba(0,0,0,.6)}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__selected span.zt2-hierarchy-mark-list__blue{color:#0091fa;margin-left:8px}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__line{width:1px;height:24px;background:rgba(0,0,0,.1);-webkit-transform:scaleX(.5);transform:scaleX(.5);border-top:1px solid rgba(0,0,0,.1)}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__reset-button{width:110px;border-top:1px solid rgba(0,0,0,.1);font-size:16px;color:#000;text-align:center}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__cancel-button{width:110px;border-top:1px solid rgba(0,0,0,.1);font-size:16px;color:#000;text-align:center}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__confirm-button{width:110px;border-top:1px solid #0091fa;font-weight:700;font-size:16px;color:#fff;text-align:center;background:#0091fa}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__disable .zt2-hierarchy-mark-list__item-content,.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__disable-parent .zt2-hierarchy-mark-list__item-content{color:#c8c9cc}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__disable .zt2-hierarchy-mark-list__multiple-button>.zt2-icon,.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__disable-parent .zt2-hierarchy-mark-list__multiple-button>.zt2-icon{cursor:not-allowed;background-image:-webkit-linear-gradient(316deg,#e1e6eb 0,#e5edf5 100%);background-image:linear-gradient(134deg,#e1e6eb 0,#e5edf5 100%);border:1px solid rgba(45,75,115,.08);box-shadow:-1px -1px 2px 0 #fff,0 0 3px 0 rgba(45,75,115,.2)}.zt2-hierarchy-select__popup .zt2-hierarchy-select .zt2-hierarchy-mark-list__disable .zt2-hierarchy-mark-list__item-nav{cursor:not-allowed;opacity:.4}
1
+ .zt2-hierarchy-select__loading{height:100%;width:100%;position:absolute;top:calc(50% - 18px);left:calc(50% - 18px);z-index:2}.zt2-hierarchy-select__list{position:relative}.zt2-hierarchy-select__list span{height:24px;font-size:16px;font-family:PingFangSC,PingFangSC-Semibold;font-weight:600;color:#0091fa;line-height:24px}.zt2-hierarchy-select__list .flex{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.zt2-hierarchy-select-breadcrumb{padding:0 16px}.zt2-hierarchy-select-breadcrumb__list{box-sizing:border-box;height:44px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;color:#0091fa;width:100%;overflow-x:scroll}.zt2-hierarchy-select-breadcrumb__list::-webkit-scrollbar{width:0;height:0}.zt2-hierarchy-select-breadcrumb__default{display:-webkit-box;display:-webkit-flex;display:flex;white-space:nowrap}.zt2-hierarchy-select-breadcrumb__item{height:44px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;white-space:nowrap}.zt2-hierarchy-select-breadcrumb__item:last-child{color:#2d4b73}.zt2-hierarchy-select-breadcrumb__icon{padding:0 4px}.zt2-hierarchy-mark-list{background-color:#fff}.zt2-hierarchy-mark-list>div:last-child::after{display:none}.zt2-hierarchy-mark-list__multiple-button{margin-right:8px}.zt2-hierarchy-mark-list__select-icon{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;text-align:center;border-radius:100%;font-size:22px;cursor:pointer}.zt2-hierarchy-mark-list__select-icon--normal{color:transparent;background-image:-webkit-linear-gradient(315deg,#e6ebf0 0,#fff 100%);background-image:linear-gradient(135deg,#e6ebf0 0,#fff 100%);border:1px solid rgba(45,75,115,.13);box-shadow:-1px -1px 2px 0 #fff,0 0 3px 0 rgba(45,75,115,.2)}.zt2-hierarchy-mark-list__select-icon--checked{color:#fff;background-color:#0091fa;border:1px solid rgba(255,255,255,.5);box-shadow:inset 1px 1px 2px 0 rgba(0,0,0,.2)}.zt2-hierarchy-mark-list__score-item{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:10px 0;background-color:#fff;margin-left:16px}.zt2-hierarchy-mark-list__score-item::after{content:" ";position:absolute;bottom:0;height:1px;width:100%;background-color:rgba(0,0,0,.1);box-shadow:0 0 0 0 #000 inset}.zt2-hierarchy-mark-list__item-content{-webkit-box-flex:1;-webkit-flex:1;flex:1;margin-right:16px;width:278px;font-size:16px;font-family:PingFangSC,PingFangSC-Regular;font-weight:400;text-align:left;color:#2d4b73;line-height:24px;word-break:break-all}.zt2-hierarchy-mark-list__item-content span{color:#0091fa}.zt2-hierarchy-mark-list__item-nav{padding:0 16px;border-left:rgba(0,0,0,.1) 1px solid}.zt2-hierarchy-mark-list__sub-level{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.zt2-hierarchy-mark-list__sub-level span{color:#0091fa}.zt2-hierarchy-mark-list__sub-level--disable{opacity:.2}.zt2-hierarchy-mark-list__sub-icon{margin-right:4px;font-size:0;width:20px;height:20px}.zt2-hierarchy-mark-list__disable .zt2-hierarchy-mark-list__item-content,.zt2-hierarchy-mark-list__disable-parent .zt2-hierarchy-mark-list__item-content{color:#c8c9cc}.zt2-hierarchy-mark-list__disable .zt2-hierarchy-mark-list__multiple-button>.zt2-icon,.zt2-hierarchy-mark-list__disable-parent .zt2-hierarchy-mark-list__multiple-button>.zt2-icon{cursor:not-allowed;background-image:-webkit-linear-gradient(316deg,#e1e6eb 0,#e5edf5 100%);background-image:linear-gradient(134deg,#e1e6eb 0,#e5edf5 100%);border:1px solid rgba(45,75,115,.08);box-shadow:-1px -1px 2px 0 #fff,0 0 3px 0 rgba(45,75,115,.2)}.zt2-hierarchy-mark-list__disable .zt2-hierarchy-mark-list__item-nav{cursor:not-allowed;opacity:.4}
@@ -1,21 +1,22 @@
1
1
  // Utils
2
2
  import { createNamespace } from '../utils';
3
+ import { deepClone } from '../utils/deep-clone';
4
+ import Breadcrumb from "./breadcrumb";
5
+ import MarkList from "./markList";
6
+ import Loading from '../loading';
7
+ import Toast from '../toast';
3
8
 
4
9
  var _createNamespace = createNamespace('hierarchy-select'),
5
10
  createComponent = _createNamespace[0],
6
- bem = _createNamespace[1],
7
- t = _createNamespace[2];
11
+ bem = _createNamespace[1];
8
12
 
9
- import HierarchySelect from './hierarchySelect';
10
- import Popup from '../popup';
11
- import { PopupMixin } from '../mixins/popup';
12
- import Icon from "../icon";
13
13
  export default createComponent({
14
- mixins: [PopupMixin()],
15
14
  props: {
16
15
  treeData: {
17
16
  type: Array,
18
- default: []
17
+ default: function _default() {
18
+ return [];
19
+ }
19
20
  },
20
21
  disableParent: {
21
22
  type: Boolean,
@@ -37,109 +38,104 @@ export default createComponent({
37
38
  type: String,
38
39
  default: "name"
39
40
  },
40
- title: {
41
+ breadcrumbTitle: {
41
42
  type: String,
42
- default: "选择"
43
- },
44
- returnChainData: {
45
- type: Boolean,
46
- default: false
47
- },
48
- showTitle: {
49
- type: Boolean,
50
- default: true
51
- },
52
- customCancel: {
53
- type: Boolean,
54
- default: false
43
+ default: "全部"
55
44
  },
56
- resetReplaceCancel: {
45
+ autoChangeToChildren: {
57
46
  type: Boolean,
58
47
  default: false
59
48
  }
60
49
  },
61
50
  data: function data() {
62
51
  return {
63
- showPicker: false
52
+ dataList: [],
53
+ indexTree: [],
54
+ breadcrumbData: [],
55
+ callback: null,
56
+ historyLayers: [],
57
+ loading: false
64
58
  };
65
59
  },
60
+ mounted: function mounted() {
61
+ this.dataList = deepClone(this.treeData);
62
+ },
66
63
  methods: {
67
- onSelected: function onSelected(item) {
68
- this.$emit("selected", item);
69
- },
70
- show: function show() {
71
- this.showPicker = true;
72
- },
73
- hide: function hide() {
74
- this.showPicker = false;
64
+ clickNext: function clickNext(obj) {
65
+ var _this = this;
66
+
67
+ var item = obj.item,
68
+ index = obj.index;
69
+
70
+ if (item.children && item.children.length) {
71
+ this.historyLayers.push(this.dataList);
72
+ this.breadcrumbData.push(item);
73
+ this.dataList = item.children;
74
+ } else if (this.asyncGetter) {
75
+ this.loading = true;
76
+ this.asyncGetter(item[this.valueKey]).then(function (list) {
77
+ _this.loading = false;
78
+
79
+ if (!list || list.length === 0) {
80
+ Toast("无下级数据");
81
+ _this.dataList[index].children = _this.autoChangeToChildren ? undefined : [];
82
+ return;
83
+ }
84
+
85
+ _this.historyLayers.push(_this.dataList);
86
+
87
+ _this.breadcrumbData.push(item);
88
+
89
+ _this.dataList = list;
90
+ }).catch(function () {
91
+ _this.loading = false;
92
+ });
93
+ }
75
94
  },
76
- reset: function reset() {
77
- this.$emit("reset");
78
- this.hide();
95
+ selected: function selected(item) {
96
+ this.$emit("selected", item);
79
97
  },
80
- cancel: function cancel() {
81
- if (this.customCancel) {
82
- this.$emit("cancel");
83
- } else {
84
- this.hide();
85
- }
98
+ chooseSenior: function chooseSenior(index) {
99
+ this.breadcrumbData.splice(index + 1);
100
+ this.dataList = this.historyLayers[index + 1];
101
+ this.historyLayers.splice(index + 1);
86
102
  },
87
- confirm: function confirm(list) {
88
- this.$emit("confirm", list);
103
+ change: function change(item) {
104
+ this.$emit("change", item);
89
105
  }
90
106
  },
91
107
  render: function render(h) {
92
- var _this = this;
93
-
94
- return h(Popup, {
95
- "attrs": {
96
- "position": "bottom",
97
- "closeOnPopstate": true,
98
- "getContainer": this.getContainer
99
- },
100
- "class": bem('popup'),
101
- "model": {
102
- value: _this.showPicker,
103
- callback: function callback($$v) {
104
- _this.showPicker = $$v;
105
- }
106
- }
107
- }, [h("div", {
108
+ return h("div", {
108
109
  "class": bem()
109
- }, [h("div", {
110
- "directives": [{
111
- name: "show",
112
- value: this.showTitle
113
- }],
114
- "class": bem("title")
115
- }, [h(Icon, {
110
+ }, [h(Breadcrumb, {
116
111
  "attrs": {
117
- "name": "back"
118
- },
119
- "style": {
120
- fontSize: '18px'
112
+ "data": this.breadcrumbData,
113
+ "valueKey": this.valueKey,
114
+ "textKey": this.textKey,
115
+ "breadcrumbTitle": this.breadcrumbTitle
121
116
  },
122
117
  "on": {
123
- "click": function click() {
124
- _this.showPicker = false;
125
- }
118
+ "chooseSenior": this.chooseSenior
126
119
  }
127
- }), h("div", [this.title])]), h(HierarchySelect, {
120
+ }), h("div", {
121
+ "class": bem("list")
122
+ }, [this.loading ? h(Loading, {
123
+ "class": bem('loading')
124
+ }) : h(), h(MarkList, {
125
+ "ref": "markList",
128
126
  "attrs": {
129
- "treeData": this.treeData,
130
- "disableParent": this.disableParent,
131
- "asyncGetter": this.asyncGetter,
132
- "resetReplaceCancel": this.resetReplaceCancel,
127
+ "dataList": this.dataList,
133
128
  "multiple": this.multiple,
129
+ "resetReplaceCancel": this.resetReplaceCancel,
130
+ "disableParent": this.disableParent,
134
131
  "valueKey": this.valueKey,
135
132
  "textKey": this.textKey,
136
- "returnChainData": this.returnChainData
133
+ "autoChangeToChildren": this.autoChangeToChildren
137
134
  },
138
135
  "on": {
139
- "selected": this.onSelected,
140
- "cancel": this.cancel,
141
- "confirm": this.confirm,
142
- "reset": this.reset
136
+ "clickNext": this.clickNext,
137
+ "selected": this.selected,
138
+ "change": this.change
143
139
  }
144
140
  })])]);
145
141
  }