From 3bb35f1f7b7ea2854edb46b3b699244c29e5297d Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 04 三月 2025 21:01:52 +0800
Subject: [PATCH] 测试完成

---
 src/views/followvisit/record/detailpage/index.vue |  889 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 843 insertions(+), 46 deletions(-)

diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index d145d8a..3b62b7b 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -4,23 +4,37 @@
     <div class="Followuserinfo">
       <div>
         <div class="userinfo-text">
-          {{ sendname }}<span>鎮h�呮湇鍔¤鎯�</span>
+          <!-- <span>鎮h�呮湇鍔¤鎯�</span> -->
+          <div class="headline">
+            <div>鎮h�呮湇鍔¤鎯�</div>
+            <div style="margin-left: 20px">
+              <el-button
+                v-if="!Whetherall"
+                type="primary"
+                @click="getTaskservelist()"
+                >鏌ョ湅鎮h�呭叏閮ㄦ湇鍔�</el-button
+              >
+              <el-button v-else type="success" @click="getTaskservelist(id)"
+                >鏌ョ湅鎮h�呮湰娆℃湇鍔′俊鎭�</el-button
+              >
+            </div>
+            <div style="margin-left: 20px; color: #59a0f0">
+              <el-link
+                href="https://9.208.2.207:6060/search-homepage"
+                target="_blank"
+                :underline="true"
+              >
+                鍓嶅線CDSS鏌ヨ
+              </el-link>
+            </div>
+          </div>
           <!-- <el-button type="success">闅忚鍚庣煭淇�</el-button> -->
         </div>
       </div>
       <div>
         <el-table :data="logsheetlist" style="width: 100%">
-          <el-table-column prop="sendname" align="center" label="濮撳悕">
-          </el-table-column>
-          <el-table-column prop="sendstate" align="center" label="鏈嶅姟鐘舵��">
-          </el-table-column>
-          <el-table-column
-            prop="updateTime"
-            align="center"
-            label="瀹屾垚鏃堕棿"
-            width="200"
-            show-overflow-tooltip
-          >
+          <el-table-column prop="sendname" align="center" label="濮撳悕"
+          width="100">
           </el-table-column>
           <el-table-column
             prop="taskName"
@@ -30,6 +44,106 @@
             label="浠诲姟鍚嶇О"
           >
           </el-table-column>
+          <el-table-column
+            prop="sendstate"
+            align="center"
+            width="200"
+            label="浠诲姟鐘舵��"
+          >
+            <template slot-scope="scope">
+              <div v-if="scope.row.sendstate == 1">
+                <el-tag type="primary" :disable-transitions="false"
+                  >琛ㄥ崟宸查鍙�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 2">
+                <el-tag type="primary" :disable-transitions="false"
+                  >寰呴殢璁�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 3">
+                <el-tag type="success" :disable-transitions="false"
+                  >琛ㄥ崟宸插彂閫�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 4">
+                <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
+              </div>
+              <div v-if="scope.row.sendstate == 5">
+                <el-tag type="danger" :disable-transitions="false"
+                  >鍙戦�佸け璐�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 6">
+                <el-tag type="success" :disable-transitions="false"
+                  >宸插畬鎴�</el-tag
+                >
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="finishtime"
+            align="center"
+            label="瀹屾垚鏃堕棿"
+            width="200"
+            show-overflow-tooltip
+          >
+          </el-table-column>
+          <el-table-column
+            label="鍑洪櫌鏃ユ湡"
+            width="200"
+            align="center"
+            key="endtime"
+            prop="endtime"
+          >
+            <template slot-scope="scope">
+              <span>{{ formatTime(scope.row.endtime) }}</span>
+            </template></el-table-column
+          >
+          <el-table-column
+            label="璐d换鎶ゅ+"
+            width="120"
+            align="center"
+            key="nurseName"
+            prop="nurseName"
+          />
+          <el-table-column
+            label="涓绘不鍖荤敓"
+            width="120"
+            align="center"
+            key="drname"
+            prop="drname"
+          />
+
+          <el-table-column
+            label="缁撴灉鐘舵��"
+            align="center"
+            key="excep"
+            prop="excep"
+            width="120"
+          >
+            <template slot-scope="scope">
+              <dict-tag
+                :options="dict.type.sys_yujing"
+                :value="scope.row.excep"
+              />
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="澶勭悊鎰忚"
+            align="center"
+            key="suggest"
+            prop="suggest"
+            width="120"
+          >
+            <template slot-scope="scope">
+              <dict-tag
+                :options="dict.type.sys_suggest"
+                :value="scope.row.suggest"
+              />
+            </template>
+          </el-table-column>
+
           <el-table-column
             prop="templatename"
             align="center"
