From 45f9797c4e878d5f87a8d04d5ee07af8d39b5567 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 10 六月 2025 11:26:26 +0800
Subject: [PATCH] 测试完成

---
 src/views/followvisit/record/detailpage/index.vue |  732 +++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 618 insertions(+), 114 deletions(-)

diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index 3b62b7b..0abf723 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">
@@ -15,7 +15,7 @@
                 >鏌ョ湅鎮h�呭叏閮ㄦ湇鍔�</el-button
               >
               <el-button v-else type="success" @click="getTaskservelist(id)"
-                >鏌ョ湅鎮h�呮湰娆℃湇鍔′俊鎭�</el-button
+                >鍙睍绀烘湰娆℃湇鍔′俊鎭�</el-button
               >
             </div>
             <div style="margin-left: 20px; color: #59a0f0">
@@ -32,9 +32,33 @@
         </div>
       </div>
       <div>
-        <el-table :data="logsheetlist" style="width: 100%">
-          <el-table-column prop="sendname" align="center" label="濮撳悕"
-          width="100">
+        <el-table
+          :data="logsheetlist"
+          :row-class-name="tableRowClassName"
+          style="width: 100%"
+        >
+          <el-table-column
+            prop="sendname"
+            align="center"
+            label="濮撳悕"
+            width="100"
+          >
+            <template slot-scope="scope">
+              <el-button
+                size="medium"
+                type="text"
+                @click="
+                  gettoken360(
+                    scope.row.sfzh,
+                    scope.row.drcode,
+                    scope.row.drname
+                  )
+                "
+                ><span class="button-textsc">{{
+                  scope.row.sendname
+                }}</span></el-button
+              >
+            </template>
           </el-table-column>
           <el-table-column
             prop="taskName"
@@ -84,7 +108,7 @@
           <el-table-column
             prop="finishtime"
             align="center"
-            label="瀹屾垚鏃堕棿"
+            label="闅忚瀹屾垚鏃堕棿"
             width="200"
             show-overflow-tooltip
           >
@@ -152,6 +176,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"
@@ -172,7 +204,6 @@
                 size="medium"
                 type="text"
                 @click="Seedetails(scope.row)"
-                v-hasPermi="['system:user:edit']"
                 ><span class="button-zx"
                   ><i class="el-icon-s-order"></i>鏌ョ湅</span
                 ></el-button
@@ -182,36 +213,43 @@
         </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">
             <div>浜哄伐澶勭悊</div>
             <el-row :gutter="20">
-              <el-col :span="12"
+              <el-col :span="8"
                 ><el-form-item label="鑱旂郴鐢佃瘽">
                   <el-input
-                    disabled
                     placeholder="鑱旂郴鐢佃瘽缂哄け"
                     v-model="userform.telcode"
                   ></el-input> </el-form-item
               ></el-col>
-              <el-col :span="12"
+              <el-col :span="8"
                 ><el-form-item label="鑱旂郴浜虹數璇�">
                   <el-input
-                    disabled
                     placeholder="鑱旂郴浜虹數璇濈己澶�"
                     v-model="userform.relativetelcode"
                   ></el-input> </el-form-item
               ></el-col>
+              <el-col :span="8"
+                ><el-form-item label="鑱旂郴浜哄叧绯�">
+                  <el-input
+                    placeholder="鑱旂郴浜哄叧绯荤己澶�"
+                    v-model="userform.relation"
+                  ></el-input> </el-form-item
+              ></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="澶勭悊鎰忚">
@@ -231,7 +269,11 @@
               <el-button plain type="info" @click="Editsingletaskson('5')"
                 >涓績闅忚</el-button
               >
-              <el-button type="primary" round @click="sendAgain()"
+              <el-button
+                type="primary"
+                round
+                v-if="this.form.isVisitAgain != 2"
+                @click="sendAgain()"
                 >鍐嶆闅忚</el-button
               >
             </div>
@@ -250,13 +292,23 @@
                         maxlength="30"
                       ></el-input> </el-form-item
                   ></el-col>
+                </el-row>
+                <el-row :gutter="20">
                   <el-col :span="12"
                     ><el-form-item label="鑱旂郴鏂瑰紡" prop="telcode">
                       <el-input
                         v-model="userform.telcode"
                         placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"
