From e06cd3953ba8a6e0eee11c235bce9ced419a2800 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期三, 03 六月 2026 14:05:08 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/questionnaire/compilequer/index.vue |  284 +++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 208 insertions(+), 76 deletions(-)

diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index 1e7b1a2..3f34e32 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -117,27 +117,6 @@
               </el-form-item>
             </el-col>
           </el-row>
-          <!-- <el-row :gutter="20">
-            <el-col :span="10">
-              <el-form-item label="闀挎湡浠诲姟" prop="longTemp">
-                <el-radio-group v-model="ruleForm.longTemp">
-                  <el-radio
-                    v-for="(item, index) in longtype"
-                    :label="item.value"
-                    >{{ item.label }}</el-radio
-                  >
-                </el-radio-group>
-              </el-form-item>
-            </el-col>
-            <el-col :span="8" v-if="ruleForm.longTemp">
-              <el-form-item label="浠诲姟鍛ㄦ湡锛堝嚑澶╁悗锛�" prop="name">
-                <el-input
-                  v-model="ruleForm.sendDay"
-                  placeholder="榛樿5澶╁悗"
-                ></el-input>
-              </el-form-item>
-            </el-col>
-          </el-row> -->
 
           <el-row>
             <el-form-item prop="dynamicTags">
@@ -396,6 +375,20 @@
                     <dict-tag
                       :options="askvaluetype"
                       :value="scope.row.scriptType"
+                    />
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  label="缁村害"
+                  align="center"
+                  key="dimension"
+                  prop="dimension"
+                  :show-overflow-tooltip="true"
+                >
+                  <template slot-scope="scope">
+                    <dict-tag
+                      :options="dict.type.dimensionality_type"
+                      :value="scope.row.dimension"
                     />
                   </template>
                 </el-table-column>
@@ -672,33 +665,43 @@
                       </el-col>
                     </el-row>
                     <el-row>
-                      <el-form-item label="鍏宠仈鏈嶅姟">
-                        <div
-                          v-if="item.sendTaskname"
-                          class="service-tag-container"
-                        >
-                          <el-tag
-                            type="success"
-                            closable
-                            @close="removeService(item)"
-                            class="service-tag"
+                      <el-col :span="12">
+                        <el-form-item label="鍏宠仈鏈嶅姟">
+                          <div
+                            v-if="item.sendTaskname"
+                            class="service-tag-container"
                           >
-                            <i class="el-icon-connection service-icon"></i>
-                            {{ item.sendTaskname }}
-                          </el-tag>
-                        </div>
-                        <div v-else class="service-add-btn">
-                          <el-button
-                            type="success"
-                            size="small"
-                            icon="el-icon-plus"
-                            @click="openServiceDialog(item)"
-                            class="add-service-btn"
-                          >
-                            閫夋嫨浠诲姟
-                          </el-button>
-                        </div>
-                      </el-form-item>
+                            <el-tag
+                              type="success"
+                              closable
+                              @close="removeService(item)"
+                              class="service-tag"
+                            >
+                              <i class="el-icon-connection service-icon"></i>
+                              {{ item.sendTaskname }}
+                            </el-tag>
+                          </div>
+                          <div v-else class="service-add-btn">
+                            <el-button
+                              type="success"
+                              size="small"
+                              icon="el-icon-plus"
+                              @click="openServiceDialog(item)"
+                              class="add-service-btn"
+                            >
+                              閫夋嫨浠诲姟
+                            </el-button>
+                          </div>
+                        </el-form-item>
+                      </el-col>
+                      <el-col :span="12">
+                        <el-form-item label="榛樿閫夐」">
+                          <el-radio-group v-model="item.defaultValue">
+                            <el-radio :label="2">鏄�</el-radio>
+                            <el-radio :label="1">鍚�</el-radio>
+                          </el-radio-group>
+                        </el-form-item>
+                      </el-col>
                     </el-row>
                     <el-row :gutter="10">
                       <el-col :span="11">
@@ -719,9 +722,9 @@
                             <el-option
                               :value="2"
                               label="璀﹀憡"
-                              :style="{ color: '#fbfb4a' }"
+                              :style="{ color: '#FFBA00' }"
                             >
-                              <span style="color: #fbfb4a">鈼� 璀﹀憡</span>
+                              <span style="color: #ffba00">鈼� 璀﹀憡</span>
                             </el-option>
                             <el-option
                               :value="1"
@@ -787,6 +790,14 @@
                 </div>
                 <div v-else>
                   <div class="topicxq">
+                    <el-row>
+                      <el-form-item label="鏄惁浣滀负鎰忚鏀堕泦棰樼洰">
+                        <el-radio-group v-model="topicobj.isMydException">
+                          <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
@@ -847,7 +858,7 @@
               v-if="item.scriptType == 1"
             >
               <div class="dev-text">
