From 1cb1fbf80c955986385377b5f84e8915d1e655d6 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 15 一月 2025 15:04:00 +0800
Subject: [PATCH] 测试完成

---
 src/views/followvisit/discharge/index.vue |  344 ++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 217 insertions(+), 127 deletions(-)

diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index 7ad5da9..85dbad0 100644
--- a/src/views/followvisit/discharge/index.vue
+++ b/src/views/followvisit/discharge/index.vue
@@ -22,6 +22,44 @@
             </div>
           </el-card>
         </el-col>
+        <el-col :span="2.5">
+          <div class="ysfleftvlue">
+            <el-card shadow="hover">
+              <div style="padding: 8px">
+                <span>宸插彂閫佹湭棰嗗彇</span>
+                <div
+                  style="
+                    text-align: center;
+                    font-size: 18px;
+                    margin-top: 10px;
+                    font-weight: 600;
+                  "
+                >
+                  {{ yfsvalue }}
+                </div>
+              </div>
+            </el-card>
+          </div>
+        </el-col>
+        <el-col :span="2.5">
+          <div class="errleftvlue">
+            <el-card shadow="hover">
+              <div style="padding: 8px">
+                <span>寮傚父</span>
+                <div
+                  style="
+                    text-align: center;
+                    font-size: 18px;
+                    margin-top: 10px;
+                    font-weight: 600;
+                  "
+                >
+                  {{ ycvalue }}
+                </div>
+              </div>
+            </el-card>
+          </div>
+        </el-col>
       </el-row>
     </div>
     <el-row :gutter="20">
@@ -59,19 +97,15 @@
             placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
           ></el-input>
         </el-form-item>
+
         <el-form-item label="鎮h�呰寖鍥�" prop="status">
-          <el-select
-            v-model="topqueryParams.searchscope"
-            placeholder="璇烽�夋嫨鎮h�呰寖鍥�"
-          >
-            <el-option
-              v-for="item in source"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            >
-            </el-option>
-          </el-select>
+          <el-cascader
+            v-model="topqueryParams.scopetype"
+            placeholder="榛樿鍏ㄩ儴"
+            :options="sourcetype"
+            :props="{ expandTrigger: 'hover' }"
+            @change="handleChange"
+          ></el-cascader>
         </el-form-item>
 
         <el-form-item label="浠诲姟鐘舵��" prop="status">
@@ -91,7 +125,7 @@
             type="primary"
             icon="el-icon-search"
             size="medium"
-            @click="handleQuery"
+            @click="handleQuery(1)"
             >鎼滅储</el-button
           >
           <el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
@@ -187,7 +221,8 @@
           width="120"
         >
           <template slot-scope="scope">
-            <div v-if="scope.row.sendstate == 1">
+            <el-tooltip class="item" effect="dark" :content="scope.row.remark" placement="top-start">
+              <div v-if="scope.row.sendstate == 1">
               <el-tag type="primary" :disable-transitions="false"
                 >琚鍙�</el-tag
               >
@@ -213,6 +248,8 @@
             <div v-if="scope.row.sendstate == 6">
               <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag>
             </div>
+    </el-tooltip>
+
           </template>
         </el-table-column>
         <!-- <el-table-column
@@ -285,9 +322,7 @@
           prop="endDay"
         >
           <template slot-scope="scope">
-            <span>{{
-              scope.row.endDay ? scope.row.endDay + "澶�" : "鏃ユ湡缂哄け"
-            }}</span>
+            <span>{{ scope.row.endDay ? scope.row.endDay + "澶�" : "" }}</span>
           </template>
         </el-table-column>
         <el-table-column
@@ -366,7 +401,6 @@
           width="200"
         />
         <el-table-column
-
           label="浠诲姟鎵ц鏂瑰紡"
           align="center"
           key="preachform"
@@ -375,13 +409,10 @@
           :show-overflow-tooltip="true"
         >
           <template slot-scope="scope">
-            <span v-for="item in scope.row.preachform"
-              >{{ item }}銆�
-            </span>
+            <span v-for="item in scope.row.preachform">{{ item }}銆� </span>
           </template>
         </el-table-column>
