src/components/tool/value-table.vue
@@ -80,13 +80,14 @@
            @row-click="rowClick" :show-summary="data.countFleid!=undefined && data.countFleid.length > 0"
            :summary-method="getSummaries" :row-class-name="tableRowClassName"
        :row-key="record=>record.id" :current-row-key="data.currentId"
        highlight-current-row>
        highlight-current-row
        :span-method="spanMethod">
            <el-table-column type="selection" width="65" v-if="data.showSelect" :key="Math.random()">
            </el-table-column>
            <el-table-column type="index" align="center" label="序号" width="70" v-if="data.isIndex" :key="Math.random()">
            <el-table-column type="index" align="center" label="序号" width="65" v-if="data.isIndex" :key="Math.random()">
            </el-table-column>
            <el-table-column :prop="a.label" :label="a.value" :sortable="data.sort==false?false:'custom'"
               v-for="(a, ai) in tableHead" :key="ai" show-overflow-tooltip min-width="160">
               v-for="(a, ai) in tableHead" :key="ai" show-overflow-tooltip min-width="155">
               <template slot-scope="scope">
                  <div v-if="showType(a.label, data.tagField) != null">
                     <template v-if="typeof(scope.row[a.label]) == 'object'">
@@ -346,7 +347,9 @@
            uploadDia: false,
            token: null,
            fileList: [],
            init: true
            init: true,
        testArr: [],
        testPosition: 0,
         }
      },
      watch: {
@@ -370,6 +373,37 @@
         }
      },
      methods: {
      rowspan(spanArr, position, spanName) {
        this.tableData.forEach((item, index) => {
          if (index === 0) {
            spanArr.push(1);
            position = 0;
          } else {
            if (
              this.tableData[index][spanName] ===
              this.tableData[index - 1][spanName]
            ) {
              spanArr[position] += 1;
              spanArr.push(0);
            } else {
              spanArr.push(1);
              position = index;
            }
          }
        });
      },
      spanMethod({ row, column, rowIndex, columnIndex }){
        if(this.data.spanConfig!=undefined&&this.data.spanConfig.rows){
          if (columnIndex === this.data.spanConfig.rows.index) {
            const _row = this.testArr[rowIndex];
            const _col = _row > 0 ? 1 : 0;
            return {
              rowspan: _row,
              colspan: _col,
            };
          }
        }
      },
         selectChange(val) {
            if (this.data.select) {
               this.multipleSelection = val;
@@ -438,6 +472,11 @@
                     })
                  }
               }
          if(this.data.spanConfig!=undefined&&this.data.spanConfig.rows){
            this.testArr = []
            this.testPosition = 0
            this.rowspan(this.testArr, this.testPosition, this.data.spanConfig.rows.name);
          }
               this.loading = false
            }).catch(e => {
               this.loading = false