checkTable.vue 2.92 KB
Newer Older
xulili's avatar
xulili committed
1
<template>
xulili's avatar
xulili committed
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
  <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-button
              round
              class="passed"
              :disabled="
                scope.row.status === 'REFUSED' ||
                scope.row.status === 'APPROVED_FINAL'
              "
              @click="handleOperate(scope.row, 'pass')"
            >
              通过
            </el-button>
            <el-button
              round
              class="rejected"
              :disabled="
                scope.row.status === 'REFUSED' ||
                scope.row.status === 'APPROVED_FINAL'
              "
              @click="handleOperate(scope.row, 'reject')"
            >
              驳回
            </el-button>
          </div>
          <div v-else>
            <span v-if="item.prop === 'status'">
              {{ scope.row[item.prop] | statusName }}
            </span>
            <span v-else>{{ scope.row[item.prop] }}</span>
          </div>
        </template>
      </el-table-column>
xulili's avatar
xulili committed
55
    </el-table>
xulili's avatar
xulili committed
56
  </div>
xulili's avatar
xulili committed
57 58 59
</template>
<script>
export default {
xulili's avatar
xulili committed
60 61 62 63 64 65 66
  data() {
    return {};
  },
  props: {
    currentPage: {
      type: Number,
      default: 1,
xulili's avatar
xulili committed
67
    },
xulili's avatar
xulili committed
68 69 70 71 72
    list: {
      type: Array,
      default: () => {
        return [];
      },
xulili's avatar
xulili committed
73
    },
xulili's avatar
xulili committed
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
    feildList: {
      type: Array,
      default: () => {
        return [];
      },
    },
  },
  filters: {
    statusName(type) {
      switch (type) {
        case "TBC":
          return "待初审";
          break;
        case "REFUSED":
          return "驳回";
          break;
        case "TBCA":
          return "待复审";
          break;
        case "APPROVED_FINAL":
          return "通过";
          break;
        default:
          return "";
      }
    },
  },
  methods: {
    handleOperate(row, type) {
      if (type == "pass") {
        this.$confirm("确认进行此操作?", "提示", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning",
        })
          .then(() => {
            this.handlEmitMsg(row, type);
          })
          .catch(() => {});
      } else {
        this.handlEmitMsg(row, type);
      }
    },
    handlEmitMsg(row, type) {
      this.$emit("action", {
        row: row,
        type: type,
      });
    },
  },
};
xulili's avatar
xulili committed
125 126
</script>
<style lang="less">
xulili's avatar
xulili committed
127
@import "../../../style/table.less";
xulili's avatar
xulili committed
128
</style>