-        <el-table-column
-
+        <!-- <el-table-column
           label="浠诲姟鍙戦�佹祦绋�"
           align="center"
           key="serviceSubtaskRecordList"
@@ -394,18 +425,17 @@
               >{{ item.remark }}銆�
             </span>
           </template>
-        </el-table-column>
+        </el-table-column> -->
         <el-table-column
-
           label="浠诲姟缁撴灉璇存槑"
-          width="120"
+          width="200"
           align="center"
           key="remark"
           prop="remark"
         >
           <template slot-scope="scope" v-if="scope.row.remark">
             <el-tag
-              type="success"
+              type="warning"
               v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4"
               >{{ scope.row.remark }}</el-tag
             >
@@ -414,8 +444,8 @@
         </el-table-column>
         <el-table-column
           label="鎿嶄綔"
-
           align="center"
+          fixed="right"
           width="200"
           class-name="small-padding fixed-width"
         >
@@ -652,7 +682,10 @@
       },
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
+      ycvalue: "",
+      yfsvalue: "",
       inputValue: "",
+      preachform: "",
       previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
       radio: "",
       radios: [],
@@ -665,80 +698,61 @@
       },
       value: [],
       list: [],
-      source: [
-        {
-          value: 0,
-          label: "鎵�灞炴偅鑰�",
-        },
+
+      sourcetype: [
         {
           value: 1,
-          label: "绉戝鎮h��",
+          label: "绉戝",
+          children: [],
         },
         {
           value: 2,
-          label: "鐥呭尯鎮h��",
+          label: "鐥呭尯",
+          children: [],
+        },
+        {
+          value: 3,
+          label: "鍏ㄩ儴",
         },
       ],
       loading: false,
       cardlist: [
         {
-          name: "鍏ㄩ儴鏈嶅姟",
+          name: "鍑洪櫌鏈嶅姟鎬婚噺",
+          value: 0,
+        },
+        {
+          name: "鎮h�呰繃婊�",
           value: 0,
         },
         {
           name: "搴旈殢璁�",
           value: 0,
         },
-        {
-          name: "涓嶆墽琛�",
-          value: 0,
-        },
-        {
-          name: "寮傚父",
-          value: 0,
-        },
+
+        // {
+        //   name: "寮傚父",
+        //   value: 0,
+        // },
         {
           name: "鍙戦�佸け璐�",
           value: 0,
         },
         {
-          name: "琚鍙�",
+          name: "寰呭彂閫�",
           value: 0,
         },
         {
-          name: "宸插彂閫佹湭棰嗗彇",
+          name: "宸插彂閫�",
           value: 0,
         },
+
+        // {
+        //   name: "宸插彂閫佹湭棰嗗彇",
+        //   value: 0,
+        // },
       ],
-      pickerOptions: {
-        disabledDate(time) {
-          return time.getTime() > Date.now();
-        },
-        shortcuts: [
-          {
-            text: "浠婂ぉ",
-            onClick(picker) {
-              picker.$emit("pick", new Date());
-            },
-          },
-          {
-            text: "鏄ㄥぉ",
-            onClick(picker) {
-              const date = new Date();
-              date.setTime(date.getTime() - 3600 * 1000 * 24);
-              picker.$emit("pick", date);
-            },
-          },
-          {
-            text: "涓�鍛ㄥ墠",
-            onClick(picker) {
-              const date = new Date();
-              date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
-              picker.$emit("pick", date);
-            },
-          },
-        ],
-      },
+
       // 琛ㄥ崟鍙傛暟
       form: {
         phonenumber: "",
@@ -753,7 +767,10 @@
         pageNum: 1,
         pageSize: 10,
         serviceType: 2,
-        searchscope: 2,
+        searchscope: 3,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
       },
       propss: { multiple: true },
       options: [],
@@ -794,6 +811,8 @@
           label: "姝e父",
         },
       ],
+      errtype: "",
+      leavehospitaldistrictcode: "",
       serviceState: [],
       checkboxlist: [],
       // 琛ㄥ崟鏍¢獙
