bri-components 1.1.3 → 1.1.4

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 (115) 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.vue → DshCascader/DshCascader.vue} +20 -16
  22. package/src/components/controls/base/DshCheckbox.vue +1 -1
  23. package/src/components/controls/base/DshCoordinates.vue +117 -109
  24. package/src/components/controls/base/DshEditor.vue +1 -1
  25. package/src/components/controls/base/DshInput.vue +9 -4
  26. package/src/components/controls/base/DshNumber/DshNumber.vue +2 -0
  27. package/src/components/controls/base/DshSelect.vue +1 -1
  28. package/src/components/controls/controlMap.js +6 -7
  29. package/src/components/controls/controlMixin.js +6 -5
  30. package/src/components/list/DshBox/DshBox.vue +7 -24
  31. package/src/components/list/DshBox/DshCard.vue +13 -72
  32. package/src/components/list/DshBox/DshList.vue +8 -136
  33. package/src/components/list/DshBox/DshPanel.vue +0 -110
  34. package/src/components/list/DshBox/DshTable.vue +1 -4
  35. package/src/components/list/ZTree.vue +0 -58
  36. package/src/components/other/ZIframe.vue +5 -0
  37. package/src/components/small/DshControlDefine.vue +5 -1
  38. package/src/components/small/DshPage.vue +1 -0
  39. package/src/index.js +11 -23
  40. package/src/styles/common/control.less +16 -17
  41. package/src/styles/components/controls/{MultipleInput.less → BriInputs.less} +1 -1
  42. package/src/styles/components/controls/{ZUpload.less → BriUpload.less} +4 -4
  43. package/src/styles/components/controls/DshCoordinates.less +53 -43
  44. package/src/styles/components/controls/DshNumber.less +18 -0
  45. package/src/styles/components/index.less +22 -16
  46. package/src/styles/components/list/DshBox/DshBox.less +20 -0
  47. package/src/styles/components/list/DshBox/DshCard.less +59 -0
  48. package/src/styles/components/list/DshBox/DshList.less +142 -0
  49. package/src/styles/components/list/DshBox/DshPanel.less +107 -0
  50. package/src/styles/components/list/DshBox/DshTable.less +4 -0
  51. package/src/styles/components/list/ZTree.less +52 -0
  52. package/src/styles/components/small/DshModal.less +1 -1
  53. package/src/styles/variables.less +1 -0
  54. package/src/utils/table.js +3 -2
  55. package/src/components/controls/base/YSerialNumber.vue +0 -43
  56. package/src/components/list/easyTable/index.js +0 -23
  57. package/src/components/list/easyTable/src/directives/clickoutside.js +0 -32
  58. package/src/components/list/easyTable/src/mixins/layerAdjustment.js +0 -62
  59. package/src/components/list/easyTable/src/settings/settings.js +0 -11
  60. package/src/components/list/easyTable/src/utils/deepClone.js +0 -256
  61. package/src/components/list/easyTable/src/utils/dom.js +0 -41
  62. package/src/components/list/easyTable/src/utils/utils.js +0 -190
  63. package/src/components/list/easyTable/v-checkbox/index.js +0 -7
  64. package/src/components/list/easyTable/v-checkbox/src/checkbox.vue +0 -127
  65. package/src/components/list/easyTable/v-checkbox-group/index.js +0 -7
  66. package/src/components/list/easyTable/v-checkbox-group/src/checkbox-group.vue +0 -68
  67. package/src/components/list/easyTable/v-dropdown/index.js +0 -7
  68. package/src/components/list/easyTable/v-dropdown/src/dropdown.vue +0 -337
  69. package/src/components/list/easyTable/v-table/index.js +0 -7
  70. package/src/components/list/easyTable/v-table/src/body-cell-merge-mixin.js +0 -141
  71. package/src/components/list/easyTable/v-table/src/cell-edit-mixin.js +0 -102
  72. package/src/components/list/easyTable/v-table/src/checkbox-selection-mixin.js +0 -189
  73. package/src/components/list/easyTable/v-table/src/classes-mixin.js +0 -56
  74. package/src/components/list/easyTable/v-table/src/drag-width-mixin.js +0 -202
  75. package/src/components/list/easyTable/v-table/src/export-csv.js +0 -74
  76. package/src/components/list/easyTable/v-table/src/frozen-columns-mixin.js +0 -134
  77. package/src/components/list/easyTable/v-table/src/loading.vue +0 -49
  78. package/src/components/list/easyTable/v-table/src/scroll-bar-control-mixin.js +0 -21
  79. package/src/components/list/easyTable/v-table/src/scroll-control-mixin.js +0 -92
  80. package/src/components/list/easyTable/v-table/src/sort-control-mixin.js +0 -108
  81. package/src/components/list/easyTable/v-table/src/table-empty-mixin.js +0 -73
  82. package/src/components/list/easyTable/v-table/src/table-empty.vue +0 -66
  83. package/src/components/list/easyTable/v-table/src/table-filters-mixin.js +0 -126
  84. package/src/components/list/easyTable/v-table/src/table-footer-mixin.js +0 -122
  85. package/src/components/list/easyTable/v-table/src/table-resize-mixin.js +0 -279
  86. package/src/components/list/easyTable/v-table/src/table-row-mouse-events-mixin.js +0 -123
  87. package/src/components/list/easyTable/v-table/src/table.vue +0 -1565
  88. package/src/components/list/easyTable/v-table/src/title-cell-merge-mixin.js +0 -115
  89. package/src/components/list/evTable/EvTable.vue +0 -321
  90. package/src/components/list/evTable/EvTableMixin.js +0 -26
  91. package/src/styles/components/list/evTable.less +0 -79
  92. package/src/styles/components/list/evtable/animation.less +0 -141
  93. package/src/styles/components/list/evtable/font/fontello.eot +0 -0
  94. package/src/styles/components/list/evtable/font/fontello.svg +0 -32
  95. package/src/styles/components/list/evtable/font/fontello.ttf +0 -0
  96. package/src/styles/components/list/evtable/font/fontello.woff +0 -0
  97. package/src/styles/components/list/evtable/font/fontello.woff2 +0 -0
  98. package/src/styles/components/list/evtable/fontello.less +0 -68
  99. package/src/styles/components/list/evtable/index.less +0 -5
  100. package/src/styles/components/list/evtable/v-checkbox.less +0 -167
  101. package/src/styles/components/list/evtable/v-dropdown.less +0 -235
  102. package/src/styles/components/list/evtable/v-table.less +0 -334
  103. package/src/styles/components/list/ivu_reset.less +0 -49
  104. /package/src/{styles/components/list → abolish}/DshFlatTable.less +0 -0
  105. /package/src/components/{pages/Error → Error}/Error403.vue +0 -0
  106. /package/src/components/{pages/Error → Error}/Error404.vue +0 -0
  107. /package/src/components/{pages/Error → Error}/Error500.vue +0 -0
  108. /package/src/components/{pages/Error → Error}/error.less +0 -0
  109. /package/src/components/{pages/Error → Error}/errorBack.vue +0 -0
  110. /package/src/components/controls/base/{ZUpload → BriUpload}/upload-list.vue +0 -0
  111. /package/src/components/controls/base/{ZUpload → BriUpload}/upload-listItem.vue +0 -0
  112. /package/src/components/{other → controls/base/DshCascader}/InfoCascader.vue +0 -0
  113. /package/src/styles/components/{other → controls}/InfoCascader.less +0 -0
  114. /package/src/styles/components/list/{DshCrossTable.less → DshBox/DshCrossTable.less} +0 -0
  115. /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>