bri-components 1.1.3 → 1.1.5

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.
Files changed (124) hide show
  1. package/lib/0.bri-components.min.js +1 -1
  2. package/lib/1.bri-components.min.js +1 -1
  3. package/lib/2.bri-components.min.js +1 -1
  4. package/lib/3.bri-components.min.js +1 -1
  5. package/lib/4.bri-components.min.js +1 -1
  6. package/lib/5.bri-components.min.js +1 -1
  7. package/lib/6.bri-components.min.js +1 -1
  8. package/lib/7.bri-components.min.js +1 -1
  9. package/lib/bri-components.min.js +6 -6
  10. package/lib/styles/bri-components.css +1 -1
  11. package/package.json +1 -1
  12. package/src/abolish/DshCascaders.less +11 -0
  13. package/src/{components/controls/base/DshCascaderMultiple.vue → abolish/DshCascaders.vue} +4 -23
  14. package/src/{components/list → abolish}/DshFlatTable.vue +1 -1
  15. package/src/abolish/DshTexts.less +13 -0
  16. package/src/{components/controls/base/textMultiple/DshTextMultiple.vue → abolish/DshTexts.vue} +4 -20
  17. package/src/components/controls/base/{textMultiple/MultipleInput.vue → BriInputs.vue} +13 -12
  18. package/src/components/controls/base/{ZUpload/YUploadImage.vue → BriUpload/BriUploadImage.vue} +56 -15
  19. package/src/components/controls/base/{ZUpload → BriUpload}/index.vue +11 -12
  20. package/src/components/controls/base/{ZUpload → BriUpload}/uploadMixin.js +2 -2
  21. package/src/components/controls/base/DshCascader/DshCascader.vue +393 -0
  22. package/src/components/{other → controls/base/DshCascader}/InfoCascader.vue +11 -9
  23. package/src/components/controls/base/DshCheckbox.vue +1 -1
  24. package/src/components/controls/base/DshCoordinates.vue +146 -135
  25. package/src/components/controls/base/DshEditor.vue +1 -1
  26. package/src/components/controls/base/DshInput.vue +9 -4
  27. package/src/components/controls/base/DshNumber/DshNumber.vue +2 -0
  28. package/src/components/controls/base/DshSelect.vue +1 -1
  29. package/src/components/controls/controlMap.js +6 -7
  30. package/src/components/controls/controlMixin.js +31 -10
  31. package/src/components/list/BriTable.vue +0 -1
  32. package/src/components/list/DshBox/DshBox.vue +7 -24
  33. package/src/components/list/DshBox/DshCard.vue +13 -72
  34. package/src/components/list/DshBox/DshList.vue +8 -136
  35. package/src/components/list/DshBox/DshPanel.vue +0 -110
  36. package/src/components/list/DshBox/DshTable.vue +1 -4
  37. package/src/components/list/ZTree.vue +0 -58
  38. package/src/components/other/BriSvg.vue +28 -0
  39. package/src/components/other/DshEditPanel.vue +33 -11
  40. package/src/components/other/ZIframe.vue +5 -0
  41. package/src/components/other/ZLoading.vue +24 -12
  42. package/src/components/small/DshPage.vue +1 -0
  43. package/src/index.js +17 -28
  44. package/src/styles/common/control.less +16 -17
  45. package/src/styles/components/controls/{MultipleInput.less → BriInputs.less} +1 -1
  46. package/src/styles/components/controls/{ZUpload.less → BriUpload.less} +4 -4
  47. package/src/styles/components/controls/DshCascader.less +66 -50
  48. package/src/styles/components/controls/DshCoordinates.less +53 -43
  49. package/src/styles/components/controls/DshNumber.less +18 -0
  50. package/src/styles/components/index.less +22 -17
  51. package/src/styles/components/list/DshBox/DshBox.less +20 -0
  52. package/src/styles/components/list/DshBox/DshCard.less +59 -0
  53. package/src/styles/components/list/DshBox/DshList.less +142 -0
  54. package/src/styles/components/list/DshBox/DshPanel.less +107 -0
  55. package/src/styles/components/list/DshBox/DshTable.less +4 -0
  56. package/src/styles/components/list/ZTree.less +52 -0
  57. package/src/styles/components/other/ZLoading.less +5 -7
  58. package/src/styles/components/small/DshDropdown.less +1 -7
  59. package/src/styles/components/small/DshModal.less +1 -1
  60. package/src/styles/variables.less +1 -0
  61. package/src/utils/table.js +3 -2
  62. package/src/components/controls/base/DshCascader.vue +0 -350
  63. package/src/components/controls/base/YSerialNumber.vue +0 -43
  64. package/src/components/list/easyTable/index.js +0 -23
  65. package/src/components/list/easyTable/src/directives/clickoutside.js +0 -32
  66. package/src/components/list/easyTable/src/mixins/layerAdjustment.js +0 -62
  67. package/src/components/list/easyTable/src/settings/settings.js +0 -11
  68. package/src/components/list/easyTable/src/utils/deepClone.js +0 -256
  69. package/src/components/list/easyTable/src/utils/dom.js +0 -41
  70. package/src/components/list/easyTable/src/utils/utils.js +0 -190
  71. package/src/components/list/easyTable/v-checkbox/index.js +0 -7
  72. package/src/components/list/easyTable/v-checkbox/src/checkbox.vue +0 -127
  73. package/src/components/list/easyTable/v-checkbox-group/index.js +0 -7
  74. package/src/components/list/easyTable/v-checkbox-group/src/checkbox-group.vue +0 -68
  75. package/src/components/list/easyTable/v-dropdown/index.js +0 -7
  76. package/src/components/list/easyTable/v-dropdown/src/dropdown.vue +0 -337
  77. package/src/components/list/easyTable/v-table/index.js +0 -7
  78. package/src/components/list/easyTable/v-table/src/body-cell-merge-mixin.js +0 -141
  79. package/src/components/list/easyTable/v-table/src/cell-edit-mixin.js +0 -102
  80. package/src/components/list/easyTable/v-table/src/checkbox-selection-mixin.js +0 -189
  81. package/src/components/list/easyTable/v-table/src/classes-mixin.js +0 -56
  82. package/src/components/list/easyTable/v-table/src/drag-width-mixin.js +0 -202
  83. package/src/components/list/easyTable/v-table/src/export-csv.js +0 -74
  84. package/src/components/list/easyTable/v-table/src/frozen-columns-mixin.js +0 -134
  85. package/src/components/list/easyTable/v-table/src/loading.vue +0 -49
  86. package/src/components/list/easyTable/v-table/src/scroll-bar-control-mixin.js +0 -21
  87. package/src/components/list/easyTable/v-table/src/scroll-control-mixin.js +0 -92
  88. package/src/components/list/easyTable/v-table/src/sort-control-mixin.js +0 -108
  89. package/src/components/list/easyTable/v-table/src/table-empty-mixin.js +0 -73
  90. package/src/components/list/easyTable/v-table/src/table-empty.vue +0 -66
  91. package/src/components/list/easyTable/v-table/src/table-filters-mixin.js +0 -126
  92. package/src/components/list/easyTable/v-table/src/table-footer-mixin.js +0 -122
  93. package/src/components/list/easyTable/v-table/src/table-resize-mixin.js +0 -279
  94. package/src/components/list/easyTable/v-table/src/table-row-mouse-events-mixin.js +0 -123
  95. package/src/components/list/easyTable/v-table/src/table.vue +0 -1565
  96. package/src/components/list/easyTable/v-table/src/title-cell-merge-mixin.js +0 -115
  97. package/src/components/list/evTable/EvTable.vue +0 -321
  98. package/src/components/list/evTable/EvTableMixin.js +0 -26
  99. package/src/components/small/DshControlDefine.vue +0 -111
  100. package/src/styles/components/list/evTable.less +0 -79
  101. package/src/styles/components/list/evtable/animation.less +0 -141
  102. package/src/styles/components/list/evtable/font/fontello.eot +0 -0
  103. package/src/styles/components/list/evtable/font/fontello.svg +0 -32
  104. package/src/styles/components/list/evtable/font/fontello.ttf +0 -0
  105. package/src/styles/components/list/evtable/font/fontello.woff +0 -0
  106. package/src/styles/components/list/evtable/font/fontello.woff2 +0 -0
  107. package/src/styles/components/list/evtable/fontello.less +0 -68
  108. package/src/styles/components/list/evtable/index.less +0 -5
  109. package/src/styles/components/list/evtable/v-checkbox.less +0 -167
  110. package/src/styles/components/list/evtable/v-dropdown.less +0 -235
  111. package/src/styles/components/list/evtable/v-table.less +0 -334
  112. package/src/styles/components/list/ivu_reset.less +0 -49
  113. package/src/styles/components/small/DshControlDefine.less +0 -40
  114. /package/src/{styles/components/list → abolish}/DshFlatTable.less +0 -0
  115. /package/src/components/{pages/Error → Error}/Error403.vue +0 -0
  116. /package/src/components/{pages/Error → Error}/Error404.vue +0 -0
  117. /package/src/components/{pages/Error → Error}/Error500.vue +0 -0
  118. /package/src/components/{pages/Error → Error}/error.less +0 -0
  119. /package/src/components/{pages/Error → Error}/errorBack.vue +0 -0
  120. /package/src/components/controls/base/{ZUpload → BriUpload}/upload-list.vue +0 -0
  121. /package/src/components/controls/base/{ZUpload → BriUpload}/upload-listItem.vue +0 -0
  122. /package/src/styles/components/{other → controls}/InfoCascader.less +0 -0
  123. /package/src/styles/components/list/{DshCrossTable.less → DshBox/DshCrossTable.less} +0 -0
  124. /package/src/styles/components/list/{DshSingleData.less → DshBox/DshSingleData.less} +0 -0
