From 6e54a6688661a05de7c418612cea8b38bbc2dee3 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期一, 14 四月 2025 11:28:26 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/questionnaire/compilequer/index.vue |  626 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 407 insertions(+), 219 deletions(-)

diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index 7d0fc22..208b3a9 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -14,7 +14,7 @@
           <el-step>
             <template slot="title">
               <span style="cursor: pointer" @click="Editprogress = 2"
-                >闂嵎棰樼洰</span
+                >闂嵎闂</span
               >
             </template>
           </el-step>
@@ -36,10 +36,25 @@
           :model="ruleForm"
           :rules="rules"
           ref="ruleForm"
-          label-width="100px"
+          label-width="180px"
           class="demo-ruleForm"
         >
-          <el-row :gutter="10">
+          <el-form-item label="闂嵎鍚嶇О" prop="svyname">
+            <div style="width: 55vw">
+              <el-input v-model="ruleForm.svyname"></el-input>
+            </div>
+          </el-form-item>
+          <el-form-item label="闂嵎鎻忚堪" prop="description">
+            <el-input
+              style="width: 55vw"
+              type="textarea"
+              :rows="2"
+              placeholder="璇疯緭鍏ュ唴瀹�"
+              v-model="ruleForm.description"
+            >
+            </el-input
+          ></el-form-item>
+          <el-row :gutter="20">
             <el-col :span="10">
               <el-form-item label="闂嵎鍒嗙被" prop="categoryid">
                 <el-select
@@ -64,7 +79,7 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :span="10">
+            <el-col :span="8">
               <el-form-item label="璇勪环绫诲瀷" prop="scoreType">
                 <el-select
                   v-model="ruleForm.scoreType"
@@ -81,36 +96,63 @@
               </el-form-item>
             </el-col>
           </el-row>
-          <el-form-item label="闂嵎鏍囬" prop="svyname">
-            <div style="width: 30%">
-              <el-input v-model="ruleForm.svyname"></el-input>
-            </div>
-          </el-form-item>
-          <el-form-item label="闂嵎鎻忚堪" prop="description">
-            <el-input
-              style="width: 40vw"
-              type="textarea"
-              autosize
-              placeholder="璇疯緭鍏ュ唴瀹�"
-              v-model="ruleForm.description"
-            >
-            </el-input
-          ></el-form-item>
+          <el-row :gutter="20">
+            <el-col :span="10">
+              <el-form-item label="鍙敤鐘舵��" prop="isenable">
+                <el-radio-group v-model="ruleForm.isenable">
+                  <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="ruleForm.version"
+                  placeholder="榛樿1.0"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <!-- <el-row :gutter="20">
+            <el-col :span="10">
+              <el-form-item label="闀挎湡浠诲姟" prop="longTemp">
+                <el-radio-group v-model="ruleForm.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" v-if="ruleForm.longTemp">
+              <el-form-item label="浠诲姟鍛ㄦ湡锛堝嚑澶╁悗锛�" prop="name">
+                <el-input
+                  v-model="ruleForm.sendDay"
+                  placeholder="榛樿5澶╁悗"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row> -->
 
           <el-row>
-            <el-form-item  prop="dynamicTags" >
+            <el-form-item prop="dynamicTags">
               <template #label>
-                    鏍囩
-                    <el-tooltip
-                      class="item"
-                      effect="light"
-                      content="鍑嗙‘銆佹壖瑕併�佸閲嶇殑鏍囩锛屽彲浠ヨ鎮ㄥ湪绯荤粺浣跨敤涓柟渚跨殑鏌ユ壘鍒拌妯$増銆�"
-                      placement="top-start"
-                    >
-                      <i class="el-icon-warning-outline"></i>
-                    </el-tooltip>
-                    <!-- 鍦ㄦ爣绛惧悗鎻掑叆绾㈣壊鏄熷彿 -->
-                  </template>
+                鏍囩
+                <el-tooltip
+                  class="item"
+                  effect="light"
+                  content="鍑嗙‘銆佹壖瑕併�佸閲嶇殑鏍囩锛屽彲浠ヨ鎮ㄥ湪绯荤粺浣跨敤涓柟渚跨殑鏌ユ壘鍒拌妯$増銆�"
+                  placement="top-start"
+                >
+                  <i class="el-icon-warning-outline"></i>
+                </el-tooltip>
+                <!-- 鍦ㄦ爣绛惧悗鎻掑叆绾㈣壊鏄熷彿 -->
+              </template>
               <div class="xinz-inf">
                 <el-tag
                   :key="tag.tagname"
@@ -154,7 +196,7 @@
             </el-form-item>
           </el-row>
           <div class="xinz-infs">
-            <el-form-item >
+            <el-form-item>
               <template #label>
                 閫傜敤鐤剧梾
                 <el-tooltip
@@ -166,6 +208,13 @@
                   <i class="el-icon-warning-outline"></i>
                 </el-tooltip>
               </template>
