管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2023-03-20 1669c6b39c36f0a7bd6c62f60cb9198513a84c28
src/views/userManage/roleManage.vue
@@ -1,77 +1,186 @@
<template>
  <div class="logLog_box">
    <My-bread
      :list="[
        `${$t('userManage.userManage')}`,
    <My-bread :list="[
        `${$t('operatManage.operatManage')}`,
        `${$t('userManage.roleManage')}`,
      ]"
    ></My-bread>
      ]"></My-bread>
    <el-divider />
    <div class="inquire">
      <el-form ref="ruleForm" :model="roleForm" :inline="true">
        <el-form-item :label="$t('userManage.RM.roleName')" prop="username">
          <el-input v-model="roleForm.username" />
        </el-form-item>
        <el-form-item
          :label="$t('userManage.RM.ownedSystem')"
          prop="ownedSystem"
        >
          <el-input
    <div
      class="inquire subpage_Div"
      ref="container"
    >
      <el-form
        ref="ruleForm"
        :model="roleForm"
        :inline="true"
      >
        <div class="flex_box">
          <div style="margin-right: auto">
            <el-form-item
              :label="$t('userManage.RM.ownedSystem')"
              prop="ownedSystem"
            >
              <el-select
                :popper-append-to-body="false"
                size="small"
                v-model="roleForm.depValue"
                :placeholder="$t('userManage.RM.ownedSystemHolder')"
                style="width: 200px"
              >
                <el-option
                  :value="roleForm.depid"
                  :label="roleForm.depValue"
                  style="height: auto"
                >
                  <el-tree
                    ref="tree"
                    :data="depList"
                    node-key="id"
                    :props="props"
                    @node-click="handleRouleDepList"
                  />
                </el-option>
              </el-select>
              <!-- <el-input
            v-model="roleForm.value"
            :disabled="true"
            :placeholder="$t('common.pleaseInput')"
          />
          <el-button style="margin-left: 20px" @click="showDepTree(1)">{{
            $t('common.choose')
          }}</el-button>
        </el-form-item>
        <br />
        <el-form-item>
          <el-button @click="InsertFormdialog = true" v-if="menuStatus.insert"
            ><i class="el-icon-circle-plus-outline"></i> &nbsp;{{
          /> -->
            </el-form-item>
            <el-form-item
              :label="$t('userManage.RM.roleName')"
              prop="username"
            >
              <el-input
                v-model="roleForm.username"
                :placeholder="$t('userManage.RM.roleNameHolder')"
                size="small"
                style="width: 200px"
              >
                <i
                  slot="suffix"
                  class="el-icon-search"
                  @click="onSubmit"
                ></i>
              </el-input>
            </el-form-item>
          </div>
          <div>
            <!--            <el-form-item>-->
            <!--              <el-button-->
            <!--                size="small"-->
            <!--                type="primary"-->
            <!--                @click="onSubmit('ruleForm')"-->
            <!--              ><i class="el-icon-search"></i> &nbsp;{{-->
            <!--                  $t("userManage.RM.query")-->
            <!--                }}</el-button>-->
            <!--            </el-form-item>-->
            <el-form-item>
              <el-button
                type="success"
                size="small"
                @click="setInsertFormdialog"
                v-if="menuStatus.insert"
              ><i class="el-icon-circle-plus-outline"></i> &nbsp;{{
                  $t("userManage.RM.add")
                }}</el-button>
            </el-form-item>
            <el-form-item>
              <el-button
                type="danger"
                size="small"
                @click="handleDelete()"
                v-if="menuStatus.delete"
              ><i class="el-icon-delete"></i>&nbsp;{{
                  $t("common.delete")
                }}</el-button>
            </el-form-item>
            <el-form-item>
              <el-button
                type="info"
                size="small"
                @click="resetForm('ruleForm')"
              ><i class="el-icon-delete"></i>&nbsp;{{
                  $t("userManage.RM.reset")
                }}</el-button>
            </el-form-item>
          </div>
        </div>
        <!-- <el-form-item>
          <el-button
            size="small"
            type="primary"
            @click="showDepTree(1)"
          >{{ $t('common.choose') }}</el-button>
        </el-form-item> -->
        <!-- <el-form-item style="float:right">
          <el-button
            type="success"
            size="small"
            @click="setInsertFormdialog "
            v-if="menuStatus.insert"
          ><i class="el-icon-circle-plus-outline"></i> &nbsp;{{
              $t('userManage.RM.add')
            }}</el-button
          >
            }}</el-button>
        </el-form-item>
        <el-form-item>
          <el-button @click="onSubmit('ruleForm')"
            ><i class="el-icon-search"></i> &nbsp;{{
        <el-form-item style="float:right">
          <el-button
            size="small"
            type="primary"
            @click="onSubmit('ruleForm')"
          ><i class="el-icon-search"></i> &nbsp;{{
              $t('userManage.RM.query')
            }}</el-button
          >
            }}</el-button>
        </el-form-item>
        <el-form-item>
          <el-button @click="resetForm('ruleForm')"
            ><i class="el-icon-delete"></i>&nbsp;{{
        <el-form-item style="float:right">
          <el-button
            type="info"
            size="small"
            @click="resetForm('ruleForm')"
          ><i class="el-icon-delete"></i>&nbsp;{{
              $t('userManage.RM.reset')
            }}</el-button
          >
            }}</el-button>
        </el-form-item>
        <el-form-item>
          <el-button @click="handleDelete()" v-if="menuStatus.delete"
            ><i class="el-icon-delete"></i>&nbsp;{{
        <el-form-item style="float:right">
          <el-button
            type="danger"
            size="small"
            @click="handleDelete()"
            v-if="menuStatus.delete"
          ><i class="el-icon-delete"></i>&nbsp;{{
              $t('common.delete')
            }}</el-button
          >
        </el-form-item>
            }}</el-button>
        </el-form-item> -->
      </el-form>
    </div>
    <div class="table_box">
    <div class="dividing-line"></div>
    <div
      class="table_box subpage_Div"
      :style="styleVar"
    >
      <el-table
        :data="tableData"
        stripe
        style="width: 100%"
        border
        height="calc(100% - 45px)"
        @selection-change="handleSelectionChange"
        height="99%"
      >
        <el-table-column type="selection" width="55" />
        <el-table-column
          type="selection"
          width="55"
        />
        <el-table-column
          align="center"
          type="index"
          :label="$t('userManage.RM.index')"
          width="70px"
        />
        <el-table-column align="center" prop="id" v-if="false" />
        <el-table-column
          align="center"
          prop="id"
          v-if="false"
        />
        <el-table-column
          align="center"
          prop="name"
