管道基础大数据平台系统开发-【前端】-新系統界面
liupengpeng
2023-02-13 a670b7361a32c8b40af9afbf49770d47f4c240e9
src/views/AuthorizationManagement/roleMenuAuthorization.vue
@@ -2,26 +2,28 @@
  <div class="menuSettings_box">
    <!-- 角色,单位 -->
    <div class="menuSettings_tree">
      <div class="content_box">
        <My-bread
          :list="[
      <div class="content_box subpage_Div">
        <My-bread :list="[
            `${$t('operatManage.operatManage')}`,
            `${$t('operatManage.RoleMenuAuthorization')}`,
          ]"
        ></My-bread>
          ]"></My-bread>
        <el-divider />
        <el-form ref="form" :model="selFrom">
        <el-form
          ref="form"
          :model="selFrom"
        >
          <el-form-item label="单位">
            <el-select
            :popper-append-to-body="false"
              ref="multiSelect"
              style="width: 300px"
              style="width: 300px;"
              v-model="selFrom.name"
              placeholder="请选择单位名称..."
              @change="chooseCustom('multiSelect')"
            >
              <el-option
                :value="selectTree"
                style="overflow: auto; backgrond: transparent; height: 200px"
                style="  backgrond: transparent;    height: 100%;"
                disabled
              >
                <el-tree
@@ -44,16 +46,17 @@
          style="width: 100%"
          @row-click="singleElection"
          highlight-current-row
          height="83%"
        >
          <el-table-column align="center" width="55">
          <el-table-column
            align="center"
            width="55"
          >
            <template slot-scope="scope">
              <el-radio
                class="radio"
                v-model="templateSelection"
                :label="scope.row.id"
                >&nbsp;</el-radio
              >
              >&nbsp;</el-radio>
            </template>
          </el-table-column>
          <el-table-column
@@ -68,9 +71,8 @@
          </el-table-column>
        </el-table>
      </div>
      <div class="content_box">
        <div
          style="
      <div class="content_box subpage_Div">
        <div style="
            font-size: 14px;
            color: #216fe6;
            line-height: 1;
@@ -80,31 +82,28 @@
            margin-left: 10px;
            display: flex;
            align-items: center;
          "
        >
          ">
          <span>
            {{ $t('operatManage.UserRoleAuthorizationObj.menuTable') }}</span
          >
            {{ $t('operatManage.UserRoleAuthorizationObj.menuTable') }}</span>
        </div>
        <el-divider />
        <div style="height: 90%; overflow-y: auto">
          <el-tree
            :data="menuList"
            :props="defaultMenuProps"
            :show-checkbox="false"
            :check-on-click-node="true"
            :check-strictly="true"
            node-key="id"
            @check="menuTreeCheck"
            ref="treeForm"
            :default-expanded-keys="[1]"
          >
          </el-tree>
        </div>
        <el-tree
          :data="menuList"
          :props="defaultMenuProps"
          :show-checkbox="false"
          :check-on-click-node="true"
          :check-strictly="true"
          node-key="id"
          @check="menuTreeCheck"
          ref="treeForm"
          :default-expanded-keys="[1]"
        >
        </el-tree>
      </div>
      <div class="content_box">
        <div
          style="
      <div class="content_box subpage_Div">
        <div style="
            font-size: 14px;
            color: #216fe6;
            line-height: 1;
@@ -114,14 +113,15 @@
            margin-left: 10px;
            display: flex;
            align-items: center;
          "
        >
          ">
          <span>
            {{
              $t('operatManage.UserRoleAuthorizationObj.PermissionTable')
            }}</span
            }}</span>
          <div
            class="btn"
            style="margin-left: auto"
          >
          <div class="btn" style="margin-left: auto">
            <el-button
              v-if="menuStatus.insert"
              type="primary"
@@ -129,11 +129,9 @@
              size="small"
              @click="adduser"
              :disabled="menuid == null ? true : false"
              style="background-color: #216fe6"
              >{{
            >{{
                $t('operatManage.UserRoleAuthorizationObj.Added')
              }}</el-button
            >
              }}</el-button>
            <el-button
              v-if="menuStatus.delete"
              type="danger"
@@ -141,10 +139,9 @@
              size="small"
              @click="deletesUser"
              :disabled="menuid == null ? true : false"
              >{{
            >{{
                $t('operatManage.UserRoleAuthorizationObj.delete')
              }}</el-button
            >
              }}</el-button>
          </div>
        </div>
        <el-divider class="divider" />
