<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-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> </el-table> </div> </template> <script> export default { data() { return {}; }, props: { currentPage: { type: Number, default: 1, }, list: { type: Array, default: () => { return []; }, }, 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, }); }, }, }; </script> <style lang="less"> @import "../../../style/table.less"; </style>