accountTable.vue 4.08 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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
  <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">
              <el-button circle @click="handleOperate(scope.row, 'edit')">
                <i class="icon-table icon-edit"></i>
              </el-button>
            </el-tooltip>
            <el-tooltip content="重置密码" placement="top">
              <el-button circle @click="handleOperate(scope.row, 'reset')">
                <i class="icon-table icon-reset"></i>
              </el-button>
            </el-tooltip>
            <el-tooltip content="禁用" placement="top">
              <el-button
                circle
                :disabled="scope.row.statusName !== '活跃'"
                @click="handleOperate(scope.row, 'disable')"
              >
                <i class="icon-table icon-disable"></i>
              </el-button>
            </el-tooltip>
            <el-tooltip content="激活" placement="top">
              <el-button
                circle
                :disabled="scope.row.statusName !== '禁用'"
                @click="handleOperate(scope.row, 'enable')"
              >
                <i class="icon-table icon-enable"></i>
              </el-button>
            </el-tooltip>
            <el-tooltip content="审核详情" placement="top">
              <el-button
                circle
                :disabled="scope.row.statusName == '活跃'"
                @click="handleOperate(scope.row, 'examine')"
              >
                <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>
xulili's avatar
xulili committed
70
    </el-table>
xulili's avatar
xulili committed
71 72
    <audit-info ref="audit" />
  </div>
xulili's avatar
xulili committed
73 74
</template>
<script>
xulili's avatar
xulili committed
75
// status 1 启用 2 禁用
xulili's avatar
xulili committed
76
import auditInfo from "../auditInfo.vue";
xulili's avatar
xulili committed
77
export default {
xulili's avatar
xulili committed
78 79 80 81 82 83 84
  data() {
    return {};
  },
  props: {
    currentPage: {
      type: Number,
      default: 1,
xulili's avatar
xulili committed
85
    },
xulili's avatar
xulili committed
86 87 88 89 90
    list: {
      type: Array,
      default: () => {
        return [];
      },
xulili's avatar
xulili committed
91
    },
xulili's avatar
xulili committed
92 93 94 95 96
    feildList: {
      type: Array,
      default: () => {
        return [];
      },
xulili's avatar
xulili committed
97
    },
xulili's avatar
xulili committed
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 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
  },
  filters: {
    accoutType(type) {
      switch (type) {
        case "1":
          return "平台账号";
          break;
        case "2":
          return "用户账号";
          break;
        case "3":
          return "机顶盒账号";
          break;
        case "4":
          return "运维账号";
          break;
        default:
          return "";
      }
    },
  },
  components: { auditInfo },
  methods: {
    handleOperate(row, type) {
      if (type != "edit" && type != "examine") {
        this.$confirm("确认进行此操作?", "提示", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning",
        })
          .then(() => {
            this.handlEmitMsg(row, type);
          })
          .catch(() => {});
      } else if (type == "examine") {
        this.$refs.audit.id = row.id;
        this.$refs.audit.getDetailById();
        this.$refs.audit.dialogVisible = true;
      } else {
        this.handlEmitMsg(row, type);
      }
    },
    handlEmitMsg(row, type) {
      this.$emit("action", {
        row: row,
        type: type,
      });
    },
  },
};
xulili's avatar
xulili committed
148 149
</script>
<style lang="less">
xulili's avatar
xulili committed
150
@import "../../../style/table.less";
xulili's avatar
xulili committed
151
</style>