From 36b7179cda46033aa5f142aecf0cd213cd50232c Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 11 三月 2025 17:09:29 +0800
Subject: [PATCH] 测试完成

---
 src/views/followvisit/record/detailpage/index.vue |  145 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 103 insertions(+), 42 deletions(-)

diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index 3b62b7b..863735a 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -33,8 +33,12 @@
       </div>
       <div>
         <el-table :data="logsheetlist" style="width: 100%">
-          <el-table-column prop="sendname" align="center" label="濮撳悕"
-          width="100">
+          <el-table-column
+            prop="sendname"
+            align="center"
+            label="濮撳悕"
+            width="100"
+          >
           </el-table-column>
           <el-table-column
             prop="taskName"
@@ -152,6 +156,14 @@
             show-overflow-tooltip
           >
           </el-table-column>
+          <el-table-column
+            prop="remark"
+            align="center"
+            label="鏈嶅姟璁板綍"
+            width="200"
+            show-overflow-tooltip
+          >
+          </el-table-column>
 
           <el-table-column
             prop="bankcardno"
@@ -182,7 +194,7 @@
         </el-table>
       </div>
     </div>
-    <div :class="form.serviceType == 2 ? 'Followuserinfo' : 'Followuserinfos'">
+    <div class="Followuserinfos">
       <div>
         <el-form ref="form" :model="form" label-width="120px">
           <div class="headline">
@@ -206,12 +218,14 @@
               ></el-col>
             </el-row>
             <div style="margin-left: 30px">
-            <el-button type="primary" plain @click="Editsingletasksonyic">淇濆瓨鏈嶅姟</el-button>
-          </div>
+              <el-button type="primary" plain @click="Editsingletasksonyic"
+                >淇濆瓨鏈嶅姟</el-button
+              >
+            </div>
           </div>
 
           <el-form-item label="闅忚璁板綍">
-            <el-input type="textarea" v-model="form.remark" ></el-input>
+            <el-input type="textarea" v-model="form.remark"></el-input>
           </el-form-item>
 
           <el-form-item label="澶勭悊鎰忚">
@@ -301,7 +315,7 @@
         </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"
@@ -521,7 +535,7 @@
       </el-tabs>
     </div>
     <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible">
-      <el-form ref="form" :model="form" label-width="80px">
+      <el-form ref="zcform" :rules="zcrules" :model="form" label-width="80px">
         <el-form-item label="浠诲姟鍚嶇О">
           <el-input
             style="width: 400px"
@@ -554,7 +568,7 @@
           ></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>
@@ -563,7 +577,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="閫夋嫨鏃ユ湡"
@@ -613,7 +627,14 @@
       tableDatatop: [], //棰樼洰琛�
       voiceDatatop: [], //棰樼洰琛�
       dynamicTags: [],
-
+      zcrules: {
+        date1: [
+          { required: true, message: "璇烽�夋嫨闅忚鏂瑰紡", trigger: "change" },
+        ],
+        resource: [
+          { required: true, message: "璇烽�夋嫨闅忚鏃堕棿", trigger: "blur" },
+        ],
+      },
       userform: {},
       Whetherall: false, //鏄惁鍏ㄩ儴璁板綍灞曠ず
       dialogFormVisible: false,
@@ -675,9 +696,10 @@
       };
       // 鎮h�呭熀纭�淇℃伅
       messagelistpatient(queryParams).then((response) => {
-        console.log(response.rows[0],'888');
-        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);
+        }
       });
     },
     // 鑾峰彇璇煶鏁版嵁
