From adf7c9495ac348644079592059ea4c4d95b84b99 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 21 八月 2024 14:05:38 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/questionnaire/compilequer/index.vue |  629 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 520 insertions(+), 109 deletions(-)

diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index 8100549..97fef32 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -413,38 +413,57 @@
                     </el-form-item>
                   </el-col>
                 </el-row>
+                <el-row :gutter="10">
+                  <el-col :span="12"
+                    ><el-form-item label="棰樼洰绫诲瀷">
+                      <el-select
+                        v-model="topicobj.scriptType"
+                        disabled
+                        size="medium"
+                        filterable
+                        placeholder="璇烽�夋嫨鍒嗙被"
+                      >
+                        <el-option
+                          class="topicobjaa"
+                          v-for="item in askvaluetype"
+                          :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-input
+                        v-model="topicobj.scriptTopic"
+                        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-radio-group v-model="topicobj.ismandatory">
+                        <el-radio
+                          v-for="(item, index) in required"
+                          :label="item.value"
+                          >{{ item.label }}</el-radio
                         >
-                        </el-option>
-                      </el-select> </el-form-item
-                  ></el-col>
+                      </el-radio-group>
+                    </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-radio-group v-model="topicobj.isavailable">
+                        <el-radio
+                          v-for="(item, index) in usable"
+                          :label="item.value"
+                          >{{ item.label }}</el-radio
                         >
-                        </el-option>
-                      </el-select> </el-form-item
-                  ></el-col>
+                      </el-radio-group>
+                    </el-form-item></el-col
+                  >
                 </el-row>
                 <el-row>
                   <el-col :span="12">
@@ -465,7 +484,9 @@
                     <el-radio :label="0">鍚�</el-radio>
                   </el-radio-group>
                 </el-form-item>
-                <div v-if="topicobj.scriptType != 3">
+                <div
+                  v-if="topicobj.scriptType == 1 || topicobj.scriptType == 2"
+                >
                   <div class="headline">閫夐」璁剧疆</div>
                   <div
                     class="topicxq"
@@ -565,7 +586,7 @@
                         <el-input
                           style="width: 20vw"
                           type="textarea"
-                          autosize
+                          :rows="2"
                           placeholder="姝ゅ鏀剧疆鎮h�呭洖绛�"
                           v-model="topicobj.reply"
                         >
@@ -573,6 +594,18 @@
                       ></el-form-item>
                     </el-row>
                     <el-form-item label="鍒嗗��">
+                      <template #label>
+                        鍒嗗��
+                        <el-tooltip
+                          class="item"
+                          effect="light"
+                          content="濉┖棰樺垎鏁板�肩敱璐熻矗浜哄憳鍦ㄩ棶鍗锋墜鏈哄悗鎵嬪姩璇勪环銆�"
+                          placement="top-start"
+                        >
+                          <i class="el-icon-warning-outline"></i>
+                        </el-tooltip>
+                        <!-- 鍦ㄦ爣绛惧悗鎻掑叆绾㈣壊鏄熷彿 -->
+                      </template>
                       <el-input
                         type="text"
                         placeholder="璇疯緭鍏ラ�夐」鍒嗗��"
@@ -673,83 +706,397 @@
       custom-class="demo-drawer"
       size="50%"
     >
-      <div class="preview-left">
-        <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
+      <div style="margin: 0 25px">
+        <el-tabs v-model="activeName">
+          <el-tab-pane label="棰樺簱閫夊彇" name="first">
+            <div class="preview-left">
+              <el-form
+                :model="queryParams"
+                ref="queryForm"
+                size="small"
+                :inline="true"
+                label-width="98px"
               >