@@ -60,7 +174,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>
@@ -68,23 +182,147 @@
         </el-table>
       </div>
     </div>
-    <div>
-      <el-tabs type="border-card">
-        <el-tab-pane>
+    <div :class="form.serviceType == 2 ? 'Followuserinfo' : '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-form-item label="鑱旂郴鐢佃瘽">
+                  <el-input
+                    disabled
+                    placeholder="鑱旂郴鐢佃瘽缂哄け"
+                    v-model="userform.telcode"
+                  ></el-input> </el-form-item
+              ></el-col>
+              <el-col :span="12"
+                ><el-form-item label="鑱旂郴浜虹數璇�">
+                  <el-input
+                    disabled
+                    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>
+
+          <el-form-item label="闅忚璁板綍">
+            <el-input type="textarea" v-model="form.remark" ></el-input>
+          </el-form-item>
+
+          <el-form-item label="澶勭悊鎰忚">
+            <div>
+              <el-button plain type="warning" @click="Editsingletaskson('1')"
+                >鏆備笉澶勭悊</el-button
+              >
+              <el-button plain type="success" @click="Editsingletaskson('2')"
+                >鐥呮儏绋冲畾</el-button
+              >
+              <el-button plain type="primary" @click="Editsingletaskson('3')"
+                >閫氱煡灏辫瘖</el-button
+              >
+              <!-- <el-button type="danger" @click="Editsingletaskson('4')"
+    >澶辫</el-button
+  > -->
+              <el-button plain type="info" @click="Editsingletaskson('5')"
+                >涓績闅忚</el-button
+              >
+              <el-button type="primary" round @click="sendAgain()"
+                >鍐嶆闅忚</el-button
+              >
+            </div>
+          </el-form-item>
+        </el-form>
+        <el-collapse>
+          <el-collapse-item title="鏌ョ湅褰撳墠鎮h�呬俊鎭�" name="1">
+            <div class="detailed">
+              <el-form ref="userform" :model="userform" label-width="100px">
+                <el-row :gutter="20">
+                  <el-col :span="12">
+                    <el-form-item label="鎮h�呭鍚�" prop="name">
+                      <el-input
+                        v-model="userform.name"
+                        placeholder="璇疯緭鍏ュ鍚�"
+                        maxlength="30"
+                      ></el-input> </el-form-item
+                  ></el-col>
+                  <el-col :span="12"
+                    ><el-form-item label="鑱旂郴鏂瑰紡" prop="telcode">
+                      <el-input
+                        v-model="userform.telcode"
+                        placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"
+                        maxlength="30"
+                      /> </el-form-item
+                  ></el-col>
+                </el-row>
+                <el-row :gutter="20">
+                  <el-col :span="24">
+                    <el-form-item label="鍑虹敓鍦�" prop="birthplace">
+                      <el-input
+                        v-model="userform.birthplace"
+                        placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅"
+                        maxlength="50"
+                      /> </el-form-item
+                  ></el-col>
+                </el-row>
+                <el-row :gutter="20">
+                  <el-col :span="24"
+                    ><el-form-item label="灞呬綇鍦�" prop="placeOfResidence">
+                      <el-input
+                        v-model="userform.placeOfResidence"
+                        placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅"
+                        maxlength="50"
+                      /> </el-form-item
+                  ></el-col>
+                </el-row>
+                <!-- <el-row :gutter="20">
+                  <el-col :span="24">
+                    <el-form-item label="鏍囩" prop="desc">
+                      <div class="xinz-inf">
+                        <el-tag
+                          :key="tag.tagname"
+                          type="success"
+                          v-for="tag in dynamicTags"
+                          :disable-transitions="false"
+                        >
+                          {{ tag.tagname }}
+                        </el-tag>
+                      </div>
+                    </el-form-item>
+                  </el-col>
+                </el-row> -->
+              </el-form>
+            </div>
+          </el-collapse-item>
+        </el-collapse>
+      </div>
+    </div>
+    <div v-if="form.serviceType == 2">
+      <el-tabs v-model="activeName" type="border-card">
+        <el-tab-pane name="wj">
           <span class="mulsz" slot="label"
             ><i class="el-icon-notebook-1"></i> 闂嵎闅忚缁撴灉</span
           >
           <div class="CONTENT">
             <div class="title">{{ taskname ? taskname : "闂嵎" }}</div>
