From 720f7c4ce56ae4b9fc3884d0ed9393d79130b01c Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 16 八月 2024 18:07:46 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/questionnaire/compilequer/index.vue | 2068 +++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 1,326 insertions(+), 742 deletions(-)

diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index d5bc5ff..8100549 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -2,18 +2,27 @@
   <div class="Questionnairemanagement">
     <!-- 宸︿晶鏍� -->
     <div class="sidecolumn">
-      <div style="height: 400px">
-        <el-steps direction="vertical" :active="Editprogress">
-          <el-step title="鍩虹淇℃伅璁剧疆"></el-step>
-          <el-step title="闂嵎璁剧疆"></el-step>
-          <el-step
-            title="闂嵎棰勮"
-            description="杩欐槸涓�娈靛緢闀垮緢闀垮緢闀跨殑鎻忚堪鎬ф枃瀛�"
-          ></el-step>
-          <el-step
-            title="缁撴灉鍙嶉"
-            description="杩欐槸涓�娈靛緢闀垮緢闀垮緢闀跨殑鎻忚堪鎬ф枃瀛�"
-          ></el-step>
+      <div>
+        <el-steps finish-status="success" :active="Editprogress" simple>
+          <el-step>
+            <template slot="title">
+              <span style="cursor: pointer" @click="Editprogress = 1"
+                >鍩虹淇℃伅</span
+              >
+            </template>
+          </el-step>
+          <el-step>
+            <template slot="title">
+              <span style="cursor: pointer" @click="Editprogress = 2"
+                >闂嵎棰樼洰</span
+              >
+            </template>
+          </el-step>
+          <el-step description="鏌ョ湅闂嵎棰勮锛屽彲瀵煎嚭PDF">
+            <span slot="title" style="cursor: pointer" @click="Editprogress = 3"
+              >闂嵎棰勮</span
+            >
+          </el-step>
         </el-steps>
       </div>
     </div>
@@ -21,9 +30,8 @@
     <div class="leftvlue">
       <!-- 鍩烘湰淇℃伅 -->
       <div v-if="Editprogress == 1">
-        <div class="leftvlue-jbxx">
-          鍩烘湰淇℃伅<span>褰撳墠鐗堟湰:{{ currentVersion }}</span>
-        </div>
+        <div class="leftvlue-jbxx">鍩烘湰淇℃伅</div>
+        <el-divider></el-divider>
         <el-form
           :model="ruleForm"
           :rules="rules"
@@ -31,20 +39,157 @@
           label-width="100px"
           class="demo-ruleForm"
         >
-          <el-form-item label="娲诲姩鍚嶇О" prop="name">
-            <el-input v-model="ruleForm.name"></el-input>
+          <el-row :gutter="10">
+            <el-col :span="10">
+              <el-form-item label="闂嵎鍒嗙被" prop="region">
+                <el-select
+                  v-model="ruleForm.categoryid"
+                  size="medium"
+                  filterable
+                  placeholder="璇烽�夋嫨鍒嗙被"
+                >
+                  <el-option-group
+                    v-for="group in optionsclass"
+                    :key="group.id"
+                    :label="group.name"
+                  >
+                    <el-option
+                      v-for="item in group.svyLibTemplateCategoryList"
+                      :key="item.id"
+                      :label="item.name"
+                      :value="item.id"
+                    >
+                    </el-option>
+                  </el-option-group>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="10">
+              <el-form-item label="璇勪环绫诲瀷">
+                <el-select
+                  v-model="ruleForm.scoreType"
+                  placeholder="璇烽�夋嫨鍒嗙被"
+                >
+                  <el-option
+                    v-for="group in appraiselist"
+                    :key="group.value"
+                    :label="group.label"
+                    :value="group.value"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-form-item label="闂嵎鏍囬" prop="name">
+            <div style="width: 30%">
+              <el-input v-model="ruleForm.svyname"></el-input>
+            </div>
           </el-form-item>
-          <el-form-item label="娲诲姩鍖哄煙" prop="region">
+          <el-form-item label="闂嵎鎻忚堪">
+            <el-input
+              style="width: 40vw"
+              type="textarea"
+              autosize
+              placeholder="璇疯緭鍏ュ唴瀹�"
+              v-model="ruleForm.description"
+            >
+            </el-input
+          ></el-form-item>
+
+          <el-row>
+            <el-form-item label="鏍囩" prop="desc">
+              <div class="xinz-inf">
+                <el-tag
+                  :key="tag.tagname"
+                  type="success"
+                  v-for="tag in dynamicTags"
+                  closable
+                  :disable-transitions="false"
+                  @close="handleClosetag(tag)"
+                >
+                  {{ tag.tagname }}
+                </el-tag>
+                <el-select
+                  v-model="inputValue"
+                  v-if="inputVisible"
+                  @change="handleInputConfirm"
+                  filterable
+                  remote
+                  allow-create
+                  reserve-keyword
+                  default-first-option
+                  :remote-method="remoteMethodtag"
+                  :loading="loading"
+                  placeholder="璇烽�夋嫨"
+                >
+                  <el-option
+                    v-for="item in optionstag"
+                    :key="item.tagid"
+                    :label="item.tagname"
+                    :value="item.tagname"
+                  >
+                  </el-option>
+                </el-select>
+                <el-button
+                  v-else
+                  class="button-new-tag"
+                  size="small"
+                  @click="showInput"
+                  >+ 鏂板鏍囩</el-button
+                >
+              </div>
+            </el-form-item>
+          </el-row>
+          <div class="xinz-infs">
+            <el-form-item label="閫傜敤鐤剧梾" prop="region">
+              <el-tag
+                v-for="tag in displayedTags"
+                :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>
+          <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="region">
+                <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="region">
             <el-select
-              v-model="ruleForm.region"
+              v-model="ruleForm.suitway"
               size="medium"
               multiple
               filterable
-              placeholder="璇烽�夋嫨娲诲姩鍖哄煙"
+              placeholder="璇烽�夋嫨鍒嗙被"
             >
               <el-option
                 class="ruleFormaa"
-                v-for="item in options"
+                v-for="item in mode"
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
@@ -52,214 +197,463 @@
               </el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="娲诲姩褰㈠紡" prop="desc">
-            <el-input
-              :rows="4"
-              type="textarea"
-              v-model="ruleForm.desc"
-            ></el-input>
+
+          <el-form-item label="閫傜敤闄㈠尯" prop="region">
+            <el-select
+              v-model="ruleForm.campus"
+              size="medium"
+              filterable
+              placeholder="璇烽�夋嫨鍒嗙被"
+            >
+              <el-option
+                class="ruleFormaa"
+                v-for="item in courtyardlist"
+                :key="item.label"
+                :label="item.label"
+                :value="item.label"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="閫傜敤绉戝" prop="region">
+            <el-cascader
+              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>
-            <el-button type="success" @click="submitForm('ruleForm')"
+            <el-button type="success" @click="nextstep('ruleForm')"
               >涓嬩竴姝�</el-button
             >
-            <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+            <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
+            <el-button @click="Departmenttreatment('ruleForm')"
+              >淇濆瓨闂嵎鍩虹淇℃伅</el-button
+            >
           </el-form-item>
         </el-form>
       </div>
       <!-- 闂嵎璁剧疆 -->
       <div v-if="Editprogress == 2">
