From bbbc478129f72b26e2ec4a2e981ed8698a96880c Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 22 十月 2026 00:28:18 +0800
Subject: [PATCH] 当service_type=6时,需要根据传入的入院还是离院病区(病区)去后端查询

---
 src/views/followvisit/record/detailpage/index.vue |  177 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 156 insertions(+), 21 deletions(-)

diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index cb7e4ef..1f704a4 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -127,6 +127,29 @@
               </el-tooltip>
             </template>
           </el-table-column>
+                <el-table-column
+            v-if="
+              orgname == '鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�' ||
+              orgname == '涓芥按甯備腑鍖婚櫌'
+            "
+            label="鎷ㄥ彿鐘舵��"
+            width="120"
+            align="center"
+            key="isManuallyCalled"
+            prop="isManuallyCalled"
+          >
+            <template slot-scope="scope">
+              <el-tag
+                v-if="Number(scope.row.isManuallyCalled) > 0"
+                type="success"
+                :disable-transitions="false"
+                >鎷ㄩ�歿{ scope.row.isManuallyCalled }}娆�</el-tag
+              >
+              <el-tag v-else type="info" :disable-transitions="false"
+                >鏈嫧閫�</el-tag
+              >
+            </template>
+          </el-table-column>
           <el-table-column
             prop="finishtime"
             align="center"
@@ -283,6 +306,8 @@
           >
           </el-table-column>
 
+
+
           <el-table-column
             prop="bankcardno"
             align="center"
@@ -383,9 +408,20 @@
                         type="primary"
                         round
                         @click="smsSubTask"
-                        v-if="orgname != '鐪佺珛鍚屽痉缈犺嫅闄㈠尯'"
+                        v-if="
+                          orgname != '鐪佺珛鍚屽痉缈犺嫅闄㈠尯' &&
+                          orgname != '涓芥按甯備腑鍖婚櫌'
+                        "
                       >
                         闂嵎鐭俊鎺ㄩ��
+                      </el-button>
+                      <el-button
+                        type="primary"
+                        round
+                        @click="weChatSubTask"
+                        v-if="orgname == '涓芥按甯備腑鍖婚櫌'"
+                      >
+                        闂嵎寰俊鎺ㄩ��
                       </el-button>
                     </span>
                   </div>
@@ -1121,7 +1157,7 @@
           <!-- 娉ㄦ剰杩欓噷鍙兘浣跨敤 userform.telcode -->
         </el-form-item>
         <el-form-item label="绉戝">
-          <el-input style="width: 400px" v-model="form.deptname"></el-input>
+          <el-input style="width: 400px" v-model="form.leaveldeptname"></el-input>
         </el-form-item>
         <el-form-item label="鐥呭尯">
           <el-input
@@ -1144,9 +1180,9 @@
       title="鎮h�呭啀娆¢殢璁�"
       v-dialogDrags
       :visible.sync="dialogFormVisible"
-      width="700px"
+      width="900px"
     >
-      <el-form ref="zcform" :rules="zcrules" :model="form" label-width="80px">
+      <el-form ref="zcform" :rules="zcrules" :model="form" label-width="120px">
         <!-- 鍩虹鏈嶅姟淇℃伅 - 榛樿鎶樺彔 -->
         <el-collapse v-model="activeNames" @change="handleCollapseChange">
           <el-collapse-item title="鍩虹鏈嶅姟淇℃伅" name="basic">
@@ -1175,7 +1211,7 @@
               <el-input
                 style="width: 100%"
                 disabled
-                v-model="form.deptname"
+                v-model="form.leaveldeptname"
               ></el-input>
             </el-form-item>
             <el-form-item label="鐥呭尯">
@@ -1246,6 +1282,13 @@
 
           <!-- 涓嬫闅忚淇℃伅 - 榛樿灞曞紑 -->
           <el-collapse-item title="涓嬫闅忚" name="next">
+            <el-form-item label="鍐嶆闅忚浠诲姟">
+              <el-input
+                disabled
+                v-model="nextTaskName"
+                placeholder="鍐嶆闅忚浠诲姟"
+              ></el-input>
+            </el-form-item>
             <el-row>
               <el-col :span="12">
                 <el-form-item label="闅忚鏂瑰紡" prop="visitType">
@@ -1293,6 +1336,12 @@
             <el-form-item label="闅忚璁板綍" :required="form.resource == '2'">
               <el-input type="textarea" v-model="form.remark"></el-input>
             </el-form-item>