-                        maxlength="30"
+                        maxlength="20"
                       /> </el-form-item
+                  ></el-col>
+                  <el-col :span="12">
+                    <el-form-item label="浜插睘鑱旂郴鏂瑰紡" prop="name">
+                      <el-input
+                        v-model="userform.relativetelcode"
+                        placeholder="璇疯緭鍏ュ鍚�"
+                        maxlength="20"
+                      ></el-input> </el-form-item
                   ></el-col>
                 </el-row>
                 <el-row :gutter="20">
@@ -301,7 +353,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"
@@ -311,12 +363,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
@@ -324,7 +376,7 @@
                       : 'scriptTopic-dev'
                   "
                   :key="index"
-                  v-if="item.scriptType == 1"
+                  v-if="item.scriptType == 1 && !item.astrict"
                 >
                   <div class="dev-text">
                     {{ index + 1 }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span>
@@ -332,14 +384,20 @@
                   <div class="dev-xx">
                     <el-radio-group
                       v-model="item.scriptResult"
-                      @change="handleOptionChange($event, index, item)"
+                      @change="
+                        handleOptionChange(
+                          $event,
+                          index,
+                          item.svyLibTemplateTargetoptions
+                        )
+                      "
                     >
                       <el-radio
                         v-for="(
-                          items, index
+                          items, indexs
                         ) in item.svyLibTemplateTargetoptions"
                         :class="items.isabnormal ? 'red-star' : ''"
-                        :key="index"
+                        :key="indexs"
                         :label="items.optioncontent"
                         >{{ items.optioncontent }}</el-radio
                       >
@@ -357,7 +415,7 @@
                       : 'scriptTopic-dev'
                   "
                   :key="index"
-                  v-if="item.scriptType == 2"
+                  v-if="item.scriptType == 2 && !item.astrict"
                 >
                   <div class="dev-text">
                     {{ index + 1 }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
@@ -388,7 +446,7 @@
                 <div
                   class="scriptTopic-dev"
                   :key="index"
-                  v-if="item.scriptType == 4"
+                  v-if="item.scriptType == 4 && !item.astrict"
                 >
                   <div class="dev-text">
                     {{ index + 1 }}銆乕闂瓟]<span>{{ item.scriptContent }}</span>
@@ -520,8 +578,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"
@@ -553,30 +615,110 @@
             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>
+        <div class="headline">涓婃闅忚</div>
+        <el-divider></el-divider>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="闅忚鏂瑰紡">
+              <el-select
+                v-model="form.visitType2"
+                filterable
+                allow-create
+                default-first-option
+                disabled
+                placeholder="璇烽�夋嫨闅忚鏂瑰紡"
+                class="custom-disabled"
+              >
+                <el-option
+                  v-for="item in options"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="闅忚鏃堕棿">
+              <el-date-picker
+                type="date"
+                disabled
+                placeholder="閫夋嫨鏃ユ湡"
+                :picker-options="pickerOptions"
+                align="right"
+                v-model="form.date2"
+                class="custom-disabled"
+              ></el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
 
-        <el-form-item label="闅忚鏂瑰紡">
+        <el-form-item label="闅忚璁板綍">
+          <el-input
+            class="custom-disabled"
+            type="textarea"
+            disabled
+            v-model="form.remark2"
+          ></el-input>
+        </el-form-item>
+        <div class="headline">涓嬫闅忚</div>
+        <el-divider></el-divider>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="闅忚鏂瑰紡" prop="date1">
+              <el-select
+                v-model="form.visitType"
+                filterable
+                allow-create
+                default-first-option
+                @change="visitChange"
+                placeholder="璇烽�夋嫨闅忚鏂瑰紡"
+              >
+                <el-option
+                  v-for="item in options"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="闅忚鏃堕棿" prop="date1">
+              <el-date-picker
+                type="date"
+                placeholder="閫夋嫨鏃ユ湡"
+                :picker-options="pickerOptions"
+                align="right"
+                v-model="form.date1"
+              ></el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <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>
           </el-radio-group>
         </el-form-item>