+              <div style="margin-bottom: 10px">
+                <el-button
+                  type="warning"
+                  @click="$refs.child.handleAddpatient()"
+                  >娣诲姞鐤剧梾璇婃柇</el-button
+                >
+              </div>
               <el-tag
                 v-for="tag in displayedTags"
                 :key="tag.icdid"
@@ -177,34 +226,11 @@
               <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag>
             </el-form-item>
           </div>
-          <div style="margin-left: 120px; margin-bottom: 10px">
-            <el-button type="warning" @click="$refs.child.handleAddpatient()"
-              >鐤剧梾璇︽儏</el-button
-            >
-          </div>
-          <el-row :gutter="20">
-            <el-col :span="6">
-              <el-form-item label="鐗堟湰鍙�" prop="name">
-                <el-input
-                  v-model="ruleForm.version"
-                  placeholder="榛樿1.0"
-                ></el-input> </el-form-item
-            ></el-col>
-            <el-col :span="9">
-              <el-form-item label="鍙敤鐘舵��" prop="isAvailable">
-                <el-radio-group v-model="ruleForm.isAvailable">
-                  <el-radio
-                    v-for="(item, index) in usable"
-                    :label="item.value"
-                    >{{ item.label }}</el-radio
-                  >
-                </el-radio-group>
-              </el-form-item></el-col
-            >
-          </el-row>
+
           <el-form-item label="闂嵎鏂瑰紡" prop="suitway">
             <el-select
               v-model="ruleForm.suitway"
+              style="width: 55vw"
               size="medium"
               multiple
               filterable
@@ -222,48 +248,56 @@
           </el-form-item>
 
           <el-row>
-            <el-col :span="10"
-              ><el-form-item label="閫傜敤闄㈠尯" prop="region">
+            <el-col :span="20"
+              ><el-form-item label="閫傜敤绉戝" prop="region">
                 <el-select
-                  v-model="ruleForm.campus"
+                  v-model="tempDetpRelevanceslist"
+                  @remove-tag="removetag"
+                  style="width: 55vw"
                   size="medium"
+                  multiple
                   filterable
-                  placeholder="璇烽�夋嫨鍒嗙被"
+                  placeholder="璇烽�夋嫨绉戝"
                 >
                   <el-option
                     class="ruleFormaa"
-                    v-for="item in courtyardlist"
-                    :key="item.label"
+                    v-for="item in flatArray"
+                    :key="item.deptCode"
                     :label="item.label"
-                    :value="item.label"
+                    :value="item.deptCode"
                   >
                   </el-option>
                 </el-select> </el-form-item
             ></el-col>
-            <el-col :span="12"
-              ><el-form-item label="閫傜敤绉戝" prop="region">
-                <el-cascader
-                style="width: 400px;"
-                  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-col
-            >
           </el-row>
-          <el-form-item label="闂嵎缁撴潫璇�" prop="conclusion">
+          <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 flatArray"
+                    :key="item.deptCode"
+                    :label="item.label"
+                    :value="item.deptCode"
+                  >
+                  </el-option>
+                </el-select> </el-form-item
+            ></el-col>
+          </el-row>
+          <el-form-item label="缁撴潫璇�" prop="conclusion">
             <el-input
-              style="width: 40vw"
+              style="width: 55vw; line-height: 80px"
               type="textarea"
+              :rows="5"
               autosize
               placeholder="璇疯緭鍏ュ唴瀹�"
               v-model="ruleForm.conclusion"
@@ -285,14 +319,14 @@
       <!-- 闂嵎璁剧疆 -->
       <div v-if="Editprogress == 2">
         <div class="leftvlue-jbxx">
-          闂嵎棰樼洰璁剧疆
+          闂嵎闂璁剧疆
           <span style=""
             ><el-button
               type="warning"
               icon="el-icon-finished"
               round
               @click="test"
-              >棰樼洰瑙勫垯鏁堥獙</el-button
+              >闂瑙勫垯鏁堥獙</el-button
             ></span
           >
         </div>
@@ -304,17 +338,17 @@
               icon="el-icon-plus"
               round
               @click="getaddtopiclist"
-              >娣诲姞棰樼洰</el-button
+              >娣诲姞闂</el-button
             >
             <el-button
               type="success"
               icon="el-icon-edit-outline"
               round
               @click="Operateit = !Operateit"
-              >{{ !Operateit ? "缂栬緫棰樼洰" : "瀹屾暣淇℃伅灞曠ず" }}</el-button
+              >{{ !Operateit ? "缂栬緫闂" : "瀹屾暣淇℃伅灞曠ず" }}</el-button
             >
           </div>
-          <div style="display: flex">
+          <div style="display: flex" v-if="ruleForm.scoreType == 1">
             <span
               style="
                 width: 180px;
@@ -345,7 +379,7 @@
                   width="50"
                 />
                 <el-table-column
