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

---
 src/views/patient/propaganda/QuestionnaireTask.vue |  194 ++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 170 insertions(+), 24 deletions(-)

diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index 4b8848b..47284f1 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -291,6 +291,83 @@
                       <!-- <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> -->
                     </el-form-item>
                   </div>
+                  <div
+                    style="
+                      margin-bottom: 20px;
+                      padding: 8px 12px;
+                      background-color: #f0f9ff;
+                      border-left: 4px solid #409eff;
+                    "
+                  >
+                    <p
+                      style="
+                        margin: 0;
+                        color: #606266;
+                        font-size: 13px;
+                        line-height: 1.4;
+                      "
+                    >
+                      <i
+                        class="el-icon-info"
+                        style="color: #409eff; margin-right: 6px"
+                      ></i>
+                      閽堝鍚屼竴鐤剧梾鍦ㄥ绉戝/鐥呭尯涓嬪瓨鍦ㄧ殑鎯呭喌锛屽彲閫夋嫨鎬ч厤缃浐瀹氱瀹�/鐥呭尯
+                    </p>
+                  </div>
+                  <!-- 鏂板锛氱柧鐥呭叧鑱斾笅鐨勭瀹ら厤缃紙鍗曢�夛級 -->
+                  <el-row :gutter="20" style="margin-top: 20px">
+                    <el-col :span="12">
+                      <el-form-item label="鍏宠仈绉戝" prop="diseaseDept">
+                        <el-select
+                          v-model="diseaseDept"
+                          style="width: 100%"
+                          clearable
+                          filterable
+                          placeholder="璇烽�夋嫨绉戝锛堝彲閫夛級"
+                          value-key="deptCode"
+                          @change="handleDiseaseDeptChange"
+                        >
+                          <el-option
+                            v-for="item in belongDepts"
+                            :key="item.deptCode"
+                            :label="item.deptName"
+                            :value="item"
+                          ></el-option>
+                        </el-select>
+                        <div v-if="diseaseDept" class="selected-info">
+                          宸查�夋嫨: {{ diseaseDept.deptName }} ({{
+                            diseaseDept.deptCode
+                          }})
+                        </div>
+                      </el-form-item>
+                    </el-col>
+
+                    <el-col :span="12">
+                      <el-form-item label="鍏宠仈鐥呭尯" prop="diseaseWard">
+                        <el-select
+                          v-model="diseaseWard"
+                          style="width: 100%"
+                          clearable
+                          filterable
+                          placeholder="璇烽�夋嫨鐥呭尯锛堝彲閫夛級"
+                          value-key="districtCode"
+                          @change="handleDiseaseWardChange"
+                        >
+                          <el-option
+                            v-for="item in belongWards"
+                            :key="item.districtCode"
+                            :label="item.districtName"
+                            :value="item"
+                          ></el-option>
+                        </el-select>
+                        <div v-if="diseaseWard" class="selected-info">
+                          宸查�夋嫨: {{ diseaseWard.districtName }} ({{
+                            diseaseWard.districtCode
+                          }})
+                        </div>
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
                 </el-row>
                 <el-row v-if="form.appltype == 4">
                   <el-col :span="20"
@@ -351,10 +428,7 @@
                       placeholder="璇风偣鍑诲彸渚ч�夋嫨"
                     />
                     <el-button
-                      v-if="
-                        (form.templateid && form.sendState == 1) ||
-                        !form.templateid
-                      "
+                      v-if="form.templateid"
                       style="margin-left: 10px"
                       type="primary"
                       icon="el-icon-edit"
@@ -615,8 +689,8 @@
     <!-- 妯℃澘棰勮 -->
     <el-dialog title="妯℃澘棰勮" :visible.sync="previewtf" width="70%">
       <el-tabs type="border-card">
-        <el-tab-pane label="妯℃澘鍩虹鏁版嵁"
-          ><div class="preview-left">
+        <el-tab-pane label="妯℃澘鍩虹鏁版嵁">
+          <div class="preview-left">
             <el-form :model="objyl" label-width="100px" class="demo-objyl">
               <el-row :gutter="10">
                 <el-col :span="14">
@@ -706,10 +780,11 @@
                 >
                 </el-input
               ></el-form-item>
-            </el-form></div
-        ></el-tab-pane>
-        <el-tab-pane label="闂灞曠ず"
-          ><div class="preview-left">
+            </el-form>
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="闂灞曠ず">
+          <div class="preview-left">
             <div v-for="item in questionList">
               <!-- 鍗曢�� -->
               <div
@@ -718,7 +793,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">
@@ -738,7 +813,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="item.qremark">
@@ -759,7 +834,7 @@
                 v-if="item.scriptType == 4"
               >
                 <div class="dev-text">
-                  {{ item.sort }}銆乕闂瓟]<span>{{ item.scriptContent }}</span>
+                  {{ item.sort }}. [闂瓟]<span>{{ item.scriptContent }}</span>
                 </div>
                 <div class="dev-xx">
                   <el-input