-        <!-- <el-form-item label="鍗冲埢鍙戦��">
-          <el-switch v-model="zcform.delivery"></el-switch>
-        </el-form-item> -->
-        <el-form-item label="闅忚鏃堕棿">
-          <el-date-picker
-            type="date"
-            placeholder="閫夋嫨鏃ユ湡"
-            v-model="form.date1"
-            style="width: 100%"
-          ></el-date-picker>
-        </el-form-item>
+
         <el-form-item label="闅忚璁板綍">
           <el-input type="textarea" v-model="form.remark"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
+        <el-button type="warning" @click="dialogFormVisible = false"
+          >鍙� 娑�</el-button
+        >
         <el-button type="primary" @click="setupsubtask">纭鍒涘缓鏈嶅姟</el-button>
       </div>
     </el-dialog>
@@ -595,8 +737,13 @@
   serviceSubtaskDetailadd,
   updatePersonVoices,
   addPersonVoices,
+  query360PatInfo,
 } from "@/api/AiCentre/index";
-import { messagelistpatient } from "@/api/patient/homepage";
+import {
+  messagelistpatient,
+  alterpatient,
+  listcontactinformation,
+} from "@/api/patient/homepage";
 export default {
   dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
   data() {
@@ -608,16 +755,135 @@
       activeName: "wj",
       voice: "",
       templateid: "",
+      again: "",
       zcform: {},
       form: {},
       tableDatatop: [], //棰樼洰琛�
       voiceDatatop: [], //棰樼洰琛�
       dynamicTags: [],
-
+      zcrules: {
+        resource: [
+          { required: true, message: "璇烽�夋嫨闅忚鏂瑰紡", trigger: "change" },
+        ],
+        date1: [{ required: true, message: "璇烽�夋嫨闅忚鏃堕棿", trigger: "blur" }],
+      },
+      url: "http://9.208.2.190:8090/smartor/serviceExternal/query360PatInfo",
+      postData: {
+        XiaoXiTou: {
+          FaSongFCSJC: "ZJHES",
+          FaSongJGID: localStorage.getItem("orgid"),
+          FaSongJGMC: localStorage.getItem("orgname"),
+          FaSongSJ: "2025-01-09聽17:29:36",
+          FaSongXTJC: "SUIFANGXT",
+          FaSongXTMC: "闅忚绯荤粺",
+          XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+          XiaoXiLX: "SC_LC_360STCX",
+          XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+          ZuHuID: localStorage.getItem("ZuHuID"),
+          ZuHuMC: localStorage.getItem("orgname"),
+        },
+        YeWuXX: {
+          BingRenXX: {
+            ZhengJianHM: "",
+            ZhengJianLXDM: "01",
+            ZhengJianLXMC: "灞呮皯韬唤璇�",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+          },
+          YongHuXX: {
+            XiTongID: "SUIFANGXT",
+            XiTongMC: "闅忚绯荤粺",
+            YongHuID: "1400466972205912064",
+            YongHuXM: "JNRMYY",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+            idp: "lyra",
+          },
+        },
+      },
+      pickerOptions: {
+        shortcuts: [
+          {
+            text: "涓冨ぉ鍚�",
+            onClick(picker) {
+              const date = new Date();
+              date.setTime(date.getTime() + 3600 * 1000 * 24 * 7);
+              picker.$emit("pick", date);
+            },
+          },
+          {
+            text: "15澶╁悗",
+            onClick(picker) {
+              const date = new Date();
+              date.setTime(date.getTime() + 3600 * 1000 * 24 * 15);
+              picker.$emit("pick", date);
+            },
+          },
+          {
+            text: "涓�涓湀鍚�",
+            onClick(picker) {
+              const date = new Date();
+              date.setTime(date.getTime() + 3600 * 1000 * 24 * 30);
+              picker.$emit("pick", date);
+            },
+          },
+          {
+            text: "涓変釜鏈堝悗",
+            onClick(picker) {
+              const date = new Date();
+              date.setTime(date.getTime() + 3600 * 1000 * 24 * 90);
+              picker.$emit("pick", date);
+            },
+          },
+          {
+            text: "鍏釜鏈堝悗",
+            onClick(picker) {
+              const date = new Date();
+              date.setTime(date.getTime() + 3600 * 1000 * 24 * 180);
+              picker.$emit("pick", date);
+            },
+          },
+          {
+            text: "涓�骞村悗",
+            onClick(picker) {
+              const date = new Date();
+              date.setTime(date.getTime() + 3600 * 1000 * 24 * 365);
+              picker.$emit("pick", date);
+            },
+          },
+        ],
+      },
+      options: [
+        {
+          value: "涓冨ぉ鍚�",
+          label: "涓冨ぉ鍚�",
+        },
+        {
+          value: "15澶╁悗",
+          label: "15澶╁悗",
+        },
+        {
+          value: "涓�涓湀鍚�",
+          label: "涓�涓湀鍚�",
+        },
+        {
+          value: "涓変釜鏈堝悗",
+          label: "涓変釜鏈堝悗",
+        },
+        {
+          value: "鍏釜鏈堝悗",
+          label: "鍏釜鏈堝悗",
+        },
+        {
+          value: "涓�骞村悗",
+          label: "涓�骞村悗",
+        },
+      ],
       userform: {},
-      Whetherall: false, //鏄惁鍏ㄩ儴璁板綍灞曠ず
+      Whetherall: true, //鏄惁鍏ㄩ儴璁板綍灞曠ず
       dialogFormVisible: false,
       Voicetype: 0, //鏄惁涓鸿闊虫湇鍔�
+      visitCount: null,
       logsheetlist: [],
       topicobj: {},
       sendname: null,
@@ -633,10 +899,12 @@
     this.id = this.$route.query.id;
     this.sendname = this.$route.query.sendname;
     this.patid = this.$route.query.patid;
+    this.again = this.$route.query.again;
     this.Voicetype = this.$route.query.Voicetype;
+    this.visitCount = this.$route.query.visitCount;
     this.serviceType = this.$route.query.serviceType;
 
-    this.getTaskservelist(this.id);
+    this.getTaskservelist();
   },
 
   methods: {
@@ -649,10 +917,21 @@
         isFinish: false,
       }).then((res) => {
         if (res.code === 200) {
-          this.tableDatatop = res.data.scriptResult.script;
-          this.tableDatatop.forEach((item) => {
-            console.log(item.scriptResultId, "scriptResultId");
+          // 閽堝鍐嶆闅忚鏈嶅姟杩涜鍒犻櫎缁撴灉璧嬪��
+          if (this.again && res.data.upScriptResult) {
+            res.data.upScriptResult.forEach((itemA) => {
+              const itemB = res.data.scriptResult.find(
+                (item) => item.scriptContent === itemA.scriptContent
+              );
+              if (itemB) {
+                itemB.scriptResult = itemA.scriptResult;
+              }
+            });
+          }
+          this.tableDatatop = res.data.scriptResult;
 
+          this.tableDatatop.forEach((item) => {
+            if (item.scriptType == 2) item.scriptResult = [];
             if (item.scriptResultId && item.scriptType != 2) {
               item.isoption = 3;
               item.scriptResult = item.scriptResult;
@@ -666,6 +945,22 @@
         }
       });
     },
+    //鎮h��360璺宠浆
+    gettoken360(sfzh, drcode, drname) {
+      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");
+          // this.linkUrl = res.data.url;
+        } else {
+          this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+        }
+      });
+    },
     // 鑾峰彇鍩虹淇℃伅
     getuserinfo() {
       const queryParams = {
@@ -675,11 +970,38 @@
       };
       // 鎮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);
+        }
+      });
+      listcontactinformation({ patid: this.patid }).then((response) => {
+        this.tableData = response.rows;
+        if (this.tableData.length) {
+          this.userform.relativetelcode = this.tableData[0].contactway;
+          this.userform.relation = this.tableData[0].relation;
+        }
       });
     },