-            </template>
-          </el-table-column>
-        </el-table>
-        <pagination
-          v-show="total > 0"
-          :total="total"
-          :page.sync="queryParams.pageNum"
-          :limit.sync="queryParams.pageSize"
-          @pagination="getaddtopiclist"
-        />
+                <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 label="棰樼洰绫诲瀷" prop="scriptTopic">
+                  <el-select
+                    v-model="queryParams.scriptType"
+                    size="medium"
+                    filterable
+                    placeholder="璇烽�夋嫨鍒嗙被"
+                  >
+                    <el-option
+                      class="topicobjaa"
+                      v-for="item in askvaluetype"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+
+                <el-form-item>
+                  <el-button
+                    type="primary"
+                    icon="el-icon-search"
+                    size="medium"
+                    @click="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
+                    >
+                  </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-tab-pane>
+          <el-tab-pane label="鎵嬪姩閰嶇疆" name="second">
+            <div class="preview-left">
+              <el-form
+                :inline="true"
+                :model="indexform"
+                class="demo-form-inline"
+              >
+                <div class="headline">
+                  棰樼洰璁剧疆璇︽儏
+                  <span style="margin-left: 30px"
+                    ><el-button type="primary" @click="Submittopicobj"
+                      >淇濆瓨鏂板</el-button
+                    ></span
+                  >
+                </div>
+                <el-divider></el-divider>
+                <div>
+                  <el-row :gutter="10">
+                    <el-col :span="12">
+                      <el-form-item label="棰樼洰鏍囬">
+                        <el-input
+                          v-model="indexform.scriptTopic"
+                          placeholder="璇疯緭鍏ラ鐩爣棰�"
+                        ></el-input>
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                      <el-form-item label="棰樼洰寰楀垎">
+                        <el-input
+                          v-model="indexform.score"
+                          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="indexform.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-col :span="12">
+                      <el-form-item label="璇█">
+                        <el-select
+                          v-model="indexform.language"
+                          size="medium"
+                          filterable
+                          placeholder="璇烽�夋嫨鍒嗙被"
+                        >
+                          <el-option
+                            class="topicobjaa"
+                            v-for="item in languagelist"
+                            :key="item.value"
+                            :label="item.label"
+                            :value="item.value"
+                          >
+                          </el-option>
+                        </el-select>
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+                  <el-row :gutter="10">
+                    <el-col :span="12">
+                      <el-form-item label="鏄惁鍙敤">
+                        <el-radio-group v-model="indexform.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-col :span="12">
+                      <el-form-item label="鏄惁蹇呭~">
+                        <el-radio-group v-model="indexform.ismandatory">
+                          <el-radio
+                            v-for="(item, index) in required"
+                            :label="item.value"
+                            >{{ item.label }}</el-radio
+                          >
+                        </el-radio-group>
+                      </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
+                      v-model="indexform.targetname"
+                      placeholder="璇疯緭鍏ユ寚鏍囧悕绉�"
+                      maxlength="20"
+                    />
+                  </el-form-item>
+                  <el-form-item label="鎸囨爣鎻忚堪" prop="deptId">
+                    <el-input
+                      v-model="indexform.targetdesc"
+                      placeholder="璇疯緭鍏ユ寚鏍囨弿杩�"
+                      maxlength="60"
+                    />
+                  </el-form-item>
+
+                  <el-row>
+                    <el-col :span="20">
+                      <el-form-item label="鍊肩被鍨�">
+                        <el-radio-group v-model="indexform.valueType">
+                          <el-radio :label="1">閫夐」</el-radio>
+                          <el-radio :label="2">鏂囨湰</el-radio>
+                          <el-radio :label="3">鏁板��</el-radio>
+                        </el-radio-group>
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+                  <el-row>
+                    <el-col :span="20">
+                      <el-form-item label="棰樼洰绫诲瀷">
+                        <el-radio-group v-model="indexform.scriptType">
+                          <el-radio :label="1">鍗曢��</el-radio>
+                          <el-radio :label="2">澶氶��</el-radio>
+                          <el-radio :label="4">闂瓟</el-radio>
+                        </el-radio-group>
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+                </div>
+                <div class="topicxq" v-if="indexform.scriptType == 4">
+                  <el-row>
+                    <el-col :span="20">
+                      <el-form-item label="鏀堕泦鍐呭">
+                        <el-input
+                          style="width: 400px"
+                          type="textarea"
+                          v-model="indexform.value"
+                          placeholder="闂鏀堕泦鍐呭"
+                        ></el-input>
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+                </div>
+
+                <div v-else>
+                  <div class="headline">
+                    <div class="basics">
+                      閫夐」璁剧疆
+                      <span style="margin-left: 30px"
+                        ><el-button type="primary" round @click="addoption"
+                          >+鏂板</el-button
+                        ></span
+                      >
+                    </div>
+                  </div>
+                  <el-divider></el-divider>
+                  <div
+                    class="topicxq"
+                    v-for="item in indexform.svyLibTemplateTargetoptions"
+                    v-if="item.isoperation != 3"
+                  >
+                    <el-row :gutter="10">
+                      <el-col :span="11"
+                        ><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="11">
+                        <el-form-item
+                          v-if="indexform.scoretype == 1"
+                          label="鍒嗗��"
+                        >
+                          <el-input
+                            type="text"
+                            placeholder="璇疯緭鍏ラ�夐」鍒嗗��"
+                            v-model="item.score"
+                            show-word-limit
+                          >
+                          </el-input>
+                        </el-form-item>
+                        <el-form-item
+                          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-group>
+                        </el-form-item>
+                        <el-form-item
+                          v-else-if="indexform.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-col
+                        :span="2"
+                        :offsset="indexform.scoretype == 4 ? 11 : 0"
+                      >
+                        <el-button
+                          type="danger"
+                          icon="el-icon-delete"
+                          circle
+                          @click="deletexuanx(item)"
+                        ></el-button>
+                      </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">
+                      <el-form-item label="閫変腑鎻愮ず">
+                        <el-input
+                          style="width: 400px"
+                          type="textarea"
+                          autosize
+                          placeholder="璇疯緭鍏ュ唴瀹�"
+                          v-model="item.prompt"
+                        >
+                        </el-input
+                      ></el-form-item>
+                    </el-row>
+                    <el-form-item label="閫夐」鏂囦欢" prop="sickness">
+                      <div style="width: 40vw">
+                        <el-upload
+                          class="upload-demo"
+                          :action="uploadImgUrl"
+                          :headers="headers"
+                          accept=".jpg,.png,image/*"
+                          :on-success="handleChange.bind(this, item)"
+                        >
+                          <el-button size="small" type="primary"
+                            >鐐瑰嚮涓婁紶</el-button
+                          >
+                        </el-upload>
+                        <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>
+                  </div>
+                </div>
+              </el-form>
+            </div>
+          </el-tab-pane>
+        </el-tabs>
       </div>
     </el-drawer>
     <!-- 娣诲姞閫傜敤鐤剧梾绐楀彛 -->
