From a5cba9ab040f6f97558046885dce3017f9bab7e9 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期二, 11 八月 2026 14:12:29 +0800
Subject: [PATCH] 提交

---
 src/views/patient/patient/outpatient.vue |  128 +++++++++++++++++++++++++++++++-----------
 1 files changed, 93 insertions(+), 35 deletions(-)

diff --git a/src/views/patient/patient/outpatient.vue b/src/views/patient/patient/outpatient.vue
index 1c15e07..5e18d72 100644
--- a/src/views/patient/patient/outpatient.vue
+++ b/src/views/patient/patient/outpatient.vue
@@ -62,6 +62,8 @@
               v-model="queryParams.scopetype"
               placeholder="榛樿鍏ㄩ儴"
               :options="sourcetype"
+            filterable
+            clearable
               :props="{ expandTrigger: 'hover' }"
               @change="handleChange"
             ></el-cascader>
@@ -164,6 +166,18 @@
               鎵归噺娣诲姞浠诲姟</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">
             <div class="documentf">
               <div class="document">
@@ -211,7 +225,7 @@
             align="center"
             key="admitdate"
             prop="admitdate"
-            width="160"
+            width="140"
           >
             <template slot-scope="scope">
               <span>{{ formatTime(scope.row.admitdate) }}</span>
@@ -225,6 +239,7 @@
           /> -->
           <el-table-column
             label="鐥呮鍙�"
+            width="100"
             align="center"
             key="outhospno"
             prop="outhospno"
