1
13693261870
2022-10-14 977f591fbc02883bfc9bab3fea793f278d309531
src/views/AuthorizationManagement/userRoleAuthorization.vue
@@ -1,34 +1,27 @@
<template>
  <div class="menuSettings_box">
    <div class="menuSettings_tree">
      <My-bread
        :list="[
      <My-bread :list="[
          `${$t('operatManage.operatManage')}`,
          `${$t('operatManage.UserRoleAuthorization')}`,
        ]"
      ></My-bread>
        ]"></My-bread>
      <el-divider />
      <div class="menuTreeBox">
        <el-tree
          :data="depList"
          :props="defaultProps"
          :show-checkbox="true"
          :check-on-click-node="true"
          :check-strictly="true"
          node-key="id"
          @check="treeCheck"
          ref="treeForm"
        >
        <el-tree :data="depList"
                 :props="defaultProps"
                 :show-checkbox="true"
                 :check-on-click-node="true"
                 :check-strictly="true"
                 node-key="id"
                 @check="treeCheck"
                 ref="treeForm">
        </el-tree>
      </div>
    </div>
    <div
      class="menuSettings_tree"
      style="margin-left: 10px; width: calc(50% - 172px)"
    >
      <div
        style="
    <div class="menuSettings_tree"
         style="margin-left: 10px; width: calc(50% - 172px)">
      <div style="
          font-size: 14px;
          color: #606266;
          line-height: 1;
@@ -36,53 +29,42 @@
          position: relative;
          top: 10px;
          margin-left: 10px;
        "
      >
        ">
        {{ $t("operatManage.UserRoleAuthorizationObj.RoleTable") }}
      </div>
      <el-divider />
      <el-table
        :data="tableData"
        style="width: 100%"
        @row-click="singleElection"
        highlight-current-row
        height="85%"
        :header-cell-style="{
      <el-table :data="tableData"
                style="width: 100%"
                @row-click="singleElection"
                highlight-current-row
                height="85%"
                :header-cell-style="{
          background: 'transparent',
        }"
      >
        <el-table-column align="center" width="55">
        }">
        <el-table-column align="center"
                         width="55">
          <template slot-scope="scope">
            <!-- 可以手动的修改label的值,从而控制选择哪一项 -->
            <el-radio
              class="radio"
              v-model="templateSelection"
              :label="scope.row.id"
              >&nbsp;</el-radio
            >
            <el-radio class="radio"
                      v-model="templateSelection"
                      :label="scope.row.id">&nbsp;</el-radio>
          </template>
        </el-table-column>
        <el-table-column
          prop="id"
          :label="$t('operatManage.UserRoleAuthorizationObj.serialNumber')"
        >
        <el-table-column prop="id"
                         :label="$t('operatManage.UserRoleAuthorizationObj.serialNumber')">
        </el-table-column>
        <el-table-column
          prop="name"
          :label="$t('operatManage.UserRoleAuthorizationObj.name')"
        >
        <el-table-column prop="name"
                         :label="$t('operatManage.UserRoleAuthorizationObj.name')">
        </el-table-column>
      </el-table>
      <div style="text-align: center; margin-top: 20px">
        <el-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
          :current-page="listData.pageIndex"
          :page-sizes="[10, 20, 30, 40]"
          :page-size="userlistData.pageSize"
          layout="total, sizes, prev, pager, next, jumper"
          :total="count"
        >
        <el-pagination @size-change="handleSizeChange"
                       @current-change="handleCurrentChange"
                       :current-page="listData.pageIndex"
                       :page-sizes="[10, 20, 30, 40]"
                       :page-size="userlistData.pageSize"
                       layout="total, sizes, prev, pager, next, jumper"
                       :total="count">
        </el-pagination>
      </div>
    </div>
@@ -90,8 +72,7 @@
      <!-- <div class="title_box">
        <h4>详细信息</h4>
      </div> -->
      <div
        style="
      <div style="
          font-size: 14px;
          color: #606266;
          line-height: 1;
