src/components/makepager/TableCommonView.vue
@@ -1,6 +1,6 @@
<!-- eslint-disable vue/no-use-v-if-with-v-for -->
<template>
  <div :class="{ 'table-view': true, table_height: !showSummary }" v-loading="loading">
  <div class="table-view" v-loading="loading">
    <el-table
      ref="table"
      border
@@ -22,7 +22,7 @@
      :summary-method="getSummaries"
      :show-summary="showSummary"
    >
      <el-table-column v-if="tableList.selectBox" type="selection" width="40"> </el-table-column>
      <el-table-column v-if="tableList.selectBox" type="selection" width="40" :selectable="selectable"> </el-table-column>
      <el-table-column v-if="tableList.selectIndex" type="index" label="序号" width="50"> </el-table-column>
      <el-table-column
        v-for="(item, i) in tableList.tableColumn"
@@ -43,10 +43,10 @@
            <span
              class="Badge"
              :class="{
                greenSlot: scope.row.status == '4'||scope.row.status ==  '完成',
                greenSlot: scope.row.status == '4' || scope.row.status == '完成',
                redSlot: scope.row.status == '5',
                blueSlot: scope.row.status == '3'||scope.row.status ==  '就绪',
                graySlot: scope.row.status == '1',
                blueSlot: scope.row.status == '3' || scope.row.status == '就绪',
                graySlot: scope.row.status == '1'
              }"
              >{{
                item.isCallMethod ? item.getCallMethod(scope.row[item.prop], scope.row) : scope.row[item.prop]
@@ -63,7 +63,7 @@
            :style="{
              color: new Date().getTime() > new Date(scope.row[item.prop]).getTime() ? '#D23F3A' : '#606266'
            }"
            >{{ timeAgo(scope.row[item.prop]) }}</span
            >{{ scope.row[item.prop] }}</span
          >
          <div v-else-if="item.conversion">
            <p class="exceed_width">{{ item.getStatus(scope.row[item.prop]) }}</p>
@@ -116,7 +116,7 @@
          highlight: false,
          tableColumn: [
            // table表单
            { label: "", prop: "", min: 200, tooltip: true,textAlign:"center"}
            { label: "", prop: "", min: 200, tooltip: true, textAlign: "center" }
          ]
        }
      },
@@ -151,6 +151,15 @@
    showSummary: {
      type: Boolean,
      default: false
    },
    // 列表不可选的数据
    selectBoxList: {
      type: Array,
      default: () => []
    },
    name:{
      type:String,
      default:''
    }
  },
  data() {
@@ -239,11 +248,11 @@
                  if (!isNaN(value)) {
                    return prev + curr
                  } else {
                    return prev
                    return prev
                  }
                }, 0)
                let unitIndex = this.tableList.tableColumn.findIndex(obj => obj.label === column.label);
                sums[index]=this.tableList.tableColumn[unitIndex].unit+sums[index]
                let unitIndex = this.tableList.tableColumn.findIndex((obj) => obj.label === column.label)
                sums[index] = this.tableList.tableColumn[unitIndex].unit + sums[index]
              } else {
                sums[index] = ""
              }
@@ -253,6 +262,18 @@
          })
        })
        return sums
      }
    },
    selectable(row) {
      let prop='id'
      if(this.name=='product'){
        prop='productId'
      }
      let list = this.selectBoxList.map((item) => item[prop])
      if (list.findIndex((v) => v == row.id) == -1) {
        return true
      } else {
        return false
      }
    }
  }
@@ -308,7 +329,7 @@
    right: 2px;
    display: flex;
    align-items: center;
    // z-index: 9999;
    z-index: 9999;
    .label {
      position: absolute;
      top: 6px;
@@ -348,10 +369,10 @@
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    overflow: auto;
    .exceed_width{
      width: 100%;
      white-space: nowrap;
      overflow: hidden;
    .exceed_width {
      width: 100%;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
  }
@@ -383,13 +404,13 @@
    height: 35px;
    text-align: center;
  }
  .el-table__body-wrapper{
  .el-table__body-wrapper {
    height: unset !important;
  }
  .el-table__cell.is-left{
  .el-table__cell.is-left {
    text-align: left !important;
  }
  .el-table__cell.is-right{
  .el-table__cell.is-right {
    text-align: right !important;
  }
}
@@ -402,7 +423,7 @@
  background: rgba(0, 0, 0, 0);
  z-index: 10;
}
.el-table__cell{
.el-table__cell {
  text-align: unset !important;
}
</style>