+    // 鍐嶆闅忚鏃堕棿閫夊彇
+    visitChange(value) {
+      // 鏍规嵁閫夋嫨鐨勯殢璁挎柟寮忚缃椂闂�
+      const now = new Date();
+      if (value.includes("涓冨ぉ鍚�")) {
+        this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 7);
+      } else if (value.includes("15澶╁悗")) {
+        this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 15);
+      } else if (value.includes("涓�涓湀鍚�")) {
+        this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 30);
+      } else if (value.includes("涓変釜鏈堝悗")) {
+        this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 90);
+      } else if (value.includes("鍏釜鏈堝悗")) {
+        this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 180);
+      } else if (value.includes("涓�骞村悗")) {
+        this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 365);
+      }
+    },
+
     // 鑾峰彇璇煶鏁版嵁
     getPersonVoices(id) {
       let obj = {
@@ -687,14 +1009,12 @@
         patid: this.patid,
         subId: id ? id : this.id,
       };
-      console.log(this.voiceDatatop, "111");
 
       getPersonVoices(obj).then((res) => {
-        console.log("222");
         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;
@@ -705,6 +1025,7 @@
               item.scriptResult = [];
             }
           });
+
           if (!this.tableDatatop.length) {
             this.puttaskid(this.templateid);
           }
