From 2fe94c2414aa1b8840e4dbf9a8e19121a8a867b6 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期六, 12 十月 2024 09:35:31 +0800
Subject: [PATCH] 测试完成

---
 src/views/system/user/index.vue                         |    2 
 src/views/patient/propaganda/particty copy.vue          | 1437 +++++++++++++++++++++++++++
 vue.config.js                                           |    2 
 src/views/repositoryai/templateku/configurat/index.vue  |  233 +++-
 src/api/AiCentre/Qtemplate.js                           |    2 
 src/views/knowledge/questionnaire/compilequer/index.vue |   18 
 src/views/patient/propaganda/particty.vue               | 1395 ++++++++++++++++++++------
 src/api/AiCentre/Followup.js                            |   22 
 8 files changed, 2,696 insertions(+), 415 deletions(-)

diff --git a/src/api/AiCentre/Followup.js b/src/api/AiCentre/Followup.js
index 1a4ea01..4145ce3 100644
--- a/src/api/AiCentre/Followup.js
+++ b/src/api/AiCentre/Followup.js
@@ -70,3 +70,25 @@
       data: data,
     });
   }
+      // 闂嵎浠诲姟妯℃澘鏂板淇敼
+      export function Taskparticty(data) {
+        return request({
+          url: "/smartor/ivrTaskTemplate/saveOrUpdateTempScript",
+          method: "post",
+          data: data,
+        });
+      }
+        // 鍒犻櫎浠诲姟妯℃澘
+    export function deleteTaskparticty(svyid) {
+      return request({
+        url: "/smartor/ivrTaskTemplate/remove/" + svyid,
+        method: "get",
+      });
+    }
+
+        export function getTaskparticty(svyid) {
+          return request({
+            url: "/smartor/ivrTaskTemplate/getInfo/" + svyid,
+            method: "get",
+          });
+        }
diff --git a/src/api/AiCentre/Qtemplate.js b/src/api/AiCentre/Qtemplate.js
index 8897655..55d9e46 100644
--- a/src/api/AiCentre/Qtemplate.js
+++ b/src/api/AiCentre/Qtemplate.js
@@ -128,7 +128,7 @@
       data: data,
     });
   }
