田源
2025-01-16 404966637eda6881a0f17683c5aacc7c1c34aed8
Source/plt-web/plt-web-ui/src/views/system/role/index.vue
@@ -14,22 +14,61 @@
      @row-click="rowClickHandler"
      @row-save="rowSaveHandler"
      @row-update="rowUpdateHandler"
      @row-del="rowDeleteHandler"
    >
      <template slot="menuLeft" slot-scope="scope">
        <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger"
                   @click="allDelHandler">删除
        <el-button v-if="permissionList.addBtn" class="button-custom-icon" size="small" type="primary"
                   @click="$refs.roleCrud.rowAdd()">
          <icon-show :name="permissionList.addBtn.source"></icon-show>
          新 增
        </el-button>
        <el-button v-if="permissionList.assignMembersBtn" icon="el-icon-school" plain size="small" type="primary"
                   @click="assignMembersHandler">分配成员
        <el-button v-if="permissionList.delBtn" class="button-custom-icon" plain size="small" type="danger"
                   @click="allDelHandler">
          <icon-show :name="permissionList.delBtn.source"></icon-show>
          删除
        </el-button>
        <el-button v-if="permissionList.statisticsBtn" icon="el-icon-user" plain size="small" type="primary"
                   @click="statisticsHandler">统计
        <el-button v-if="permissionList.statisticsBtn" class="button-custom-icon" plain size="small" type="primary"
                   @click="statisticsHandler">
          <icon-show :name="permissionList.statisticsBtn.source"></icon-show>
          统计
        </el-button>
        <el-button v-if="permissionList.importRoleBtn" icon="el-icon-upload2" plain size="small" type="primary"
                   @click="upLoadRole">导入角色
        <el-button v-if="permissionList.importRoleBtn" class="button-custom-icon" plain size="small" type="primary"
                   @click="upLoadRole">
          <icon-show :name="permissionList.importRoleBtn.source"></icon-show>
          导入角色
        </el-button>
        <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary">导出
        <el-button v-if="permissionList.exportBtn" class="button-custom-icon" plain size="small" type="primary">
          <icon-show :name="permissionList.exportBtn.source"></icon-show>
          导出
        </el-button>
      </template>
      <template slot="menu" slot-scope="{ row, index }">
        <el-button
          v-if="permissionList.assignMembersBtn"
          size="small"
          type="text"
          @click="assignMembersHandler(row, index)"
        >
          <icon-show :name="permissionList.assignMembersBtn.source"></icon-show>
          分配成员
        </el-button>
        <el-button
          v-if="permissionList.editBtn"
          size="small"
          type="text"
          @click="handleEdit(row, index)"
        >
          <icon-show :name="permissionList.editBtn.source"></icon-show>
          编辑
        </el-button>
        <el-button
          v-if="permissionList.delBtn"
          size="small"
          type="text"
          @click="handleDel(row, index)"
        >
          <icon-show :name="permissionList.delBtn.source"></icon-show>
          删除
        </el-button>
      </template>
@@ -153,17 +192,17 @@
        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),
        assignMembersBtn: this.vaildData(this.permission[this.$route.query.id].ASSIGN, false),
        importRoleBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false),
        statisticsBtn: this.vaildData(this.permission[this.$route.query.id].DISCARD, false),
      };
    },
    option() {
      return {
        ...basicOption,
        addBtn: this.permissionList.addBtn,
        delBtn: this.permissionList.delBtn,
        editBtn: this.permissionList.editBtn,
        addBtn: false,
        delBtn: false,
        editBtn: false,
        dialogTop: 0,
        dialogWidth: '30%',
        column: column,
@@ -181,6 +220,11 @@
        this.page.total = res.data.total;
        this.tableLoading = false;
      })
    },
    // 编辑按钮
    handleEdit(row, index) {
      this.$refs.roleCrud.rowEdit(row, index);
    },
    // 列头刷新
@@ -248,7 +292,7 @@
    },
    // 删除
    rowDeleteHandler(row) {
    handleDel(row, index) {
      let params = {
        ids: row.oid
      }
@@ -301,19 +345,19 @@
    },
    // 分配成员
    assignMembersHandler() {
      if (this.selectList.length <= 0) {
        this.$message.warning('请选择角色进行成员分配!');
        return;
      }
      if (this.selectList.length > 1) {
        this.$message.warning('一次只能对一个角色进行分配成员操作!');
        return;
      }
    assignMembersHandler(row,index) {
      // if (this.selectList.length <= 0) {
      //   this.$message.warning('请选择角色进行成员分配!');
      //   return;
      // }
      //
      // if (this.selectList.length > 1) {
      //   this.$message.warning('一次只能对一个角色进行分配成员操作!');
      //   return;
      // }
      Promise.all([
        listUserUnInRoleOid({pkRole: this.selectList[0].oid}),
        listUserByRoleOid({pkRole: this.selectList[0].oid})
        listUserUnInRoleOid({pkRole: row.oid}),
        listUserByRoleOid({pkRole: row.oid})
      ]).then(([unInRoleRes, byRoleRes]) => {
        this.leftRoleData = [];
        this.rightRoleData = [];