From fecb2f5b3a5b4c7994eb76cc730c2bd27b6f8b67 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 22 四月 2025 09:34:17 +0800
Subject: [PATCH] 测试完成

---
 src/views/followvisit/record/detailpage/index.vue |  288 ++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 202 insertions(+), 86 deletions(-)

diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index c4eaf3b..60a7b10 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -1,6 +1,6 @@
 <template>
   <!-- 鑱婅繛椤甸潰璁板綍 -->
-  <div class="Followupdetailspage">
+  <div class="Followupdetailspage" id="app-container">
     <div class="Followuserinfo">
       <div>
         <div class="userinfo-text">
@@ -33,13 +33,26 @@
       </div>
       <div>
         <el-table :data="logsheetlist" style="width: 100%">
-          <el-table-column prop="sendname" align="center" label="濮撳悕">
+          <el-table-column
+            prop="sendname"
+            align="center"
+            label="濮撳悕"
+            width="100"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="taskName"
+            align="center"
+            width="200"
+            show-overflow-tooltip
+            label="浠诲姟鍚嶇О"
+          >
           </el-table-column>
           <el-table-column
             prop="sendstate"
             align="center"
             width="200"
-            label="鏈嶅姟鐘舵��"
+            label="浠诲姟鐘舵��"
           >
             <template slot-scope="scope">
               <div v-if="scope.row.sendstate == 1">
@@ -49,7 +62,7 @@
               </div>
               <div v-if="scope.row.sendstate == 2">
                 <el-tag type="primary" :disable-transitions="false"
-                  >寰呮墽琛�</el-tag
+                  >寰呴殢璁�</el-tag
                 >
               </div>
               <div v-if="scope.row.sendstate == 3">
@@ -75,7 +88,7 @@
           <el-table-column
             prop="finishtime"
             align="center"
-            label="瀹屾垚鏃堕棿"
+            label="闅忚瀹屾垚鏃堕棿"
             width="200"
             show-overflow-tooltip
           >
@@ -134,19 +147,19 @@
               />
             </template>
           </el-table-column>
-          <el-table-column
-            prop="taskName"
-            align="center"
-            width="200"
-            show-overflow-tooltip
-            label="浠诲姟鍚嶇О"
-          >
-          </el-table-column>
 
           <el-table-column
             prop="templatename"
             align="center"
             label="鏈嶅姟妯℃澘"
+            width="200"
+            show-overflow-tooltip
+          >
+          </el-table-column>
+          <el-table-column
+            prop="remark"
+            align="center"
+            label="鏈嶅姟璁板綍"
             width="200"
             show-overflow-tooltip
           >
@@ -173,7 +186,7 @@
                 @click="Seedetails(scope.row)"
                 v-hasPermi="['system:user:edit']"
                 ><span class="button-zx"
-                  ><i class="el-icon-s-order"></i>鏌ョ湅鏈嶅姟缁撴灉</span
+                  ><i class="el-icon-s-order"></i>鏌ョ湅</span
                 ></el-button
               >
             </template>
@@ -181,15 +194,34 @@
         </el-table>
       </div>
     </div>
-    <div :class="form.serviceType == 2 ? 'Followuserinfo' : 'Followuserinfos'">
+    <div class="Followuserinfos">
       <div>
-        <div class="headline">
-          <div>浜哄伐澶勭悊</div>
-          <div style="margin-left: 30px">
-            <el-button type="warning">涓�閿懠鍙�</el-button>
+        <el-form ref="form" :model="form" label-width="120px">
+          <div class="headline">
+            <div>浜哄伐澶勭悊</div>
+            <el-row :gutter="20">
+              <el-col :span="12"
+                ><el-form-item label="鑱旂郴鐢佃瘽">
+                  <el-input
+                    placeholder="鑱旂郴鐢佃瘽缂哄け"
+                    v-model="userform.telcode"
+                  ></el-input> </el-form-item
+              ></el-col>
+              <el-col :span="12"
+                ><el-form-item label="鑱旂郴浜虹數璇�">
+                  <el-input
+                    placeholder="鑱旂郴浜虹數璇濈己澶�"
+                    v-model="userform.relativetelcode"
+                  ></el-input> </el-form-item
+              ></el-col>
+            </el-row>
+            <div style="margin-left: 30px">
+              <el-button type="primary" plain @click="Editsingletasksonyic('')"
+                >淇濆瓨鏈嶅姟</el-button
+              >
+            </div>
           </div>