-                {{ item.sort }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span>
+                {{ item.sort }}. [鍗曢�塢<span>{{ item.scriptContent }}</span>
               </div>
               <div class="dev-xx">
                 <el-radio-group v-model="item.remark">
@@ -867,7 +878,7 @@
               v-if="item.scriptType == 2"
             >
               <div class="dev-text">
-                {{ item.sort }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
+                {{ item.sort }}. [澶氶�塢<span>{{ item.scriptContent }}</span>
               </div>
               <div class="dev-xx">
                 <el-checkbox-group v-model="qremark">
@@ -1187,15 +1198,15 @@
                     <div class="basics">
                       閫夐」璁剧疆
                       <span style="margin-left: 30px"
-                        ><el-button type="primary" round @click="addoption"
-                          >+鏂板</el-button
+                        ><el-button class="addoption-btn" @click="addoption"
+                          >+鏂板閫夐」</el-button
                         ></span
                       >
                     </div>
                   </div>
                   <el-divider></el-divider>
                   <div
-                    class="topicxq"
+                    class="topic-card"
                     v-for="item in indexform.svyLibTemplateTargetoptions"
                     v-if="item.isoperation != 3"
                   >
@@ -1205,7 +1216,7 @@
                           <el-input
                             style="width: 400px"
                             type="text"
-                            placeholder="璇疯緭鍏ラ�夐」鍒嗗��"
+                            placeholder="璇疯緭鍏ラ�夐」鍚嶇О"
                             v-model="item.optioncontent"
                             show-word-limit
                           >
@@ -1483,8 +1494,12 @@
 import { deptTreeSelect } from "@/api/system/user";
 
 export default {
-  name: "Questionnaireinfo",
-  dicts: ["sys_normal_disable", "sys_user_sex", "task_status"],
+  dicts: [
+    "sys_normal_disable",
+    "dimensionality_type",
+    "sys_user_sex",
+    "task_status",
+  ],
   components: { OptionalForm },
 
   data() {
@@ -2150,14 +2165,19 @@
           '鏄惁纭鏂板鍚嶇О涓�"' + this.indexform.scriptTopic + '"鐨勯棶棰樻暟鎹紵'
         )
         .then(() => {
+          // 鉁� 寮哄埗鍒濆鍖�
+          if (!Array.isArray(this.indexform.svyLibTemplateTargetoptions)) {
+            this.$set(this.indexform, "svyLibTemplateTargetoptions", []);
+          }
+
           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("闂鏂板鎴愬姛锛屼繚瀛樻ā鏉垮け鏁�");
         });
@@ -2549,14 +2569,22 @@
     // ---------------------------------------------------------
     // 鏂伴棶棰樻柊澧�
     addoption() {
-      if (!this.indexform.svyLibTemplateTargetoptions) {
-        this.indexform.svyLibTemplateTargetoptions = [];
+      if (!Array.isArray(this.indexform.svyLibTemplateTargetoptions)) {
+        this.$set(this.indexform, "svyLibTemplateTargetoptions", []);
       }
+
       this.indexform.svyLibTemplateTargetoptions.push({
+        tempId: Date.now() + Math.random(),
+        optioncontent: "",
         score: "",
         isoperation: 1,
       });
-      console.log(this.indexform.svyLibTemplateTargetoptions);
+    },
+    deletexuanx(item) {
+      this.indexform.svyLibTemplateTargetoptions =
+        this.indexform.svyLibTemplateTargetoptions.filter(
+          (opt) => opt.tempId !== item.tempId
+        );
     },
     // 閫夐」鏂囦欢涓婁紶
     handleChange(item, response, file, fileList) {
@@ -2587,9 +2615,16 @@
 </script>
 
 <style lang="scss" scoped>
+$radius: 8px;
+$border: #e4e7ed;
+$bg-light: #f7f9fb;
+$primary: #409eff;
+$text-main: #303133;
+$text-sub: #606266;
 .Questionnairemanagement {
   // display: flex;
 }
+
 .sidecolumn {
   margin: 10px 20px 0 20px;
   padding: 20px;
@@ -2598,6 +2633,7 @@
   -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;
@@ -2611,20 +2647,25 @@
   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);
+
   .mulsz {
     font-size: 20px;
   }
+
   .leftvlue-jbxx {
-    display: flex; /* 浣跨敤 Flexbox 甯冨眬 */
+    display: flex;
+    /* 浣跨敤 Flexbox 甯冨眬 */
     justify-content: space-between;
     font-size: 24px;
     border-left: 5px solid #41a1be;
     padding-left: 5px;
     margin: 15px 0;
   }
+
   .demo-cascader {
     margin-right: 20px;
   }
+
   .PreviewTemplate {
     color: #02a7f0;
     cursor: pointer;
@@ -2632,6 +2673,7 @@
     margin: 0 20px;
   }
 }
+
 .preview-left {
   margin: 20px;
   //   margin: 20px;
@@ -2640,14 +2682,17 @@
   border: 1px solid #dcdfe6;
   -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
     0 0 6px 0 rgba(0, 0, 0, 0.04);
+
   .scriptTopic-dev {
     margin-bottom: 25px;
     font-size: 20px !important;
+
     .dev-text {
       margin-bottom: 10px;
     }
   }
 }
+
 .headline {
   display: flex;
   justify-content: space-between;
@@ -2656,6 +2701,7 @@
   padding-left: 5px;
   margin: 15px 0;
 }
+
 .xinz-inf {
   font-size: 18px;
   white-space: nowrap;
@@ -2667,6 +2713,7 @@
   .el-tag + .el-tag {
     margin-left: 10px;
   }
+
   .button-new-tag {
     margin-left: 10px;
     height: 32px;
@@ -2674,12 +2721,14 @@
     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;
@@ -2688,54 +2737,123 @@
     margin-left: 10px;
   }
 }
+
 .addtopic {
   margin-top: 30px;
 }
+
 .presentation {
   margin: 20px 0;
   display: flex;
+
   .presentation-left {
     width: 45%;
     max-height: 80vh;
     padding: 0 20px;
     font-size: 18px;
     overflow: auto;
+
     .button-textxg {
       color: #024df0;
     }
+
     .button-textsc {
       color: #f52727;
     }
   }
+
   .spresentation-left {
     width: 100%;
+
     // height: 500px;
     .button-textxg {
       color: #024df0;
     }
+
     .button-textsc {
       color: #f52727;
     }
   }
+
   .presentation-right {
-    width: 55%;
+    flex: 6;
+    min-width: 360px;
     max-height: 80vh;
-    padding: 0 20px;
-    font-size: 18px;
     overflow: auto;
+    padding: 20px;
+
     .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;
+      font-size: 18px;
+      font-weight: 600;
+      color: $text-main;
       padding-left: 10px;
-      padding-top: 15px;
+      border-left: 4px solid $primary;
+      margin-bottom: 16px;
     }
+
+    .topic-card {
+      background: #fff;
+      border: 1px solid $border;
+      border-radius: $radius;
+      padding: 20px;
+      margin-bottom: 16px;
+      transition: box-shadow 0.2s;
+
+      &:hover {
+        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
+      }
+
+      .el-form-item {
+        margin-bottom: 16px;
+      }
+
+      .el-form-item__label {
+        font-size: 14px;
+        color: $text-sub;
+      }
+    }
+  }
+}
+.demo-drawer {
+  .preview-left {
+    padding: 20px;
+
+    .headline {
+      font-size: 18px;
+      font-weight: 600;
+      margin-bottom: 12px;
+    }
+
+    .topic-card {
+      background: #fff;
+      border: 1px solid $border;
+      border-radius: $radius;
+      padding: 16px;
+      margin-bottom: 12px;
+
+      .el-form-item {
+        margin-bottom: 14px;
+      }
+
+      .el-button--primary {
+        background: $primary;
+        border-radius: 20px;
+        padding: 8px 16px;
+      }
+    }
+  }
+}
+.addoption-btn {
+  width: 100%;
+  border: 1px dashed $border;
+  color: $text-sub;
+  background: $bg-light;
+  border-radius: $radius;
+  height: 40px;
+
+  &:hover {
+    border-color: $primary;
+    color: $primary;
   }
 }
 .topicxq {
@@ -2749,6 +2867,7 @@
   -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
     0 0 6px 0 rgba(0, 0, 0, 0.04);
 }
+
 .service-tag-container {
   display: inline-block;
 
@@ -2851,6 +2970,7 @@
     opacity: 0;
     transform: scale(0.8) translateY(-5px);
   }
+
   to {
     opacity: 1;
     transform: scale(1) translateY(0);
@@ -2878,9 +2998,12 @@
     }
   }
 }
+
 .custom-width {
-  width: 100px; /* 璁剧疆瀹藉害鏍峰紡 */
+  width: 100px;
+  /* 璁剧疆瀹藉害鏍峰紡 */
 }
+
 .el-select {
   width: 280px;
 }
@@ -2888,6 +3011,7 @@
 .el-cascader {
   width: 40%;
 }
+
 ::v-deep .addtopic-input {
   input {
     background: #02a7f0;
@@ -2895,25 +3019,31 @@
     width: 150px;
   }
 }
+
 ::v-deep.el-step.is-vertical .el-step__title {
   font-size: 25px;
 }
+
 ::v-deep.el-input--medium {
   font-size: 18px !important;
 }
+
 ::v-deep.ruleFormaa.el-select {
   display: inline-block;
   position: relative;
   width: 700px;
 }
+
 .el-select__tags {
   font-size: 20px;
   max-width: 888px !important;
 }
+
 ::v-deep.el-radio__inner {
   width: 22px;
   height: 22px;
 }
+
 // ::v-deep.scriptTopic-dev.el-radio__label {
 //   font-size: 24px;
 // }
@@ -2922,11 +3052,13 @@
     font-size: 24px;
   }
 }
+
 ::v-deep.el-checkbox-group {
   span {
     font-size: 24px;
   }
 }
+
 // ::v-deep.el-form-item--medium .el-form-item__content {
 //   line-height: 36px;
 //   display: flex;

--
Gitblit v1.9.3