-        <div class="leftvlue-jbxx">闂嵎璁剧疆</div>
-        <el-form
-          :model="ruleForm"
-          :rules="rules"
-          ref="ruleForm"
-          label-width="100px"
-          class="demo-ruleForm"
-        >
-          <el-form-item label="闂嵎浠嬬粛" prop="desc">
-            <el-cascader
-              class="demo-cascader"
-              v-model="ruleForm.templatevalue"
-              :options="options"
-              :props="{ expandTrigger: 'hover' }"
-            ></el-cascader>
-            <el-select v-model="ruleForm.data2" placeholder="鎻愪氦鎻愮ず">
-              <el-option
-                v-for="item in options"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-            <div style="display: flex; margin-top: 20px">
-              <div class="PreviewTemplate" @click="PreviewTemplate()">
-                棰勮妯$増
-              </div>
-              <el-button type="primary">纭寮曠敤</el-button>
-            </div>
-          </el-form-item>
-          <el-form-item label="娲诲姩褰㈠紡" prop="desc">
-            <el-input type="textarea" v-model="ruleForm.desc"></el-input>
-          </el-form-item>
-          <el-form-item label="娲诲姩褰㈠紡" prop="desc">
-            <el-input type="textarea" v-model="ruleForm.desc"></el-input>
-            <div class="addtopic">
-              <el-select
-                v-model="addvalue"
-                @change="changeaddtopic"
-                class="addtopic-input"
-              >
-                <el-option
-                  v-for="item in options"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
-            </div>
-
-            <div class="presentation">
-              <div class="presentation-left">
-                <el-table v-loading="loading" :data="userList">
-                  <el-table-column
-                    label="搴忓彿"
-                    align="center"
-                    key="userid"
-                    prop="userid"
-                  />
-                  <el-table-column
-                    label="棰樼洰"
-                    align="center"
-                    key="userName"
-                    prop="userName"
-                    :show-overflow-tooltip="true"
-                  />
-
-                  <el-table-column
-                    label="鎿嶄綔"
-                    align="center"
-                    width="300"
-                    class-name="small-padding fixed-width"
-                  >
-                    <template slot-scope="scope">
-                      <!-- <el-button
-                        size="medium"
-                        type="text"
-                        @click="goQRCode(scope.row)"
-                        v-hasPermi="['system:user:edit']"
-                      >
-                        <span class="button-text"
-                          ><i class="el-icon-edit"></i>浜岀淮鐮�</span
-                        ></el-button
-                      >
-                      <el-button
-                        size="medium"
-                        type="text"
-                        @click="ViewQuestionnaire(scope.row)"
-                        v-hasPermi="['system:user:edit']"
-                        ><span class="button-textck"
-                          ><i class="el-icon-edit"></i>鏌ョ湅</span
-                        ></el-button
-                      > -->
-                      <el-button
-                        size="medium"
-                        type="text"
-                        @click="handleUpdate(scope.row)"
-                        v-hasPermi="['system:user:edit']"
-                        ><span class="button-textxg"
-                          ><i class="el-icon-scissors"></i>淇敼</span
-                        ></el-button
-                      >
-                      <el-button
-                        size="medium"
-                        type="text"
-                        @click="handleDelete(scope.row)"
-                        v-hasPermi="['system:user:remove']"
-                        ><span class="button-textsc"
-                          ><i class="el-icon-delete"></i>鍒犻櫎</span
-                        ></el-button
-                      >
-                    </template>
-                  </el-table-column>
-                </el-table>
-
-                <pagination
-                  v-show="total > 0"
-                  :total="total"
-                  :page.sync="queryParams.pageNum"
-                  :limit.sync="queryParams.pageSize"
-                  @pagination="getList"
-                />
-              </div>
-              <div class="presentation-right">
-                <div class="headline">棰樼洰璁剧疆璇︽儏</div>
-                <div>棰樼洰鏍囬锛�<span>杩欏鏈烘瀯鎬庝箞鏍�</span></div>
-                <div>鏄惁蹇呯瓟锛�<span>鏄�</span> 鏄惁闅愯棌锛�<span>鍚�</span></div>
-                <div class="headline">閫夐」璁剧疆</div>
-                <div>
-                  <p>閫夐」1:<span>鍖荤枟鏈烘瀯</span></p>
-                  <p>
-                    濉啓鏄庣粏锛�<span>鏃�</span> 寮傚父閫夐」锛�<span>鏃�</span>
-                    鍒嗗�硷細<span>3</span>
-                  </p>
-                  <p>閫変腑鎻愮ず锛�<span>杩欎釜棰樻湁鐐归毦璇锋敞鎰�</span></p>
-                  <p>閫変腑璺宠浆锛�<span>鏃�</span></p>
-                </div>
-              </div>
-            </div>
-          </el-form-item>
-          <el-form-item>
-            <el-button type="success" @click="submitForm('ruleForm')"
-              >涓嬩竴姝�</el-button
+        <div class="leftvlue-jbxx">闂嵎棰樼洰璁剧疆</div>
+        <el-divider></el-divider>
+        <div style="display: flex; justify-content: space-between">
+          <div>
+            <el-button
+              type="primary"
+              icon="el-icon-plus"
+              round
+              @click="getaddtopiclist"
+              >娣诲姞棰樼洰</el-button
             >
