欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue動態(tài)合并單元格并添加小計合計功能示例

 更新時間:2020年11月26日 14:45:59   作者:shuihanxiao  
這篇文章主要給大家介紹了關(guān)于vue動態(tài)合并單元格并添加小計合計功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1、效果圖

2、后臺返回數(shù)據(jù)格式(平鋪式)

3、后臺返回數(shù)據(jù)后,整理所需要展示的屬性存儲到(items)數(shù)組內(nèi)

var obj = {
    "id": curItems[i].id,
    "feeName": curItems[i].feeName,
    "projectName": curItems[i].projectName,
    "projectDetailsName": curItems[i].projectDetailsName,
    "zbMoney": curItems[i].zbMoney,
    "qyMoney": curItems[i].qyMoney,
    "projectId": curItems[i].projectId,
    "instructions": curItems[i].instructions,
    "contentText": curItems[i].contentText,
    "measureText": curItems[i].measureText
   }
   if (curItems[i].projectDetailsName == '合計:') {
    obj.projectName = curItems[i - 1].projectName
   }
   _self.items.push(obj)
   }

4、調(diào)用initData(調(diào)用后會刪除需要合并的字段內(nèi)容)

_self.initData()

initData(){
  const that = this;
  let arry = [];
  let itemsCopy = JSON.parse(JSON.stringify(that.items));
  for (let i = 0; i < itemsCopy.length; i++) {
   for (let j = (i + 1); j < itemsCopy.length; j++) {
   for (let h in itemsCopy[i]) {
    for (let k in itemsCopy[j]) {
    if (k == 'feeName' || k == 'projectName' || k == 'projectDetailsName') {
     if (itemsCopy[j][k] != '小計:' && itemsCopy[j][k] != '合計:') {
     if (h === k && itemsCopy[i][h] === itemsCopy[j][k]) {
      delete itemsCopy[j][k]
     }
     }
    }
    }
   }
   }
   arry.push(itemsCopy[i]);
  }
  that.dataT = arry;
  },

4、合并行數(shù)的代碼

rowSpanF: function (key, val) {
  const that = this;
  let num = 0;
  for (let i in that.items) {
   for (let j in that.items[i]) {
   if (j == 'feeName' || j == 'projectName' || j == 'projectDetailsName') {
    if (key === j && val === that.items[i][j]) {
    if (that.items[i][j] == '小計:' || that.items[i][j] == '合計:') {
     return
    }
    num++;
    }
   }
   }
  }

  if(num==0){
   return 1
  }
  return num;
  },

5、html

代碼如下:

<tr v-for="(item,$index) in dataT">       
   <td
   v-if="key!='id'&&(key=='feeName'||key=='projectName'||key=='projectDetailsName'||key=='zbMoney'||key=='qyMoney'||key=='projectId'||key=='instructions'||key=='contentText'||key=='measureText')"
   v-for="(val,key) in item" :rowspan="rowSpanF(key,val)">
   <span v-if="key=='feeName'">{{val}}</span>
   <span v-if="key=='projectName'">{{val}}</span>
   <span v-if="key=='projectDetailsName'">{{val}}</span>
   <span v-if="key=='zbMoney'">{{val}}</span>
   <span v-if="key=='qyMoney'">{{val}}</span>
   <span v-if="key=='projectId'">{{item['zbMoney']+item['qyMoney']}}</span>
   <span v-if="key=='instructions'">{{val}} </span>
   <span v-if="key=='contentText'">{{val}}</span>
   <span v-if="key=='measureText'">{{val}}</span>
   </td>
   <td>
   <div v-if="item.projectDetailsName!='小計:'&&item.projectDetailsName!='合計:'">
    <!--<span @click="toAdd(allItems[$index])"><a>添加</a></span>-->
    <span @click="toEdit(item)"><a>編輯</a></span>
    <span>
     <a-popconfirm
     title="確定刪除嗎?"
     okText="確定"
     cancelText="取消"
     @confirm="() => deletArr(item)">
      <a href="javascript:;" rel="external nofollow" >刪除</a>
     </a-popconfirm>
    </span>
   </div>
   </td>    
  </tr>

注意事項:

后臺返回數(shù)據(jù)必須符合該條件

總結(jié)

到此這篇關(guān)于vue動態(tài)合并單元格并添加小計合計功能的文章就介紹到這了,更多相關(guān)vue動態(tài)合并單元格添加小計合計內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文搞懂Vue里的過渡和動畫

    一文搞懂Vue里的過渡和動畫

    在Vue中,過渡和動畫是一種用于在組件之間添加平滑過渡效果和動畫效果的高級用法,Vue提供了一些內(nèi)置的過渡和動畫功能,同時也支持自定義過渡和動畫效果,本文就給大家介紹一些Vue中過渡和動畫的高級用法,需要的朋友可以參考下
    2023-06-06
  • vue.js 獲取select中的value實例

    vue.js 獲取select中的value實例

    下面小編就為大家分享一篇vue.js 獲取select中的value實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Vue3+Hooks實現(xiàn)4位隨機數(shù)和60秒倒計時的示例代碼

    Vue3+Hooks實現(xiàn)4位隨機數(shù)和60秒倒計時的示例代碼

    Vue3的Hooks是一種新的 API,本文主要介紹了Vue3+Hooks實現(xiàn)4位隨機數(shù)和60秒倒計時的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • 解決Element中el-date-picker組件不回填的情況

    解決Element中el-date-picker組件不回填的情況

    這篇文章主要介紹了解決Element中el-date-picker組件不回填的情況,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Node.js使用orm2進行update操作時關(guān)聯(lián)字段無法修改的解決方法

    Node.js使用orm2進行update操作時關(guān)聯(lián)字段無法修改的解決方法

    這篇文章主要給大家介紹了Node.js使用orm2進行update操作時關(guān)聯(lián)字段無法修改的解決方法,文中給出了詳細的示例代碼供大家參考學習,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • vue兩次賦值頁面獲取不到的解決

    vue兩次賦值頁面獲取不到的解決

    這篇文章主要介紹了vue兩次賦值頁面獲取不到的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue.js表格分頁示例

    vue.js表格分頁示例

    這篇文章主要為大家詳細介紹了vue.js表格分頁示例,ajax異步加載數(shù)據(jù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • vue 里面的 $forceUpdate() 強制實例重新渲染操作

    vue 里面的 $forceUpdate() 強制實例重新渲染操作

    這篇文章主要介紹了vue 里面的 $forceUpdate() 強制實例重新渲染操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 詳解如何在vue項目中使用lodop打印插件

    詳解如何在vue項目中使用lodop打印插件

    這篇文章主要介紹了詳解如何在vue項目中使用lodop打印插件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • 關(guān)于vue面試題匯總

    關(guān)于vue面試題匯總

    本文給大家收藏整理了關(guān)于vue面試題匯總的一些知識,需要的朋友可以參考下
    2018-03-03

最新評論