@@ -804,59 +823,90 @@
   created() {
     this.serviceState = store.getters.serviceState;
     this.checkboxlist = store.getters.checkboxlist;
-
-    this.getList();
+    this.errtype = this.$route.query.errtype;
+    this.leavehospitaldistrictcode =
+      this.$route.query.leavehospitaldistrictcode;
+    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,
+      };
+    });
+    if (this.errtype) {
+      this.toleadExport(2);
+    } else {
+      this.getList(1);
+    }
     this.getConfigKey("sys.user.initPassword").then((response) => {
       this.initPassword = response.msg;
     });
   },
   activated() {
-    this.getList();
+    this.getList(1);
   },
   methods: {
     /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
-    getList() {
-      if (this.topqueryParams.searchscope == 1) {
-        this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
-          (obj) => obj.deptCode
-        );
-        this.topqueryParams.leavehospitaldistrictcodes = null;
-      } else if (this.topqueryParams.searchscope == 2) {
-        this.topqueryParams.leavehospitaldistrictcodes =
-          store.getters.belongWards.map((obj) => obj.districtCode);
-        this.topqueryParams.leaveldeptcodes = null;
-      } else {
+    getList(refresh) {
+      // 榛樿鍏ㄩ儴
+      if (this.topqueryParams.searchscope == 3) {
         this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
           (obj) => obj.deptCode
         );
         this.topqueryParams.leavehospitaldistrictcodes =
           store.getters.belongWards.map((obj) => obj.districtCode);
       }
+      // 鎺ュ彈寮傚父璺宠浆
+      if (this.errtype) {
+        this.topqueryParams.leavehospitaldistrictcodes.push(
+          this.leavehospitaldistrictcode
+        );
+        console.log(this.topqueryParams.leavehospitaldistrictcodes, "11");
+      }
       this.loading = true;
       getTaskservelist(this.topqueryParams).then((response) => {
         this.userList = response.rows[0].serviceSubtaskList;
-        this.cardlist[0].value =
-          Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
-        this.cardlist[1].value = response.rows[0].ysf;
-        this.cardlist[2].value = response.rows[0].wzx;
-        this.cardlist[3].value = response.rows[0].yc;
-        this.cardlist[4].value = response.rows[0].fssb;
-        this.cardlist[5].value = response.rows[0].blq;
-        this.cardlist[6].value = response.rows[0].yfs;
+        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].dfs;
+          this.cardlist[5].value = response.rows[0].yfs2;
+          this.yfsvalue = response.rows[0].yfs;
+        }
+        this.loading = false;
         this.userList.forEach((item) => {
+          let idArray = null;
           if (item.endtime) {
             item.endDay = this.daysBetween(item.endtime);
           }
-          const idArray = item.preachform.split(",");
-          item.preachform = idArray.map((value) => {
-            // 鏌ユ壘id瀵瑰簲鐨勫璞�
-            const item = this.checkboxlist.find((item) => item.value == value);
-            // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
-            return item ? item.label : null;
-          });
+
+          if (item.preachform) {
+            if (item.endtime) {
+              item.preachformson = item.preachform;
+              idArray = item.preachform.split(",");
+            }
+
+            item.preachform = idArray.map((value) => {
+              // 鏌ユ壘id瀵瑰簲鐨勫璞�
+              const item = this.checkboxlist.find(
+                (item) => item.value == value
+              );
+              // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+              return item ? item.label : null;
+            });
+          }
         });
         this.total = response.total;
-        this.loading = false;
       });
     },
     // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
