管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2023-02-06 4e3d77dcbe421a4d6611ebcdd1ac3165cb36ad4b
src/views/maintenance/userManagement.vue
@@ -1,15 +1,20 @@
<template>
  <div class="userInfo_box">
    <My-bread
      :list="[
    <My-bread :list="[
        `${$t('operatManage.operatManage')}`,
        `${$t('userManage.userManage')}`,
      ]"
    ></My-bread>
      ]"></My-bread>
    <el-divider />
    <div class="inquire">
      <el-form ref="queryForm" :model="queryForm" :inline="true">
        <el-form-item prop="uname" :label="$t('userManage.userInfoObj.uname')">
    <div class="inquire subpage_Div">
      <el-form
        ref="queryForm"
        :model="queryForm"
        :inline="true"
      >
        <el-form-item
          prop="uname"
          :label="$t('userManage.userInfoObj.uname')"
        >
          <el-input v-model="queryForm.uname" />
        </el-form-item>
        <el-form-item
@@ -20,6 +25,7 @@
            v-model="queryForm.depid"
            :options="treeOptions"
            filterable
            ref="cascaderHandle"
            @change="handleChange"
            :show-all-levels="false"
            :props="{
@@ -37,8 +43,8 @@
            size="small"
            @click="queryInfo()"
            icon="el-icon-search"
            style="background: #409eff; border: 1px solid #409eff; color: white"
            >{{ $t('operatManage.ELM.search') }}
            type="primary"
          >{{ $t('operatManage.ELM.search') }}
          </el-button>
        </el-form-item>
        <el-form-item>
@@ -54,6 +60,7 @@
        <br />
        <el-form-item>
          <el-button
            v-if="menuStatus.insert"
            type="success"
            size="small"
            @click="showAddDialog"
@@ -64,6 +71,7 @@
        </el-form-item>
        <el-form-item>
          <el-button
            v-if="menuStatus.delete"
            type="danger"
            size="small"
            @click="deleteUserInfo"
@@ -74,24 +82,27 @@
        </el-form-item>
        <el-form-item v-show="setbatchFlag">
          <el-button
            v-if="menuStatus.update"
            size="small"
            @click="editPwd"
            type="warning"
            icon="el-icon-unlock"
            >{{ $t('common.changepassWord') }}
          >{{ $t('common.changepassWord') }}
          </el-button>
        </el-form-item>
      </el-form>
    </div>
    <div class="table_box">
    <div class="table_box subpage_Div">
      <el-table
        :data="tableData"
        border
        style="width: 100%"
        height="99%"
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="55" />
        <el-table-column
          type="selection"
          width="55"
        />
        <el-table-column
          align="center"
          type="index"
@@ -142,7 +153,8 @@
          prop="idcard"
          width="200px"
          :label="$t('userManage.userInfoObj.idcard')"
        /><el-table-column
        />
        <el-table-column
          align="center"
          prop="job"
          width="200px"
@@ -179,11 +191,23 @@
          :label="$t('userManage.userInfoObj.status')"
        >
          <template slot-scope="scope">
            <el-tag v-if="scope.row.status == 0" type="success">正常</el-tag>
            <el-tag v-if="scope.row.status == 1" type="info">禁用</el-tag>
            <el-tag v-if="scope.row.status == 2" type="warning">删除</el-tag>
            <el-tag
              v-if="scope.row.status == 0"
              type="success"
            >正常</el-tag>
            <el-tag
              v-if="scope.row.status == 1"
              type="info"
            >禁用</el-tag>
            <el-tag
              v-if="scope.row.status == 2"
              type="warning"
            >删除</el-tag>
            <el-tag v-if="scope.row.status == 3">申请</el-tag>
            <el-tag v-if="scope.row.status == 4" type="danger">拒批</el-tag>
            <el-tag
              v-if="scope.row.status == 4"
              type="danger"
            >拒批</el-tag>
          </template>
        </el-table-column>
        <el-table-column