+            <el-form-item label="鍖荤敓澶勭悊鎰忚" prop="doctorOpinion">
+              <el-input
+                type="textarea"
+                v-model="form.doctorOpinion"
+              ></el-input>
+            </el-form-item>
           </el-collapse-item>
         </el-collapse>
       </el-form>
@@ -1312,7 +1361,11 @@
         :visible.sync="CaldialogVisible"
         width="60%"
       >
-        <CallCenterLs ref="CallCenterLs" :initial-phone="currentPhoneNumber" />
+        <CallCenterLs
+          ref="CallCenterLs"
+          :initial-phone="currentPhoneNumber"
+          @call-connected="recordCallConnected"
+        />
       </el-dialog>
     </div>
   </div>
@@ -1336,8 +1389,10 @@
   query360PatInfonh,
   sendMsg,
   smsSubTask,
+  weChatSubTask,
   getconfigKey,
 } from "@/api/AiCentre/index";
+import { getIvrtask } from "@/api/smartor/ivrtask";
 import {
   messagelistpatient,
   alterpatient,
@@ -1487,6 +1542,7 @@
       input: "浠婂ぉ韬綋杩樹笉閿�",
       radio: "2",
       taskname: "",
+      nextTaskName: "",
       activeName: "wj",
       voice: "",
       templateid: "",
@@ -1582,6 +1638,9 @@
             },
             trigger: "change",
           },
+        ],
+        doctorOpinion: [
+          { required: true, message: "璇疯緭鍏ュ尰鐢熷鐞嗘剰瑙�", trigger: "blur" },
         ],
       },
       userrules: {
@@ -2216,7 +2275,8 @@
           });
         }
       } else {
-        location.reload();
+        // location.reload();
+        this.$router.go(-1);
       }
     },
     // 鐢佃瘽============================
@@ -2299,6 +2359,22 @@
           console.log(err);
         });
     },
+    weChatSubTask() {
+      this.$modal
+        .confirm("鏄惁鍚戞偅鑰呴�氳繃寰俊鎺ㄩ�侀棶鍗峰唴瀹癸紵")
+        .then(() => {
+          weChatSubTask(this.id).then((res) => {
+            if (String(res.code) === "200") {
+              this.$modal.msgSuccess(res.msg || "鍙戦�佹垚鍔�");
+            } else {
+              this.$modal.msgError(res.message || res.msg || "鍙戦�佸け璐�");
+            }
+          });
+        })
+        .catch((err) => {
+          console.log(err);
+        });
+    },
     handleConfirmReplace() {
       // 閬嶅巻鎵�鏈夐鐩紙tableDatatop锛�
       this.tableDatatop.forEach((item) => {
@@ -2349,7 +2425,7 @@
         this.CaldialogVisible = true;
         return;
       }
-      // 涓嬫柟鏄腑鍖婚櫌鍛煎彨
+      // 涓嬫柟鏄附姘村競涓尰闄�
       if (this.isSipRegistering) {
         this.$message.warning("绯荤粺姝e湪鍒濆鍖栵紝璇风◢鍊�...");
         return;
@@ -2379,11 +2455,15 @@
       this.callStatus = status.type;
 
       if (status.type === "connected") {
-        this.currentCall = {
-          phone: this.currentPhoneNumber,
-          type: this.callType,
-          startTime: new Date(),
-        };
+        if (!this.currentCall) {
+          this.currentCall = {
+            phone: this.currentPhoneNumber,
+            type: this.callType,
+            startTime: new Date(),
+          };
+          // 涓芥按甯備腑鍖婚櫌锛氱數璇濇帴閫氬悗璁板綍鎷ㄦ墦鎴愬姛娆℃暟
+          this.recordCallConnected();
+        }
       } else if (status.type === "ended" || status.type === "failed") {
         this.currentCall = null;
       }
@@ -2392,6 +2472,39 @@
       if (status.type === "failed") {
         this.$message.error(`鍛煎彨澶辫触: ${status.text}`);
       }
+    },
+    // 鐢佃瘽鎷ㄦ墦鎴愬姛鍚庯紙鎺ラ�氾級娆℃暟 +1锛屽苟閫氳繃 Editsingletaskson 鏇存柊鏈嶅姟鏁版嵁
+    // 浠呴檺鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄笌涓芥按甯備腑鍖婚櫌
+    recordCallConnected() {
+      const allowedOrgs = ["鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�", "涓芥按甯備腑鍖婚櫌"];
+      if (!allowedOrgs.includes(this.orgname)) return;
+
+      getTaskservelist({
+        patid: this.patid,
+        subId: this.id,
+      }).then((res) => {
+        if (res.code == 200) {
+          const objson = res.rows[0].serviceSubtaskList.find(
+            (item) => item.id == this.id
+          );
+          if (!objson) return;
+          objson.isManuallyCalled = (Number(objson.isManuallyCalled) || 0) + 1;
+          Editsingletaskson(objson).then((r) => {
+            if (r.code == 200) {
+              // 鍙婃椂鏇存柊椤堕儴鏈嶅姟鍒楄〃涓庤〃鍗曚腑鐨勬嫧鍙风姸鎬�
+              const localRow = (this.logsheetlist || []).find(
+                (item) => item.id == this.id
+              );
+              if (localRow) {
+                localRow.isManuallyCalled = objson.isManuallyCalled;
+              }
+              if (this.form && this.form.id == this.id) {
+                this.form.isManuallyCalled = objson.isManuallyCalled;
+              }
+            }
+          });
+        }
+      });
     },
     // 缁撴潫褰撳墠閫氳瘽
     endCurrentCall() {
@@ -2522,6 +2635,7 @@
           console.log(this.form.templatename, "templatename");
 
           this.form.remark = this.form.remark || "";
+          this.form.doctorOpinion = this.form.doctorOpinion || "";
           this.logsheetlist = res.rows[0].serviceSubtaskList;
           this.templateid = this.form.templateid;
           this.selectedTag = this.form.excep;
@@ -2555,7 +2669,7 @@
         name: this.form.sendname,
         age: this.form.age,
         phone: this.userform.telcode,
-        deptName: this.form.deptname,
+        deptName: this.form.leaveldeptname,
         wardName: this.form.leavehospitaldistrictname,
         smsTemplate: `灏婃暚鐨�${this.form.sendname}锛屾偍濂斤紒`,
       });
@@ -2711,12 +2825,33 @@
       return tag ? tag.description : "";
     },
 