@@ -152,10 +149,13 @@
          :data="menuTableData"
          stripe
          style="width: 100%"
          height="84%"
          height="78%"
          @selection-change="handleSelectionChange"
        >
          <el-table-column type="selection" width="55"> </el-table-column>
          <el-table-column
            type="selection"
            width="55"
          > </el-table-column>
          <el-table-column
            align="center"
            type="index"
@@ -176,182 +176,17 @@
            @size-change="authhandleSizeChange"
            @current-change="authhandleCurrentChange"
            :current-page="rolMenuListData.pageIndex"
            :page-sizes="[10, 20, 30, 40]"
            :page-sizes="[10, 20, 50, 100]"
            :page-size="rolMenuListData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            layout="prev, pager, next"
            :total="roleMenuCount"
          >
          </el-pagination>
        </div>
      </div>
      <!--  -->
      <!-- <el-form ref="form" :model="selFrom">
        <el-form-item label="单位">
          <el-select
            ref="multiSelect"
            style="width: 300px"
            v-model="selFrom.name"
            placeholder="请选择单位名称..."
            @change="chooseCustom('multiSelect')"
          >
            <el-option
              :value="selectTree"
              class="setstyle"
              style="overflow: auto; height: 200px"
              disabled
            >
              <el-tree
                :data="depList"
                :props="defaultProps"
                :check-on-click-node="true"
                :check-strictly="true"
                node-key="id"
                ref="treeForm"
                @node-click="addAdminHandleNodeClick"
                :default-expanded-keys="[1]"
              >
              </el-tree>
            </el-option>
          </el-select>
        </el-form-item>
      </el-form>
      <div style="height: 75%">
      </div>
      <div style="margin-top: 20px; text-align: center" class="pagination_box">
        <el-pagination
          @size-change="dephandleSizeChange"
          @current-change="dephandleCurrentChange"
          :current-page="roleDepListData.pageIndex"
          :page-sizes="[10, 20, 30, 40]"
          :page-size="roleDepListData.pageSize"
          layout="total, sizes, prev, pager, next, jumper"
          :total="roleDepCount"
        >
        </el-pagination>
      </div> -->
    </div>
    <!-- 菜单表 -->
    <!-- <div
      class="menuSettings_tree"
      style="margin-left: 10px; width: calc(50% - 172px)"
    >
      <div
        style="
          font-size: 14px;
          color: #606266;
          line-height: 1;
          cursor: text;
          position: relative;
          top: 5px;
          margin-left: 10px;
          display: flex;
          align-items: center;
        "
      >
        <span>
          {{
            $t('operatManage.UserRoleAuthorizationObj.PermissionTable')
          }}</span
        >
      </div>
      <el-divider />
      <div class="menuTreeBox">
        <el-tree
          :data="menuList"
          :props="defaultMenuProps"
          :show-checkbox="true"
          :check-on-click-node="true"
          :check-strictly="true"
          node-key="id"
          @check="menuTreeCheck"
          ref="treeForm"
          :default-expanded-keys="[1]"
        >
        </el-tree>
      </div>
    </div>
    <div class="menuSettings">
      <div
        style="
          font-size: 14px;
          color: #606266;
          line-height: 1;
          cursor: text;
          position: relative;
          top: 5px;
          margin-left: 10px;
          display: flex;
          align-items: center;
        "
      >
        <span>
          {{
            $t('operatManage.UserRoleAuthorizationObj.PermissionTable')
          }}</span
        >
        <div class="btn" style="margin-left: auto">
          <el-button
            v-if="menuStatus.insert"
            type="primary"
            icon="el-icon-circle-plus-outline"
            size="small"
            @click="adduser"
            :disabled="menuid == null ? true : false"
            >{{ $t('operatManage.UserRoleAuthorizationObj.Added') }}</el-button
          >
          <el-button
            v-if="menuStatus.delete"
            type="danger"
            icon="el-icon-delete"
            size="small"
            @click="deletesUser"
            :disabled="menuid == null ? true : false"
            >{{ $t('operatManage.UserRoleAuthorizationObj.delete') }}</el-button
          >
        </div>
      </div>
      <el-divider class="divider" />
      <el-table
        :data="menuTableData"
        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
          align="center"
          type="index"
          :label="$t('dataManage.styleObj.index')"
        />
        <el-table-column
          prop="name"
          :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="authhandleSizeChange"
          @current-change="authhandleCurrentChange"
          :current-page="rolMenuListData.pageIndex"
          :page-sizes="[10, 20, 30, 40]"
          :page-size="rolMenuListData.pageSize"
          layout="total, sizes, prev, pager, next, jumper"
          :total="roleMenuCount"
        >
        </el-pagination>
      </div>
    </div> -->
    <el-dialog
      :title="$t('operatManage.UserRoleAuthorizationObj.Added')"
      :visible.sync="dialogTableVisible"