@@ -770,8 +845,9 @@
                   </el-input>
                 </div>
               </div>
-            </div></div
-        ></el-tab-pane>
+            </div>
+          </div>
+        </el-tab-pane>
       </el-tabs>
 
       <span slot="footer" class="dialog-footer">
@@ -1022,6 +1098,10 @@
       // 鏃堕棿澶勭悊
       daytime: [], //鏃ユ湡
       applydaytime: [], //璁$畻鏃ユ湡
+      diseaseDept: null, // 鐤剧梾鍏宠仈涓嬬殑绉戝锛堝瓨鍌ㄦ暣涓璞★級
+      diseaseWard: null, // 鐤剧梾鍏宠仈涓嬬殑鐥呭尯锛堝瓨鍌ㄦ暣涓璞★級
+      diseaseDepts: "",
+      diseaseWards: "",
       time1: "", //涓婂崍鏃堕棿娈�
       time2: "", //涓嬪崍鏃堕棿娈�
       time3: "", //鏅氫笂鏃堕棿娈�
@@ -1299,7 +1379,7 @@
         this.form.serviceType == 15
       ) {
         this.checkboxlist = [
-           {
+          {
             value: "1",
             label: "浜哄伐",
           },
@@ -1370,6 +1450,7 @@
         this.form.serviceType == 5 ||
         this.form.serviceType == 16 ||
         this.form.serviceType == 18 ||
+        this.form.serviceType == 19 ||
         this.form.serviceType == 4
       ) {
         this.checkboxlist = [
@@ -1418,7 +1499,7 @@
     },
     // 淇濆瓨
     submitForm(formName) {
-      console.log(this.submitLoading);
+      console.log(this.submitLoading, "1");
 
       if (this.submitLoading) {
         return;
@@ -1437,6 +1518,8 @@
             xh: 1,
           },
         ];
+        console.log(1);
+
         if (this.form.appltype == 1) {
           this.leavehospitaldistrictcodes = [];
           this.form.oplevelcode = null;
@@ -1463,6 +1546,7 @@
 
           return;
         }
+        console.log(2);
 
         if (
           this.deptcodesWards[0] ||
@@ -1482,6 +1566,7 @@
         //   this.$modal.msgError("璇烽�夋嫨鐥呬汉");
         //   return;
         // }
+        console.log(3);
 
         if (!this.form.templatename && !this.templateor) {
           this.$modal.msgError("鏈�夋嫨妯℃澘");
@@ -1515,15 +1600,28 @@
         if (!this.form.type) {
           this.form.type = this.$route.query.type;
         }
+        console.log(4);
         this.form.serviceType = this.serviceType;
         this.form.deptcode = this.deptcodesWards.join(",");
         this.form.leavehospitaldistrictcode =
           this.leavehospitaldistrictcodes.join(",");
         // this.form.opcode = this.operationcodes.join(",");
+        if (this.form.appltype == 3) {
+          if (this.diseaseDept) {
+            this.form.deptcode = this.diseaseDept.deptCode;
+            this.form.deptname = this.diseaseDept.deptName;
+          }
+
+          if (this.diseaseWard) {
+            this.form.leavehospitaldistrictcode = this.diseaseWard.districtCode;
+            this.form.leavehospitaldistrictname = this.diseaseWard.districtName;
+          }
+        }
+
         this.form.icd10code = this.diagglist
           .map((item) => item.icdcode)
           .join(",");
-          this.form.icd10name = this.diagglist
+        this.form.icd10name = this.diagglist
           .map((item) => item.icdname)
           .join(",");
         Editsingletask(this.form).then((res) => {
@@ -1546,7 +1644,15 @@
         // 绗洓姝ワ細鏃犺鎴愬姛鎴栧け璐ワ紝鏈�缁堥兘鍏抽棴鍔犺浇鐘舵��
       }
     },
+    handleDiseaseDeptChange(dept) {
+      // 褰撻�夋嫨绉戝鏃讹紝瀛樺偍鏁翠釜绉戝瀵硅薄
+      this.diseaseDept = dept;
+    },
 
+    handleDiseaseWardChange(ward) {
+      // 褰撻�夋嫨鐥呭尯鏃讹紝瀛樺偍鏁翠釜鐥呭尯瀵硅薄
+      this.diseaseWard = ward;
+    },
     // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠�
     // 閫夋嫨棰勮
     selectfn(row, type) {
@@ -1566,6 +1672,8 @@
             this.tempbelongWards = [];
             this.objyl.suitway = this.objyl.suitway.split(",");
             this.questionList = res.rows[0].svyTemplateLibScripts;
+            console.log(this.questionList, "this.questionList");
+
             this.questionList.forEach((item) => {
               item.qremark = [];
             });
@@ -1792,6 +1900,7 @@
     handleUpdate() {},
     handleDelete() {},
     handleExport() {},
+
     // 閫夋嫨鎮h�呰〃鏁版嵁
     handleSelectionChange(selection) {
       this.SelectPatientslist = structuredClone(selection);
@@ -1876,7 +1985,10 @@
 
         return;
       }
-      if (this.patientqueryParams.searchscope == 1) {
+      if (
+        this.patientqueryParams.searchscope == 1 ||
+        this.patientqueryParams.allhosp == 2
+      ) {
         this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
           (obj) => obj.deptCode
         );
@@ -2065,12 +2177,17 @@
         if (res.code == 200) {
           let arr = res.rows;
           arr.forEach((item) => {
-            getillnesslist({
-              icdcode: item.icd10code,
-            }).then((res) => {
-              item.icdname = res.rows[0].icdname;
+            if (localStorage.getItem("orgname") == "鍗楀崕澶у闄勫睘绗竴鍖婚櫌") {
+              item.icdname = item.icd10name;
               this.diagglist.push(item);
-            });
+            } else {
+              getillnesslist({
+                icdname: item.icd10name,
+              }).then((res) => {
+                item.icdname = res.rows[0].icdname;
+                this.diagglist.push(item);
+              });
+            }
             this.illnesscodes.push(item.icd10code);
           });
         }
@@ -2351,9 +2468,11 @@
 <style lang="scss" scoped>
 .Questionnairemanagement {
 }
+
 .leftvlue-jbxx {
   margin-top: 10px;
 }
+
 .sidecolumn {
   width: 100%;
   // min-height: 12vh;
@@ -2365,6 +2484,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;
@@ -2377,8 +2497,10 @@
   -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
     0 0 6px 0 rgba(0, 0, 0, 0.04);
 }
+
 .examine-jic {
   margin: 20px;
+
   .headline {
     font-size: 24px;
     height: 40px;
@@ -2386,6 +2508,7 @@
     padding-left: 5px;
     margin-bottom: 10px;
     display: flex;
+
     // justify-content: space-between;
     .Add-details {
       font-size: 18px;
@@ -2393,25 +2516,30 @@
       cursor: pointer;
     }
   }
+
   .jic-value {
     font-size: 20px;
     border-top: 1px solid #a7abac;
     padding: 10px;
     margin-bottom: 10px;
+
     .details-jic {
       padding: 10px 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);
+
       .details-title {
         display: flex;
         justify-content: space-between;
         margin-bottom: 10px;
+
         div:nth-child(2) {
           color: #02a7f0;
           cursor: pointer;
         }
       }
+
       .details-renw {
         background: #e4ebfc;
         padding: 15px 5px;
@@ -2421,6 +2549,7 @@
     }
   }
 }
+
 .xinz-infs {
   font-size: 18px;
   line-height: 48px;
@@ -2429,6 +2558,7 @@
     margin-left: 10px;
   }
 }
+
 // .leftvlue-jbxx {
 //   margin-bottom: 50px;
 //   font-size: 20px;
@@ -2451,36 +2581,43 @@
   //   margin: 20px;
   padding: 30px;
   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);
   .scriptTopic-dev {
     margin-bottom: 25px;
     font-size: 20px !important;
+
     .dev-text {
       margin-bottom: 10px;
     }
   }
 }
+
 .jic-value {
   font-size: 20px;
   border-top: 1px solid #a7abac;
   padding: 10px;
   margin-bottom: 10px;
+
   .details-jic {
     padding: 10px 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);
+
     .details-title {
       display: flex;
       justify-content: space-between;
       margin-bottom: 10px;
+
       div:nth-child(2) {
         color: #02a7f0;
         cursor: pointer;
       }
     }
+
     .details-renw {
       background: #e4ebfc;
       padding: 15px 5px;
@@ -2489,6 +2626,7 @@
     }
   }
 }
+
 ::v-deep .addtopic-input {
   input {
     background: #02a7f0;
@@ -2496,12 +2634,15 @@
     width: 150px;
   }
 }
+
 ::v-deep.el-step.is-vertical .el-step__title {
   font-size: 25px;
 }
+
 ::v-deep.el-row {
   margin-bottom: 10px;
 }
+
 // ::v-deep.el-input--medium {
 //   font-size: 24px !important;
 // }
@@ -2510,14 +2651,17 @@
   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.topic-dev.el-radio__label {
 //   font-size: 24px;
 // }
@@ -2526,12 +2670,14 @@
     font-size: 18px;
   }
 }
+
 ::v-deep.el-input.is-disabled .el-input__inner {
   background-color: #f5f7fa;
   border-color: #dfe4ed;
   color: rgb(253, 66, 66);
   cursor: not-allowed;
 }
+
 ::v-deep.el-checkbox-group {
   span {
     font-size: 18px;

--
Gitblit v1.9.3