From d27e3ada8f1e9c005747988e9bf2519fcd6da21a Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期一, 09 九月 2024 12:45:44 +0800
Subject: [PATCH] 测试完成

---
 src/views/patient/propaganda/QuestionnaireTask.vue |  285 ++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 184 insertions(+), 101 deletions(-)

diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index 1573ba4..1c8b4ea 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -30,33 +30,68 @@
               <div>鍩虹淇℃伅</div>
             </div>
             <div class="jic-value">
-              <el-form ref="form" :model="form" label-width="105px">
+              <el-form
+                ref="form"
+                :model="form"
+                :rules="rules"
+                label-width="125px"
+              >
                 <el-row :gutter="20">
                   <el-col :span="12"
-                    ><el-form-item label="浠诲姟鍚嶇О">
+                    ><el-form-item label="浠诲姟鍚嶇О" prop="taskName">
                       <el-input
                         style="width: 220px"
                         v-model="form.taskName"
                         placeholder="璇疯緭鍏ヤ换鍔″悕绉�"
                       /> </el-form-item
                   ></el-col>
+                  <el-col :span="12"
+                    ><el-form-item label="浠诲姟绫诲瀷">
+                      <el-select
+                        v-model="serviceType"
+                        placeholder="璇烽�夋嫨鏂板绫诲瀷"
+                      >
+                        <el-option
+                          v-for="item in tasktypes"
+                          :key="item.value"
+                          :label="item.label"
+                          :value="item.value"
+                        >
+                        </el-option>
+                      </el-select> </el-form-item
+                  ></el-col>
                 </el-row>
 
-                <el-form-item label="浠诲姟鎻忚堪">
+                <el-form-item label="浠诲姟鎻忚堪" prop="taskDesc">
                   <el-input
                     type="textarea"
                     v-model="form.taskDesc"
                     placeholder="璇疯緭鍏ヤ换鍔℃弿杩�"
                   />
                 </el-form-item>
-                <el-form-item label="鍙戦�佽缃細">
+                <el-form-item label="鏈嶅姟褰㈠紡">
+                  <el-checkbox-group v-model="checkList">
+                    <el-checkbox
+                      v-for="(item, index) in checkboxlist"
+                      :key="index"
+                      :label="item.value"
+                    >
+                      {{ item.label }}</el-checkbox
+                    >
+                  </el-checkbox-group>
+                </el-form-item>
+                <el-form-item label="鎵ц璁剧疆" prop="sendType">
                   <el-radio-group v-model="form.sendType">
-                    <el-radio :label="1">鏃堕棿娈靛彂閫�</el-radio>
-                    <el-radio :label="3">鏃堕棿鐐瑰彂閫�</el-radio>
-                    <el-radio :label="2">鍗冲埢鍙戦��</el-radio>
+                    <el-radio :label="1">鏃堕棿娈垫墽琛�</el-radio>
+                    <el-radio :label="3">鏃堕棿鐐规墽琛�</el-radio>
+                    <el-radio :label="2">鍗冲埢鎵ц</el-radio>
                   </el-radio-group>
                 </el-form-item>
-                <el-form-item label="鍙戦�佹棩鏈燂細" v-if="form.sendType == 1">
+                <el-form-item
+                  label="鎵ц鏃ユ湡"
+                  v-if="form.sendType == 1"
+                  prop="daytime"
+                >
                   <el-date-picker
                     v-model="daytime"
                     @change="changeTimeday"
@@ -69,7 +104,11 @@
                   </el-date-picker>
                 </el-form-item>
 
-                <el-form-item label="鍙戦�佹椂闂寸偣锛�" v-if="form.sendType == 3">
+                <el-form-item
+                  label="鎵ц鏃堕棿鐐�"
+                  v-if="form.sendType == 3"
+                  prop="daytime"
+                >
                   <div style="display: flex">
                     <div style="margin-right: 10px">
                       <el-date-picker
@@ -84,12 +123,14 @@
                   </div>
                 </el-form-item>
 
-                <el-form-item label="鍙戦�佹椂闂存锛�" v-if="form.sendType == 1">
+                <el-form-item
+                  label="鎵ц鏃堕棿娈�"
+                  v-if="form.sendType == 1"
+                  prop="daytime"
+                >
                   <div style="display: flex">
                     <div style="margin-right: 10px">
