From d93ed5c5aadcf3d49f824339c26ebfac911be06d Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期五, 07 十一月 2025 14:39:38 +0800
Subject: [PATCH] 测试完成

---
 src/views/patient/propaganda/Missioncreation.vue |  158 ++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 110 insertions(+), 48 deletions(-)

diff --git a/src/views/patient/propaganda/Missioncreation.vue b/src/views/patient/propaganda/Missioncreation.vue
index f666f1a..880ee5f 100644
--- a/src/views/patient/propaganda/Missioncreation.vue
+++ b/src/views/patient/propaganda/Missioncreation.vue
@@ -253,7 +253,7 @@
                       /> </el-form-item
                   ></el-col>
                 </el-row>
-                <el-form-item label="鏈嶅姟褰㈠紡">
+                <!-- <el-form-item label="鏈嶅姟褰㈠紡">
                   <el-checkbox-group v-model="checkList">
                     <el-checkbox
                       v-for="(item, index) in checkboxlist"
@@ -263,6 +263,16 @@
                       {{ item.label }}</el-checkbox
                     >
                   </el-checkbox-group>
+                </el-form-item> -->
+                <el-form-item label="鏈嶅姟褰㈠紡">
+                  <SortCheckbox
+                    v-model="checkList"
+                    :options="checkboxlist"
+                    :initialselectedOrder="selectedOrder"
+                    value-key="value"
+                    label-key="label"
+                    @change="checkSelectionChange"
+                  />
                 </el-form-item>
               </el-form>
             </div>
@@ -520,7 +530,7 @@
             />
           </el-row>
           <pagination
-            v-show="patienttotal > 0"
+            v-show="patienttotal > 0 && this.patientqueryParams.allhosp != 6"
             :total="patienttotal"
             :page.sync="patientqueryParams.pageNum"
             :limit.sync="patientqueryParams.pageSize"