-            <div class="preview-left">
+
+            <div class="preview-left" v-if="!Voicetype">
               <!-- 鍗曢�� -->
               <div
                 class="topic-dev"
                 v-for="(item, index) in tableDatatop"
-                :key="item.aaa"
+                :key="item.id"
               >
                 <div
-                  class="scriptTopic-dev"
+                  :class="
+                    item.isabnormal
+                      ? 'scriptTopic-isabnormal'
+                      : 'scriptTopic-dev'
+                  "
                   :key="index"
                   v-if="item.scriptType == 1"
                 >
@@ -100,6 +338,7 @@
                         v-for="(
                           items, index
                         ) in item.svyLibTemplateTargetoptions"
+                        :class="items.isabnormal ? 'red-star' : ''"
                         :key="index"
                         :label="items.optioncontent"
                         >{{ items.optioncontent }}</el-radio
@@ -112,7 +351,11 @@
                 </div>
                 <!-- 澶氶�� -->
                 <div
-                  class="scriptTopic-dev"
+                  :class="
+                    item.isabnormal
+                      ? 'scriptTopic-isabnormal'
+                      : 'scriptTopic-dev'
+                  "
                   :key="index"
                   v-if="item.scriptType == 2"
                 >
@@ -125,6 +368,7 @@
                       @change="updateScore($event, index, item)"
                     >
                       <el-checkbox
+                        :class="items.isabnormal ? 'red-star' : ''"
                         @change="$forceUpdate()"
                         v-for="(
                           items, indexs
@@ -162,50 +406,223 @@
                 </div>
               </div>
             </div>
+
+            <div class="preview-left" v-else>
+              <div
+                class="topic-dev"
+                v-for="(item, index) in tableDatatop"
+                :key="item.id"
+              >
+                <div v-if="item.targetvalue">
+                  <div class="dev-text">
+                    {{ index + 1 }}銆乕鍗曢�塢<span>{{ item.questiontext }}</span>
+                  </div>
+                  <div class="dev-xx">
+                    <el-radio-group
+                      v-model="item.matchedtext"
+                      @change="handleOptionChange($event, index, item)"
+                    >
+                      <el-radio
+                        v-for="(items, index) in item.scriptResult"
+                        :key="items"
+                        :label="items"
+                        >{{ items }}</el-radio
+                      >
+                    </el-radio-group>
+                  </div>
+                  <div v-show="item.prompt">
+                    <el-alert :title="item.prompt" type="warning"> </el-alert>
+                  </div>
+                </div>
+
+                <div class="scriptTopic-dev" :key="index" v-else>
+                  <div class="dev-text">
+                    {{ index + 1 }}銆乕闂瓟]<span>{{ item.questiontext }}</span>
+                  </div>
+                  <div class="dev-xx">
+                    <el-input
+                      type="textarea"
+                      :rows="2"
+                      placeholder="璇疯緭鍏ョ瓟妗�"
+                      v-model="item.matchedtext"
+                      clearable
+                    >
+                    </el-input>
+                  </div>
+                </div>
+              </div>
+            </div>
+            <el-button v-if="Voicetype" type="primary" @click="yuyingetdetail"
+              >淇濆瓨鏈嶅姟璇︽儏</el-button
+            >
+            <el-button v-else type="primary" @click="getdetail"
+              >淇濆瓨鏈嶅姟璇︽儏</el-button
+            >
           </div>
         </el-tab-pane>
-        <el-tab-pane>
+
+        <el-tab-pane name="yy">
           <span class="mulsz" slot="label"
             ><i class="el-icon-headset"></i> 璇煶闅忚璇︽儏</span
           >
           <div class="borderdiv">
