<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"> <el-button circle :disabled="scope.row.statusName !== '活跃'" @click="handleOperate(scope.row, 'edit')" > <i class="icon-table icon-edit"></i> </el-button> </el-tooltip> <el-tooltip content="重置密码" placement="top"> <el-button circle :disabled="scope.row.statusName !== '活跃'" @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 === 'roleList'"> {{ accoutRoleList(scope.row[item.prop]) }} </span> <span v-else-if="item.prop === 'exiredDate'"> {{ scope.row[item.prop] || '永久有效' }} </span> <span v-else>{{ scope.row[item.prop] }}</span> </div> </template> </el-table-column> </el-table> <audit-info ref="audit" /> </div> </template> <script> // status 1 启用 2 禁用 import auditInfo from "../auditInfo.vue"; export default { data() { return {}; }, props: { currentPage: { type: Number, default: 1, }, list: { type: Array, default: () => { return []; }, }, feildList: { type: Array, default: () => { return []; }, }, rolesList: { type: Array, default: () => { return []; }, }, }, components:{auditInfo}, methods: { accoutRoleList(roleArray) { if (!this.rolesList.length || !roleArray) { return false; } let roleName = []; this.rolesList.forEach((r) => { roleArray.forEach((a) => { if (r.id == a) { roleName.push(r.name); } }); }); return roleName.join("、"); }, 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, }); }, }, }; </script> <style lang="less"> @import "../../../style/table.less"; </style>