From a98aa4517e7244024f4647b2789b152948439f22 Mon Sep 17 00:00:00 2001
From: lkk <364857242@qq.com>
Date: 星期三, 12 三月 2025 14:03:56 +0800
Subject: [PATCH] gundongtiao

---
 src/views/system/dept/index.vue |  243 ++++++++++++++++++++++++++++--------------------
 1 files changed, 141 insertions(+), 102 deletions(-)

diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue
index 685b27a..4cd7fde 100644
--- a/src/views/system/dept/index.vue
+++ b/src/views/system/dept/index.vue
@@ -12,18 +12,20 @@
             style="margin-bottom: 15px"
           />
         </div>
-        <div class="head-container">
-          <el-tree
-            :data="deptOption"
-            :props="defaultProps"
-            :expand-on-click-node="false"
-            :filter-node-method="filterNode"
-            ref="tree"
-            node-key="id"
-            default-expand-all
-            highlight-current
-            @node-click="handleNodeClick"
-          />
+        <div class="scrollable-container">
+          <div class="content">
+            <el-tree
+              :data="deptOption"
+              :props="defaultProps"
+              :expand-on-click-node="false"
+              :filter-node-method="filterNode"
+              ref="tree"
+              node-key="id"
+              default-expand-all
+              highlight-current
+              @node-click="handleNodeClick"
+            />
+          </div>
         </div>
       </el-col>
       <el-col :span="20" :xs="24">
@@ -234,10 +236,11 @@
             style="width: 200px"
             clearable
             filterable
+            @change="$forceUpdate()"
           >
             <el-option
               v-for="dict in deptOption"
-              :key="dict.label"
+              :key="dict.id"
               :label="dict.label"
               :value="dict.id"
             ></el-option>
@@ -252,10 +255,10 @@
             placeholder="璇疯緭鍏ョ瀹ょ紪鐮�"
           />
         </el-form-item>
-        <el-form-item label="鏄剧ず椤哄簭" prop="orderNum" style="margin-top:20px">
+        <el-form-item label="鏄剧ず椤哄簭" prop="orderNum">
           <el-input v-model="form.orderNum" placeholder="璇疯緭鍏ユ樉绀洪『搴�" />
         </el-form-item>
-        <el-form-item label="鎵�灞炲尰闄�" prop="hospId" style="margin-top:20px">
+        <el-form-item label="鎵�灞炲尰闄�" prop="hospId">
           <el-select
             v-model="form.hospId"
             placeholder="璇烽�夋嫨鎵�灞炲尰闄�"
@@ -271,72 +274,17 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item label="璐熻矗浜�" prop="leader" style="margin-top:20px">
+        <el-form-item label="璐熻矗浜�" prop="leader">
           <el-input v-model="form.leader" placeholder="璇疯緭鍏ヨ礋璐d汉" />
         </el-form-item>
-        <el-form-item label="鑱旂郴鐢佃瘽" prop="phone" style="margin-top:20px">
+        <el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
           <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
         </el-form-item>
-        <el-form-item label="閭" prop="email" style="margin-top:20px">
+        <el-form-item label="閭" prop="email">
           <el-input v-model="form.email" placeholder="璇疯緭鍏ラ偖绠�" />
         </el-form-item>
