From b5a56d53e44c426fa188ba3e4e1db3eb779e2fd9 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 11 九月 2024 21:49:21 +0800
Subject: [PATCH] 测试完成

---
 src/views/patient/propaganda/QuestionnaireTask.vue |  837 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 479 insertions(+), 358 deletions(-)

diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index 2a871f3..3f8df23 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -7,14 +7,13 @@
           <el-step
             icon="el-icon-edit"
             title="鍩虹淇℃伅"
-            description="閫夋嫨妯$増銆佸舰寮忕瓑鍩虹淇℃伅"
+            description="閫夋嫨妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅"
           ></el-step>
           <el-step
             icon="el-icon-user"
             title="浠诲姟涓讳綋"
             description="鍦ㄦ湰閮ㄩ�夋嫨鏈嶅姟鎮h��"
           ></el-step>
-          <el-step icon="el-icon-user" title="妯$増纭"></el-step>
         </el-steps>
       </div>
     </div>
@@ -22,7 +21,7 @@
     <div class="leftvlue" style="margin: 0 20px">
       <!-- 鍩烘湰淇℃伅 -->
       <div v-if="Editprogress == 1">
-        <el-alert title="閫夋嫨妯$増銆佸舰寮忕瓑鍩虹淇℃伅" type="success" effect="dark">
+        <el-alert title="閫夋嫨妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅" type="success" effect="dark">
         </el-alert>
         <div class="leftvlue-jbxx">
           <!-- 鍩虹淇℃伅 -->
@@ -31,50 +30,68 @@
               <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="鍙戦�佽缃細" v-if="currenttype != 2">
+                <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="sendType">
                   <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 :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-form-item
+                  label="鎵ц鏃ユ湡"
+                  v-if="form.sendType == 1"
+                  prop="daytime"
+                >
                   <el-date-picker
                     v-model="daytime"
                     @change="changeTimeday"
@@ -87,7 +104,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"
+                  prop="daytime"
+                >
                   <div style="display: flex">
                     <div style="margin-right: 10px">
                       <el-date-picker
@@ -102,12 +123,14 @@
                   </div>
                 </el-form-item>
 
-                <el-form-item label="鍙戦�佹椂闂存锛�" v-if="form.sendType == 1">
+                <el-form-item
+                  label="鎵ц鏃堕棿娈�"
+                  v-if="form.sendType == 1"
+                  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
@@ -122,9 +145,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
@@ -139,9 +160,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
@@ -157,24 +176,64 @@
                     </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"
-                    ></el-checkbox>
-                  </el-checkbox-group>
-                </el-form-item>
+                <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
+                      type="primary"
+                      icon="el-icon-edit"
+                      @click="drawermb = true"
+                      circle
+                    ></el-button>
+
+                    <el-button
+                      v-if="form.libtemplateid"
+                      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
@@ -220,7 +279,6 @@
         }}</el-button>
         <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
       </div>
-
       <!-- 浠诲姟璇︽儏 -->
       <div v-if="Editprogress == 2">
         <el-alert title="鍦ㄦ湰闃舵閫夋嫨瀹f暀鐥呬汉" type="success" effect="dark">
@@ -233,88 +291,6 @@
             <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="鎮h�呭悕绉�">
-                      <el-input v-model="topqueryParams.name"></el-input>
-                    </el-form-item>
-
-                    <el-form-item label="鎮h�呰寖鍥�" prop="status">
-                      <el-select
-                        v-model="topqueryParams.topic"
-                        placeholder="璇烽�夋嫨"
-                      >
-                        <el-option
-                          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="鎮h�呯姸鎬�" prop="status">
-                      <el-select
-                        v-model="topqueryParams.topic"
-                        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="status">
-                      <el-select
-                        v-model="topqueryParams.topic"
-                        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="鎮h�呯數璇�">
-                      <el-input v-model="topqueryParams.name"></el-input>
-                    </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-button
-                        icon="el-icon-upload2"
-                        size="medium"
-                        type="warning"
-                        >褰撳墠鎮h�呬竴閿彂閫�</el-button
-                      >
-                    </el-form-item>
-                  </el-form>
-                  <el-divider></el-divider> -->
                   <el-row :gutter="10" class="mb8">
                     <el-col :span="1.5">
                       <el-select
