使用elementUI 的table绑定的computed 计算值,当数据更新时,视图没有更新

主要代码如下:将从服务器获取到的数据进行改造,改造之后再将表格每一列的合计添加到数据里,在表头显示合计,年度汇总和年度月均,当表格中输入的数据发生改变时候,合计没有变化,打印的数据发生变化了,数据也显示...,所以不知道哪里出问题了
data() {
return {
// mixinViewModuleOptions: {
// getDataListURL: '/sys/log/login/page',
// getDataListIsPage: true,
// exportURL: '/sys/log/login/export'
// },
options: [
{
value: "1",
label: "2020年",
},
{
value: "2",
label: "2019年",
},
{
value: "3",
label: "2018年",
},
{
value: "4",
label: "2017年",
},
{
value: "5",
label: "2016年",
},
{
value: "6",
label: "2015年",
},
{
value: "7",
label: "2014年",
},
],
// lineNameList:["1301422244790112257","1301421413072211970"],
lineNameList:[],
optionList: [],
companyid:'',
selected: "",
choosed: "",
activeName: "0",
lineType: "0",
lineId: "",
tableparams: {
year: '',
id:'',
electricityWaterFlag: '0',
},
status: false, //编辑状态,默认不可编辑
stationName: [],
finalData:[],
tableData3: [ ],
};

    computed:{
                        getColumnTotal() {
                        return this.getColumnTotal2();
                    },
    },

    methods:{
        getColumnTotal2() {
  let yearSum = {
    total: true,
    editable: false,
    month: "年度汇总",
    detail: [],
  };
  // let data = Array.from(this.tableData3);
  // console.log(this.tableData3)
  let formatData = this.dataFormat(this.tableData3);
  // console.log(formatData)
  let data = Array.from(formatData);
  for (let rowIndex = 0; rowIndex < data.length; rowIndex++) {
    let detail = data[rowIndex]["detail"];

    for (let colIndex = 0; colIndex < detail.length; colIndex++) {
      let detailElement = detail[colIndex];
      let yearSumElement = yearSum["detail"];
      if (yearSumElement[colIndex] !== undefined) {
        //说明存在
        let exist = yearSumElement[colIndex];
        exist["electricityWaterConsumption"] += this.numberFormat(
          detailElement["electricityWaterConsumption"]
        );
        exist["electricityWaterFees"] += this.numberFormat(
          detailElement["electricityWaterFees"]
        );
      } else {
        yearSumElement[colIndex] = {
          electricityWaterConsumption:
            detailElement["electricityWaterConsumption"],
          electricityWaterFees: detailElement["electricityWaterFees"],
          projectId: detailElement["projectId"],
          projectName: detailElement["projectName"],
          electricityWaterFlag: detailElement["electricityWaterFlag"],
        };
      }
    }
  }

  let monthSum = {
    total: true,
    editable: false,
    month: "年度月均",
    detail: [],
  };
  let length = yearSum["detail"].length;
  for (let monthColIndex = 0; monthColIndex < length; monthColIndex++) {
    let detailElement = yearSum["detail"][monthColIndex];
    monthSum["detail"][monthColIndex] = {
      electricityWaterConsumption: (
        detailElement["electricityWaterConsumption"] / length
      ).toFixed(2),
      electricityWaterFees: (
        detailElement["electricityWaterFees"] / length
      ).toFixed(2),
      projectId: detailElement["projectId"],
      projectName: detailElement["projectName"],
      electricityWaterFlag: detailElement["electricityWaterFlag"],
    };
  }
  data.unshift(monthSum);
  data.unshift(yearSum);

  this.tableData3 = data;
  //  console.log(this.tableData3)
  return  this.tableData3;
},


     // 格式化数据
dataFormat(data) {
  var newData = [];
  data.forEach(function (item) {
    for (var i = 0; i < newData.length; i++) {
      if (newData[i].month === item.month) {
        newData[i].detail.push({
          electricityWaterConsumption: item.electricityWaterConsumption,
          electricityWaterFees: item.electricityWaterFees,
          projectId: item.projectId,
          projectName: item.projectName,
          electricityWaterFlag: item.electricityWaterFlag,
        });
        return;
      }
    }
    newData.push({
      month: item.month,
      year:item.year,
      editable: false, //默认不可编辑
      // status: false,
      btntext: "编辑",
      detail: [
        {
          electricityWaterConsumption: item.electricityWaterConsumption,
          electricityWaterFees: item.electricityWaterFees,
          projectId: item.projectId,
          projectName: item.projectName,
          electricityWaterFlag: item.electricityWaterFlag
        },
      ],
    });
  });
  data = newData;
  //  console.log(data)
  return newData

},
     getDataList() {
  //线路数据
  this.$http
    .get(`/demo/sysproject/findProjectList`, {
      params: {
        // key: this.dataForm.processDefinitionKey
        id: "",
      },
    })
    .then(({ data: res }) => {
      if (res.code !== 0) {
        return this.$message.error(res.msg);
      }
      if(res.data){
        this.optionList = res.data;
        this.companyid = this.optionList[0].id;
        this.lineId = this.optionList[0].children[0].id;
        //设置默认线路
        this.lineNameList=[''+this.companyid+'',''+this.lineId+''];
      }

      //获取水电录入信息参数
      this.tableparams = {
      year: this.choosed.replace("年", ""),
      id: this.lineId,
      electricityWaterFlag: this.lineType,
    };

      this.getTableData()
    })
    .catch(() => {});
},
     getTableData(){
     this.$http
    .get(`/demo/electricitywater/list`, {
      params: this.tableparams,
    })
    .then(({ data: res }) => {
      if (res.code !== 0) {
        return this.$message.error(res.msg);
      }

      let result = res.data;
      // this.tableData3 = this.dataFormat(result);
      this.tableData3 = result;
       var nameArray = [];
      for (let item of this.dataFormat(this.tableData3)[0].detail) {
      // for (let item of this.tableData3[0].detail) {
        if(item.projectName){
          nameArray.push(item.projectName);
        }

      }
      this.stationName = nameArray;
      this.$nextTick(()=>{
      this.$refs.tableRef.doLayout()
    })
      // return nameArray;
      return  this.tableData3;

    })
    .catch(() => {});
},
    }

https://www.jianshu.com/p/596fb477d0f9