-        <!-- <el-form-item label="绉戝鑻辨枃鍚嶇О" prop="departmentEnName">
-          <el-input v-model="form.departmentEnName" placeholder="璇疯緭鍏ョ瀹よ嫳鏂囧悕绉�" />
-        </el-form-item> -->
-        <!-- <el-form-item label="缁勭粐绫诲瀷" prop="orgType">
-          <el-select v-model="form.orgType" placeholder="璇烽�夋嫨缁勭粐绫诲瀷" style="width: 200px">
-            <el-option v-for="dict in dict.type.dict_user_orgtype" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
-          </el-select>
-        </el-form-item> -->
-        <!-- <el-form-item label="涓婄骇缁勭粐id" prop="parentOrgId">
-          <el-input v-model="form.parentOrgId" placeholder="璇疯緭鍏ヤ笂绾х粍缁噄d" />
-        </el-form-item> -->
-        <!-- <el-form-item label="涓婄骇缁勭粐鍚嶇О" prop="parentOrgName">
-          <el-select v-model="form.parentOrgType" placeholder="璇烽�夋嫨涓婄骇缁勭粐鍚嶇О" style="width: 200px">
-            <el-option v-for="dict in dict.type.dict_user_orgtype" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
-          </el-select>
-        </el-form-item> -->
-        <!-- <el-form-item label="涓婄骇缁勭粐缂栫爜" prop="parentOrgCode">
-          <el-input v-model="form.parentOrgCode" placeholder="璇疯緭鍏ヤ笂绾х粍缁囩紪鐮�"
-          />
-        </el-form-item> -->
-        <!-- <el-form-item label="涓婄骇缁勭粐绫诲瀷" prop="parentOrgType">
-          <el-select v-model="form.parentOrgType" placeholder="璇烽�夋嫨涓婄骇缁勭粐绫诲瀷(PT10.06.17)" style="width: 200px">
-            <el-option v-for="dict in dict.type.dict_user_orgtype" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
-          </el-select>
-        </el-form-item> -->
-        <!-- <el-form-item label="鍖荤枟鏈烘瀯ID" prop="hospId">
-          <el-input v-model="form.hospId" placeholder="璇疯緭鍏ュ尰鐤楁満鏋処D" />
-        </el-form-item> -->
-        <!-- <el-form-item label="鍖荤枟鏈烘瀯缂栫爜" prop="hospCode">
-          <el-input v-model="form.hospCode" placeholder="璇疯緭鍏ュ尰鐤楁満鏋勭紪鐮�" />
-        </el-form-item> -->
-        <!-- <el-form-item label="鍖荤枟鏈烘瀯鍚嶇О" prop="hospName">
-          <el-input v-model="form.hospName" placeholder="璇疯緭鍏ュ尰鐤楁満鏋勫悕绉�" />
-        </el-form-item> -->
-        <!-- <el-form-item label="鑱旂郴浜�" prop="contactPerson">
-          <el-input v-model="form.contactPerson" placeholder="璇疯緭鍏ヨ仈绯讳汉" />
-        </el-form-item> -->
-        <!-- <el-form-item label="鑱旂郴浜虹數璇�" prop="contactPhone">
-          <el-input v-model="form.contactPhone" placeholder="璇疯緭鍏ヨ仈绯讳汉鐢佃瘽"/>
-        </el-form-item> -->
-        <!-- <el-form-item label="閭斂缂栫爜" prop="postalCode">
-          <el-input v-model="form.postalCode" placeholder="璇疯緭鍏ラ偖鏀跨紪鐮�" />
-        </el-form-item> -->
-        <!-- <el-form-item label="瀹樼綉" prop="officialWeb">
-          <el-input v-model="form.officialWeb" placeholder="璇疯緭鍏ュ畼缃�" />
-        </el-form-item> -->
-        <!-- <el-form-item label="缂栧埗搴婁綅鏁�" prop="plaitBed">
-          <el-input v-model="form.plaitBed" placeholder="璇疯緭鍏ョ紪鍒跺簥浣嶆暟" />
-        </el-form-item> -->
-        <!-- <el-form-item label="寮�鏀惧簥浣嶆暟" prop="openBed">
-          <el-input v-model="form.openBed" placeholder="璇疯緭鍏ュ紑鏀惧簥浣嶆暟" />
-        </el-form-item> -->
-        <!-- <el-form-item label="寤虹珛鏃ユ湡" prop="buildDate">
-          <el-date-picker clearable v-model="form.buildDate" type="date" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨寤虹珛鏃ユ湡" style="width: 200px">
-          </el-date-picker>
-        </el-form-item> -->
-        <el-form-item label="鏍囧噯绉戝" prop="standardDeptCode" style="margin-top:20px">
+
+        <el-form-item label="鏍囧噯绉戝" prop="standardDeptCode">
           <el-input
             v-model="form.standardDeptCode"
             placeholder="璇疯緭鍏ユ爣鍑嗙瀹�"
@@ -358,18 +306,37 @@
             ></el-option>
           </el-select>
         </el-form-item>
