From 4c9eab7cd2f92e6ebee76f38f1616cb3e5855697 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 10 四月 2025 10:46:27 +0800
Subject: [PATCH] 测试完成

---
 src/views/patient/patient/outpatient.vue |  145 +++++++++++++++++++++++++++++++++++++----------
 1 files changed, 113 insertions(+), 32 deletions(-)

diff --git a/src/views/patient/patient/outpatient.vue b/src/views/patient/patient/outpatient.vue
index a35facd..027a9e5 100644
--- a/src/views/patient/patient/outpatient.vue
+++ b/src/views/patient/patient/outpatient.vue
@@ -11,7 +11,8 @@
           v-show="showSearch"
           label-width="98px"
         >
-          <el-form-item label="濮撳悕" prop="name">
+          <el-form-item label="濮撳悕"
+          width="100" prop="name">
             <el-input
               v-model="queryParams.patname"
               placeholder="璇疯緭鍏ュ鍚�"
@@ -20,32 +21,30 @@
               @keyup.enter.native="handleQuery"
             />
           </el-form-item>
-          <el-form-item label="鎮h�呯紪鍙�" prop="patid">
+          <el-form-item label="闂ㄨ瘖鍙�" prop="patid">
             <el-input
               v-model="queryParams.patid"
-              placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�"
+              placeholder="璇疯緭鍏ラ棬璇婂彿"
               clearable
               style="width: 250px"
               @keyup.enter.native="handleQuery"
             />
           </el-form-item>
 
-          <el-form-item label="鎮h�呰寖鍥�" prop="tagId">
-            <el-select v-model="queryParams.Patientid" placeholder="璇烽�夋嫨">
-              <el-option
-                v-for="item in Patientrange"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
+          <el-form-item label="鎮h�呰寖鍥�" prop="status">
+          <el-cascader
+            v-model="queryParams.scopetype"
+            placeholder="榛樿鍏ㄩ儴"
+            :options="sourcetype"
+            :props="{ expandTrigger: 'hover' }"
+            @change="handleChange"
+          ></el-cascader>
+        </el-form-item>
           <el-row>
-            <el-form-item label=" 灏辫瘖鏃ユ湡 " prop="createTime">
+            <el-form-item label=" 灏辫瘖鏃ユ湡 " prop="admitdate">
               <el-date-picker
                 clearable
-                v-model="queryParams.createTime"
+                v-model="queryParams.admitdate"
                 type="date"
                 value-format="yyyy-MM-dd"
                 placeholder="璇烽�夋嫨 灏辫瘖鏃ユ湡 "
@@ -71,7 +70,7 @@
         </el-form>
 
         <el-row :gutter="10" class="mb8">
-          <el-col :span="1.5">
+          <!-- <el-col :span="1.5">
             <el-button
               type="primary"
               plain
@@ -93,7 +92,7 @@
               v-hasPermi="['system:user:edit']"
               >淇敼</el-button
             >
-          </el-col>
+          </el-col> -->
           <el-col :span="1.5">
             <el-button
               type="danger"
@@ -151,12 +150,12 @@
           <el-table-column
             label="灏辫瘖鏃堕棿"
             align="center"
-            key="createTime"
-            prop="createTime"
+            key="admitdate"
+            prop="admitdate"
             width="160"
           >
             <template slot-scope="scope">
-              <span>{{ formatTime(scope.row.createTime) }}</span>
+              <span>{{ formatTime(scope.row.admitdate) }}</span>
             </template>
           </el-table-column>
 
@@ -167,12 +166,29 @@
             prop="patid"
           />
           <el-table-column
-            label="濮撳悕"
-            align="center"
-            key="patname"
-            prop="patname"
-          />
-          <el-table-column label="鎬у埆" align="center" key="sex" prop="sex">
+                label="濮撳悕"
+          width="100"
+                align="center"
+                key="patname"
+                prop="patname"
+              >
+                <template slot-scope="scope">
+                  <el-button
+                    size="medium"
+                    type="text"
+                    @click="
+                     $router.push({
+                    path: '/patient/indexls/',
+                    query: { sfzh: scope.row.idcardno },
+                  })
+                    "
+                    ><span class="button-textsc"
+                      >{{scope.row.patname}}</span
+                    ></el-button
+                  >
+                </template>
+              </el-table-column>
+          <el-table-column label="鎬у埆"width="100" align="center" key="sex" prop="sex">
             <template slot-scope="scope">
               <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span>
             </template>
