動的要素UIテーブルセルの内容と同じ合成

コード:

<テンプレート> 
<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类 </スタイル>

 

おすすめ

転載: www.cnblogs.com/drw666/p/11758810.html