-            <div>
-              <div class="leftside">
-                <i class="el-icon-phone-outline"></i
-                ><span>鎮ㄤ粖澶╄韩浣撴儏鍐垫�庝箞鏍�</span>
-              </div>
-              <div class="offside">
-                <i class="el-icon-user"></i>
-                <div class="offside-value">
-                  <el-input v-model="input"></el-input>
-                  <el-radio v-model="radio" label="1">寰堟</el-radio>
-                  <el-radio v-model="radio" label="2">杩樺彲浠�</el-radio>
-                  <el-radio v-model="radio" label="3">涓嶅お濂�</el-radio>
-                  <el-radio v-model="radio" label="4">姣旇緝宸�</el-radio>
+            <div class="title">{{ taskname ? taskname : "闂嵎" }}</div>
+            <div
+              style="
+                display: flex;
+                text-align: center;
+                align-items: center;
+                color: #59a0f0;
+              "
+            >
+              瀹屾暣璇煶锛�
+              <mini-audio
+                :audio-source="
+                  voice ? voice : 'https://example.com/example.mp3'
+                "
+              ></mini-audio>
+            </div>
+            <div class="preview-left">
+              <div v-for="item in voiceDatatop">
+                <div class="leftside">
+                  <i class="el-icon-phone-outline"></i
+                  ><span>{{ item.questiontext }}</span>
+                </div>
+                <div class="offside">
+                  <i class="el-icon-user"></i>
+                  <div class="offside-value">
+                    <el-input
+                      type="textarea"
+                      :autosize="{ minRows: 1 }"
+                      v-model="item.asrtext"
+                    ></el-input>
+
+                    <div>
+                      <mini-audio
+                        :audio-source="
+                          item.questionvoice
+                            ? item.questionvoice
+                            : 'https://example.com/example.mp3'
+                        "
+                      ></mini-audio>
+                    </div>
+                  </div>
                 </div>
               </div>
             </div>
+            <el-button v-if="Voicetype" type="primary" @click="yuyingetdetail"
+              >淇濆瓨闅忚璇︽儏</el-button
+            >
+            <el-button v-else type="primary" @click="getdetail"
+              >淇濆瓨闅忚璇︽儏</el-button
+            >
           </div>
         </el-tab-pane>
       </el-tabs>
     </div>
+    <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible">
+      <el-form ref="form" :model="form" label-width="80px">
+        <el-form-item label="浠诲姟鍚嶇О">
+          <el-input
+            style="width: 400px"
+            disabled
+            v-model="form.taskName"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="鎮h�呭悕绉�">
+          <el-input
+            style="width: 400px"
+            disabled
+            v-model="form.sendname"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="骞撮緞">
+          <el-input style="width: 400px" disabled v-model="form.age"></el-input>
+        </el-form-item>
+        <el-form-item label="绉戝">
+          <el-input
+            style="width: 400px"
+            disabled
+            v-model="form.deptname"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="鐥呭尯">
+          <el-input
+            style="width: 400px"
+            disabled
+            v-model="form.leavehospitaldistrictname"
+          ></el-input>
+        </el-form-item>
+
+        <el-form-item label="闅忚鏂瑰紡">
+          <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="primary" @click="setupsubtask">纭鍒涘缓鏈嶅姟</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
 <script>