+    // 鑾峰彇鍐嶆闅忚浠诲姟淇℃伅锛堜笅娆¢殢璁块儴鍒嗗睍绀猴級
+    fetchNextTaskInfo() {
+      const taskid = this.form.taskid || this.taskid;
+      if (!taskid) {
+        this.nextTaskName = "";
+        return;
+      }
+      getIvrtask(taskid).then((r) => {
+        const task = r.data || {};
+        const nextid = task.nexttaskid;
+        if (nextid) {
+          getIvrtask(nextid).then((r2) => {
+            this.nextTaskName =
+              (r2.data && r2.data.taskName) || task.nexttaskname || "";
+          });
+        } else {
+          this.nextTaskName = task.nexttaskname || "";
+        }
+      });
+    },
     // 璋冭捣鍐嶆鍙戦��
     sendAgain() {
+      this.fetchNextTaskInfo();
       getTaskservelist({
         patid: this.patid,
         visitCount: 2,
-        leaveldeptcodes: [this.form.deptcode],
+        leaveldeptcodes: [this.form.leaveldeptcode],
       }).then((res) => {
         if (res.rows[0].serviceSubtaskList.length) {
           if (
@@ -2726,7 +2861,7 @@
             this.$modal
               .confirm(
                 '鏈偅鑰呭湪"' +
-                  res.rows[0].serviceSubtaskList[0].deptname +
+                  res.rows[0].serviceSubtaskList[0].leaveldeptname +
                   '"绉戝涓嬪凡鏈夊啀娆¢殢璁挎湇鍔¤繘琛屼腑鏄惁缁х画鍒涘缓锛�'
               )
               .then(() => {
@@ -2955,11 +3090,11 @@
             if (form.resource == 2) {
               form.visitDeptCode = localStorage.getItem("deptCode")
                 ? localStorage.getItem("deptCode")
-                : form.deptcode;
+                : form.leaveldeptcode;
               form.visitDeptName = "闅忚涓績";
             } else {
-              form.visitDeptCode = form.deptcode;
-              form.visitDeptName = form.deptname;
+              form.visitDeptCode = form.leaveldeptcode;
+              form.visitDeptName = form.leaveldeptname;
             }
           } else {
             this.$modal.msgError("鏈�夋嫨闅忚鏂瑰紡");
@@ -3653,14 +3788,14 @@
   margin-top: 20px;
 }
 
-.el-input.is-disabled .el-input__inner {
+::v-deep .el-input.is-disabled .el-input__inner {
   background-color: #fff;
   border-color: #dcdfe6;
   color: #080808 !important;
   cursor: not-allowed;
 }
 
-.el-textarea.is-disabled .el-textarea__inner {
+::v-deep .el-textarea.is-disabled .el-textarea__inner {
   background-color: #fff;
   border-color: #dcdfe6;
   color: #080808 !important;

--
Gitblit v1.9.3