@@ -192,25 +216,27 @@
          width="200px"
          :label="$t('userManage.userInfoObj.bak')"
        />
        <el-table-column
        <!-- <el-table-column
          :label="$t('common.operate')"
          width="80px"
          fixed="right"
          v-if="menuStatus.update"
        >
          <template slot-scope="scope">
            <!-- <el-button type="primary" size="small">修改</el-button> -->
            <el-button
              type="warning"
              plain
              @click="editInfo(scope.row)"
              size="mini"
              >{{ $t('common.edit') }}</el-button
            >
              size="small"
            >{{ $t('common.edit') }}</el-button>
          </template>
        </el-table-column>
        </el-table-column> -->
      </el-table>
      <div style="margin-top: 25px" class="pagination_box">
      <div
        style="margin-top: 25px"
        class="pagination_box"
      >
        <el-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
@@ -247,8 +273,14 @@
            v-if="behavior == '新增用户'"
            :label-width="formLabelWidth"
          >
            <el-input v-model="editForm.uid" autocomplete="off"></el-input>
            <div class="isNewUser" v-if="isNewUser">
            <el-input
              v-model="editForm.uid"
              autocomplete="off"
            ></el-input>
            <div
              class="isNewUser"
              v-if="isNewUser"
            >
              <img src="../../assets/img/success.png" />
              {{ $t('userManage.userInfoObj.uid') }}
            </div>
@@ -277,7 +309,7 @@
              show-password
            ></el-input>
          </el-form-item> -->
          <el-form-item
          <!-- <el-form-item
            prop="pwd"
            v-if="behavior == '新增用户'"
            :label="$t('userManage.userInfoObj.pwd')"
@@ -289,8 +321,8 @@
              autocomplete="off"
              show-password
            ></el-input>
          </el-form-item>
          <el-form-item
          </el-form-item> -->
          <!-- <el-form-item
            prop="checkPass"
            v-if="behavior == '新增用户'"
            :label="$t('userManage.userInfoObj.confirmPassword')"
@@ -302,13 +334,16 @@
              v-model="editForm.checkPass"
              autocomplete="off"
            ></el-input>
          </el-form-item>
          </el-form-item> -->
          <el-form-item
            prop="uname"
            :label="$t('userManage.userInfoObj.username')"
            :label-width="formLabelWidth"
          >
            <el-input v-model="editForm.uname" autocomplete="off"></el-input>
            <el-input
              v-model="editForm.uname"
              autocomplete="off"
            ></el-input>
          </el-form-item>
          <el-form-item
            prop="sex"
@@ -334,7 +369,10 @@
            :label="$t('userManage.userInfoObj.nativePlace')"
            :label-width="formLabelWidth"
          >
            <el-input v-model="editForm.natives" autocomplete="off"></el-input>
            <el-input
              v-model="editForm.natives"
              autocomplete="off"
            ></el-input>
          </el-form-item>
          <el-form-item
            prop="depid"
@@ -346,6 +384,7 @@
              :options="treeOptions"
              filterable
              clearable
              ref="editcaderHandle"
              @change="editChange"
              :show-all-levels="false"
              :props="{
@@ -363,7 +402,10 @@
            :label="$t('userManage.userInfoObj.identityCard')"
            :label-width="formLabelWidth"
          >
            <el-input v-model="editForm.idcard" autocomplete="off"></el-input>
            <el-input
              v-model="editForm.idcard"
              autocomplete="off"
            ></el-input>
          </el-form-item>
        </div>
        <div style="width: 45%">