-import { getsearchrResults, getTaskservelist } from "@/api/AiCentre/index";
+import {
+  getsearchrResults,
+  getPersonVoices,
+  addserviceSubtask,
+  getTaskservelist,
+  getTaskFollowup,
+  Editsingletaskson,
+  serviceSubtaskDetailedit,
+  serviceSubtaskDetailadd,
+  updatePersonVoices,
+  addPersonVoices,
+} from "@/api/AiCentre/index";
+import { messagelistpatient } from "@/api/patient/homepage";
 export default {
+  dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
   data() {
     return {
-      radio: "1",
       userid: "",
       input: "浠婂ぉ韬綋杩樹笉閿�",
       radio: "2",
       taskname: "",
+      activeName: "wj",
+      voice: "",
+      templateid: "",
+      zcform: {},
+      form: {},
       tableDatatop: [], //棰樼洰琛�
+      voiceDatatop: [], //棰樼洰琛�
+      dynamicTags: [],
+
+      userform: {},
+      Whetherall: false, //鏄惁鍏ㄩ儴璁板綍灞曠ず
+      dialogFormVisible: false,
+      Voicetype: 0, //鏄惁涓鸿闊虫湇鍔�
       logsheetlist: [],
+      topicobj: {},
       sendname: null,
       serviceType: null,
+      id: null,
       taskid: null,
       patid: null,
     };
@@ -213,44 +630,334 @@
 
   created() {
     this.taskid = this.$route.query.taskid;
+    this.id = this.$route.query.id;
     this.sendname = this.$route.query.sendname;
     this.patid = this.$route.query.patid;
+    this.Voicetype = this.$route.query.Voicetype;
     this.serviceType = this.$route.query.serviceType;
-    this.getsearchrResults();
-    this.getTaskservelist();
+
+    this.getTaskservelist(this.id);
   },
 
   methods: {
     // 鑾峰彇闂嵎鏁版嵁
-    getsearchrResults() {
+    getsearchrResults(id) {
       getsearchrResults({
         taskid: this.taskid,
         patid: this.patid,
+        subId: id ? id : this.id,
+        isFinish: false,
       }).then((res) => {
         if (res.code === 200) {
           this.tableDatatop = res.data.scriptResult.script;
           this.tableDatatop.forEach((item) => {
-            if (item.scriptResult && item.scriptType != 2) {
-              item.scriptResult = JSON.parse(item.scriptResult);
-            } else if (item.scriptResult && item.scriptType == 2) {
+            console.log(item.scriptResultId, "scriptResultId");
+
+            if (item.scriptResultId && item.scriptType != 2) {
+              item.isoption = 3;
+              item.scriptResult = item.scriptResult;
+            } else if (item.scriptResultId && item.scriptType == 2) {
               item.scriptResult = item.scriptResult.split("&");
+              item.isoption = 3;
             }
           });
           this.taskname = res.data.taskName;
+          this.overdata();
         }
       });
     },
+    // 鑾峰彇鍩虹淇℃伅
+    getuserinfo() {
+      const queryParams = {
+        pid: Number(this.patid),
+        allhosp: "0",
+        pageNum: 1,
+      };
+      // 鎮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);
+      });
+    },
+    // 鑾峰彇璇煶鏁版嵁
+    getPersonVoices(id) {
+      let obj = {
+        taskid: this.taskid,
+        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.taskname = res.data.taskName;
+          // 闂嵎灞曠ず鏁版嵁澶勭悊
+          this.tableDatatop = res.data.filteredDetails;
+          this.tableDatatop.forEach((item) => {
+            if (item.targetvalue) {
+              item.scriptResult = item.targetvalue.split("&");
+            } else {
+              item.scriptResult = [];
+            }
+          });
+          if (!this.tableDatatop.length) {
+            this.puttaskid(this.templateid);
+          }
+        }
+      });
+    },
+    // 鑾峰彇闂嵎瀹屾暣鏁版嵁姣斿
+    puttaskid(id) {
+      getTaskFollowup(id).then((res) => {
+        if (res.code == 200) {
+          this.tableDatatop = res.data.ivrTaskTemplateScriptVOList;
+          this.tableDatatop.forEach((item) => {
+            item.id = null;
+            // 绫诲瀷鍒ゆ柇璧嬪��
+            if (item.ivrTaskScriptTargetoptionList) {
+              item.targetvalue = 1;
+              item.questiontext = item.scriptContent;
+              item.targetvalue = item.ivrTaskScriptTargetoptionList
+                .map((obj) => obj.targetvalue)
+                .join("&");
+            }
+            if (item.targetvalue) {
+              item.scriptResult = item.targetvalue.split("&");
+            } else {
+              item.scriptResult = [];
+            }
+          });
+          console.log(this.tableDatatop, "this.tableDatatop");
+        }
+      });
+    },
+    // 鍖绘姢浜哄憳瀛樺偍鏁版嵁
+    getdetail() {
+      let excep = "";
+      this.tableDatatop.forEach((item) => {
+        var objs = item.svyLibTemplateTargetoptions.find(
+          (items) => items.optioncontent == item.scriptResult
+        );
+        if (obj) {
+          if (objs.isabnormal) {
+            excep = 1;
+          }
+        }
+
+        let obj = {
+          asrtext: null,
+          patid: this.patid,
+          subId: this.id,
+          taskid: this.taskid,
+          scriptid: item.id,
+          questiontext: item.scriptContent,
+        };
+        if (item.scriptType == 2 && item.scriptResult[0]) {
+          obj.asrtext = item.scriptResult.join("&");
+        } else if (item.scriptType != 2 && item.scriptResult) {
+          obj.asrtext = item.scriptResult;
+        }
+
+        if (item.isoption == 3) {
+          serviceSubtaskDetailedit(obj).then((res) => {
+            if (res.code == 200) {
+            } else {
+              this.$modal.error("淇敼澶辫触");
+            }
+          });
+        } else {
+          serviceSubtaskDetailadd(obj).then((res) => {
+            if (res.code == 200) {
+              console.log(res);
+            } else {
+              this.$modal.error("淇敼澶辫触");
+            }
+          });
+        }
+      });
+      this.Editsingletasksonyic(excep);
+    },
+    yuyingetdetail() {
+      this.tableDatatop.forEach((item, index) => {
+        console.log(item.scriptResult, "scriptResult");
+        item.scriptResult = item.scriptResult.join("&");
+        item.templatequestionnum = index + 1;
+        item.subId = this.id;
+        item.taskid = this.taskid;
+        item.asrtext = item.matchedtext;
+        if (!item.id) {
+          item.isoperation = 1;
+        }
+        item.patid = this.patid;
+        item.templateid = item.templateID;
+      });
+      let obj = {
+        serviceSubtaskDetailList: this.tableDatatop,
+        param1: this.taskid,
+        param2: this.patid,
+        subId: this.id,
+      };
+
+      addPersonVoices(obj).then((res) => {
+        if (res.code == 200) {
+          this.$modal.msgSuccess("鏈嶅姟淇濆瓨鎴愬姛");
+        }
+      });
+    },
+
     // 鑾峰彇鎮h�呰褰�
-    getTaskservelist() {
+    getTaskservelist(id) {
+      this.id = id;
+      if (id) {
+        this.Whetherall = false;
+      } else {
+        this.Whetherall = true;
+      }
+
       getTaskservelist({
         patid: this.patid,
+        subId: id,
+      deptOrDistrict:2,
       }).then((res) => {
         if (res.code == 200) {
-          this.logsheetlist = res.rows;
+          this.form = res.rows[0].serviceSubtaskList[0];
+          this.logsheetlist = res.rows[0].serviceSubtaskList;
+          this.templateid = this.logsheetlist[0].templateid;
+        }
+this.getuserinfo();
+        if (this.Voicetype) {
+          this.getPersonVoices();
+        } else {
+          this.getsearchrResults();
         }
       });
     },
-    Seedetails() {},
+    Editsingletaskson(son) {
+      let objson = {};
+      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);
+            }
+          });
+        }
+      });
+    },
+    Editsingletasksonyic(excep) {
+      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;
+          Editsingletaskson(objson).then((res) => {
+            if (res.code) {
+              this.$modal.msgSuccess("鏈嶅姟淇敼鎴愬姛");
+              this.getTaskservelist(this.id);
+            }
+          });
+        }
+      });
+    },
+    // 璋冭捣鍐嶆鍙戦��
+    sendAgain() {
+      this.dialogFormVisible = true;
+    },
+    // 鏌ョ湅璇︽儏
+    Seedetails(row) {
+      this.$modal
+        .confirm('鏄惁鏌ョ湅浠诲姟涓�"' + row.taskName + '"鐨勬湇鍔¤鎯呮暟鎹紵')
+        .then(() => {
+          this.taskid = row.taskid;
+          this.id = row.id;
+          this.patid = row.patid;
+          this.Voicetype = row.type;
+          this.serviceType = row.serviceType;
+    this.getTaskservelist(this.id);
+        })
+        .catch(() => {});
+    },
+    handleOptionChange(a, b, c) {
+      console.log(this.tableDatatop[b], "this.tableDatatop[b]");
+
+      if (this.Voicetype) {
+        var obj = this.tableDatatop[b].ivrTaskScriptTargetoptionList.find(
+          (item) => item.optioncontent == a
+        );
+      } else {
+        var obj = this.tableDatatop[b].svyLibTemplateTargetoptions.find(
+          (item) => item.optioncontent == a
+        );
+      }
+      if (obj.isabnormal) {
+        this.tableDatatop[b].isabnormal = true;
+      } else {
+        this.tableDatatop[b].isabnormal = false;
+      }
+      this.$forceUpdate();
+    },
+    overdata() {
+      this.tableDatatop.forEach((item, index) => {
+        console.log(item.svyLibTemplateTargetoptions);
+
+        var obj = item.svyLibTemplateTargetoptions.find(
+          (items) => items.optioncontent == item.scriptResult
+        );
+        if (obj) {
+          if (obj.isabnormal) {
+            this.tableDatatop[index].isabnormal = true;
+          } else {
+            this.tableDatatop[index].isabnormal = false;
+          }
+          this.$forceUpdate();
+        }
+      });
+    },
+    // 鍒涘缓鍐嶆闅忚鏈嶅姟
+    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;
+        }
+      } 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);
+    },
   },
 };
 </script>