-    // 鍒犻櫎闂嵎妯℃澘鍒嗙被
+    // 鍒犻櫎浠诲姟妯℃澘
 export function deleteTaskQuestioncomit(svyid) {
   return request({
     url: "/smartor/svytemplateTask/remove/" + svyid,
diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index a2e96e7..8fa6512 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -280,7 +280,7 @@
                   size="medium"
                   multiple
                   filterable
-                  placeholder="璇烽�夋嫨绉戝"
+                  placeholder="璇烽�夋嫨鐥呭尯"
                 >
                   <el-option
                     class="ruleFormaa"
@@ -1455,8 +1455,7 @@
     this.appraiselist = store.getters.appraiselist;
     this.belongWards = store.getters.belongWards;
     this.belongDepts = store.getters.belongDepts;
-    console.log(this.belongWards, "belongWards");
-    console.log(this.belongDepts, "belongDepts");
+
 
     // this.test();
   },
@@ -1587,9 +1586,7 @@
     },
     // 绉戝/闄㈠尯澶勭悊
     Departmenttreatment() {
-      console.log(this.tempDetpRelevanceslist, "tempDetpRelevanceslist");
-      console.log(this.deptlist, "deptlist");
-      console.log(this.hosplist, "deptlist");
+
       this.tempDetpRelevanceslist.forEach((item) => {
         console.log(item);
         let result = this.deptlist.some((obj) => obj.deptCode == item);
@@ -1607,9 +1604,6 @@
       });
       this.tempbelongWards.forEach((item) => {
         let result = this.hosplist.some((obj) => obj.deptCode == item);
-
-        console.log(this.result, "resulthhh");
-
         if (!result) {
           this.tempbelongWardsform.push({
             deptType: 2,
@@ -1620,11 +1614,7 @@
           });
         }
       });
-      console.log(this.tempbelongWardsform, "tempbelongWardsform");
-      console.log(
-        this.tempDetpRelevanceslistform,
-        "tempDetpRelevanceslistform"
-      );
+
 
       // return
       setTimeout(() => {
diff --git a/src/views/patient/propaganda/particty copy.vue b/src/views/patient/propaganda/particty copy.vue
new file mode 100644
index 0000000..e10301d
--- /dev/null
+++ b/src/views/patient/propaganda/particty copy.vue
@@ -0,0 +1,1437 @@
+<template>
+  <div class="Questionnairemanagement">
+    <!-- 涓婁晶鏍� -->
+    <div class="sidecolumn">
+      <div>
+        <el-steps simple :active="Editprogress">
+          <el-step
+            icon="el-icon-edit"
+            title="鍩虹淇℃伅"
+            description="閫夋嫨妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅"
+          ></el-step>
+          <el-step
+            icon="el-icon-user"
+            title="浠诲姟涓讳綋"
+            description="鍦ㄦ湰閮ㄩ�夋嫨鏈嶅姟鎮h��"
+          ></el-step>
+        </el-steps>
+      </div>
+    </div>
+    <!-- 涓嬩晶鏁版嵁 -->
+    <div class="leftvlue" style="margin: 0 20px">
+      <!-- 鍩烘湰淇℃伅 -->
+      <div v-if="Editprogress == 1">
+        <el-alert title="閫夋嫨妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅" type="success" effect="dark">
+        </el-alert>
+        <div class="leftvlue-jbxx">
+          <!-- 鍩虹淇℃伅 -->
+          <div class="examine-jic">
+            <div class="headline">
+              <div>鍩虹淇℃伅</div>
+            </div>
+            <div class="jic-value">
+              <el-form ref="form" :model="form" label-width="105px">
+                <el-row :gutter="20">
+                  <el-col :span="12"
+                    ><el-form-item label="浠诲姟鍚嶇О">
+                      <el-input
+                        style="width: 220px"
+                        v-model="form.taskName"
+                        placeholder="璇疯緭鍏ヤ换鍔″悕绉�"
+                      /> </el-form-item
+                  ></el-col>
+                  <el-col :span="8"
+                    ><el-form-item label="妯℃澘鍚嶇О">
+                      <el-input
+                        style="width: 220px"
+                        :disabled="true"
+                        v-model="form.templatename"
+                        placeholder="鐐瑰嚮鍙充晶閫夋嫨"
+                      /> </el-form-item
+                  ></el-col>
+                  <el-col :span="4">
+                    <el-button
+                      type="primary"
+                      icon="el-icon-edit"
+                      @click="drawermb = true"
+                      circle
+                    ></el-button>
+                  </el-col>
+                </el-row>
+
+                <el-form-item label="浠诲姟鎻忚堪">
+                  <el-input
+                    type="textarea"
+                    v-model="form.taskDesc"
+                    placeholder="璇疯緭鍏ヤ换鍔℃弿杩�"
+                  />
+                </el-form-item>
+                <el-form-item label="鍙戦�佽缃細">
+                  <el-radio-group v-model="form.sendType">
+                    <el-radio :label="1">鏃堕棿娈靛彂閫�</el-radio>
+                    <el-radio :label="3">鏃堕棿鐐瑰彂閫�</el-radio>
+                    <el-radio :label="2">鍗冲埢鍙戦��</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+                <el-form-item label="鍙戦�佹棩鏈燂細" v-if="form.sendType == 1">
+                  <el-date-picker
+                    v-model="daytime"
+                    @change="changeTimeday"
+                    type="daterange"
+                    range-separator="鑷�"
+                    start-placeholder="寮�濮嬫棩鏈�"
+                    end-placeholder="缁撴潫鏃ユ湡"
+                    value-format="yyyy-MM-dd"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+
+                <el-form-item label="鍙戦�佹椂闂寸偣锛�" v-if="form.sendType == 3">
+                  <div style="display: flex">
+                    <div style="margin-right: 10px">
+                      <el-date-picker
+                        v-model="time4"
+                        value-format="yyyy-MM-dd HH:mm:ss"
+                        @change="Totaldate"
+                        type="datetime"
+                        placeholder="閫夋嫨鏃ユ湡鏃堕棿"
+                      >
+                      </el-date-picker>
+                    </div>
+                  </div>
+                </el-form-item>
+
+                <el-form-item label="鍙戦�佹椂闂存锛�" v-if="form.sendType == 1">
+                  <div style="display: flex">
+                    <div style="margin-right: 10px">
+                      <span style="font-size: 18px; margin-right: 10px"
+                        >鏃堕棿娈典竴</span
+                      >
+                      <el-time-picker
+                        is-range
+                        arrow-control
+                        @change="changeTime"
+                        v-model="time1"
+                        range-separator="鑷�"
+                        start-placeholder="寮�濮嬫椂闂�"
+                        end-placeholder="缁撴潫鏃堕棿"
+                        placeholder="閫夋嫨鏃堕棿鑼冨洿"
+                        value-format="HH:mm:ss"
+                      >
+                      </el-time-picker>
+                    </div>
+                    <div style="margin-right: 10px">
+                      <span style="font-size: 18px; margin-right: 10px"
+                        >鏃堕棿娈典簩</span
+                      >
+                      <el-time-picker
+                        is-range
+                        arrow-control
+                        @change="changeTime"
+                        v-model="time2"
+                        range-separator="鑷�"
+                        start-placeholder="寮�濮嬫椂闂�"
+                        end-placeholder="缁撴潫鏃堕棿"
+                        placeholder="閫夋嫨鏃堕棿鑼冨洿"
+                        value-format="HH:mm:ss"
+                      >
+                      </el-time-picker>
+                    </div>
+                    <div style="margin-right: 10px">
+                      <span style="font-size: 18px; margin-right: 10px"
+                        >鏃堕棿娈典笁</span
+                      >
+                      <el-time-picker
+                        is-range
+                        arrow-control
+                        @change="changeTime"
+                        v-model="time3"
+                        range-separator="鑷�"
+                        start-placeholder="寮�濮嬫椂闂�"
+                        end-placeholder="缁撴潫鏃堕棿"
+                        placeholder="閫夋嫨鏃堕棿鑼冨洿"
+                        value-format="HH:mm:ss"
+                      >
+                      </el-time-picker>
+                    </div>
+                  </div>
+                </el-form-item>
+                <el-form-item label="鏈嶅姟褰㈠紡">
+                  <el-checkbox-group v-model="checkList">
+                    <el-checkbox
+                      v-for="(item, index) in checkboxlist"
+                      :key="index"
+                      :label="item.value"
+                    >
+                      {{ item.label }}</el-checkbox
+                    >
+                  </el-checkbox-group>
+                </el-form-item>
+              </el-form>
+            </div>
+          </div>
+          <div class="examine-jic">
+            <div class="headline">
+              <div>鍙橀噺鍖归厤閲忓弬</div>
+            </div>
+            <div class="examine-jic">
+              <div class="jic-value">
+                <el-row :gutter="20">
+                  <el-table :data="variableList" style="width: 100%">
+                    <el-table-column
+                      prop="name"
+                      align="center"
+                      label="鍙橀噺鍚嶇О"
+                    >
+                    </el-table-column>
+                    <el-table-column prop="value" align="center" label="鍖归厤绗�">
+                    </el-table-column>
+                    <el-table-column label="鏇挎崲鍊�" align="center">
+                      <template slot-scope="scope">
+                        <el-input
+                          :disabled="scope.row.default"
+                          v-model="scope.row.fill"
+                          placeholder="璇疯緭鍏ュ唴瀹�"
+                        ></el-input>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="鎿嶄綔" align="center">
+                      <template slot-scope="scope">
+                        <!-- <el-button
+                          size="mini"
+                          @click="variableEdit(scope.$index, scope.row)"
+                          >缂栬緫</el-button
+                        > -->
+                        <el-button
+                          size="mini"
+                          type="danger"
+                          @click="variableDelete(scope.$index, scope.row)"
+                          >鍒犻櫎</el-button
+                        >
+                      </template>
+                    </el-table-column>
+                  </el-table>
+                </el-row>
+              </div>
+            </div>
+          </div>
+        </div>
+        <el-button type="success" @click="nextstep('ruleForm')">{{
+          quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏閰嶇疆"
+        }}</el-button>
+        <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+      </div>
+
+      <!-- 浠诲姟璇︽儏 -->
+      <div v-if="Editprogress == 2">
+        <el-alert title="鍦ㄦ湰闃舵閫夋嫨闅忚鐥呬汉" type="success" effect="dark">
+        </el-alert>
+        <div class="leftvlue-jbxx">
+          <div class="examine-jic">
+            <div class="headline">
+              <div>鎮h�呭垪琛�</div>
+            </div>
+            <div class="examine-jic">
+              <div class="jic-value">
+                <el-row :gutter="20">
+                  <!--鐢ㄦ埛鏁版嵁-->
+
+                  <el-row :gutter="10" class="mb8">
+                    <el-col :span="1.5">
+                      <el-select
+                        v-model="patientqueryParams.allhosp"
+                        placeholder="璇烽�夋嫨鏂板绫诲瀷"
+                      >
+                        <el-option
+                          v-for="item in taskoptions"
+                          :key="item.value"
+                          :label="item.label"
+                          :value="item.value"
+                        >
+                        </el-option>
+                      </el-select>
+                    </el-col>
+                    <el-col :span="1.5">
+                      <el-button
+                        type="primary"
+                        plain
+                        icon="el-icon-plus"
+                        size="medium"
+                        :disabled="!patientqueryParams.allhosp"
+                        @click="handleAddpatient"
+                        >鏂板</el-button
+                      >
+                    </el-col>
+
+                    <el-col :span="1.5">
+                      <el-button
+                        type="danger"
+                        plain
+                        icon="el-icon-delete"
+                        size="medium"
+                        :disabled="multiple"
+                        @click="handleDelete"
+                        >鍒犻櫎</el-button
+                      >
+                    </el-col>
+
+                    <!-- <el-col :span="1.5"> </el-col> -->
+                  </el-row>
+                  <!-- 閫変腑鎮h�呭垪琛� -->
+                  <SFtable
+                    @details="detailhz"
+                    @handleUpdate="handleUpdate"
+                    :currentList="overallCase"
+                    :tableLabel="tableLabelhz"
+                    :serialnumber="false"
+                    :searchTrue="true"
+                    :multiplechoice="false"
+                    :controlxz="false"
+                    :typeinfo="2"
+                  />
+                  <pagination
+                    v-show="total > 0"
+                    :total="total"
+                    :page.sync="topqueryParams.pageNum"
+                    :limit.sync="topqueryParams.pageSize"
+                    @pagination="getList"
+                  />
+                </el-row>
+              </div>
+            </div>
+          </div>
+        </div>
+        <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
+        <el-button type="success" @click="submitForm('ruleForm')">{{
+          quote ? "绔嬪嵆鍒涘缓" : "纭浠诲姟閰嶇疆"
+        }}</el-button>
+        <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+      </div>
+    </div>
+    <!-- 娣诲姞鎮h�� -->
+    <el-dialog
+      title="閫夋嫨鎮h��"
+      :visible.sync="dialogVisiblepatient"
+      width="70%"
+      :before-close="handleClosehz"
+      :close-on-click-modal="false"
+    >
+      <div class="examine-jic">
+        <div class="jic-value">
+          <el-row :gutter="20">
+            <!--鐢ㄦ埛鏁版嵁-->
+            <el-form
+              :model="patientqueryParams"
+              ref="queryForm"
+              size="small"
+              :inline="true"
+              v-show="showSearch"
+              label-width="98px"
+            >
+              <el-form-item label="鎮h�呭悕绉帮細">
+                <el-input
+                  v-model="patientqueryParams.name"
+                  @keyup.enter.native="handleQuery"
+                ></el-input>
+              </el-form-item>
+              <el-form-item label="鍒涘缓鏃堕棿">
+                <el-date-picker
+                  v-model="dateRange"
+                  style="width: 240px"
+                  value-format="yyyy-MM-dd"
+                  type="daterange"
+                  range-separator="-"
+                  start-placeholder="寮�濮嬫棩鏈�"
+                  end-placeholder="缁撴潫鏃ユ湡"
+                ></el-date-picker>
+              </el-form-item>
+
+              <el-form-item>
+                <el-button
+                  type="primary"
+                  icon="el-icon-search"
+                  size="medium"
+                  @click="handleQuery"
+                  >鎼滅储</el-button
+                >
+                <el-button
+                  icon="el-icon-refresh"
+                  size="medium"
+                  @click="resetQuery"
+                  >閲嶇疆</el-button
+                >
+              </el-form-item>
+            </el-form>
+            <!-- 閫夋嫨鎮h�呭垪琛� -->
+            <SFtable
+              ref="multipleTable"
+              @handleUpdate="handleUpdate"
+              @handleSelectionChange="handleSelectionChange"
+              :currentList="patientuserList"
+              :tableLabel="tableLabelhz"
+              :serialnumber="false"
+              :center="false"
+              :typeinfo="3"
+            />
+          </el-row>
+          <pagination
+            v-show="patienttotal > 0"
+            :total="patienttotal"
+            :page.sync="patientqueryParams.pageNum"
+            :limit.sync="patientqueryParams.pageSize"
+            @pagination="handleAddpatient"
+          />
+        </div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisiblepatient = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="AddDispatchpatients"
+          >纭畾娣诲姞</el-button
+        >
+      </span>
+    </el-dialog>
+    <el-dialog title="妯℃澘棰勮" :visible.sync="previewtf" width="60%">
+      <div class="preview-left">
+        <!-- 鍗曢�� -->
+        <div
+          class="scriptTopic-dev"
+          v-for="(item, index) in questionList"
+          :key="item.aaa"
+        >
+          <div class="dev-text">
+            {{ index + 1 }}銆�<span>{{ item.scriptContent }}</span>
+          </div>
+
+          <div class="dev-xx" v-if="item.valueType == 1">
+            <el-radio-group v-model="item.radio">
+              <el-radio
+                v-for="(items, index) in item.ivrLibaScriptTargetoptionList"
+                :key="items.id"
+                :label="items.id"
+                >{{ items.targetvalue }}
+              </el-radio>
+            </el-radio-group>
+          </div>
+          <div v-else>
+            <el-input
+              type="textarea"
+              placeholder="鏈幏鍙栧埌淇℃伅"
+              v-model.sync="item.scriptResult"
+              :rows="2"
+            />
+          </div>
+        </div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="previewGo">鍓嶅線妯℃澘璇︽儏淇敼</el-button>
+        <el-button type="primary" @click="previewFn">纭浣跨敤</el-button>
+      </span>
+    </el-dialog>
+    <el-drawer
+      title="闅忚鍐呭鍒楄〃"
+      :visible.sync="drawermb"
+      direction="rtl"
+      size="50%"
+    >
+      <div class="headline"></div>
+      <div class="examine-jic">
+        <div class="jic-value">
+          <el-row :gutter="20">
+            <!--鐢ㄦ埛鏁版嵁-->
+
+            <el-form
+              :model="topqueryParams"
+              ref="queryForm"
+              size="small"
+              :inline="true"
+              v-show="showSearch"
+              label-width="98px"
+            >
+              <el-form-item label="闅忚鍚嶇О">
+                <el-input v-model="topqueryParams.templateName"></el-input>
+              </el-form-item>
+
+              <el-form-item label="閫傜敤绉戝" prop="status">
+                <el-select v-model="topqueryParams.topicd" placeholder="璇烽�夋嫨">
+                  <el-option
+                    v-for="item in topicoptions"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item label="闅忚妯℃澘鍒嗙被" prop="region">
+                <el-select
+                  v-model="topqueryParams.assortid"
+                  size="medium"
+                  filterable
+                  placeholder="璇烽�夋嫨鍒嗙被"
+                >
+                  <el-option-group
+                    v-for="group in indexAssortlist"
+                    :key="group.id"
+                    :label="group.indexAssortName"
+                  >
+                    <el-option
+                      v-for="item in group.ivrLibaTemplateAssortList"
+                      :key="item.id"
+                      :label="item.indexAssortName"
+                      :value="item.id"
+                    >
+                    </el-option>
+                  </el-option-group>
+                </el-select>
+              </el-form-item>
+              <el-form-item>
+                <el-button
+                  type="primary"
+                  icon="el-icon-search"
+                  size="medium"
+                  @click="handleQuery"
+                  >鎼滅储</el-button
+                >
+                <el-button
+                  icon="el-icon-refresh"
+                  size="medium"
+                  @click="resetQuery"
+                  >閲嶇疆</el-button
+                >
+              </el-form-item>
+            </el-form>
+            <el-divider></el-divider>
+            <!-- 閫夋嫨妯℃澘鍒楄〃 -->
+            <SFtable
+              @selectfn="selectfn"
+              :currentList="userList"
+              :tableLabel="tableLabel"
+              :controlsc="false"
+              :multiplechoice="false"
+              :typeinfo="1"
+            />
+            <pagination
+              v-show="total > 0"
+              :total="total"
+              :page.sync="topqueryParams.pageNum"
+              :limit.sync="topqueryParams.pageSize"
+              @pagination="Acquisitiontype"
+            />
+          </el-row>
+        </div>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+import { messagelistpatient } from "@/api/patient/homepage";
+import store from "@/store";
+import {
+  getTaskpatient,
+  getlibrarylist,
+  getFollowuplist,
+  getQtemplatelist,
+  TaskTemplatecomit,
+  getTaskInfo,
+  gethetaskinfo,
+  delhetaskinfo,
+  Editsingletask,
+  getvFollowup,
+  getFollowupclassify,
+} from "@/api/AiCentre/index";
+import { listDept } from "@/api/system/dept";
+
+import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
+
+export default {
+  name: "serviceDetailsa",
+  data() {
+    const endDate = new Date();
+    const startDate = new Date();
+    startDate.setDate(endDate.getDate() - 7); // 璁剧疆寮�濮嬫棩鏈熶负褰撳墠鏃ユ湡鍓�7澶�
+    return {
+      title: "闅忚鍐呭鍒楄〃",
+      currenttype: 1, //1闅忚2闂嵎3閫氱煡瀹f暀
+      id: "", //
+      previewid: "", //浠诲姟妯℃澘浼犻�抜d
+      libName: "",
+      overallCase: [], //閫夋嫨鎮h�呮��
+      // 鏃ユ湡鑼冨洿
+      dateRange: [startDate, endDate],
+      allpids: [],
+      libId: null, //妯℃澘搴撴ā鏉縤d
+      nhh: null, //鏄惁渚濈収鏂板
+      Editprogress: 1, //缂栬緫杩涘害
+      drawermb: false, //閫夋嫨妯℃澘寮圭獥
+      previewtf: false, //棰勮
+      loading: false, // 閬僵灞�
+      patientloading: false, // 閬僵灞�
+      dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗�
+      radio: 1,
+      checkboxlist: [],
+      tableLabel: [],
+      questionList: [],
+      // 鎮h�呰〃鍗�
+      tableLabelhz: [
+        { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+        { label: "鎬у埆", width: "", prop: "sex" },
+        { label: "骞撮緞", width: "", prop: "age" },
+        { label: "灏辫瘖绉戝", width: "", prop: "deptName" },
+        { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "birthdate" },
+        { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "update_by" },
+      ],
+
+      tableLabelmz: [
+        { label: "闅忚鍚嶇О", width: "", prop: "templateName" },
+        { label: "涓昏鍐呭", width: "", prop: "note" },
+        { label: "淇敼鏃ユ湡", width: "", prop: "updateTime" },
+        { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" },
+      ],
+
+      // 鏈嶅姟褰㈠紡
+      preachform: [
+        { label: "绾夸笅", value: 1 },
+        { label: "鐢佃瘽", value: 2 },
+        { label: "灏忕▼搴�", value: 3 },
+        { label: "鐭俊", value: 4 },
+        { label: "寰俊鍏紬", value: 5 },
+        { label: "閽夐拤", value: 6 },
+        { label: "鏅鸿兘鏈哄櫒浜�", value: 7 },
+      ],
+      // 鏃堕棿澶勭悊
+      daytime: [], //鏃ユ湡
+      applydaytime: [], //璁$畻鏃ユ湡
+      time1: "", //涓婂崍鏃堕棿娈�
+      time2: "", //涓嬪崍鏃堕棿娈�
+      time3: "", //鏅氫笂鏃堕棿娈�
+      time4: "", //鏅氫笂鏃堕棿娈�
+      topqueryParams: {
+        pageNum: 1, //
+        pageSize: 10,
+      },
+      checkList: [],
+      deliverytopqueryParams: {
+        pageNum: 1, //
+        pageSize: 10,
+      },
+      patientqueryParams: {
+        pageNum: 1, //
+        pageSize: 10,
+      },
+      topicoptions: [{ children: [{ children: [] }] }],
+      showSearch: true, //
+      total: 0, //
+      sontotal: 0, //
+      patienttotal: 0, //
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鐢ㄦ埛琛ㄦ牸鏁版嵁
+      userList: [], //妯℃澘鍒楄〃
+      patientuserList: [], //閫夋嫨鎮h�呭垪琛�
+      sonuserList: [], //閫変腑鎮h�呭垪琛�
+      delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍
+      indexAssortlist: [],
+
+      variableList: [
+        {
+          name: "濮撳悕",
+          value: "${name}",
+          fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�",
+          default: true,
+        },
+        {
+          name: "鍦板潃",
+          value: "${dzz}",
+          fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�",
+          default: true,
+        },
+        {
+          name: "鐢佃瘽",
+          value: "${dhh}",
+          fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�",
+          default: true,
+        },
+      ], //鍙橀噺鍒楄〃
+      transitionList: [
+        {
+          name: "濮撳悕",
+          value: "${name}",
+          fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�",
+          default: true,
+        },
+        {
+          name: "鍦板潃",
+          value: "${dzz}",
+          fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�",
+          default: true,
+        },
+        {
+          name: "鐢佃瘽",
+          value: "${dhh}",
+          fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�",
+          default: true,
+        },
+      ],
+      variableListTime: [],
+      tasktopic: null, //鏂板绫诲瀷
+      SelectPatientslist: [],
+      form: {
+        patTaskRelevances: [],
+        sendType: 1,
+        templatename: "",
+        templateid: null,
+        libtemplateid: null,
+      },
+      taskoptions: [
+        {
+          value: "1",
+          label: "鍑洪櫌鐥呬汉",
+        },
+        {
+          value: "2",
+          label: "闂ㄨ瘖鐥呬汉",
+        },
+        {
+          value: "3",
+          label: "浣撴鐥呬汉",
+        },
+      ],
+      quote: false,
+      serviceType:null,
+
+    };
+  },
+  components: { SFtable },
+
+  created() {
+    this.id = this.$route.query.id;
+    this.form.type = this.$route.query.type;
+    this.serviceType = Number(this.$route.query.serviceType);
+    this.form.serviceType = Number(this.$route.query.serviceType);
+    this.form.nhh = this.$route.query.nhh;
+    this.listDept();
+    this.Acquisitiontype();
+    this.Getdetails();
+  },
+
+  methods: {
+    // {
+    //   濮撳悕: { "${name}": "榫欏偛澶�" },
+    //   鍦板潃: { "${dzz}": "榫欏" },
+    //   鐢佃瘽: { "${dhh}": "鍏釜鍏�" },
+    // }
+    // 鍙橀噺杞崲瀵硅薄杞暟缁�
+    convertFormat1ToFormat2(data) {
+      let result = [];
+      for (let key in data) {
+        let innerKey = Object.keys(data[key])[0];
+        result.push({
+          name: key,
+          value: innerKey,
+          fill: data[key][innerKey],
+        });
+      }
+      return result;
+    },
+    // 鏁扮粍杞璞�
+    convertFormat2ToFormat1(data) {
+      let result = {};
+      data.forEach((item) => {
+        let innerObj = {};
+        innerObj[item.value] = item.fill;
+        result[item.name] = innerObj;
+      });
+      return result;
+    },
+    // 鑾峰彇褰撳墠绫诲瀷
+    Acquisitiontype() {
+      let queryParams = {
+        pageNum: this.topqueryParams.pageNum,
+        pageSize: this.topqueryParams.pageSize,
+        isavailable: "",
+      };
+      this.currenttype = this.$route.query.type;
+      // 鍑洪櫌銆侀棬璇娿�佷笓鐥呴殢璁�
+      this.title = "闅忚鍐呭鍒楄〃";
+      this.tableLabel = this.tableLabelmz;
+      if (this.form.serviceType == 2 || this.form.serviceType == 3) {
+        this.checkboxlist = [
+          {
+            value: "1",
+            label: "浜哄伐",
+          },
+          {
+            value: "3",
+            label: "鐢佃瘽",
+          },
+          {
+            value: "4",
+            label: "鐭俊",
+          },
+          {
+            value: "5",
+            label: "寰俊鍏紬鍙�",
+          },
+          {
+            value: "6",
+            label: "寰俊灏忕▼搴�",
+          },
+
+          {
+            value: "8",
+            label: "鏅鸿兘鏈哄櫒浜�",
+          },
+        ];
+      } else if (this.form.serviceType == 5) {
+        this.checkboxlist = [
+          {
+            value: "3",
+            label: "鐢佃瘽",
+          },
+          {
+            value: "4",
+            label: "鐭俊",
+          },
+          {
+            value: "5",
+            label: "寰俊鍏紬鍙�",
+          },
+          {
+            value: "6",
+            label: "寰俊灏忕▼搴�",
+          },
+
+          {
+            value: "8",
+            label: "鏅鸿兘鏈哄櫒浜�",
+          },
+        ];
+      }
+
+      getFollowuplist(queryParams).then((response) => {
+        this.userList = response.rows;
+        this.total = response.total;
+      });
+    },
+
+    nextstep() {
+      if (this.Editprogress <= 3) {
+        return this.Editprogress++;
+      }
+    },
+    // 淇濆瓨
+    submitForm(formName) {
+      this.form.preachform = this.checkList.join(",");
+      // this.formatFn(1);
+      if (!this.form.patTaskRelevances[0]) {
+        this.$modal.msgError("璇烽�夋嫨鐥呬汉");
+        return;
+      }
+      const filteredArray = this.variableList.filter(
+        (item) =>
+          item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃"
+      );
+      console.log(filteredArray, "瀛樺墠鍙橀噺");
+      this.form.textParam = this.convertFormat2ToFormat1(filteredArray);
+      if (this.form.taskid) {
+        this.form.isoperation = 2;
+      } else {
+        this.form.isoperation = 1;
+      }
+      this.form.serviceType=this.serviceType;
+      Editsingletask(this.form).then((res) => {
+        if (res.code == 200) {
+          if (this.form.taskid) {
+            this.$modal.msgSuccess("鏂板鎴愬姛");
+          } else {
+            this.$modal.msgSuccess("淇敼鎴愬姛");
+          }
+          this.$router.push({
+            path: "/followvisit/tasklist",
+            query: { tasktopic: this.form.serviceType },
+          });
+        }
+      });
+    },
+    // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠�
+    // 纭閫夋嫨妯℃澘鏀惧叆浠诲姟妯℃澘
+    selectfn(row, type) {
+      // 妯℃澘鎯呭喌涓嬭幏鍙栨ā鏉夸俊鎭�
+      console.log(row, "閫夋嫨妯℃澘");
+      this.libName = row.templateName;
+      this.libId = row.id;
+      getvFollowup({ id: row.id }).then((res) => {
+        if (res.code == 200) {
+          this.Tasktemplate = res.data;
+          const data = res.data;
+          this.questionList = data.ivrLibaTemplateScriptVOList;
+          this.previewtf = true;
+          this.previewid = data.id;
+          console.log(this.questionList, "questionList");
+          this.Variablehandling(data.ivrLibaTemplateScriptVOList, 1);
+        }
+      });
+    },
+    // 澶勭悊闂灞傚彉閲�
+    Variablehandling(arr, type) {
+      let Variablist = [];
+      this.variableList = []; //鍙橀噺鍒楄〃
+      if (type == 1) {
+        console.log(arr);
+        // 寰幆闂
+        arr.forEach((res) => {
+          console.log(JSON.parse(res.otherdata), "ss");
+          // 寰幆閫夐」
+          JSON.parse(res.otherdata).forEach((item) => {
+            if (item.default != 1) {
+              Variablist.push({
+                value: item.variate,
+                fill: "",
+                name: item.variatename,
+              });
+            }
+          });
+        });
+        const Aarr = Variablist.filter(
+          (obj, index, self) =>
+            index ===
+            self.findIndex((t) => t.name === obj.name && t.value === obj.value)
+        );
+        this.variableList = this.transitionList.concat(Aarr);
+        console.log(this.variableList, "variableList");
+        // this.form.textParam = this.convertFormat2ToFormat1(this.variableList);
+      }
+    },
+    // 瀛愪换鍔′簩绾у脊妗�
+    handleAddpatient(row) {
+      console.log(this.overallCase, "ssaaa");
+      this.allpids = [];
+      this.overallCase.forEach((item) => {
+        this.allpids.push(item.patid);
+      });
+      if (this.patientqueryParams.allhosp == 1) {
+        this.tableLabelhz = [
+          { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+          { label: "鎬у埆", width: "", prop: "sex" },
+          { label: "骞撮緞", width: "", prop: "age" },
+          { label: "涓讳换鍖诲笀", width: "", prop: "drname" },
+          { label: "灏辫瘖绉戝", width: "", prop: "deptName" },
+          { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "birthdate" },
+          { label: "鍒涘缓浜�", width: "", prop: "createBy" },
+        ];
+      } else if (this.patientqueryParams.allhosp == 2) {
+        this.tableLabelhz = [
+          { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+          { label: "鎬у埆", width: "", prop: "sex" },
+          { label: "骞撮緞", width: "", prop: "age" },
+          { label: "璇婃柇", width: "", prop: "diagname" },
+          { label: "灏辫瘖绉戝", width: "", prop: "deptName" },
+          { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "birthdate" },
+          { label: "鍒涘缓浜�", width: "", prop: "createBy" },
+        ];
+      }
+      if (this.allpids[0]) {
+        this.patientqueryParams.pids = this.allpids;
+        console.log(this.patientqueryParams.pids);
+      } else {
+        this.patientqueryParams.pids = null;
+      }
+
+      getTaskpatient(
+        this.addDateRange(this.patientqueryParams, this.dateRange)
+      ).then((response) => {
+        this.patientuserList = response.rows;
+        this.patienttotal = response.total;
+        this.loading = false;
+        this.Restorecheck();
+      });
+      this.dialogVisiblepatient = true;
+    },
+    handleUpdate() {},
+    handleDelete() {},
+    handleExport() {},
+    // 閫変腑鎮h�呰〃
+    handlePitchionChange() {},
+    // 閫夋嫨鎮h�呰〃鏁版嵁
+    handleSelectionChange(selection) {
+      console.log("澶氶�夋偅鑰�");
+      this.SelectPatientslist = selection;
+      this.multiple = !selection.length;
+
+      // 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍
+      this.SelectPatientslist.forEach((item) => {
+        const isExist = this.overallCase.find((obj) => obj.name == item.name);
+        if (!isExist) {
+          console.log(this.patientqueryParams.allhosp, "allhosp");
+          item.isoperation = 1;
+          item.patid = item.id;
+          item.hospType = this.patientqueryParams.allhosp;
+          this.overallCase.push(item);
+          this.form.patTaskRelevances.push(item);
+          console.log(this.overallCase, "this.overallCase");
+        }
+      });
+    },
+    // 鍒囨崲椤靛悗鎭㈠閫変腑
+    Restorecheck() {
+      console.log(this.overallCase, "this.overallCase");
+      const allid = this.overallCase.map((item) => item.id);
+      const overlap = this.patientuserList.filter((value) => {
+        return allid.includes(value.id);
+      });
+      console.log(overlap, "overlap");
+
+      // 淇濇寔ids鍜屽綋鍓嶉〉闈㈢殑鍚屾鎬�
+      this.SelectPatientslist = overlap;
+      console.log(this.SelectPatientslist, "杩涘叆鍒嗛〉SelectPatientslist");
+
+      this.toggleSelection(overlap);
+    },
+    // 鎸傝浇閫夋嫨鐘舵��
+    toggleSelection(rows) {
+      if (rows) {
+        this.decision = true;
+        this.$nextTick(() => {
+          rows.forEach((row) => {
+            this.$refs.multipleTable.toggleRowSelection(row, true);
+          });
+          this.decision = false;
+        });
+        console.log(123);
+      } else {
+        this.$refs.multipleTable.clearSelection();
+      }
+    },
+    // 鍒犻櫎閫変腑鎮h��
+    detailhz(row, info) {
+      this.$modal
+        .confirm('鏄惁纭鍒犻櫎鎮h��"' + row.name + '"鐨勬湇鍔¢」锛�')
+        .then(() => {
+          let indexa = this.overallCase.indexOf(row);
+          let indexb = this.form.patTaskRelevances.indexOf(row);
+          this.overallCase.splice(indexa, 1);
+          this.form.patTaskRelevances[indexb].isoperation = 3;
+          this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+        });
+    },
+    getList() {},
+    handleQuery() {
+      this.handleAddpatient();
+    },
+    resetQuery() {
+      this.dateRange = [];
+      // 鏌ヨ鍙傛暟
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        userName: undefined,
+        phonenumber: undefined,
+        status: undefined,
+        deptId: undefined,
+      };
+    },
+    handleClosehz() {
+      this.dialogVisiblepatient = false;
+    },
+    // 涓婁竴姝�
+    laststep() {
+      this.Editprogress--;
+    },
+    // 鎻愪氦琛ㄥ崟
+    resetForm(formName) {
+      this.$refs[formName].resetFields();
+    },
+    // 棰勮妯℃澘
+    PreviewTemplate() {},
+    Acknowledgereference() {
+      this.quote = true;
+    },
+    // 鑾峰彇璇︽儏
+    Getdetails() {
+      if (this.id) {
+        getTaskInfo({ taskid: this.id }).then((res) => {
+          let filteredArray = "";
+          console.log(2233);
+          if (res.code == 200) {
+            this.form = res.data;
+      this.form.serviceType=this.serviceType;
+            this.overallCase = this.form.patTaskRelevances.concat();
+            this.checkList = this.form.preachform.split(",");
+            console.log(this.form.showDate, "this.form");
+            this.daytime = this.form.showDate.split(",");
+            this.changeTimeday(this.daytime);
+            if (this.form.showTimeMorn) {
+              if (this.form.sendType == 3) {
+                this.time4 = this.form.showTimeMorn;
+              } else {
+                this.time1 = this.form.showTimeMorn.split(",");
+              }
+            }
+            if (this.form.showTimeNoon)
+              this.time2 = this.form.showTimeNoon.split(",");
+            if (this.form.showTimeNight)
+              this.time3 = this.form.showTimeNight.split(",");
+            console.log(1122);
+            filteredArray = this.convertFormat1ToFormat2(this.form.textParam);
+            this.variableList = this.transitionList.concat(filteredArray);
+          } else {
+            this.$modal.msgError(res.code);
+          }
+        });
+      }
+      getFollowupclassify({}).then((res) => {
+        this.indexAssortlist = res.rows;
+      });
+    },
+    // 鑾峰彇绉戝鍒楄〃
+    listDept() {
+      listDept().then((res) => {
+        this.topicoptions = this.handleTree(res.data, "deptId");
+        console.log(this.topicoptions, "topicoptions");
+      });
+    },
+    // 鏂板娲鹃�佹偅鑰�
+    AddDispatchpatients() {
+      // this.SelectPatientslist.forEach((item) => {
+      //   item.isoperation = 1;
+      // });
+      // this.form.patTaskRelevances.push(...this.SelectPatientslist);
+      // this.overallCase.push(...this.SelectPatientslist);
+      this.dialogVisiblepatient = false;
+    },
+
+    variableDelete(index, row) {
+      this.variableList.splice(index, 1);
+      row.isoperation = 3;
+      this.delvariableList.push(row);
+      console.log(index, row);
+    },
+    // 鏃堕棿----------
+    changeTime(row) {
+      console.log(row, "鏃堕棿");
+      this.processingTime();
+    },
+    Totaldate(row) {
+      console.log(row, "鏃堕棿");
+      this.form.sendTimeslot = [{ begantime: row, endtime: row, xh: 1 }];
+      this.form.showTimeMorn = row;
+      console.log(this.form.sendTimeslot, "鏃堕棿");
+    },
+    changeTimeday(row) {
+      console.log(row, "鏃ユ湡");
+      const startDate = new Date(row[0]);
+      const endDate = new Date(row[1]);
+      this.applydaytime = this.getDates(startDate, endDate);
+      if (!top) {
+        this.processingTime();
+      }
+    },
+    getDates(startDate, endDate) {
+      const dates = [];
+      let currentDate = new Date(startDate);
+
+      while (currentDate <= endDate) {
+        dates.push(this.$moment(currentDate).format("YYYY-MM-DD"));
+        currentDate.setDate(currentDate.getDate() + 1);
+      }
+
+      return dates;
+    },
+    // 鏃堕棿鏈�缁堝鐞嗘柟娉�
+    processingTime() {
+      const combinedData = [];
+      let serialnumber = 1;
+      if (this.time3[0]) {
+        serialnumber = 3;
+      } else if (this.time2[0]) {
+        serialnumber = 2;
+      } else if (this.time1[0]) {
+        serialnumber = 1;
+      } else {
+        return;
+      }
+
+      for (let i = 0; i < this.applydaytime.length; i++) {
+        combinedData.push({
+          begantime: `${this.applydaytime[i]} ${this.time1[0]}`,
+          endtime: `${this.applydaytime[i]} ${this.time1[1]}`,
+          xh: serialnumber * i + 1,
+        });
+        if (serialnumber >= 2) {
+          combinedData.push({
+            begantime: `${this.applydaytime[i]} ${this.time2[0]}`,
+            endtime: `${this.applydaytime[i]} ${this.time2[1]}`,
+            xh: serialnumber * i + 2,
+          });
+        }
+        if (serialnumber >= 3) {
+          combinedData.push({
+            begantime: `${this.applydaytime[i]} ${this.time3[0]}`,
+            endtime: `${this.applydaytime[i]} ${this.time3[1]}`,
+            xh: serialnumber * i + 3,
+          });
+        }
+      }
+      this.form.sendTimeslot = combinedData;
+      // 灞曠ず鏁版嵁涓存椂瀛樺偍鏃ユ湡銆佹棭銆佷腑銆佹櫄
+      console.log(this.daytime);
+
+      this.form.showDate = this.daytime.join(",");
+      if (this.time1) this.form.showTimeMorn = this.time1.join(",");
+      if (this.time2) this.form.showTimeNoon = this.time2.join(",");
+      if (this.time3) this.form.showTimeNight = this.time3.join(",");
+      console.log(combinedData, "combinedData");
+    },
+    // 鏌ョ湅妯℃澘
+    previewGo() {
+      this.$router.push({
+        path: "/knowledge/tpuconfigurat/",
+        query: { id: this.previewid, task: true, data: this.form },
+      });
+    },
+    previewFn() {
+      let id = this.Tasktemplate.id;
+      this.Tasktemplate.id = null;
+      this.Tasktemplate.ivrLibaTemplateScriptVOList.forEach((item) => {
+        item.ivrTaskScriptTargetoptionList = item.ivrLibaScriptTargetoptionList;
+      });
+      console.log(this.Tasktemplate.ivrLibaTemplateScriptVOList);
+
+      this.Tasktemplate.ivrTaskTemplateScriptVOList =
+        this.Tasktemplate.ivrLibaTemplateScriptVOList;
+      this.Tasktemplate.ivrLibaTemplateTagList = null;
+      this.Tasktemplate.tempDetpRelevances = null;
+      this.Tasktemplate.libtemplateid = id;
+      this.Tasktemplate.isoperation = 1;
+      this.Tasktemplate.libtemplatename = this.Tasktemplate.templatename;
+      console.log(this.libName, this.libId);
+
+      TaskTemplatecomit(this.Tasktemplate).then((response) => {
+        console.log(response);
+        this.previewtf = false;
+        this.form.templateid = response.data;
+        this.form.libtemplateid = this.libId;
+        this.form.templatename = this.libName;
+        console.log(this.form.templatename, "ss");
+        this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛", this.form.templatename);
+      });
+    },
+    // 澶勭悊鏈嶅姟褰㈠紡
+    formatFn(type) {
+      console.log(this.preachform, "preachform");
+      console.log(this.checkList, "checklist");
+      let list = [];
+      let formlist = [];
+      if (type == 1) {
+        this.preachform.forEach((item) => {
+          this.checkList.forEach((obj) => {
+            if (item.label == obj) {
+              list.push(item.value);
+            }
+          });
+        });
+        this.form.preachform = list.join(",");
+      } else {
+        console.log(this.form.preachform, "this.form.preachform");
+        formlist = this.form.preachform.split(",");
+        console.log(11);
+        this.preachform.forEach((item) => {
+          formlist.forEach((obj) => {
+            if (item.value == obj) {
+              list.push(item.label);
+            }
+          });
+        });
+        this.checkList = list;
+      }
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.Questionnairemanagement {
+}
+.leftvlue-jbxx {
+  margin-top: 10px;
+}
+.sidecolumn {
+  width: 100%;
+  // min-height: 12vh;
+  margin: 20px;
+  margin-bottom: 0;
+  padding: 30px;
+  background: #edf1f7;
+  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);
+}
+.leftvlue {
+  //   display: flex;
+  //   flex: 1;
+  width: 100%;
+  margin-top: 20px;
+  //   margin: 20px;
+  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);
+}
+.examine-jic {
+  margin: 20px;
+  .headline {
+    font-size: 24px;
+    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;
+    }
+  }
+  .jic-value {
+    font-size: 20px;
+    border-top: 1px solid #a7abac;
+    padding: 10px;
+    margin-bottom: 10px;
+    .details-jic {
+      padding: 10px 15px;
+      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);
+      .details-title {
+        display: flex;
+        justify-content: space-between;
+        margin-bottom: 10px;
+        div:nth-child(2) {
+          color: #02a7f0;
+          cursor: pointer;
+        }
+      }
+      .details-renw {
+        background: #e4ebfc;
+        padding: 15px 5px;
+        border-radius: 5px;
+        margin-bottom: 20px;
+      }
+    }
+  }
+}
+// .leftvlue-jbxx {
+//   margin-bottom: 50px;
+//   font-size: 20px;
+//   span {
+//     position: absolute;
+//     right: 80px;
+//   }
+//   .demo-cascader {
+//     margin-right: 20px;
+//   }
+//   .PreviewTemplate {
+//     color: #02a7f0;
+//     cursor: pointer;
+//     font-size: 20px;
+//     margin: 0 20px;
+//   }
+// }
+.preview-left {
+  margin: 20px;
+  //   margin: 20px;
+  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);
+  .scriptTopic-dev {
+    margin-bottom: 25px;
+    font-size: 20px !important;
+    .dev-text {
+      margin-bottom: 10px;
+    }
+  }
+}
+.jic-value {
+  font-size: 20px;
+  border-top: 1px solid #a7abac;
+  padding: 10px;
+  margin-bottom: 10px;
+  .details-jic {
+    padding: 10px 15px;
+    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);
+    .details-title {
+      display: flex;
+      justify-content: space-between;
+      margin-bottom: 10px;
+      div:nth-child(2) {
+        color: #02a7f0;
+        cursor: pointer;
+      }
+    }
+    .details-renw {
+      background: #e4ebfc;
+      padding: 15px 5px;
+      border-radius: 5px;
+      margin-bottom: 20px;
+    }
+  }
+}
+::v-deep .addtopic-input {
+  input {
+    background: #02a7f0;
+    color: #edf1f7;
+    width: 150px;
+  }
+}
+::v-deep.el-step.is-vertical .el-step__title {
+  font-size: 25px;
+}
+::v-deep.el-row {
+  margin-bottom: 10px;
+}
+// ::v-deep.el-input--medium {
+//   font-size: 24px !important;
+// }
+::v-deep.ruleFormaa.el-select {
+  display: inline-block;
+  position: relative;
+  width: 700px;
+}
+.el-select__tags {
+  font-size: 20px;
+  max-width: 888px !important;
+}
+::v-deep.el-radio__inner {
+  width: 22px;
+  height: 22px;
+}
+// ::v-deep.scriptTopic-dev.el-radio__label {
+//   font-size: 24px;
+// }
+::v-deep.el-radio-group {
+  span {
+    font-size: 24px;
+  }
+}
+::v-deep.el-input.is-disabled .el-input__inner {
+  background-color: #f5f7fa;
+  border-color: #dfe4ed;
+  color: rgb(253, 66, 66);
+  cursor: not-allowed;
+}
+::v-deep.el-checkbox-group {
+  span {
+    font-size: 24px;
+  }
+}
+</style>
diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue
index e10301d..1c97145 100644
--- a/src/views/patient/propaganda/particty.vue
+++ b/src/views/patient/propaganda/particty.vue
@@ -30,50 +30,78 @@
               <div>鍩虹淇℃伅</div>
             </div>
             <div class="jic-value">
-              <el-form ref="form" :model="form" label-width="105px">
+              <el-form
+                ref="form"
+                :model="form"
+                :rules="rules"
+                label-width="125px"
+              >
                 <el-row :gutter="20">
                   <el-col :span="12"
-                    ><el-form-item label="浠诲姟鍚嶇О">
+                    ><el-form-item label="浠诲姟鍚嶇О" prop="taskName">
                       <el-input
                         style="width: 220px"
                         v-model="form.taskName"
                         placeholder="璇疯緭鍏ヤ换鍔″悕绉�"
                       /> </el-form-item
                   ></el-col>
-                  <el-col :span="8"
-                    ><el-form-item label="妯℃澘鍚嶇О">
-                      <el-input
-                        style="width: 220px"
-                        :disabled="true"
-                        v-model="form.templatename"
-                        placeholder="鐐瑰嚮鍙充晶閫夋嫨"
-                      /> </el-form-item
+                  <el-col :span="12"
+                    ><el-form-item label="浠诲姟绫诲瀷">
+                      <el-select
+                        v-model="serviceType"
+                        placeholder="璇烽�夋嫨鏂板绫诲瀷"
+                      >
+                        <el-option
+                          v-for="item in tasktypes"
+                          :key="item.value"
+                          :label="item.label"
+                          :value="item.value"
+                        >
+                        </el-option>
+                      </el-select> </el-form-item
                   ></el-col>
-                  <el-col :span="4">
-                    <el-button
-                      type="primary"
-                      icon="el-icon-edit"
-                      @click="drawermb = true"
-                      circle
-                    ></el-button>
-                  </el-col>
                 </el-row>
 
-                <el-form-item label="浠诲姟鎻忚堪">
+                <el-form-item label="浠诲姟鎻忚堪" prop="taskDesc">
                   <el-input
                     type="textarea"
                     v-model="form.taskDesc"
                     placeholder="璇疯緭鍏ヤ换鍔℃弿杩�"
                   />
                 </el-form-item>
-                <el-form-item label="鍙戦�佽缃細">
-                  <el-radio-group v-model="form.sendType">
-                    <el-radio :label="1">鏃堕棿娈靛彂閫�</el-radio>
-                    <el-radio :label="3">鏃堕棿鐐瑰彂閫�</el-radio>
-                    <el-radio :label="2">鍗冲埢鍙戦��</el-radio>
+                <el-form-item label="鏈嶅姟褰㈠紡">
+                  <el-checkbox-group v-model="checkList">
+                    <el-checkbox
+                      v-for="(item, index) in checkboxlist"
+                      :key="index"
+                      :label="item.value"
+                    >
+                      {{ item.label }}</el-checkbox
+                    >
+                  </el-checkbox-group>
+                </el-form-item>
+                <el-form-item label="鏄惁闀挎湡" prop="longTask">
+                  <el-radio-group v-model="form.longTask">
+                    <el-radio :label="0">鏅�氫换鍔�</el-radio>
+                    <el-radio :label="1">闀挎湡浠诲姟</el-radio>
                   </el-radio-group>
                 </el-form-item>
-                <el-form-item label="鍙戦�佹棩鏈燂細" v-if="form.sendType == 1">
+                <el-form-item
+                  label="鎵ц璁剧疆"
+                  prop="sendType"
+                  v-if="!form.longTask"
+                >
+                  <el-radio-group v-model="form.sendType">
+                    <el-radio :label="1">鏃堕棿娈垫墽琛�</el-radio>
+                    <el-radio :label="3">鏃堕棿鐐规墽琛�</el-radio>
+                    <el-radio :label="2">鍗冲埢鎵ц</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+                <el-form-item
+                  label="鎵ц鏃ユ湡"
+                  v-if="form.sendType == 1 && !form.longTask"
+                  prop="daytime"
+                >
                   <el-date-picker
                     v-model="daytime"
                     @change="changeTimeday"
@@ -86,7 +114,11 @@
                   </el-date-picker>
                 </el-form-item>
 
-                <el-form-item label="鍙戦�佹椂闂寸偣锛�" v-if="form.sendType == 3">
+                <el-form-item
+                  label="鎵ц鏃堕棿鐐�"
+                  v-if="form.sendType == 3 && !form.longTask"
+                  prop="daytime"
+                >
                   <div style="display: flex">
                     <div style="margin-right: 10px">
                       <el-date-picker
@@ -101,12 +133,14 @@
                   </div>
                 </el-form-item>
 
-                <el-form-item label="鍙戦�佹椂闂存锛�" v-if="form.sendType == 1">
+                <el-form-item
+                  label="鎵ц鏃堕棿娈�"
+                  v-if="form.sendType == 1 && !form.longTask"
+                  prop="daytime"
+                >
                   <div style="display: flex">
                     <div style="margin-right: 10px">
-                      <span style="font-size: 18px; margin-right: 10px"
-                        >鏃堕棿娈典竴</span
-                      >
+                      <span style="font-size: 18px; margin-right: 10px">鈶�</span>
                       <el-time-picker
                         is-range
                         arrow-control
@@ -121,9 +155,7 @@
                       </el-time-picker>
                     </div>
                     <div style="margin-right: 10px">
-                      <span style="font-size: 18px; margin-right: 10px"
-                        >鏃堕棿娈典簩</span
-                      >
+                      <span style="font-size: 18px; margin-right: 10px">鈶�</span>
                       <el-time-picker
                         is-range
                         arrow-control
@@ -138,9 +170,7 @@
                       </el-time-picker>
                     </div>
                     <div style="margin-right: 10px">
-                      <span style="font-size: 18px; margin-right: 10px"
-                        >鏃堕棿娈典笁</span
-                      >
+                      <span style="font-size: 18px; margin-right: 10px">鈶�</span>
                       <el-time-picker
                         is-range
                         arrow-control
@@ -156,26 +186,122 @@
                     </div>
                   </div>
                 </el-form-item>
-                <el-form-item label="鏈嶅姟褰㈠紡">
-                  <el-checkbox-group v-model="checkList">
-                    <el-checkbox
-                      v-for="(item, index) in checkboxlist"
-                      :key="index"
-                      :label="item.value"
+                <el-row>
+                  <el-col :span="20"
+                    ><el-form-item label="閫傜敤绉戝" prop="region">
+                      <el-select
+                        v-model="form.deptcode"
+                        style="width: 400px"
+                        size="medium"
+                        filterable
+                        placeholder="璇烽�夋嫨绉戝"
+                      >
+                        <el-option
+                          class="ruleFormaa"
+                          v-for="item in belongDepts"
+                          :key="item.deptCode"
+                          :label="item.deptName"
+                          :value="item.deptCode"
+                        >
+                        </el-option>
+                      </el-select> </el-form-item
+                  ></el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="20"
+                    ><el-form-item label="閫傜敤鐥呭尯" prop="region">
+                      <!-- <el-cascader
+                      style="width: 400px"
+                      v-model="form.leavehospitaldistrictcode"
+                      :options="topicoptions"
+                      :props="propstask"
+                      :show-all-levels="false"
+                      clearable
                     >
-                      {{ item.label }}</el-checkbox
-                    >
-                  </el-checkbox-group>
-                </el-form-item>
+                      <template slot-scope="{ node, data }">
+                        <span>{{ data.deptName }}</span>
+                        <span v-if="!node.isLeaf">
+                          ({{ data.children.length }})
+                        </span>
+                      </template>
+                    </el-cascader> -->
+                      <el-select
+                        v-model="form.leavehospitaldistrictcode"
+                        style="width: 400px"
+                        size="medium"
+                        filterable
+                        placeholder="璇烽�夋嫨鐥呭尯"
+                      >
+                        <el-option
+                          class="ruleFormaa"
+                          v-for="item in belongWards"
+                          :key="item.districtCode"
+                          :label="item.districtName"
+                          :value="item.districtCode"
+                        >
+                        </el-option>
+                      </el-select> </el-form-item
+                  ></el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="12"
+                    ><el-form-item label="寮�鍦虹櫧" prop="kcb">
+                      <el-input
+                        type="textarea"
+                        :rows="3"
+                        v-model="form.kcb"
+                        placeholder="璇疯緭鍏ュ紑鍦虹櫧"
+                      /> </el-form-item
+                  ></el-col>
+                  <el-col :span="12"
+                    ><el-form-item label="缁撴潫璇�" prop="jsy">
+                      <el-input
+                        type="textarea"
+                        :rows="3"
+                        v-model="form.jsy"
+                        placeholder="璇疯緭鍏ョ粨鏉熻"
+                      /> </el-form-item
+                  ></el-col>
+                </el-row>
               </el-form>
             </div>
           </div>
           <div class="examine-jic">
             <div class="headline">
-              <div>鍙橀噺鍖归厤閲忓弬</div>
+              <div>浠诲姟浣跨敤妯℃澘</div>
+              <div style="margin-left: 20px">
+                <el-form ref="forms">
+                  <el-form-item label="">
+                    <el-input
+                      style="width: 300px"
+                      :disabled="true"
+                      v-model="form.templatename"
+                      placeholder="璇风偣鍑诲彸渚ч�夋嫨"
+                    />
+                    <el-button
+                      style="margin-left: 10px"
+                      type="primary"
+                      icon="el-icon-edit"
+                      @click="drawermb = true"
+                      circle
+                    ></el-button>
+
+                    <el-button
+                      v-if="form.templatename"
+                      type="success"
+                      icon="el-icon-search"
+                      @click="previewfnmb"
+                      circle
+                    ></el-button>
+                  </el-form-item>
+                </el-form>
+              </div>
             </div>
+
             <div class="examine-jic">
               <div class="jic-value">
+                <div style="margin-bottom: 10px">妯℃澘涓娇鐢ㄧ殑鍙橀噺锛�</div>
+
                 <el-row :gutter="20">
                   <el-table :data="variableList" style="width: 100%">
                     <el-table-column
@@ -221,10 +347,9 @@
         }}</el-button>
         <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
       </div>
-
       <!-- 浠诲姟璇︽儏 -->
       <div v-if="Editprogress == 2">
-        <el-alert title="鍦ㄦ湰闃舵閫夋嫨闅忚鐥呬汉" type="success" effect="dark">
+        <el-alert title="鍦ㄦ湰闃舵閫夋嫨瀹f暀鐥呬汉" type="success" effect="dark">
         </el-alert>
         <div class="leftvlue-jbxx">
           <div class="examine-jic">
@@ -234,8 +359,6 @@
             <div class="examine-jic">
               <div class="jic-value">
                 <el-row :gutter="20">
-                  <!--鐢ㄦ埛鏁版嵁-->
-
                   <el-row :gutter="10" class="mb8">
                     <el-col :span="1.5">
                       <el-select
@@ -251,6 +374,7 @@
                         </el-option>
                       </el-select>
                     </el-col>
+
                     <el-col :span="1.5">
                       <el-button
                         type="primary"
@@ -258,12 +382,12 @@
                         icon="el-icon-plus"
                         size="medium"
                         :disabled="!patientqueryParams.allhosp"
-                        @click="handleAddpatient"
+                        @click="handleQuery"
                         >鏂板</el-button
                       >
                     </el-col>
 
-                    <el-col :span="1.5">
+                    <!-- <el-col :span="1.5">
                       <el-button
                         type="danger"
                         plain
@@ -273,7 +397,7 @@
                         @click="handleDelete"
                         >鍒犻櫎</el-button
                       >
-                    </el-col>
+                    </el-col> -->
 
                     <!-- <el-col :span="1.5"> </el-col> -->
                   </el-row>
@@ -282,7 +406,7 @@
                     @details="detailhz"
                     @handleUpdate="handleUpdate"
                     :currentList="overallCase"
-                    :tableLabel="tableLabelhz"
+                    :tableLabel="tableLabelhzwb"
                     :serialnumber="false"
                     :searchTrue="true"
                     :multiplechoice="false"
@@ -328,23 +452,24 @@
               v-show="showSearch"
               label-width="98px"
             >
-              <el-form-item label="鎮h�呭悕绉帮細">
+              <el-form-item label="鎮h�咃細">
                 <el-input
                   v-model="patientqueryParams.name"
                   @keyup.enter.native="handleQuery"
                 ></el-input>
               </el-form-item>
-              <el-form-item label="鍒涘缓鏃堕棿">
-                <el-date-picker
-                  v-model="dateRange"
-                  style="width: 240px"
-                  value-format="yyyy-MM-dd"
-                  type="daterange"
-                  range-separator="-"
-                  start-placeholder="寮�濮嬫棩鏈�"
-                  end-placeholder="缁撴潫鏃ユ湡"
-                ></el-date-picker>
-              </el-form-item>
+              <el-select
+                v-model="patientqueryParams.searchscope"
+                placeholder="璇烽�夋嫨鎮h�呰寖鍥�"
+              >
+                <el-option
+                  v-for="item in source"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select>
 
               <el-form-item>
                 <el-button
@@ -358,7 +483,7 @@
                   icon="el-icon-refresh"
                   size="medium"
                   @click="resetQuery"
-                  >閲嶇疆</el-button
+                  >鍙栨秷鍒涘缓</el-button
                 >
               </el-form-item>
             </el-form>
@@ -390,41 +515,270 @@
         >
       </span>
     </el-dialog>
-    <el-dialog title="妯℃澘棰勮" :visible.sync="previewtf" width="60%">
-      <div class="preview-left">
-        <!-- 鍗曢�� -->
-        <div
-          class="scriptTopic-dev"
-          v-for="(item, index) in questionList"
-          :key="item.aaa"
-        >
-          <div class="dev-text">
-            {{ index + 1 }}銆�<span>{{ item.scriptContent }}</span>
-          </div>
+    <!-- 妯℃澘棰勮 -->
+    <el-dialog title="妯℃澘棰勮" :visible.sync="previewtf" width="70%">
+      <el-tabs type="border-card">
+        <el-tab-pane label="妯℃澘鍩虹鏁版嵁"
+          ><div class="preview-left">
+            <el-form :model="objyl" label-width="100px" class="demo-objyl">
+              <el-row :gutter="10">
+                <el-col :span="14">
+                  <el-form-item label="闅忚鍒嗙被" prop="assortid">
+                    <el-select
+                      v-model="objyl.assortid"
+                      size="medium"
+                      filterable
+                      placeholder="璇烽�夋嫨鍒嗙被"
+                    >
+                      <el-option-group
+                        v-for="group in optionsclass"
+                        :key="group.id"
+                        :label="group.indexAssortName"
+                      >
+                        <el-option
+                          v-for="item in group.ivrLibaTemplateAssortList"
+                          :key="item.id"
+                          :label="item.indexAssortName"
+                          :value="item.id"
+                        >
+                        </el-option>
+                      </el-option-group>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <el-row :gutter="20">
+                <el-col :span="14">
+                  <el-form-item label="鍙敤鐘舵��" prop="isenable">
+                    <el-radio-group v-model="objyl.usestate">
+                      <el-radio
+                        v-for="(item, index) in usable"
+                        :label="item.value"
+                        >{{ item.label }}</el-radio
+                      >
+                    </el-radio-group>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                  <el-form-item label="鐗堟湰鍙�" prop="name">
+                    <el-input
+                      v-model="objyl.version"
+                      placeholder="榛樿1.0"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <el-form-item label="闅忚鏍囬" prop="templateName">
+                <div style="width: 400px">
+                  <el-input v-model="objyl.templateName"></el-input>
+                </div>
+              </el-form-item>
+              <el-form-item label="闅忚鏂瑰紡" prop="suitway">
+                <el-select
+                  style="width: 400px"
+                  v-model="objyl.suitway"
+                  size="medium"
+                  multiple
+                  filterable
+                  placeholder="璇烽�夋嫨鍒嗙被"
+                >
+                  <el-option
+                    class="ruleFormaa"
+                    v-for="item in mode"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <el-row :gutter="20" v-if="form.longTask">
+                <el-col :span="14">
+                  <el-form-item label="闀挎湡浠诲姟" prop="longTemp">
+                    <el-radio-group v-model="objyl.longTemp">
+                      <el-radio
+                        v-for="(item, index) in longtype"
+                        :label="item.value"
+                        >{{ item.label }}</el-radio
+                      >
+                    </el-radio-group>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                  <el-form-item label="浠诲姟鍛ㄦ湡" prop="name">
+                    <el-input
+                      v-model="objyl.sendDay"
+                      placeholder="榛樿5澶╁悗"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <el-row>
+                <el-col :span="20"
+                  ><el-form-item label="閫傜敤绉戝" prop="region">
+                    <el-select
+                      style="width: 400px"
+                      v-model="tempDetpRelevanceslist"
+                      size="medium"
+                      multiple
+                      filterable
+                      placeholder="璇烽�夋嫨绉戝"
+                    >
+                      <el-option
+                        class="ruleFormaa"
+                        v-for="item in belongDepts"
+                        :key="item.deptCode"
+                        :label="item.deptName"
+                        :value="item.deptCode"
+                      >
+                      </el-option>
+                    </el-select> </el-form-item
+                ></el-col>
+              </el-row>
+              <el-row>
+                <el-col :span="20"
+                  ><el-form-item label="閫傜敤鐥呭尯" prop="region">
+                    <el-select
+                      v-model="tempbelongWards"
+                      style="width: 400px"
+                      size="medium"
+                      multiple
+                      filterable
+                      placeholder="璇烽�夋嫨绉戝"
+                    >
+                      <el-option
+                        class="ruleFormaa"
+                        v-for="item in belongWards"
+                        :key="item.districtCode"
+                        :label="item.districtName"
+                        :value="item.districtCode"
+                      >
+                      </el-option>
+                    </el-select> </el-form-item
+                ></el-col>
+              </el-row>
 
-          <div class="dev-xx" v-if="item.valueType == 1">
-            <el-radio-group v-model="item.radio">
-              <el-radio
-                v-for="(items, index) in item.ivrLibaScriptTargetoptionList"
-                :key="items.id"
-                :label="items.id"
-                >{{ items.targetvalue }}
-              </el-radio>
-            </el-radio-group>
-          </div>
-          <div v-else>
-            <el-input
-              type="textarea"
-              placeholder="鏈幏鍙栧埌淇℃伅"
-              v-model.sync="item.scriptResult"
-              :rows="2"
-            />
-          </div>
-        </div>
-      </div>
+              <div class="xinz-infs">
+                <el-form-item>
+                  <template #label>
+                    閫傜敤鐤剧梾
+                    <el-tooltip
+                      class="item"
+                      effect="light"
+                      content="閫夋嫨濂介�傜敤鐤剧梾鍚庯紝鍙互鏂逛究鎮ㄩ�氳繃鐤剧梾璇婃柇鏌ユ壘鍒板搴旂殑鐥呬汉!"
+                      placement="top-start"
+                    >
+                      <i class="el-icon-warning-outline"></i>
+                    </el-tooltip>
+                  </template>
+
+                  <el-tag
+                    v-for="tag in illnesslist"
+                    :key="tag.icdid"
+                    type="warning"
+                    :disable-transitions="false"
+                  >
+                    {{ tag.icdname }}
+                  </el-tag>
+                  <!-- <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> -->
+                </el-form-item>
+              </div>
+              <el-form-item label="闅忚鎻忚堪" prop="description">
+                <el-input
+                  type="textarea"
+                  :rows="2"
+                  placeholder="璇疯緭鍏ュ唴瀹�"
+                  v-model="objyl.description"
+                >
+                </el-input
+              ></el-form-item>
+
+              <el-form-item label="闅忚缁撴潫璇�" prop="conclusion">
+                <el-input
+                  type="textarea"
+                  :rows="2"
+                  placeholder="璇疯緭鍏ュ唴瀹�"
+                  v-model="objyl.conclusion"
+                >
+                </el-input
+              ></el-form-item>
+            </el-form></div
+        ></el-tab-pane>
+        <el-tab-pane label="闂灞曠ず"
+          ><div class="preview-left">
+            <div v-for="item in questionList">
+              <!-- 鍗曢�� -->
+              <div
+                class="scriptTopic-dev"
+                :key="item.sort"
+                v-if="item.scriptType == 1"
+              >
+                <div class="dev-text">
+                  {{ item.sort }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span>
+                </div>
+                <div class="dev-xx">
+                  <el-radio-group v-model="item.remark">
+                    <el-radio
+                      v-for="(
+                        items, index
+                      ) in item.ivrLibaScriptTargetoptionList"
+                      :key="index"
+                      :label="index"
+                      >{{ items.targetvalue }}</el-radio
+                    >
+                  </el-radio-group>
+                </div>
+              </div>
+              <!-- 澶氶�� -->
+              <div
+                class="scriptTopic-dev"
+                :key="item.sort"
+                v-if="item.scriptType == 2"
+              >
+                <div class="dev-text">
+                  {{ item.sort }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
+                </div>
+                <div class="dev-xx">
+                  <el-checkbox-group v-model="qremark">
+                    <el-checkbox
+                      v-for="(
+                        items, index
+                      ) in item.ivrLibaScriptTargetoptionList"
+                      :key="index"
+                      :label="index"
+                    >
+                      {{ items.targetvalue }}
+                    </el-checkbox>
+                  </el-checkbox-group>
+                </div>
+              </div>
+              <!-- 濉┖ -->
+              <div
+                class="scriptTopic-dev"
+                :key="item.sort"
+                v-if="item.scriptType == 4"
+              >
+                <div class="dev-text">
+                  {{ item.sort }}銆乕闂瓟]<span>{{ item.scriptContent }}</span>
+                </div>
+                <div class="dev-xx">
+                  <el-input
+                    placeholder="璇疯緭鍏ョ瓟妗�"
+                    v-model="item.radioas"
+                    clearable
+                  >
+                  </el-input>
+                </div>
+              </div>
+            </div></div
+        ></el-tab-pane>
+      </el-tabs>
+
       <span slot="footer" class="dialog-footer">
-        <el-button @click="previewGo">鍓嶅線妯℃澘璇︽儏淇敼</el-button>
-        <el-button type="primary" @click="previewFn">纭浣跨敤</el-button>
+        <!-- <el-button @click="previewGo">淇濆瓨妯℃澘璇︽儏淇敼</el-button> -->
+        <el-button type="primary" @click="Departmenttreatment"
+          >淇濆瓨浣跨敤</el-button
+        >
       </span>
     </el-dialog>
     <el-drawer
@@ -450,46 +804,23 @@
               <el-form-item label="闅忚鍚嶇О">
                 <el-input v-model="topqueryParams.templateName"></el-input>
               </el-form-item>
-
-              <el-form-item label="閫傜敤绉戝" prop="status">
-                <el-select v-model="topqueryParams.topicd" placeholder="璇烽�夋嫨">
+              <!-- <el-form-item label="閫傜敤褰㈠紡" prop="status">
+                <el-select v-model="topqueryParams.topica" placeholder="璇烽�夋嫨">
                   <el-option
-                    v-for="item in topicoptions"
+                    v-for="item in taskoptions"
                     :key="item.value"
                     :label="item.label"
                     :value="item.value"
                   >
                   </el-option>
                 </el-select>
-              </el-form-item>
-              <el-form-item label="闅忚妯℃澘鍒嗙被" prop="region">
-                <el-select
-                  v-model="topqueryParams.assortid"
-                  size="medium"
-                  filterable
-                  placeholder="璇烽�夋嫨鍒嗙被"
-                >
-                  <el-option-group
-                    v-for="group in indexAssortlist"
-                    :key="group.id"
-                    :label="group.indexAssortName"
-                  >
-                    <el-option
-                      v-for="item in group.ivrLibaTemplateAssortList"
-                      :key="item.id"
-                      :label="item.indexAssortName"
-                      :value="item.id"
-                    >
-                    </el-option>
-                  </el-option-group>
-                </el-select>
-              </el-form-item>
+              </el-form-item> -->
               <el-form-item>
                 <el-button
                   type="primary"
                   icon="el-icon-search"
                   size="medium"
-                  @click="handleQuery"
+                  @click="handleQuerymb"
                   >鎼滅储</el-button
                 >
                 <el-button
@@ -506,6 +837,7 @@
               @selectfn="selectfn"
               :currentList="userList"
               :tableLabel="tableLabel"
+              :serialnumber="false"
               :controlsc="false"
               :multiplechoice="false"
               :typeinfo="1"
@@ -531,37 +863,37 @@
   getTaskpatient,
   getlibrarylist,
   getFollowuplist,
-  getQtemplatelist,
-  TaskTemplatecomit,
-  getTaskInfo,
-  gethetaskinfo,
-  delhetaskinfo,
-  Editsingletask,
   getvFollowup,
+  Taskparticty,
+  deleteTaskparticty,
+  getTaskInfo,
+  getTaskparticty,
+  depthospgetson,
+  getillness,
+  Editsingletask,
   getFollowupclassify,
+  depthospgetsonlist,
 } from "@/api/AiCentre/index";