-                  label="棰樼洰鏍囬"
+                  label="闂涓婚"
                   align="center"
                   key="scriptTopic"
                   prop="scriptTopic"
@@ -367,7 +401,7 @@
                 </el-table-column>
                 <el-table-column
                   v-if="!Operateit"
-                  label="棰樼洰鍐呭"
+                  label="闂鍐呭"
                   align="center"
                   key="scriptContent"
                   prop="scriptContent"
@@ -401,7 +435,6 @@
                   align="center"
                   key="nextScriptno"
                   prop="nextScriptno"
-                  :show-overflow-tooltip="true"
                 >
                   <template slot-scope="scope">
                     <span>{{
@@ -456,10 +489,10 @@
                 :model="topicobj"
                 class="demo-form-inline"
               >
-                <div class="headline">棰樼洰璁剧疆璇︽儏</div>
+                <div class="headline">闂璁剧疆璇︽儏</div>
                 <el-row :gutter="10">
                   <el-col :span="12">
-                    <el-form-item label="棰樼洰鏍囬">
+                    <el-form-item label="闂涓婚">
                       <el-input
                         v-model="topicobj.scriptTopic"
                         placeholder="璇疯緭鍏ユ爣棰�"
@@ -474,9 +507,23 @@
                     </el-form-item>
                   </el-col>
                 </el-row>
+
+                <el-row :gutter="10">
+                  <el-form-item label="闂鍐呭">
+                    <el-input
+                      style="width: 600px"
+                      type="textarea"
+                      :rows="2"
+                      autosize
+                      placeholder="璇疯緭鍏ラ棶棰樺唴瀹�"
+                      v-model="topicobj.scriptContent"
+                    >
+                    </el-input
+                  ></el-form-item>
+                </el-row>
                 <el-row :gutter="10">
                   <el-col :span="12"
-                    ><el-form-item label="棰樼洰绫诲瀷">
+                    ><el-form-item label="闂绫诲瀷">
                       <el-select
                         v-model="topicobj.scriptType"
                         disabled
@@ -495,8 +542,8 @@
                   ></el-col>
                   <el-col :span="12">
                     <el-form-item
-                      label="棰樼洰鍒嗗��"
-                      v-if="topicobj.scoretype == 1"
+                      label="闂鍒嗗��"
+                      v-if="ruleForm.scoreType == 1"
                     >
                       <el-input
                         v-model="topicobj.score"
@@ -520,7 +567,7 @@
                   >
                   <el-col :span="12"
                     ><el-form-item label="鏄惁鍙敤">
-                      <el-radio-group v-model="topicobj.isavailable">
+                      <el-radio-group v-model="topicobj.isenable">
                         <el-radio
                           v-for="(item, index) in usable"
                           :label="item.value"
@@ -558,8 +605,8 @@
                     v-for="item in topicobj.svyLibTemplateTargetoptions"
                   >
                     <el-row :gutter="5">
-                      <el-col :span="16"
-                        ><el-form-item label="閫夐」">
+                      <el-col :span="12"
+                        ><el-form-item label="閫夐」鍚嶇О">
                           <el-input
                             type="text"
                             placeholder="璇疯緭鍏ラ�夐」"
@@ -568,9 +615,9 @@
                           >
                           </el-input> </el-form-item
                       ></el-col>
-                      <el-col :span="8">
+                      <el-col :span="12">
                         <el-form-item
-                          v-if="topicobj.scoretype == 1"
+                          v-if="ruleForm.scoreType == 1"
                           label="閫夐」鍒嗗��"
                         >
                           <el-input
@@ -583,17 +630,17 @@
                           </el-input>
                         </el-form-item>
                         <el-form-item
-                          v-else-if="topicobj.scoretype == 2"
+                          v-else-if="ruleForm.scoreType == 2"
                           label="ABC绛夌骇"
                         >
                           <el-radio-group v-model="item.score">
-                            <el-radio label="A">A</el-radio>
-                            <el-radio label="B">B</el-radio>
-                            <el-radio label="C">C</el-radio>
+                            <el-radio :label="1">A</el-radio>
+                          <el-radio :label="2">B</el-radio>
+                          <el-radio :label="3">C</el-radio>
                           </el-radio-group>
                         </el-form-item>
                         <el-form-item
-                          v-else-if="topicobj.scoretype == 3"
+                          v-else-if="ruleForm.scoreType == 3"
                           label="浼樿壇绛夌骇"
                         >
                           <el-radio-group v-model="item.score">
@@ -603,6 +650,14 @@
                           </el-radio-group>
                         </el-form-item>
                       </el-col>
+                    </el-row>
+                    <el-row :gutter="10">
+                      <el-form-item label="寮傚父鎻愰啋">
+                        <el-radio-group v-model="item.isabnormal">
+                          <el-radio :label="1">鏄�</el-radio>
+                          <el-radio :label="0">鍚�</el-radio>
+                        </el-radio-group>
+                      </el-form-item>
                     </el-row>
                     <el-row :gutter="10" v-if="topicobj.branchFlag == 1">
                       <el-col :span="20"
@@ -693,7 +748,7 @@
         <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
         <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
         <el-button @click="Departmenttreatment('ruleForm')"
-          >淇濆瓨棰樼洰鏁版嵁</el-button
+          >淇濆瓨闂鏁版嵁</el-button
         >
       </div>
       <!-- 闂嵎棰勮 -->
@@ -764,9 +819,9 @@
         <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
       </div>
     </div>
-    <!-- 娣诲姞棰樼洰寮圭獥 -->
+    <!-- 娣诲姞闂寮圭獥 -->
     <el-drawer
-      title="娣诲姞棰樼洰"
+      title="娣诲姞闂"
       :visible.sync="drawer"
       custom-class="demo-drawer"
       size="50%"
@@ -791,7 +846,7 @@
                     @keyup.enter.native="getaddtopiclist"
                   />
                 </el-form-item>
-                <el-form-item label="棰樼洰绫诲瀷" prop="scriptTopic">
+                <el-form-item label="闂绫诲瀷" prop="scriptTopic">
                   <el-select
                     v-model="queryParams.scriptType"
                     size="medium"
@@ -884,7 +939,7 @@
                 class="demo-form-inline"
               >
                 <div class="headline">
-                  棰樼洰璁剧疆璇︽儏
+                  闂璁剧疆璇︽儏
                   <span style="margin-left: 30px"
                     ><el-button type="primary" @click="Submittopicobj"
                       >淇濆瓨鏂板</el-button
@@ -894,16 +949,27 @@
                 <el-divider></el-divider>
                 <div>
                   <el-row :gutter="10">
+                    <el-col :span="18"
+                      ><el-form-item label="闂鍐呭">
+                        <el-input
+                          style="width: 400px"
+                          type="textarea"
+                          v-model="indexform.scriptContent"
+                          placeholder="璇疯緭鍏ラ棶棰樺唴瀹�"
+                        ></el-input> </el-form-item
+                    ></el-col>
+                  </el-row>
+                  <el-row :gutter="10">
                     <el-col :span="12">
-                      <el-form-item label="棰樼洰鏍囬">
+                      <el-form-item label="闂涓婚">
                         <el-input
                           v-model="indexform.scriptTopic"
-                          placeholder="璇疯緭鍏ラ鐩爣棰�"
+                          placeholder="璇疯緭鍏ラ棶棰樹富棰�"
                         ></el-input>
                       </el-form-item>
                     </el-col>
                     <el-col :span="12">
-                      <el-form-item label="棰樼洰寰楀垎">
+                      <el-form-item label="闂寰楀垎">
                         <el-input
                           v-model="indexform.score"
                           placeholder="璇疯緭鍏ュ垎鏁�"
@@ -915,7 +981,7 @@
                     <el-col :span="12">
                       <el-form-item label="璇勪环绫诲瀷">
                         <el-select
-                          v-model="indexform.scoretype"
+                          v-model="indexform.scoreType"
                           placeholder="璇烽�夋嫨鍒嗙被"
                         >
                           <el-option
@@ -951,7 +1017,7 @@
                   <el-row :gutter="10">
                     <el-col :span="12">
                       <el-form-item label="鏄惁鍙敤">
-                        <el-radio-group v-model="indexform.isAvailable">
+                        <el-radio-group v-model="indexform.isenable">
                           <el-radio
                             v-for="(item, index) in usable"
                             :label="item.value"
@@ -972,21 +1038,13 @@
                       </el-form-item>
                     </el-col>
                   </el-row>
-                  <el-row :gutter="10">
-                    <el-col :span="18"
-                      ><el-form-item label="棰樼洰鍐呭">
-                        <el-input
-                          style="width: 400px"
-                          type="textarea"
-                          v-model="indexform.scriptContent"
-                          placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨"
-                        ></el-input> </el-form-item
-                    ></el-col>
-                  </el-row>
                 </div>
                 <div>
                   <el-form-item label="鎸囨爣鍚嶇О" prop="deptId">
                     <el-input
+                      style="width: 250px"
+                      type="textarea"
+                      :rows="2"
                       v-model="indexform.targetname"
                       placeholder="璇疯緭鍏ユ寚鏍囧悕绉�"
                       maxlength="20"
@@ -994,6 +1052,9 @@
                   </el-form-item>
                   <el-form-item label="鎸囨爣鎻忚堪" prop="deptId">
                     <el-input
+                      style="width: 250px"
+                      type="textarea"
+                      :rows="2"
                       v-model="indexform.targetdesc"
                       placeholder="璇疯緭鍏ユ寚鏍囨弿杩�"
                       maxlength="60"
@@ -1002,7 +1063,7 @@
 
                   <el-row>
                     <el-col :span="20">
-                      <el-form-item label="鍊肩被鍨�">
+                      <el-form-item label="缁撴灉绫诲瀷">
                         <el-radio-group v-model="indexform.valueType">
                           <el-radio :label="1">閫夐」</el-radio>
                           <el-radio :label="2">鏂囨湰</el-radio>
@@ -1013,7 +1074,7 @@
                   </el-row>
                   <el-row>
                     <el-col :span="20">
-                      <el-form-item label="棰樼洰绫诲瀷">
+                      <el-form-item label="闂绫诲瀷">
                         <el-radio-group v-model="indexform.scriptType">
                           <el-radio :label="1">鍗曢��</el-radio>
                           <el-radio :label="2">澶氶��</el-radio>
@@ -1059,6 +1120,7 @@
                       <el-col :span="11"
                         ><el-form-item label="閫夐」鍚嶇О">
                           <el-input
+                            style="width: 400px"
                             type="text"
                             placeholder="璇疯緭鍏ラ�夐」鍒嗗��"
                             v-model="item.optioncontent"
@@ -1068,7 +1130,7 @@
                       ></el-col>
                       <el-col :span="11">
                         <el-form-item
-                          v-if="indexform.scoretype == 1"
+                          v-if="indexform.scoreType == 1"
                           label="鍒嗗��"
                         >
                           <el-input
@@ -1080,17 +1142,17 @@
                           </el-input>
                         </el-form-item>
                         <el-form-item
-                          v-else-if="indexform.scoretype == 2"
+                          v-else-if="indexform.scoreType == 2"
                           label="ABC绛夌骇"
                         >
                           <el-radio-group v-model="item.score">
-                            <el-radio label="A">A</el-radio>
-                            <el-radio label="B">B</el-radio>
-                            <el-radio label="C">C</el-radio>
+                            <el-radio :label="1">A</el-radio>
+                          <el-radio :label="2">B</el-radio>
+                          <el-radio :label="3">C</el-radio>
                           </el-radio-group>
                         </el-form-item>
                         <el-form-item
-                          v-else-if="indexform.scoretype == 3"
+                          v-else-if="indexform.scoreType == 3"
                           label="浼樿壇绛夌骇"
                         >
                           <el-radio-group v-model="item.score">
@@ -1103,7 +1165,7 @@
 
                       <el-col
                         :span="2"
-                        :offsset="indexform.scoretype == 4 ? 11 : 0"
+                        :offsset="indexform.scoreType == 4 ? 11 : 0"
                       >
                         <el-button
                           type="danger"
@@ -1114,7 +1176,7 @@
                       </el-col>
                     </el-row>
                     <el-row :gutter="10">
-                      <el-form-item label="棰勮鎻愰啋">
+                      <el-form-item label="寮傚父鎻愰啋">
                         <el-radio-group v-model="item.isabnormal">
                           <el-radio :label="1">鏄�</el-radio>
                           <el-radio :label="0">鍚�</el-radio>
@@ -1181,8 +1243,8 @@
 import store from "@/store";
 import {
   getQtemplateclassify,
-  delQtemplateclassify,
-  addQtemplateclassify,
+  depthospgetson,
+  depthospgetsonlist,
   getQtemplateobj,
   compileQtemplate,
   Qtemplateinfo,
@@ -1191,6 +1253,7 @@
   Followupinfo,
   issueinfo,
   getissuelist,
+  depthospgetsondel,
   deltargetillness,
   addtargetillness,
   getillnesslist,
@@ -1199,6 +1262,7 @@
 } from "@/api/AiCentre/index";
 import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢
 import { getToken } from "@/utils/auth";
+import { deptTreeSelect } from "@/api/system/user";
 
 export default {
   name: "Questionnaireinfo",
@@ -1231,14 +1295,16 @@
         svyTemplateLibScripts: [],
         tempDetpRelevances: [],
         svyLibTemplateTagList: [],
-        scoreType:'4',
-        isAvailable:'0'
+        scoreType: "4",
+        isenable: "0",
+        longTemp: "0",
+        sendDay: "5",
       },
       indexform: {
         svyLibTemplateTargetoptions: [],
       },
-       // 琛ㄥ崟鏍¢獙
-       rules: {
+      // 琛ㄥ崟鏍¢獙
+      rules: {
         categoryid: [
           { required: true, message: "闂嵎鍒嗙被涓嶈兘涓虹┖", trigger: "blur" },
         ],
@@ -1246,19 +1312,19 @@
           { required: true, message: "璇勪环绫诲瀷涓嶈兘涓虹┖", trigger: "blur" },
         ],
         svyname: [
-          { required: true, message: "闂嵎鏍囬涓嶈兘涓虹┖", trigger: "blur" },
+          { required: true, message: "闂嵎鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
         ],
-        isAvailable: [
+        isenable: [
           { required: true, message: "鍙敤鐘舵�佷笉鑳戒负绌�", trigger: "blur" },
         ],
         scriptTopic: [
-          { required: true, message: "棰樼洰鏍囬涓嶈兘涓虹┖", trigger: "blur" },
+          { required: true, message: "闂涓婚涓嶈兘涓虹┖", trigger: "blur" },
         ],
         ismandatory: [
           { required: true, message: "鏄惁蹇呭~涓嶈兘涓虹┖", trigger: "blur" },
         ],
         scriptType: [
-          { required: true, message: "棰樼洰绫诲瀷涓嶈兘涓虹┖", trigger: "blur" },
+          { required: true, message: "闂绫诲瀷涓嶈兘涓虹┖", trigger: "blur" },
         ],
         suitway: [
           { required: true, message: "闂嵎鏂瑰紡涓嶈兘涓虹┖", trigger: "blur" },
@@ -1301,8 +1367,8 @@
           sdadd: ["sss", "ssccss", "ssaas", "ss"],
         },
       ],
-      addvalue: "娣诲姞棰樼洰",
-      // 棰樼洰琛ㄦ牸鏁版嵁
+      addvalue: "娣诲姞闂",
+      // 闂琛ㄦ牸鏁版嵁
       userList: [],
       deptList: [],
       props: { multiple: true, value: "deptId", label: "deptName" },
@@ -1317,17 +1383,27 @@
       illnessVisible: false, //鎸囨爣鐤剧梾寮规
       Operateit: true,
       deptOptions: [],
+      flatArray: [],
       optionsillness: [],
       delScriptVOList: [],
       illnesslistapi: [],
       illnesslist: [],
-      tempDetpRelevanceslist: [],
+      tempDetpRelevanceslist: [], //绉戝鏁版嵁
+      tempDetpRelevanceslistform: [], //绉戝鏁版嵁
+      tempbelongWards: [], //鐥呭尯鏁版嵁
+      tempbelongWardsform: [], //鐥呭尯鏁版嵁
       optionstag: [],
       valuetype: [],
       qremark: [],
+      hosplist: [],
+      deptlist: [],
       usable: [
         { value: "0", label: "鍙敤" },
         { value: "1", label: "鍋滅敤" },
+      ],
+      longtype: [
+        { value: "0", label: "鏅�氫换鍔�" },
+        { value: "1", label: "闀挎湡浠诲姟" },
       ],
       required: [
         { value: "1", label: "蹇呭~" },
@@ -1339,29 +1415,15 @@
         pageNum: 1,
         pageSize: 10,
       },
-      arr: [
-        [
-          { id: 1, grade: "5" },
-          { id: 2, grade: "5" },
-          { id: 3, grade: "5" },
-          { id: 4, grade: "5" },
-        ],
-        [
-          { id: 1, grade: "5" },
-          { id: 3, grade: "5" },
-          { id: 4, grade: "5" },
-        ],
-        [
-          { id: 1, grade: "5" },
-          { id: 2, grade: "5" },
-          { id: 4, grade: "5" },
-        ],
-      ],
+      belongWards: [],
+      belongDepts: [],
+      queryParamsdept: {
+        tempid: "",
+        type: 1,
+      },
     };
   },
   activated() {
-    console.log(this.id);
-
     if (this.id != this.$route.query.id) {
       this.getissueinfo();
       this.gettabList();
@@ -1374,14 +1436,18 @@
         this.ruleForm.svyLibTemplateTagList.filter(
           (item) => item.isoperation != 3
         );
+      if (this.ruleForm.suitway)
+        this.ruleForm.suitway = this.ruleForm.suitway.split(",");
       this.delScriptVOList = [];
+      this.tempDetpRelevanceslistform = [];
+      this.tempbelongWardsform = [];
       this.$forceUpdate();
-      console.log(this.ruleForm.svyTemplateLibScripts);
     }
   },
   created() {
     this.getissueinfo();
     this.gettabList();
+    this.getDeptTree();
     this.mode = store.getters.Askmode;
     this.languagelist = store.getters.languagelist;
     this.usable = store.getters.usable;
@@ -1390,6 +1456,8 @@
     this.courtyardlist = store.getters.courtyardlist;
     this.askvaluetype = store.getters.askvaluetype;
     this.appraiselist = store.getters.appraiselist;
+    this.belongWards = store.getters.belongWards;
+    this.belongDepts = store.getters.belongDepts;
 
     // this.test();
   },
@@ -1407,7 +1475,6 @@
       return this.illnesslist.length - 10;
     },
   },
