From b8085c12e2f5542210c8a73a997e0b88d39e18b0 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 20 三月 2025 16:45:56 +0800
Subject: [PATCH] 测试完成

---
 src/views/outsideChainwt.vue |  330 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 296 insertions(+), 34 deletions(-)

diff --git a/src/views/outsideChainwt.vue b/src/views/outsideChainwt.vue
index 99b818c..ce5773a 100644
--- a/src/views/outsideChainwt.vue
+++ b/src/views/outsideChainwt.vue
@@ -1,8 +1,19 @@
 <template>
   <div class="questionnaire">
     <div class="CONTENT" v-if="!accomplish">
-      <div class="title">{{ taskname ? taskname : "闂嵎" }}</div>
       <div class="preview-left">
+        <div class="toptitle">
+          <div class="title">{{ taskname ? taskname : "闂嵎" }}</div>
+          <div style="font-size: 22px; margin-bottom: 20px; line-height: 1.5">
+            {{
+              kcb
+                ? kcb
+                : "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�"
+            }}
+            <!-- 浜茬埍鐨勬偅鑰�/瀹跺睘鎮ㄥソ锛屼负浜嗘洿濂界殑浜嗚В鎮ㄥ嚭闄㈠悗鐨勫悍澶嶆儏鍐碉紝缁欐偍閫傚綋鍙婃椂鐨勫仴搴锋寚瀵硷紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤鍑洪櫌闅忚闂嵎璋冩煡銆� -->
+          </div>
+        </div>
+        <el-divider></el-divider>
         <!-- 鍗曢�� -->
         <div
           class="topic-dev"
@@ -11,15 +22,25 @@
         >
           <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 1">
             <div class="dev-text">