-        </div>
-        <el-form ref="form" :model="form" label-width="80px">
+
           <el-form-item label="闅忚璁板綍">
             <el-input type="textarea" v-model="form.remark"></el-input>
           </el-form-item>
@@ -259,7 +291,7 @@
                       /> </el-form-item
                   ></el-col>
                 </el-row>
-                <el-row :gutter="20">
+                <!-- <el-row :gutter="20">
                   <el-col :span="24">
                     <el-form-item label="鏍囩" prop="desc">
                       <div class="xinz-inf">
@@ -274,14 +306,14 @@
                       </div>
                     </el-form-item>
                   </el-col>
-                </el-row>
+                </el-row> -->
               </el-form>
             </div>
           </el-collapse-item>
         </el-collapse>
       </div>
     </div>
-    <div v-if="form.serviceType == 2">
+    <div>
       <el-tabs v-model="activeName" type="border-card">
         <el-tab-pane name="wj">
           <span class="mulsz" slot="label"
@@ -291,12 +323,12 @@
             <div class="title">{{ taskname ? taskname : "闂嵎" }}</div>
 
             <div class="preview-left" v-if="!Voicetype">
-              <!-- 鍗曢�� -->
               <div
                 class="topic-dev"
                 v-for="(item, index) in tableDatatop"
                 :key="item.id"
               >
+                <!-- 鍗曢�� -->
                 <div
                   :class="
                     item.isabnormal
@@ -500,8 +532,12 @@
         </el-tab-pane>
       </el-tabs>
     </div>
-    <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible">
-      <el-form ref="form" :model="form" label-width="80px">
+    <el-dialog
+      title="鎮h�呭啀娆¢殢璁�"
+      v-dialogDrags
+      :visible.sync="dialogFormVisible"
+    >
+      <el-form ref="zcform" :rules="zcrules" :model="form" label-width="80px">
         <el-form-item label="浠诲姟鍚嶇О">
           <el-input
             style="width: 400px"
@@ -533,8 +569,15 @@
             v-model="form.leavehospitaldistrictname"
           ></el-input>
         </el-form-item>
+        <el-form-item label="鍑洪櫌鏃堕棿">
+          <el-input
+            style="width: 400px"
+            disabled
+            v-model="form.endtime"
+          ></el-input>
+        </el-form-item>
 
-        <el-form-item label="闅忚鏂瑰紡">
+        <el-form-item label="闅忚鏂瑰紡" prop="resource">
           <el-radio-group v-model="form.resource">
             <el-radio label="1">鏈梾鍖洪殢璁�</el-radio>
             <el-radio label="2">闅忚涓績闅忚</el-radio>
@@ -543,7 +586,7 @@
         <!-- <el-form-item label="鍗冲埢鍙戦��">
           <el-switch v-model="zcform.delivery"></el-switch>
         </el-form-item> -->
-        <el-form-item label="闅忚鏃堕棿">
+        <el-form-item label="闅忚鏃堕棿" prop="date1">
           <el-date-picker
             type="date"
             placeholder="閫夋嫨鏃ユ湡"
@@ -576,7 +619,7 @@
   updatePersonVoices,
   addPersonVoices,
 } from "@/api/AiCentre/index";