-
   methods: {
     // 鍏叡鏂规硶---------------
     getIndexInArray(arr, obj) {
@@ -1434,13 +1501,16 @@
     // 鑾峰彇鏁版嵁
     getissueinfo() {
       this.id = this.$route.query.id;
-     this.ruleForm= {
+      this.queryParamsdept.tempid = this.id;
+      this.ruleForm = {
         svyTemplateLibScripts: [],
         tempDetpRelevances: [],
         svyLibTemplateTagList: [],
-        scoreType:'4',
-        isAvailable:'0'
-      },
+        scoreType: "4",
+        isenable: "0",
+        longTemp: "0",
+        sendDay: "5",
+      };
       this.topicobj = {};
 
       if (this.id) {
@@ -1449,8 +1519,9 @@
           this.dynamicTags = this.ruleForm.svyLibTemplateTagList.map(
             this.processElement
           );
-          this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames);
-          this.ruleForm.suitway = this.ruleForm.suitway.split(",");
+          console.log(this.dynamicTags, "this.dynamicTags");
+          if (this.ruleForm.suitway)
+            this.ruleForm.suitway = this.ruleForm.suitway.split(",");
         });
         getillness({ outid: this.id, type: 5 }).then((res) => {
           this.illnesslist = res.rows;
@@ -1462,13 +1533,55 @@
         this.ruleForm.isenable = "1";
       }
 
-      listDept(this.queryParams).then((response) => {
-        this.deptList = this.handleTree(response.data, "deptId");
-      });
       // 鍒嗙被
       getQtemplateclassify({}).then((res) => {
         this.optionsclass = res.rows;
       });
+      this.tempDetpRelevanceslist = [];
+      this.tempbelongWards = [];
+      if (this.queryParamsdept.tempid) {
+        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);
+              }
+            });
+          }
+        });
+      }
+    },
+    // 鑾峰彇绉戝鏍�
+    getDeptTree() {
+      // 绉戝鍒楄〃
+      deptTreeSelect().then((response) => {
+        this.deptOptions = response.data;
+        this.flatArray = this.flattenArray(response.data);
+      });
+    },
+    flattenArray(multiArray) {
+      let result = [];
+
+      // 閫掑綊鍑芥暟锛岀敤浜庡皢澶氱骇鏁扮粍杞崲涓轰竴缁存暟缁勶紝鍙寘鍚渶搴曞眰鐨勫厓绱�
+      function flatten(element) {
+        // 濡傛灉褰撳墠鍏冪礌鏈夊瓙鍏冪礌锛岀户缁�掑綊
+        if (element.children && element.children.length > 0) {
+          element.children.forEach((child) => flatten(child));
+        } else {
+          // 鍏嬮殕鍏冪礌浠ラ伩鍏嶄慨鏀瑰師濮嬫暟鎹�
+          let item = JSON.parse(JSON.stringify(element));
+          result.push(item); // 灏嗘渶搴曞眰鐨勫厓绱犳坊鍔犲埌缁撴灉鏁扮粍
+        }
+      }
+
+      // 浠庨《灞傚厓绱犲紑濮嬮�掑綊
+      multiArray.forEach((element) => flatten(element));
+      return result; // 杩斿洖鍙寘鍚渶搴曞眰鍏冪礌鐨勪竴缁存暟缁�
     },
     submitForm(formName) {
       this.$modal.loading("姝e湪淇淇濆瓨鏁版嵁锛岃绋嶅��...");
@@ -1478,59 +1591,110 @@
       if (!this.ruleForm.categoryid) {
         this.ruleForm.categoryid = -1;
       }
+      // 棰樼洰淇濆瓨澶勭悊
+      //   鎻愪氦
+      this.ruleForm.svyTemplateLibScripts.forEach((res) => {
+        if (!res.isoperation) {
+          res.isoperation = 2;
+        }
+        res.ivrLibaScriptTargetoptionList = res.svyLibTemplateTargetoptions.map(
+          (item) => {
+            if (!item.isoperation) {
+              item.isoperation = 2;
+              item.templateID = this.ruleForm.id;
+            }
+            return item;
+          }
+        );
+      });
+      this.delScriptVOList.forEach((item) => {
+        this.ruleForm.svyTemplateLibScripts.push(item);
+      });
       if (this.id) {
         this.ruleForm.isoperation = 2;
+        this.ruleForm.tempDetpRelevances = null;
         compileQtemplate(this.ruleForm).then((res) => {
           this.$modal.msgSuccess("淇敼鎴愬姛");
           this.confirmillness();
+          this.putbelongDepts();
           this.$modal.closeLoading();
-          this.$router.go(-1);
+          // this.$router.go(-1);
+          window.location.reload();
         });
       } else {
         this.ruleForm.isoperation = 1;
         this.ruleForm.version = this.ruleForm.version
           ? this.ruleForm.version
           : "1.0";
+        this.ruleForm.tempDetpRelevances = null;
         compileQtemplate(this.ruleForm).then((res) => {
           this.$modal.msgSuccess("鏂板鎴愬姛");
           this.confirmillness(res.data);
+          this.putbelongDepts(res.data);
           this.$modal.closeLoading();
           this.$router.go(-1);
         });
       }
     },