@@ -101,104 +82,85 @@
          margin-left: 10px;
          display: flex;
          align-items: center;
        "
      >
        ">
        <span>
          {{ $t("operatManage.UserRoleAuthorizationObj.userTable") }}</span
        >
        <div class="btn" style="margin-left: auto">
          <el-button
            type="primary"
            icon="el-icon-circle-plus-outline"
            size="small"
            :disabled="roleid == null ? true : false"
            @click="adduser"
            >{{ $t("operatManage.UserRoleAuthorizationObj.Added") }}</el-button
          >
          <el-button
            type="danger"
            icon="el-icon-delete"
            size="small"
            @click="deletesUser"
            :disabled="roleid == null ? true : false"
            >{{ $t("operatManage.UserRoleAuthorizationObj.delete") }}</el-button
          >
          {{ $t("operatManage.UserRoleAuthorizationObj.userTable") }}</span>
        <div class="btn"
             style="margin-left: auto">
          <el-button type="primary"
                     icon="el-icon-circle-plus-outline"
                     size="small"
                     :disabled="roleid == null ? true : false"
                     @click="adduser">{{ $t("operatManage.UserRoleAuthorizationObj.Added") }}</el-button>
          <el-button type="danger"
                     icon="el-icon-delete"
                     size="small"
                     @click="deletesUser"
                     :disabled="roleid == null ? true : false">{{ $t("operatManage.UserRoleAuthorizationObj.delete") }}</el-button>
        </div>
      </div>
      <el-divider class="divider" />
      <el-table
        :data="usertableData"
        stripe
        style="width: 100%"
        height="85%"
        @selection-change="handleSelectionChange"
        :header-cell-style="{
      <el-table :data="usertableData"
                stripe
                style="width: 100%"
                height="85%"
                @selection-change="handleSelectionChange"
                :header-cell-style="{
          background: 'transparent',
        }"
      >
        <el-table-column type="selection" width="55"> </el-table-column>
        <el-table-column
          prop="id"
          :label="$t('operatManage.UserRoleAuthorizationObj.serialNumber')"
        >
        }">
        <el-table-column type="selection"
                         width="55"> </el-table-column>
        <el-table-column prop="id"
                         :label="$t('operatManage.UserRoleAuthorizationObj.serialNumber')">
        </el-table-column>
        <el-table-column
          prop="uname"
          :label="$t('operatManage.UserRoleAuthorizationObj.name')"
        >
        <el-table-column prop="uname"
                         :label="$t('operatManage.UserRoleAuthorizationObj.name')">
        </el-table-column>
      </el-table>
      <div style="margin-top: 20px; text-align: center" class="pagination_box">
        <el-pagination
          @size-change="userhandleSizeChange"
          @current-change="userhandleCurrentChange"
          :current-page="userlistData.pageIndex"
          :page-sizes="[10, 20, 30, 40]"
          :page-size="userlistData.pageSize"
          layout="total, sizes, prev, pager, next, jumper"
          :total="usercount"
        >
      <div style="margin-top: 20px; text-align: center"
           class="pagination_box">
        <el-pagination @size-change="userhandleSizeChange"
                       @current-change="userhandleCurrentChange"
                       :current-page="userlistData.pageIndex"
                       :page-sizes="[10, 20, 30, 40]"
                       :page-size="userlistData.pageSize"
                       layout="total, sizes, prev, pager, next, jumper"
                       :total="usercount">
        </el-pagination>
      </div>
    </div>
    <el-dialog
      :title="$t('operatManage.UserRoleAuthorizationObj.Added')"
      :visible.sync="dialogTableVisible"
    >
      <el-table
        :data="gridData"
        height="40vh"
        @selection-change="addhandleSelectionChange"
      >
        <el-table-column type="selection" width="55"> </el-table-column>
        <el-table-column
          prop="id"
          :label="$t('operatManage.UserRoleAuthorizationObj.serialNumber')"
        >
    <el-dialog :title="$t('operatManage.UserRoleAuthorizationObj.Added')"
               :visible.sync="dialogTableVisible">
      <el-table :data="gridData"
                height="40vh"
                @selection-change="addhandleSelectionChange">
        <el-table-column type="selection"
                         width="55"> </el-table-column>
        <el-table-column prop="id"
                         :label="$t('operatManage.UserRoleAuthorizationObj.serialNumber')">
        </el-table-column>
        <el-table-column
          prop="uname"
          :label="$t('operatManage.UserRoleAuthorizationObj.name')"
        >
        <el-table-column prop="uname"
                         :label="$t('operatManage.UserRoleAuthorizationObj.name')">
        </el-table-column>
      </el-table>
      <div style="margin-top: 20px; text-align: center" class="pagination_box">
        <el-pagination
          @size-change="addhandleSizeChange"
          @current-change="addhandleCurrentChange"
          :current-page="addlistData.pageIndex"
          :page-sizes="[10, 20, 30, 40]"
          :page-size="addlistData.pageSize"
          layout="total, sizes, prev, pager, next, jumper"
          :total="addcount"
        >
      <div style="margin-top: 20px; text-align: center"
           class="pagination_box">
        <el-pagination @size-change="addhandleSizeChange"
                       @current-change="addhandleCurrentChange"
                       :current-page="addlistData.pageIndex"
                       :page-sizes="[10, 20, 30, 40]"
                       :page-size="addlistData.pageSize"
                       layout="total, sizes, prev, pager, next, jumper"
                       :total="addcount">
        </el-pagination>
      </div>
      <div slot="footer" class="dialog-footer">
      <div slot="footer"
           class="dialog-footer">
        <el-button @click="dialogTableVisible = false">{{ $t("dataManage.dictionaryManageObj.cancel") }}</el-button>
        <el-button type="primary" @click="addConfirm">{{ $t("dataManage.dictionaryManageObj.confirm") }}</el-button>
        <el-button type="primary"
                   @click="addConfirm">{{ $t("dataManage.dictionaryManageObj.confirm") }}</el-button>
      </div>
    </el-dialog>
  </div>