-import { messagelistpatient } from "@/api/patient/homepage";
+import { messagelistpatient, alterpatient } from "@/api/patient/homepage";
 export default {
   dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
   data() {
@@ -593,7 +636,14 @@
       tableDatatop: [], //棰樼洰琛�
       voiceDatatop: [], //棰樼洰琛�
       dynamicTags: [],
-
+      zcrules: {
+        date1: [
+          { required: true, message: "璇烽�夋嫨闅忚鏂瑰紡", trigger: "change" },
+        ],
+        resource: [
+          { required: true, message: "璇烽�夋嫨闅忚鏃堕棿", trigger: "blur" },
+        ],
+      },
       userform: {},
       Whetherall: false, //鏄惁鍏ㄩ儴璁板綍灞曠ず
       dialogFormVisible: false,
@@ -615,6 +665,7 @@
     this.patid = this.$route.query.patid;
     this.Voicetype = this.$route.query.Voicetype;
     this.serviceType = this.$route.query.serviceType;
+    console.log(this.id, this.patid);
 
     this.getTaskservelist(this.id);
   },
@@ -629,14 +680,13 @@
         isFinish: false,
       }).then((res) => {
         if (res.code === 200) {
-          this.tableDatatop = res.data.scriptResult.script;
+          this.tableDatatop = res.data.scriptResult;
           this.tableDatatop.forEach((item) => {
-            console.log(item.scriptResultId, "scriptResultId");
-
-            if (item.scriptResultId && item.scriptType != 2) {
+            if (item.scriptType == 2) item.scriptResult = [];
+            if (item.scriptResult && item.scriptType != 2) {
               item.isoption = 3;
               item.scriptResult = item.scriptResult;
-            } else if (item.scriptResultId && item.scriptType == 2) {
+            } else if (item.scriptResult && item.scriptType == 2) {
               item.scriptResult = item.scriptResult.split("&");
               item.isoption = 3;
             }
@@ -649,14 +699,16 @@
     // 鑾峰彇鍩虹淇℃伅
     getuserinfo() {
       const queryParams = {
-        pid: Number(this.id),
+        pid: Number(this.patid),
         allhosp: "0",
         pageNum: 1,
       };
       // 鎮h�呭熀纭�淇℃伅
       messagelistpatient(queryParams).then((response) => {
-        this.userform = response.rows[0];
-        this.dynamicTags = response.rows[0].tagList.map(this.processElement);
+        if (response.rows[0]) {
+          this.userform = response.rows[0];
+          // this.dynamicTags = response.rows[0].tagList.map(this.processElement);
+        }
       });
     },
     // 鑾峰彇璇煶鏁版嵁
@@ -673,7 +725,7 @@
         if (res.code == 200) {
           this.voiceDatatop = res.data.serviceSubtaskDetails;
           this.voice = res.data.voice;
-          // // this.activeName = "yy";
+          this.activeName = "yy";
           this.taskname = res.data.taskName;
           // 闂嵎灞曠ず鏁版嵁澶勭悊
           this.tableDatatop = res.data.filteredDetails;
@@ -684,6 +736,8 @@
               item.scriptResult = [];
             }
           });
+          console.log(this.tableDatatop, "this.tableDatatop");
+
           if (!this.tableDatatop.length) {
             this.puttaskid(this.templateid);
           }
@@ -718,6 +772,7 @@
     // 鍖绘姢浜哄憳瀛樺偍鏁版嵁
     getdetail() {
       let excep = "";
+      const promises = [];
       this.tableDatatop.forEach((item) => {
         var objs = item.svyLibTemplateTargetoptions.find(
           (items) => items.optioncontent == item.scriptResult
@@ -727,13 +782,13 @@
             excep = 1;
           }
         }
-
         let obj = {
           asrtext: null,
           patid: this.patid,
           subId: this.id,
           taskid: this.taskid,
           scriptid: item.id,
+          excep: excep,
           questiontext: item.scriptContent,
         };
         if (item.scriptType == 2 && item.scriptResult[0]) {
@@ -743,23 +798,38 @@
         }
 
         if (item.isoption == 3) {
-          serviceSubtaskDetailedit(obj).then((res) => {
-            if (res.code == 200) {
-            } else {
-              this.$modal.error("淇敼澶辫触");
-            }
-          });
+          promises.push(serviceSubtaskDetailedit(obj));
         } else {
-          serviceSubtaskDetailadd(obj).then((res) => {
-            if (res.code == 200) {
-              console.log(res);
-            } else {
-              this.$modal.error("淇敼澶辫触");
-            }
-          });
+          promises.push(serviceSubtaskDetailadd(obj));
         }
       });
-      this.Editsingletasksonyic(excep);
+      // 浣跨敤 Promise.all 绛夊緟鎵�鏈夊紓姝ユ搷浣滃畬鎴�
+      Promise.all(promises)
+        .then((results) => {
+          // 鎵�鏈夊紓姝ユ搷浣滄垚鍔熷畬鎴愬悗鐨勯�昏緫
+          results.forEach((res) => {
+            if (res.code !== 200) {
+              this.$modal.error("淇敼澶辫触");
+            }
+          });
+          this.Editsingletasksonyic(6);
+
+          this.$modal
+            .confirm(
+              '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' +
+                this.logsheetlist[0].sendname +
+                '"鍐嶆闅忚锛�'
+            )
+            .then(() => {
+              document.querySelector("#app").scrollTo(0, 0);
+              this.dialogFormVisible = true;
+            })
+            .catch(() => {});
+        })
+        .catch((error) => {
+          // 濡傛灉鏈変换浣曚竴涓紓姝ユ搷浣滃け璐ワ紝浼氳繘鍏ヨ繖閲�
+          console.error("鍙戠敓閿欒锛�", error);
+        });
     },
     yuyingetdetail() {
       this.tableDatatop.forEach((item, index) => {
@@ -785,13 +855,23 @@
       addPersonVoices(obj).then((res) => {
         if (res.code == 200) {
           this.$modal.msgSuccess("鏈嶅姟淇濆瓨鎴愬姛");
+          this.$modal
+            .confirm(
+              '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' + this.userform.name + '"鍐嶆闅忚锛�'
+            )
+            .then(() => {
+              document.querySelector("#app").scrollTo(0, 0);
+              this.dialogFormVisible = true;
+            })
+            .catch(() => {});
         }
       });
     },
 
     // 鑾峰彇鎮h�呰褰�
     getTaskservelist(id) {
-      this.id = id;
+      console.log(id, "idsub");
+
       if (id) {
         this.Whetherall = false;
       } else {
@@ -804,11 +884,23 @@
       }).then((res) => {
         if (res.code == 200) {
           this.form = res.rows[0].serviceSubtaskList[0];
-          console.log(this.form, "form3");
           this.logsheetlist = res.rows[0].serviceSubtaskList;
           this.templateid = this.logsheetlist[0].templateid;
-          console.log(this.form.serviceType, "serviceType");
+          const targetDate = new Date(this.form.longSendTime); // 鐩爣鏃ユ湡
+          const now = new Date(); // 褰撳墠鏃堕棿
+          this.form.endtime = this.formatTime(this.form.endtime);
+          if (now < targetDate && this.form.sendstate == 2) {
+            this.$confirm("褰撳墠鏈嶅姟鏈埌鍙戦�佹椂闂磋璋ㄦ厧淇敼", "鎻愮ず", {
+              confirmButtonText: "纭畾",
+              cancelButtonText: "鍙栨秷",
+              type: "warning",
+            })
+              .then(() => {})
+              .catch(() => {});
+          }
+          this.getuserinfo();
         }
+        console.log(this.Voicetype, "this.Voicetype");
 
         if (this.Voicetype) {
           this.getPersonVoices();
@@ -828,14 +920,16 @@
           objson.suggest = son;
           Editsingletaskson(objson).then((res) => {
             if (res.code) {
-              this.$modal.msgSuccess("璁板綍鎴愬姛");
+              this.$modal.msgSuccess("鏈嶅姟璁板綍鎴愬姛");
               this.getTaskservelist(this.id);
             }
           });
         }
       });
     },
-    Editsingletasksonyic(excep) {
+    Editsingletasksonyic(sendstate) {
+      console.log(sendstate, "sendstate");
+
       let objson = {};
       getTaskservelist({
         patid: this.patid,
@@ -843,10 +937,18 @@
       }).then((res) => {
         if (res.code == 200) {
           objson = res.rows[0].serviceSubtaskList[0];
-          objson.excep = excep;
+          objson.remark = this.form.remark;
+          if (sendstate) objson.sendstate = sendstate;
           Editsingletaskson(objson).then((res) => {
             if (res.code) {
               this.$modal.msgSuccess("鏈嶅姟淇敼鎴愬姛");
+              alterpatient(this.userform).then((res) => {
+                if (res.code == 200) {
+                  this.$modal.msgSuccess("鍩虹淇℃伅淇濆瓨鎴愬姛");
+                } else {
+                  this.$modal.msgError("鍩虹淇℃伅淇敼澶辫触");
+                }
+              });
               this.getTaskservelist(this.id);
             }
           });
@@ -855,15 +957,27 @@
     },
     // 璋冭捣鍐嶆鍙戦��
     sendAgain() {
+ document.querySelector("#app").scrollTo(0, 0);
+      // scrollTo(0, 0)
       this.dialogFormVisible = true;
     },
-    // 鏇存敼寮傚父鐘舵��
+    // 鏌ョ湅璇︽儏
     Seedetails(row) {
       this.$modal
-        .confirm('鏄惁鏌ョ湅浠诲姟涓�"' + optionids + '"鐨勬湇鍔¢」锛�')
-        .then(function () {})
+        .confirm('鏄惁鏌ョ湅浠诲姟涓�"' + row.taskName + '"鐨勬湇鍔¤鎯呮暟鎹紵')
         .then(() => {
-          this.getList();
+          if (row.preachformson) {
+            if (row.preachformson.includes("3")) {
+              this.Voicetype = 1;
+            }
+          }
+          console.log(this.Voicetype, "this.Voicetype");
+
+          this.taskid = row.taskid;
+          this.id = row.id;
+          this.patid = row.patid;
+          this.serviceType = row.serviceType;
+          this.getTaskservelist(this.id);
         })
         .catch(() => {});
     },
@@ -888,8 +1002,6 @@
     },
     overdata() {
       this.tableDatatop.forEach((item, index) => {
-        console.log(item.svyLibTemplateTargetoptions);
-
         var obj = item.svyLibTemplateTargetoptions.find(
           (items) => items.optioncontent == item.scriptResult
         );
@@ -905,25 +1017,30 @@
     },
     // 鍒涘缓鍐嶆闅忚鏈嶅姟
     setupsubtask() {
-      console.log(this.form);
-      let form = structuredClone(this.form);
-      form.longSendTime = this.formatTime(form.date1);
-      if (form.resource) {
-        if (form.resource == 2) {
-          form.serviceType = 10;
+      this.$refs["zcform"].validate((valid) => {
+        if (valid) {
+          let form = structuredClone(this.form);
+          form.longSendTime = this.formatTime(form.date1);
+          form.finishtime = "";
+          if (form.resource) {
+            if (form.resource == 2) {
+              form.serviceType = 10;
+            }
+          } else {
+            this.$modal.msgError("鏈�夋嫨闅忚鏂瑰紡");
+          }
+          form.id = null;
+          form.sendstate = 2;
+          addserviceSubtask(form).then((res) => {
+            if (res.code == 200) {
+              this.$modal.msgSuccess("鍒涘缓鎴愬姛");
+            } else {
+              this.$modal.msgError("鍒涘缓澶辫触");
+            }
+            document.querySelector("#app").scrollTo(0, 0);
+            this.dialogFormVisible = false;
+          });
         }
-      } else {
-        this.$modal.msgError("鏈�夋嫨闅忚鏂瑰紡");
-      }
-      form.id = null;
-      form.sendstate = 2;
-      addserviceSubtask(form).then((res) => {
-        if (res.code == 200) {
-          this.$modal.msgSuccess("鍒涘缓鎴愬姛");
-        }else{
-          this.$modal.msgError("鍒涘缓澶辫触");
-        }
-        this.dialogFormVisible=false;
       });
     },
     updateScore(a, b, c) {
@@ -962,7 +1079,6 @@
 .Followuserinfos {
   margin: 20px 10px;
   align-items: center;
-  height: 300px;
   padding: 30px;
   background: #ffff;
   border: 1px solid #dcdfe6;

--
Gitblit v1.9.3