File tree Expand file tree Collapse file tree 3 files changed +60
-23
lines changed
Expand file tree Collapse file tree 3 files changed +60
-23
lines changed Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ export default {
1515 } ,
1616 // 冻结的表头列集合
1717 frozenTitleCols ( ) {
18- var frozenTitleCols = [ ] ;
18+ var frozenTitleCols = [ ] , self = this ;
1919
2020 if ( this . internalTitleRows . length > 0 ) {
2121
@@ -31,16 +31,29 @@ export default {
3131 }
3232 }
3333 } )
34+
3435 if ( frozenTitleRows . length > 0 ) {
36+
3537 frozenTitleCols . push ( frozenTitleRows ) ;
38+
39+ var minRowspan = self . getMinRowspan ( frozenTitleRows ) ;
40+
41+ if ( minRowspan && minRowspan > 0 ) {
42+
43+ for ( var i = 0 ; i < minRowspan ; i ++ ) {
44+
45+ frozenTitleCols . push ( [ ] ) ;
46+ }
47+ }
3648 }
3749 } )
3850 }
51+
3952 return frozenTitleCols ;
4053 } ,
4154 // 未的表头列集合
4255 noFrozenTitleCols ( ) {
43- var noFrozenTitleCols = [ ] ;
56+ var noFrozenTitleCols = [ ] , self = this ;
4457
4558 if ( this . internalTitleRows . length > 0 ) {
4659
@@ -57,12 +70,20 @@ export default {
5770
5871 if ( noFrozenTitleRows . length > 0 ) {
5972 noFrozenTitleCols . push ( noFrozenTitleRows ) ;
73+
74+ var minRowspan = self . getMinRowspan ( noFrozenTitleRows ) ;
75+
76+ if ( minRowspan && minRowspan > 0 ) {
77+
78+ for ( var i = 0 ; i < minRowspan ; i ++ ) {
79+
80+ noFrozenTitleCols . push ( [ ] ) ;
81+ }
82+ }
6083 }
6184 } )
6285 }
6386 return noFrozenTitleCols ;
64- } ,
65-
66-
87+ }
6788 }
6889}
Original file line number Diff line number Diff line change 1515 <tr v-for =" row in frozenTitleCols" >
1616 <td v-for =" col in row"
1717 :class =" [col.titleCellClassName]"
18- :colspan =" col.colspan" :rowspan =" dealTitleRowspan(row, col.rowspan) "
18+ :colspan =" col.colspan" :rowspan =" col.rowspan"
1919
2020 @mousemove.stop =" handleTitleMouseMove($event,col.fields)"
2121 @mousedown.stop =" handleTitleMouseDown($event)"
177177 <tr v-for =" row in noFrozenTitleCols" >
178178 <td v-for =" col in row"
179179 :class =" [col.titleCellClassName]"
180- :colspan =" col.colspan" :rowspan =" dealTitleRowspan(row, col.rowspan) "
180+ :colspan =" col.colspan" :rowspan =" col.rowspan"
181181 @mousemove.stop =" handleTitleMouseMove($event,col.fields)"
182182 @mousedown.stop =" handleTitleMouseDown($event)"
183183 @mouseout.stop =" handleTitleMouseOut()"
587587 bodyViewHeight (){
588588 var result;
589589 if (this .internalTitleRows .length > 0 ) {
590+
590591 result = this .internalHeight - this .titleRowHeight * (this .internalTitleRows .length + this .getTitleRowspanTotalCount );
591592 } else {
592593 result = this .internalHeight - this .titleRowHeight ;
Original file line number Diff line number Diff line change @@ -70,31 +70,46 @@ export default {
7070 * row :行信息
7171 * rowspan:当前列的rowspan值
7272 * */
73- dealTitleRowspan ( row , rowspan ) {
73+ /* dealTitleRowspan(row, rowspan){
7474
75- let result = rowspan ,
76- rowspanCountArr ,
77- minVal ;
75+ let result = rowspan,
76+ rowspanCountArr,
77+ minVal;
7878
79- rowspanCountArr = this . getTitleRowspanCountArr ( row ) ;
79+ rowspanCountArr = this.getTitleRowspanCountArr(row);
8080
81- // 如果每一项的rowspan值都大于1则继续处理
82- if ( Array . isArray ( rowspanCountArr ) && rowspanCountArr . length > 0 ) {
81+ // 如果每一项的rowspan值都大于1则继续处理
82+ if (Array.isArray(rowspanCountArr) && rowspanCountArr.length > 0) {
8383
84- rowspan = parseInt ( rowspan ) ;
84+ rowspan = parseInt(rowspan);
8585
86- minVal = Math . min . apply ( null , rowspanCountArr ) ;
86+ minVal = Math.min.apply(null, rowspanCountArr);
8787
88- if ( rowspan === minVal ) {
88+ if (rowspan === minVal) {
8989
90- result = 1 ;
91- } else {
90+ result = 1;
91+ } else {
9292
93- result = rowspan - minVal + 1 ;
94- }
93+ result = rowspan - minVal + 1;
94+ }
95+ }
96+ return result;
97+ },*/
98+
99+ // 获取最小的 rowspan
100+ getMinRowspan ( row ) {
101+
102+ let result ;
103+
104+ let rowspanCountArr = this . getTitleRowspanCountArr ( row ) ;
105+
106+ // 如果每一项的rowspan值都大于1则继续处理
107+ if ( Array . isArray ( rowspanCountArr ) && rowspanCountArr . length > 0 ) {
108+
109+ result = Math . min . apply ( null , rowspanCountArr ) ;
95110 }
96- return result ;
97- } ,
111+ return result - 1 ;
112+ }
98113 }
99114
100115}
You can’t perform that action at this time.
0 commit comments