bri-components 1.1.2 → 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 (158) 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/10.bri-components.min.js +1 -0
  4. package/lib/2.bri-components.min.js +1 -1
  5. package/lib/3.bri-components.min.js +1 -1
  6. package/lib/4.bri-components.min.js +1 -1
  7. package/lib/5.bri-components.min.js +1 -1
  8. package/lib/6.bri-components.min.js +1 -1
  9. package/lib/7.bri-components.min.js +1 -1
  10. package/lib/8.bri-components.min.js +1 -1
  11. package/lib/9.bri-components.min.js +1 -1
  12. package/lib/bri-components.min.js +6 -6
  13. package/lib/styles/bri-components.css +1 -1
  14. package/package.json +1 -1
  15. package/src/abolish/DshCascaders.less +11 -0
  16. package/src/{components/controls/base/DshCascaderMultiple.vue → abolish/DshCascaders.vue} +17 -27
  17. package/src/{components/list → abolish}/DshFlatTable.vue +1 -1
  18. package/src/abolish/DshTexts.less +13 -0
  19. package/src/{components/controls/base/textMultiple/DshTextMultiple.vue → abolish/DshTexts.vue} +17 -25
  20. package/src/components/controls/base/{textMultiple/MultipleInput.vue → BriInputs.vue} +18 -17
  21. package/src/components/controls/base/{ZUpload/YUploadImage.vue → BriUpload/BriUploadImage.vue} +56 -15
  22. package/src/components/controls/base/{ZUpload → BriUpload}/index.vue +24 -21
  23. package/src/components/controls/base/{ZUpload → BriUpload}/upload-list.vue +20 -13
  24. package/src/components/controls/base/{ZUpload → BriUpload}/uploadMixin.js +7 -3
  25. package/src/components/controls/base/{DshCascader.vue → DshCascader/DshCascader.vue} +33 -26
  26. package/src/components/controls/base/DshCheckbox.vue +17 -20
  27. package/src/components/controls/base/DshCoordinates.vue +119 -110
  28. package/src/components/controls/base/DshDate.vue +24 -37
  29. package/src/components/controls/base/DshDaterange.vue +3 -1
  30. package/src/components/controls/base/DshEditor.vue +73 -60
  31. package/src/components/controls/base/DshInput.vue +72 -60
  32. package/src/components/controls/base/DshNumber/BriInputNumber/BriInputNumber.vue +1 -1
  33. package/src/components/controls/base/DshNumber/DshNumber.vue +52 -48
  34. package/src/components/controls/base/DshNumberange.vue +11 -21
  35. package/src/components/controls/base/DshSelect.vue +13 -17
  36. package/src/components/controls/controlMap.js +12 -11
  37. package/src/components/controls/controlMixin.js +40 -29
  38. package/src/components/controls/controlShow.vue +44 -0
  39. package/src/components/controls/{base → senior}/BriLabels.vue +7 -12
  40. package/src/components/controls/{base → senior}/DshPackage.vue +6 -25
  41. package/src/components/controls/senior/cascaderTable.vue +52 -51
  42. package/src/components/controls/senior/flatTable.vue +20 -17
  43. package/src/components/controls/{base → special}/DshBack.vue +4 -4
  44. package/src/components/controls/{base → special}/DshUndeveloped.vue +3 -1
  45. package/src/components/form/DshAdvSearchForm.vue +10 -1
  46. package/src/components/form/DshForm.vue +10 -3
  47. package/src/components/list/BriFlatTable.vue +5 -5
  48. package/src/components/list/BriTable.vue +6 -8
  49. package/src/components/list/DshBox/DshBox.vue +7 -24
  50. package/src/components/list/DshBox/DshCard.vue +15 -74
  51. package/src/components/list/DshBox/DshCrossTable.vue +4 -8
  52. package/src/components/list/DshBox/DshList.vue +8 -136
  53. package/src/components/list/DshBox/DshPanel.vue +0 -110
  54. package/src/components/list/DshBox/DshTable.vue +1 -4
  55. package/src/components/list/DshCascaderTable.vue +1 -1
  56. package/src/components/list/ZTree.vue +0 -58
  57. package/src/components/other/ZIframe.vue +5 -0
  58. package/src/components/small/DshControlDefine.vue +6 -2
  59. package/src/components/small/DshModal.vue +0 -134
  60. package/src/components/small/DshPage.vue +1 -0
  61. package/src/components/unit/DshFormItem.vue +7 -10
  62. package/src/components/unit/DshUnit.vue +1 -11
  63. package/src/components/unit/unitMixin.js +8 -5
  64. package/src/index.js +16 -33
  65. package/src/styles/common/control.less +63 -27
  66. package/src/styles/components/controls/{MultipleInput.less → BriInputs.less} +1 -1
  67. package/src/styles/components/controls/BriLabels.less +4 -2
  68. package/src/styles/components/controls/{ZUpload.less → BriUpload.less} +5 -6
  69. package/src/styles/components/controls/DshCheckbox.less +45 -42
  70. package/src/styles/components/controls/DshCoordinates.less +66 -59
  71. package/src/styles/components/controls/DshDate.less +1 -52
  72. package/src/styles/components/controls/DshEditor.less +51 -34
  73. package/src/styles/components/controls/DshInput.less +13 -34
  74. package/src/styles/components/controls/DshNumber.less +51 -0
  75. package/src/styles/components/controls/DshNumberange.less +8 -3
  76. package/src/styles/components/controls/DshSelect.less +78 -92
  77. package/src/styles/components/{other → controls}/InfoCascader.less +4 -4
  78. package/src/styles/components/controls/cascaderTable.less +10 -24
  79. package/src/styles/components/controls/controlShow.less +3 -1
  80. package/src/styles/components/controls/flatTable.less +10 -23
  81. package/src/styles/components/form/DshAdvSearchForm.less +0 -9
  82. package/src/styles/components/form/DshDefaultSearch.less +0 -20
  83. package/src/styles/components/index.less +24 -17
  84. package/src/styles/components/list/DshBox/DshBox.less +20 -0
  85. package/src/styles/components/list/DshBox/DshCard.less +59 -0
  86. package/src/styles/components/list/DshBox/DshList.less +142 -0
  87. package/src/styles/components/list/DshBox/DshPanel.less +107 -0
  88. package/src/styles/components/list/DshBox/DshTable.less +4 -0
  89. package/src/styles/components/list/ZTree.less +52 -0
  90. package/src/styles/components/small/DshControlDefine.less +4 -7
  91. package/src/styles/components/small/DshDropdown.less +1 -0
  92. package/src/styles/components/small/DshModal.less +207 -0
  93. package/src/styles/components/unit/DshFormItem.less +2 -0
  94. package/src/styles/reset.less +14 -0
  95. package/src/styles/variables.less +1 -0
  96. package/src/utils/table.js +5 -4
  97. package/src/components/controls/base/DshLabels.vue +0 -309
  98. package/src/components/controls/base/YSerialNumber.vue +0 -36
  99. package/src/components/controls/base/controlShow.vue +0 -52
  100. package/src/components/list/easyTable/index.js +0 -23
  101. package/src/components/list/easyTable/src/directives/clickoutside.js +0 -32
  102. package/src/components/list/easyTable/src/mixins/layerAdjustment.js +0 -62
  103. package/src/components/list/easyTable/src/settings/settings.js +0 -11
  104. package/src/components/list/easyTable/src/utils/deepClone.js +0 -256
  105. package/src/components/list/easyTable/src/utils/dom.js +0 -41
  106. package/src/components/list/easyTable/src/utils/utils.js +0 -190
  107. package/src/components/list/easyTable/v-checkbox/index.js +0 -7
  108. package/src/components/list/easyTable/v-checkbox/src/checkbox.vue +0 -127
  109. package/src/components/list/easyTable/v-checkbox-group/index.js +0 -7
  110. package/src/components/list/easyTable/v-checkbox-group/src/checkbox-group.vue +0 -68
  111. package/src/components/list/easyTable/v-dropdown/index.js +0 -7
  112. package/src/components/list/easyTable/v-dropdown/src/dropdown.vue +0 -337
  113. package/src/components/list/easyTable/v-table/index.js +0 -7
  114. package/src/components/list/easyTable/v-table/src/body-cell-merge-mixin.js +0 -141
  115. package/src/components/list/easyTable/v-table/src/cell-edit-mixin.js +0 -102
  116. package/src/components/list/easyTable/v-table/src/checkbox-selection-mixin.js +0 -189
  117. package/src/components/list/easyTable/v-table/src/classes-mixin.js +0 -56
  118. package/src/components/list/easyTable/v-table/src/drag-width-mixin.js +0 -202
  119. package/src/components/list/easyTable/v-table/src/export-csv.js +0 -74
  120. package/src/components/list/easyTable/v-table/src/frozen-columns-mixin.js +0 -134
  121. package/src/components/list/easyTable/v-table/src/loading.vue +0 -49
  122. package/src/components/list/easyTable/v-table/src/scroll-bar-control-mixin.js +0 -21
  123. package/src/components/list/easyTable/v-table/src/scroll-control-mixin.js +0 -92
  124. package/src/components/list/easyTable/v-table/src/sort-control-mixin.js +0 -108
  125. package/src/components/list/easyTable/v-table/src/table-empty-mixin.js +0 -73
  126. package/src/components/list/easyTable/v-table/src/table-empty.vue +0 -66
  127. package/src/components/list/easyTable/v-table/src/table-filters-mixin.js +0 -126
  128. package/src/components/list/easyTable/v-table/src/table-footer-mixin.js +0 -122
  129. package/src/components/list/easyTable/v-table/src/table-resize-mixin.js +0 -279
  130. package/src/components/list/easyTable/v-table/src/table-row-mouse-events-mixin.js +0 -123
  131. package/src/components/list/easyTable/v-table/src/table.vue +0 -1565
  132. package/src/components/list/easyTable/v-table/src/title-cell-merge-mixin.js +0 -115
  133. package/src/components/list/evTable/EvTable.vue +0 -321
  134. package/src/components/list/evTable/EvTableMixin.js +0 -26
  135. package/src/styles/components/controls/DshLabels.less +0 -187
  136. package/src/styles/components/list/evTable.less +0 -79
  137. package/src/styles/components/list/evtable/animation.less +0 -141
  138. package/src/styles/components/list/evtable/font/fontello.eot +0 -0
  139. package/src/styles/components/list/evtable/font/fontello.svg +0 -32
  140. package/src/styles/components/list/evtable/font/fontello.ttf +0 -0
  141. package/src/styles/components/list/evtable/font/fontello.woff +0 -0
  142. package/src/styles/components/list/evtable/font/fontello.woff2 +0 -0
  143. package/src/styles/components/list/evtable/fontello.less +0 -68
  144. package/src/styles/components/list/evtable/index.less +0 -5
  145. package/src/styles/components/list/evtable/v-checkbox.less +0 -167
  146. package/src/styles/components/list/evtable/v-dropdown.less +0 -235
  147. package/src/styles/components/list/evtable/v-table.less +0 -334
  148. package/src/styles/components/list/ivu_reset.less +0 -49
  149. /package/src/{styles/components/list → abolish}/DshFlatTable.less +0 -0
  150. /package/src/components/{pages/Error → Error}/Error403.vue +0 -0
  151. /package/src/components/{pages/Error → Error}/Error404.vue +0 -0
  152. /package/src/components/{pages/Error → Error}/Error500.vue +0 -0
  153. /package/src/components/{pages/Error → Error}/error.less +0 -0
  154. /package/src/components/{pages/Error → Error}/errorBack.vue +0 -0
  155. /package/src/components/controls/base/{ZUpload → BriUpload}/upload-listItem.vue +0 -0
  156. /package/src/components/{other → controls/base/DshCascader}/InfoCascader.vue +0 -0
  157. /package/src/styles/components/list/{DshCrossTable.less → DshBox/DshCrossTable.less} +0 -0
  158. /package/src/styles/components/list/{DshSingleData.less → DshBox/DshSingleData.less} +0 -0