-                      <span style="font-size: 18px; margin-right: 10px"
-                        >鏃堕棿娈典竴</span
-                      >
+                      <span style="font-size: 18px; margin-right: 10px">鈶�</span>
                       <el-time-picker
                         is-range
                         arrow-control
@@ -104,9 +145,7 @@
                       </el-time-picker>
                     </div>
                     <div style="margin-right: 10px">
-                      <span style="font-size: 18px; margin-right: 10px"
-                        >鏃堕棿娈典簩</span
-                      >
+                      <span style="font-size: 18px; margin-right: 10px">鈶�</span>
                       <el-time-picker
                         is-range
                         arrow-control
@@ -121,9 +160,7 @@
                       </el-time-picker>
                     </div>
                     <div style="margin-right: 10px">
-                      <span style="font-size: 18px; margin-right: 10px"
-                        >鏃堕棿娈典笁</span
-                      >
+                      <span style="font-size: 18px; margin-right: 10px">鈶�</span>
                       <el-time-picker
                         is-range
                         arrow-control
@@ -139,28 +176,21 @@
                     </div>
                   </div>
                 </el-form-item>
-                <el-form-item label="鏈嶅姟褰㈠紡">
-                  <el-checkbox-group v-model="checkList">
-                    <el-checkbox
-                      v-for="(item, index) in checkboxlist"
-                      :key="index"
-                      :label="item.value"
-                    >
-                      {{ item.label }}</el-checkbox
-                    >
-                  </el-checkbox-group>
-                </el-form-item>
-                <el-row :gutter="20">
-                  <el-col :span="10"
-                    ><el-form-item label="妯℃澘鍚嶇О">
-                      <el-input
-                        style="width: 300px"
-                        :disabled="true"
-                        v-model="form.templatename"
-                        placeholder="璇峰湪涓嬪垪閫夋嫨"
-                      /> </el-form-item
-                  ></el-col>
-                  <el-col :span="4">
+              </el-form>
+            </div>
+          </div>
+          <div class="examine-jic">
+            <div class="headline">
+              <div>浠诲姟浣跨敤妯℃澘</div>
+              <div style="margin-left: 20px">
+                <el-form ref="forms">
+                  <el-form-item label="">
+                    <el-input
+                      style="width: 300px"
+                      :disabled="true"
+                      v-model="form.templatename"
+                      placeholder="璇风偣鍑诲彸渚ч�夋嫨"
+                    />
                     <el-button
                       type="primary"
                       icon="el-icon-edit"
@@ -169,23 +199,21 @@
                     ></el-button>
 
                     <el-button
-                    v-if="this.form.libtemplateid"
+                      v-if="form.libtemplateid"
                       type="success"
                       icon="el-icon-search"
                       @click="previewfnmb"
                       circle
                     ></el-button>
-                  </el-col>
-                </el-row>
-              </el-form>
+                  </el-form-item>
+                </el-form>
+              </div>
             </div>
-          </div>
-          <div class="examine-jic">
-            <div class="headline">
-              <div>鍙橀噺鍖归厤閲忓弬</div>
-            </div>
+
             <div class="examine-jic">
               <div class="jic-value">
+                <div style="margin-bottom: 10px">妯℃澘涓娇鐢ㄧ殑鍙橀噺锛�</div>
+
                 <el-row :gutter="20">
                   <el-table :data="variableList" style="width: 100%">
                     <el-table-column
@@ -335,7 +363,7 @@
               v-show="showSearch"
               label-width="98px"
             >
-              <el-form-item label="鎮h�呭悕绉帮細">
+              <el-form-item label="鎮h�咃細">
                 <el-input
                   v-model="patientqueryParams.name"
                   @keyup.enter.native="handleQuery"
@@ -474,18 +502,6 @@
               <el-form-item label="闂嵎鍚嶇О">
                 <el-input v-model="topqueryParams.svyname"></el-input>
               </el-form-item>
-
-              <!-- <el-form-item label="闂嵎绫诲瀷" prop="status">
-                <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨">
-                  <el-option
-                    v-for="item in taskoptions"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  >
-                  </el-option>
-                </el-select>
-              </el-form-item> -->
               <el-form-item label="閫傜敤褰㈠紡" prop="status">
                 <el-select v-model="topqueryParams.topica" placeholder="璇烽�夋嫨">
                   <el-option