@@ -916,17 +966,8 @@
       this.resetForm("form");
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
-    handleQuery() {
-      if (this.topqueryParams.searchscope == 1) {
-        this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
-          (obj) => obj.deptCode
-        );
-        this.topqueryParams.leavehospitaldistrictcodes = null;
-      } else if (this.topqueryParams.searchscope == 2) {
-        this.topqueryParams.leavehospitaldistrictcodes =
-          store.getters.belongWards.map((obj) => obj.districtCode);
-        this.topqueryParams.leaveldeptcodes = null;
-      } else {
+    handleQuery(refresh) {
+      if (this.topqueryParams.searchscope == 3) {
         this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
           (obj) => obj.deptCode
         );
@@ -937,7 +978,26 @@
       this.topqueryParams.startOutHospTime = this.dateRange[0];
       this.topqueryParams.endOutHospTime = this.dateRange[1];
 
-      this.getList();
+      this.getList(refresh);
+    },
+    // 鎮h�呰寖鍥村鐞�
+    handleChange(value) {
+      let type = value[0];
+      let code = value.slice(-1)[0];
+      this.topqueryParams.leavehospitaldistrictcodes = [];
+      this.topqueryParams.leaveldeptcodes = [];
+
+      if (type == 1) {
+        this.topqueryParams.leaveldeptcodes.push(code);
+        this.topqueryParams.leavehospitaldistrictcodes = [];
+        this.topqueryParams.searchscope = 1;
+      } else if (type == 2) {
+        this.topqueryParams.leavehospitaldistrictcodes.push(code);
+        this.topqueryParams.leaveldeptcodes = [];
+        this.topqueryParams.searchscope = 2;
+      } else {
+        this.topqueryParams.searchscope = 3;
+      }
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
@@ -948,7 +1008,7 @@
         serviceType: 2,
         searchscope: 2,
       };
-      this.handleQuery();
+      this.handleQuery(1);
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
@@ -1012,13 +1072,13 @@
             updateUser(this.form).then((response) => {
               this.$modal.msgSuccess("淇敼鎴愬姛");
               this.open = false;
-              this.getList();
+              this.getList(1);
             });
           } else {
             addUser(this.form).then((response) => {
               this.$modal.msgSuccess("鏂板鎴愬姛");
               this.open = false;
-              this.getList();
+              this.getList(1);
             });
           }
         }
@@ -1033,7 +1093,7 @@
           return delUser(userIds);
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         })
         .catch(() => {});
@@ -1046,7 +1106,7 @@
           return console.log("鍋滄鎴愬姛");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgWarning("鍋滄鎴愬姛");
         })
         .catch(() => {});
@@ -1059,7 +1119,7 @@
           return console.log("寮�鍚垚鍔�");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("寮�鍚垚鍔�");
         })
         .catch(() => {});
@@ -1072,7 +1132,7 @@
           return console.log("閫変腑鎴愬姛");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("閲嶇疆鎴愬姛");
         })
         .catch(() => {});
@@ -1083,9 +1143,22 @@
     },
     // 璺宠浆璇︽儏椤�
     Seedetails(row) {
+      let type = "";
+      console.log(row, "rwo");
+      if (row.preachformson) {
+        if (row.preachformson.includes("3")) {
+          type = 1;
+          console.log(type, "rwo");
+        }
+      }
       this.$router.push({
         path: "/followvisit/record/detailpage/",
-        query: { taskid: row.taskid, patid: row.patid, id: row.id },
+        query: {
+          taskid: row.taskid,
+          patid: row.patid,
+          id: row.id,
+          Voicetype: type,
+        },
       });
     },
     // 渚挎嵎鎸夐挳
@@ -1100,8 +1173,10 @@
     },
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
+      this.topqueryParams.pageNum = null;
+      this.topqueryParams.pageSize = null;
       this.download(
-        "system/user/export",
+        "smartor/serviceSubtask/export",
         {
           ...this.topqueryParams,
         },
@@ -1218,6 +1293,21 @@
   background: #8dc8f8;
   cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
 }
+::v-deep.errleftvlue .el-card__body {
+  background: #fdd0d7;
+}
+::v-deep.errleftvlue .el-card__body:hover {
+  background: #f88d96;
+  cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+
+::v-deep.ysfleftvlue .el-card__body {
+  background: #d0fdd8;
+}
+::v-deep.ysfleftvlue .el-card__body:hover {
+  background: #8df8a4;
+  cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
 .button-bb {
   font-weight: 500;
   background-color: #2ba05c;

--
Gitblit v1.9.3