-    // 绉戝澶勭悊
+    // 绉戝/闄㈠尯澶勭悊
     Departmenttreatment() {
-      this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist);
-      this.ruleForm.svyTemplateLibScripts =
-        this.ruleForm.svyTemplateLibScripts.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) => {
-            console.log(res.data[0]);
-            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,
           });
         }
       });
-      // 鏁扮粍瀵硅薄鏌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,
+          });
         }
       });
+
+      // return
       setTimeout(() => {
         this.submitForm();
-      }, 1000);
+      }, 500);
+    },
+    // 绉戝鍒犻櫎瑙﹀彂
+    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) {
+          }
+        });
+      }
     },
     // 涓嬩竴姝�
     nextstep() {
@@ -1559,10 +1723,10 @@
           });
         });
     },
-    // 鑾峰彇棰樼洰鍒楄〃
+    // 鑾峰彇闂鍒楄〃
     getaddtopiclist() {
       this.drawer = true;
-      this.queryParams.scoretype = this.ruleForm.scoreType;
+      this.queryParams.scoreType = this.ruleForm.scoreType;
       getissuelist(this.queryParams).then((res) => {
         this.loading = false;
         this.userList = res.rows;
@@ -1570,7 +1734,7 @@
         console.log(this.userList);
       });
     },