@@ -694,7 +716,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;
@@ -739,6 +761,7 @@
     // 鍖绘姢浜哄憳瀛樺偍鏁版嵁
     getdetail() {
       let excep = "";
+      const promises = [];
       this.tableDatatop.forEach((item) => {
         var objs = item.svyLibTemplateTargetoptions.find(
           (items) => items.optioncontent == item.scriptResult
@@ -748,13 +771,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]) {
@@ -764,23 +787,34 @@
         }
 
         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.userform.name + '"鍐嶆闅忚锛�'
+            )
+            .then(() => {
+              this.dialogFormVisible = true;
+            })
+            .catch(() => {});
+        })
+        .catch((error) => {
+          // 濡傛灉鏈変换浣曚竴涓紓姝ユ搷浣滃け璐ワ紝浼氳繘鍏ヨ繖閲�
+          console.error("鍙戠敓閿欒锛�", error);
+        });
     },
     yuyingetdetail() {
       this.tableDatatop.forEach((item, index) => {
@@ -806,6 +840,14 @@
       addPersonVoices(obj).then((res) => {
         if (res.code == 200) {
           this.$modal.msgSuccess("鏈嶅姟淇濆瓨鎴愬姛");
+          this.$modal
+            .confirm(
+              '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' + this.userform.name + '"鍐嶆闅忚锛�'
+            )
+            .then(() => {
+              this.dialogFormVisible = true;
+            })
+            .catch(() => {});
         }
       });
     },
@@ -822,14 +864,26 @@
       getTaskservelist({
         patid: this.patid,
         subId: id,
-      deptOrDistrict:2,
       }).then((res) => {
         if (res.code == 200) {
           this.form = res.rows[0].serviceSubtaskList[0];
+          console.log(this.form, "this.form");
           this.logsheetlist = res.rows[0].serviceSubtaskList;
           this.templateid = this.logsheetlist[0].templateid;
+          const targetDate = new Date(this.form.longSendTime); // 鐩爣鏃ユ湡
+          const now = new Date(); // 褰撳墠鏃堕棿
+
+          if (now < targetDate && this.form.sendstate == 2) {
+            this.$confirm("褰撳墠鏈嶅姟鏈埌鍙戦�佹椂闂磋璋ㄦ厧淇敼", "鎻愮ず", {
+              confirmButtonText: "纭畾",
+              cancelButtonText: "鍙栨秷",
+              type: "warning",
+            })
+              .then(() => {})
+              .catch(() => {});
+          }
+          this.getuserinfo();
         }
-this.getuserinfo();
         if (this.Voicetype) {
           this.getPersonVoices();
         } else {
@@ -842,7 +896,6 @@
       getTaskservelist({
         patid: this.patid,
         subId: this.id,
-      deptOrDistrict:2,
       }).then((res) => {
         if (res.code == 200) {
           objson = res.rows[0].serviceSubtaskList[0];
@@ -856,17 +909,16 @@
         }
       });
     },
-    Editsingletasksonyic(excep) {
+    Editsingletasksonyic(sendstate) {
       let objson = {};
       getTaskservelist({
         patid: this.patid,
         subId: this.id,
-      deptOrDistrict:2,
       }).then((res) => {
         if (res.code == 200) {
           objson = res.rows[0].serviceSubtaskList[0];
-          objson.excep = excep;
-          objson.remark = remark;
+          objson.remark = this.form.remark;
+          objson.sendstate = sendstate;
           Editsingletaskson(objson).then((res) => {
             if (res.code) {
               this.$modal.msgSuccess("鏈嶅姟淇敼鎴愬姛");
@@ -885,12 +937,18 @@
       this.$modal
         .confirm('鏄惁鏌ョ湅浠诲姟涓�"' + row.taskName + '"鐨勬湇鍔¤鎯呮暟鎹紵')
         .then(() => {
+          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.Voicetype = row.type;
           this.serviceType = row.serviceType;
-    this.getTaskservelist(this.id);
+          this.getTaskservelist(this.id);
         })
         .catch(() => {});
     },
@@ -932,8 +990,9 @@
     },
     // 鍒涘缓鍐嶆闅忚鏈嶅姟
     setupsubtask() {
-      console.log(this.form);
-      let form = structuredClone(this.form);
+      this.$refs['zcform'].validate((valid) => {
+        if (valid) {
+          let form = structuredClone(this.form);
       form.longSendTime = this.formatTime(form.date1);
       if (form.resource) {
         if (form.resource == 2) {
@@ -952,6 +1011,9 @@
         }
         this.dialogFormVisible = false;
       });
+        }
+      });
+
     },
     updateScore(a, b, c) {
       console.log(a);
@@ -989,7 +1051,6 @@
 .Followuserinfos {
   margin: 20px 10px;
   align-items: center;
-  height: 300px;
   padding: 30px;
   background: #ffff;
   border: 1px solid #dcdfe6;

--
Gitblit v1.9.3