From 0c7cc21d8a51e164dd2fe4ce73ab566b3a9081a9 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期四, 26 三月 2026 10:25:05 +0800
Subject: [PATCH] 测试完成

---
 src/views/followvisit/discharge/index.vue |  340 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 272 insertions(+), 68 deletions(-)

diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index dfe82c7..fb620ef 100644
--- a/src/views/followvisit/discharge/index.vue
+++ b/src/views/followvisit/discharge/index.vue
@@ -60,6 +60,25 @@
             </el-card>
           </div>
         </el-col>
+        <el-col :span="2.5" v-if="orgname == '鐪佺珛鍚屽痉缈犺嫅闄㈠尯'">
+          <div class="jgleftvlue">
+            <el-card shadow="hover ">
+              <div style="padding: 8px">
+                <span>璀﹀憡</span>
+                <div
+                  style="
+                    text-align: center;
+                    font-size: 18px;
+                    margin-top: 10px;
+                    font-weight: 600;
+                  "
+                >
+                  {{ jgvalue }}
+                </div>
+              </div>
+            </el-card>
+          </div>
+        </el-col>
       </el-row>
     </div>
     <el-row :gutter="20">
@@ -120,7 +139,29 @@
             placeholder="璇疯緭鍏ラ殢璁夸汉鍛�"
           ></el-input>
         </el-form-item>
-
+        <el-form-item label="涓绘不鍖荤敓" prop="drname">
+          <el-input
+            v-model="topqueryParams.drname"
+            placeholder="璇疯緭鍏ヤ富娌诲尰鐢�"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="缁忕鍖荤敓" prop="managementDoctor">
+          <el-input
+            v-model="topqueryParams.managementDoctor"
+            placeholder="璇疯緭鍏ヤ富娌诲尰鐢�"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="鏃ユ湡闄愬埗" prop="status">
+          <el-select v-model="endOut" placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in endOuts"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item label="鎮h�呰寖鍥�" prop="status">
           <el-cascader
             v-model="topqueryParams.scopetype"
@@ -169,7 +210,7 @@
       </el-form>
       <el-divider></el-divider>
       <el-row :gutter="10" class="mb8">
-        <el-col :span="1.5">
+        <!-- <el-col :span="1.5">
           <div class="documentf">
             <div class="document">
               <el-button
@@ -182,11 +223,10 @@
               >
             </div>
           </div>
-        </el-col>
+        </el-col> -->
         <el-col :span="1.5">
           <el-button
             type="primary"
-            plain
             icon="el-icon-plus"
             size="medium"
             @click="handleAdd"
@@ -238,11 +278,7 @@
         <el-col :span="1.5">
           <div class="documentf">
             <div class="document">
-              <el-button
-                type="primary"
-                plain
-                size="medium"
-                @click="affiliation()"
+              <el-button type="primary" size="medium" @click="affiliation()"
                 >鏈汉鎵�灞炴湇鍔�</el-button
               >
             </div>
@@ -252,12 +288,12 @@
           <div class="documentf">
             <div class="document">
               <el-button type="success" size="medium" @click="onthatday()"
-                >褰撴棩鏈嶅姟</el-button
+                >浠婃棩鏈嶅姟</el-button
               >
             </div>
           </div>
         </el-col>
-        <el-col :span="1.5">
+        <el-col :span="1.5" v-if="orgname == '鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�'">
           <div class="documentf">
             <div class="document">
               <el-tooltip
@@ -282,6 +318,7 @@
       </el-row>
       <el-table
         v-loading="loading"
+        ref="userform"
         :data="userList"
         :row-class-name="tableRowClassName"
         @selection-change="handleSelectionChange"
@@ -316,6 +353,15 @@
               }}</span></el-button
             >
           </template>
+        </el-table-column>
+        <el-table-column
+          label="璇婃柇鍚嶇О"
+          align="center"
+          key="leavediagname"
+          prop="leavediagname"
+          width="120"
+          :show-overflow-tooltip="true"
+        >
         </el-table-column>
         <el-table-column
           label="浠诲姟鐘舵��"
@@ -357,6 +403,11 @@
               <div v-if="scope.row.sendstate == 6">
                 <el-tag type="success" :disable-transitions="false"
                   >宸插畬鎴�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 7">
+                <el-tag type="danger" :disable-transitions="false"
+                  >瓒呮椂</el-tag
                 >
               </div>
             </el-tooltip>
@@ -411,13 +462,14 @@
           label="搴旈殢璁挎棩鏈�"
           width="200"
           align="center"