@@ -361,7 +196,10 @@
        height="40vh"
        @selection-change="addhandleSelectionChange"
      >
        <el-table-column type="selection" width="55"> </el-table-column>
        <el-table-column
          type="selection"
          width="55"
        > </el-table-column>
        <el-table-column
          align="center"
          type="index"
@@ -373,27 +211,36 @@
        >
        </el-table-column>
      </el-table>
      <div style="margin-top: 20px; text-align: center" class="pagination_box">
      <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-sizes="[10, 20, 50, 100]"
          :page-size="addlistData.pageSize"
          layout="total, sizes, prev, pager, next, jumper"
          :total="addcount"
        >
        </el-pagination>
      </div>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogTableVisible = false">{{
      <div
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="small"
          @click="dialogTableVisible = false"
        >{{
          $t('dataManage.dictionaryManageObj.cancel')
        }}</el-button>
        <el-button
          style="background: #409eff; border: 1px solid #409eff; color: white"
          size="small"
          type="primary"
          @click="addConfirm"
          >{{ $t('dataManage.dictionaryManageObj.confirm') }}</el-button
        >
        >{{ $t('dataManage.dictionaryManageObj.confirm') }}</el-button>
      </div>
    </el-dialog>
  </div>
@@ -404,7 +251,7 @@
import {
  queryDepTree,
  select_Role_ByPageAndCount,
  selectMenuRecursive,
  selectMenuRecursives,
  roleMenuAuthelectByPageForRole,
  menuAuthSelectByPageForRole,
  roleMenuAuthInserts,
@@ -471,7 +318,7 @@
      this.depList = this.treeData(data.result);
    },
    async getMenuTree() {
      const data = await selectMenuRecursive({ name: menuStartName });
      const data = await selectMenuRecursives({ name: menuStartName });
      if (data.code !== 200) {
        return this.$message.error('请求单位报错');
      }
@@ -641,7 +488,7 @@
          this.dialogTableVisible = false;
          this.getRoleMenu();
        })
        .catch(() => {});
        .catch(() => { });
    },
    showPermsMenu(res) {
      switch (res.tag) {
@@ -673,240 +520,28 @@
<style lang="less" scoped>
//@import url(); 引入公共css类
.menuSettings_box {
  border-radius: 10px;
  height: 81%;
  width: 97%;
  position: absolute;
  box-sizing: border-box;
  height: 98%;
  width: 98%;
  padding: 1%;
  .menuSettings_tree {
    display: flex;
    justify-content: space-around;
    width: 100%;
    height: 100%;
    .content_box {
      padding: 10px;
      width: 31%;
      height: 720px;
      border: 1px solid rgb(202, 201, 204);
      width: 30%;
      height: 94%;
      overflow-y: auto;
      overflow-x: hidden;
      border-radius: 5px;
      /deep/ .el-input__inner {
        background-color: transparent !important;
        border: 1px solid;
        color: white;
      }
      /deep/.el-form-item__label {
        color: white;
      }
      /*修改table 表体的背景颜色和文字颜色*/
      /deep/ .el-table {
        background-color: transparent;
        th,
        td {
          background-color: transparent;
        }
        .el-table__expanded-cell {
          background-color: transparent !important;
        }
        // 表头背景色
        th.el-table__cell {
          background-color: #303030;
          color: #fff;
        }
        tr > td {
          background-color: #303030;
          color: #fff;
        }
        // hover效果
        tr:hover > td {
          background-color: rgba(255, 255, 255, 0.1) !important;
        }
        tbody tr:hover {
          background-color: rgba(255, 255, 255, 0.1) !important;
          // text-align: center;
        }
        // 滚动条宽高
        .el-table__body-wrapper::-webkit-scrollbar {
          width: 5px;
          height: 5px;
        }
        .el-table__body-wrapper::-webkit-scrollbar {
          width: 5px;
          /*滚动条宽度*/
          height: 10px;
          /*滚动条高度*/
        }
        /*定义滚动条轨道 内阴影+圆角*/
        .el-table__body-wrapper::-webkit-scrollbar-track {
          box-shadow: 0px 1px 3px #216fe6 inset;
          /*滚动条的背景区域的内阴影*/
          border-radius: 10px;
        }
        /*定义滑块 内阴影+圆角*/
        .el-table__body-wrapper::-webkit-scrollbar-thumb {
          box-shadow: 0px 1px 3px #216fe6 inset;
          border-radius: 6px;
          background-color: #216fe6;
        }
      }
    }
  }
  /deep/ .el-table {
    background-color: transparent;
    th,
    td {
      background-color: transparent;
    }
    .el-table__expanded-cell {
      background-color: transparent !important;
    }
    // 表头背景色
    th.el-table__cell {
      background-color: #303030;
      color: #fff;
    }
    tr > td {
      background-color: #303030;
      color: #fff;
    }
    // hover效果
    tr:hover > td {
      background-color: rgba(255, 255, 255, 0.1) !important;
    }
    tbody tr:hover {
      background-color: rgba(255, 255, 255, 0.1) !important;
      // text-align: center;
    }
    // 滚动条宽高
    .el-table__body-wrapper::-webkit-scrollbar {
      width: 5px;
      height: 5px;
    }
    .el-table__body-wrapper::-webkit-scrollbar {
      width: 5px;
      /*滚动条宽度*/
      height: 10px;
      /*滚动条高度*/
    }
    /*定义滚动条轨道 内阴影+圆角*/
    .el-table__body-wrapper::-webkit-scrollbar-track {
      box-shadow: 0px 1px 3px #216fe6 inset;
      /*滚动条的背景区域的内阴影*/
      border-radius: 10px;
    }
    /*定义滑块 内阴影+圆角*/
    .el-table__body-wrapper::-webkit-scrollbar-thumb {
      box-shadow: 0px 1px 3px #216fe6 inset;
      border-radius: 6px;
      background-color: #216fe6;
    }
  }
  .pagination_box {
    /deep/.el-input__inner {
      background-color: transparent !important;
      border: 1px solid;
      color: white;
    }
    /deep/.el-pagination__total {
      color: white;
    }
    /deep/.el-pagination__jump {
      color: white;
    }
    /deep/.el-pager li.active {
      color: #1890ff;
    }
    /deep/.el-pager li {
      color: white;
      background: transparent;
    }
    /deep/.el-pager li {
      color: white;
    }
    /deep/.btn-prev {
      background: transparent;
    }
    /deep/.btn-next {
      background: transparent;
    }
  }
  /deep/ .el-dialog {
    background: #303030;
  }
  /deep/.el-range-editor.is-active,
  .el-range-editor.is-active:hover,
  .el-select .el-input.is-focus .el-input__inner {
    border: 1px solid;
  }
  /deep/.el-dialog__title {
    color: white;
  }
  .divider {
    margin-top: 8px;
  }
}
</style>
<style>
.el-tree .el-icon-caret-right:before {
  color: white !important; /** 这里是要修改图标的颜色 **/
}
.el-tree {
  color: white !important; /** 这里是要修改图标的颜色 **/
  background: transparent !important;
}
.el-tree-node__content {
  background: transparent !important;
}
.el-tree-node.is-current > .el-tree-node__content {
  background-color: rgba(255, 255, 255, 0.1) !important;
  color: #409eff;
}
/*里面的代码可以根据自己需求去进行更改*/
/* 设置滚动条的样式 */
::-webkit-scrollbar {
  width: 4px;
}
/* 滚动槽 */
::-webkit-scrollbar-track {
  -webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.3);
  border-radius: 10px;
}
/* 滚动条滑块 */
::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: #8b8b8b;
  -webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.5);
}
::-webkit-scrollbar-thumb:window-inactive {
  background: #8b8b8b;
  height: 289px;
}
.el-select-dropdown {
  background: #303030;
  border-color: white;
}
/* //右侧和下方的白边 */
.el-scrollbar__wrap {
  margin-bottom: -20px !important;
  margin-right: -20px !important;
}
.el-select-dropdown__item.hover,
.el-select-dropdown__item:hover {
  background: rgba(0, 0, 0, 0.1) !important;
}
.el-select-dropdown__item {
  color: white;
}
</style>