@@ -330,6 +306,7 @@
                         </el-option>
                       </el-select>
                     </el-col>
+
                     <el-col :span="1.5">
                       <el-button
                         type="primary"
@@ -337,7 +314,7 @@
                         icon="el-icon-plus"
                         size="medium"
                         :disabled="!patientqueryParams.allhosp"
-                        @click="handleAddpatient"
+                        @click="handleQuery"
                         >鏂板</el-button
                       >
                     </el-col>
@@ -407,30 +384,24 @@
               v-show="showSearch"
               label-width="98px"
             >
-              <el-form-item label="鎮h�呭悕绉帮細">
-                <el-input v-model="patientqueryParams.name"></el-input>
+              <el-form-item label="鎮h�咃細">
+                <el-input
+                  v-model="patientqueryParams.name"
+                  @keyup.enter.native="handleQuery"
+                ></el-input>
               </el-form-item>
-
-              <!-- <el-form-item label="灏辫瘖绉戝" prop="status">
-                <el-select
-                  v-model="patientqueryParams.topic"
-                  placeholder="璇烽�夋嫨"
+              <el-select
+                v-model="patientqueryParams.topica"
+                placeholder="璇烽�夋嫨鎮h�呮潵婧�"
+              >
+                <el-option
+                  v-for="item in source"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
                 >
-                  <el-option-group
-                    v-for="group in topicoptions[0].children"
-                    :key="group.deptName"
-                    :label="group.deptName"
-                  >
-                    <el-option
-                      v-for="item in group.children"
-                      :key="item.deptId"
-                      :label="item.deptName"
-                      :value="item.deptId"
-                    >
-                    </el-option>
-                  </el-option-group>
-                </el-select>
-              </el-form-item> -->
+                </el-option>
+              </el-select>
 
               <el-form-item>
                 <el-button
@@ -476,68 +447,68 @@
         >
       </span>
     </el-dialog>
-    <el-dialog title="妯$増棰勮" :visible.sync="previewtf" width="60%">
+    <el-dialog title="妯℃澘棰勮" :visible.sync="previewtf" width="60%">
       <div class="preview-left">