-import { listDept } from "@/api/system/dept";
 
 import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
 
 export default {
-  name: "serviceDetailsa",
+  name: "ServiceDetails",
   data() {
-    const endDate = new Date();
-    const startDate = new Date();
-    startDate.setDate(endDate.getDate() - 7); // 璁剧疆寮�濮嬫棩鏈熶负褰撳墠鏃ユ湡鍓�7澶�
     return {
-      title: "闅忚鍐呭鍒楄〃",
-      currenttype: 1, //1闅忚2闂嵎3閫氱煡瀹f暀
+      title: "瀹f暀鍐呭鍒楄〃",
+      currenttype: 1, //1瀹f暀2闂ㄨ瘖3鍑洪櫌4澶嶈瘖5浣撴6闅忚
       id: "", //
       previewid: "", //浠诲姟妯℃澘浼犻�抜d
       libName: "",
+      objyl: {},
       overallCase: [], //閫夋嫨鎮h�呮��
-      // 鏃ユ湡鑼冨洿
-      dateRange: [startDate, endDate],
       allpids: [],
+      appraiselist: [],
+      optionsclass: [],
+      illnesslist: [],
+      mode: [],
       libId: null, //妯℃澘搴撴ā鏉縤d
-      nhh: null, //鏄惁渚濈収鏂板
       Editprogress: 1, //缂栬緫杩涘害
       drawermb: false, //閫夋嫨妯℃澘寮圭獥
       previewtf: false, //棰勮
@@ -572,32 +904,66 @@
       checkboxlist: [],
       tableLabel: [],
       questionList: [],
+      usable: [
+        { value: "0", label: "鍙敤" },
+        { value: "1", label: "鍋滅敤" },
+      ],
+      required: [
+        { value: "1", label: "蹇呭~" },
+        { value: "2", label: "涓嶅繀濉�" },
+      ],
+      props: { multiple: true, value: "deptCode", label: "deptName" },
+      propstask: { value: "deptCode", label: "deptName" },
       // 鎮h�呰〃鍗�
       tableLabelhz: [
-        { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+        { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "inhosptime" },
+        { label: "鎮h��", width: "", prop: "name" },
+        { label: "韬唤璇�", width: "200", prop: "idcardno" },
         { label: "鎬у埆", width: "", prop: "sex" },
         { label: "骞撮緞", width: "", prop: "age" },
-        { label: "灏辫瘖绉戝", width: "", prop: "deptName" },
-        { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "birthdate" },
-        { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "update_by" },
+        { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
+        { label: "涓绘不鍖荤敓", width: "", prop: "drname" },
+        { label: "绉戝", width: "240", prop: "dept" },
+        { label: "鐥呭尯", width: "240", prop: "leavehospitaldistrictname" },
+      ],
+      // 鎮h�呰〃鍗�
+      tableLabelhzwb: [
+        { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" },
+        { label: "鎮h��", width: "", prop: "name" },
+        { label: "韬唤璇�", width: "200", prop: "sfzh" },
+        { label: "鎬у埆", width: "", prop: "sex" },
+        { label: "骞撮緞", width: "", prop: "age" },
+        { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
+        { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
+        { label: "涓绘不鍖荤敓", width: "", prop: "drname" },
+        { label: "绉戝", width: "180", prop: "deptName" },
+        { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" },
       ],
 
-      tableLabelmz: [
-        { label: "闅忚鍚嶇О", width: "", prop: "templateName" },
-        { label: "涓昏鍐呭", width: "", prop: "note" },
+      tableLabelwj: [
+        { label: "妯℃澘鏍囬", width: "", prop: "templateName" },
+        { label: "闅忚鎻忚堪", width: "", prop: "note" },
         { label: "淇敼鏃ユ湡", width: "", prop: "updateTime" },
-        { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" },
+        { label: "鍒涘缓浜�", width: "", prop: "createBy" },
       ],
-
-      // 鏈嶅姟褰㈠紡
+      // 鍙橀噺
+      tableLabelvariable: [
+        { label: "鍙橀噺鍚嶇О", width: "", prop: "variablename" },
+        { label: "鍖归厤绗�", width: "", prop: "character" },
+        { label: "鏇挎崲鍊�", width: "", prop: "Replacementvalue" },
+      ],
       preachform: [
-        { label: "绾夸笅", value: 1 },
-        { label: "鐢佃瘽", value: 2 },
-        { label: "灏忕▼搴�", value: 3 },
+        { label: "澶氬獟浣�", value: 1 },
+        { label: "绾歌川", value: 2 },
+        { label: "鐢佃瘽", value: 3 },
         { label: "鐭俊", value: 4 },
-        { label: "寰俊鍏紬", value: 5 },
-        { label: "閽夐拤", value: 6 },
-        { label: "鏅鸿兘鏈哄櫒浜�", value: 7 },
+        { label: "寰俊鍏紬鍙�", value: 5 },
+        { label: "寰俊灏忕▼搴�", value: 6 },
+        { label: "鏀粯瀹�", value: 7 },
+        { label: "鏅鸿兘灏忕▼搴�", value: 8 },
+        { label: "閽夐拤", value: 9 },
+        { label: "绾夸笅锛堢焊璐級", value: 10 },
+        { label: "绾夸笂锛堢煭淇�/閽夐拤鐨勬枃鏈�侀殢璁块摼鎺ワ級", value: 11 },
       ],
       // 鏃堕棿澶勭悊
       daytime: [], //鏃ユ湡
@@ -618,6 +984,7 @@
       patientqueryParams: {
         pageNum: 1, //
         pageSize: 10,
+        topica: 1, //0鍏ㄩ儴1绉戝2鐥呭尯
       },
       topicoptions: [{ children: [{ children: [] }] }],
       showSearch: true, //
@@ -632,11 +999,14 @@
       multiple: true,
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: [], //妯℃澘鍒楄〃
+      multiplechoice: [], //澶氶�夌粨鏋�
       patientuserList: [], //閫夋嫨鎮h�呭垪琛�
       sonuserList: [], //閫変腑鎮h�呭垪琛�
       delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍
-      indexAssortlist: [],
-
+      longtype: [
+        { value: 0, label: "鏅�氫换鍔�" },
+        { value: 1, label: "闀挎湡浠诲姟" },
+      ],
       variableList: [
         {
           name: "濮撳悕",
@@ -683,14 +1053,21 @@
       form: {
         patTaskRelevances: [],
         sendType: 1,
+        longTask: 0,
         templatename: "",
         templateid: null,
         libtemplateid: null,
+        kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�",
+        jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈瀹f暀鍐呭灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
       },
       taskoptions: [
         {
           value: "1",
           label: "鍑洪櫌鐥呬汉",
+        },
+        {
+          value: "4",
+          label: "鍦ㄩ櫌鐥呬汉",
         },
         {
           value: "2",
@@ -701,22 +1078,111 @@
           label: "浣撴鐥呬汉",
         },
       ],
-      quote: false,
-      serviceType:null,
+      source: [
+        {
+          value: 0,
+          label: "鎵�灞炴偅鑰�",
+        },
+        {
+          value: 1,
+          label: "绉戝鎮h��",
+        },
+        {
+          value: 2,
+          label: "鐥呭尯鎮h��",
+        },
+      ],
 
+      tasktypes: [
+        {
+          value: 1,
+          label: "鐩戞祴璇勪及",
+        },
+        {
+          value: 2,
+          label: "鍑洪櫌闅忚",
+        },
+        {
+          value: 3,
+          label: "闂ㄨ瘖闅忚",
+        },
+        {
+          value: 4,
+          label: "瀹f暀鍏虫��",
+        },
+        {
+          value: 5,
+          label: "澶嶈瘖绠$悊",
+        },
+        {
+          value: 6,
+          label: "婊℃剰搴﹁皟鏌�",
+        },
+        {
+          value: 7,
+          label: "鎮h�呮姤鍛�",
+        },
+
+        {
+          value: 8,
+          label: "鍏朵粬閫氱煡",
+        },
+      ],
+      // 绉戝/鐥呭尯
+      belongWards: [],
+      belongWards: [],
+      deptlist: [],
+      hosplist: [],
+      tempDetpRelevanceslist: [], //绉戝鏁版嵁
+      tempDetpRelevanceslistform: [], //绉戝鏁版嵁
+      tempbelongWards: [], //鐥呭尯鏁版嵁
+      tempbelongWardsform: [], //鐥呭尯鏁版嵁
+      rules: {
+        taskName: [
+          { required: true, message: "浠诲姟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
+          {
+            min: 2,
+            max: 30,
+            message: "浠诲姟鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 30 涔嬮棿",
+            trigger: "blur",
+          },
+        ],
+        sendType: [
+          { required: true, message: "鍙戦�佽缃笉鑳戒负绌�", trigger: "blur" },
+        ],
+      },
+      // 绉戝闄㈠尯鏌ヨ鍏ュ弬
+      queryParamsdept: {
+        tempid: "",
+        type: 11,
+      },
+      quote: false,
+      serviceType: null,
     };
   },
   components: { SFtable },
 
   created() {
+    this.appraiselist = store.getters.appraiselist;
+    this.belongWards = store.getters.belongWards;
+    this.belongDepts = store.getters.belongDepts;
+    this.mode = store.getters.Askmode;
     this.id = this.$route.query.id;
+    this.newadd = this.$route.query.newadd;
     this.form.type = this.$route.query.type;
+    this.form.typename = this.$route.query.typename;
     this.serviceType = Number(this.$route.query.serviceType);
     this.form.serviceType = Number(this.$route.query.serviceType);
-    this.form.nhh = this.$route.query.nhh;
-    this.listDept();
     this.Acquisitiontype();
     this.Getdetails();
+    this.getFollowupclassify();
+  },
+  activated() {
+    if (this.id != this.$route.query.id) {
+      this.Acquisitiontype();
+      this.Getdetails();
+      this.getFollowupclassify();
+    }
   },
 
   methods: {
@@ -753,13 +1219,79 @@
       let queryParams = {
         pageNum: this.topqueryParams.pageNum,
         pageSize: this.topqueryParams.pageSize,
-        isavailable: "",
+        isenable: "",
       };
       this.currenttype = this.$route.query.type;
-      // 鍑洪櫌銆侀棬璇娿�佷笓鐥呴殢璁�
       this.title = "闅忚鍐呭鍒楄〃";
-      this.tableLabel = this.tableLabelmz;
-      if (this.form.serviceType == 2 || this.form.serviceType == 3) {
+      this.tableLabel = this.tableLabelwj;
+      if (this.form.serviceType == 1) {
+        this.checkboxlist = [
+          {
+            value: "1",
+            label: "浜哄伐",
+          },
+
+          {
+            value: "2",
+            label: "绾歌川",
+          },
+          {
+            value: "5",
+            label: "寰俊鍏紬鍙�",
+          },
+        ];
+      } else if (this.form.serviceType == 6) {
+        this.checkboxlist = [
+          {
+            value: "3",
+            label: "鐢佃瘽",
+          },
+          {
+            value: "4",
+            label: "鐭俊",
+          },
+          {
+            value: "5",
+            label: "寰俊鍏紬鍙�",
+          },
+          {
+            value: "6",
+            label: "寰俊灏忕▼搴�",
+          },
+
+          {
+            value: "8",
+            label: "鏅鸿兘鏈哄櫒浜�",
+          },
+        ];
+      } else if (this.form.serviceType == 7 || this.form.serviceType == 5) {
+        this.checkboxlist = [
+          {
+            value: "1",
+            label: "浜哄伐",
+          },
+          {
+            value: "2",
+            label: "绾歌川",
+          },
+          {
+            value: "3",
+            label: "鐢佃瘽",
+          },
+          {
+            value: "4",
+            label: "鐭俊",
+          },
+          {
+            value: "5",
+            label: "寰俊鍏紬鍙�",
+          },
+          {
+            value: "6",
+            label: "寰俊灏忕▼搴�",
+          },
+        ];
+      } else if (this.form.serviceType == 2 || this.form.serviceType == 3) {
         this.checkboxlist = [
           {
             value: "1",
@@ -787,69 +1319,83 @@
             label: "鏅鸿兘鏈哄櫒浜�",
           },
         ];
-      } else if (this.form.serviceType == 5) {
-        this.checkboxlist = [
-          {
-            value: "3",
-            label: "鐢佃瘽",
-          },
-          {
-            value: "4",
-            label: "鐭俊",
-          },
-          {
-            value: "5",
-            label: "寰俊鍏紬鍙�",
-          },
-          {
-            value: "6",
-            label: "寰俊灏忕▼搴�",
-          },
-
-          {
-            value: "8",
-            label: "鏅鸿兘鏈哄櫒浜�",
-          },
-        ];
       }
-
-      getFollowuplist(queryParams).then((response) => {
+      getFollowuplist(this.topqueryParams).then((response) => {
         this.userList = response.rows;
         this.total = response.total;
       });
     },
-
     nextstep() {
-      if (this.Editprogress <= 3) {
-        return this.Editprogress++;
-      }
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if (this.Editprogress <= 3) {
+            return this.Editprogress++;
+          }
+        } else {
+          this.$modal.msgError("琛ㄥ崟鍐呭鏈畬鍠勶紝璇锋鏌�");
+        }
+      });
     },
     // 淇濆瓨
     submitForm(formName) {
-      this.form.preachform = this.checkList.join(",");
-      // this.formatFn(1);
-      if (!this.form.patTaskRelevances[0]) {
+      if (this.time4 && this.form.sendType == 3)
+        this.form.showTimeMorn = this.time4;
+      this.form.sendTimeslot = [
+        {
+          begantime: this.time4,
+          endtime: "",
+          xh: 1,
+        },
+      ];
+      if (this.checkList[0]) {
+        this.form.preachform = this.checkList.join(",");
+      } else {
+        this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷");
+        return;
+      }
+      if (!this.form.patTaskRelevances[0] && !this.form.longTask) {
         this.$modal.msgError("璇烽�夋嫨鐥呬汉");
         return;
+      }
+      if (!this.form.templatename) {
+        this.$modal.msgError("鏈�夋嫨妯℃澘");
+        return;
+      }
+      if ((this.form.sendType == 1 && this.time1) || this.form.sendType == 2) {
+      } else if (
+        (this.form.sendType == 3 && this.time4) ||
+        this.form.longTask
+      ) {
+      } else {
+        return this.$modal.msgError("鏃堕棿淇℃伅缂哄け");
       }
       const filteredArray = this.variableList.filter(
         (item) =>
           item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃"
       );
-      console.log(filteredArray, "瀛樺墠鍙橀噺");
       this.form.textParam = this.convertFormat2ToFormat1(filteredArray);
       if (this.form.taskid) {
         this.form.isoperation = 2;
       } else {
         this.form.isoperation = 1;
       }
-      this.form.serviceType=this.serviceType;
+      if (!this.form.type) {
+        this.form.type = this.$route.query.type;
+      }
+      this.form.serviceType = this.serviceType;
+      this.form.leaveldeptcodes = store.getters.belongDepts.map(
+        (obj) => obj.deptCode
+      );
+      this.form.leavehospitaldistrictcodes = store.getters.belongWards.map(
+        (obj) => obj.districtCode
+      );
       Editsingletask(this.form).then((res) => {
         if (res.code == 200) {
           if (this.form.taskid) {
-            this.$modal.msgSuccess("鏂板鎴愬姛");
-          } else {
             this.$modal.msgSuccess("淇敼鎴愬姛");
+          } else {
+            this.puttaskid(res.data);
+            this.$modal.msgSuccess("鏂板鎴愬姛");
           }
           this.$router.push({
             path: "/followvisit/tasklist",
@@ -858,34 +1404,95 @@
         }
       });
     },
-    // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠�
-    // 纭閫夋嫨妯℃澘鏀惧叆浠诲姟妯℃澘
-    selectfn(row, type) {
-      // 妯℃澘鎯呭喌涓嬭幏鍙栨ā鏉夸俊鎭�
-      console.log(row, "閫夋嫨妯℃澘");
-      this.libName = row.templateName;
-      this.libId = row.id;
-      getvFollowup({ id: row.id }).then((res) => {
+    // 缁欎换鍔℃ā鏉胯祴鍊间换鍔d
+    puttaskid(data) {
+      getTaskparticty(this.form.templateid).then((res) => {
         if (res.code == 200) {
-          this.Tasktemplate = res.data;
-          const data = res.data;
-          this.questionList = data.ivrLibaTemplateScriptVOList;
-          this.previewtf = true;
-          this.previewid = data.id;
-          console.log(this.questionList, "questionList");
-          this.Variablehandling(data.ivrLibaTemplateScriptVOList, 1);
+          this.objyl = res.data;
+          this.objyl.isoperation = 2;
+          this.objyl.taskid = data.taskId;
+          Taskparticty(this.objyl).then((response) => {
+            this.previewtf = false;
+            this.form.libtemplateid = this.objyl.id;
+            this.form.templateid = response.data;
+            // this.putbelongDepts(response.data);
+            this.form.templatename = this.objyl.templateName;
+            this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛");
+          });
         }
       });
+    },
+    // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠�
+
+    // 閫夋嫨棰勮
+    selectfn(row, type) {
+      // 妯℃澘鎯呭喌涓嬭幏鍙栨ā鏉夸俊鎭�
+      if (type == 1) {
+        this.libName = row.templateName;
+        this.libId = row.id;
+        this.questionList = row.ivrLibaTemplateScriptVOList;
+        getvFollowup({ id: row.id }).then((res) => {
+          if (res.code == 200) {
+            this.objyl = res.data;
+            if (this.form.longTask) {
+              this.objyl.longTemp = 1;
+            }
+            this.queryParamsdept.type = 1;
+            this.queryParamsdept.tempid = row.id;
+            this.listDept();
+
+            this.objyl.suitway = this.objyl.suitway.split(",");
+            this.questionList = res.data.ivrLibaTemplateScriptVOList;
+            this.getillness(row.id);
+        console.log(res.data, "11");
+            this.Variablehandling(res.data.ivrLibaTemplateScriptVOList, 1);
+            this.previewtf = true;
+          }
+        });
+        this.previewid = row.id;
+      } else if (type == 2) {
+      } else if (type == 3) {
+      }
+    },
+    // 棰勮
+    previewfnmb() {
+      getTaskparticty(this.form.templateid).then((res) => {
+        if (res.code == 200) {
+          this.objyl = res.data;
+          if (this.objyl.suitway)
+            this.objyl.suitway = this.objyl.suitway.split(",");
+          this.queryParamsdept.tempid = this.form.templateid;
+          this.queryParamsdept.type = 11;
+          this.getillness(this.form.libtemplateid);
+          // 鎵ц鑾峰彇璇ヤ换鍔℃ā鏉縤d
+          this.listDept();
+          this.previewtf = true;
+          getvFollowup({ id: this.form.libtemplateid }).then((res) => {
+            if (res.code == 200) {
+              this.questionList = res.data.ivrLibaTemplateScriptVOList;
+              this.objyl.ivrLibaTemplateScriptVOList =
+                res.data.ivrLibaTemplateScriptVOList;
+            }
+          });
+        }
+      });
+    },
+    getillness(id) {
+      if (id) {
+        getillness({ outid: id, type: 5 }).then((res) => {
+          this.illnesslist = res.rows;
+          this.illnesslist.forEach((item) => {
+            item.icdname = item.icd10name;
+          });
+        });
+      }
     },
     // 澶勭悊闂灞傚彉閲�
     Variablehandling(arr, type) {
       let Variablist = [];
-      this.variableList = []; //鍙橀噺鍒楄〃
       if (type == 1) {
-        console.log(arr);
         // 寰幆闂
         arr.forEach((res) => {
-          console.log(JSON.parse(res.otherdata), "ss");
           // 寰幆閫夐」
           JSON.parse(res.otherdata).forEach((item) => {
             if (item.default != 1) {
@@ -902,50 +1509,81 @@
             index ===
             self.findIndex((t) => t.name === obj.name && t.value === obj.value)
         );
+
         this.variableList = this.transitionList.concat(Aarr);
-        console.log(this.variableList, "variableList");
         // this.form.textParam = this.convertFormat2ToFormat1(this.variableList);
       }
     },
     // 瀛愪换鍔′簩绾у脊妗�
     handleAddpatient(row) {
-      console.log(this.overallCase, "ssaaa");
       this.allpids = [];
       this.overallCase.forEach((item) => {
         this.allpids.push(item.patid);
       });
       if (this.patientqueryParams.allhosp == 1) {
         this.tableLabelhz = [
-          { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+          // { label: "鍏ラ櫌鏃ユ湡", width: "170", prop: "starttime" },
+          { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" },
+          { label: "鎮h��", width: "", prop: "name" },
+          { label: "韬唤璇�", width: "200", prop: "idcardno" },
           { label: "鎬у埆", width: "", prop: "sex" },
           { label: "骞撮緞", width: "", prop: "age" },
-          { label: "涓讳换鍖诲笀", width: "", prop: "drname" },
-          { label: "灏辫瘖绉戝", width: "", prop: "deptName" },
-          { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "birthdate" },
-          { label: "鍒涘缓浜�", width: "", prop: "createBy" },
+          { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
+          { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
+          { label: "鍖荤敓", width: "", prop: "drname" },
+          { label: "绉戝", width: "180", prop: "dept" },
+          { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" },
         ];
-      } else if (this.patientqueryParams.allhosp == 2) {
+      } else if (this.patientqueryParams.allhosp == 4) {
         this.tableLabelhz = [
-          { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+          { label: "鍏ラ櫌鏃ユ湡", width: "150", prop: "starttime" },
+          { label: "鎮h��", width: "", prop: "name" },
+          { label: "韬唤璇�", width: "200", prop: "idcardno" },
           { label: "鎬у埆", width: "", prop: "sex" },
           { label: "骞撮緞", width: "", prop: "age" },
-          { label: "璇婃柇", width: "", prop: "diagname" },
-          { label: "灏辫瘖绉戝", width: "", prop: "deptName" },
-          { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "birthdate" },
-          { label: "鍒涘缓浜�", width: "", prop: "createBy" },
+          { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
+          { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
+          { label: "鍖荤敓", width: "", prop: "drname" },
+          { label: "绉戝", width: "180", prop: "dept" },
+          { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" },
         ];
       }
       if (this.allpids[0]) {
         this.patientqueryParams.pids = this.allpids;
-        console.log(this.patientqueryParams.pids);
       } else {
         this.patientqueryParams.pids = null;
       }
+      // 绫诲瀷鍒ゆ柇
+      if (this.patientqueryParams.allhosp == 1) {
+        this.patientqueryParams.cry = 1;
+      } else if (this.patientqueryParams.allhosp == 4) {
+        this.patientqueryParams.cry = 0;
+      }
+      // 鏉ユ簮鍒ゆ柇
 
-      getTaskpatient(
-        this.addDateRange(this.patientqueryParams, this.dateRange)
-      ).then((response) => {
+      if (this.patientqueryParams.searchscope == 1) {
+        this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+        this.patientqueryParams.leavehospitaldistrictcodes = [];
+      } else if (this.patientqueryParams.searchscope == 2) {
+        this.patientqueryParams.leavehospitaldistrictcodes =
+          store.getters.belongWards.map((obj) => obj.districtCode);
+        this.patientqueryParams.leaveldeptcodes = [];
+      } else {
+        this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+        this.patientqueryParams.leavehospitaldistrictcodes =
+          store.getters.belongWards.map((obj) => obj.districtCode);
+      }
+      getTaskpatient(this.patientqueryParams).then((response) => {
         this.patientuserList = response.rows;
+        this.patientuserList.forEach((item) => {
+          if (item.endtime) {
+            item.endDay = this.daysBetween(item.endtime);
+          }
+        });
         this.patienttotal = response.total;
         this.loading = false;
         this.Restorecheck();
@@ -955,41 +1593,36 @@
     handleUpdate() {},
     handleDelete() {},
     handleExport() {},
-    // 閫変腑鎮h�呰〃
-    handlePitchionChange() {},
     // 閫夋嫨鎮h�呰〃鏁版嵁
     handleSelectionChange(selection) {
-      console.log("澶氶�夋偅鑰�");
-      this.SelectPatientslist = selection;
+      this.SelectPatientslist = structuredClone(selection);
       this.multiple = !selection.length;
 
       // 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍
       this.SelectPatientslist.forEach((item) => {
         const isExist = this.overallCase.find((obj) => obj.name == item.name);
         if (!isExist) {
-          console.log(this.patientqueryParams.allhosp, "allhosp");
           item.isoperation = 1;
           item.patid = item.id;
           item.hospType = this.patientqueryParams.allhosp;
+          item.sfzh = item.idcardno;
+          item.deptCode = item.deptcode;
+          item.deptName = item.dept;
+          item.admindate = item.inhosptime;
+          item.sfzh = item.idcardno;
           this.overallCase.push(item);
           this.form.patTaskRelevances.push(item);
-          console.log(this.overallCase, "this.overallCase");
         }
       });
     },
     // 鍒囨崲椤靛悗鎭㈠閫変腑
     Restorecheck() {
-      console.log(this.overallCase, "this.overallCase");
-      const allid = this.overallCase.map((item) => item.id);
+      const allid = this.overallCase.map((item) => item.patid);
       const overlap = this.patientuserList.filter((value) => {
-        return allid.includes(value.id);
+        return allid.includes(value.patid);
       });
-      console.log(overlap, "overlap");
-
       // 淇濇寔ids鍜屽綋鍓嶉〉闈㈢殑鍚屾鎬�
       this.SelectPatientslist = overlap;
-      console.log(this.SelectPatientslist, "杩涘叆鍒嗛〉SelectPatientslist");
-
       this.toggleSelection(overlap);
     },
     // 鎸傝浇閫夋嫨鐘舵��
@@ -1002,7 +1635,6 @@
           });
           this.decision = false;
         });
-        console.log(123);
       } else {
         this.$refs.multipleTable.clearSelection();
       }
@@ -1021,19 +1653,26 @@
     },
     getList() {},
     handleQuery() {
+      if (this.patientqueryParams.topica == 0) {
+        this.patientqueryParams.leavehospitaldistrictcodes =
+          store.getters.leavehospitaldistrictcodes;
+        this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes;
+      } else if (this.patientqueryParams.topica == 1) {
+        this.patientqueryParams.leavehospitaldistrictcodes = null;
+        this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes;
+      } else if (this.patientqueryParams.topica == 2) {
+        this.patientqueryParams.leavehospitaldistrictcodes =
+          store.getters.leavehospitaldistrictcodes;
+        this.patientqueryParams.leaveldeptcodes = null;
+      }
       this.handleAddpatient();
     },
-    resetQuery() {
-      this.dateRange = [];
-      // 鏌ヨ鍙傛暟
-      this.queryParams = {
-        pageNum: 1,
-        pageSize: 10,
-        userName: undefined,
-        phonenumber: undefined,
-        status: undefined,
-        deptId: undefined,
-      };
+    resetQuery() {},
+    handleQuerymb() {
+      getFollowuplist(this.topqueryParams).then((response) => {
+        this.userList = response.rows;
+        this.total = response.total;
+      });
     },
     handleClosehz() {
       this.dialogVisiblepatient = false;
@@ -1053,18 +1692,36 @@
     },
     // 鑾峰彇璇︽儏
     Getdetails() {
+      this.form = {
+        patTaskRelevances: [],
+        sendType: 1,
+        templatename: "",
+        templateid: null,
+        libtemplateid: null,
+        kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闅忚銆�",
+        jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
+      };
+
+      this.questionList = [];
       if (this.id) {
         getTaskInfo({ taskid: this.id }).then((res) => {
           let filteredArray = "";
-          console.log(2233);
           if (res.code == 200) {
             this.form = res.data;
-      this.form.serviceType=this.serviceType;
+            this.form.serviceType = this.serviceType;
+            this.form.patTaskRelevances = this.form.patTaskRelevances
+              ? this.form.patTaskRelevances
+              : [];
             this.overallCase = this.form.patTaskRelevances.concat();
             this.checkList = this.form.preachform.split(",");
-            console.log(this.form.showDate, "this.form");
-            this.daytime = this.form.showDate.split(",");
-            this.changeTimeday(this.daytime);
+
+            this.overallCase.forEach((item) => {
+              if (item.endtime) {
+                item.endDay = this.daysBetween(item.endtime);
+              }
+            });
+            if (this.form.showDate)
+              this.daytime = this.form.showDate.split(",");
             if (this.form.showTimeMorn) {
               if (this.form.sendType == 3) {
                 this.time4 = this.form.showTimeMorn;
@@ -1076,23 +1733,54 @@
               this.time2 = this.form.showTimeNoon.split(",");
             if (this.form.showTimeNight)
               this.time3 = this.form.showTimeNight.split(",");
-            console.log(1122);
             filteredArray = this.convertFormat1ToFormat2(this.form.textParam);
             this.variableList = this.transitionList.concat(filteredArray);
           } else {
             this.$modal.msgError(res.code);
           }
+
+          if (this.newadd) {
+            this.neWaddfn();
+          }
         });
       }
-      getFollowupclassify({}).then((res) => {
-        this.indexAssortlist = res.rows;
-      });
+    },
+    // 渚濈収鏂板鏃跺鐞�
+    neWaddfn() {
+      this.id = null;
+      this.form.taskName = "";
+      this.form.taskid = null;
+      this.overallCase = [];
+      this.form.patTaskRelevances = [];
+      this.daytime = []; //鏃ユ湡
+      this.applydaytime = []; //璁$畻鏃ユ湡
+      this.time1 = ""; //涓婂崍鏃堕棿娈�
+      this.time2 = ""; //涓嬪崍鏃堕棿娈�
+      this.time3 = ""; //鏅氫笂鏃堕棿娈�
+      this.time4 = ""; //鏅氫笂鏃堕棿娈�
     },
     // 鑾峰彇绉戝鍒楄〃
     listDept() {
-      listDept().then((res) => {
-        this.topicoptions = this.handleTree(res.data, "deptId");
-        console.log(this.topicoptions, "topicoptions");
+      this.tempDetpRelevanceslist = [];
+      this.tempbelongWards = [];
+      depthospgetsonlist(this.queryParamsdept).then((res) => {
+        if (res.code == 200) {
+          let arr = res.rows;
+          arr.forEach((item) => {
+            if (item.deptType == 1) {
+              this.deptlist.push(item);
+              this.tempDetpRelevanceslist.push(item.deptCode);
+            } else if (item.deptType == 2) {
+              this.hosplist.push(item);
+              this.tempbelongWards.push(item.deptCode);
+            }
+          });
+        }
+      });
+    },
+    getFollowupclassify() {
+      getFollowupclassify({}).then((res) => {
+        this.optionsclass = res.rows;
       });
     },
     // 鏂板娲鹃�佹偅鑰�
@@ -1109,27 +1797,20 @@
       this.variableList.splice(index, 1);
       row.isoperation = 3;
       this.delvariableList.push(row);
-      console.log(index, row);
     },
     // 鏃堕棿----------
     changeTime(row) {
-      console.log(row, "鏃堕棿");
       this.processingTime();
     },
     Totaldate(row) {
-      console.log(row, "鏃堕棿");
       this.form.sendTimeslot = [{ begantime: row, endtime: row, xh: 1 }];
       this.form.showTimeMorn = row;
-      console.log(this.form.sendTimeslot, "鏃堕棿");
     },
     changeTimeday(row) {
-      console.log(row, "鏃ユ湡");
       const startDate = new Date(row[0]);
       const endDate = new Date(row[1]);
       this.applydaytime = this.getDates(startDate, endDate);
-      if (!top) {
-        this.processingTime();
-      }
+      this.processingTime();
     },
     getDates(startDate, endDate) {
       const dates = [];
@@ -1179,52 +1860,71 @@
       }
       this.form.sendTimeslot = combinedData;
       // 灞曠ず鏁版嵁涓存椂瀛樺偍鏃ユ湡銆佹棭銆佷腑銆佹櫄
-      console.log(this.daytime);
 
       this.form.showDate = this.daytime.join(",");
       if (this.time1) this.form.showTimeMorn = this.time1.join(",");
       if (this.time2) this.form.showTimeNoon = this.time2.join(",");
       if (this.time3) this.form.showTimeNight = this.time3.join(",");
-      console.log(combinedData, "combinedData");
     },
-    // 鏌ョ湅妯℃澘
-    previewGo() {
-      this.$router.push({
-        path: "/knowledge/tpuconfigurat/",
-        query: { id: this.previewid, task: true, data: this.form },
-      });
-    },
+
+    // 淇濆瓨/鏇存柊浠诲姟妯℃澘
     previewFn() {
-      let id = this.Tasktemplate.id;
-      this.Tasktemplate.id = null;
-      this.Tasktemplate.ivrLibaTemplateScriptVOList.forEach((item) => {
-        item.ivrTaskScriptTargetoptionList = item.ivrLibaScriptTargetoptionList;
+      if (Array.isArray(this.objyl.suitway)) {
+        this.objyl.suitway = this.objyl.suitway.join(",");
+      }
+      this.objyl.ivrLibaTemplateScriptVOList.forEach((item) => {
+        item.svyTaskTemplateTargetoptions = item.ivrLibaScriptTargetoptionList;
       });
-      console.log(this.Tasktemplate.ivrLibaTemplateScriptVOList);
-
-      this.Tasktemplate.ivrTaskTemplateScriptVOList =
-        this.Tasktemplate.ivrLibaTemplateScriptVOList;
-      this.Tasktemplate.ivrLibaTemplateTagList = null;
-      this.Tasktemplate.tempDetpRelevances = null;
-      this.Tasktemplate.libtemplateid = id;
-      this.Tasktemplate.isoperation = 1;
-      this.Tasktemplate.libtemplatename = this.Tasktemplate.templatename;
-      console.log(this.libName, this.libId);
-
-      TaskTemplatecomit(this.Tasktemplate).then((response) => {
-        console.log(response);
-        this.previewtf = false;
-        this.form.templateid = response.data;
-        this.form.libtemplateid = this.libId;
-        this.form.templatename = this.libName;
-        console.log(this.form.templatename, "ss");
-        this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛", this.form.templatename);
+      this.objyl.svyTaskTemplateScriptVOS =
+        this.objyl.ivrLibaTemplateScriptVOList;
+      this.objyl.isoperation = 1;
+      if (this.form.templateid) {
+        deleteTaskparticty(this.form.templateid).then((res) => {
+          if (res.code == 200) {
+              Taskparticty(this.objyl).then((response) => {
+                this.previewtf = false;
+                this.form.libtemplateid = this.objyl.id;
+                this.form.templateid = response.data;
+                this.putbelongDepts(response.data);
+                this.form.templatename = this.objyl.templateName;
+                this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛");
+              });
+          }
+        });
+      } else {
+        Taskparticty(this.objyl).then((response) => {
+          this.previewtf = false;
+          this.form.libtemplateid = this.objyl.id;
+          this.form.templateid = response.data;
+          this.putbelongDepts(response.data);
+          this.form.templatename = this.objyl.templateName;
+          this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛");
+        });
+      }
+    },
+    // 淇濆瓨绉戝/鐥呭尯
+    putbelongDepts(id) {
+      this.tempDetpRelevanceslistform.forEach((item) => {
+        item.tempid = id;
+      });
+      this.tempbelongWardsform.forEach((item) => {
+        item.tempid = id;
+      });
+      depthospgetson(this.tempDetpRelevanceslistform).then((res) => {
+        if (res.code == 200) {
+          this.$modal.msgSuccess("绉戝鏇存柊鎴愬姛");
+          this.tempDetpRelevanceslistform = [];
+        }
+      });
+      depthospgetson(this.tempbelongWardsform).then((res) => {
+        if (res.code == 200) {
+          this.$modal.msgSuccess("鐥呭尯鏇存柊鎴愬姛");
+          this.tempbelongWardsform = [];
+        }
       });
     },
     // 澶勭悊鏈嶅姟褰㈠紡
     formatFn(type) {
-      console.log(this.preachform, "preachform");
-      console.log(this.checkList, "checklist");
       let list = [];
       let formlist = [];
       if (type == 1) {
@@ -1235,6 +1935,7 @@
             }
           });
         });
+        console.log(list, "list");
         this.form.preachform = list.join(",");
       } else {
         console.log(this.form.preachform, "this.form.preachform");
@@ -1249,6 +1950,33 @@
         });
         this.checkList = list;
       }
+    },
+    // 绉戝澶勭悊
+    Departmenttreatment() {
+      this.tempDetpRelevanceslist.forEach((item) => {
+        this.tempDetpRelevanceslistform.push({
+          deptType: 1,
+          longTemp: this.form.longTask,
+          deptCode: item,
+          tempid: null,
+          type: 11,
+        });
+      });
+
+      this.tempbelongWards.forEach((item) => {
+        this.tempbelongWardsform.push({
+          deptType: 2,
+          longTemp: this.form.longTask,
+          deptCode: item,
+          tempid: null,
+          type: 11,
+        });
+      });
+      console.log(33);
+
+      setTimeout(() => {
+        this.previewFn();
+      }, 1000);
     },
   },
 };
@@ -1287,11 +2015,12 @@
   margin: 20px;
   .headline {
     font-size: 24px;
+    height: 40px;
     border-left: 5px solid #41a1be;
     padding-left: 5px;
     margin-bottom: 10px;
     display: flex;
-    justify-content: space-between;
+    // justify-content: space-between;
     .Add-details {
       font-size: 18px;
       color: #02a7f0;
@@ -1326,6 +2055,14 @@
     }
   }
 }
+.xinz-infs {
+  font-size: 18px;
+  line-height: 48px;
+
+  .el-tag + .el-tag {
+    margin-left: 10px;
+  }
+}
 // .leftvlue-jbxx {
 //   margin-bottom: 50px;
 //   font-size: 20px;
@@ -1348,9 +2085,9 @@
   //   margin: 20px;
   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);
+  // 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);
   .scriptTopic-dev {
     margin-bottom: 25px;
     font-size: 20px !important;
@@ -1415,12 +2152,12 @@
   width: 22px;
   height: 22px;
 }
-// ::v-deep.scriptTopic-dev.el-radio__label {
+// ::v-deep.topic-dev.el-radio__label {
 //   font-size: 24px;
 // }
 ::v-deep.el-radio-group {
   span {
-    font-size: 24px;
+    font-size: 18px;
   }
 }
 ::v-deep.el-input.is-disabled .el-input__inner {
@@ -1431,7 +2168,7 @@
 }
 ::v-deep.el-checkbox-group {
   span {
-    font-size: 24px;
+    font-size: 18px;
   }
 }
 </style>
diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue
index 8cc1a63..5316fa5 100644
--- a/src/views/repositoryai/templateku/configurat/index.vue
+++ b/src/views/repositoryai/templateku/configurat/index.vue
@@ -253,40 +253,52 @@
               </el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="閫傜敤绉戝" prop="region">
-            <el-cascader
-              style="width: 500px"
-              v-model="tempDetpRelevanceslist"
-              :options="deptList"
-              :props="props"
-              :show-all-levels="false"
-              clearable
-            >
-              <template slot-scope="{ node, data }">
-                <span>{{ data.deptName }}</span>
-                <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
-              </template>
-            </el-cascader>
-          </el-form-item>
-          <el-form-item label="閫氱敤搴�" prop="region">
-            <el-select
-              style="width: 500px"
-              v-model="ruleForm.submoduleID"
-              size="medium"
-              multiple
-              filterable
-              placeholder="璇烽�夋嫨搴擄紙澶氶�夛級"
-            >
-              <el-option
-                class="ruleFormaa"
-                v-for="item in generallist"
-                :key="item.id"
-                :label="item.extName"
-                :value="item.id"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
+          <el-row>
+            <el-col :span="20"
+              ><el-form-item label="閫傜敤绉戝" prop="region">
+                <el-select
+                  v-model="tempDetpRelevanceslist"
+                  @remove-tag="removetag"
+                  style="width: 55vw"
+                  size="medium"
+                  multiple
+                  filterable
+                  placeholder="璇烽�夋嫨绉戝"
+                >
+                  <el-option
+                    class="ruleFormaa"
+                    v-for="item in belongDepts"
+                    :key="item.deptCode"
+                    :label="item.deptName"
+                    :value="item.deptCode"
+                  >
+                  </el-option>
+                </el-select> </el-form-item
+            ></el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="20"
+              ><el-form-item label="閫傜敤鐥呭尯" prop="region">
+                <el-select
+                  v-model="tempbelongWards"
+                  @remove-tag="removehpsp"
+                  style="width: 55vw"
+                  size="medium"
+                  multiple
+                  filterable
+                  placeholder="璇烽�夋嫨绉戝"
+                >
+                  <el-option
+                    class="ruleFormaa"
+                    v-for="item in belongWards"
+                    :key="item.districtCode"
+                    :label="item.districtName"
+                    :value="item.districtCode"
+                  >
+                  </el-option>
+                </el-select> </el-form-item
+            ></el-col>
+          </el-row>
           <el-row :gutter="20">
             <el-col :span="12">
               <el-form-item label="闅忚鍓嶅鐞�" prop="name">
@@ -1366,6 +1378,7 @@
   getFollowuplist,
   deltargetillness,
   getillnesslist,
+  depthospgetsonlist ,
   illnesslistget,
   getillness,
   getgenerallist,
@@ -1417,6 +1430,10 @@
       optionstag: [],
       prefollowuplist: [],
       postfollowuplist: [],
+      tempDetpRelevanceslist: [], //绉戝鏁版嵁
+      tempDetpRelevanceslistform: [], //绉戝鏁版嵁
+      tempbelongWards: [], //鐥呭尯鏁版嵁
+      tempbelongWardsform: [], //鐥呭尯鏁版嵁
       generallist: [
         { value: "1", label: "闅忚閫氱敤搴撲竴" },
         { value: "2", label: "闅忚浜屽簱" },
@@ -1477,6 +1494,8 @@
       addvalue: "娣诲姞棰樼洰",
       // 棰樼洰琛ㄦ牸鏁版嵁
       userList: [],
+      belongWards: [],
+      belongDepts: [],
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -1490,11 +1509,19 @@
     };
   },
   activated() {
+    console.log(this.id);
+    console.log(this.$route.query.id);
+
     if (this.id != this.$route.query.id) {
+      console.log(1);
+
       this.RoutingDataProcessing();
       this.gettabList();
       this.getvFollowup();
       this.auxiliary();
+    }else{
+      this.tempDetpRelevanceslistform = [];
+      this.tempbelongWardsform = [];
     }
   },
 
@@ -1511,6 +1538,8 @@
     this.languagelist = store.getters.languagelist;
     this.courtyardlist = store.getters.courtyardlist;
     this.precedencetype = store.getters.precedencetype;
+    this.belongWards = store.getters.belongWards;
+    this.belongDepts = store.getters.belongDepts;
   },
   mounted() {},
   computed: {
@@ -1560,16 +1589,13 @@
             this.ruleForm.submoduleID = this.ruleForm.submoduleID.map((res) => {
               return Number(res);
             });
-            console.log(
-              this.ruleForm.submoduleID,
-              "this.ruleForm.submoduleID鍙�"
-            );
+
             this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList;
 
             this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList.map(
               this.processElement
             );
-            console.log(this.ruleForm.suitway);
+            this.sortFn();
           }
         });
         getillness({ outid: this.id, type: 3 }).then((res) => {
@@ -1578,6 +1604,19 @@
             item.icdname = item.icd10name;
           });
         });
+      } else {
+        this.ruleForm = {
+          templateName: "",
+          ivrLibaTemplateTagList: [],
+          ivrLibaTemplateScriptVOList: [],
+          tempDetpRelevances: [],
+        };
+        this.deptOptions = [];
+        this.optionsillness = [];
+        this.illnesslistapi = [];
+        this.illnesslist = [];
+        this.dynamicTags = [];
+        this.tempDetpRelevanceslist = [];
       }
 
       listDept(this.queryParams).then((response) => {
@@ -1589,8 +1628,21 @@
       // 鍒嗙被
       getFollowupclassify({}).then((res) => {
         this.indexAssortlist = res.rows;
-        if (this.$route.query.assortid) {
-          this.ruleForm.assortid = Number(this.$route.query.assortid);
+      });
+      this.tempDetpRelevanceslist = [];
+      this.tempbelongWards = [];
+      depthospgetsonlist(this.queryParamsdept).then((res) => {
+        if (res.code == 200) {
+          let arr = res.rows;
+          arr.forEach((item) => {
+            if (item.deptType == 1) {
+              this.deptlist.push(item);
+              this.tempDetpRelevanceslist.push(item.deptCode);
+            } else if (item.deptType == 2) {
+              this.hosplist.push(item);
+              this.tempbelongWards.push(item.deptCode);
+            }
+          });
         }
       });
       // 绉戝
@@ -1630,9 +1682,9 @@
         this.ruleForm.assortid = -1;
       }
       this.ruleForm.labelInfo = JSON.stringify(this.dynamicTags);
-      this.ruleForm.suitway = this.ruleForm.suitway.join(",");
-      this.ruleForm.campus = this.ruleForm.campus.join(",");
-      this.ruleForm.submoduleID = this.ruleForm.submoduleID.join(",");
+      if (Array.isArray(this.ruleForm.suitway)) this.ruleForm.suitway = this.ruleForm.suitway.join(",");
+      if (Array.isArray(this.ruleForm.campus))this.ruleForm.campus = this.ruleForm.campus.join(",");
+      if (Array.isArray(this.ruleForm.submoduleID))this.ruleForm.submoduleID = this.ruleForm.submoduleID.join(",");
 
       //   鎻愪氦
       this.ruleForm.ivrLibaTemplateScriptVOList.forEach((res) => {
@@ -1684,38 +1736,54 @@
     // 绉戝澶勭悊
     Departmenttreatment() {
       this.$modal.loading("姝e湪淇淇濆瓨鏁版嵁锛岃绋嶅��...");
-      this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist);
-      this.ruleForm.ivrLibaTemplateScriptVOList =
-        this.ruleForm.ivrLibaTemplateScriptVOList.concat(this.delScriptVOList);
-      const result = this.tempDetpRelevanceslist.map(
-        (subArr) => subArr[subArr.length - 1]
-      );
-      // id鏁扮粍鏌ユ暟缁勫璞�
-      result.forEach((item) => {
-        const condition = this.ruleForm.tempDetpRelevances.some(
-          (obj) => obj.deptId === item
-        );
-        if (!condition) {
-          listDept({ deptId: item }).then((res) => {
-            res.data[0].type = 2;
-            this.ruleForm.tempDetpRelevances.push(res.data[0]);
+      this.tempDetpRelevanceslist.forEach((item) => {
+        console.log(item);
+        let result = this.deptlist.some((obj) => obj.deptCode == item);
+        console.log(this.result, "result");
+
+        if (!result) {
+          this.tempDetpRelevanceslistform.push({
+            deptType: 1,
+            longTemp: this.ruleForm.longTemp,
+            deptCode: item,
+            tempid: this.id,
+            type: 1,
           });
         }
       });
-      console.log(this.ruleForm.tempDetpRelevances);
-      // 鏁扮粍瀵硅薄鏌d鏁扮粍
-      this.ruleForm.tempDetpRelevances.forEach((item) => {
-        const condition = result.some((obj) => obj === item.deptId);
-        if (!condition) {
-          const index = this.ruleForm.tempDetpRelevances.indexOf(item);
-          this.ruleForm.tempDetpRelevances[index].delFlag = 1;
+      this.tempbelongWards.forEach((item) => {
+        let result = this.hosplist.some((obj) => obj.deptCode == item);
+        if (!result) {
+          this.tempbelongWardsform.push({
+            deptType: 2,
+            longTemp: this.ruleForm.longTemp,
+            deptCode: item,
+            tempid: this.id,
+            type: 1,
+          });
         }
       });
-      console.log(this.ruleForm.tempDetpRelevances);
       setTimeout(() => {
         this.submitForm();
       }, 1000);
       // this.submitForm();
+    },
+     // 淇濆瓨绉戝/鐥呭尯
+     putbelongDepts(id) {
+      if (this.tempDetpRelevanceslistform.length > 0) {
+        depthospgetson(this.tempDetpRelevanceslistform).then((res) => {
+          if (res.code == 200) {
+            this.$modal.msgSuccess("绉戝鏂板鎴愬姛");
+          }
+        });
+      }
+      if (this.tempbelongWardsform.length > 0) {
+        depthospgetson(this.tempbelongWardsform).then((res) => {
+          if (res.code == 200) {
+            this.$modal.msgSuccess("闄㈠尯鏂板鎴愬姛");
+          }
+        });
+      }
     },
     // 涓嬩竴姝�
     nextstep() {
@@ -1860,7 +1928,6 @@
       });
     },
     addtopic(row) {
-      console.log(row);
       if (
         this.ruleForm.ivrLibaTemplateScriptVOList.some(
           (obj) => obj.scriptTopic == row.scriptTopic
@@ -1878,6 +1945,7 @@
         });
         this.ruleForm.ivrLibaTemplateScriptVOList.push(res.data);
         this.sortFn();
+        this.$forceUpdate();
         this.$modal.msgSuccess("娣诲姞鎴愬姛");
       });
     },
@@ -1943,7 +2011,8 @@
     sortFn() {
       this.ruleForm.ivrLibaTemplateScriptVOList.forEach((item, index) => {
         item.sort = Number(index) + 1;
-        console.log(1);
+        console.log(this.ruleForm.ivrLibaTemplateScriptVOList.length);
+        console.log(item.sort);
 
         if (item.sort == this.ruleForm.ivrLibaTemplateScriptVOList.length) {
           item.nextScriptno = 0;
@@ -1987,7 +2056,31 @@
     resetForm(formName) {
       this.$refs[formName].resetFields();
     },
-
+  // 绉戝鍒犻櫎瑙﹀彂
+  removetag(row) {
+      let result = this.deptlist
+        .filter((item) => item.deptCode == row)
+        .map((item) => item.id);
+      console.log(result.length);
+      if (result.length) {
+        depthospgetsondel(result).then((res) => {
+          if (res.code) {
+          }
+        });
+      }
+    },
+    // 鍒犻櫎鍒犻櫎瑙﹀彂
+    removehpsp(row) {
+      let result = this.hosplist
+        .filter((item) => item.deptCode == row)
+        .map((item) => item.id);
+        if (result.length) {
+          depthospgetsondel(result).then((res) => {
+            if (res.code) {
+            }
+          });
+        }
+    },
     // 棰勮---------------
     preview() {
       console.log(this.ruleForm);
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index b5c2840..eeb5432 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -871,9 +871,11 @@
     submitForm: function () {
       this.form.hospInfo = JSON.stringify(this.form.deptCodes);
       this.form.deptInfo = JSON.stringify(this.form.wardCodes);
+      if (this.form.deptCodes.length)
       this.form.deptCodes = this.form.deptCodes.map(
         (subArr) => subArr[subArr.length - 1]
       );
+      if (this.form.wardCodes.length)
       this.form.wardCodes = this.form.wardCodes.map(
         (subArr) => subArr[subArr.length - 1]
       );
diff --git a/vue.config.js b/vue.config.js
index 994fb51..8c61438 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -36,7 +36,7 @@
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
         // target: `http://192.168.168.60:8095`,
-        target: `http://192.168.1.10:8095`,
+        target: `http://192.168.2.10:8095`,
         // target:`http://localhost:8095`,
         // target: `http://192.168.101.135:8095`,
         // target: `http://192.168.101.166:8093`,

--
Gitblit v1.9.3