+
+        <el-form-item label="his绉戝ID" prop="hisksid">
+          <span
+            slot="label"
+            style="display: inline-block; border-bottom: 2px solid blue"
+            @click="handleQuerys"
+          >
+            his绉戝ID
+          </span>
+
+          <el-input
+            v-model="form.hisksid"
+            placeholder="his绉戝ID"
+            style="width: 200px"
+          >
+          </el-input>
+        </el-form-item>
+        <el-form-item label="his绉戝鍚�" prop="hisksmc">
+          <el-input
+            v-model="form.hisksmc"
+            placeholder="his绉戝鍚�"
+            style="width: 202px"
+          >
+          </el-input>
+        </el-form-item>
         <!-- <el-form-item label="閲嶇偣绉戝" prop="deptFcusTypeCode">
           <el-select v-model="form.parentOrgType" placeholder="璇烽�夋嫨閲嶇偣绉戝(PT10.06.17)" style="width: 200px" >
             <el-option v-for="dict in dict.type.dict_user_orgtype" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
           </el-select>
         </el-form-item> -->
-        <el-form-item label="绠�浠�" prop="peofile">
-          <el-input
-            v-model="form.peofile"
-            placeholder="璇疯緭鍏ョ畝浠�"
-            style="width: 525px"
-          /> </el-form-item
-        ><br />
+
         <el-form-item label="绉戝鍦板潃" prop="officialWeb">
           <el-input v-model="form.officialWeb" placeholder="璇疯緭鍏ョ瀹ゅ湴鍧�" />
         </el-form-item>
@@ -391,16 +358,32 @@
           >
           </el-date-picker>
         </el-form-item>
+        <el-form-item label="绠�浠�" prop="peofile">
+          <el-input
+            v-model="form.peofile"
+            placeholder="璇疯緭鍏ョ畝浠�"
+            style="width: 525px"
+          />
+        </el-form-item>
       </el-form>
+
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
         <el-button @click="cancel">鍙� 娑�</el-button>
+        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
       </div>
+      <!-- 鍦ㄧ埗缁勪欢涓� -->
+      <Packagese
+        ref="aaa"
+        :visible="showPackagese"
+        @add="handleChanges"
+        :selectedId="form.hisksid"
+      />
     </el-dialog>
   </div>
 </template>
 
 <script>