@@ -1,189 +0,0 @@
1
- export default {
2
-
3
- data () {
4
- return {
5
- // 是否全部选中
6
- isAllChecked: false,
7
-
8
- checkboxGroupModel: [],
9
-
10
- indeterminate: false
11
-
12
- };
13
-
14
- },
15
-
16
- computed: {
17
-
18
- // 禁用未选中的复选框集合
19
- disabledUnChecked () {
20
-
21
- let result = [];
22
-
23
- this.internalTableData.filter((item, index) => {
24
-
25
- if (item._disabled && !item._checked) {
26
- result.push(index);
27
- }
28
- });
29
- return result;
30
- },
31
-
32
- // 获取当前选中的行信息
33
- getCheckedTableRow () {
34
-
35
- return this.internalTableData.filter((item, index) => {
36
-
37
- return this.checkboxGroupModel.indexOf(index) > -1;
38
- });
39
- },
40
-
41
- // 检测是否有
42
- hasSelectionColumns () {
43
-
44
- return this.internalColumns.some(x => {
45
-
46
- return x.type && x.type === "selection";
47
- });
48
- }
49
- },
50
-
51
- methods: {
52
- // 检测复杂表头是否需要设置 checkbox
53
- isSelectionCol (fileds) {
54
-
55
- if (Array.isArray(fileds) && fileds.length === 1) {
56
-
57
- return this.internalColumns.some(x => x.field === fileds[0] && x.type === "selection");
58
- }
59
-
60
- return false;
61
- },
62
-
63
- // 禁用已选中的复选框集合
64
- disabledChecked () {
65
-
66
- let result = [];
67
-
68
- this.internalTableData.filter((item, index) => {
69
-
70
- if (item._disabled && item._checked) {
71
- result.push(index);
72
- }
73
- });
74
- return result;
75
- },
76
-
77
- // check all trigger event
78
- handleCheckAll () {
79
-
80
- if (this.isAllChecked) {
81
-
82
- this.checkboxGroupModel = [];
83
-
84
- let allLen = this.internalTableData.length;
85
-
86
- if (allLen > 0) {
87
-
88
- for (let i = 0; i < allLen; i++) {
89
-
90
- if (this.disabledUnChecked.indexOf(i) === -1) {
91
-
92
- this.checkboxGroupModel.push(i);
93
- }
94
- }
95
- }
96
-
97
- } else {
98
-
99
- this.checkboxGroupModel = this.disabledChecked();
100
- }
101
-
102
- this.selectAll && this.selectAll(this.getCheckedTableRow);
103
-
104
- this.setIndeterminateState();
105
- },
106
-
107
- // checkbox change event
108
- handleCheckChange (rowData) {
109
-
110
- this.$nextTick(x => {
111
- this.selectChange && this.selectChange(this.getCheckedTableRow, rowData);
112
- });
113
- },
114
-
115
- // checkbox-group change event
116
- handleCheckGroupChange () {
117
-
118
- this.selectGroupChange && this.selectGroupChange(this.getCheckedTableRow);
119
-
120
- this.setCheckState();
121
- },
122
-
123
- // 设置部分选中状态(全选或者取消全选时)
124
- setIndeterminateState () {
125
-
126
- let checkedLen = this.checkboxGroupModel.length;
127
- let allLen = this.internalTableData.length;
128
-
129
- // 全选
130
- if (checkedLen > 0 && checkedLen === allLen) {
131
-
132
- this.indeterminate = false;
133
-
134
- } else if (checkedLen > 0 && checkedLen < allLen) { // 部分选中
135
-
136
- this.indeterminate = true;
137
-
138
- } else { // 全不选
139
-
140
- this.indeterminate = false;
141
- }
142
- },
143
-
144
- // 设置选中状态
145
- setCheckState () {
146
-
147
- let checkedLen = this.checkboxGroupModel.length;
148
- let allLen = this.internalTableData.length;
149
-
150
- // 全选
151
- if (checkedLen > 0 && checkedLen === allLen) {
152
-
153
- this.indeterminate = false;
154
-
155
- this.isAllChecked = true;
156
-
157
- } else if (checkedLen > 0 && checkedLen < allLen) { // 部分选中
158
-
159
- this.isAllChecked = false;
160
-
161
- this.indeterminate = true;
162
-
163
- } else { // 全不选
164
-
165
- this.indeterminate = false;
166
-
167
- this.isAllChecked = false;
168
- }
169
- },
170
-
171
- // 修改checkbox 选中状态(table.vue 中调用)
172
- updateCheckboxGroupModel () {
173
-
174
- if (!this.hasSelectionColumns) { return false; }
175
-
176
- this.checkboxGroupModel = [];
177
-
178
- this.internalTableData.filter((item, index) => {
179
-
180
- if (item._checked) {
181
-
182
- this.checkboxGroupModel.push(index);
183
- }
184
- });
185
-
186
- this.setCheckState();
187
- }
188
- }
189
- };
@@ -1,56 +0,0 @@
1
- import settings from "../../src/settings/settings.js";
2
-
3
- export default {
4
-
5
- computed: {
6
-
7
- vTableRightBody () {
8
-
9
- let result = {
10
- "v-table-rightview-special-border": true
11
- };
12
-
13
- result[settings.scrollbarClass] = true;
14
-
15
- return result;
16
- },
17
-
18
- vTableFooter () {
19
-
20
- let result = {
21
-
22
- "v-table-rightview-special-border": true
23
- };
24
-
25
- result[settings.scrollbarClass] = true;
26
-
27
- return result;
28
- },
29
-
30
- vTableBodyInner () {
31
-
32
- return {
33
- "v-table-body-inner-pb": !this.hasTableFooter
34
- };
35
- },
36
-
37
- vTableBodyCell () {
38
-
39
- return {
40
- "vertical-border": this.showVerticalBorder,
41
- "horizontal-border": this.showHorizontalBorder
42
- };
43
- }
44
- },
45
-
46
- methods: {
47
-
48
- vTableFiltersIcon (filters) {
49
-
50
- return {
51
- "v-icon-filter": true,
52
- "checked": filters.some(x => x.selected && x.value !== this.filterSpecialValue)
53
- };
54
- }
55
- }
56
- };
@@ -1,202 +0,0 @@
1
- // 列宽度拖动
2
- import utils from "../../src/utils/utils.js";
3
- import { hasClass, addClass, removeClass } from "../../src/utils/dom.js";
4
- export default {
5
- data () {
6
- return {
7
- draggingColumn: null, // 当前拖动的列
8
- isDragging: false, // 是否正在拖动
9
- draggingStartX: 0, // 拖动开始横坐标
10
- draggingEndX: 0, // 拖动结束横坐标
11
- minColumnWidth: 15 // 列允许拖动后的最小宽度
12
- };
13
- },
14
- methods: {
15
-
16
- handleTitleMouseMove (event, column) {
17
-
18
- if (!this.columnWidthDrag) {
19
- return false;
20
- }
21
-
22
- let target, rect;
23
-
24
- if (this.isDragging) {
25
- this.setDragLinePosition(event);
26
- }
27
-
28
- // 复杂表头,多列时不允许拖动
29
- if (Array.isArray(column)) {
30
-
31
- if (column.length > 1) {
32
- return false;
33
- }
34
- else {
35
- column = column[0];
36
- }
37
- }
38
-
39
- // 最后一列不允许拖动
40
- /* if (this.internalColumns[this.internalColumns.length - 1].field === column) {
41
- return false;
42
- } */
43
-
44
- if (!this.showVerticalBorder) {
45
- return false;
46
- }
47
-
48
- target = event.target;
49
-
50
- while (target && ((target.className && !hasClass(target, "v-table-title-cell")) || !target.className)) {
51
- target = target.parentNode;
52
- }
53
-
54
- if (target) {
55
- rect = target.getBoundingClientRect();
56
-
57
- const bodyStyle = document.body.style;
58
-
59
- if (rect.width >= this.minColumnWidth && rect.right - event.pageX < 10) {
60
-
61
- if (!this.isDragging) { // 拖动中不设置
62
- this.draggingColumn = this.internalColumns.find(x => x.field === column);
63
- }
64
-
65
- bodyStyle.cursor = "col-resize";
66
- } else {
67
-
68
- if (!this.isDragging) { // 拖动中不设置
69
-
70
- this.draggingColumn = null;
71
- bodyStyle.cursor = "";
72
- }
73
- }
74
- }
75
- },
76
-
77
- handleTitleMouseOut () {
78
-
79
- if (!this.isDragging) {
80
-
81
- document.body.style.cursor = "";
82
- }
83
- },
84
-
85
- handleTitleMouseDown (event, column) {
86
-
87
- if (!this.draggingColumn || !this.showVerticalBorder) {
88
- return false;
89
- }
90
-
91
- this.isDragging = true;
92
-
93
- this.draggingStartX = event.clientX;
94
-
95
- this.setDragLinePosition(event);
96
-
97
- document.onselectstart = function () {
98
- return false;
99
- };
100
- document.ondragstart = function () {
101
- return false;
102
- };
103
-
104
- utils.bind(document, "mousemove", this.handleDragMouseMove);
105
- utils.bind(document, "mouseup", this.handleDragMouseUp);
106
- },
107
-
108
- handleDragMouseMove (e) {
109
-
110
- if (!this.isDragging) {
111
- return false;
112
- }
113
-
114
- this.setDragLinePosition(e);
115
- },
116
-
117
- setDragLinePosition (e) {
118
- const tableLeft = utils.getViewportOffset(this.$el).left;
119
- const dragLine = this.$el.querySelector(".v-table-drag-line");
120
- const clientX = e.clientX;
121
-
122
- if (this.draggingColumn.width + (clientX - this.draggingStartX) <= this.minColumnWidth) {
123
- return;
124
- }
125
-
126
- dragLine.style.left = (clientX - tableLeft) + "px";
127
- },
128
-
129
- // 拖动时mouseup
130
- handleDragMouseUp (e) {
131
-
132
- if (!this.isDragging) {
133
- return false;
134
- }
135
-
136
- this.draggingEndX = e.clientX;
137
-
138
- let differ = this.draggingEndX - this.draggingStartX;
139
-
140
- // 差值大于1才处理
141
- if (Math.abs(differ) > 1) {
142
- let draggingColumn = this.draggingColumn;
143
- if (draggingColumn.width + differ < this.minColumnWidth) {
144
- draggingColumn.width = this.minColumnWidth;
145
- } else {
146
- draggingColumn.width += differ;
147
- }
148
- this.columnWidthDragResize && this.columnWidthDragResize(draggingColumn, e);
149
- }
150
- let rightViewBody = this.$el.querySelector(".v-table-rightview .v-table-body");
151
- let rightViewFooter = this.$el.querySelector(".v-table-rightview .v-table-footer");
152
- let hasTableFooter = this.hasTableFooter;
153
- if (rightViewBody) {
154
- if (this.totalColumnsWidth < this.internalWidth) {
155
-
156
- if (!hasTableFooter) {
157
-
158
- rightViewBody.style.overflowX = "hidden";
159
-
160
- removeClass(rightViewBody, "v-table-rightview-special-border");
161
- rightViewBody.classList.remove("v-table-rightview-special-border");
162
-
163
- } else {
164
-
165
- rightViewFooter.style.overflowX = "hidden";
166
- }
167
- } else {
168
-
169
- if (!hasTableFooter) {
170
-
171
- rightViewBody.style.overflowX = "scroll";
172
-
173
- if (!this.hasFrozenColumn) {
174
-
175
- addClass(rightViewBody, "v-table-rightview-special-border");
176
- }
177
-
178
- } else {
179
-
180
- rightViewFooter.style.overflowX = "scroll";
181
- }
182
- }
183
- }
184
-
185
- this.draggingColumn = null;
186
- document.body.style.cursor = "";
187
- this.isDragging = false;
188
-
189
- document.onselectstart = function () {
190
- return true;
191
- };
192
- document.ondragstart = function () {
193
- return true;
194
- };
195
-
196
- utils.unbind(document, "mousemove", this.handleDragMouseMove);
197
- utils.unbind(document, "mouseup", this.handleDragMouseUp);
198
- }
199
-
200
- }
201
-
202
- };
@@ -1,74 +0,0 @@
1
- // 有csv 根式有很大的局限性,不能合并单元格,目前先不上此功能
2
- function getDownloadUrl (content) {
3
-
4
- const BOM = "\uFEFF";
5
- // Add BOM to text for open in excel correctly
6
- if (window.Blob && window.URL && window.URL.createObjectURL) {
7
- const csvData = new Blob([BOM + content], { type: "text/csv" });
8
- return URL.createObjectURL(csvData);
9
- } else {
10
- return "data:attachment/csv;charset=utf-8," + BOM + encodeURIComponent(content);
11
- }
12
- }
13
-
14
- function getContent (columns, tableData, separator = ",") {
15
-
16
- const newLine = "\r\n";
17
-
18
- let result = [];
19
- let csvRows = [];
20
- // let _tableData = [];
21
-
22
- if (Array.isArray(columns) && columns.length > 0) {
23
-
24
- csvRows = columns.map(x => {
25
-
26
- return x.title;
27
- });
28
-
29
- result.push(csvRows.join(separator));
30
- }
31
-
32
- if (Array.isArray(tableData) && tableData.length > 0) {
33
-
34
- tableData.forEach(row => {
35
-
36
- csvRows = columns.map(col => {
37
-
38
- if (row[col.field]) {
39
-
40
- return row[col.field];
41
- }
42
-
43
- return "";
44
- });
45
-
46
- result.push(csvRows.join(separator));
47
- });
48
- }
49
-
50
- return result.join(newLine);
51
- }
52
-
53
- const csv = {
54
-
55
- download (fileName, columns, tableData) {
56
-
57
- let content = getContent(columns, tableData);
58
-
59
- if (content && content.length > 0) {
60
-
61
- const link = document.createElement("a");
62
- link.download = fileName;
63
- link.href = getDownloadUrl(content);
64
- document.body.appendChild(link);
65
- link.click();
66
- document.body.removeChild(link);
67
- } else {
68
-
69
- console.error("vue-easytable::no export data");
70
- }
71
- }
72
- };
73
-
74
- export default csv;
@@ -1,134 +0,0 @@
1
- /*
2
- * 固定列
3
- *
4
- * */
5
-
6
- export default {
7
- computed: {
8
- // 冻结的列集合
9
- frozenCols () {
10
- return this.internalColumns.filter(x => x.isFrozen === true);
11
- },
12
- // 冻结的列集合
13
- frozenRightCols () {
14
- return this.internalColumns.filter(x => x.isFrozenRight === true);
15
- },
16
- // 非冻结列集合
17
- noFrozenCols () {
18
- return this.internalColumns.filter(x => x.isFrozen !== true && x.isFrozenRight !== true);
19
- },
20
- // 冻结的表头列集合
21
- frozenTitleCols () {
22
- let frozenTitleCols = [];
23
- let self = this;
24
-
25
- if (this.internalTitleRows.length > 0) {
26
-
27
- // 获取当前锁定的字段集合
28
- let frozenFields = this.frozenCols.map(x => x.field);
29
-
30
- this.internalTitleRows.forEach(function (rows) {
31
-
32
- let frozenTitleRows = rows.filter(function (row) {
33
- if (Array.isArray(row.fields)) {
34
- if (row.fields.every(field => frozenFields.indexOf(field) !== -1)) {
35
- return true;
36
- }
37
- }
38
- });
39
-
40
- if (frozenTitleRows.length > 0) {
41
-
42
- frozenTitleCols.push(frozenTitleRows);
43
-
44
- let minRowspan = self.getMinRowspan(frozenTitleRows);
45
-
46
- if (minRowspan && minRowspan > 0) {
47
-
48
- for (let i = 0; i < minRowspan; i++) {
49
-
50
- frozenTitleCols.push([]);
51
- }
52
- }
53
- }
54
- });
55
- }
56
-
57
- return frozenTitleCols;
58
- },
59
- // 冻结的表头列集合
60
- frozenRightTitleCols () {
61
- let frozenRightTitleCols = [];
62
- let self = this;
63
-
64
- if (this.internalTitleRows.length > 0) {
65
-
66
- // 获取当前锁定的字段集合
67
- let frozenRightFields = this.frozenRightCols.map(x => x.field);
68
-
69
- this.internalTitleRows.forEach(function (rows) {
70
-
71
- let frozenRightTitleRows = rows.filter(function (row) {
72
- if (Array.isArray(row.fields)) {
73
- if (row.fields.every(field => frozenRightFields.indexOf(field) !== -1)) {
74
- return true;
75
- }
76
- }
77
- });
78
-
79
- if (frozenRightTitleRows.length > 0) {
80
-
81
- frozenRightTitleCols.push(frozenRightTitleRows);
82
-
83
- let minRowspan = self.getMinRowspan(frozenRightTitleRows);
84
-
85
- if (minRowspan && minRowspan > 0) {
86
-
87
- for (let i = 0; i < minRowspan; i++) {
88
-
89
- frozenRightTitleCols.push([]);
90
- }
91
- }
92
- }
93
- });
94
- }
95
-
96
- return frozenRightTitleCols;
97
- },
98
- // 未的表头列集合
99
- noFrozenTitleCols () {
100
- let noFrozenTitleCols = [];
101
- let self = this;
102
-
103
- if (this.internalTitleRows.length > 0) {
104
-
105
- // 获取当前未锁定的字段集合
106
- let noFrozenFields = this.noFrozenCols.map(x => x.field);
107
-
108
- this.internalTitleRows.forEach(function (rows) {
109
-
110
- let noFrozenTitleRows = rows.filter(function (row) {
111
- if (Array.isArray(row.fields)) {
112
- return row.fields.every(field => noFrozenFields.indexOf(field) !== -1);
113
- }
114
- });
115
-
116
- if (noFrozenTitleRows.length > 0) {
117
- noFrozenTitleCols.push(noFrozenTitleRows);
118
-
119
- let minRowspan = self.getMinRowspan(noFrozenTitleRows);
120
-
121
- if (minRowspan && minRowspan > 0) {
122
-
123
- for (let i = 0; i < minRowspan; i++) {
124
-
125
- noFrozenTitleCols.push([]);
126
- }
127
- }
128
- }
129
- });
130
- }
131
- return noFrozenTitleCols;
132
- }
133
- }
134
- };
@@ -1,49 +0,0 @@
1
- <template>
2
- <div style="width:100%;height: 100%;">
3
- <div class="v-table-loading" :style="{'opacity':loadingOpacity}"></div>
4
- <div class="v-table-loading-content" v-html="loadingContent"></div>
5
- </div>
6
-
7
- </template>
8
-
9
- <script>
10
- export default{
11
-
12
- props: {
13
-
14
- loadingContent: [String],
15
-
16
- loadingOpacity: [Number],
17
-
18
- titleRows: [Array],
19
-
20
- titleRowHeight: [Number],
21
-
22
- columns: [Array]
23
- },
24
-
25
- methods: {
26
-
27
- setPosition () {
28
-
29
- let loadingEle = this.$el;
30
- let loadingContentEle = this.$el.querySelector(".v-table-loading-content");
31
- let titleHeight = 0;
32
-
33
- if (this.columns && this.columns.length > 0) {
34
-
35
- titleHeight = (this.titleRows && this.titleRows.length > 0) ? this.titleRows.length * this.titleRowHeight : this.titleRowHeight;
36
- }
37
-
38
- loadingContentEle.style.top = ((loadingEle.clientHeight + titleHeight) / 2 - loadingContentEle.clientHeight / 2) + "px";
39
- }
40
- },
41
-
42
- mounted () {
43
-
44
- this.$nextTick(x => {
45
- this.setPosition();
46
- });
47
- }
48
- };
49
- </script>