dbUnitTable.vue 2.14 KB
Newer Older
qzhxx's avatar
qzhxx committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
<template>
  <div class="party-table">
    <el-table
      border
      :data="list"
      style="width: 100%; height: 100%"
      height="100%"
    >
      <el-table-column label="序号" align="center" width="100">
        <template slot-scope="scope">
          <span>{{ (currentPage - 1) * 10 + scope.$index + 1 }}</span>
        </template>
      </el-table-column>
      <el-table-column
        align="center"
        v-for="(item, index) in feildList"
        :key="index"
        :prop="item.prop"
        :label="item.label"
        :width="item.width"
      >
        <template slot-scope="scope">
          <div v-if="item.isEdit" class="table-btn-group">
            <el-tooltip content="修改" placement="top" v-if="userId === scope.row.id">
              <el-button circle @click="handleOperate(scope.row, 'edit')" >
                <i class="icon-table icon-edit"></i>
              </el-button>
            </el-tooltip>
            <el-tooltip content="查看" placement="top" v-else>
              <el-button circle @click="handleOperate(scope.row, 'detail')">
                <i class="icon-table icon-detail"></i>
              </el-button>
            </el-tooltip>
          </div>
          <div v-else>
            <span v-if="item.prop === 'type'">
              {{ scope.row[item.prop] | accoutType }}
            </span>
            <span v-else>{{ scope.row[item.prop] }}</span>
          </div>
        </template>
      </el-table-column>
    </el-table>
  </div>
</template>
<script>

export default {
  data() {
    return {
        userId:localStorage.getItem('userId') || "1375705092221669378"
    };
  },
  props: {
    currentPage: {
      type: Number,
      default: 1,
    },
    list: {
      type: Array,
      default: () => {
        return [];
      },
    },
    feildList: {
      type: Array,
      default: () => {
        return [];
      },
    },
  },
  methods: {
    handleOperate(row, type) {
      this.handlEmitMsg(row, type);
    },
    handlEmitMsg(row, type) {
      this.$emit("action", {
        row: row,
        type: type,
      });
    },
  },
};
</script>
<style lang="less">
@import "../../../style/table.less";
</style>