-          key="longSendTime"
-          prop="longSendTime"
+          key="visitTime"
+          prop="visitTime"
         >
           <template slot-scope="scope">
-            <span>{{ formatTime(scope.row.longSendTime) }}</span>
+            <span>{{ formatTime(scope.row.visitTime) }}</span>
           </template></el-table-column
         >
+        <!-- 鍘� -->
         <el-table-column
           label="涓绘不鍖荤敓"
           width="120"
@@ -426,10 +478,19 @@
           prop="drname"
         />
         <el-table-column
+          v-if="orgname != '涓芥按甯備腑鍖婚櫌'"
           label="闅忚浜哄憳"
           align="center"
           key="updateBy"
           prop="updateBy"
+          width="120"
+        />
+        <el-table-column
+          v-if="orgname != '涓芥按甯備腑鍖婚櫌'"
+          label="缁忕鍖荤敓"
+          align="center"
+          key="managementDoctor"
+          prop="managementDoctor"
           width="120"
         />
         <el-table-column
@@ -491,16 +552,6 @@
           key="leavehospitaldistrictname"
           prop="leavehospitaldistrictname"
           width="120"
-        >
-        </el-table-column>
-
-        <el-table-column
-          label="璇婃柇鍚嶇О"
-          align="center"
-          key="leavediagname"
-          prop="leavediagname"
-          width="120"
-          :show-overflow-tooltip="true"
         >
         </el-table-column>
 
@@ -839,7 +890,7 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row >
+        <el-row>
           <el-col :span="8">
             <el-form-item label="杩囨护鍖荤敓" width="100" prop="filterDrname">
               <el-input
@@ -1081,6 +1132,7 @@
       inputVisible: false,
       Labelchange: false,
       ycvalue: "",
+      jgvalue: "",
       yfsvalue: "",
       inputValue: "",
       preachform: "",
@@ -1123,7 +1175,7 @@
         //   value: 0,
         // },
         {
-          name: "搴旈殢璁�",
+          name: "闇�闅忚",
           value: 0,
         },
         {
@@ -1161,6 +1213,18 @@
         qystatus: "",
         btstatus: "",
       },
+      // endOut: 1,
+      endOut: localStorage.getItem("orgname") == "涓芥按甯備腑鍖婚櫌" ? 0 : 1, //0 鍑洪櫌鏃堕棿(姝e簭)    1 鍑洪櫌鏃堕棿(鍊掑簭)   2 鍙戦�佹椂闂�(姝e簭)    3 鍙戦�佹椂闂�(鍊掑簭)  7搴旈殢璁挎棩鏈�(鍊掑簭) 搴旈殢璁挎棩鏈�(姝e簭)
+      endOuts: [
+        {
+          value: 0,
+          label: "鎴鑷冲綋鏃ユ湇鍔�",
+        },
+        {
+          value: 1,
+          label: "鍏ㄩ儴鏈嶅姟",
+        },
+      ],
       topicoptionssort: [
         {
           value: 0,
@@ -1178,13 +1242,22 @@
           value: 3,
           label: "鍙戦�佹椂闂�(鍊掑簭)",
         },
+        {
+          value: 7,
+          label: "搴旈殢璁挎棩鏈�(姝e簭)",
+        },
+        {
+          value: 8,
+          label: "搴旈殢璁挎棩鏈�(鍊掑簭)",
+        },
       ],
       // 鏌ヨ鍙傛暟
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
-        sendstate: 2,
-        sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭)    1 鍑洪櫌鏃堕棿(鍊掑簭)   2 鍙戦�佹椂闂�(姝e簭)    3 鍙戦�佹椂闂�(鍊掑簭)
+        sendstate:
+          localStorage.getItem("orgname") == "鐪佺珛鍚屽痉缈犺嫅闄㈠尯" ? null : 2,
+        sort: localStorage.getItem("orgname") == "涓芥按甯備腑鍖婚櫌" ? 8 : 2, //0 鍑洪櫌鏃堕棿(姝e簭)    1 鍑洪櫌鏃堕棿(鍊掑簭)   2 鍙戦�佹椂闂�(姝e簭)    3 鍙戦�佹椂闂�(鍊掑簭)  7搴旈殢璁挎棩鏈�(鍊掑簭) 搴旈殢璁挎棩鏈�(姝e簭)
         serviceType: 2,
         searchscope: 3,
         visitCount: 1,
@@ -1192,6 +1265,7 @@
         leaveldeptcodes: [],
         leavehospitaldistrictcodes: [],
       },