-        <!-- 鍗曢�� -->
-        <div
-          class="scriptTopic-dev"
-          v-for="item in questionList"
-          :key="item.sort"
-          v-if="item.scriptType == 1"
-        >
-          <div class="dev-text">
-            {{ item.sort }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span>
+        <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.svyLibTemplateTargetoptions"
+                  :key="index"
+                  :label="index"
+                  >{{ items.optioncontent }}</el-radio
+                >
+              </el-radio-group>
+            </div>
           </div>
-          <div class="dev-xx">
-            <el-radio-group v-model="item.remark">
-              <el-radio
-                v-for="(items, index) in item.svyLibTemplateTargetoptions"
-                :key="index"
-                :label="index"
-                >{{ items.optioncontent }}</el-radio
-              >
-            </el-radio-group>
+          <!-- 澶氶�� -->
+          <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.svyLibTemplateTargetoptions"
+                  :key="index"
+                  :label="index"
+                >
+                  {{ items.optioncontent }}
+                </el-checkbox>
+              </el-checkbox-group>
+            </div>
           </div>
-        </div>
-        <!-- 澶氶�� -->
-        <div
-          class="scriptTopic-dev"
-          v-for="item in questionList"
-          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="multiplechoice">
-              <el-checkbox
-                v-for="items in item.svyLibTemplateTargetoptions"
-                :key="items.optioncontent"
-                :label="items.optioncontent"
-              >
-                {{ items.optioncontent }}
-              </el-checkbox>
-            </el-checkbox-group>
-          </div>
-        </div>
-        <!-- 濉┖ -->
-        <div
-          class="scriptTopic-dev"
-          v-for="item in questionList"
-          :key="item.sort"
-          v-if="item.scriptType == 3"
-        >
-          <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
+            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="radioas" clearable>
+              </el-input>
+            </div>
           </div>
         </div>
       </div>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="previewGo">鍓嶅線妯$増璇︽儏淇敼</el-button>
+        <!-- <el-button @click="previewGo">鍓嶅線妯℃澘璇︽儏淇敼</el-button> -->
         <el-button type="primary" @click="previewFn">纭浣跨敤</el-button>
       </span>
     </el-dialog>
@@ -561,95 +532,8 @@
               v-show="showSearch"
               label-width="98px"
             >
-              <el-form-item
-                label="瀹f暀涓婚"
-                v-if="currenttype == 1 || currenttype == 8"
-              >
-                <el-input v-model="topqueryParams.name"></el-input>
-              </el-form-item>
-              <el-form-item
-                label="闂嵎鍚嶇О"
-                v-if="currenttype == 2 || currenttype == 3 || currenttype == 7"
-              >
-                <el-input
-                  v-model="topqueryParams.name"
-                ></el-input> </el-form-item
-              ><el-form-item
-                label="閫氱煡鍚嶇О"
-                v-if="currenttype == 4 || currenttype == 5"
-              >
-                <el-input
-                  v-model="topqueryParams.name"
-                ></el-input> </el-form-item
-              ><el-form-item label="浣撴濂楅" v-if="currenttype == 5">
-                <el-input v-model="topqueryParams.name"></el-input>
-              </el-form-item>
-              <el-form-item label="闂嵎涓婚" v-if="currenttype == 6">
-                <el-input v-model="topqueryParams.name"></el-input>
-              </el-form-item>
-              <el-form-item label="閫傜敤鐤剧梾" v-if="currenttype != 5">
-                <el-input v-model="topqueryParams.name"></el-input>
-              </el-form-item>
-
-              <el-form-item
-                label="瀹f暀绫诲瀷"
-                prop="status"
-                v-if="currenttype == 1 || currenttype == 8"
-              >
-                <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨">
-                  <el-option
-                    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="status"
-                v-if="currenttype == 4 || currenttype == 5"
-              >
-                <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨">
-                  <el-option
-                    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="status"
-                v-if="currenttype == 2 || currenttype == 3 || currenttype == 7"
-              >
-                <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨">
-                  <el-option
-                    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="status"
-                v-if="currenttype == 6"
-              >
-                <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨">
-                  <el-option
-                    v-for="item in taskoptions"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  >
-                  </el-option>
-                </el-select>
+              <el-form-item label="闂嵎鍚嶇О">
+                <el-input v-model="topqueryParams.svyname"></el-input>
               </el-form-item>
               <el-form-item label="閫傜敤褰㈠紡" prop="status">
                 <el-select v-model="topqueryParams.topica" placeholder="璇烽�夋嫨">
@@ -662,24 +546,12 @@
                   </el-option>
                 </el-select>
               </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>
                 <el-button
                   type="primary"
                   icon="el-icon-search"
                   size="medium"
-                  @click="handleQuery"
+                  @click="handleQuerymb"
                   >鎼滅储</el-button
                 >
                 <el-button
@@ -691,7 +563,7 @@
               </el-form-item>
             </el-form>
             <el-divider></el-divider>
-            <!-- 閫夋嫨妯$増鍒楄〃 -->
+            <!-- 閫夋嫨妯℃澘鍒楄〃 -->
             <SFtable
               @selectfn="selectfn"
               :currentList="userList"
@@ -723,6 +595,7 @@
   getlibrarylist,
   getFollowuplist,
   getQtemplatelist,
+  getQtemplateobj,
   TaskQuestioncomit,
   Questionnairetaskget,
   gethetaskinfo,
@@ -740,13 +613,13 @@
       title: "瀹f暀鍐呭鍒楄〃",
       currenttype: 1, //1瀹f暀2闂ㄨ瘖3鍑洪櫌4澶嶈瘖5浣撴6闂嵎
       id: "", //
-      previewid: "", //浠诲姟妯$増浼犻�抜d
+      previewid: "", //浠诲姟妯℃澘浼犻�抜d
       libName: "",
       overallCase: [], //閫夋嫨鎮h�呮��
       allpids: [],
-      libId: null, //妯℃澘搴撴ā鐗坕d
+      libId: null, //妯℃澘搴撴ā鏉縤d
       Editprogress: 1, //缂栬緫杩涘害
-      drawermb: false, //閫夋嫨妯$増寮圭獥
+      drawermb: false, //閫夋嫨妯℃澘寮圭獥
       previewtf: false, //棰勮
       loading: false, // 閬僵灞�
       patientloading: false, // 閬僵灞�
@@ -757,13 +630,13 @@
       questionList: [],
       // 鎮h�呰〃鍗�
       tableLabelhz: [
-        { label: "搴忓彿", width: "", prop: "patid" },
-        { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+        { 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: "inhosptime" },
-        { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "update_by" },
+        { label: "鍖荤敓", width: "", prop: "drname" },
+        { label: "绉戝", width: "", prop: "deptName" },
+        { label: "灏辫瘖/鍑洪櫌鏃ユ湡", width: "280", prop: "inhosptime" },
       ],
 
       tableLabelwj: [
@@ -811,6 +684,7 @@
       patientqueryParams: {
         pageNum: 1, //
         pageSize: 10,
+        topica:0,//0鍏ㄩ儴1绉戝2鐥呭尯
       },
       topicoptions: [{ children: [{ children: [] }] }],
       showSearch: true, //
@@ -824,7 +698,7 @@
       // 闈炲涓鐢�
       multiple: true,
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
-      userList: [], //妯$増鍒楄〃
+      userList: [], //妯℃澘鍒楄〃
       multiplechoice: [], //澶氶�夌粨鏋�
       patientuserList: [], //閫夋嫨鎮h�呭垪琛�
       sonuserList: [], //閫変腑鎮h�呭垪琛�
@@ -878,6 +752,8 @@
         templatename: "",
         templateid: null,
         libtemplateid: null,
+        kcb:'浜茬埍鐨勬偅鑰�-瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�',
+        jsy:'鐢熸椿涓婅鍔抽�哥粨鍚堬紝娉ㄦ剰浼戞伅鍜岃惀鍏伙紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒',
       },
       taskoptions: [
         {
@@ -893,7 +769,75 @@
           label: "浣撴鐥呬汉",
         },
       ],
+      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: "鍏朵粬閫氱煡",
+        },
+      ],
+      rules: {
+        taskName: [
+          { required: true, message: "浠诲姟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
+          {
+            min: 2,
+            max: 30,
+            message: "浠诲姟鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 30 涔嬮棿",
+            trigger: "blur",
+          },
+        ],
+        taskDesc: [
+          { required: true, message: "浠诲姟鎻忚堪涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        sendType: [
+          { required: true, message: "鍙戦�佽缃笉鑳戒负绌�", trigger: "blur" },
+        ],
+      },
       quote: false,
+      serviceType: null,
     };
   },
   components: { SFtable },