@@ -807,6 +1154,7 @@
       radio: "false", //鍗曢�夐閫変腑
       radios: [], //澶氶�夐閫変腑
       radioas: "", //濉┖棰樼瓟妗�
+      activeName: "first",
       dynamicTags: [],
       inputVisible: false,
       dialogVisiblepatient: false, //閫傜敤鐤剧梾绐楀彛
@@ -818,6 +1166,9 @@
         svyTemplateLibScripts: [],
         tempDetpRelevances: [],
         svyLibTemplateTagList: [],
+      },
+      indexform: {
+        svyLibTemplateTargetoptions: [],
       },
       rules: {},
       rulesa: {},
@@ -998,8 +1349,7 @@
     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) => {
@@ -1014,9 +1364,7 @@
         compileQtemplate(this.ruleForm).then((res) => {
           this.$modal.msgSuccess("鏂板鎴愬姛");
           this.confirmillness(res.data);
-
           this.$modal.closeLoading();
-
           this.$router.go(-1);
         });
       }
@@ -1046,7 +1394,6 @@
       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;
         }
@@ -1158,7 +1505,24 @@
     },
 
     // 淇敼棰樼洰淇℃伅
-    Submittopicobj() {},
+    Submittopicobj() {
+      this.$modal
+        .confirm(
+          '鏄惁纭鏂板鍚嶇О涓�"' + this.indexform.scriptTopic + '"鐨勯棶棰樻暟鎹紵'
+        )
+        .then(() => {
+          this.indexform.isoperation = 1;
+          this.indexform.svyLibTemplateTargetoptions.forEach((item) => {
+            item.isoperation = 1;
+          });
+          this.ruleForm.svyTemplateLibScripts.push(this.indexform);
+          this.indexform = { svyTemplateLibScripts: [] };
+          this.drawer = false;
+
+          this.sortFn();
+          this.$modal.msgSuccess("棰樼洰鏂板鎴愬姛锛屼繚瀛樻ā鐗堝け鏁�");
+        });
+    },
     // 鏂板鍙橀噺
     addvariable() {
       this.variablelist.push({
@@ -1391,6 +1755,34 @@
 
       console.log(arraysGreaterThan10, "绛涢�夐敊璇矾绾垮ぇ浜�13鍒�");
     },
+    // 鏂伴棶棰樻柊澧�
+    addoption() {
+      if (!this.indexform.svyLibTemplateTargetoptions) {
+        this.indexform.svyLibTemplateTargetoptions = [];
+      }
+      this.indexform.svyLibTemplateTargetoptions.push({
+        score: "",
+        isoperation: 1,
+      });
+      console.log(this.indexform.svyLibTemplateTargetoptions);
+    },
+    // 閫夐」鏂囦欢涓婁紶
+    handleChange(item, response, file, fileList) {
+      console.log(response);
+      if (response.code == 200) {
+        console.log(item);
+        let index = this.indexform.svyLibTemplateTargetoptions.findIndex(
+          (obj) => obj.optioncontent == item.optioncontent
+        );
+        console.log(index);
+        this.indexform.svyLibTemplateTargetoptions[index].picturePath =
+          response.url;
+        console.log(this.indexform.svyLibTemplateTargetoptions[index]);
+        this.$forceUpdate();
+      } else {
+        this.$message.error("鍥剧墖鎻掑叆澶辫触");
+      }
+    },
   },
 };
 </script>
@@ -1454,6 +1846,14 @@
       margin-bottom: 10px;
     }
   }
+}
+.headline {
+  display: flex;
+  justify-content: space-between;
+  font-size: 20px;
+  border-left: 3px solid #41a1be;
+  padding-left: 5px;
+  margin: 15px 0;
 }
 .xinz-inf {
   font-size: 18px;
@@ -1534,11 +1934,22 @@
     }
   }
 }
+.topicxq {
+  background-color: #e2f5fc;
+  border-radius: 4px;
+  margin-top: 15px;
+  margin-left: 10%;
+  padding-left: 20px;
+  padding-top: 15px;
+  border: 1px solid #dcdfe6;
+  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+    0 0 6px 0 rgba(0, 0, 0, 0.04);
+}
 .custom-width {
   width: 100px; /* 璁剧疆瀹藉害鏍峰紡 */
 }
 .el-select {
-  width: 40%;
+  width: 280px;
 }
 
 .el-cascader {

--
Gitblit v1.9.3