From ae8535b861f9177508d9e5493e0fe9e47978c915 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期一, 31 八月 2026 16:58:47 +0800
Subject: [PATCH] 测试完成

---
 src/views/patient/patient/outpatient.vue |   65 ++++++++++++++++++++++++++------
 1 files changed, 53 insertions(+), 12 deletions(-)

diff --git a/src/views/patient/patient/outpatient.vue b/src/views/patient/patient/outpatient.vue
index e691434..4ec86cf 100644
--- a/src/views/patient/patient/outpatient.vue
+++ b/src/views/patient/patient/outpatient.vue
@@ -62,8 +62,8 @@
               v-model="queryParams.scopetype"
               placeholder="榛樿鍏ㄩ儴"
               :options="sourcetype"
-            filterable
-            clearable
+              filterable
+              clearable
               :props="{ expandTrigger: 'hover' }"
               @change="handleChange"
             ></el-cascader>
@@ -138,7 +138,7 @@
               size="medium"
               :disabled="single"
               @click="handleUpdate"
-              v-hasPermi="['system:user:edit']"
+
               >淇敼</el-button
             >
           </el-col> -->
@@ -164,6 +164,18 @@
               @click="handleBatchAddTask"
             >
               鎵归噺娣诲姞浠诲姟</el-button
+            >
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="success"
+              plain
+              icon="el-icon-folder-add"
+              size="medium"
+              :disabled="multiple"
+              @click="handleCreateArchive"
+            >
+              鎮h�呭缓妗�</el-button
             >
           </el-col>
           <el-col :span="19">
@@ -248,7 +260,7 @@
                     scope.row.idcardno,
                     scope.row.drcode,
                     scope.row.drname,
-                    scope.row.patid,
+                    scope.row.patid
                   )
                 "
                 ><span class="button-textsc">{{
@@ -353,7 +365,7 @@
                     query: { id: scope.row.patid },
                   })
                 "
-                v-hasPermi="['system:user:edit']"
+
                 ><span class="button-textsc"
                   ><i class="el-icon-zoom-in"></i>鏌ョ湅</span
                 ></el-button
@@ -569,6 +581,13 @@
         <el-button @click="submitclose">鍙� 娑�</el-button>
       </div>
     </el-dialog>
+
+    <!-- 鎮h�呭缓妗e脊绐� -->
+    <ArchiveDialog
+      :visible.sync="archiveDialogVisible"
+      :patients="archivePatients"
+      source-page="outpatient"
+    />
   </div>
 </template>
 
@@ -587,15 +606,21 @@
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
-import { query360PatInfo,query360PatInfonh, getTasklist, addSubtask } from "@/api/AiCentre/index";
+import {
+  query360PatInfo,
+  query360PatInfonh,
+  getTasklist,
+  addSubtask,
+} from "@/api/AiCentre/index";
 
 import store from "@/store";
 import { type } from "jquery";
+import ArchiveDialog from "@/views/patient/archives/components/ArchiveDialog.vue";
 
 export default {
   name: "Userhuanze",
   dicts: ["sys_normal_disable", "sys_user_sex"],
-  components: { Treeselect },
+  components: { Treeselect, ArchiveDialog },
   data() {
     return {
       // 閬僵灞�
@@ -656,6 +681,9 @@
       taskList: [], // 浠诲姟鍒楄〃
       selectedTask: null, // 閫変腑鐨勪换鍔″垪琛�
       batchLoading: false, // 鎵归噺鎻愪氦鍔犺浇鐘舵��
+      // 鎮h�呭缓妗�
+      archiveDialogVisible: false,
+      archivePatients: [],
       deptcode: "",
       Patientrange: [
         {
@@ -667,6 +695,7 @@
           id: 1,
         },
       ],
+      orgName: localStorage.getItem("orgname"),
       postData: {
         XiaoXiTou: {
           FaSongFCSJC: "ZJHES",
@@ -962,7 +991,7 @@
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.patid);
+      this.ids = selection.map((item) => item.id);
       this.single = selection.length != 1;
       this.multiple = !selection.length;
     },
@@ -1084,8 +1113,9 @@
       }
       // 妫�鏌ラ�変腑鐨勬偅鑰呬腑鏄惁鏈夊凡鏈変换鍔$殑
       const hasTaskPatients = this.userList.filter(
-        (item) => this.ids.includes(item.patid) && item.serverState == 1
+        (item) => this.ids.includes(item.id) && item.serverState == 1
       );
+      console.log(hasTaskPatients, "hasTaskPatients");
 
       if (hasTaskPatients.length > 0) {
         const patientNames = hasTaskPatients.map((p) => p.patname).join("銆�");
@@ -1097,8 +1127,8 @@
       // 鑾峰彇閫変腑鎮h�呯殑绉戝淇℃伅锛堢敤浜庢牎楠屽悓涓�绉戝锛�
       const patientDepts = new Set();
       let deptcode = "";
-      this.ids.forEach((patId) => {
-        const patient = this.userList.find((item) => item.patid === patId);
+      this.ids.forEach((id) => {
+        const patient = this.userList.find((item) => item.id === id);
         if (patient) {
           patientDepts.add(patient.deptname);
           deptcode = patient.deptcode;
@@ -1113,7 +1143,7 @@
 
       // 鑾峰彇閫変腑鎮h�呭垪琛�
       this.selectedPatients = this.userList.filter((item) =>
-        this.ids.includes(item.patid)
+        this.ids.includes(item.id)
       );
 
       // 鏄剧ず寮圭獥
@@ -1201,6 +1231,17 @@
 
     /** 鎵归噺娣诲姞鎮h�呬换鍔℃帴鍙� */
     batchAddPatientTask(params) {},
+    /** 鎮h�呭缓妗� */
+    handleCreateArchive() {
+      if (this.ids.length === 0) {
+        this.$modal.msgWarning("璇疯嚦灏戦�変腑1鍚嶆偅鑰�");
+        return;
+      }
+      this.archivePatients = this.userList.filter((item) =>
+        this.ids.includes(item.id)
+      );
+      this.archiveDialogVisible = true;
+    },
   },
 };
 </script>

--
Gitblit v1.9.3