@@ -759,7 +769,7 @@
 
 import store from "@/store";
 import {
-  getTaskpatient,
+  getTaskpatientQC,
   getlibrarylist,
   getFollowuplist,
   getQtemplatelist,
@@ -773,6 +783,7 @@
 import { listDept } from "@/api/system/dept";
 import { getToken } from "@/utils/auth";
 import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
+import SortCheckbox from "@/components/SortCheckbox"; //琛ㄦ牸缁勪欢
 
 export default {
   name: "ServiceDetails",
@@ -796,6 +807,7 @@
       dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗�
       radio: 1,
       checkboxlist: [],
+      selectedOrder: [],
       // 绉戝/鐥呭尯
       belongWards: [],
       belongWards: [],
@@ -805,9 +817,10 @@
       htmlRichText: "<p>Hello, <strong>world</strong>!</p>",
       // 鎮h�呰〃鍗�
       tableLabelhz: [
-        { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "inhosptime" },
+        { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" },
         { label: "鎮h��", width: "", prop: "name" },
-        { label: "韬唤璇�", width: "200", prop: "sfzh" },
+        { label: "韬唤璇�", width: "200", prop: "idcardno" },
+        { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" },
         { label: "鎬у埆", width: "", prop: "sex" },
         { label: "骞撮緞", width: "", prop: "age" },
         { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
@@ -820,6 +833,7 @@
         { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" },
         { label: "鎮h��", width: "", prop: "name" },
         { label: "韬唤璇�", width: "200", prop: "sfzh" },
+        { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" },
         { label: "鎬у埆", width: "", prop: "sex" },
         { label: "骞撮緞", width: "", prop: "age" },
         { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
@@ -966,11 +980,11 @@
       },
       taskoptions: [
         {
-          value: "1",
+          value: "4",
           label: "鍑洪櫌鐥呬汉",
         },
         {
-          value: "4",
+          value: "1",
           label: "鍦ㄩ櫌鐥呬汉",
         },
         {
@@ -980,6 +994,14 @@
         {
           value: "3",
           label: "浣撴鐥呬汉",
+        },
+        {
+          value: "6",
+          label: "闄㈠鎮h��",
+        },
+        {
+          value: "5",
+          label: "鎵嬫湳鐥呬汉",
         },
       ],
       source: [
@@ -999,7 +1021,7 @@
       quote: false,
     };
   },
-  components: { SFtable },
+  components: { SFtable, SortCheckbox },
 
   created() {
     this.id = this.$route.query.id;
@@ -1126,12 +1148,21 @@
     submitForm(formName) {
       this.form.preachform = this.checkList.join(",");
       // this.formatFn(1);
-      if (!this.form.patTaskRelevances[0]&&this.form.longTask==0) {
+      if (!this.form.patTaskRelevances[0] && this.form.longTask == 0) {
         this.$modal.msgError("璇烽�夋嫨鐥呬汉");
         return;
       }
       if (!this.form.templatename) {
         this.$modal.msgError("鏈�夋嫨妯℃澘");
+        return;
+      }
+      if (this.checkList) {
+        this.form.preachform = this.checkList.join(",");
+        this.form.preachformList = this.selectedOrder;
+      } else {
+        this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷");
+        this.submitLoading = false;
+
         return;
       }
       const filteredArray = this.variableList.filter(
@@ -1242,13 +1273,32 @@
       this.overallCase.forEach((item) => {
         this.allpids.push(item.patid);
       });
-      if (this.patientqueryParams.allhosp == 1) {
+      if (this.patientqueryParams.allhosp == 4) {
         this.tableLabelhz = [
+          // { label: "鍏ラ櫌鏃ユ湡", width: "170", prop: "starttime" },
           { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" },
           { label: "鎮h��", width: "", prop: "name" },
-          { label: "韬唤璇�", width: "200", prop: "sfzh" },
+          { label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" },
+          { label: "韬唤璇�", width: "200", prop: "idcardno" },
           { label: "鎬у埆", width: "", prop: "sex" },
           { label: "骞撮緞", width: "", prop: "age" },
+          { label: "鐢佃瘽", width: "180", prop: "telcode" },
+          { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
+          { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
+          { label: "鍖荤敓", width: "", prop: "drname" },
+          { label: "绉戝", width: "180", prop: "dept" },
+          { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" },
+        ];
+      } else if (this.patientqueryParams.allhosp == 1) {
+        this.tableLabelhz = [
+          { label: "鍏ラ櫌鏃ユ湡", width: "150", prop: "starttime" },
+          { label: "鎮h��", width: "", prop: "name" },
+          { label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" },
+          { label: "韬唤璇�", width: "200", prop: "idcardno" },
+          { label: "鎬у埆", width: "", prop: "sex" },
+          { label: "骞撮緞", width: "", prop: "age" },
+          { label: "鐢佃瘽", width: "180", prop: "telcode" },
+          { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
           { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
           { label: "鍖荤敓", width: "", prop: "drname" },
           { label: "绉戝", width: "180", prop: "dept" },
@@ -1256,14 +1306,18 @@
         ];
       } else if (this.patientqueryParams.allhosp == 2) {
         this.tableLabelhz = [
-          { label: "搴忓彿", width: "", prop: "patid" },
-          { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+          { label: "灏辫瘖鏃ユ湡", width: "150", prop: "admitdate" },
+          { label: "鎮h��", width: "", prop: "name" },
+          { label: "韬唤璇�", width: "200", prop: "idcardno" },
+          { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" },
           { label: "鎬у埆", width: "", prop: "sex" },
           { label: "骞撮緞", width: "", prop: "age" },
-          { label: "璇婃柇", width: "", prop: "diagname" },
-          { label: "灏辫瘖绉戝", width: "", prop: "deptName" },
-          { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "inhosptime" },
-          { label: "鍒涘缓浜�", width: "", prop: "createBy" },
+          { label: "鐢佃瘽", width: "180", prop: "telcode" },
+          { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
+          { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
+          { label: "鍖荤敓", width: "", prop: "drname" },
+          { label: "绉戝", width: "180", prop: "dept" },
+          { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" },
         ];
       }
       if (this.allpids[0]) {
@@ -1271,33 +1325,26 @@
       } else {
         this.patientqueryParams.pids = null;
       }
-      // 绫诲瀷鍒ゆ柇
-      if (this.patientqueryParams.allhosp == 1) {
-        this.patientqueryParams.cry = 1;
-      } else if (this.patientqueryParams.allhosp == 4) {
-        this.patientqueryParams.cry = 0;
-        this.patientqueryParams.allhosp = "1";
-      }
-      if (this.patientqueryParams.searchscope == 1) {
-        this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
-          (obj) => obj.deptCode
-        );
+      if (this.patientqueryParams.allhosp == 4) {
+        this.patientqueryParams.hospitaldistrictcodes = [];
+        this.patientqueryParams.deptcodes = [];
+      } else if (this.patientqueryParams.allhosp == 1) {
+        this.patientqueryParams.deptcodes =
+          this.patientqueryParams.leaveldeptcodes;
+        this.patientqueryParams.hospitaldistrictcodes =
+          this.patientqueryParams.leavehospitaldistrictcodes;
         this.patientqueryParams.leavehospitaldistrictcodes = [];
-      } else if (this.patientqueryParams.searchscope == 2) {
-        this.patientqueryParams.leavehospitaldistrictcodes =
-          store.getters.belongWards.map((obj) => obj.districtCode);
         this.patientqueryParams.leaveldeptcodes = [];
-      } else {
-        this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
-          (obj) => obj.deptCode
-        );
-        this.patientqueryParams.leavehospitaldistrictcodes =
-          store.getters.belongWards.map((obj) => obj.districtCode);
       }
 
-      getTaskpatient(this.patientqueryParams).then((response) => {
+      getTaskpatientQC(this.patientqueryParams).then((response) => {
         console.log(response);
         this.patientuserList = response.rows;
+        this.patientuserList.forEach((item) => {
+          if (item.endtime) {
+            item.endDay = this.daysBetween(item.endtime);
+          }
+        });
         this.patienttotal = response.total;
         this.loading = false;
         this.Restorecheck();
@@ -1309,9 +1356,8 @@
     handleExport() {},
 
     // 閫夋嫨鎮h�呰〃鏁版嵁
-    handleSelectionChange(selection, type) {
-      console.log("澶氶�夋偅鑰�");
-      this.SelectPatientslist = selection;
+    handleSelectionChange(selection) {
+      this.SelectPatientslist = structuredClone(selection);
       this.multiple = !selection.length;
 
       // 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍
@@ -1320,13 +1366,22 @@
         if (!isExist) {
           item.isoperation = 1;
           item.patid = item.id;
-          if (item.idcardno) {
-            item.sfzh = item.idcardno;
+          item.hospType = this.patientqueryParams.allhosp;
+          item.sfzh = item.idcardno;
+          item.deptCode = item.deptcode;
+          item.deptName = item.dept;
+          item.admindate = item.inhosptime;
+          item.diagname = item.leavediagname;
+          item.sfzh = item.idcardno;
+          if (this.patientqueryParams.allhosp == 6) {
+            item.patfrom = 1;
           }
-          if (type) {
-            item.hospType = type;
-          } else {
-            item.hospType = this.patientqueryParams.allhosp;
+          if (this.patientqueryParams.allhosp == 1) {
+            item.visittime = item.endtime;
+          } else if (this.patientqueryParams.allhosp == 4) {
+            item.visittime = item.starttime;
+          } else if (this.patientqueryParams.allhosp == 2) {
+            item.visittime = item.admitdate;
           }
           this.overallCase.push(item);
           this.form.patTaskRelevances.push(item);
@@ -1422,6 +1477,7 @@
               : [];
             this.overallCase = this.form.patTaskRelevances.concat();
             this.checkList = this.form.preachform.split(",");
+            this.selectedOrder = this.form.preachformList;
             console.log(this.form.showDate, "this.form");
             if (this.form.daytime) this.daytime = this.form.showDate.split(",");
             console.log(this.newadd, "渚濈収");
@@ -1448,6 +1504,11 @@
           }
         });
       }
+    },
+    checkSelectionChange(selectedValues, selectedOrder) {
+      this.selectedOrder = selectedValues;
+      console.log("褰撳墠閫変腑:", selectedValues);
+      console.log("閫変腑椤哄簭:", selectedOrder);
     },
     // 渚濈収鏂板鏃跺鐞�
     neWaddfn() {
@@ -1581,6 +1642,7 @@
       TaskQuestioncomit(this.Tasktemplate).then((response) => {
         console.log(response);
         this.previewtf = false;
+        this.drawermb =false;
         this.form.templateid = response.data;
         this.form.libtemplateid = this.libId;
         this.form.templatename = this.libName;
@@ -1839,7 +1901,7 @@
   }
 }
 .button-textsc {
-  color: #3664D9;
+  color: #3664d9;
 }
 .button-textxg {
   color: #de7897;

--
Gitblit v1.9.3