@@ -220,7 +182,7 @@
    MyBread,
  },
  data() {
  data () {
    return {
      addcount: 0,
      gridData: [],
@@ -261,7 +223,7 @@
    };
  },
  methods: {
    addConfirm() {
    addConfirm () {
      this.$confirm("确定是否新增", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
@@ -280,15 +242,17 @@
            type: "success",
            message: "新增成功!",
          });
          this.dialogTableVisible = false;
          this.getuserList();
        })
        .catch(() => {});
        .catch(() => { });
    },
    adduser() {
    adduser () {
      this.dialogTableVisible = true;
      this.getadduserList();
    },
    //用户删除
    async deletesUser() {
    async deletesUser () {
      let arr = [];
      this.usermultipleSelection.forEach((e) => {
        arr.push(e.id);
@@ -304,45 +268,45 @@
      this.getuserList();
    },
    //用户表多选
    handleSelectionChange(val) {
    handleSelectionChange (val) {
      this.usermultipleSelection = val;
    },
    //新增用户表多选
    addhandleSelectionChange(val) {
    addhandleSelectionChange (val) {
      this.addmultipleSelection = val;
    },
    // 新增用户表分页
    addhandleSizeChange(val) {
    addhandleSizeChange (val) {
      this.addlistData.pageSize = val;
      this.getadduserList();
    },
    // 新增用户表分页
    addhandleCurrentChange(val) {
    addhandleCurrentChange (val) {
      this.addlistData.pageIndex = val;
      this.getadduserList();
    },
    // 用户表分页
    userhandleSizeChange(val) {
    userhandleSizeChange (val) {
      this.userlistData.pageSize = val;
      this.getuserList();
    },
    // 用户表分页
    userhandleCurrentChange(val) {
    userhandleCurrentChange (val) {
      this.userlistData.pageIndex = val;
      this.getuserList();
    },
    // 角色表分页
    handleSizeChange(val) {
    handleSizeChange (val) {
      this.listData.pageSize = val;
      this.getRole();
    },
    // 角色表分页
    handleCurrentChange(val) {
    handleCurrentChange (val) {
      this.listData.pageIndex = val;
      this.getRole();
    },
    // 角色单选
    singleElection(row) {
    singleElection (row) {
      this.templateSelection = row.id;
      this.checkList = this.tableData.filter((item) => item.id === row.id);
      this.userlistData.roleid = row.id;
@@ -350,7 +314,7 @@
      this.getuserList();
    },
    // 部门请求
    async getMenuTree() {
    async getMenuTree () {
      //获取目录树最大ID,新建节点使用
      const data = await queryDepTree();
@@ -359,7 +323,7 @@
      }
      this.depList = this.treeData(data.result);
    },
    treeData(source) {
    treeData (source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
      return cloneData.filter((father) => {
        // 循环所有项
@@ -369,7 +333,7 @@
      });
    },
    // 部门树单选
    treeCheck(node, list) {
    treeCheck (node, list) {
      //node 该节点所对应的对象、list 树目前的选中状态对象
      //选中事件在选中后执行,当lis中有两个选中时,使用setCheckedKeys方法,选中一个节点
      console.log(node, list);
@@ -388,7 +352,7 @@
        this.usertableData = [];
      }
    },
    async getadduserList() {
    async getadduserList () {
      this.addlistData.roleid = this.roleid;
      this.addlistData.debid = this.debid;
@@ -400,7 +364,7 @@
      this.addcount = data.count;
    },
    // 用户表请求
    async getuserList() {
    async getuserList () {
      const data = await roleUserselectByPageForRole(this.userlistData);
      if (data.code !== 200) {
        return this.$message.error("用户列表请求错误");
@@ -409,7 +373,7 @@
      this.usercount = data.count;
    },
    // 角色表请求
    async getRole() {
    async getRole () {
      const data = await select_Role_ByPageAndCount(this.listData);
      if (data.code !== 200) {
        return this.$message.error("用户角色请求错误");
@@ -418,7 +382,7 @@
      this.count = data.count;
    },
  },
  created() {
  created () {
    this.getMenuTree();
  },
};