From 83898e6b7ff3996fcef889042442a25753b07dea Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 24 九月 2024 14:00:24 +0800
Subject: [PATCH] 测试完成

---
 src/views/system/user/index.vue |  246 ++++++++++++++++++++++++++++++------------------
 1 files changed, 154 insertions(+), 92 deletions(-)

diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 70a1b6d..b5c2840 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -37,10 +37,19 @@
           v-show="showSearch"
           label-width="68px"
         >
-          <el-form-item label="鐢ㄦ埛鍚嶇О" prop="userName">
+          <el-form-item label="鐢ㄦ埛宸ュ彿" prop="userName">
             <el-input
               v-model="queryParams.userName"
-              placeholder="璇疯緭鍏ョ敤鎴峰悕绉�"
+              placeholder="璇疯緭鍏ョ敤鎴峰伐鍙�"
+              clearable
+              style="width: 240px"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName">
+            <el-input
+              v-model="queryParams.nickName"
+              placeholder="璇疯緭鍏ョ敤鎴锋樀绉�"
               clearable
               style="width: 240px"
               @keyup.enter.native="handleQuery"
@@ -70,7 +79,8 @@
               />
             </el-select>
           </el-form-item>
-          <el-form-item label="鍒涘缓鏃堕棿">
+
+          <!-- <el-form-item label="鍒涘缓鏃堕棿">
             <el-date-picker
               v-model="dateRange"
               style="width: 240px"
@@ -80,7 +90,7 @@
               start-placeholder="寮�濮嬫棩鏈�"
               end-placeholder="缁撴潫鏃ユ湡"
             ></el-date-picker>
-          </el-form-item>
+          </el-form-item> -->
           <el-form-item>
             <el-button
               type="primary"
@@ -174,7 +184,7 @@
             v-if="columns[0].visible"
           />
           <el-table-column
-            label="鐢ㄦ埛鍚嶇О"
+            label="鐢ㄦ埛宸ュ彿"
             align="center"
             key="userName"
             prop="userName"
@@ -304,52 +314,55 @@
               />
             </el-form-item>
           </el-col>
-          <!-- <el-col :span="12">
-            <el-form-item label="褰掑睘閮ㄩ棬" prop="deptId">
-              <treeselect
-                v-model="form.depts"
-                :options="deptOptions"
-                :multiple="true"
-                :show-count="true"
-                placeholder="璇烽�夋嫨褰掑睘閮ㄩ棬"
-              />
+          <el-col :span="12">
+            <el-form-item label="鎮h�呰寖鍥�" prop="status">
+              <el-select
+                v-model="form.searchscope"
+                placeholder="鎮h�呰寖鍥�"
+                clearable
+              >
+                <el-option
+                  v-for="dict in searchscopelist"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
+              </el-select>
             </el-form-item>
-          </el-col> -->
+          </el-col>
         </el-row>
         <el-form-item label="閫傜敤绉戝" prop="region">
-                <el-cascader
-                style="width: 478px"
-                  v-model="form.leaveldeptcodes"
-                  :options="deptOptions"
-                  :props="props"
-                  :show-all-levels="false"
-                  clearable
-                >
-                  <template slot-scope="{ node, data }">
-                    <span>{{ data.label }}</span>
-                    <span v-if="!node.isLeaf">
-                      ({{ data.children.length }})
-                    </span>
-                  </template>
-                </el-cascader>
-              </el-form-item>
-              <el-form-item label="閫傜敤闄㈠尯" prop="region">
-                <el-cascader
-                style="width: 478px"
-                  v-model="form.leavehospitaldistrictcodes"
-                  :options="deptOptions"
-                  :props="props"
-                  :show-all-levels="false"
-                  clearable
-                >
-                  <template slot-scope="{ node, data }">
-                    <span>{{ data.label }}</span>
-                    <span v-if="!node.isLeaf">
-                      ({{ data.children.length }})
-                    </span>
-                  </template>
-                </el-cascader>
-              </el-form-item>
+          <el-cascader
+            style="width: 478px"
+            v-model="form.deptCodes"
+            @remove-tag="removehpsp"
+            :options="deptOptions"
+            :props="props"
+            :show-all-levels="false"
+            clearable
+          >
+            <template slot-scope="{ node, data }">
+              <span>{{ data.label }}</span>
+              <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
+            </template>
+          </el-cascader>
+        </el-form-item>
+        <el-form-item label="閫傜敤鐥呭尯" prop="region">
+          <el-cascader
+            style="width: 478px"
+            @remove-tag="removehpsp"
+            v-model="form.wardCodes"
+            :options="deptOptions"
+            :props="props"
+            :show-all-levels="false"
+            clearable
+          >
+            <template slot-scope="{ node, data }">
+              <span>{{ data.label }}</span>
+              <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
+            </template>
+          </el-cascader>
+        </el-form-item>
         <el-row>
           <el-col :span="12">
             <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber">