@@ -372,35 +414,50 @@
            :label="$t('userManage.userInfoObj.job')"
            :label-width="formLabelWidth"
          >
            <el-input v-model="editForm.job" autocomplete="off"></el-input>
            <el-input
              v-model="editForm.job"
              autocomplete="off"
            ></el-input>
          </el-form-item>
          <el-form-item
            prop="edu"
            :label="$t('userManage.userInfoObj.edu')"
            :label-width="formLabelWidth"
          >
            <el-input v-model="editForm.edu" autocomplete="off"></el-input>
            <el-input
              v-model="editForm.edu"
              autocomplete="off"
            ></el-input>
          </el-form-item>
          <el-form-item
            prop="addr"
            :label="$t('userManage.userInfoObj.addr')"
            :label-width="formLabelWidth"
          >
            <el-input v-model="editForm.addr" autocomplete="off"></el-input>
            <el-input
              v-model="editForm.addr"
              autocomplete="off"
            ></el-input>
          </el-form-item>
          <el-form-item
            prop="email"
            :label="$t('userManage.userInfoObj.email')"
            :label-width="formLabelWidth"
          >
            <el-input v-model="editForm.email" autocomplete="off"></el-input>
            <el-input
              v-model="editForm.email"
              autocomplete="off"
            ></el-input>
          </el-form-item>
          <el-form-item
            prop="contact"
            :label="$t('userManage.userInfoObj.contact')"
            :label-width="formLabelWidth"
          >
            <el-input v-model="editForm.contact" autocomplete="off"></el-input>
            <el-input
              v-model="editForm.contact"
              autocomplete="off"
            ></el-input>
          </el-form-item>
          <el-form-item
            prop="status"