-            <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
-            <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
-          </el-form-item>
-        </el-form>
+            <el-button
+              type="success"
+              icon="el-icon-edit-outline"
+              round
+              @click="Operateit = !Operateit"
+              >{{ !Operateit ? "缂栬緫棰樼洰" : "瀹屾暣淇℃伅灞曠ず" }}</el-button
+            >
+          </div>
+          <div style="display: flex">
+            <span
+              style="
+                width: 180px;
+                font-size: 20px;
+                font-weight: normal;
+                color: red;
+              "
+              >闂嵎鎬诲垎锛�</span
+            >
+            <el-input
+              v-model="ruleForm.scriptScore"
+              placeholder="璇疯緭鍏ュ垎鏁�"
+            ></el-input>
+          </div>
+        </div>
+        <div class="presentation">
+          <div :class="Operateit ? 'presentation-left' : 'spresentation-left'">
+            <el-card class="box-card" style="min-height: 688px">
+              <el-table
+                v-loading="loading"
+                :data="ruleForm.svyTemplateLibScripts"
+              >
+                <el-table-column
+                  label="搴忓彿"
+                  align="center"
+                  key="sort"
+                  prop="sort"
+                  width="50"
+                />
+                <el-table-column
+                  label="棰樼洰鏍囬"
+                  align="center"
+                  key="scriptTopic"
+                  prop="scriptTopic"
+                  :show-overflow-tooltip="true"
+                />
+                <el-table-column
+                  label="棰樺瀷"
+                  align="center"
+                  key="scriptType"
+                  prop="scriptType"
+                  :show-overflow-tooltip="true"
+                >
+                  <template slot-scope="scope">
+                    <dict-tag
+                      :options="askvaluetype"
+                      :value="scope.row.scriptType"
+                    />
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  v-if="!Operateit"
+                  label="棰樼洰鍐呭"
+                  align="center"
+                  key="scriptContent"
+                  prop="scriptContent"
+                  :show-overflow-tooltip="true"
+                />
+                <el-table-column
+                  v-if="!Operateit"
+                  label="鎸囨爣鍚嶇О"
+                  align="center"
+                  key="targetname"
+                  prop="targetname"
+                  :show-overflow-tooltip="true"
+                />
+                <el-table-column
+                  v-if="!Operateit"
+                  label="鏄惁蹇呭~"
+                  align="center"
+                  key="ismandatory"
+                  prop="ismandatory"
+                  :show-overflow-tooltip="true"
+                >
+                  <template slot-scope="scope">
+                    <dict-tag
+                      :options="required"
+                      :value="scope.row.ismandatory"
+                    />
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  label="涓嬮璺宠浆"
+                  align="center"
+                  key="nextScriptno"
+                  prop="nextScriptno"
+                  :show-overflow-tooltip="true"
+                />
+
+                <el-table-column
+                  v-if="Operateit"
+                  label="鎿嶄綔"
+                  align="center"
+                  width="250"
+                  class-name="small-padding fixed-width"
+                >
+                  <template slot-scope="scope">
+                    <el-button
+                      icon="el-icon-edit"
+                      type="primary"
+                      circle
+                      @click="handleUpdate(scope.row)"
+                    ></el-button>
+                    <el-button
+                      type="danger"
+                      icon="el-icon-delete"
+                      circle
+                      @click="handleDelete(scope.row)"
+                    ></el-button>
+                    <el-button
+                      @click="syioption(scope.row)"
+                      type="success"
+                      icon="el-icon-top"
+                      circle
+                    ></el-button>
+                    <el-button
+                      @click="xiayioption(scope.row)"
+                      type="success"
+                      icon="el-icon-bottom"
+                      circle
+                    ></el-button>
+                  </template>
+                </el-table-column>
+              </el-table>
+            </el-card>
+          </div>
+          <div class="presentation-right" v-if="Operateit">
+            <el-card class="box-card">
+              <el-form
+                :inline="true"
+                :model="topicobj"
+                class="demo-form-inline"
+              >
+                <div class="headline">棰樼洰璁剧疆璇︽儏</div>
+                <el-row :gutter="10">
+                  <el-col :span="12">
+                    <el-form-item label="棰樼洰鏍囬">
+                      <el-input
+                        v-model="topicobj.scriptTopic"
+                        placeholder="璇疯緭鍏ユ爣棰�"
+                      ></el-input> </el-form-item
+                  ></el-col>
+                  <el-col :span="12">
+                    <el-form-item label="涓嬮璺宠浆" v-if="!topicobj.branchFlag">
+                      <el-input
+                        v-model="topicobj.nextScriptno"
+                        placeholder="璇疯緭鍏ラ鍙�"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+
+                <el-row :gutter="10">
+                  <el-col :span="12"
+                    ><el-form-item label="鏄惁蹇呭~">
+                      <el-select
+                        v-model="topicobj.ismandatory"
+                        placeholder="璇烽�夋嫨"
+                      >
+                        <el-option
+                          v-for="item in required"
+                          :key="item.value"
+                          :label="item.label"
+                          :value="item.value"
+                        >
+                        </el-option>
+                      </el-select> </el-form-item
+                  ></el-col>
+                  <el-col :span="12"
+                    ><el-form-item label="鏄惁鍙敤">
+                      <el-select
+                        v-model="topicobj.isavailable"
+                        placeholder="璇烽�夋嫨"
+                      >
+                        <el-option
+                          v-for="item in usable"
+                          :key="item.value"
+                          :label="item.label"
+                          :value="item.value"
+                        >
+                        </el-option>
+                      </el-select> </el-form-item
+                  ></el-col>
+                </el-row>
+                <el-row>
+                  <el-col :span="12">
+                    <el-form-item
+                      label="棰樼洰鍒嗗��"
+                      v-if="topicobj.scoretype == 1"
+                    >
+                      <el-input
+                        v-model="topicobj.score"
+                        placeholder="璇疯緭鍏ラ鍙�"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-form-item label="鏄惁鐢遍�夐」閰嶇疆璺宠浆">
+                  <el-radio-group v-model="topicobj.branchFlag">
+                    <el-radio :label="1">鏄�</el-radio>
+                    <el-radio :label="0">鍚�</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+                <div v-if="topicobj.scriptType != 3">
+                  <div class="headline">閫夐」璁剧疆</div>
+                  <div
+                    class="topicxq"
+                    v-for="item in topicobj.svyLibTemplateTargetoptions"
+                  >
+                    <el-row :gutter="5">
+                      <el-col :span="16"
+                        ><el-form-item label="閫夐」">
+                          <el-input
+                            type="text"
+                            placeholder="璇疯緭鍏ラ�夐」"
+                            v-model="item.optioncontent"
+                            show-word-limit
+                          >
+                          </el-input> </el-form-item
+                      ></el-col>
+                      <el-col :span="8">
+                        <el-form-item
+                          v-if="topicobj.scoretype == 1"
+                          label="鍒嗗��"
+                        >
+                          <el-input
+                            class="custom-width"
+                            type="text"
+                            placeholder="璇疯緭鍏ラ�夐」鍒嗗��"
+                            v-model="item.score"
+                            show-word-limit
+                          >
+                          </el-input>
+                        </el-form-item>
+                        <el-form-item
+                          v-else-if="topicobj.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-group>
+                        </el-form-item>
+                        <el-form-item
+                          v-else-if="topicobj.scoretype == 3"
+                          label="浼樿壇绛夌骇"
+                        >
+                          <el-radio-group v-model="item.score">
+                            <el-radio label="浼�">浼�</el-radio>
+                            <el-radio label="鑹�">鑹�</el-radio>
+                            <el-radio label="宸�">宸�</el-radio>
+                          </el-radio-group>
+                        </el-form-item>
+                      </el-col>
+                    </el-row>
+                    <el-row :gutter="10">
+                      <el-col :span="20"
+                        ><el-form-item label="涓嬮璺宠浆(搴忓彿)">
+                          <el-input
+                            type="text"
+                            placeholder="璇疯緭鍏ラ鍙�"
+                            v-model="item.nextQuestion"
+                            show-word-limit
+                          >
+                          </el-input> </el-form-item
+                      ></el-col>
+                    </el-row>
+                    <el-row :gutter="10">
+                      <el-form-item label="閫変腑鎻愮ず">
+                        <el-input
+                          style="width: 20vw"
+                          type="textarea"
+                          autosize
+                          placeholder="璇疯緭鍏ュ唴瀹�"
+                          v-model="item.prompt"
+                        >
+                        </el-input
+                      ></el-form-item>
+                    </el-row>
+                    <el-row :gutter="10">
+                      <el-form-item label="閫夐」鏂囦欢" prop="sickness">
+                        <div style="width: 40vw">
+                          <div style="margin: 20px">
+                            <el-image
+                              style="width: 100px; height: 100px"
+                              :src="item.picturePath"
+                              :preview-src-list="[...item.picturePath]"
+                            >
+                            </el-image>
+                          </div>
+                        </div>
+                      </el-form-item>
+                    </el-row>
+                  </div>
+                </div>
+                <div v-else>
+                  <div class="topicxq">
+                    <el-row :gutter="10">
+                      <el-form-item label="绛旀">
+                        <el-input
+                          style="width: 20vw"
+                          type="textarea"
+                          autosize
+                          placeholder="姝ゅ鏀剧疆鎮h�呭洖绛�"
+                          v-model="topicobj.reply"
+                        >
+                        </el-input
+                      ></el-form-item>
+                    </el-row>
+                    <el-form-item label="鍒嗗��">
+                      <el-input
+                        type="text"
+                        placeholder="璇疯緭鍏ラ�夐」鍒嗗��"
+                        v-model="topicobj.score"
+                        show-word-limit
+                      >
+                      </el-input>
+                    </el-form-item>
+                  </div>
+                </div>
+              </el-form>
+            </el-card>
+          </div>
+        </div>
+
+        <el-button type="success" @click="nextstep('ruleForm')"
+          >涓嬩竴姝�</el-button
+        >
+        <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
+        <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
+        <el-button @click="Departmenttreatment('ruleForm')"
+          >淇濆瓨棰樼洰鏁版嵁</el-button
+        >
       </div>
       <!-- 闂嵎棰勮 -->
       <div v-if="Editprogress == 3">
+        <div class="leftvlue-jbxx">闂嵎棰勮</div>
+        <el-divider></el-divider>
         <div class="preview-left">
           <!-- 鍗曢�� -->
-          <div class="topic-dev" v-for="item in valssu" :key="item.aaa">
+          <div
+            class="scriptTopic-dev"
+            v-for="item in ruleForm.svyTemplateLibScripts"
+            :key="item.sort"
+            v-if="item.scriptType == 1"
+          >
             <div class="dev-text">
-              {{ item.idd }}銆乕鍗曢�塢<span>{{ item.wssd }}</span>
+              {{ item.sort }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span>
             </div>
             <div class="dev-xx">
-              <el-radio-group v-model="radio">
+              <el-radio-group v-model="item.remark">
                 <el-radio
-                  v-for="(items, index) in item.sdadd"
+                  v-for="(items, index) in item.svyLibTemplateTargetoptions"
                   :key="index"
                   :label="index"
-                  >{{ items }}</el-radio
+                  >{{ items.optioncontent }}</el-radio
                 >
               </el-radio-group>
             </div>
           </div>
           <!-- 澶氶�� -->
-          <div class="topic-dev" v-for="item in valssu" :key="item.aaa">
+          <div
+            class="scriptTopic-dev"
+            v-for="item in ruleForm.svyTemplateLibScripts"
+            :key="item.sort"
+            v-if="item.scriptType == 2"
+          >
             <div class="dev-text">
-              {{ item.idd }}銆乕澶氶�塢<span>{{ item.wssd }}</span>
+              {{ item.sort }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
             </div>
             <div class="dev-xx">
-              <el-checkbox-group v-model="radios">
+              <el-checkbox-group v-model="qremark">
                 <el-checkbox
-                  v-for="(items, index) in item.sdadd"
+                  v-for="(items, index) in item.svyLibTemplateTargetoptions"
                   :key="index"
                   :label="index"
                 >
-                  {{ items }}
+                  {{ items.optioncontent }}
                 </el-checkbox>
               </el-checkbox-group>
             </div>
           </div>
           <!-- 濉┖ -->
-          <div class="topic-dev" v-for="item in valssu" :key="item.aaa">
+          <div
+            class="scriptTopic-dev"
+            v-for="item in ruleForm.svyTemplateLibScripts"
+            :key="item.sort"
+            v-if="item.scriptType == 3"
+          >
             <div class="dev-text">
-              {{ item.idd }}銆乕濉┖]<span>{{ item.wssd }}</span>
+              {{ item.sort }}銆乕濉┖]<span>{{ item.scriptContent }}</span>
             </div>
             <div class="dev-xx">
               <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable>
