田源
2024-12-16 d186b4d37394e4816e0f271fcced4d06b3069454
Source/plt-web/plt-web-ui/src/views/system/role/index.vue
@@ -17,12 +17,20 @@
      @row-del="rowDeleteHandler"
    >
      <template slot="menuLeft" slot-scope="scope">
        <el-button icon="el-icon-delete" plain size="small" type="danger" @click="allDelHandler">删除</el-button>
        <el-button icon="el-icon-school" plain size="small" type="primary" @click="assignMembersHandler">分配成员
        <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger"
                   @click="allDelHandler">删除
        </el-button>
        <el-button icon="el-icon-user" plain size="small" type="primary" @click="statisticsHandler">统计</el-button>
        <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadRole">导入角色</el-button>
        <el-button icon="el-icon-download" plain size="small" type="primary">导出</el-button>
        <el-button v-if="permissionList.assignMembersBtn" icon="el-icon-school" plain size="small" type="primary"
                   @click="assignMembersHandler">分配成员
        </el-button>
        <el-button v-if="permissionList.statisticsBtn" icon="el-icon-user" plain size="small" type="primary"
                   @click="statisticsHandler">统计
        </el-button>
        <el-button v-if="permissionList.importRoleBtn" icon="el-icon-upload2" plain size="small" type="primary"
                   @click="upLoadRole">导入角色
        </el-button>
        <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary">导出
        </el-button>
      </template>
      <template slot="roleClassifyText" slot-scope="{row}">
@@ -79,19 +87,13 @@
import basicOption from "@/util/basic-option";
import {column} from "@/views/system/role/option";
import func from "@/util/func";
import {mapGetters} from "vuex";
export default {
  name: "index",
  data() {
    return {
      tableData: [],
      option: {
        ...basicOption,
        dialogTop: 0,
        dialogWidth: '30%',
        column: column,
        calcHeight: -60,
      },
      page: {
        currentPage: 1,
        pageSize: 10,
@@ -143,6 +145,32 @@
      tipList: ["角色导入只有 名称 和 描述 两列,且名称为必输项不能为空"]
    }
  },
  computed: {
    ...mapGetters(["permission"]),
    permissionList() {
      return {
        addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
        delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
        editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
        exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false),
        assignMembersBtn: this.vaildData(this.permission[this.$route.query.id].assignMembers, false),
        importRoleBtn: this.vaildData(this.permission[this.$route.query.id].importRole, false),
        statisticsBtn: this.vaildData(this.permission[this.$route.query.id].statistics, false),
      };
    },
    option() {
      return {
        ...basicOption,
        addBtn: this.permissionList.addBtn,
        delBtn: this.permissionList.delBtn,
        editBtn: this.permissionList.editBtn,
        dialogTop: 0,
        dialogWidth: '30%',
        column: column,
        calcHeight: -60,
      }
    }
  },
  methods: {
    // 表格初始化请求
    getTableList() {
@@ -181,8 +209,12 @@
        row,
        this.$refs.roleCrud,
        this.lastIndex,
        (newIndex) => { this.lastIndex = newIndex; },
        () => { this.selectList = [row]; }
        (newIndex) => {
          this.lastIndex = newIndex;
        },
        () => {
          this.selectList = [row];
        }
      );
    },