qinxianzhangyao
2023-10-17 ba9dbeee7c139c67d770afe0053f06f1f235e565
src/views/system/user/index.vue
@@ -78,7 +78,7 @@
          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
        </el-row>
        <el-table v-loading="loading" :data="userList" border @selection-change="handleSelectionChange"
        <el-table  :data="userList" border @selection-change="handleSelectionChange" v-loading="loading"
          highlight-current-row>
          <el-table-column type="selection" width="50" align="center" fixed="left" />
          <el-table-column label="序号" align="center" key="newID" prop="newID" width="50px" fixed="left" />
@@ -233,16 +233,20 @@
            <!-- <el-input v-model="form.nationDesc" placeholder="请输入民族描述"/> -->
          </el-form-item>
          <el-form-item label="所在院区" prop="hospName">
            <el-select v-model="form.hospName" placeholder="请选择所在院区" clearable style="width: 200px" filterable>
          <el-form-item label="所在医院" prop="hospId">
            <el-select v-model="form.hospId" placeholder="请选择所在医院" clearable style="width: 200px" filterable  @change="sendhospName">
              <el-option v-for="dict in hospList" :key="dict.hospAreaName" :label="dict.hospAreaName"
                :value="dict.hospAreaId" />
            </el-select>
            <!-- <el-input v-model="form.hospName" placeholder="请输入组织中文名称" /> -->
          </el-form-item>
          <el-form-item label="归属科室" prop="deptId">
            <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属科室"
              style="width: 200px" />
            <!-- <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属科室"
              style="width: 200px" /> -->
              <el-select v-model="form.deptId" placeholder="请选择归属科室" clearable style="width: 200px" filterable  >
              <el-option v-for="dict in DepartmentList" :key="dict.deptName" :label="dict.deptName"
                :value="dict.deptId" />
            </el-select>
          </el-form-item>
          <el-form-item label="入职日期" prop="entryDate">
@@ -657,9 +661,9 @@
      :visible.sync="dialogVisible1"
      width="30%"
      :before-close="handleClose">
      <el-form>
      <el-form :rules="rules1">
        <span>请输入“{{row.userName}}”的新密码</span>
        <el-form-item>
        <el-form-item prop="password">
          <el-input v-model="password" :type="type" auto-complete="off" placeholder="密码" ref="barcodeMsg">
            <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
            <i slot="suffix" class="icon-style" :class="elIcon" autocomplete="auto" @click="flag = !flag" /></el-input>
@@ -684,7 +688,7 @@
  resetUserPwd,
  changeUserStatus,
  deptTreeSelect,
  getUserInfo,
  getDeptListByDictHospId,
} from "@/api/system/user";
import { getToken } from "@/utils/auth";
import { listHosp } from "@/api/hosp/hosp";
@@ -746,6 +750,7 @@
      dialogVisible: false,
      // 用户表格数据
      sysUserList: [],
      DepartmentList:[],
      // 岗位表格数据
      postList: [],
      // 角色表格数据
@@ -858,6 +863,17 @@
          },
        ],
      },
      rules1: {
        password: [
          { required: true, message: "用户密码不能为空", trigger: "blur" },
          {
            min: 5,
            max: 20,
            message: "用户密码长度必须介于 5 和 20 之间",
            trigger: "blur",
          },
        ],
      },
    };
  },
  watch: {
@@ -877,12 +893,10 @@
  created() {
    this.getList();
    this.getDeptTree();
    this.getlistHosp();
    this.getPostList();
    this.getRoleList();
    this.getConfigKey("sys.user.initPassword").then((response) => {
      this.initPassword = response.msg;
    });
    // this.getRoleList();
    // this.getConfigKey("sys.user.initPassword").then((response) => {
    //   this.initPassword = response.msg;
    // });
  },
  methods: {
    handleChange(val) { },
@@ -898,12 +912,6 @@
              1;
          });
          this.userList = response.rows;
          // for(let key in this.userList){
          //   for(let i = 0; i < this.userList[key].length; i++){
          //     this.userList[key][i]["form"] = key;
          //     this.userInfoList.push(this.userList[key][i])
          //   }
          // }
          this.total = response.total;
          this.loading = false;
        }
@@ -925,11 +933,9 @@
    },
    /** 查询院区信息列表 */
    getlistHosp() {
      this.loading = true;
      listHosp(this.queryParams).then((response) => {
        this.hospList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
@@ -941,7 +947,6 @@
    getDeptTree() {
      deptTreeSelect().then((response) => {
        this.deptOptions = response.data;
        console.log(this.deptOptions);
      });
    },
    // 筛选节点
@@ -1043,12 +1048,23 @@
      this.reset();
      this.open = true;
      this.title = "用户信息维护";
      this.getPostList();
      this.getlistHosp();
      // getUser().then((response) => {
      //   this.postOptions = response.posts;
      //   this.roleOptions = response.roles;
      //   this.form.password = this.initPassword;
      // });
    },
    sendhospName(){
      let data = {
        id:this.form.hospId
      }
      getDeptListByDictHospId(data).then(res => {
        this.DepartmentList = res.data
      })
    },
    handleUp(row) {
@@ -1073,6 +1089,8 @@
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.getPostList();
      this.getlistHosp();
      this.reset();
      this.form = row;
      // this.form.userInfo.id = null;
@@ -1106,7 +1124,6 @@
    },
    /** 重置密码按钮操作 */
    handleResetPwd(row) {
      console.log(row);
      this.dialogVisible1 = true;
      this.row = row;
      // this.$prompt('请输入"' + row.userName + '"的新密码', "提示", {
@@ -1131,7 +1148,6 @@
        userId:this.row.userId,
      }
      resetUserPwd(data).then(res=>{
        console.log(res);
        if(res.code == 200){
          this.$modal.msgSuccess("修改成功");
          this.dialogVisible1 = false;