@@ -244,7 +259,8 @@
                   gettoken360(
                     scope.row.idcardno,
                     scope.row.drcode,
-                    scope.row.drname
+                    scope.row.drname,
+                    scope.row.patid,
                   )
                 "
                 ><span class="button-textsc">{{
@@ -296,7 +312,6 @@
             align="center"
             key="diagname"
             prop="diagname"
-            width="190"
           />
           <!-- <el-table-column
             label="涓昏堪"
@@ -310,14 +325,12 @@
             align="center"
             key="deptname"
             prop="deptname"
-            width="120"
           />
           <el-table-column
             label="鎺ヨ瘖鍖荤敓"
             align="center"
             key="drname"
             prop="drname"
-            width="120"
           />
           <el-table-column
             label="鏄惁瀛樺湪浠诲姟"
@@ -340,7 +353,6 @@
             label="鎿嶄綔"
             fixed="right"
             align="center"
-            width="160"
             class-name="small-padding fixed-width"
           >
             <template slot-scope="scope">
@@ -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,14 +606,16 @@
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
-import { query360PatInfo, 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 {
       // 閬僵灞�
@@ -655,6 +676,9 @@
       taskList: [], // 浠诲姟鍒楄〃
       selectedTask: null, // 閫変腑鐨勪换鍔″垪琛�
       batchLoading: false, // 鎵归噺鎻愪氦鍔犺浇鐘舵��
+      // 鎮h�呭缓妗�
+      archiveDialogVisible: false,
+      archivePatients: [],
       deptcode: "",
       Patientrange: [
         {
@@ -666,6 +690,7 @@
           id: 1,
         },
       ],
+      orgName:localStorage.getItem("orgname"),
       postData: {
         XiaoXiTou: {
           FaSongFCSJC: "ZJHES",
@@ -691,8 +716,8 @@
           YongHuXX: {
             XiTongID: "SUIFANGXT",
             XiTongMC: "闅忚绯荤粺",
-            YongHuID: "1400466972205912064",
-            YongHuXM: "JNRMYY",
+            YongHuID: localStorage.getItem("YongHuID"),
+            YongHuXM: localStorage.getItem("YongHuXM"),
             ZuZhiJGID: localStorage.getItem("orgid"),
             ZuZhiJGMC: localStorage.getItem("orgname"),
             idp: "lyra",
@@ -740,8 +765,7 @@
         pageSize: 10,
         searchscope: 3,
         scopetype: [],
-        leaveldeptcodes: [],
-        leavehospitaldistrictcodes: [],
+        deptcodes: [],
       },
       // 琛ㄥ崟鏍¢獙
       rules: {
@@ -818,11 +842,11 @@
     getList() {
       this.loading = true;
       if (this.queryParams.searchscope == 3) {
-        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
+        this.queryParams.deptcodes = store.getters.belongDepts.map(
           (obj) => obj.deptCode
         );
-        this.queryParams.leavehospitaldistrictcodes =
-          store.getters.belongWards.map((obj) => obj.districtCode);
+        // this.queryParams.leavehospitaldistrictcodes =
+        //   store.getters.belongWards.map((obj) => obj.districtCode);
       }
       if (this.dateRange) {
         this.queryParams.beginTime = this.dateRange[0];
@@ -855,16 +879,16 @@
     handleChange(value) {
       let type = value[0];
       let code = value.slice(-1)[0];
-      this.queryParams.leavehospitaldistrictcodes = [];
-      this.queryParams.leaveldeptcodes = [];
+      // this.queryParams.leavehospitaldistrictcodes = [];
+      this.queryParams.deptcodes = [];
 
       if (type == 1) {
-        this.queryParams.leaveldeptcodes.push(code);
-        this.queryParams.leavehospitaldistrictcodes = [];
+        this.queryParams.deptcodes.push(code);
+        // this.queryParams.leavehospitaldistrictcodes = [];
         this.queryParams.searchscope = 1;
       } else if (type == 2) {
-        this.queryParams.leavehospitaldistrictcodes.push(code);
-        this.queryParams.leaveldeptcodes = [];
+        // this.queryParams.leavehospitaldistrictcodes.push(code);
+        this.queryParams.deptcodes = [];
         this.queryParams.searchscope = 2;
       } else {
         this.queryParams.searchscope = 3;
@@ -880,12 +904,27 @@
       });
     },
     //鎮h��360璺宠浆
-    gettoken360(sfzh, drcode, drname) {
-      this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
-      if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
-        this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
-        this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY";
+    gettoken360(sfzh, drcode, drname, id) {
+      const orgname = localStorage.getItem("orgname");
+      if (orgname == "鍗楀崕澶у闄勫睘绗竴鍖婚櫌") {
+        query360PatInfonh(id).then((res) => {
+          if (res.data) {
+            window.open(res.data, "_blank");
+          } else {
+            this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+          }
+        });
+        return;
+      } else if (
+        orgname == "绗竴浜烘皯鍖婚櫌婀栨花闄㈠尯" ||
+        orgname == "绗竴浜烘皯鍖婚櫌鍚村北闄㈠尯"
+      ) {
+        let url = `http://192.200.81.189:9100/blj/view?BINGRENID=${id}&YONGHUID=DBA`;
+        window.open(url, "_blank");
+        return;
       }
+
+      this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
 
       query360PatInfo(this.postData).then((res) => {
         if (res.data.url) {
@@ -940,8 +979,8 @@
         pageSize: 10,
         searchscope: 3,
         scopetype: [],
-        leaveldeptcodes: [],
-        leavehospitaldistrictcodes: [],
+        deptcodes: [],
+        // leavehospitaldistrictcodes: [],
       };
       this.handleQuery();
     },
@@ -1091,10 +1130,10 @@
       });
 
       // 鏍¢獙鏄惁鍚屼竴绉戝
-      if (patientDepts.size > 1) {
-        this.$modal.msgError("閫変腑鐨勬偅鑰呬笉灞炰簬鍚屼竴绉戝锛屾棤娉曟壒閲忔坊鍔犱换鍔�");
-        return;
-      }
+      // if (patientDepts.size > 1) {
+      //   this.$modal.msgError("閫変腑鐨勬偅鑰呬笉灞炰簬鍚屼竴绉戝锛屾棤娉曟壒閲忔坊鍔犱换鍔�");
+      //   return;
+      // }
 
       // 鑾峰彇閫変腑鎮h�呭垪琛�
       this.selectedPatients = this.userList.filter((item) =>
@@ -1116,8 +1155,8 @@
         pageSize: 10,
         serviceType: 3,
         type: 2,
-        deptcode: deptcode,
       };
+      //         deptcode: deptcode,鍙栨秷绉戝闄愬埗
       getTasklist(topqueryParams).then((response) => {
         this.taskList = response.rows;
         this.batchLoading = false;
@@ -1145,10 +1184,18 @@
         // 閬嶅巻閫変腑鐨勬偅鑰咃紝閫愪釜璋冪敤鎺ュ彛
         for (const patient of this.selectedPatients) {
           const params = {
-            taskId: this.selectedTask.taskId,
+            taskid: this.selectedTask.taskid,
+            type: this.selectedTask.type,
             taskName: this.selectedTask.taskName,
             serviceType: this.selectedTask.serviceType,
+            preachform: this.selectedTask.preachform,
+            templateid: this.selectedTask.templateid,
+            libtemplateid: this.selectedTask.libtemplateid,
+            sendstate: 2,
             ...patient,
+            sendname: patient.patname,
+            endtime: patient.admitdate + " 00:00:00",
+            leavediagname: patient.diagname,
             age: "",
           };
 
@@ -1178,6 +1225,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.patid)
+      );
+      this.archiveDialogVisible = true;
+    },
   },
 };
 </script>
@@ -1226,7 +1284,7 @@
   }
 }
 .button-textsc {
-  color: #28cfe6;
+  color: #3664d9;
 }
 .batch-patient-section,
 .batch-task-section {

--
Gitblit v1.9.3