@@ -267,492 +661,192 @@
             </div>
           </div>
         </div>
-        <el-button type="success" @click="submitForm('ruleForm')"
-          >涓嬩竴姝�</el-button
-        >
+        <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
+        <el-button>瀵煎嚭涓簆df</el-button>
         <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
-        <!-- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> -->
-      </div>
-      <!-- 缁撴灉鍙嶉 -->
-      <div v-if="Editprogress == 4">
-        <el-form
-          :model="ruleForm"
-          :rules="rules"
-          ref="ruleForm"
-          label-width="100px"
-          class="demo-ruleForm"
-        >
-          <el-form-item label="娲诲姩鍚嶇О" prop="name">
-            <el-input v-model="ruleForm.name"></el-input>
-          </el-form-item>
-          <el-form-item label="娲诲姩鍖哄煙" prop="region">
-            <el-select v-model="ruleForm.region" placeholder="璇烽�夋嫨娲诲姩鍖哄煙">
-              <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
-              <el-option label="鍖哄煙浜�" value="beijing"></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="娲诲姩鏃堕棿" required>
-            <el-col :span="11">
-              <el-form-item prop="date1">
-                <el-date-picker
-                  type="date"
-                  placeholder="閫夋嫨鏃ユ湡"
-                  v-model="ruleForm.date1"
-                  style="width: 100%"
-                ></el-date-picker>
-              </el-form-item>
-            </el-col>
-            <el-col class="line" :span="2">-</el-col>
-            <el-col :span="11">
-              <el-form-item prop="date2">
-                <el-time-picker
-                  placeholder="閫夋嫨鏃堕棿"
-                  v-model="ruleForm.date2"
-                  style="width: 100%"
-                ></el-time-picker>
-              </el-form-item>
-            </el-col>
-          </el-form-item>
-          <el-form-item label="鍗虫椂閰嶉��" prop="delivery">
-            <el-switch v-model="ruleForm.delivery"></el-switch>
-          </el-form-item>
-          <el-form-item label="娲诲姩鎬ц川" prop="type">
-            <el-checkbox-group v-model="ruleForm.type">
-              <el-checkbox label="缇庨/椁愬巺绾夸笂娲诲姩" name="type"></el-checkbox>
-              <el-checkbox label="鍦版帹娲诲姩" name="type"></el-checkbox>
-              <el-checkbox label="绾夸笅涓婚娲诲姩" name="type"></el-checkbox>
-              <el-checkbox label="鍗曠函鍝佺墝鏇濆厜" name="type"></el-checkbox>
-            </el-checkbox-group>
-          </el-form-item>
-          <el-form-item label="鐗规畩璧勬簮" prop="resource">
-            <el-radio-group v-model="ruleForm.resource">
-              <el-radio label="绾夸笂鍝佺墝鍟嗚禐鍔�"></el-radio>
-              <el-radio label="绾夸笅鍦哄湴鍏嶈垂"></el-radio>
-            </el-radio-group>
-          </el-form-item>
-          <el-form-item label="娲诲姩褰㈠紡" prop="desc">
-            <el-input type="textarea" v-model="ruleForm.desc"></el-input>
-          </el-form-item>
-          <el-form-item>
-            <el-button type="success" @click="submitForm('ruleForm')"
-              >绔嬪嵆鍒涘缓</el-button
-            >
-            <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
-            <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
-          </el-form-item>
-        </el-form>
       </div>
     </div>
-    <!-- 棰勮妯$増寮圭獥 -->
+    <!-- 娣诲姞棰樼洰寮圭獥 -->
     <el-drawer
-      title="闂嵎棰勮"
+      title="娣诲姞棰樼洰"
       :visible.sync="drawer"
       custom-class="demo-drawer"
-      width="50%"
+      size="50%"
     >
       <div class="preview-left">
-        <!-- 鍗曢�� -->
-        <div class="topic-dev" v-for="item in valssu" :key="item.aaa">
-          <div class="dev-text">
-            {{ item.idd }}銆乕鍗曢�塢&nbsp&nbsp<span>{{ item.wssd }}</span>
-          </div>
-          <div class="dev-xx">
-            <el-radio-group v-model="radio">
-              <el-radio
-                v-for="(items, index) in item.sdadd"
-                :key="index"
-                :label="index"
-                >{{ items }}</el-radio
+        <el-form
+          :model="queryParams"
+          ref="queryForm"
+          size="small"
+          :inline="true"
+          label-width="98px"
+        >
+          <el-form-item label="闂鏍囬" prop="scriptTopic">
+            <el-input
+              v-model="queryParams.scriptTopic"
+              placeholder="璇疯緭鍏�"
+              clearable
+              style="width: 200px"
+              @keyup.enter.native="getaddtopiclist"
+            />
+          </el-form-item>
+
+          <el-form-item>
+            <el-button
+              type="primary"
+              icon="el-icon-search"
+              size="medium"
+              @click="getaddtopiclist"
+              >鎼滅储</el-button
+            >
+            <el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
+              >閲嶇疆</el-button
+            >
+          </el-form-item>
+        </el-form>
+        <el-table v-loading="loading" :data="userList">
+          <el-table-column
+            label="鏍囬"
+            align="center"
+            key="scriptTopic"
+            prop="scriptTopic"
+            width="100"
+          />
+          <el-table-column
+            label="闂鍐呭"
+            align="center"
+            key="scriptContent"
+            prop="scriptContent"
+            width="200"
+            :show-overflow-tooltip="true"
+          />
+          <el-table-column
+            label="閫夐」鍐呭"
+            align="center"
+            key="targetoptions"
+            prop="targetoptions"
+            width="200"
+            :show-overflow-tooltip="true"
+          />
+
+          <el-table-column
+            label="鎿嶄綔"
+            align="center"
+            class-name="small-padding fixed-width"
+          >
+            <template slot-scope="scope">
+              <el-button size="medium" type="text" @click="addtopic(scope.row)"
+                ><span class="button-textxg"
+                  ><i class="el-icon-circle-plus-outline"></i>娣诲姞</span
+                ></el-button
               >
-            </el-radio-group>
-          </div>
-        </div>
-        <!-- 澶氶�� -->
-        <div class="topic-dev" v-for="item in valssu" :key="item.aaa">
-          <div class="dev-text">
-            {{ item.idd }}銆乕澶氶�塢&nbsp&nbsp<span>{{ item.wssd }}</span>
-          </div>
-          <div class="dev-xx">
-            <el-checkbox-group v-model="radios">
-              <el-checkbox
-                v-for="(items, index) in item.sdadd"
-                :key="index"
-                :label="index"
-              >
-                {{ items }}
-              </el-checkbox>
-            </el-checkbox-group>
-          </div>
-        </div>
-        <!-- 濉┖ -->
-        <div class="topic-dev" v-for="item in valssu" :key="item.aaa">
-          <div class="dev-text">
-            {{ item.idd }}銆乕濉┖]&nbsp&nbsp<span>{{ item.wssd }}</span>
-          </div>
-          <div class="dev-xx">
-            <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable>
-            </el-input>
-          </div>
-        </div>
+            </template>
+          </el-table-column>
+        </el-table>
+        <pagination
+          v-show="total > 0"
+          :total="total"
+          :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize"
+          @pagination="getaddtopiclist"
+        />
       </div>
     </el-drawer>