+import Packagese from "@/components/Packagese";
 import {
   listDept,
   getDept,
@@ -418,7 +401,7 @@
 export default {
   name: "Dept",
   dicts: ["sys_normal_disable", "dict_user_orgtype", "dict_dept_type"],
-  components: { Treeselect },
+  components: { Treeselect, Packagese },
   data() {
     let checkPhoneNum = (rule, value, callback) => {
       let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
@@ -431,12 +414,14 @@
       }
     };
     return {
+      showPackagese: false,
       // 閮ㄩ棬鍚嶇О
       deptName: undefined,
       // 閬僵灞�
       loading: true,
       hospList: [],
       parentNameList: [],
+      total: 0,
       // 鏄剧ず鎼滅储鏉′欢
       showSearch: true,
       // 琛ㄦ牸鏍戞暟鎹�
@@ -466,19 +451,39 @@
       // 琛ㄥ崟鏍¢獙
       rules: {
         parentId: [
-          { required: true,  validator: checkPhoneNum, trigger: "blur" },
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         deptName: [
-          { required: true, message: "绉戝鍚嶇О涓嶈兘涓虹┖", validator: checkPhoneNum, trigger: "blur" },
+          {
+            required: true,
+            message: "绉戝鍚嶇О涓嶈兘涓虹┖",
+            validator: checkPhoneNum,
+            trigger: "blur",
+          },
         ],
         orderNum: [
-          { required: true, message: "鏄剧ず椤哄簭涓嶈兘涓虹┖", validator: checkPhoneNum, trigger: "blur" },
+          {
+            required: true,
+            message: "鏄剧ず椤哄簭涓嶈兘涓虹┖",
+            validator: checkPhoneNum,
+            trigger: "blur",
+          },
         ],
         departmentCode: [
-          { required: true, message: "绉戝缂栫爜涓嶈兘涓虹┖", validator: checkPhoneNum, trigger: "blur" },
+          {
+            required: true,
+            message: "绉戝缂栫爜涓嶈兘涓虹┖",
+            validator: checkPhoneNum,
+            trigger: "blur",
+          },
         ],
         hospId: [
-          { required: true, message: "鎵�灞炲尰闄笉鑳戒负绌�", validator: checkPhoneNum, trigger: "blur" },
+          {
+            required: true,
+            message: "鎵�灞炲尰闄笉鑳戒负绌�",
+            validator: checkPhoneNum,
+            trigger: "blur",
+          },
         ],
         // email: [
         //   {
@@ -509,6 +514,28 @@
     this.getDeptTree();
   },
   methods: {
+    handleQuerys() {
+      this.showPackagese = true;
+      if (this.form.hisksid) {
+        this.$refs.aaa.list = [
+          {
+            pacCode: this.form.hisksid,
+            pacName: this.form.hisksmc,
+          },
+        ];
+      }
+
+      this.$refs.aaa.open = true;
+      this.$refs.aaa.getAllList();
+      this.$refs.aaa.title = "鏁版嵁瀛楀吀";
+    },
+    handleChanges(param1) {
+      this.form = {
+        ...this.form,
+        hisksid: param1[0].pacCode,
+        hisksmc: param1[0].pacName,
+      };
+    },
     /** 鏌ヨ閮ㄩ棬鍒楄〃 */
     getList() {
       this.loading = true;
@@ -526,7 +553,6 @@
     getlistHosp() {
       listHosp(this.queryParams).then((response) => {
         this.hospList = response.rows;
-        console.log(this.hospList);
       });
     },
     /** 杞崲閮ㄩ棬鏁版嵁缁撴瀯 */
@@ -655,14 +681,15 @@
       });
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
+
     handleUpdate(row) {
-      // console.log(11111)
       // this.reset();
       this.form = row;
-      // this.form.parentId = this.form.parentId.toString()
-      if(this.form.parentId == 0){
-        this.deptOption.push({ "id": 0, "label": "涓荤被鐩�", });
+      this.form.parentId = this.form.parentId.toString();
+      if (this.form.parentId == 0) {
+        this.deptOption.push({ id: 0, label: "涓荤被鐩�" });
       }
+
       this.open = true;
       this.title = "绉戝淇℃伅缁存姢  ";
       // getDept(row.deptId).then((response) => {
@@ -687,17 +714,15 @@
       this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.form.deptId != undefined) {
-            if(this.form.hospId ){
-              console.log(this.form);
+            if (this.form.hospId) {
               updateDept(this.form).then((response) => {
-              this.$modal.msgSuccess("淇敼鎴愬姛");
-              this.open = false;
-              this.getList();
-            });
-            }else{
+                this.$modal.msgSuccess("淇敼鎴愬姛");
+                this.open = false;
+                this.getList();
+              });
+            } else {
               this.$modal.msgError("璇峰~鍐欏甫鏄熷彿");
             }
-           
           } else {
             this.hospList.forEach((element) => {
               if (this.form.hospName == element.hospAreaName) {
@@ -730,3 +755,17 @@
 };
 </script>
 
+<style scoped>
+.scrollable-container {
+  width: 200px; /* 璁剧疆瀹瑰櫒鐨勫搴� */
+  height: 629px; /* 璁剧疆瀹瑰櫒鐨勯珮搴� */
+  overflow: auto; /* 鍏佽鍐呭婧㈠嚭鏃舵樉绀烘粴鍔ㄦ潯 */
+  border: 1px solid #ccc; /* 鍙�夛細娣诲姞杈规浠ユ洿濂藉湴鏄剧ず瀹瑰櫒 */
+  position: relative; /* 鍙�夛細浣垮鍣ㄥ唴鐨勭粷瀵瑰畾浣嶅厓绱犺兘澶熸纭樉绀� */
+}
+
+.content {
+  width: 600px; /* 璁剧疆鍐呭鐨勫搴︼紝浠ヨЕ鍙戞按骞虫粴鍔ㄦ潯 */
+  height: 1000px; /* 璁剧疆鍐呭鐨勯珮搴︼紝浠ヨЕ鍙戝瀭鐩存粴鍔ㄦ潯 */
+}
+</style>
\ No newline at end of file

--
Gitblit v1.8.0