@@ -497,18 +513,6 @@
                   </el-option>
                 </el-select>
               </el-form-item>
-
-              <!-- <el-form-item label="閫傜敤绉戝" prop="status">
-                <el-select v-model="topqueryParams.topicd" placeholder="璇烽�夋嫨">
-                  <el-option
-                    v-for="item in topicoptions"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  >
-                  </el-option>
-                </el-select>
-              </el-form-item> -->
               <el-form-item>
                 <el-button
                   type="primary"
@@ -592,13 +596,13 @@
       questionList: [],
       // 鎮h�呰〃鍗�
       tableLabelhz: [
-        // { label: "搴忓彿", width: "", prop: "patid" },
-        { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+        { label: "鎮h��", width: "", prop: "name" },
+        { label: "韬唤璇�", width: "200", prop: "idcardno" },
         { label: "鎬у埆", width: "", prop: "sex" },
         { label: "骞撮緞", width: "", prop: "age" },
-        { label: "灏辫瘖绉戝", width: "", prop: "deptName" },
-        { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "inhosptime" },
-        { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "update_by" },
+        { label: "鍖荤敓", width: "", prop: "drname" },
+        { label: "绉戝", width: "", prop: "deptName" },
+        { label: "灏辫瘖/鍑洪櫌鏃ユ湡", width: "280", prop: "inhosptime" },
       ],
 
       tableLabelwj: [
@@ -728,8 +732,60 @@
           label: "浣撴鐥呬汉",
         },
       ],
+      tasktypes: [
+        {
+          value: 1,
+          label: "鐩戞祴璇勪及",
+        },
+        {
+          value: 2,
+          label: "鍑洪櫌闅忚",
+        },
+        {
+          value: 3,
+          label: "闂ㄨ瘖闅忚",
+        },
+        {
+          value: 4,
+          label: "瀹f暀鍏虫��",
+        },
+        {
+          value: 5,
+          label: "澶嶈瘖绠$悊",
+        },
+        {
+          value: 6,
+          label: "婊℃剰搴﹁皟鏌�",
+        },
+        {
+          value: 7,
+          label: "鎮h�呮姤鍛�",
+        },
+
+        {
+          value: 8,
+          label: "鍏朵粬閫氱煡",
+        },
+      ],
+      rules: {
+        taskName: [
+          { required: true, message: "浠诲姟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
+          {
+            min: 2,
+            max: 30,
+            message: "浠诲姟鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 30 涔嬮棿",
+            trigger: "blur",
+          },
+        ],
+        taskDesc: [
+          { required: true, message: "浠诲姟鎻忚堪涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        sendType: [
+          { required: true, message: "鍙戦�佽缃笉鑳戒负绌�", trigger: "blur" },
+        ],
+      },
       quote: false,
-      serviceType:null,
+      serviceType: null,
     };
   },
   components: { SFtable },
