更改对象的属性(高级操作)

      let hghg = [
        { "Itemname": "肱骨近端加压锁定板-3(含锁定钉)", "Total": 2000, "'新生儿科'": "", "'肿瘤科'": "", "'骨一科'": 2000 },
        { "Itemname": "0.9%氯化钠注射液", "Total": 2627, "'新生儿科'": 2627, "'肿瘤科'": "", "'骨一科'": "" },
        { "Itemname": "踝部四关节融合术", "Total": 2000, "'新生儿科'": "", "'肿瘤科'": 2000, "'骨一科'": "" },
        { "Itemname": "卡铂注射液", "Total": 200, "'新生儿科'": "", "'肿瘤科'": 200, "'骨一科'": "" },
        { "Itemname": "阿卡波糖片(卡博平)", "Total": 50, "'新生儿科'": "", "'肿瘤科'": 50, "'骨一科'": "" }
      ];

  

      let huji = this.columnDefsadd(hghg);
      this.gridOneOptionsData(huji, hghg);

  

  private columnDefsadd(params) {
    let columnDefsRow = []
    for (var key in params[0]) {
      columnDefsRow.push(key)
    }
    let datacolumnDefs = []
    for (let i = 0; i < columnDefsRow.length; i++) {
      if (i === 0) {
        let row = {
          headerName: '项目',
          field: columnDefsRow[0]
        }
        datacolumnDefs.push(row)
      } else if (i === 1) {
        let row = {
          headerName: '合计',
          field: columnDefsRow[1]
        }
        datacolumnDefs.push(row)
      } else {
        let row = {
          headerName: columnDefsRow[i].replace(/'/g, ''),
          field: `A${i}`
        }
        datacolumnDefs.push(row)
      }
    }
    return datacolumnDefs
  }

  

  private gridOneOptionsData(huji, hghg) {
    var rObj = {};
    for (let j = 0; j < huji.length; j++) {
      if (j < 2) {
        rObj[huji[j].field] = huji[j].field;
      } else {
        rObj[huji[j].headerName] = huji[j].field;
      }
    }
    let newData = [];
    for (let i = 0; i < hghg.length; i++) {
      let d = hghg[i],
        obj = {};
      for (let k in d) {
        obj[rObj[k.replace(/'/g, '')]] = d[k]
      }
      newData.push(obj);
    }
    this.gridOneOptions.api.setRowData(newData);
  }

 

posted @ 2019-08-29 14:23  龙旋风  阅读(567)  评论(2编辑  收藏  举报