@@ -902,9 +846,18 @@
     this.id = this.$route.query.id;
     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.listDept();
     this.Acquisitiontype();
     this.Getdetails();
+  },
+  activated() {
+    if (this.id != this.$route.query.id) {
+      this.listDept();
+      this.Acquisitiontype();
+      this.Getdetails();
+    }
   },
 
   methods: {
@@ -946,31 +899,153 @@
       this.currenttype = this.$route.query.type;
       this.title = "闂嵎鍐呭鍒楄〃";
       this.tableLabel = this.tableLabelwj;
-      this.checkboxlist = ["鐭俊", "寰俊", "浜哄伐鐢佃瘽", "鏅鸿兘鏈哄櫒浜�"];
-      getQtemplatelist(queryParams).then((response) => {
+      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.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",
+            label: "浜哄伐",
+          },
+          {
+            value: "3",
+            label: "鐢佃瘽",
+          },
+          {
+            value: "4",
+            label: "鐭俊",
+          },
+          {
+            value: "5",
+            label: "寰俊鍏紬鍙�",
+          },
+          {
+            value: "6",
+            label: "寰俊灏忕▼搴�",
+          },
+
+          {
+            value: "8",
+            label: "鏅鸿兘鏈哄櫒浜�",
+          },
+        ];
+      }
+      getQtemplatelist(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.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.$modal.msgError("璇烽�夋嫨鐥呬汉");
         return;
       }