@@ -374,12 +387,12 @@
           <el-col :span="12">
             <el-form-item
               v-if="form.userId == undefined"
-              label="鐢ㄦ埛鍚嶇О"
+              label="鐢ㄦ埛宸ュ彿"
               prop="userName"
             >
               <el-input
                 v-model="form.userName"
-                placeholder="璇疯緭鍏ョ敤鎴峰悕绉�"
+                placeholder="璇疯緭鍏ョ敤鎴峰伐鍙�"
                 maxlength="30"
               />
             </el-form-item>
@@ -426,6 +439,7 @@
             </el-form-item>
           </el-col>
         </el-row>
+
         <el-row>
           <el-col :span="12">
             <el-form-item label="宀椾綅">
@@ -533,12 +547,14 @@
   updateUser,
   resetUserPwd,
   adduserdept,
+  removeusertd,
   changeUserStatus,
   deptTreeSelect,
 } from "@/api/system/user";
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import { type } from "jquery";
 
 export default {
   name: "User",
@@ -608,24 +624,31 @@
         status: undefined,
         deptId: undefined,
       },
+      searchscopelist: [
+        { value: "1", label: "绉戝" },
+        { value: "2", label: "鐥呭尯" },
+        { value: "0", label: "鍏ㄩ儴" },
+        { value: "9", label: "鏃�" },
+      ],
       // 鍒椾俊鎭�
       columns: [
         { key: 0, label: `鐢ㄦ埛缂栧彿`, visible: true },
-        { key: 1, label: `鐢ㄦ埛鍚嶇О`, visible: true },
+        { key: 1, label: `鐢ㄦ埛宸ュ彿`, visible: true },
         { key: 2, label: `鐢ㄦ埛鏄电О`, visible: true },
         { key: 3, label: `閮ㄩ棬`, visible: true },
         { key: 4, label: `鎵嬫満鍙风爜`, visible: true },
         { key: 5, label: `鐘舵�乣, visible: true },
         { key: 6, label: `鍒涘缓鏃堕棿`, visible: true },
       ],
+
       // 琛ㄥ崟鏍¢獙
       rules: {
         userName: [
-          { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
+          { required: true, message: "鐢ㄦ埛宸ュ彿涓嶈兘涓虹┖", trigger: "blur" },
           {
             min: 2,
             max: 20,
-            message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿",
+            message: "鐢ㄦ埛宸ュ彿闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿",
             trigger: "blur",
           },
         ],
@@ -686,9 +709,14 @@
     },
     /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
     getDeptTree() {
+      // 绉戝鍒楄〃
       deptTreeSelect().then((response) => {
         this.deptOptions = response.data;
       });
+      // 闄㈠尯鍒楄〃
+      //  deptTreeSelect().then((response) => {
+      //   this.deptOptions = response.data;
+      // });
     },
     // 绛涢�夎妭鐐�
     filterNode(value, data) {
@@ -774,9 +802,9 @@
     handleAdd() {
       this.reset();
       this.open = true;
-        this.title = "娣诲姞鐢ㄦ埛";
-        this.form.password = this.initPassword;
-        this.form.depts = [];
+      this.title = "娣诲姞鐢ㄦ埛";
+      this.form.password = this.initPassword;
+      this.form.depts = [];
       // getUser().then((response) => {
       //   this.postOptions = response.posts;
       //   this.roleOptions = response.roles;
@@ -790,11 +818,14 @@
       const userId = row.userId || this.ids;
       getUser(userId).then((response) => {
         this.form = response.data;
-
-        this.form.leaveldeptcodes = JSON.parse(this.form.hospInfo);
-        this.form.leavehospitaldistrictcodes = JSON.parse(this.form.deptInfo);
-        console.log(this.form.leavehospitaldistrictcodes,'leavehospitaldistrictcodes');
-        console.log(this.form.leaveldeptcodes,'leaveldeptcodes');
+        this.belongDepts = response.belongDepts;
+        this.belongWards = response.belongWards;
+        if (this.form.hospInfo)
+          this.form.deptCodes = JSON.parse(this.form.hospInfo);
+        if (this.form.deptInfo)
+          this.form.wardCodes = JSON.parse(this.form.deptInfo);
+        console.log(this.form.wardCodes, "wardCodes");
+        console.log(this.form.deptCodes, "deptCodes");
 
         this.postOptions = response.posts;
         this.roleOptions = response.roles;
@@ -803,6 +834,16 @@
         this.open = true;
         this.title = "淇敼鐢ㄦ埛";
         this.form.password = "";
+      });
+    },
+    // 鍒犻櫎绉戝
+    removehpsp(valueArray) {
+      console.log(valueArray,'鍒犻櫎绉戝');
+      console.log(this.form.userId,'鍒犻櫎');
+     let code=valueArray[valueArray.length-1];
+      removeusertd(this.form.userId,code).then((res) => {
+        if (res.code) {
+        }
       });
     },
     /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */
@@ -828,17 +869,16 @@
     },
     /** 鎻愪氦鎸夐挳 */
     submitForm: function () {
-      this.form.hospInfo = JSON.stringify(this.form.leaveldeptcodes);
-      this.form.deptInfo = JSON.stringify(this.form.leavehospitaldistrictcodes);
-      this.form.leaveldeptcodes = this.form.leaveldeptcodes.map(
+      this.form.hospInfo = JSON.stringify(this.form.deptCodes);
+      this.form.deptInfo = JSON.stringify(this.form.wardCodes);
+      this.form.deptCodes = this.form.deptCodes.map(
         (subArr) => subArr[subArr.length - 1]
       );
-      this.form.leavehospitaldistrictcodes = this.form.leavehospitaldistrictcodes.map(
+      this.form.wardCodes = this.form.wardCodes.map(
         (subArr) => subArr[subArr.length - 1]
       );
-      console.log(this.form.leavehospitaldistrictcodes,'leavehospitaldistrictcodes');
-      console.log(this.form.leaveldeptcodes,'leaveldeptcodes');
-
+      console.log(this.form.wardCodes, "wardCodes");
+      console.log(this.form.deptCodes, "deptCodes");
 
       this.$refs["form"].validate((valid) => {
         if (valid) {
@@ -846,42 +886,64 @@
             updateUser(this.form).then((response) => {
               this.$modal.msgSuccess("淇敼鎴愬姛");
               this.open = false;
-              this.getList();
+              this.adduserdept();
             });
           } else {
             addUser(this.form).then((response) => {
               this.$modal.msgSuccess("鏂板鎴愬姛");
               this.open = false;
-              this.getList();
+              this.form.userId = response.data;
+              console.log("寮�濮嬪姞閮ㄩ棬");
+
+              this.adduserdept();
             });
           }
         }
       });
     },
     // 鏂板鏁版嵁
-    adduserdept(){
-      if (this.form.leavehospitaldistrictcodes[0]) {
-        this.form.leavehospitaldistrictcodes.forEach((dept) => {
-          adduserdept({deptCode:dept,deptType:2,userId:this.form.userId}).then((response) => {
-            this.open = false;
-            this.getList();
-          });
-        })
-      }
-      if (this.form.leaveldeptcodes[0]) {
-        this.form.leaveldeptcodes.forEach((dept) => {
-          adduserdept({deptCode:dept,deptType:1,userId:this.form.userId}).then((response) => {
-            this.open = false;
-            this.getList();
-          });
-        })
-      }
+    adduserdept() {
+      if (this.form.wardCodes[0]) {
+        this.form.wardCodes.forEach((dept) => {
+          const containsId8 = null;
+          if (this.belongWards) {
+            containsId8 = this.belongWards.some(
+              (item) => item.deptCode == dept
+            );
+          }
 
-      adduserdept(this.form).then((response) => {
-        this.$modal.msgSuccess("娣诲姞鎴愬姛");
-        this.open = false;
-        this.getList();
-      });
+          if (!containsId8) {
+            adduserdept({
+              deptCode: dept,
+              deptType: 2,
+              userId: this.form.userId,
+            }).then((response) => {
+              this.open = false;
+              this.getList();
+            });
+          }
+        });
+      }
+      if (this.form.deptCodes[0]) {
+        this.form.deptCodes.forEach((dept) => {
+          const containsId8 = null;
+          if (this.belongDepts) {
+            containsId8 = this.belongDepts.some(
+              (item) => item.deptCode == dept
+            );
+          }
+          if (!containsId8) {
+            adduserdept({
+              deptCode: dept,
+              deptType: 1,
+              userId: this.form.userId,
+            }).then((response) => {
+              this.open = false;
+              this.getList();
+            });
+          }
+        });
+      }
     },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {

--
Gitblit v1.9.3