+    <!-- 娣诲姞閫傜敤鐤剧梾绐楀彛 -->
+    <Optional-Form
+      ref="child"
+      :dialogVisiblepatient="dialogVisiblepatient"
+      :overallCase="illnesslist"
+      @addoption="dialogVisiblepatient = false"
+      @kkoption="dialogVisiblepatient = true"
+    />
   </div>
 </template>
 
 <script>
+import { listtag } from "@/api/system/label";
+import { listDept } from "@/api/system/dept";
+import store from "@/store";
+import {
+  getQtemplateclassify,
+  delQtemplateclassify,
+  addQtemplateclassify,
+  getQtemplateobj,
+  compileQtemplate,
+  Qtemplateinfo,
+  compileissue,
+  delQtemplateinfo,
+  Followupinfo,
+  issueinfo,
+  getissuelist,
+  deltargetillness,
+  addtargetillness,
+  getillnesslist,
+  illnesslistget,
+  getillness,
+} from "@/api/AiCentre/index";
+import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢
+import { getToken } from "@/utils/auth";
+
 export default {
+  name: "Qcompilequer",
+
+  components: { OptionalForm },
+
   data() {
     return {
+      headers: {
+        Authorization: "Bearer " + getToken(),
+      },
+      uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort",
       sidecolumnrabs: "left", //鏂瑰悜
-      Editprogress: 2, //缂栬緫杩涘害
+      Editprogress: 1, //缂栬緫杩涘害
       currentVersion: "1.2.3", //褰撳墠鐗堟湰
       loading: false, // 閬僵灞�
       drawer: false, //鎺у埗灞曞紑
       radio: "false", //鍗曢�夐閫変腑
       radios: [], //澶氶�夐閫変腑
       radioas: "", //濉┖棰樼瓟妗�
+      dynamicTags: [],
+      inputVisible: false,
+      dialogVisiblepatient: false, //閫傜敤鐤剧梾绐楀彛
+      inputValue: "",
+      topicobj: {},
       // 鎬绘潯鏁�
       total: 1,
       ruleForm: {
-        name: "",
-        region: "",
-        date1: "",
-        date2: "",
-        delivery: false,
-        type: [],
-        resource: "",
-        desc: "",
-        templatevalue: "",
-        data2: "",
+        svyTemplateLibScripts: [],
+        tempDetpRelevances: [],
+        svyLibTemplateTagList: [],
       },
       rules: {},
-      rulesa: {
-        name: [
-          { required: true, message: "璇疯緭鍏ユ椿鍔ㄥ悕绉�", trigger: "blur" },
-          { min: 3, max: 5, message: "闀垮害鍦� 3 鍒� 5 涓瓧绗�", trigger: "blur" },
-        ],
-        region: [
-          { required: true, message: "璇烽�夋嫨娲诲姩鍖哄煙", trigger: "change" },
-        ],
-        date1: [
-          {
-            type: "date",
-            required: true,
-            message: "璇烽�夋嫨鏃ユ湡",
-            trigger: "change",
-          },
-        ],
-        date2: [
-          {
-            type: "date",
-            required: true,
-            message: "璇烽�夋嫨鏃堕棿",
-            trigger: "change",
-          },
-        ],
-        type: [
-          {
-            type: "array",
-            required: true,
-            message: "璇疯嚦灏戦�夋嫨涓�涓椿鍔ㄦ�ц川",
-            trigger: "change",
-          },
-        ],
-        resource: [
-          { required: true, message: "璇烽�夋嫨娲诲姩璧勬簮", trigger: "change" },
-        ],
-        desc: [{ required: true, message: "璇峰~鍐欐椿鍔ㄥ舰寮�", trigger: "blur" }],
-      },
-      options: [
+      rulesa: {},
+      optionsclass: [], //鍒嗙被鍒楄〃
+      optionlist: [
+        { value: "scriptTopic", table: "scriptTopic" },
+        { value: "scriptTopic", table: "scriptTopic" },
+      ],
+
+      appraiselist: [],
+
+      fileList: [
         {
-          value: "閫夐」1",
-          label: "榛勯噾绯�",
+          name: "food.jpeg",
+          url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
         },
         {
-          value: "閫夐」2",
-          label: "鍙岀毊濂�",
-        },
-        {
-          value: "閫夐」3",
-          label: "铓典粩鐓�",
-        },
-        {
-          value: "閫夐」4",
-          label: "榫欓』闈�",
-        },
-        {
-          value: "閫夐」5",
-          label: "鍖椾含鐑ら腑",
+          name: "food2.jpeg",
+          url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
         },
       ],
-      options: [
+
+      variablelist: [
         {
-          value: "zhinan",
-          label: "鎸囧崡",
-          children: [
-            {
-              value: "shejiyuanze",
-              label: "璁捐鍘熷垯",
-              children: [
-                {
-                  value: "yizhi",
-                  label: "涓�鑷�",
-                },
-                {
-                  value: "fankui",
-                  label: "鍙嶉",
-                },
-                {
-                  value: "xiaolv",
-                  label: "鏁堢巼",
-                },
-                {
-                  value: "kekong",
-                  label: "鍙帶",
-                },
-              ],
-            },
-            {
-              value: "daohang",
-              label: "瀵艰埅",
-              children: [
-                {
-                  value: "cexiangdaohang",
-                  label: "渚у悜瀵艰埅",
-                },
-                {
-                  value: "dingbudaohang",
-                  label: "椤堕儴瀵艰埅",
-                },
-              ],
-            },
-          ],
-        },
-        {
-          value: "zujian",
-          label: "缁勪欢",
-          children: [
-            {
-              value: "basic",
-              label: "Basic",
-              children: [
-                {
-                  value: "layout",
-                  label: "Layout 甯冨眬",
-                },
-                {
-                  value: "color",
-                  label: "Color 鑹插僵",
-                },
-                {
-                  value: "typography",
-                  label: "Typography 瀛椾綋",
-                },
-                {
-                  value: "icon",
-                  label: "Icon 鍥炬爣",
-                },
-                {
-                  value: "button",
-                  label: "Button 鎸夐挳",
-                },
-              ],
-            },
-            {
-              value: "form",
-              label: "Form",
-              children: [
-                {
-                  value: "radio",
-                  label: "Radio 鍗曢�夋",
-                },
-                {
-                  value: "checkbox",
-                  label: "Checkbox 澶氶�夋",
-                },
-                {
-                  value: "input",
-                  label: "Input 杈撳叆妗�",
-                },
-                {
-                  value: "input-number",
-                  label: "InputNumber 璁℃暟鍣�",
-                },
-                {
-                  value: "select",
-                  label: "Select 閫夋嫨鍣�",
-                },
-                {
-                  value: "cascader",
-                  label: "Cascader 绾ц仈閫夋嫨鍣�",
-                },
-                {
-                  value: "switch",
-                  label: "Switch 寮�鍏�",
-                },
-                {
-                  value: "slider",
-                  label: "Slider 婊戝潡",
-                },
-                {
-                  value: "time-picker",
-                  label: "TimePicker 鏃堕棿閫夋嫨鍣�",
-                },
-                {
-                  value: "date-picker",
-                  label: "DatePicker 鏃ユ湡閫夋嫨鍣�",
-                },
-                {
-                  value: "datetime-picker",
-                  label: "DateTimePicker 鏃ユ湡鏃堕棿閫夋嫨鍣�",
-                },
-                {
-                  value: "upload",
-                  label: "Upload 涓婁紶",
-                },
-                {
-                  value: "rate",
-                  label: "Rate 璇勫垎",
-                },
-                {
-                  value: "form",
-                  label: "Form 琛ㄥ崟",
-                },
-              ],
-            },
-            {
-              value: "data",
-              label: "Data",
-              children: [
-                {
-                  value: "table",
-                  label: "Table 琛ㄦ牸",
-                },
-                {
-                  value: "tag",
-                  label: "Tag 鏍囩",
-                },
-                {
-                  value: "progress",
-                  label: "Progress 杩涘害鏉�",
-                },
-                {
-                  value: "tree",
-                  label: "Tree 鏍戝舰鎺т欢",
-                },
-                {
-                  value: "pagination",
-                  label: "Pagination 鍒嗛〉",
-                },
-                {
-                  value: "badge",
-                  label: "Badge 鏍囪",
-                },
-              ],
-            },
-            {
-              value: "notice",
-              label: "Notice",
-              children: [
-                {
-                  value: "alert",
-                  label: "Alert 璀﹀憡",
-                },
-                {
-                  value: "loading",
-                  label: "Loading 鍔犺浇",
-                },
-                {
-                  value: "message",
-                  label: "Message 娑堟伅鎻愮ず",
-                },
-                {
-                  value: "message-box",
-                  label: "MessageBox 寮规",
-                },
-                {
-                  value: "notification",
-                  label: "Notification 閫氱煡",
-                },
-              ],
-            },
-            {
-              value: "navigation",
-              label: "Navigation",
-              children: [
-                {
-                  value: "menu",
-                  label: "NavMenu 瀵艰埅鑿滃崟",
-                },
-                {
-                  value: "tabs",
-                  label: "Tabs 鏍囩椤�",
-                },
-                {
-                  value: "breadcrumb",
-                  label: "Breadcrumb 闈㈠寘灞�",
-                },
-                {
-                  value: "dropdown",
-                  label: "Dropdown 涓嬫媺鑿滃崟",
-                },
-                {
-                  value: "steps",
-                  label: "Steps 姝ラ鏉�",
-                },
-              ],
-            },
-            {
-              value: "others",
-              label: "Others",
-              children: [
-                {
-                  value: "dialog",
-                  label: "Dialog 瀵硅瘽妗�",
-                },
-                {
-                  value: "tooltip",
-                  label: "Tooltip 鏂囧瓧鎻愮ず",
-                },
-                {
-                  value: "popover",
-                  label: "Popover 寮瑰嚭妗�",
-                },
-                {
-                  value: "card",
-                  label: "Card 鍗$墖",
-                },
-                {
-                  value: "carousel",
-                  label: "Carousel 璧伴┈鐏�",
-                },
-                {
-                  value: "collapse",
-                  label: "Collapse 鎶樺彔闈㈡澘",
-                },
-              ],
-            },
-          ],
-        },
-        {
-          value: "ziyuan",
-          label: "璧勬簮",
-          children: [
-            {
-              value: "axure",
-              label: "Axure Components",
-            },
-            {
-              value: "sketch",
-              label: "Sketch Templates",
-            },
-            {
-              value: "jiaohu",
-              label: "缁勪欢浜や簰鏂囨。",
-            },
-          ],
+          variable: "paitent",
+          value: "琛ㄧず鎮h�呯殑鏍囪瘑",
         },
       ],
+
       valssu: [
         {
           idd: 1,
@@ -760,100 +854,542 @@
           sdadd: ["sss", "ssccss", "ssaas", "ss"],
         },
       ],
-      options: [
-        {
-          value: "閫夐」1",
-          label: "鍗曢��",
-        },
-        {
-          value: "閫夐」2",
-          label: "澶氶��",
-          disabled: true,
-        },
-        {
-          value: "閫夐」3",
-          label: "濉┖",
-        },
-      ],
       addvalue: "娣诲姞棰樼洰",
       // 棰樼洰琛ㄦ牸鏁版嵁
-      userList: [
-        {
-          userid: "1",
-          userName: "涓�鍙烽棶鍗�",
-        },
-        {
-          userid: "2",
-          userName: "浜屽彿闂嵎",
-        },
-        {
-          userid: "3",
-          userName: "涓夊彿闂嵎",
-        },
-        {
-          userid: "4",
-          userName: "鍥涘彿闂嵎",
-        },
+      userList: [],
+      deptList: [],
+      props: { multiple: true, value: "deptId", label: "deptName" },
+      themelist: [],
+      languagelist: [],
+      courtyardlist: [],
+      askvaluetype: [],
+      precedencetype: [],
+      inputValueillness: "",
+      inputVisible: false,
+      inputVisibleillness: false,
+      illnessVisible: false, //鎸囨爣鐤剧梾寮规
+      Operateit: true,
+      deptOptions: [],
+      optionsillness: [],
+      delScriptVOList: [],
+      illnesslistapi: [],
+      illnesslist: [],
+      tempDetpRelevanceslist: [],
+      optionstag: [],
+      valuetype: [],
+      qremark: [],
+      usable: [
+        { value: "0", label: "鍙敤" },
+        { value: "1", label: "鍋滅敤" },
       ],
+      required: [
+        { value: "1", label: "蹇呭~" },
+        { value: "2", label: "涓嶅繀濉�" },
+      ],
+      mode: [], //鏂瑰紡
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-        userName: undefined,
-        phonenumber: undefined,
-        status: undefined,
-        deptId: undefined,
-        IDnumber: undefined,
       },
+      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" },
+        ],
+      ],
     };
   },
 
-  created() {},
+  created() {
+    this.gettabList();
+    this.getissueinfo();
+    this.mode = store.getters.Askmode;
+    this.languagelist = store.getters.languagelist;
+    this.usable = store.getters.usable;
+    this.required = store.getters.required;
+    this.valuetype = store.getters.valuetype;
+    this.courtyardlist = store.getters.courtyardlist;
+    this.askvaluetype = store.getters.askvaluetype;
+    this.appraiselist = store.getters.appraiselist;
+
+    // this.test();
+  },
+  computed: {
+    displayedTags() {
+      // 杩斿洖鍓�10涓猼ag
+      return this.illnesslist.slice(0, 10);
+    },
+    hasMore() {
+      // 鍒ゆ柇鏄惁鏈夋洿澶氱殑tag
+      return this.illnesslist.length > 10;
+    },
+    remaining() {
+      // 璁$畻鍓╀綑鐨則ag鏁伴噺
+      return this.illnesslist.length - 10;
+    },
+  },
 
   methods: {
-    submitForm(formName) {
-      if (this.Editprogress <= 3) {
-        return this.Editprogress++;
-      }
-      this.rules = this.rulesa;
-      //   鎻愪氦
-      this.$refs[formName].validate((valid) => {
-        if (valid) {
-          alert("submit!");
-        } else {
-          console.log("error submit!!");
-          return false;
+    // 鍏叡鏂规硶---------------
+    getIndexInArray(arr, obj) {
+      return arr.indexOf(obj);
+    },
+    processElement(element) {
+      return { ...element, isoperation: 1 };
+    },
+    // 閫掑綊鎵佸钩鍖�
+    flattenArray(arr) {
+      let result = [];
+      arr.forEach((item) => {
+        result.push(item);
+        if (item.svyLibTemplateCategoryList) {
+          result = result.concat(
+            this.flattenArray(item.svyLibTemplateCategoryList)
+          );
+          delete item.svyLibTemplateCategoryList;
         }
       });
+      return result;
     },
-    /** 鏌ヨ棰樼洰鍒楄〃 */
-    getList() {
-      //   this.loading = true;
-      listUser().then((response) => {
-        console.log(response);
-        // this.userList = response.data;
-        // this.total = response.total;
-        // this.loading = false;
+    // -----------------------------
+    // 鑾峰彇鏁版嵁
+    getissueinfo() {
+      this.id = this.$route.query.id;
+      if (this.id) {
+        getQtemplateobj({ svyid: this.id }).then((res) => {
+          this.ruleForm = res.rows[0];
+          this.dynamicTags = this.ruleForm.svyLibTemplateTagList.map(
+            this.processElement
+          );
+          this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames);
+          this.ruleForm.suitway = this.ruleForm.suitway.split(",");
+        });
+        getillness({ outid: this.id, type: 5 }).then((res) => {
+          this.illnesslist = res.rows;
+          this.illnesslist.forEach((item) => {
+            item.icdname = item.icd10name;
+          });
+        });
+      } else {
+        this.ruleForm.isenable = "1";
+      }
+
+      listDept(this.queryParams).then((response) => {
+        this.deptList = this.handleTree(response.data, "deptId");
+      });
+      // 鍒嗙被
+      getQtemplateclassify({}).then((res) => {
+        this.optionsclass = res.rows;
+      });
+    },
+    submitForm(formName) {
+      this.$modal.loading("姝e湪涓婁紶鏁版嵁锛岃绋嶅��...");
+      this.ruleForm.suitway = this.ruleForm.suitway.join(",");
+      if (condition) {
+      }
+      if (this.id) {
+        this.ruleForm.isoperation = 2;
+        compileQtemplate(this.ruleForm).then((res) => {
+          this.$modal.msgSuccess("淇敼鎴愬姛");
+          this.confirmillness();
+          this.$modal.closeLoading();
+          this.$router.go(-1);
+        });
+      } else {
+        this.ruleForm.isoperation = 1;
+        this.ruleForm.version = this.ruleForm.version ? ruleForm : "1.0";
+        compileQtemplate(this.ruleForm).then((res) => {
+          this.$modal.msgSuccess("鏂板鎴愬姛");
+          this.confirmillness(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]);
+          });
+        }
+      });
+      // 鏁扮粍瀵硅薄鏌d鏁扮粍
+      this.ruleForm.tempDetpRelevances.forEach((item) => {
+        const condition = result.some((obj) => obj === item.deptId);
+        if (!condition) {
+          console.log(condition);
+          const index = this.ruleForm.tempDetpRelevances.indexOf(item);
+          this.ruleForm.tempDetpRelevances[index].delFlag = 1;
+        }
+      });
+      setTimeout(() => {
+        this.submitForm();
+      }, 1000);
+    },
+    // 涓嬩竴姝�
+    nextstep() {
+      if (this.Editprogress <= 2) {
+        return this.Editprogress++;
+      }
+    },
+    // 涓婁竴姝�
+    laststep() {
+      this.Editprogress = this.Editprogress - 1;
+    },
+    // 鍏抽棴
+    closeFm() {
+      this.$confirm("閫�鍑轰笉浼氫繚鐣欓〉闈㈠唴瀹规洿鏀�, 鏄惁缁х画?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      })
+        .then(() => {
+          this.$router.go(-1);
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "宸插彇娑�",
+          });
+        });
+    },
+    // 鑾峰彇棰樼洰鍒楄〃
+    getaddtopiclist() {
+      this.drawer = true;
+      this.queryParams.scoretype = this.ruleForm.scoreType;
+      getissuelist(this.queryParams).then((res) => {
+        this.loading = false;
+        this.userList = res.rows;
+        this.total = res.total;
         console.log(this.userList);
       });
-      //   const { rows } = await listUser();
-      //   console.log(rows);
-      //   this.list = rows;
     },
-    changeaddtopic(val) {
-      console.log(11);
-      console.log(val);
-      this.addvalue = "娣诲姞棰樼洰";
+    // 鏂板棰樼洰
+    addtopic(row) {
+      row.isoperation = 1;
+      console.log(row, "row");
+      row.svyLibScriptOptions.forEach((item) => {
+        item.isoperation = 1;
+      });
+      row.svyLibTemplateTargetoptions = row.svyLibScriptOptions;
+      this.ruleForm.svyTemplateLibScripts.push(row);
+      this.sortFn();
+      this.$modal.msgSuccess("鏂板鎴愬姛");
     },
-    // 棰勮妯$増
-    PreviewTemplate() {
-      this.drawer = true;
+    handleDelete(row) {
+      let index = this.ruleForm.svyTemplateLibScripts.indexOf(row);
+      this.ruleForm.svyTemplateLibScripts.splice(index, 1);
+      row.isoperation = 3;
+      this.delScriptVOList.push(row);
+      this.sortFn();
     },
-    laststep() {
-      this.Editprogress--;
+    handleUpdate(row) {
+      this.topicobj = row;
+      this.radioas = "";
+      console.log(this.topicobj, "鐪嬫暟鎹�");
+      // getissuelist({ svyid: row.svyid }).then((res) => {
+      // });
+    },
+    syioption(row) {
+      const index = this.getIndexInArray(
+        this.ruleForm.svyTemplateLibScripts,
+        row
+      );
+      const item = this.ruleForm.svyTemplateLibScripts.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
+      this.ruleForm.svyTemplateLibScripts.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+      this.sortFn();
+    },
+    xiayioption(row) {
+      const index = this.getIndexInArray(
+        this.ruleForm.svyTemplateLibScripts,
+        row
+      );
+      const item = this.ruleForm.svyTemplateLibScripts.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
+      this.ruleForm.svyTemplateLibScripts.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+      this.sortFn();
+    },
+    sortFn() {
+      console.log(this.ruleForm.svyTemplateLibScripts, "搴忓墠鍊�");
+      this.ruleForm.svyTemplateLibScripts.forEach((item, index) => {
+        item.sort = Number(index) + 1;
+        console.log(this.ruleForm.svyTemplateLibScripts.length, "length");
+
+        if (item.sort == this.ruleForm.svyTemplateLibScripts.length) {
+          item.nextScriptno = "宸叉槸鏈�鍚庝竴棰�";
+        } else {
+          item.nextScriptno = item.sort + 1;
+        }
+        if (item.svyLibTemplateTargetoptions) {
+          item.svyLibTemplateTargetoptions.forEach((items) => {
+            items.nextQuestion = Number(item.sort) + 1;
+          });
+        }
+      });
+      console.log(this.ruleForm.svyTemplateLibScripts);
+    },
+
+    // 淇敼棰樼洰淇℃伅
+    Submittopicobj() {},
+    // 鏂板鍙橀噺
+    addvariable() {
+      this.variablelist.push({
+        variable: "",
+        value: "",
+      });
+    },
+    // 鍒犻櫎鍙橀噺
+    delvariable(item) {
+      const index = this.variablelist.indexOf(item);
+      if (index !== -1) {
+        this.variablelist.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱�
+      } else {
+        console.log("鏈壘鍒拌瀵硅薄");
+      }
+    },
+
+    // 鏍囩-----------------
+    gettabList() {
+      const tagqueryParams = {
+        pageNum: 1,
+        pageSize: 1000,
+        tagcategoryid: "0",
+      };
+      listtag(tagqueryParams).then((response) => {
+        console.log(response);
+        this.optionstag = response.rows;
+      });
+    },
+    handleClosetag(tag) {
+      console.log(tag);
+      console.log(this.dynamicTags.indexOf(tag));
+      const lindex = this.dynamicTags.indexOf(tag);
+
+      this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
+      this.ruleForm.svyLibTemplateTagList[lindex].delFlag = 1;
+
+      // this.ruleForm.ivrLibaTemplateTargetList[lindex].isoperation = 3;
+    },
+    handleInputConfirm() {
+      let tagvalue = {};
+      let tagname = this.inputValue;
+      if (tagname) {
+        listtag({
+          pageNum: 1,
+          pageSize: 1000,
+          tagcategoryid: "0",
+          tagname: tagname,
+        }).then((res) => {
+          if (res.rows[0]) {
+            tagvalue = res.rows[0];
+            tagvalue.isoperation = 1;
+          } else {
+            tagvalue = {
+              tagname: tagname,
+              isoperation: 1,
+            };
+          }
+          this.ruleForm.svyLibTemplateTagList.push(tagvalue);
+          // this.dynamicTags.push(tagvalue);
+          this.dynamicTags.push(tagvalue);
+        });
+      }
+      this.inputVisible = false;
+      this.inputValue = "";
+    },
+    remoteMethodtag(query) {
+      if (query !== "") {
+        this.loading = true;
+        setTimeout(() => {
+          this.loading = false;
+          listtag({ tagname: query, tagcategoryid: "0" }).then((res) => {
+            this.optionstag = res.rows;
+          });
+        }, 200);
+      } else {
+        this.optionstag = [];
+      }
+    },
+    showInput() {
+      this.inputVisible = true;
+    },
+    // 淇濆瓨鐤剧梾
+    confirmillness(guid) {
+      this.illnesslist.forEach((item, index) => {
+        if (guid) {
+          item.outid = guid;
+        } else {
+          console.log(this.ruleForm);
+          item.outid = this.ruleForm.svyid;
+        }
+        item.icd10name = item.icdname;
+        item.icd10code = item.icdcode;
+        item.type = 5;
+        if (!item.id) {
+          addtargetillness(item).then((res) => {});
+        }
+      });
+      this.illnessVisible = false;
+      this.$modal.msgSuccess("缂栬緫鎴愬姛");
+    },
+    // --------------------------
+    resetQuery() {
+      this.queryParams = { pageNum: 1, pageSize: 10 };
+      this.getaddtopiclist();
     },
     resetForm(formName) {
       this.$refs[formName].resetFields();
+    },
+    // 闂嵎鍒嗘暟闄愬埗绠楁硶
+    // 娣峰悎璺嚎
+    generateCombinations(arrays, currentIndex = 0, currentCombination = []) {
+      if (currentIndex === arrays.length) {
+        return [currentCombination];
+      }
+
+      const currentArray = arrays[currentIndex];
+      const newCombinations = [];
+
+      for (const item of currentArray) {
+        const newCombination = [...currentCombination, item];
+        const combinations = this.generateCombinations(
+          arrays,
+          currentIndex + 1,
+          newCombination
+        );
+        newCombinations.push(...combinations);
+      }
+      return newCombinations;
+    },
+    // 鎵ц
+    test() {
+      const arrays = [
+        ["2", "3", "4", "5"],
+        ["1", "2", "5", "6"],
+        ["3", "4", "5", "3"],
+        ["3", "2", "5", "7"],
+      ];
+      const arraysa = [
+        {
+          id: 1,
+          grade: "5",
+          arr: [
+            { name: "涓嶉敊", skip: 2 },
+            { name: "涓�鑸�", skip: 2 },
+            { name: "杩樹笉閿�", skip: 2 },
+            { name: "寰堟", skip: 3 },
+          ],
+        },
+
+        {
+          id: 2,
+          grade: "5",
+          arr: [
+            { name: "浼樼", skip: 3 },
+            { name: "鑹ソ", skip: 3 },
+            { name: "涓�鑸�", skip: 3 },
+            { name: "杈冨樊", skip: 4 },
+          ],
+        },
+        {
+          id: 3,
+          grade: "5",
+          arr: [
+            { name: "鏄殑", skip: 4 },
+            { name: "涓嶆竻妤�", skip: 4 },
+            { name: "杩樺彲", skip: 4 },
+            { name: "涓�鑸�", skip: 4 },
+          ],
+        },
+        {
+          id: 4,
+          grade: "5",
+          arr: [
+            { name: "鐪熶笉閿�", skip: null },
+            { name: "杩樺彲浠�", skip: null },
+            { name: "涓�鑸埇", skip: null },
+            { name: "涓嶆竻妤�", skip: null },
+          ],
+        },
+      ];
+
+      // const newMixArray = this.generateCombinations(arrays);
+      const newMixArray = this.getExecutionOrders(arraysa);
+
+      console.log(newMixArray, "鍏ㄩ儴璺嚎");
+      this.screen(newMixArray);
+    },
+    getExecutionOrders(data) {
+      let orders = [];
+
+      const explore = (currentOrder, id) => {
+        console.log(currentOrder, "currentOrder", id);
+        const currentQuestion = data[currentOrder[currentOrder.length - 1]];
+        if (
+          currentQuestion.arr.some(
+            (option) =>
+              option.skip !== null && !currentOrder.includes(option.skip)
+          )
+        ) {
+          currentQuestion.arr.forEach((option) => {
+            if (option.skip !== null && !currentOrder.includes(option.skip)) {
+              explore([...currentOrder, option.skip]);
+            }
+          });
+        } else {
+          orders.push(
+            currentOrder.map((id) => ({
+              id: data[id].id,
+              grade: data[id].grade,
+            }))
+          );
+        }
+      };
+      console.log(data, "data");
+      data.forEach((entry) => {
+        explore([entry.id], entry.id);
+      });
+
+      return orders;
+    },
+
+    // 鏁扮粍姹傚拰
+    sumArray(arr) {
+      return arr.reduce((acc, curr) => acc + parseInt(curr), 0);
+    },
+    // 绛涢�夐敊璇矾绾�
+    screen(data) {
+      const arraysGreaterThan10 = data.filter((arr) => this.sumArray(arr) > 21);
+
+      console.log(arraysGreaterThan10, "绛涢�夐敊璇矾绾垮ぇ浜�13鍒�");
     },
   },
 };
@@ -861,29 +1397,25 @@
 
 <style lang="scss" scoped>
 .Questionnairemanagement {
-  display: flex;
+  // display: flex;
 }
 .sidecolumn {
-  width: 300px;
-  min-height: 100vh;
-  text-align: center;
-  //   display: flex;
-  //   margin-top: 20px;
-  margin: 20px;
-  margin-bottom: 0;
-  padding: 30px;
+  margin: 10px 20px 0 20px;
+  padding: 20px;
   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: 80%;
-  margin-top: 20px;
-  //   margin: 20px;
+  // //   display: flex;
+  // //   flex: 1;
+  // width: 80%;
+  // margin-top: 20px;
+  margin: 20px;
   padding: 30px;
+  padding-top: 5px;
+  margin-top: 10px;
   background: #ffff;
   border: 1px solid #dcdfe6;
   -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
@@ -892,12 +1424,10 @@
     font-size: 20px;
   }
   .leftvlue-jbxx {
-    margin-bottom: 50px;
-    font-size: 20px;
-    span {
-      position: absolute;
-      right: 80px;
-    }
+    font-size: 24px;
+    border-left: 5px solid #41a1be;
+    padding-left: 5px;
+    margin: 15px 0;
   }
   .demo-cascader {
     margin-right: 20px;
@@ -917,12 +1447,44 @@
   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);
-  .topic-dev {
+  .scriptTopic-dev {
     margin-bottom: 25px;
     font-size: 20px !important;
     .dev-text {
       margin-bottom: 10px;
     }
+  }
+}
+.xinz-inf {
+  font-size: 18px;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+
+  line-height: 48px;
+
+  .el-tag + .el-tag {
+    margin-left: 10px;
+  }
+  .button-new-tag {
+    margin-left: 10px;
+    height: 32px;
+    line-height: 30px;
+    padding-top: 0;
+    padding-bottom: 0;
+  }
+  .input-new-tag {
+    width: 90px;
+    margin-left: 10px;
+    vertical-align: bottom;
+  }
+}
+.xinz-infs {
+  font-size: 18px;
+  line-height: 48px;
+
+  .el-tag + .el-tag {
+    margin-left: 10px;
   }
 }
 .addtopic {
@@ -932,8 +1494,18 @@
   margin: 20px 0;
   display: flex;
   .presentation-left {
-    width: 50%;
-    height: 500px;
+    width: 45%;
+    // height: 500px;
+    .button-textxg {
+      color: #024df0;
+    }
+    .button-textsc {
+      color: #f52727;
+    }
+  }
+  .spresentation-left {
+    width: 100%;
+    // height: 500px;
     .button-textxg {
       color: #024df0;
     }
@@ -942,23 +1514,35 @@
     }
   }
   .presentation-right {
-    width: 50%;
-    height: 500px;
-    padding: 20px;
+    width: 55%;
+    max-height: 688px;
+    padding: 0 20px;
     font-size: 18px;
-    border: 1px solid #909091;
-    span {
-      padding: 0 35px;
-      margin-right: 10px;
-      border-bottom: 1px solid #909091;
-    }
+    overflow: auto;
     .headline {
       font-size: 20px;
       border-left: 3px solid #41a1be;
       padding-left: 5px;
       margin: 15px 0;
     }
+    .topicxq {
+      background-color: #e2f5fc;
+      border-radius: 4px;
+      margin-top: 10px;
+      padding-left: 10px;
+      padding-top: 15px;
+    }
   }
+}
+.custom-width {
+  width: 100px; /* 璁剧疆瀹藉害鏍峰紡 */
+}
+.el-select {
+  width: 40%;
+}
+
+.el-cascader {
+  width: 40%;
 }
 ::v-deep .addtopic-input {
   input {
@@ -971,7 +1555,7 @@
   font-size: 25px;
 }
 ::v-deep.el-input--medium {
-  font-size: 24px !important;
+  font-size: 18px !important;
 }
 ::v-deep.ruleFormaa.el-select {
   display: inline-block;
@@ -986,7 +1570,7 @@
   width: 22px;
   height: 22px;
 }
-// ::v-deep.topic-dev.el-radio__label {
+// ::v-deep.scriptTopic-dev.el-radio__label {
 //   font-size: 24px;
 // }
 ::v-deep.el-radio-group {

--
Gitblit v1.9.3