@@ -318,8 +334,9 @@
       <div class="uploading" v-else-if="dractive == 2">
         <el-table :data="uploadingData" style="width: 100%">
           <el-table-column prop="serial" label="搴忓彿"> </el-table-column>
-          <el-table-column prop="name" label="濮撳悕"> </el-table-column>
-          <el-table-column prop="sex" label="鎬у埆"> </el-table-column>
+          <el-table-column prop="name" label="濮撳悕"
+          width="100"> </el-table-column>
+          <el-table-column prop="sex" label="鎬у埆"width="100"> </el-table-column>
           <el-table-column prop="certificate" label="璇佷欢绫诲瀷">
           </el-table-column>
           <el-table-column prop="certificatenum" label="璇佷欢鍙风爜">
@@ -370,10 +387,14 @@
   updatePatouthosp,
   delPatouthosp,
 } from "@/api/smartor/patouthosp";
+import {
+  particularpatient,
+} from "@/api/patient/homepage";
 import { listtag } from "@/api/system/label";
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import store from "@/store";
 
 export default {
   name: "Userhuanze",
@@ -448,6 +469,22 @@
         children: "children",
         label: "label",
       },
+      sourcetype: [
+        {
+          value: 1,
+          label: "绉戝",
+          children: [],
+        },
+        {
+          value: 2,
+          label: "鐥呭尯",
+          children: [],
+        },
+        {
+          value: 3,
+          label: "鍏ㄩ儴",
+        },
+      ],
       // 鐢ㄦ埛瀵煎叆鍙傛暟
       upload: {
         // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛�
@@ -467,6 +504,10 @@
       queryParams: {
         pageNum: 1,
         pageSize: 10,
+        searchscope: 2,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
       },
       // 琛ㄥ崟鏍¢獙
       rules: {
@@ -523,6 +564,18 @@
     },
   },
   created() {
+    this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
+      return {
+        label: dept.deptName,
+        value: dept.deptCode,
+      };
+    });
+    this.sourcetype[1].children = store.getters.belongWards.map((dept) => {
+      return {
+        label: dept.districtName,
+        value: dept.districtCode,
+      };
+    });
     this.getList();
     this.gettabList();
   },
@@ -530,8 +583,14 @@
     /** 鏌ヨ鎮h�呭垪琛� */
     getList() {
       this.loading = true;
+      if (this.queryParams.searchscope == 3) {
+        this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+        this.topqueryParams.leavehospitaldistrictcodes =
+          store.getters.belongWards.map((obj) => obj.districtCode);
+      }
       listPatouthosp(this.queryParams).then((response) => {
-        console.log(response);
         this.userList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -550,6 +609,25 @@
         console.log(response);
         this.optionstag = response.rows;
       });
+    },
+    // 鎮h�呰寖鍥村鐞�
+    handleChange(value) {
+      let type = value[0];
+      let code = value.slice(-1)[0];
+      this.queryParams.leavehospitaldistrictcodes = [];
+      this.queryParams.leaveldeptcodes = [];
+
+      if (type == 1) {
+        this.queryParams.leaveldeptcodes.push(code);
+        this.queryParams.leavehospitaldistrictcodes = [];
+        this.queryParams.searchscope = 1;
+      } else if (type == 2) {
+        this.queryParams.leavehospitaldistrictcodes.push(code);
+        this.queryParams.leaveldeptcodes = [];
+        this.queryParams.searchscope = 2;
+      } else {
+        this.queryParams.searchscope = 3;
+      }
     },
     // 鏌ヨ瀵煎叆灞曠ず鍒楄〃
     geterryList() {
@@ -600,7 +678,10 @@
     resetQuery() {
       this.dateRange = [];
       this.resetForm("queryForm");
-      this.$refs.tree.setCurrentKey(null);
+      this.queryParams= {
+        pageNum: 1,
+        pageSize: 10,
+      },
       this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
@@ -681,7 +762,7 @@
     /** 涓嬭浇妯℃澘鎿嶄綔 */
     importTemplate() {
       this.download(
-        "system/user/importTemplate",
+        "smartor/import/getImportPatTemplate",
         {},
         `user_template_${new Date().getTime()}.xlsx`
       );

--
Gitblit v1.9.3