-    // 鏂板棰樼洰
+    // 鏂板闂
     addtopic(row) {
       row.isoperation = 1;
       row.svyLibScriptOptions.forEach((item) => {
@@ -1629,7 +1793,7 @@
       console.log(this.ruleForm.svyTemplateLibScripts);
     },
 
-    // 淇敼棰樼洰淇℃伅
+    // 淇敼闂淇℃伅
     Submittopicobj() {
       this.$modal
         .confirm(
@@ -1645,7 +1809,7 @@
           this.drawer = false;
 
           this.sortFn();
-          this.$modal.msgSuccess("棰樼洰鏂板鎴愬姛锛屼繚瀛樻ā鏉垮け鏁�");
+          this.$modal.msgSuccess("闂鏂板鎴愬姛锛屼繚瀛樻ā鏉垮け鏁�");
         });
     },
     // 鏂板鍙橀噺
@@ -1749,6 +1913,30 @@
       this.illnessVisible = false;
       this.$modal.msgSuccess("缂栬緫鎴愬姛");
     },
+    // 淇濆瓨绉戝/鐥呭尯
+    putbelongDepts(id) {
+      this.tempDetpRelevanceslistform.forEach((item) => {
+        if (!item.tempid) item.tempid = id;
+      });
+      this.tempbelongWardsform.forEach((item) => {
+        if (!item.tempid) item.tempid = 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("闄㈠尯鏂板鎴愬姛");
+          }
+        });
+      }
+    },
+
     resetQuery() {
       this.queryParams = { pageNum: 1, pageSize: 10 };
       this.getaddtopiclist();
@@ -1899,7 +2087,7 @@
     sumArray(arr) {
       // const arrsum = arr;
       // arrsum.forEach((item) => {
-      //   // 鍒ゆ柇棰樼洰鍜屾ā鏉垮眰绾�
+      //   // 鍒ゆ柇闂鍜屾ā鏉垮眰绾�
       //   console.log(item, "涓�鏉¢摼璺�");
 
       //   const totalScore = item.reduce((accumulator, current) => {
@@ -1926,7 +2114,7 @@
       if (allGreaterThanTen) {
         this.$modal.msgSuccess("鍒嗗�兼牎楠屾垚鍔�");
       } else {
-        this.$modal.msgError("棰樼洰鍒嗗�肩疮鍔犲拰妯℃澘鍒嗗�间笉绗�");
+        this.$modal.msgError("闂鍒嗗�肩疮鍔犲拰妯℃澘鍒嗗�间笉绗�");
       }
     },
 
@@ -1940,9 +2128,9 @@
         );
 
         if (notInB.length) {
-          this.$modal.msgError("棰樼洰鏈叏閮ㄤ娇鐢�");
+          this.$modal.msgError("闂鏈叏閮ㄤ娇鐢�");
         } else {
-          this.$modal.msgSuccess("棰樼洰鍏ㄩ儴浣跨敤");
+          this.$modal.msgSuccess("闂鍏ㄩ儴浣跨敤");
         }
       });
       arr.forEach((item) => {
@@ -1951,10 +2139,10 @@
           return acc;
         }, {});
         const whether = item.values(idCount).some((count) => count > 1); // 濡傛灉鏈変换浣� id 鐨勮鏁板ぇ浜� 1 灏辫繑鍥� true
-        if (!whether) this.$modal.msgError("閰嶇疆椤规湁棰樼洰閲嶅");
+        if (!whether) this.$modal.msgError("閰嶇疆椤规湁闂閲嶅");
       });
     },
-    // 棰樼洰鍜岄�夐」闂寸殑鍒嗗�煎垽鏂�
+    // 闂鍜岄�夐」闂寸殑鍒嗗�煎垽鏂�
     Scorejudgment() {
       let scorearr = this.topicobj.svyLibScriptOptions;
       let isValid = scorearr.every((score, index) => {

--
Gitblit v1.9.3