@@ -134,27 +243,31 @@
        >
          <template slot-scope="scope">
            <el-button
              type="primary"
              @click="showDetail(scope.$index, scope.row)"
              size="small"
              plain
            >{{ $t("common.see") }}</el-button>
            <el-button
              v-if="menuStatus.update"
              type="warning"
              @click="handleEdit(scope.$index, scope.row)"
              size="small"
              >{{ $t('common.update') }}</el-button
            >
            <el-button
              @click="showDetail(scope.$index, scope.row)"
              type="primary"
              size="small"
              >{{ $t('common.see') }}</el-button
            >
              plain
            >{{ $t("common.update") }}</el-button>
          </template>
        </el-table-column>
      </el-table>
      <div style="margin-top: 25px" class="pagination_box">
      <div
        style="margin-top: 10px"
        class="pagination_box"
      >
        <el-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
          :current-page="listData.pageIndex"
          :page-sizes="[10, 20, 30, 40]"
          :page-sizes="[10, 20, 50, 100]"
          :page-size="listData.pageSize"
          layout="total, sizes, prev, pager, next, jumper"
          :total="count"
@@ -165,197 +278,327 @@
    <el-dialog
      :title="$t('userManage.RM.insertRole')"
      top="15vh"
      width="80vh"
      :before-close="handleClose"
      style="overflow: hidden"
      :visible.sync="InsertFormdialog"
    >
      <el-form :model="insertform">
        <el-form-item
          :label="$t('userManage.RM.roleName')"
          :label-width="formLabelWidth"
      <div style="height: 500px; overflow: auto">
        <el-form
          :model="insertform"
          label-position="top"
        >
          <el-input v-model="insertform.name" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('userManage.RM.ownedSystem')"
          :label-width="formLabelWidth"
          :prop="insertform.depValue"
          :rules="[{ required: true, message: '不能为空' }]"
        >
          <el-input
          <el-form-item
            :label="$t('userManage.RM.roleName')"
            :label-width="formLabelWidth"
          >
            <el-input
              style="width:85%"
              v-model="insertform.name"
              autocomplete="off"
            ></el-input>
          </el-form-item>
          <el-form-item
            :label="$t('userManage.RM.ownedSystem')"
            :label-width="formLabelWidth"
            :prop="insertform.depValue"
            :rules="[{ required: true, message: '不能为空' }]"
          >
            <el-select
              :popper-append-to-body="false"
              v-model="insertform.depValue"
              placeholder="请选择"
              style="width:85%"
            >
              <el-option
                :value="insertform.depid"
                :label="insertform.depValue"
                style="height: auto"
              >
                <el-tree
                  ref="tree"
                  :data="depList"
                  node-key="id"
                  :props="props"
                  @node-click="handleDepList"
                />
              </el-option>
            </el-select>
            <!-- <el-input
            v-model="insertform.depValue"
            :disabled="true"
            :placeholder="$t('common.pleaseInput')"
          />
          <el-button style="margin-left: 20px" @click="showDepTree(2)">{{
            $t('common.choose')
          }}</el-button>
        </el-form-item>
        <el-form-item
          :label="$t('userManage.RM.describe')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.descr" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('userManage.RM.isAdmin')"
          :label-width="formLabelWidth"
        >
          <el-radio v-model="insertform.isAdmin" label="1">是</el-radio>
          <el-radio v-model="insertform.isAdmin" label="0">否</el-radio>
        </el-form-item>
        <el-form-item
          :label="$t('userManage.RM.remarks')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.bak" autocomplete="off"></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="insertFromClose">{{ $t('common.close') }}</el-button>
        <el-button type="primary" @click="insertFromData">{{
          $t('common.confirm')
          <el-button
            size="small"
            type="primary"
            style="margin-left:10px"
            @click="showDepTree(2)"
          >{{ $t('common.choose') }}</el-button> -->
          </el-form-item>
          <el-form-item
            :label="$t('userManage.RM.describe')"
            :label-width="formLabelWidth"
          >
            <el-input
              style="width:85%"
              v-model="insertform.descr"
              autocomplete="off"
            ></el-input>
          </el-form-item>
          <el-form-item
            :label="$t('userManage.RM.isAdmin')"
            :label-width="formLabelWidth"
          >
            <el-radio
              v-model="insertform.isAdmin"
              label="1"
            >是</el-radio>
            <el-radio
              v-model="insertform.isAdmin"
              label="0"
            >否</el-radio>
          </el-form-item>
          <el-form-item
            :label="$t('userManage.RM.remarks')"
            :label-width="formLabelWidth"
          >
            <el-input
              style="width:85%"
              v-model="insertform.bak"
              autocomplete="off"
            ></el-input>
          </el-form-item>
        </el-form>
      </div>
      <div
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="small"
          @click="insertFromClose"
        >{{
          $t("common.close")
        }}</el-button>
        <el-button
          type="primary"
          size="small"
          @click="insertFromData"
        >{{
          $t("common.confirm")
        }}</el-button>
      </div>
    </el-dialog>
    <el-dialog
      :title="$t('userManage.RM.updateRole')"
      top="15vh"
      width="80vh"
      style="overflow: hidden"
      :visible.sync="UpdateFormdialog"
      :before-close="handleCloseEdit"
    >
      <el-form :model="updateform">
        <el-form-item
          :label="$t('userManage.RM.roleName')"
          :label-width="formLabelWidth"
      <div style="height: 500px; overflow: auto">
        <el-form
          :model="updateform"
          label-position="top"
        >
          <el-input v-model="updateform.name" autocomplete="off"></el-input>
        </el-form-item>
          <el-form-item
            :label="$t('userManage.RM.roleName')"
            :label-width="formLabelWidth"
          >
            <el-input
              v-model="updateform.name"
              autocomplete="off"
              style="width:85%"
            ></el-input>
          </el-form-item>
        <el-form-item
          :label="$t('userManage.RM.ownedSystem')"
          :label-width="formLabelWidth"
          :prop="updateform.depValue"
        >
          <el-input
          <el-form-item
            :label="$t('userManage.RM.ownedSystem')"
            :label-width="formLabelWidth"
            :prop="updateform.depValue"
          >
            <el-select
              :popper-append-to-body="false"
              v-model="updateform.depValue"
              placeholder="请选择"
              style="width:85%"
            >
              <el-option
                :value="updateform.depid"
                :label="updateform.depValue"
                style="height: auto"
              >
                <el-tree
                  ref="tree"
                  :data="depList"
                  node-key="id"
                  :props="props"
                  @node-click="handleUpdataDepList"
                />
              </el-option>
            </el-select>
            <!-- <el-input
            v-model="updateform.depValue"
            :disabled="true"
            :placeholder="$t('common.pleaseInput')"
          />
          <el-button style="margin-left: 20px" @click="showDepTree(3)">{{
            $t('common.choose')
          }}</el-button>
        </el-form-item>
        <el-form-item
          :label="$t('userManage.RM.isAdmin')"
          :label-width="formLabelWidth"
        >
          <el-radio v-model="updateform.isAdmin" label="1">是</el-radio>
          <el-radio v-model="updateform.isAdmin" label="0">否</el-radio>
        </el-form-item>
        <el-form-item
          :label="$t('userManage.RM.describe')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="updateform.descr" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item
          :label="$t('userManage.RM.remarks')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="updateform.bak" autocomplete="off"></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="updateFromClose">{{ $t('common.close') }}</el-button>
        <el-button type="primary" @click="updateFromData">{{
          $t('common.confirm')
          <el-button
            size="small"
            type="primary"
            style="margin-left:10px"
            @click="showDepTree(3)"
          >{{ $t('common.choose') }}</el-button> -->
          </el-form-item>
          <el-form-item
            :label="$t('userManage.RM.isAdmin')"
            :label-width="formLabelWidth"
          >
            <el-radio
              v-model="updateform.isAdmin"
              label="1"
            >是</el-radio>
            <el-radio
              v-model="updateform.isAdmin"
              label="0"
            >否</el-radio>
          </el-form-item>
          <el-form-item
            :label="$t('userManage.RM.describe')"
            :label-width="formLabelWidth"
          >
            <el-input
              v-model="updateform.descr"
              autocomplete="off"
              style="width:85%"
            ></el-input>
          </el-form-item>
          <el-form-item
            :label="$t('userManage.RM.remarks')"
            :label-width="formLabelWidth"
          >
            <el-input
              v-model="updateform.bak"
              autocomplete="off"
              style="width:85%"
            ></el-input>
          </el-form-item>
        </el-form>
      </div>
      <div
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="small"
          @click="updateFromClose"
        >{{
          $t("common.close")
        }}</el-button>
        <el-button
          type="primary"
          size="small"
          @click="updateFromData"
        >{{
          $t("common.confirm")
        }}</el-button>
      </div>
    </el-dialog>
    <div class="leftTree" v-if="showCata">
    <div
      class="leftTree subpage_Div box_div"
      v-if="showCata"
    >
      <div class="treeBox">
        <role-dep-tree></role-dep-tree>
      </div>
      <div class="btnBox">
        <el-button type="primary" size="small" @click="selectCataName"
          >确定</el-button
        >
        <el-button type="primary" size="small" @click="showCata = false"
          >取消</el-button
        >
        <el-button
          type="primary"
          size="small"
          @click="selectCataName"
        >确定</el-button>
        <el-button
          type="info"
          size="small"
          @click="showCata = false"
        >取消</el-button>
      </div>
    </div>
    <div class="infoBox" v-show="showinfoBox">
      <el-card>
        <div slot="header" class="clearfix">
          <span>{{ $t('dataManage.styleObj.deInformation') }}</span>
          <div style="float: right; cursor: pointer" @click="closeDetial">
    <div
      class="infoBox_box"
      v-show="showinfoBox"
    >
      <div class="infoBox box_div subpage_Div">
        <div
          slot="header"
          class="clearfix"
        >
          <span>{{ $t("dataManage.styleObj.deInformation") }}</span>
          <div
            style="float: right; cursor: pointer"
            @click="closeDetial"
          >
            <i class="el-icon-close"></i>
          </div>
        </div>
        <el-divider></el-divider>
        <div class="contentBox">
          <p>
            <label> {{ $t('userManage.RM.roleName') }}:</label>
            <label> {{ $t("userManage.RM.roleName") }}:</label>
            <label class="boxlabel">{{ itemdetail.name }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.RM.ownedSystem') }}:</label>
            <label> {{ $t("userManage.RM.ownedSystem") }}:</label>
            <label class="boxlabel">{{ itemdetail.depName }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.RM.isAdmin') }}:</label>
            <label> {{ $t("userManage.RM.isAdmin") }}:</label>
            <label class="boxlabel">{{ itemdetail.admin }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.RM.describe') }}:</label>
            <label> {{ $t("userManage.RM.describe") }}:</label>
            <label class="boxlabel">{{ itemdetail.descr }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.RM.creationuser') }}:</label>
            <label> {{ $t("userManage.RM.creationuser") }}:</label>
            <label class="boxlabel">{{ itemdetail.createUser }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.RM.creationtime') }}:</label>
            <label> {{ $t("userManage.RM.creationtime") }}:</label>
            <label class="boxlabel">{{ itemdetail.createTime }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.RM.updateonuser') }}:</label>
            <label class="boxlabel">{{ itemdetail.UpdateUser }}</label>
            <label> {{ $t("userManage.RM.updateonuser") }}:</label>
            <label class="boxlabel">{{ itemdetail.updateUser }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.RM.updateontime') }}:</label>
            <label> {{ $t("userManage.RM.updateontime") }}:</label>
            <label class="boxlabel">{{ itemdetail.updateTime }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.RM.remarks') }}:</label>
            <label> {{ $t("userManage.RM.remarks") }}:</label>
            <label class="boxlabel">{{ itemdetail.bak }}</label>
          </p>
          <el-divider></el-divider>
        </div>
      </el-card>
      </div>
    </div>
  </div>
</template>
<script>
import moment from 'moment';
import MyBread from '../../components/MyBread.vue';
import roleDepTree from './roleDepTree.vue';
import moment from "moment";
import MyBread from "../../components/MyBread.vue";
import roleDepTree from "./roleDepTree.vue";
import {
  select_Role_ByPageAndCount,
  selectdepTab,
@@ -363,7 +606,7 @@
  deleteRoles,
  selectDep,
  updateRole,
} from '../../api/api';
} from "../../api/api";
export default {
  //import引入的组件需要注入到对象中才能使用
  components: {
@@ -372,18 +615,32 @@
  },
  data() {
    return {
      props: {
        label: "name",
        value: "id",
        children: "children",
        checkStrictly: true,
        emitPath: false,
      },
      depList: [],
      showinfoBox: false,
      showCata: false,
      formLabelWidth: '120px',
      formLabelWidth: "120px",
      InsertFormdialog: false,
      UpdateFormdialog: false,
      roleForm: {},
      cataName: '',
      depValue: '',
      roleForm: {
        depid: "",
        depValue: "",
      },
      cataName: "",
      depValue: "",
      elTreeFlag: 0,
      path_id: '',
      path_id: "",
      tableData: [],
      insertform: {},
      insertform: {
        depValue: "",
        depid: "",
      },
      updateform: {},
      count: 0,
      selData: [],
@@ -401,9 +658,61 @@
        insert: false,
        update: false,
      },
      tableHeight: 0,
      timer: 0,
      styleVar: {
        height: "calc(100% - 109px)",
      },
    };
  },
  methods: {
    onResize() {
      this.timer && clearTimeout(this.timer);
      this.timer = setTimeout(() => {
        this.calHeight();
      }, 500);
    },
    calHeight() {
      this.$nextTick(() => {
        const rect = this.$refs.container.getBoundingClientRect();
        this.tableHeight = `${rect.height + 97}px`;
        // this.styleVar["height"] = `calc(100% - ${rect.height + 97}px)`;
        this.styleVar["height"] = `calc(100% - ${rect.height + 30}px)`;
      });
    },
    handleRouleDepList(data, node, nodeData) {
      this.roleForm.depid = data.id;
      this.roleForm.depValue = data.name;
    },
    handleDepList(data, node, nodeData) {
      this.insertform.depid = data.id;
      this.insertform.depValue = data.name;
    },
    handleUpdataDepList(data, node, nodeData) {
      this.updateform.depid = data.id;
      this.updateform.depValue = data.name;
    },
    setInsertFormdialog() {
      this.InsertFormdialog = true;
    },
    treeData(source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
      return cloneData.filter((father) => {
        // 循环所有项
        let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据
        branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值
        // 属于同一对象问题,例如:令 a=b、c=1 ,然后再令 b.c=c , 那么 a.c=b.c=c=1 ;同理,后续令 c.d=2 ,那么 a.c.d 也是=2;
        // 由此循环多次后,就能形成相应的树形数据结构
        return father.pid == 0; // 返回一级菜单
      });
    },
    async getDepList() {
      const data = await selectdepTab();
      if (data.code != 200) {
        return this.$message.error("单位列表调用失败");
      }
      this.depList = this.treeData(data.result);
    },
    closeDetial() {
      this.showinfoBox = false;
      this.itemdetail = {};
@@ -417,8 +726,11 @@
      this.itemdetail.updateTime = this.formomentTime(
        this.itemdetail.updateTime
      );
      this.itemdetail.createUser = this.itemdetail.createName;
      this.itemdetail.updateUser = this.itemdetail.updateName;
      this.itemdetail.admin =
        parseInt(this.itemdetail.isAdmin) === 0 ? '否' : '是';
        parseInt(this.itemdetail.isAdmin) === 0 ? "否" : "是";
    },
    handleSelectionChange(val) {
      this.multipleSelection = val;
@@ -431,7 +743,7 @@
      if (date === undefined || date === null) {
        return;
      }
      return moment(parseInt(date)).format('YYYY-MM-DD HH:mm:ss');
      return moment(parseInt(date)).format("YYYY-MM-DD HH:mm:ss");
    },
    showDepTree(res) {
      this.showCata = true;
@@ -441,14 +753,14 @@
      this.cataName = this.$store.state.catalogueName;
      this.path_id = this.$store.state.cataNode.id;
      var value;
      if (this.cataName.indexOf('>') != -1) {
        var data = this.$store.state.catalogueName.split('>');
      if (this.cataName.indexOf(">") != -1) {
        var data = this.$store.state.catalogueName.split(">");
        value = data[data.length - 1];
      } else {
        value = this.$store.state.catalogueName;
      }
      this.$store.commit('changeCata', ''); //清空state的面包屑
      this.$store.commit('changeNode', ''); //清空state的节点对象
      this.$store.commit("changeCata", ""); //清空state的面包屑
      this.$store.commit("changeNode", ""); //清空state的节点对象
      this.showCata = false;
      switch (this.elTreeFlag) {
        case 1:
@@ -466,16 +778,16 @@
      }
    },
    async getRoleTabelData() {
      if (this.listData.tab == '') {
      if (this.listData.tab == "") {
        delete this.listData.tab;
      }
      this.listData.name = this.roleForm.username;
      this.listData.depName = this.roleForm.value;
      this.listData.depid = this.roleForm.depid;
      const data = await select_Role_ByPageAndCount(this.listData);
      if (data.code != 200) {
        this.$message.error('列表调用失败');
        this.$message.error("列表调用失败");
      }
      console.log(data);
      this.tableData = data.result;
      this.count = data.count;
    },
@@ -483,7 +795,7 @@
      this.selectData = [];
      const data = await selectdepTab();
      if (data.code != 200) {
        this.$message.error('下拉调用失败');
        this.$message.error("下拉调用失败");
      }
      data.result.forEach((e) => {
        if (e) {
@@ -495,14 +807,18 @@
      });
    },
    insertFromClose() {
      this.InsertFormdialog = false;
      this.insertform = {};
      this.$confirm("关闭后无法保存,是否关闭?")
        .then((_) => {
          this.InsertFormdialog = false;
          this.insertform = {};
        })
        .catch((_) => { });
    },
    async insertFromData() {
      if (this.insertform.depValue == null) {
        this.$message({
          message: '请选择角色所属单位',
          type: 'warning',
          message: "请选择角色所属单位",
          type: "warning",
        });
        return;
      }
@@ -511,26 +827,31 @@
        this.InsertFormdialog = false;
        this.insertform = {};
        this.$message({
          message: '添加成功!',
          type: 'success',
          message: "添加成功!",
          type: "success",
        });
        this.getRoleTabelData();
      } else {
        this.$message({
          message: '添加失败!',
          type: 'warning',
          message: "添加失败!",
          type: "warning",
        });
      }
    },
    updateFromClose() {
      this.UpdateFormdialog = false;
      this.updateform = {};
      this.$confirm("关闭后无法保存,是否关闭?")
        .then((_) => {
          this.UpdateFormdialog = false;
          this.updateform = {};
          this.getRoleTabelData();
        })
        .catch((_) => { });
    },
    async updateFromData() {
      if (this.updateform.depValue == null) {
        this.$message({
          message: '请选择角色所属单位',
          type: 'warning',
          message: "请选择角色所属单位",
          type: "warning",
        });
        return;
      }
@@ -540,37 +861,50 @@
        this.UpdateFormdialog = false;
        this.updateform = {};
        this.$message({
          message: '修改成功!',
          type: 'success',
          message: "修改成功!",
          type: "success",
        });
        this.getRoleTabelData();
      } else {
        this.$message({
          message: '修改失败!',
          type: 'warning',
          message: "修改失败!",
          type: "warning",
        });
      }
    },
    async handleDelete() {
    handleDelete() {
      var std = [];
      for (var i in this.multipleSelection) {
        std.push(this.multipleSelection[i].id);
      }
      const data = await deleteRoles({ ids: std.toString() });
      this.$confirm("此操作将永久删除该角色, 是否继续?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(async () => {
          const data = await deleteRoles({ ids: std.toString() });
      if (data.code == 200) {
        this.InsertFormdialog = false;
        this.$message({
          message: '删除成功!',
          type: 'success',
          if (data.code == 200) {
            this.InsertFormdialog = false;
            this.$message({
              message: "删除成功!",
              type: "success",
            });
            this.getRoleTabelData();
          } else {
            this.$message({
              message: "删除失败!",
              type: "warning",
            });
          }
        })
        .catch(() => {
          this.$message({
            type: "info",
            message: "已取消删除",
          });
        });
        this.getRoleTabelData();
      } else {
        this.$message({
          message: '删除失败!',
          type: 'warning',
        });
      }
    },
    handleSizeChange(val) {
      this.listData.pageSize = val;
@@ -584,7 +918,12 @@
      this.updateform = row;
      this.updateform.isAdmin = row.isAdmin.toString();
      const data = await selectDep({ id: row.depid });
      this.updateform.depValue = data.result.name;
      if (data.result == null) {
        this.updateform.depValue = null;
      } else {
        this.updateform.depValue = data.result.name;
      }
      this.UpdateFormdialog = true;
    },
    onSubmit() {
@@ -597,17 +936,40 @@
    },
    showPermsMenu(res) {
      switch (res.tag) {
        case '/delete':
        case "/delete":
          this.menuStatus.delete = true;
          break;
        case '/insert':
        case "/insert":
          this.menuStatus.insert = true;
          break;
        case '/update':
        case "/update":
          this.menuStatus.update = true;
          break;
      }
    },
    handleClose() {
      this.$confirm("关闭后无法保存,是否关闭?")
        .then((_) => {
          this.InsertFormdialog = false
        })
        .catch((_) => { });
    },
    handleCloseEdit() {
      this.$confirm("关闭后无法保存,是否关闭?")
        .then((_) => {
          this.UpdateFormdialog = false
          this.getRoleTabelData();
        })
        .catch((_) => { });
    },
  },
  beforeDestroy() {
    this.timer && clearTimeout(this.timer);
    window.removeEventListener("resize", this.onResize);
  },
  mounted() {
    window.addEventListener("resize", this.onResize);
    this.calHeight();
  },
  created() {
    var val = this.$store.state.currentPerms;
@@ -618,17 +980,17 @@
      }
    }
    this.getRoleTabelData();
    this.getSelectDepTab();
    this.getDepList();
  },
};
</script>
<style lang="less" scoped>
//@import url(); 引入公共css类
.logLog_box {
  border-radius: 10px;
  height: 100%;
  height: 98%;
  width: 98%;
  padding: 0.5%;
  box-sizing: border-box;
  .el-input {
    width: 300px;
  }
@@ -639,15 +1001,10 @@
    left: 37%;
    width: 400px;
    height: 600px;
    background: white;
    border: 1px solid #000;
    color: white;
    .treeBox {
      height: 550px;
      overflow: auto;
      /deep/ .el-tree-node__content:hover {
        background-color: rgb(153, 153, 153);
      }
    }
    .btnBox {
      width: 123px;
@@ -656,173 +1013,23 @@
    }
  }
  .inquire {
    height: 115px;
    overflow: auto;
    padding: 10px;
    margin-top: 20px;
    height: auto;
    //padding: 8px;
    //margin-top: 20px;
    border-radius: 5px;
    border: 1px solid rgb(202, 201, 204);
    margin-bottom: 10px;
    //margin-bottom: 20px;
    // width: calc(100% - 22px);
    .el-form-item {
      margin: 7px;
    }
    /deep/ .el-input__inner {
      background-color: transparent !important;
      border: 1px solid;
      color: white;
    }
    /deep/.el-form-item__label {
      color: white;
      margin: 5px;
    }
  }
  .table_box {
    height: 470px;
    padding: 10px;
    border-radius: 5px;
    border: 1px solid rgb(202, 201, 204);
    /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;
    }
    /*修改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.3) !important;
      }
      tbody tr:hover {
        background-color: rgba(255, 255, 255, 0.3) !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;
      }
    }
  }
  .text-center {
    text-align: center;
  }
  .infoBox {
    width: 500px;
    border: 1px solid #eee;
    position: absolute;
    z-index: 100;
    top: 25%;
    right: 12%;
    background-color: #fff;
    .el-card {
      background-color: transparent;
      span {
        font-size: 16px;
        font-weight: 600;
      }
    }
    .contentBox {
      margin: 0 aotu 10px;
      height: 485px;
      overflow: auto;
      p {
        // background-color: #bfa;
        // margin-bottom: 10px;
        font-size: 14px;
      }
      .boxlabel {
        margin-left: 10px;
      }
    }
    /* 整体样式 */
    .contentBox::-webkit-scrollbar {
      width: 6px;
      height: 6px;
    }
    /* 滚动条 */
    .contentBox::-webkit-scrollbar-thumb {
      background-color: #b3d8ff;
      border-radius: 6px;
    }
    /* 滚动条鼠标经过样式 */
    .contentBox::-webkit-scrollbar-thumb:hover {
      background-color: #b3d8ff;
      border-radius: 6px;
    }
    /* 滚动条轨道 */
    .contentBox::-webkit-scrollbar-track-piece {
      -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
      border-radius: 10px;
      background: #ededed;
    }
  }
}
</style>