-              {{ index + 1 }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span>
+              {{ index + 1 }}銆�<span style="line-height: 1.5"
+                >{{ item.scriptContent }}
+                <span style="color: #3ba2f7">[鍗曢�塢</span></span
+              >
             </div>
             <div class="dev-xx">
               <el-radio-group
+                class="custom-radio"
                 v-model="item.scriptResult"
                 @change="handleOptionChange($event, index, item)"
               >
                 <el-radio
+                  border
                   v-for="(items, index) in item.svyLibTemplateTargetoptions"
+                  :class="
+                    items.isabnormal && item.scriptResult == items.optioncontent
+                      ? 'red-star'
+                      : ''
+                  "
                   :key="index"
                   :label="items.optioncontent"
                   >{{ items.optioncontent }}</el-radio
@@ -33,14 +54,19 @@
           <!-- 澶氶�� -->
           <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 2">
             <div class="dev-text">
-              {{ index + 1 }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
+              {{ index + 1 }}銆�<span style="line-height: 1.5"
+                >{{ item.scriptContent }}
+                <span style="color: #3ba2f7">[澶氶�塢</span></span
+              >
             </div>
             <div class="dev-xx">
               <el-checkbox-group
+                class="custom-radio"
                 v-model="item.scriptResult"
                 @change="updateScore($event, index, item)"
               >
                 <el-checkbox
+                  border
                   @change="$forceUpdate()"
                   v-for="(items, indexs) in item.svyLibTemplateTargetoptions"
                   :key="indexs"
@@ -50,6 +76,7 @@
                 </el-checkbox>
               </el-checkbox-group>
             </div>
+            <!-- :class="items.isabnormal ? 'red-star' : ''" -->
             <div v-show="item.prompt && item.scriptResult[0]">
               <el-alert :title="item.prompt" type="warning"> </el-alert>
             </div>
@@ -57,12 +84,15 @@
           <!-- 濉┖ -->
           <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 4">
             <div class="dev-text">
-              {{ index + 1 }}銆乕闂瓟]<span>{{ item.scriptContent }}</span>
+              {{ index + 1 }}銆�<span style="line-height: 1.5"
+                >{{ item.scriptContent
+                }}<span style="color: #3ba2f7">[闂瓟]</span></span
+              >
             </div>
             <div class="dev-xx">
               <el-input
                 type="textarea"
-                :rows="2"
+                :rows="3"
                 placeholder="璇疯緭鍏ョ瓟妗�"
                 v-model="item.scriptResult"
                 clearable
@@ -71,28 +101,47 @@
             </div>
           </div>
         </div>
+        <div class="bottom-fixed">
+          <el-button
+            type="primary"
+            style="width: 80%; font-size: 20px"
+            @click="cache(true)"
+            >鎻愪氦闂嵎</el-button
+          >
+        </div>
       </div>
-      <el-form :model="formData" label-width="80px">
-        <el-form-item>
-          <el-button type="primary" @click="cache(true)">鎻愪氦闂嵎</el-button>
-          <!-- <el-button type="primary" @click="cache">缂撳瓨闂嵎</el-button> -->
-        </el-form-item>
-      </el-form>
     </div>
     <div class="CONTENT" v-else>
-      <div class="preview-left" style="margin-top: 100px;">
-        <div style="font-size: 24px;color: #175997; font-weight: 600; margin-bottom: 10px;">鎰熻阿鎮ㄧ殑閰嶅悎!</div>
-        <div style="font-size: 20px;">閭eソ鐨勶紝鎮ㄨ鐨勮繖浜涙儏鍐垫垜閮借涓嬫潵浜嗭紝鎮ㄨ繖杈硅寰楄鎸夌収鍖荤敓璇寸殑澶嶈瘖鏃堕棿鏉ラ櫌澶嶆煡銆傚缓璁偍鍚堢悊钀ュ吇锛岄ギ椋熸竻娣★紝澶氬悆瀵屽惈绾ょ淮绱犵殑椋熺墿锛岄伩鍏嶈緵杈e埡婵�鎬ч鐗╋紝閫傚害鐨勫悍澶嶉敾鐐硷紝濡傛暎姝ャ�佽笣娉佃繍鍔ㄧ瓑锛岄闃茶鏍撳舰鎴愩�傚鏋滄湁浠讳綍涓嶉�傛垨鐤戦棶锛屼篃璇烽殢鏃朵笌鎴戜滑鑱旂郴銆傞偅鏈鍥炶鍒版缁撴潫锛岀鎮ㄨ韩浣撳仴搴凤紒</div>
+      <div class="preview-lefts">
+        <div
+          style="
+            text-align: center;
+            padding-top: 50px;
+            font-size: 24px;
+            color: #175997;
+            font-weight: 600;
+            margin-bottom: 10px;
+          "
+        >
+          鎰熻阿鎮ㄧ殑閰嶅悎!
+        </div>
+        <div style="font-size: 20px">
+          {{
+            jsy
+              ? jsy
+              : "鐢熸椿涓婅鍔抽�哥粨鍚堬紝娉ㄦ剰浼戞伅鍜岃惀鍏伙紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒"
+          }}
+        </div>
       </div>
     </div>
-    <el-dialog
+    <!-- <el-dialog
       :visible.sync="dialogVisible"
       width="50%"
     >
       <div>
-        <el-alert :title="revisitAfter" type="success"> </el-alert>
+        <el-alert :title="jsy" type="success"> </el-alert>
       </div>
-    </el-dialog>
+    </el-dialog> -->
   </div>
 </template>
 
@@ -109,11 +158,99 @@
     return {
       taskid: 355,
       patid: 265823,
-      questionList: null,
-      revisitAfter: null,
-      dialogVisible:false,
+      kcb: "",
+      excep:'',
+      questionList: [
+        // {
+        //   scriptType: 1,
+        //   scriptContent: "鎮ㄧ殑骞撮緞鑼冨洿鏄紵",
+        //   scriptResult: null,
+        //   svyLibTemplateTargetoptions: [
+        //     { optioncontent: "18-25", value: "18-25", isabnormal: true },
+        //     { optioncontent: "26-35", value: "26-35" },
+        //     { optioncontent: "36-45", value: "36-45" },
+        //     { optioncontent: "46-55", value: "46-55" },
+        //     { optioncontent: "56+", value: "56+" },
+        //   ],
+        //   required: true,
+        // },
+        // {
+        //   scriptType: 1,
+        //   scriptContent: "鎮ㄧ殑鑱屼笟鏄粈涔堬紵",
+        //   scriptResult: null,
+        //   svyLibTemplateTargetoptions: [
+        //     { optioncontent: "瀛︾敓", value: "student" },
+        //     { optioncontent: "鏁欏笀", value: "teacher" },
+        //     { optioncontent: "宸ョ▼甯�", value: "engineer" },
+        //     { optioncontent: "鍖荤敓", value: "doctor" },
+        //     { optioncontent: "鍏朵粬", value: "other" },
+        //   ],
+        //   required: false,
+        // },
+        // {
+        //   scriptType: 2,
+        //   scriptContent: "鎮ㄦ劅鍏磋叮鐨勬椿鍔ㄦ湁鍝簺锛�",
+        //   scriptResult: [],
+        //   svyLibTemplateTargetoptions: [
+        //     { optioncontent: "鏃呮父", value: "travel", isabnormal: true },
+        //     { optioncontent: "闃呰", value: "reading", isabnormal: true },
+        //     { optioncontent: "杩愬姩", value: "sports", isabnormal: true },
+        //     { optioncontent: "闊充箰", value: "music" },
+        //     { optioncontent: "鐢靛奖", value: "movies" },
+        //   ],
+        //   required: false,
+        // },
+        // {
+        //   scriptType: 1,
+        //   scriptContent: "鎮ㄧ殑鑱屼笟鏄粈涔堬紵",
+        //   scriptResult: null,
+        //   svyLibTemplateTargetoptions: [
+        //     { optioncontent: "瀛︾敓", value: "student" },
+        //     { optioncontent: "鏁欏笀", value: "teacher" },
+        //     { optioncontent: "宸ョ▼甯�", value: "engineer" },
+        //     { optioncontent: "鍖荤敓", value: "doctor" },
+        //     { optioncontent: "鍏朵粬", value: "other" },
+        //   ],
+        //   required: false,
+        // },
+        // {
+        //   scriptType: 1,
+        //   scriptContent: "鎮ㄧ殑鑱屼笟鏄粈涔堬紵",
+        //   scriptResult: null,
+        //   svyLibTemplateTargetoptions: [
+        //     { optioncontent: "瀛︾敓", value: "student" },
+        //     { optioncontent: "鏁欏笀", value: "teacher" },
+        //     { optioncontent: "宸ョ▼甯�", value: "engineer", isabnormal: true },
+        //     { optioncontent: "鍖荤敓", value: "doctor" },
+        //     { optioncontent: "鍏朵粬", value: "other" },
+        //   ],
+        //   required: false,
+        // },
+        // {
+        //   scriptType: 1,
+        //   scriptContent: "鎮ㄧ殑鑱屼笟鏄粈涔堬紵",
+        //   scriptResult: null,
+        //   svyLibTemplateTargetoptions: [
+        //     { optioncontent: "瀛︾敓", value: "student" },
+        //     { optioncontent: "鏁欏笀", value: "teacher" },
+        //     { optioncontent: "宸ョ▼甯�", value: "engineer" },
+        //     { optioncontent: "鍖荤敓", value: "doctor" },
+        //     { optioncontent: "鍏朵粬", value: "other" },
+        //   ],
+        //   required: false,
+        // },
+        // {
+        //   scriptType: 4,
+        //   scriptContent: "鎮ㄧ殑濮撳悕鏄粈涔堬紵",
+        //   scriptResult: "name",
+        //   required: true,
+        //   scriptResult: null,
+        // },
+      ],
+      jsy: null,
+      dialogVisible: false,
       Endornot: true,
-      accomplish:true,
+      accomplish: false,
       // 鍓嶇鍏挜
       publicKey:
         "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKR0yHv0rbJWQE+Sc7/FwpW66qMd9qX2k6z+SDgkSdxWh/1GbBoAP7bDQQRF6vXmoKsD2ya42H6XRLSDXAoayuMCAwEAAQ== ",
@@ -155,7 +292,7 @@
         (res) => {
           if (res.code == 200) {
             this.questionList = res.data;
-            this.accomplish=res.data.submit
+            this.accomplish = res.data.submit;
             if (this.questionList[0]) {
               this.questionList.forEach((item) => {
                 if (item.scriptResult && item.scriptType != 2) {
@@ -180,7 +317,8 @@
         (res) => {
           if (res.code == 200) {
             this.questionList = res.data.script;
-            this.revisitAfter = res.data.revisitAfter;
+            this.jsy = res.data.jsy;
+            this.kcb = res.data.kcb;
             // 澶勭悊棰樼洰鏀堕泦缁撴灉鏍煎紡
             this.questionList.forEach((item) => {
               item.nextScriptno = Number(item.nextScriptno);
@@ -210,6 +348,7 @@
       let form = {
         param1: this.taskid,
         param2: this.patid,
+        excep:this.excep,
         serviceSubtaskDetailList: [],
       };
       const arr = structuredClone(this.questionList);
@@ -222,9 +361,10 @@
       form.serviceSubtaskDetailList = arr;
       Submitaquestionnaire(form).then((res) => {
         if (res.code == 200) {
-          if (this.revisitAfter) {
-            this.dialogVisible=true
+          if (this.jsy) {
+            this.dialogVisible = true;
           }
+          this.accomplish = true;
           this.$modal.msgSuccess("鎻愪氦鎴愬姛");
         }
       });
@@ -238,6 +378,20 @@
         svyLibTemplateScriptVOS: [],
       };
       const arr = structuredClone(this.questionList);
+      console.log(arr,'srr')
+      arr.forEach((item, index) => {
+        var obj = item.svyLibTemplateTargetoptions.find(
+          (items) => items.optioncontent == item.scriptResult
+        );
+        if (obj) {
+          if (obj.isabnormal) {
+            console.log(obj.isabnormal);
+            form.excep = 1;
+            this.excep=1;
+          }
+        }
+      });
+
       arr.forEach((item) => {
         if (item.scriptType == 2 && item.scriptResult[0]) {
           item.scriptResult = item.scriptResult.join("&");
@@ -248,7 +402,6 @@
       form.svyLibTemplateScriptVOS = arr;
       Cachequestionnaire(form).then((res) => {
         if (res.code == 200) {
-          this.$modal.msgSuccess("鎻愪氦鎴愬姛");
           if (subm) {
             this.submitForm();
           }
@@ -288,7 +441,8 @@
 
 <style lang="scss" scoped>
 .questionnaire {
-  background-image: url("../assets/images/chainbackground.jpg");
+  // background-image: url("../assets/images/chainbackground.jpg");
+  background-color: #f9f9fb;
   background-size: cover;
   background-attachment: fixed; /* 淇濇寔鑳屾櫙鍥哄畾 */
   background-position: center;
@@ -297,8 +451,8 @@
   margin: 0;
   padding: 0;
   .CONTENT {
-    padding: 10px;
     .title {
+      color: #3769f3;
       font-size: 22px;
       font-weight: bold;
       margin-bottom: 20px;
@@ -307,9 +461,13 @@
   }
 }
 .preview-left {
-  margin: 20px;
+  margin: 10px;
+  margin-bottom: 60px;
+  background-color: #fff;
+  border-radius: 5px;
   //   margin: 20px;
-  padding: 30px;
+  padding: 10px;
+  height: 100%;
   // background: #ffff;
   border: 1px solid #dcdfe6;
   -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
@@ -322,14 +480,118 @@
     }
   }
 }
+.preview-lefts {
+  margin: 10px;
+  background-color: #fff;
+  border-radius: 5px;
+  //   margin: 20px;
+  padding: 10px;
+  height: 95vh; // background: #ffff;
+  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 {
+    margin-bottom: 25px;
+    font-size: 20px !important;
+    .dev-text {
+      margin-bottom: 10px;
+    }
+  }
+}
+
+.red-star {
+  ::v-deep.el-radio__label {
+    position: relative;
+    padding-right: 10px; /* 鏍规嵁闇�瑕佽皟鏁� */
+  }
+  ::v-deep.el-radio__label::after {
+    content: "*";
+    color: red;
+    position: absolute;
+    right: -5px; /* 鏍规嵁闇�瑕佽皟鏁� */
+    top: 0;
+  }
+  ::v-deep.el-checkbox__label {
+    position: relative;
+    padding-right: 10px; /* 鏍规嵁闇�瑕佽皟鏁� */
+  }
+  ::v-deep.el-checkbox__label::after {
+    content: "*";
+    color: red;
+    position: absolute;
+    right: -5px; /* 鏍规嵁闇�瑕佽皟鏁� */
+    top: 0;
+  }
+}
+::v-deep.el-checkbox-group {
+  font-size: 0;
+  display: flex;
+  flex-direction: column;
+  margin: 5px 0;
+}
+::v-deep.el-checkbox.is-bordered + .el-checkbox.is-bordered {
+  margin-left: 0;
+}
+
+::v-deep.el-radio-group {
+  display: flex;
+  flex-direction: column;
+  margin: 5px 0;
+}
+::v-deep.el-radio.is-bordered + .el-radio.is-bordered {
+  /* margin-left: 10px; */
+  margin-left: 0;
+}
+::v-deep.custom-radio .el-radio {
+  margin: 2px 0;
+}
+
+.radio-option {
+  flex: none; /* 涓嶈閫夐」鑷姩濉厖绌洪棿 */
+  white-space: nowrap; /* 闃叉閫夐」鏂囨湰鎹㈣ */
+  margin: 0 10px; /* 璁剧疆閫夐」宸﹀彸鐨勯棿闅� */
+  font-size: 20px; /* 澧炲ぇ瀛椾綋澶у皬 */
+}
+
+.el-radio__label {
+  font-size: 20px; /* 澧炲ぇ鏍囩鏂囧瓧澶у皬 */
+}
+.toptitle {
+}
+.bottom-fixed {
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  text-align: center;
+  padding: 10px 0; /* 鏍规嵁闇�瑕佽皟鏁村唴杈硅窛 */
+  background: #fff; /* 鏍规嵁闇�瑕佽皟鏁磋儗鏅鑹� */
+  box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1); /* 鍙�夌殑闃村奖鏁堟灉 */
+  z-index: 1000; /* 纭繚鎸夐挳鍦ㄩ〉闈㈡渶涓婂眰 */
+}
 ::v-deep.el-alert--warning.is-light {
-    background-color: #fbf9f3;
-    color: #ffba00;
+  background-color: #fbf9f3;
+  color: #ffba00;
 }
-::v-deep{
+::v-deep {
   .el-alert__title {
-    font-size: 18px;
+    font-size: 20px;
     line-height: 18px;
+  }
 }
+::v-deep.el-radio--medium.is-bordered .el-radio__label {
+  font-size: 20px;
+}
+::v-deep.el-radio--medium.is-bordered {
+  padding: 5px 20px 0px 10px;
+  border-radius: 4px;
+  height: 36px;
+}
+::v-deep.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label {
+  line-height: 17px;
+  font-size: 20px;
+}
+::v-deep.el-checkbox {
+  margin-right: 0px;
 }
 </style>

--
Gitblit v1.9.3