@@ -426,33 +483,50 @@
            :label="$t('userManage.userInfoObj.remarks')"
            :label-width="formLabelWidth"
          >
            <el-input v-model="editForm.bak" autocomplete="off"></el-input>
            <el-input
              v-model="editForm.bak"
              autocomplete="off"
            ></el-input>
          </el-form-item>
        </div>
      </el-form>
      <div v-if="behavior == '修改信息'" slot="footer" class="dialog-footer">
        <el-button size="medium" type="info" @click="cancelEdit()">{{
      <div
        v-if="behavior == '修改信息'"
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="small"
          type="info"
          @click="cancelEdit()"
        >{{
          $t('common.reset')
        }}</el-button>
        <el-button
          size="medium"
          style="background: #409eff; border: 1px solid #409eff; color: white"
          size="small"
          type="primary"
          @click="sendEdit('editForm')"
          v-loading.fullscreen.lock="fullscreenLoading"
          >{{ $t('common.submit') }}</el-button
        >
        >{{ $t('common.submit') }}</el-button>
      </div>
      <div v-else slot="footer" class="dialog-footer">
        <el-button size="medium" type="info" @click="cancelAdd('editForm')">{{
      <div
        v-else
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="small"
          type="info"
          @click="cancelAdd('editForm')"
        >{{
          $t('common.reset')
        }}</el-button>
        <el-button
          size="medium"
          style="background: #409eff; border: 1px solid #409eff; color: white"
          size="small"
          type="primary"
          @click="sendAdd('editForm')"
          v-loading.fullscreen.lock="fullscreenLoading"
          >{{ $t('common.submit') }}</el-button
        >
        >{{ $t('common.submit') }}</el-button>
      </div>
    </el-dialog>
    <el-dialog
@@ -462,7 +536,11 @@
      :visible.sync="resetPwd"
      :before-close="handleClose"
    >
      <el-form :model="pwdForm" ref="pwdForm" :rules="rules">
      <el-form
        :model="pwdForm"
        ref="pwdForm"
        :rules="rules"
      >
        <el-form-item
          prop="adminPwd"
          :label="$t('common.AdminPassword')"
@@ -500,17 +578,23 @@
          ></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button size="medium" type="info" @click="cancelReset - 'pwdForm'">{{
      <div
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          size="small"
          type="info"
          @click="cancelReset - 'pwdForm'"
        >{{
          $t('common.reset')
        }}</el-button>
        <el-button
          size="medium"
          style="background: #409eff; border: 1px solid #409eff; color: white"
          size="small"
          type="primary"
          @click="sendReset('pwdForm')"
          v-loading.fullscreen.lock="fullscreenLoading"
          >{{ $t('common.submit') }}</el-button
        >
        >{{ $t('common.submit') }}</el-button>
      </div>
    </el-dialog>
  </div>
@@ -758,6 +842,8 @@
  methods: {
    ...mapActions(['login', 'getpublickey']),
    getUserInfo() {
      this.pageSize = 10;
      this.currentPage = 1;
      queryDepTree()
        .then((res) => {
          if (res.code == 200) {
@@ -770,7 +856,7 @@
            });
          }
        })
        .catch((res) => {});
        .catch((res) => { });
      queryPageUser({
        pageIndex: 1,
@@ -787,7 +873,7 @@
            });
          }
        })
        .catch((res) => {});
        .catch((res) => { });
    },
    treeData(source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
@@ -801,6 +887,8 @@
    //查询选择单位
    handleChange(value) {
      this.queryForm.depid = value;
      this.$refs.cascaderHandle.dropDownVisible = false
    },
    //搜索按钮
    queryInfo() {
@@ -943,7 +1031,7 @@
              setTimeout(() => {
                this.fullscreenLoading = false;
                if (res.code == 200) {
                  this.getUserInfo();
                  this.$message({
                    message: '修改成功',
                    type: 'success',
@@ -956,6 +1044,8 @@
                  };
                  this.multipleSelection = [];
                  this.resetPwd = false;
                  this.getUserInfo();
                }
              }, 500);
            })
@@ -972,16 +1062,16 @@
    editInfo(row) {
      delete row.updateTime;
      delete row.updateUser;
      // row.pwd = '';
      this.initialForm = JSON.stringify(row);
      this.behavior = '修改信息';
      this.editForm = JSON.parse(JSON.stringify(row));
      this.dialogFormVisible = true;
    },
    //编辑选择单位
    editChange(value) {
      this.editForm.depid = value;
      this.$refs.editcaderHandle.dropDownVisible = false
    },
    //关闭弹出框
    handleClose(done) {
@@ -1015,7 +1105,7 @@
          done();
        })
        .catch((_) => {});
        .catch((_) => { });
    },
    //提交编辑
    sendEdit(formName) {
@@ -1113,99 +1203,37 @@
  },
};
</script>
<style>
/deep/ .el-table__fixed-right {
  height: 100% !important;
}
</style>
<style lang="less" scoped>
//@import url(); 引入公共css类
.userInfo_box {
  border-radius: 10px;
  height: 100%;
  height: 98%;
  width: 98%;
  padding: 1%;
  box-sizing: border-box;
  .el-input {
    width: 300px;
  }
  .inquire {
    position: relative;
    height: 110px;
    height: auto;
    overflow: auto;
    padding: 8px;
    margin-top: 20px;
    border-radius: 5px;
    border: 1px solid rgb(202, 201, 204);
    margin-bottom: 20px;
    .el-form-item {
      margin: 5px;
    }
  }
  .table_box {
    height: 470px;
    height: 60%;
    padding: 10px;
    border-radius: 5px;
    border: 1px solid rgb(202, 201, 204);
    /*修改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: 5px;
        /*滚动条高度*/
      }
      /*定义滚动条轨道 内阴影+圆角*/
      .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;
      }
    }
    overflow: auto;
  }
  .el-dialog {
    .el-form-item {
@@ -1228,75 +1256,6 @@
      }
    }
  }
  /deep/.el-form-item__label {
    color: white;
  }
  /deep/.el-input__inner {
    background-color: transparent !important;
    border: 1px solid;
    color: white;
  }
  /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;
  }
  /deep/ .el-dialog__body {
    padding: 10px 0 0 0;
  }
  .pagination_box {
    margin-top: 20px;
    /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: #409eff;
    }
    /deep/.el-pager li {
      color: white;
      background: transparent;
    }
    /deep/.el-pager li {
      color: white;
    }
    /deep/.btn-prev {
      background: transparent;
    }
    /deep/.btn-next {
      background: transparent;
    }
  }
}
</style>
<style>
.el-select-dropdown {
  background: #303030;
  border-color: 1px solid;
}
.el-scrollbar__wrap {
  margin-bottom: -20px !important;
  margin-right: -20px !important;
}
.el-select-dropdown__item.hover,
.el-select-dropdown__item:hover {
  background: rgba(255, 255, 255, 0.3);
}
.el-select-dropdown__item {
  color: white !important;
}
</style>