+      orgname: "",
       propss: { multiple: true },
       options: [],
 
@@ -1224,6 +1298,10 @@
           value: 6,
           label: "宸插畬鎴�",
         },
+         {
+          value: 7,
+          label: "瓒呮椂",
+        },
       ],
       sextype: [
         {
@@ -1239,6 +1317,10 @@
         {
           value: 1,
           label: "寮傚父",
+        },
+        {
+          value: 2,
+          label: "璀﹀憡",
         },
         {
           value: 0,
@@ -1271,8 +1353,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",
@@ -1288,11 +1370,25 @@
       rules: {},
     };
   },
-  watch: {},
+  watch: {
+    // 鐩戝惉璺敱鍙傛暟鍙樺寲
+    "$route.query": {
+      handler(newQuery, oldQuery) {
+        if (newQuery.errtype !== oldQuery.errtype) {
+          console.log(22);
+
+          this.loadData(); // 閲嶆柊鍔犺浇鏁版嵁
+        }
+      },
+      immediate: true,
+    },
+  },
   created() {
     this.serviceState = store.getters.serviceState;
     this.checkboxlist = store.getters.checkboxlist;
+    this.orgname = localStorage.getItem("orgname");
     this.errtype = this.$route.query.errtype;
+
     this.leavehospitaldistrictcode =
       this.$route.query.leavehospitaldistrictcode;
     this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
@@ -1307,8 +1403,20 @@
         value: dept.districtCode,
       };
     });
