コード:
<テンプレート> <DIVクラス= 'テーブルインデックス'> <DIVクラス= 'テーブル本体'> <IL- 表 :データ = "detailList" スタイル = "幅:100%" :ヘッダ -cellスタイル= "rowClass " :スパン -method =" objectSpanMethod」 ショー - 概要 :要約 -method = "getSummaries" ボーダー > <EL-卓上カラム プロプ = "名前" ラベル = "标题1" 幅 = "180" 整列 = "中心"> </ EL-テーブル列> <EL-卓上カラム プロプ = "INDEXNAME" ラベル = "标题2" 幅 = "180" 整列 = "中心"> </ EL-テーブル列> <EL-卓上カラム プロプ = "COLUMNNAME" ラベル = "标题3" 幅「= 180" 整列 = "中心"> </ EL-テーブル列> <EL-卓上カラム プロプ = "点" ラベル = "标题4" 幅 = "180" 整列 > "センター="を </ EL-テーブル列> </ EL-テーブル> </ div> </ div> </テンプレート> <スクリプト> エクスポートデフォルト{ コンポーネント:{}、 データ(){ リターン{ detailList:[]、 ARR1:[]、 ARR2:[] } }、 計算:{}、 時計:{}、 方法。 { setdates(ARR){ VAR OBJ = {} VARの K = [] // VARのARR1 = [] のための(VAR I = 0、LEN = arr.length; iがLEN <; iは++ ){ k個の =のARR [I]。名前 場合(OBJ [K]){OBJ [K] ++} さもなければOBJ {[K] = 1 } } にconsole.log(OBJ) //は}タイトルの発生回数の結果を保存 するための(VARの O に{OBJ) のための(I = 0 LET; Iは、OBJ [O]を<; Iは++ ){ IF(I === 0 ){ この.arr1.push(OBJ [O]) } 他{ この .arr1.push(0 ) } } } はconsole.log(この.arr1) VAR OBJ2 = {} // VAR J = [] // VARのARR2があります= [] ため(LET I = 0、LEN = arr.length; iがLEN <; iは++ ){ k個の =のARR [I] .indexName 場合(OBJ2 [K]){OBJ2 [K] ++} 他 {OBJ2 [K] = 1 } } にconsole.log(OBJ2) // 保存标题2出现次数 ため(Oせにおける{OBJ2) のための(I = 0せ; I <OBJ2 [O]; iは++ ){ 場合(I === 0 ){ この.arr2.push(OBJ2 [O]) } 他{ この .arr2.push(0 ) } } } console.log(この.arr2) }、 objectSpanMethod({行、列、rowIndexに、columnIndexが}){ 場合(columnIndexにする=== 0 ){ _ROWを聞かせ = これは[rowIndexプロパティ] .arr1 _colを聞かせ = この .arr1 [rowIndexに】 > 0?1:0 戻り[_ROW、_col] } 他の 場合には(columnIndexに=== 1 ){ せ行 = これは.arr2 [rowIndexプロパティ] せCOLSは = これは [rowIndexプロパティ]> 0を.arr2?1:0 戻り[行、colsの] }そう であれば(rowIndexプロパティ=== 5 ){ 場合(columnIndexには=== 0 ){ 戻り [1,3 ] } } }、 getSummaries(PARAM){ CONST {カラム、データ} = PARAM CONST合計 = [] columns.forEach ((カラム、インデックス) => { 場合(インデックス=== 0 ){ 合計[インデックス] = '总和' 戻り } CONST値 = data.map(項目=> 番号(項目[column.property])) であれば(!values.every(値=> ますisNaN(値))){ 合計[インデックス] = values.reduce((PREV、CURR)=> { constの値 = 番号(CURR) 場合(!ますisNaN(値)){ リターン PREV + CURR } 他{ 戻りPREV } }、 0 ) 合計[インデックス] + = '0.00' } 他{ } }) 戻り和 }、 getDetail(){
この。$ http.get(SERVER ).then( RES => { 場合(res.resultcode === '0' ){ この .detailList = res.data.datalist この .setdates(この.detailList) } })。キャッチ() } }、 作成した(){ } } </ SCRIPT> <スタイルLANG = 'SCSSは'スコープ> // (@importのURLを); 引入公共CSS类 </スタイル>