@@ -893,23 +949,49 @@
       });
     },
     nextstep() {
-      if (this.Editprogress <= 3) {
-        return this.Editprogress++;
-      }
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if (this.Editprogress <= 3) {
+            return this.Editprogress++;
+          }
+        } else {
+          this.$modal.msgError("琛ㄥ崟鍐呭鏈畬鍠勶紝璇锋鏌�");
+        }
+      });
     },
     // 淇濆瓨
     submitForm(formName) {
-      this.form.preachform = this.checkList.join(",");
-
+      if (this.time4 && this.form.sendType == 3)
+        this.form.showTimeMorn = this.time4;
+      this.form.sendTimeslot = [{
+        begantime: this.time4,
+        endtime: "",
+        xh: 1,
+      }];
+      if (this.checkList[0]) {
+        this.form.preachform = this.checkList.join(",");
+      } else {
+        this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷");
+        return;
+      }
       if (!this.form.patTaskRelevances[0]) {
         this.$modal.msgError("璇烽�夋嫨鐥呬汉");
         return;
       }
+      if (!this.form.templatename) {
+        this.$modal.msgError("鏈�夋嫨妯℃澘");
+        return;
+      }
+      if ((this.form.sendType == 1 && this.time1) || this.form.sendType == 2) {
+      } else if (this.form.sendType == 3 && this.time4) {
+      } else {
+        return this.$modal.msgError("鏃堕棿淇℃伅缂哄け");
+      }
+
       const filteredArray = this.variableList.filter(
         (item) =>
           item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃"
       );
-      console.log(filteredArray, "瀛樺墠鍙橀噺");
       this.form.textParam = this.convertFormat2ToFormat1(filteredArray);
       if (this.form.taskid) {
         this.form.isoperation = 2;
@@ -919,7 +1001,7 @@
       if (!this.form.type) {
         this.form.type = this.$route.query.type;
       }
-      this.form.serviceType=this.serviceType;
+      this.form.serviceType = this.serviceType;
       Editsingletask(this.form).then((res) => {
         if (res.code == 200) {
           if (this.form.taskid) {
@@ -1001,17 +1083,17 @@
       });
       if (this.patientqueryParams.allhosp == 1) {
         this.tableLabelhz = [
-          { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+          { label: "鎮h��", width: "", prop: "name" },
+          { label: "韬唤璇�", width: "200", prop: "idcardno" },
           { label: "鎬у埆", width: "", prop: "sex" },
           { label: "骞撮緞", width: "", prop: "age" },
-          { label: "涓讳换鍖诲笀", width: "", prop: "drname" },
-          { label: "灏辫瘖绉戝", width: "", prop: "deptName" },
-          { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "inhosptime" },
-          { label: "鍒涘缓浜�", width: "", prop: "createBy" },
+          { label: "鍖荤敓", width: "", prop: "drname" },
+          { label: "绉戝", width: "", prop: "deptName" },
+          { label: "灏辫瘖/鍑洪櫌鏃ユ湡", width: "280", prop: "inhosptime" },
         ];
       } else if (this.patientqueryParams.allhosp == 2) {
         this.tableLabelhz = [
-          { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+          { label: "鎮h��", width: "", prop: "name" },
           { label: "鎬у埆", width: "", prop: "sex" },
           { label: "骞撮緞", width: "", prop: "age" },
           { label: "璇婃柇", width: "", prop: "diagname" },
@@ -1127,30 +1209,31 @@
     },
     // 鑾峰彇璇︽儏
     Getdetails() {
-      this.form= {
+      this.form = {
         patTaskRelevances: [],
         sendType: 1,
         templatename: "",
         templateid: null,
         libtemplateid: null,
       };
-      this.questionList=[];
+      this.questionList = [];
       if (this.id) {
         Questionnairetaskget({ taskid: this.id }).then((res) => {
           let filteredArray = "";
           if (res.code == 200) {
             this.form = res.data;
-            this.form.serviceType=this.serviceType;
+            this.form.serviceType = this.serviceType;
             this.form.patTaskRelevances = this.form.patTaskRelevances
               ? this.form.patTaskRelevances
               : [];
             this.overallCase = this.form.patTaskRelevances.concat();
             this.checkList = this.form.preachform.split(",");
-            console.log(this.form.showDate, "this.form");
-            this.daytime = this.form.showDate.split(",");
+            console.log(this.form, "this.form");
+            if (this.form.showDate)this.daytime = this.form.showDate.split(",");
             if (this.form.showTimeMorn) {
               if (this.form.sendType == 3) {
                 this.time4 = this.form.showTimeMorn;
+                console.log(1122);
               } else {
                 this.time1 = this.form.showTimeMorn.split(",");
               }
@@ -1261,7 +1344,6 @@
       if (this.time1) this.form.showTimeMorn = this.time1.join(",");
       if (this.time2) this.form.showTimeNoon = this.time2.join(",");
       if (this.time3) this.form.showTimeNight = this.time3.join(",");
-      console.log(combinedData, "combinedData");
     },
     // 鏌ョ湅妯℃澘
     previewGo() {
@@ -1357,11 +1439,12 @@
   margin: 20px;
   .headline {
     font-size: 24px;
+    height: 40px;
     border-left: 5px solid #41a1be;
     padding-left: 5px;
     margin-bottom: 10px;
     display: flex;
-    justify-content: space-between;
+    // justify-content: space-between;
     .Add-details {
       font-size: 18px;
       color: #02a7f0;

--
Gitblit v1.9.3