elementui的el-table给每个单元格赋予色彩

8 篇文章 0 订阅
6 篇文章 0 订阅
<el-table :data="tableData" height="680" :cell-style="ssssssssss">
          <el-table-column type="index" fixed="left" width="55" label="#"></el-table-column>
          <el-table-column :label="'x'+(index+1)" v-for="(item,index) in 7" :key="index">
            <el-table-column :prop="'xx'+(index+1)" :label="'xx'+(index+1)" width="160"></el-table-column>
            <el-table-column :prop="'xxx'+(index+1)" :label="'xxx'+(index+1)" width="160"></el-table-column>
            <el-table-column :prop="'xxxx'+(index+1)" :label="'xxxx'+(index+1)" width="160"></el-table-column>
          </el-table-column>
        </el-table>
ssssssssss({row, column, rowIndex, columnIndex}){
      let cellStyle;
      //成品
      if (columnIndex < 9 && columnIndex > 0 && row.FMColor != "") {
        cellStyle = "background:"+row.FMColor+";color:white";
        return cellStyle;
      }
      //半成品
      if (columnIndex >= 9 && row.SFMColor.length != 0) {
        for (let index = 0; index < row.SFMColor.length; index++) {
          if (column.label.indexOf(index+1) != -1) {
            cellStyle = "background:"+row.SFMColor[index]+";color:white";
            return cellStyle;
          }
        }
      }
      if (columnIndex === 0 && rowIndex % 2 === 1) {
        cellStyle = "background:oldlace;";
        return cellStyle;
      }
    },

/**处理原始数据对象转为需要的对象 */
    handleOriginData(val,nowDate){
      let x = {
        OrderCode:val.s.OrderCode,
        WorkOrderCode:val.s.WorkOrderCode,
        RowNo:val.s.RowNo,
        MaterialCode:val.s.MaterialCode,
        DrawingCode:val.s.DrawingCode,
        MaterialName:val.s.MaterialName,
        PlanAmount:val.s.PlanAmount,
        ActualPlanAmount:val.s.ActualPlanAmount,
        FMColor:"",
        SFMColor:[],
      };
      for (let index = 0; index < val.a.length; index++) {
        let OSN = "OperationSeqNo"+(index+1);
        let ON = "OperationName"+(index+1);
        let QA = "QualifiedAmount"+(index+1);
        x[OSN] = val.a[index].OperationSeqNo;
        x[ON] = val.a[index].OperationName;
        x[QA] = val.a[index].QualifiedAmount;
        //处理颜色(半成品物料)状态 0、1、2、3、4、5、6
        if (val.a[index].OperationState == 0) {
          x.SFMColor.push("#F52D2D")
        }
        if (val.a[index].OperationState == 1) {
          x.SFMColor.push("#F7A120")
        }
        if (val.a[index].OperationState == 2) {
          x.SFMColor.push("#EB9C9C")
        }
        if (val.a[index].OperationState == 3) {
          x.SFMColor.push("#64E723")
        }
        if (val.a[index].OperationState == 4) {
          x.SFMColor.push("#C0C1C4")
        }
      }
      //处理颜色(成品物料)
      let valtime = new Date(val.s.PlanEndDate).getTime();
      if ((val.s.WorkOrderState != 3) && (val.s.WorkOrderState != 4)) {
        //小于七天
        if ((valtime-nowDate) <= 604800000) {
          x.FMColor = "#B30A0A";
        }
        //大于七天小于30天
        if ((valtime-nowDate) <= 2592000000 && (valtime-nowDate) > 604800000) {
          x.FMColor = "#EB910A";
        }
      }
      //返回数据
      return x;
    },
结语

这是一个总结,自己看懂即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值