From ceb611ede1ca3988d731adffee433a1a7bcd442b Mon Sep 17 00:00:00 2001
From: qinxianzhangyao <11053546+qinxianzhangyao@user.noreply.gitee.com>
Date: 星期四, 19 十月 2023 17:38:18 +0800
Subject: [PATCH] tjxgstf

---
 src/views/system/user/index.vue |  141 +++++++++++++++++++++++++++++++++++------------
 1 files changed, 105 insertions(+), 36 deletions(-)

diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 146e883..01ec48b 100644
--- a/src/views/system/user/index.vue
+++ b/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,21 @@
             <!-- <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">
@@ -261,8 +266,8 @@
             <el-input v-model="form.medicalId" placeholder="璇疯緭鍏ュ尰淇濈紪鐮�" style="width: 200px" />
           </el-form-item>
           <el-form-item label="浼樻儬鎶樻墸">
-            <el-input-number ref="inputNumber" style="width: 200px" v-model="form.discount" :precision="2"
-              :step="0.1" :max="10" :min="1" @change="numberChange"></el-input-number>
+            <el-input-number ref="inputNumber" style="width: 200px" v-model="form.discount" :precision="2" :step="0.1"
+              :max="10" :min="1" @change="numberChange"></el-input-number>
           </el-form-item>
           <el-form-item label="鐜颁綇鍧�" prop="liveAddr">
             <el-input v-model="form.userInfo.liveAddr" placeholder="璇疯緭鍏ョ幇灞呬綇鍦板潃" style="width: 440px" />
@@ -650,6 +655,23 @@
         <el-button @click="upload.open = false">鍙� 娑�</el-button>
       </div>
     </el-dialog>
+
+    <!-- 閲嶇疆瀵嗙爜瀵硅瘽妗� -->
+    <el-dialog title="鎻愮ず" :visible.sync="dialogVisible1" width="30%" :before-close="handleClose">
+      <el-form :rules="rules1">
+        <span>璇疯緭鍏モ�渰{ row.userName }}鈥濈殑鏂板瘑鐮�</span>
+        <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>
+        </el-form-item>
+      </el-form>
+
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible1 = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="tijiao">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -663,7 +685,7 @@
   resetUserPwd,
   changeUserStatus,
   deptTreeSelect,
-  getUserInfo,
+  getDeptListByDictHospId,
 } from "@/api/system/user";
 import { getToken } from "@/utils/auth";
 import { listHosp } from "@/api/hosp/hosp";
@@ -694,6 +716,10 @@
   components: { Treeselect },
   data() {
     return {
+      row: [],
+      flag: false,
+      password: "",
+      dialogVisible1: false,
       nums: "",
       userInfoList: [],
       hospList: [],
@@ -721,6 +747,7 @@
       dialogVisible: false,
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       sysUserList: [],
+      DepartmentList: [],
       // 宀椾綅琛ㄦ牸鏁版嵁
       postList: [],
       // 瑙掕壊琛ㄦ牸鏁版嵁
@@ -745,7 +772,7 @@
           brithday: "",
           nationDesc: "",
           entryDate: "",
-          hospName: "",          
+          hospName: "",
         },
       },
       forms: {},
@@ -833,6 +860,17 @@
           },
         ],
       },
+      rules1: {
+        // password: [
+        //   { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" },
+        //   {
+        //     min: 5,
+        //     max: 20,
+        //     message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
+        //     trigger: "blur",
+        //   },
+        // ],
+      },
     };
   },
   watch: {
@@ -841,15 +879,21 @@
       this.$refs.tree.filter(val);
     },
   },
+  computed: {
+    type() {
+      return this.flag ? "text" : "password";
+    },
+    elIcon() {
+      return this.flag ? "el-icon-minus" : "el-icon-view";
+    }
+  },
   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) { },
@@ -865,12 +909,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;
         }
@@ -892,11 +930,9 @@
     },
     /** 鏌ヨ闄㈠尯淇℃伅鍒楄〃 */
     getlistHosp() {
-      this.loading = true;
       listHosp(this.queryParams).then((response) => {
         this.hospList = response.rows;
         this.total = response.total;
-        this.loading = false;
       });
     },
 
@@ -908,7 +944,6 @@
     getDeptTree() {
       deptTreeSelect().then((response) => {
         this.deptOptions = response.data;
-        console.log(this.deptOptions);
       });
     },
     // 绛涢�夎妭鐐�
@@ -1010,12 +1045,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) {
@@ -1040,6 +1086,8 @@
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
+      this.getPostList();
+      this.getlistHosp();
       this.reset();
       this.form = row;
       // this.form.userInfo.id = null;
@@ -1073,19 +1121,40 @@
     },
     /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */
     handleResetPwd(row) {
-      this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", {
-        confirmButtonText: "纭畾",
-        cancelButtonText: "鍙栨秷",
-        closeOnClickModal: false,
-        inputPattern: /^.{5,20}$/,
-        inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
-      })
-        .then(({ value }) => {
-          resetUserPwd(row.userId, value).then((response) => {
-            this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value);
-          });
+      this.dialogVisible1 = true;
+      this.row = row;
+      // this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", {
+      //   confirmButtonText: "纭畾",
+      //   cancelButtonText: "鍙栨秷",
+      //   closeOnClickModal: false,
+      //   inputPattern: /^.{5,20}$/,
+      //   inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
+      //   inputType:'password'
+      // })
+      //   .then(({ value }) => {
+      //     resetUserPwd(row.userId, value).then((response) => {
+      //       this.$modal.msgSuccess("淇敼鎴愬姛");
+      //       // 锛屾柊瀵嗙爜鏄細" + value
+      //     });
+      //   })
+      //   .catch(() => { });
+    },
+    tijiao() {
+      if (this.password) {
+        let data = {
+          password: this.password,
+          userId: this.row.userId,
+        }
+        resetUserPwd(data).then(res => {
+          if (res.code == 200) {
+            this.$modal.msgSuccess("淇敼鎴愬姛");
+            this.dialogVisible1 = false;
+          }
         })
-        .catch(() => { });
+      }else{
+        this.$modal.msgError("鐢ㄦ埛鍚嶅瘑鐮佷笉鑳戒负绌�");
+      }
+
     },
     /** 鍒嗛厤瑙掕壊鎿嶄綔 */
     handleAuthRole: function (row) {

--
Gitblit v1.8.0