-    if (this.errtype) {
+    if (this.errtype == 1) {
       this.toleadExport(2);
+    } else if (this.errtype == 2) {
+      // 寰呴殢璁�
+      this.toleadExport(3);
+    } else if (this.errtype == 3) {
+      // 澶辫触
+      this.toleadExport(4);
+    } else if (this.errtype == 4) {
+      // 寮傚父
+      this.toleadExport(2);
+    } else if (this.errtype == 5) {
+      // 鍏ㄩ儴
+      this.toleadExport(5);
     } else {
       this.getList(1);
     }
@@ -1317,13 +1425,29 @@
     });
   },
   activated() {
-    this.getList(1);
+    this.errtype = this.$route.query.errtype;
+    if (this.errtype == 1) {
+      this.toleadExport(2);
+    } else if (this.errtype == 2) {
+      // 寰呴殢璁�
+      this.toleadExport(3);
+    } else if (this.errtype == 3) {
+      // 澶辫触
+      this.toleadExport(4);
+    } else if (this.errtype == 4) {
+      // 寮傚父
+      this.toleadExport(2);
+    } else if (this.errtype == 5) {
+      // 鍏ㄩ儴
+      this.toleadExport(5);
+    } else {
+      this.getList(1);
+    }
   },
   methods: {
     /** 鏌ヨ闅忚鏈嶅姟鍒楄〃 */
     getList(refresh) {
       // 榛樿鍏ㄩ儴
-
       if (this.topqueryParams.searchscope == 3) {
         this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
           (obj) => obj.deptCode
@@ -1331,12 +1455,18 @@
         this.topqueryParams.leavehospitaldistrictcodes =
           store.getters.belongWards.map((obj) => obj.districtCode);
       }
+      if (this.endOut == 0) {
+        this.topqueryParams.endSendDateTime = this.formatDateToYYYYMMDDHHMMSS(
+          this.getEndOfDay()
+        );
+      } else {
+        // this.topqueryParams.endSendDateTime = null;
+      }
       // 鎺ュ彈寮傚父璺宠浆
       if (this.errtype) {
         this.topqueryParams.leavehospitaldistrictcodes.push(
           this.leavehospitaldistrictcode
         );
-        console.log(this.topqueryParams.leavehospitaldistrictcodes, "11");
       }
       this.loading = true;
       if (
@@ -1352,10 +1482,13 @@
         this.total = response.total;
         if (refresh) {
           this.cardlist[0].value =
-            Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+            Number(response.rows[0].wzx) +
+            Number(response.rows[0].ysf) +
+            Number(response.rows[0].fssb);
           // this.cardlist[1].value = response.rows[0].wzx;
           this.cardlist[1].value = response.rows[0].ysf;
           this.ycvalue = response.rows[0].yc;
+          this.jgvalue = response.rows[0].jg;
           this.cardlist[2].value = response.rows[0].fssb;
           this.cardlist[3].value = response.rows[0].dsf;
           // this.cardlist[4].value = response.rows[0].yfs2;
@@ -1387,9 +1520,44 @@
         this.total = response.total;
       });
     },
+    loadData() {
+      this.errtype = this.$route.query.errtype;
+      if (this.errtype == 1) {
+        this.toleadExport(2);
+      } else if (this.errtype == 2) {
+        // 寰呴殢璁�
+        this.toleadExport(3);
+      } else if (this.errtype == 3) {
+        // 澶辫触
+        this.toleadExport(4);
+      } else if (this.errtype == 4) {
+        // 寮傚父
+        this.toleadExport(2);
+      } else if (this.errtype == 5) {
+        // 鍏ㄩ儴
+        this.toleadExport(5);
+      } else {
+        this.getList(1);
+      }
+    },
+    // 鏃堕棿
+    getEndOfDay() {
+      const date = new Date(); // 鍒涘缓涓�涓〃绀哄綋鍓嶆椂闂寸殑Date瀵硅薄
+      date.setHours(23, 59, 59, 0); // 灏嗘椂闂磋缃负23:59:59.000
+      return date;
+    },
+    formatDateToYYYYMMDDHHMMSS(date) {
+      const year = date.getFullYear();
+      const month = String(date.getMonth() + 1).padStart(2, "0"); // 鏈堜唤琛ラ浂
+      const day = String(date.getDate()).padStart(2, "0"); // 鏃ユ湡琛ラ浂
+      const hours = String(date.getHours()).padStart(2, "0");
+      const minutes = String(date.getMinutes()).padStart(2, "0");
+      const seconds = String(date.getSeconds()).padStart(2, "0");
+
+      return `${year}-${month}-${day}`;
+    },
     affiliation() {
-      this.topqueryParams.drcode = store.getters.hisUserId;
-      this.topqueryParams.nurseId = store.getters.hisUserId;
+      this.topqueryParams.managementDoctorCode = store.getters.hisUserId;
       this.getList(1);
     },
     onthatday() {
@@ -1426,17 +1594,16 @@
       buidegetTasklist(obj).then((response) => {
         this.userList = response.rows[0].serviceSubtaskList;
         this.total = response.total;
-        if (refresh) {
-          this.cardlist[0].value =
-            Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
-          this.cardlist[1].value = response.rows[0].wzx;
-          this.cardlist[2].value = response.rows[0].ysf;
-          this.ycvalue = response.rows[0].yc;
-          this.cardlist[3].value = response.rows[0].fssb;
-          this.cardlist[4].value = response.rows[0].dsf;
-          // this.cardlist[5].value = response.rows[0].yfs2;
-          this.yfsvalue = response.rows[0].yfs;
-        }
+        this.cardlist[0].value =
+          Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+        this.cardlist[1].value = response.rows[0].wzx;
+        this.cardlist[2].value = response.rows[0].ysf;
+        this.ycvalue = response.rows[0].yc;
+        this.jgvalue = response.rows[0].jg;
+        this.cardlist[3].value = response.rows[0].fssb;
+        this.cardlist[4].value = response.rows[0].dsf;
+        // this.cardlist[5].value = response.rows[0].yfs2;
+        this.yfsvalue = response.rows[0].yfs;
         this.loading = false;
         this.userList.forEach((item) => {
           let idArray = null;
@@ -1525,10 +1692,13 @@
           store.getters.belongWards.map((obj) => obj.districtCode);
       }
       this.topqueryParams.pageNum = 1;
-      this.topqueryParams.startOutHospTime = this.dateRange[0];
-      this.topqueryParams.endOutHospTime = this.dateRange[1];
-      this.topqueryParams.startSendDateTime = this.dateRangefs[0];
-      this.topqueryParams.endSendDateTime = this.dateRangefs[1];
+      // 鍒ゆ柇鏄笉鏄伐浣滃彴蹇嵎鏌ヨ
+      if (this.errtype != 2) {
+        this.topqueryParams.startOutHospTime = this.dateRange[0];
+        this.topqueryParams.endOutHospTime = this.dateRange[1];
+        this.topqueryParams.startSendDateTime = this.dateRangefs[0];
+        this.topqueryParams.endSendDateTime = this.dateRangefs[1];
+      }
       this.getList(refresh);
     },
     // 鎮h�呰寖鍥村鐞�
@@ -1615,9 +1785,13 @@
         if (res.code == 200) {
           this.$message.success("璇勫垎淇濆瓨鎴愬姛");
           this.scoreDialogVisible = false;
+          this.selectedRows = [];
+          this.$refs.userform.clearSelection();
         } else {
           this.$modal.msgWarning("璇勫垎淇濆瓨澶辫触");
           this.scoreDialogVisible = false;
+          this.selectedRows = [];
+          this.$refs.userform.clearSelection();
         }
       });
       // 杩欓噷鍙互娣诲姞淇濆瓨閫昏緫锛屽璋冪敤API淇濆瓨璇勫垎
@@ -1654,11 +1828,10 @@
     },
     //鎮h��360璺宠浆
     gettoken360(sfzh, drcode, drname) {
+      // this.$modal.msgWarning("360鍔熻兘鏆傛湭寮�閫�");
+
       this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
-      if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
-        this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
-        this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY";
-      }
+
       query360PatInfo(this.postData).then((res) => {
         if (res.data.url) {
           window.open(res.data.url, "_blank");
@@ -1771,10 +1944,8 @@
     Seedetails(row) {
       let type = "";
       console.log(row, "rwo");
-      if (row.preachformson) {
-        if (row.preachformson.includes("3")) {
-          type = 1;
-        }
+      if (row.type == 1) {
+        type = 1;
       }
       this.$router.push({
         path: "/followvisit/record/detailpage/",
@@ -1828,20 +1999,40 @@
     handleUpdate(row) {
       particularpatient(row.patid).then((response) => {
         this.form = response.data;
-        this.form.filterDrname = store.getters.name;
+        this.form.filterDrname = store.getters.nickName;
       });
       this.amendtag = true;
       this.Labelchange = true;
     },
     // 渚挎嵎鎸夐挳
     toleadExport(too) {
+      console.log(too, "too");
+
       if (too == 1) {
         this.topqueryParams.sendstate = 4;
         this.topqueryParams.excep = null;
       } else if (too == 2) {
         this.topqueryParams.excep = 1;
+        this.topqueryParams.sendstate = null;
+      } else if (too == 3) {
+        this.topqueryParams.endSendDateTime = this.formatDateToYYYYMMDDHHMMSS(
+          this.getEndOfDay()
+        );
+        console.log(1111, this.topqueryParams.endSendDateTime);
+
+        this.topqueryParams.excep = null;
+        this.topqueryParams.sendstate = 2;
+        this.topqueryParams.scopetype = null;
+      } else if (too == 4) {
+        this.topqueryParams.excep = null;
+        this.topqueryParams.sendstate = 5;
+        this.topqueryParams.scopetype = null;
+      } else if (too == 5) {
+        this.topqueryParams.excep = null;
+        this.topqueryParams.sendstate = null;
+        this.topqueryParams.scopetype = null;
       }
-      this.handleQuery();
+      this.handleQuery(1);
     },
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
@@ -1859,6 +2050,8 @@
     tableRowClassName({ row, rowIndex }) {
       if (row.excep == 1) {
         return "warning-row";
+      } else if (row.excep == 2) {
+        return "remind-row";
       }
       return "";
     },
@@ -1921,6 +2114,9 @@
 }
 ::v-deep.el-table .warning-row {
   background: #eec4c4;
+}
+::v-deep.el-table .remind-row {
+  background: #fcf5aa;
 }
 
 .documentf {
@@ -2001,10 +2197,12 @@
   }
 }
 ::v-deep.leftvlue .el-card__body {
-  background: #d0e9fd;
+  background: #f2f8ff;
+  color: #324a9b;
 }
 ::v-deep.leftvlue .el-card__body:hover {
-  background: #8dc8f8;
+  background: #3664d9;
+  color: #fff;
   cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
 }
 ::v-deep.errleftvlue .el-card__body {
@@ -2014,12 +2212,16 @@
   background: #f88d96;
   cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
 }
+::v-deep.jgleftvlue .el-card__body:hover {
+  background: #f7f075;
+  cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
 
 ::v-deep.ysfleftvlue .el-card__body {
   background: #d0fdd8;
 }
 ::v-deep.ysfleftvlue .el-card__body:hover {
-  background: #8df8a4;
+  background: #0abc54;
   cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
 }
 .button-bb {
@@ -2044,7 +2246,7 @@
   color: #ffffff;
 }
 .button-zx {
-  background: #4fabe9;
+  background: #324a9b;
   padding: 5px;
   border-radius: 1px;
   color: #ffffff;
@@ -2071,7 +2273,9 @@
   background-color: #6b21a8;
   border-color: #6b21a8;
 }
-
+.button-textxga {
+  color: #de7897;
+}
 .purple-button.is-disabled {
   background-color: #d8b4fe;
   border-color: #d8b4fe;

--
Gitblit v1.9.3