-      this.form.hospType = this.currenttype;
+      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) {
+      } 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;
@@ -980,6 +1055,7 @@
       if (!this.form.type) {
         this.form.type = this.$route.query.type;
       }
+      this.form.serviceType = this.serviceType;
       Editsingletask(this.form).then((res) => {
         if (res.code == 200) {
           if (this.form.taskid) {
@@ -989,27 +1065,44 @@
           }
           this.$router.push({
             path: "/followvisit/tasklist",
-            query: { tasktopic: 6 },
+            query: { tasktopic: this.form.serviceType },
           });
         }
       });
     },
     // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠�
-    // 纭閫夋嫨妯$増鏀惧叆浠诲姟妯$増
+
+    // 纭閫夋嫨妯℃澘鏀惧叆浠诲姟妯℃澘
     selectfn(row, type) {
-      // 妯$増鎯呭喌涓嬭幏鍙栨ā鐗堜俊鎭�
+      // 妯℃澘鎯呭喌涓嬭幏鍙栨ā鏉夸俊鎭�
       if (type == 1) {
         this.libName = row.svyname;
         this.libId = row.svyid;
-        console.log(row, "row");
         this.Tasktemplate = row;
         this.questionList = row.svyTemplateLibScripts;
-        this.previewtf = true;
+        getQtemplateobj({ svyid: row.svyid }).then((res) => {
+          if (res.code == 200) {
+            this.questionList = res.rows[0].svyTemplateLibScripts;
+            this.previewtf = true;
+          }
+        });
+        console.log(row.svyTemplateLibScripts);
         this.previewid = row.svyid;
         this.Variablehandling(row.svyTemplateLibScripts, 1);
       } else if (type == 2) {
       } else if (type == 3) {
       }
+    },
+    // 棰勮
+    previewfnmb() {
+      console.log(this.form);
+
+      getQtemplateobj({ svyid: this.form.libtemplateid }).then((res) => {
+        if (res.code == 200) {
+          this.questionList = res.rows[0].svyTemplateLibScripts;
+          this.previewtf = true;
+        }
+      });
     },
     // 澶勭悊闂灞傚彉閲�
     Variablehandling(arr, type) {
@@ -1048,19 +1141,17 @@
       });
       if (this.patientqueryParams.allhosp == 1) {
         this.tableLabelhz = [
-          { label: "搴忓彿", width: "", prop: "patid" },
-          { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+          { 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: "inhosptime" },
-          { label: "鍒涘缓浜�", width: "", prop: "createBy" },
+          { label: "鍖荤敓", width: "", prop: "drname" },
+          { label: "绉戝", width: "", prop: "deptName" },
+          { label: "灏辫瘖/鍑洪櫌鏃ユ湡", width: "280", prop: "inhosptime" },
         ];
       } else if (this.patientqueryParams.allhosp == 2) {
         this.tableLabelhz = [
-          { label: "搴忓彿", width: "", prop: "patid" },
-          { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+          { label: "鎮h��", width: "", prop: "name" },
           { label: "鎬у埆", width: "", prop: "sex" },
           { label: "骞撮緞", width: "", prop: "age" },
           { label: "璇婃柇", width: "", prop: "diagname" },
@@ -1088,7 +1179,6 @@
     handleUpdate() {},
     handleDelete() {},
     handleExport() {},
-
     // 閫夋嫨鎮h�呰〃鏁版嵁
     handleSelectionChange(selection) {
       console.log("澶氶�夋偅鑰�");
@@ -1100,6 +1190,7 @@
         const isExist = this.overallCase.find((obj) => obj.name == item.name);
         if (!isExist) {
           item.isoperation = 1;
+          item.patid = item.id;
           item.hospType = this.patientqueryParams.allhosp;
           this.overallCase.push(item);
           this.form.patTaskRelevances.push(item);
@@ -1148,9 +1239,27 @@
     },
     getList() {},
     handleQuery() {
+      if (this.patientqueryParams.topica == 0) {
+        this.patientqueryParams.leavehospitaldistrictcodes =
+          store.getters.leavehospitaldistrictcodes;
+        this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes;
+      } else if (topica == 1) {
+        this.patientqueryParams.leavehospitaldistrictcodes = null;
+        this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes;
+      } else if (topica == 2) {
+        this.patientqueryParams.leavehospitaldistrictcodes =
+          store.getters.leavehospitaldistrictcodes;
+        this.patientqueryParams.leaveldeptcodes = null;
+      }
       this.handleAddpatient();
     },
     resetQuery() {},
+    handleQuerymb() {
+      getQtemplatelist(this.topqueryParams).then((response) => {
+        this.userList = response.rows;
+        this.total = response.total;
+      });
+    },
     handleClosehz() {
       this.dialogVisiblepatient = false;
     },
@@ -1162,30 +1271,41 @@
     resetForm(formName) {
       this.$refs[formName].resetFields();
     },
-    // 棰勮妯$増
+    // 棰勮妯℃澘
     PreviewTemplate() {},
     Acknowledgereference() {
       this.quote = true;
     },
     // 鑾峰彇璇︽儏
     Getdetails() {
+      this.form = {
+        patTaskRelevances: [],
+        sendType: 1,
+        templatename: "",
+        templateid: null,
+        libtemplateid: null,
+        kcb:'浜茬埍鐨勬偅鑰�-瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�',
+        jsy:'鐢熸椿涓婅鍔抽�哥粨鍚堬紝娉ㄦ剰浼戞伅鍜岃惀鍏伙紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒',
+      };
+      this.questionList = [];
       if (this.id) {
         Questionnairetaskget({ 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.patTaskRelevances = this.form.patTaskRelevances
               ? this.form.patTaskRelevances
               : [];
             this.overallCase = this.form.patTaskRelevances.concat();
-            this.formatFn(2);
-            console.log(this.form.showDate, "this.form");
-            this.daytime = this.form.showDate.split(",");
+            this.checkList = this.form.preachform.split(",");
+            console.log(this.form, "this.form");
+            if (this.form.showDate)
+              this.daytime = this.form.showDate.split(",");
             if (this.form.showTimeMorn) {
               if (this.form.sendType == 3) {
                 this.time4 = this.form.showTimeMorn;
+                console.log(1122);
               } else {
                 this.time1 = this.form.showTimeMorn.split(",");
               }
@@ -1296,12 +1416,11 @@
       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/templateku/configurat/",
+        path: "/knowledge/tpuconfigurat/",
         query: { id: this.previewid, task: true, data: this.form },
       });
     },
@@ -1309,19 +1428,20 @@
       let id = this.Tasktemplate.id;
       this.Tasktemplate.id = null;
       console.log(this.Tasktemplate);
-      this.Tasktemplate.svyTemplateLibScripts.svyTaskTemplateTargetoptions =
-        this.Tasktemplate.svyTemplateLibScripts.svyLibTemplateTargetoptions;
+
+      this.Tasktemplate.svyTemplateLibScripts.forEach((item) => {
+        item.svyTaskTemplateTargetoptions = item.svyLibTemplateTargetoptions;
+      });
       this.Tasktemplate.svyTaskTemplateScriptVOS =
         this.Tasktemplate.svyTemplateLibScripts;
       this.Tasktemplate.templateid = id;
       this.Tasktemplate.isoperation = 1;
       TaskQuestioncomit(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;
-        this.$modal.msgSuccess("閫夋嫨妯$増鎴愬姛");
+        this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛");
       });
     },
     // 澶勭悊鏈嶅姟褰㈠紡
@@ -1391,11 +1511,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;

--
Gitblit v1.9.3