@@ -732,13 +1053,13 @@
               item.scriptResult = [];
             }
           });
-          console.log(this.tableDatatop, "this.tableDatatop");
         }
       });
     },
     // 鍖绘姢浜哄憳瀛樺偍鏁版嵁
     getdetail() {
       let excep = "";
+      const promises = [];
       this.tableDatatop.forEach((item) => {
         var objs = item.svyLibTemplateTargetoptions.find(
           (items) => items.optioncontent == item.scriptResult
@@ -748,13 +1069,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,27 +1085,73 @@
         }
 
         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 +
+                '"鍐嶆闅忚锛�',
+              "纭",
+              {
+                confirmButtonText: "纭畾",
+                cancelButtonText: "鍙栨秷",
+                showCancelButton: true,
+                dangerouslyUseHTMLString: true,
+                confirmButtonClass: "custom-confirm-button", // 鑷畾涔夌‘璁ゆ寜閽殑绫诲悕
+                cancelButtonClass: "custom-cancel-button", // 鑷畾涔夊彇娑堟寜閽殑绫诲悕
+              }
+            )
+            .then(() => {
+              document.querySelector("#app").scrollTo(0, 0);
+              this.formtidy();
+              this.dialogFormVisible = true;
+            })
+            .catch(() => {
+              if (this.form.serviceType == 13) {
+                if (this.visitCount) {
+                  this.$router.push({
+                    path: "/logisticsservice/zbAgain",
+                  });
+                } else {
+                  this.$router.push({
+                    path: "/logisticsservice/record",
+                  });
+                }
+              } else if (form.serviceType == 2) {
+                if (this.visitCount) {
+                  this.$router.push({
+                    path: "/followvisit/again",
+                  });
+                } else {
+                  this.$router.push({
+                    path: "/followvisit/discharge",
+                  });
+                }
+              }
+            });
+        })
+        .catch((error) => {
+          // 濡傛灉鏈変换浣曚竴涓紓姝ユ搷浣滃け璐ワ紝浼氳繘鍏ヨ繖閲�
+          console.error("鍙戠敓閿欒锛�", error);
+        });
     },
     yuyingetdetail() {
       this.tableDatatop.forEach((item, index) => {
-        console.log(item.scriptResult, "scriptResult");
         item.scriptResult = item.scriptResult.join("&");
         item.templatequestionnum = index + 1;
         item.subId = this.id;
@@ -806,13 +1173,60 @@
       addPersonVoices(obj).then((res) => {
         if (res.code == 200) {
           this.$modal.msgSuccess("鏈嶅姟淇濆瓨鎴愬姛");
+          this.$modal
+            .confirm(
+              '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' +
+                this.userform.name +
+                '"鍐嶆闅忚锛�',
+              "纭",
+              {
+                confirmButtonText: "纭畾",
+                cancelButtonText: "鍙栨秷",
+                showCancelButton: true,
+                dangerouslyUseHTMLString: true,
+                confirmButtonClass: "custom-confirm-button", // 鑷畾涔夌‘璁ゆ寜閽殑绫诲悕
+                cancelButtonClass: "custom-cancel-button", // 鑷畾涔夊彇娑堟寜閽殑绫诲悕
+              }
+            )
+            .then(() => {
+              document.querySelector("#app").scrollTo(0, 0);
+              this.formtidy();
+              this.dialogFormVisible = true;
+            })
+            .catch(() => {
+              if (this.form.serviceType == 13) {
+                if (this.visitCount) {
+                  this.$router.push({
+                    path: "/logisticsservice/zbAgain",
+                  });
+                } else {
+                  this.$router.push({
+                    path: "/logisticsservice/record",
+                  });
+                }
+              } else if (form.serviceType == 2) {
+                if (this.visitCount) {
+                  this.$router.push({
+                    path: "/followvisit/again",
+                  });
+                } else {
+                  this.$router.push({
+                    path: "/followvisit/discharge",
+                  });
+                }
+              }
+            });
         }
       });
     },
-
+    // 鍐嶆闅忚鏁版嵁鏇存浛
+    formtidy() {
+      this.form.visitType2 = this.form.visitType;
+      this.form.date2 = this.form.longSendTime;
+      this.form.remark2 = this.form.remark;
+    },
     // 鑾峰彇鎮h�呰褰�
     getTaskservelist(id) {
-      this.id = id;
       if (id) {
         this.Whetherall = false;
       } else {
@@ -822,14 +1236,27 @@
       getTaskservelist({
         patid: this.patid,
         subId: id,
-      deptOrDistrict:2,
       }).then((res) => {
         if (res.code == 200) {
-          this.form = res.rows[0].serviceSubtaskList[0];
+          this.form = res.rows[0].serviceSubtaskList.find(
+            (item) => item.id == this.id
+          );
           this.logsheetlist = res.rows[0].serviceSubtaskList;
           this.templateid = this.logsheetlist[0].templateid;
+          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();
         }
-this.getuserinfo();
         if (this.Voicetype) {
           this.getPersonVoices();
         } else {
@@ -842,42 +1269,59 @@
       getTaskservelist({
         patid: this.patid,
         subId: this.id,
-      deptOrDistrict:2,
       }).then((res) => {
         if (res.code == 200) {
           objson = res.rows[0].serviceSubtaskList[0];
           objson.suggest = son;
           Editsingletaskson(objson).then((res) => {
             if (res.code) {
-              this.$modal.msgSuccess("璁板綍鎴愬姛");
-              this.getTaskservelist(this.id);
+              this.$modal.msgSuccess("鏈嶅姟璁板綍鎴愬姛");
+              this.getTaskservelist();
             }
           });
         }
       });
     },
-    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 = res.rows[0].serviceSubtaskList.find(
+            (item) => item.id == this.id
+          );
+          objson.remark = this.form.remark;
+          if (sendstate) objson.sendstate = sendstate;
           Editsingletaskson(objson).then((res) => {
             if (res.code) {
               this.$modal.msgSuccess("鏈嶅姟淇敼鎴愬姛");
-              this.getTaskservelist(this.id);
+              alterpatient(this.userform).then((res) => {
+                if (res.code == 200) {
+                  this.$modal.msgSuccess("鍩虹淇℃伅淇濆瓨鎴愬姛");
+                } else {
+                  this.$modal.msgError("鍩虹淇℃伅淇敼澶辫触");
+                }
+              });
+              this.getTaskservelist();
             }
           });
         }
       });
     },
+    // 寮傚父鍒楁覆鏌�
+    tableRowClassName({ row, rowIndex }) {
+      if (row.id == this.id) {
+        return "warning-row";
+      }
+      return "";
+    },
     // 璋冭捣鍐嶆鍙戦��
     sendAgain() {
+      document.querySelector("#app").scrollTo(0, 0);
+      // scrollTo(0, 0)
+      this.formtidy();
       this.dialogFormVisible = true;
     },
     // 鏌ョ湅璇︽儏
@@ -885,18 +1329,32 @@
       this.$modal
         .confirm('鏄惁鏌ョ湅浠诲姟涓�"' + row.taskName + '"鐨勬湇鍔¤鎯呮暟鎹紵')
         .then(() => {
+          if (row.preachformson) {
+            if (row.preachformson.includes("3")) {
+              this.Voicetype = 1;
+            }
+          }
           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();
         })
         .catch(() => {});
     },
     handleOptionChange(a, b, c) {
-      console.log(this.tableDatatop[b], "this.tableDatatop[b]");
-
+      const result = c.find((item) => item.optioncontent == a);
+      if (result.nextQuestion == 0) {
+        this.tableDatatop = this.tableDatatop.reduce((acc, item, i) => {
+          acc.push(i > b ? { ...item, astrict: 1 } : item);
+          return acc;
+        }, []);
+      } else {
+        this.tableDatatop = this.tableDatatop.reduce((acc, item, i) => {
+          acc.push(i > b ? { ...item, astrict: 0 } : item);
+          return acc;
+        }, []);
+      }
       if (this.Voicetype) {
         var obj = this.tableDatatop[b].ivrTaskScriptTargetoptionList.find(
           (item) => item.optioncontent == a
@@ -915,8 +1373,6 @@
     },
     overdata() {
       this.tableDatatop.forEach((item, index) => {
-        console.log(item.svyLibTemplateTargetoptions);
-
         var obj = item.svyLibTemplateTargetoptions.find(
           (items) => items.optioncontent == item.scriptResult
         );
@@ -932,37 +1388,66 @@
     },
     // 鍒涘缓鍐嶆闅忚鏈嶅姟
     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) {
+          this.form.remark =
+            this.form.remark + "銆�" + this.getCurrentTime() + "銆�";
+          let form = structuredClone(this.form);
+          form.longSendTime = this.formatTime(form.date1);
+          form.finishtime = "";
+          if (form.resource) {
+            if (form.resource == 2) {
+              form.serviceType = 13;
+              form.visitDeptCode = localStorage.getItem("deptCode");
+              form.visitDeptName = "闅忚涓績";
+            } else {
+              form.visitDeptCode = form.deptcode;
+              form.visitDeptName = form.deptname;
+            }
+          } else {
+            this.$modal.msgError("鏈�夋嫨闅忚鏂瑰紡");
+            return;
+          }
+          // form.id = null;
+          form.sendstate = 2;
+          addserviceSubtask(form).then((res) => {
+            if (res.code == 200) {
+              this.$modal.msgSuccess("鍒涘缓鎴愬姛");
+              if (form.serviceType == 13) {
+                this.$router.push({
+                  path: "/logisticsservice/again",
+                });
+              } else if (form.serviceType == 2) {
+                this.$router.push({
+                  path: "/logisticsservice/zbAgain",
+                });
+              }
+            } 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) {
-      console.log(a);
-      console.log(b);
-      console.log(c);
+    getCurrentTime() {
+      const now = new Date();
+      const year = now.getFullYear();
+      const month = String(now.getMonth() + 1).padStart(2, "0");
+      const day = String(now.getDate()).padStart(2, "0");
+      const hours = String(now.getHours()).padStart(2, "0");
+      const minutes = String(now.getMinutes()).padStart(2, "0");
+      const seconds = String(now.getSeconds()).padStart(2, "0");
+
+      return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
     },
+    updateScore(a, b, c) {},
   },
 };
 </script>
 
-<style lang="scss" scoped>
+<style lang="scss">
 .Followupdetailspage {
   margin: 10px;
 }
@@ -986,10 +1471,12 @@
     }
   }
 }
+::v-deep.el-table .warning-row {
+  background: #c4e2ee;
+}
 .Followuserinfos {
   margin: 20px 10px;
   align-items: center;
-  height: 300px;
   padding: 30px;
   background: #ffff;
   border: 1px solid #dcdfe6;
@@ -1131,8 +1618,25 @@
 ::v-deep.el-link.el-link--default {
   color: #02a7f0 !important;
 }
+.el-message-box__btns button:nth-child(2) {
+  margin-left: 10px;
+  background-color: #f57676;
+  border-color: #f57676;
+}
 .mulsz {
   font-size: 25px;
   margin-top: 20px;
 }
+.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 {
+  background-color: #fff; /* 鑳屾櫙棰滆壊 */
+  border-color: #dcdfe6; /* 杈规棰滆壊 */
+  color: #080808 !important; /* 鏂囧瓧棰滆壊 */
+  cursor: not-allowed; /* 榧犳爣鏍峰紡 */
+}
 </style>

--
Gitblit v1.9.3