@@ -279,12 +986,39 @@
     }
   }
 }
+.Followuserinfos {
+  margin: 20px 10px;
+  align-items: center;
+  height: 300px;
+  padding: 30px;
+  background: #ffff;
+  border: 1px solid #dcdfe6;
+  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+    0 0 6px 0 rgba(0, 0, 0, 0.04);
+  .userinfo-text {
+    font-size: 20px;
+    margin-right: 20px;
+    margin-bottom: 10px;
+  }
+  .userinfo-value {
+    color: rgb(15, 139, 211);
+    span {
+      margin-right: 20px;
+    }
+  }
+}
 .borderdiv {
   min-height: 60vh;
   font-size: 20px;
   padding: 30px;
+  .title {
+    font-size: 22px;
+    font-weight: bold;
+    margin-bottom: 20px;
+    text-align: center;
+  }
   .leftside {
-    margin-bottom: 30px;
+    margin: 30px 0;
     span {
       width: 400px;
       margin-left: 20px;
@@ -331,9 +1065,72 @@
     }
   }
 }
+.scriptTopic-isabnormal {
+  color: red;
+}
+.detailed {
+  width: 88%;
+  border-radius: 8px;
+  padding: 30px;
+  margin-bottom: 30px;
+  background-color: #ddf0f8;
+  .bg-purple {
+    margin-bottom: 20px;
+  }
+  .spanvalue {
+    display: inline-block;
+    min-width: 200px;
+    border-bottom: 1px solid rgb(172, 172, 172);
+  }
+}
+.headline {
+  font-size: 24px;
+  height: 40px;
+  border-left: 5px solid #41a1be;
+  padding-left: 5px;
+  margin-bottom: 10px;
+  display: flex;
+  // justify-content: space-between;
+  .Add-details {
+    font-size: 18px;
+    color: #02a7f0;
+    cursor: pointer;
+  }
+}
+.red-star {
+  ::v-deep.el-radio__label {
+    position: relative;
+    padding-right: 10px; /* 鏍规嵁闇�瑕佽皟鏁� */
+  }
+  ::v-deep.el-radio__label::after {
+    content: "*";
+    color: red;
+    position: absolute;
+    right: -5px; /* 鏍规嵁闇�瑕佽皟鏁� */
+    top: 0;
+  }
+  ::v-deep.el-input-group__textarea {
+    white-space: pre-wrap; /* 淇濇寔绌虹櫧绗﹀簭鍒楀苟姝e父鎹㈣ */
+    word-break: break-all; /* 鍦ㄩ暱鍗曡瘝鎴朥RL鍦板潃鍐呴儴杩涜鎹㈣ */
+  }
+  ::v-deep.el-checkbox__label {
+    position: relative;
+    padding-right: 10px; /* 鏍规嵁闇�瑕佽皟鏁� */
+  }
+  ::v-deep.el-checkbox__label::after {
+    content: "*";
+    color: red;
+    position: absolute;
+    right: -5px; /* 鏍规嵁闇�瑕佽皟鏁� */
+    top: 0;
+  }
+}
 ::v-deep.offside-value .el-radio__label {
   color: #fff;
 }
+::v-deep.el-link.el-link--default {
+  color: #02a7f0 !important;
+}
 .mulsz {
   font-size: 25px;
   margin-top: 20px;

--
Gitblit v1.9.3