@@ -1,102 +0,0 @@
1
- import utils from "../../src/utils/utils.js";
2
- import {hasClass, addClass, removeClass} from "../../src/utils/dom.js";
3
-
4
- export default {
5
-
6
- methods: {
7
- // cell edit
8
- cellEdit (e, callback, rowIndex, rowData, field) {
9
-
10
- let target = e.target;
11
- let oldVal;
12
- let editInput;
13
- let editInputLen;
14
- let actionFun;
15
- let textAlign;
16
- let childTarget;
17
-
18
- while ((target.className && target.className.indexOf("v-table-body-cell") === -1) || !target.className) {
19
- target = target.parentNode;
20
- }
21
-
22
- // 子节点(span节点)
23
- childTarget = target.children[0];
24
-
25
- // 把子节点影藏掉
26
- childTarget.style.display = "none";
27
-
28
- if (hasClass(target, "cell-editing")) {
29
- return false;
30
- }
31
-
32
- addClass(target, "cell-editing");
33
-
34
- oldVal = childTarget.innerText.trim();
35
-
36
- if (target.style.textAlign) {
37
-
38
- textAlign = target.style.textAlign;
39
- }
40
-
41
- editInput = document.createElement("input");
42
- editInput.value = oldVal;
43
- editInput.className = "cell-edit-input";
44
- editInput.style.textAlign = textAlign;
45
- editInput.style.width = "100%";
46
- editInput.style.height = "100%";
47
- // editInput.style = `width:100%;height: 100%;text-align: ${textAlign};`;
48
-
49
- target.appendChild(editInput);
50
-
51
- editInput.focus();
52
-
53
- editInputLen = editInput.value.length;
54
- if (document.selection) {
55
- let ctr = editInput.createTextRange();
56
- ctr.moveStart("character", editInputLen);
57
- ctr.collapse();
58
- ctr.select();
59
- } else if (typeof editInput.selectionStart == "number" && typeof editInput.selectionEnd == "number") {
60
- editInput.selectionStart = editInput.selectionEnd = editInputLen;
61
- }
62
-
63
- actionFun = function (e) {
64
-
65
- if (typeof e.keyCode === "undefined" || e.keyCode === 0 || e.keyCode == 13) {
66
-
67
- if (hasClass(target, "cell-editing")) {
68
-
69
- removeClass(target, "cell-editing");
70
- } else {
71
- return false;
72
- }
73
-
74
- childTarget.style.display = "";
75
-
76
- // fixed this.value bug in IE9
77
- callback(editInput.value, oldVal);
78
-
79
- utils.unbind(editInput, "blur", actionFun);
80
- utils.unbind(editInput, "keydown", actionFun);
81
-
82
- target.removeChild(editInput);
83
- }
84
- };
85
-
86
- utils.bind(editInput, "blur", actionFun);
87
- utils.bind(editInput, "keydown", actionFun);
88
- },
89
-
90
- // 单元格点击
91
- cellEditClick (e, isEdit, rowData, field, rowIndex) {
92
- if (isEdit) {
93
- let self = this;
94
- // 单元格内容变化后的回调
95
- let onCellEditCallBack = function (newValue, oldVal) {
96
- self.cellEditDone && self.cellEditDone(newValue, oldVal, rowIndex, rowData, field);
97
- };
98
- this.cellEdit(e, onCellEditCallBack, rowIndex, rowData, field);
99
- }
100
- }
101
- }
102
- };
@@ -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;