From 176b37a09d8d411352f5bd24dc53ae2e20bd32e4 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期三, 17 九月 2025 10:22:39 +0800
Subject: [PATCH] 任务派发患者模式更新

---
 src/views/followvisit/tasklist/index.vue |  156 ++++++++++++++++++++++++++-------------------------
 1 files changed, 80 insertions(+), 76 deletions(-)

diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue
index 454091a..ef08e2f 100644
--- a/src/views/followvisit/tasklist/index.vue
+++ b/src/views/followvisit/tasklist/index.vue
@@ -23,7 +23,7 @@
             @keyup.enter.native="handleQuery"
           ></el-input>
         </el-form-item>
-        <el-form-item label="鍒涘彂閫佹椂闂�">
+        <el-form-item label="鍙戦�佹椂闂�">
           <el-date-picker
             v-model="dateRange"
             style="width: 240px"
@@ -142,7 +142,6 @@
         <el-table-column
           label="浠诲姟鍚嶇О"
           fixed
-          width="120"
           align="center"
           key="taskName"
           prop="taskName"
@@ -150,7 +149,6 @@
         />
         <el-table-column
           label="浠诲姟鎻忚堪"
-          width="280"
           align="center"
           key="taskDesc"
           prop="taskDesc"
@@ -158,20 +156,26 @@
         />
         <el-table-column
           label="鏈嶅姟椤圭洰"
-          width="120"
           align="center"
           key="templatename"
           prop="templatename"
           :show-overflow-tooltip="true"
         />
         <el-table-column
-          label="寰呮墽琛�/鎬讳换鍔�"
+          label="鎬讳换鍔�/宸查殢璁�"
           align="center"
           key="nickName"
+          width="120"
           prop="nickName"
         >
           <template slot-scope="scope">
-            <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span>
+            <span
+              >{{
+                scope.row.wfs || scope.row.wfs == 0
+                  ? scope.row.wfs + scope.row.yfs
+                  : ""
+              }}/{{ scope.row.yfs }}</span
+            >
           </template>
         </el-table-column>
         <el-table-column
@@ -179,7 +183,6 @@
           align="center"
           key="longTask"
           prop="longTask"
-          width="120"
         >
           <template slot-scope="scope">
             <span>{{ scope.row.longTask ? "闀挎湡浠诲姟" : "闈為暱鏈�" }}</span>
@@ -191,7 +194,6 @@
           align="center"
           key="sendState"
           prop="sendState"
-          width="120"
         >
           <template slot-scope="scope">
             <dict-tag
@@ -206,7 +208,6 @@
           align="center"
           key="createBy"
           prop="createBy"
-          width="120"
           :show-overflow-tooltip="true"
         />
         <el-table-column
@@ -214,7 +215,6 @@
           sortable
           align="center"
           prop="createTime"
-          width="160"
         >
           <template slot-scope="scope">
             <span>{{ formatTime(scope.row.createTime) }}</span>
@@ -225,7 +225,7 @@
           label="鎿嶄綔"
           fixed="right"
           align="center"
-          width="180"
+          width="240"
           class-name="small-padding fixed-width"
         >
           <template slot-scope="scope">
@@ -250,8 +250,15 @@
               size="medium"
               type="text"
               @click="handleUpdate(scope.row, 1)"
-              ><span class="button-xj"
-                ><i class="el-icon-circle-plus-outline"></i>渚濈収鏂板</span
+              ><span class="button-xj">渚濈収鏂板</span></el-button
+            >
+            <el-button
+              v-if="scope.row.sendState != 5"
+              size="medium"
+              type="text"
+              @click="handleAddpatient(scope.row.taskid, scope.row.type)"
+              ><span class="button-hz"
+                ><i class="el-icon-circle-plus-outline"></i>鏂板鎮h��</span
               ></el-button
             >
             <el-button
@@ -259,9 +266,7 @@
               size="medium"
               type="text"
               @click="stop(scope.row)"
-              ><span class="button-zt"
-                ><i class="el-icon-circle-plus-outline"></i>鏆傚仠</span
-              ></el-button
+              ><span class="button-zt">鏆傚仠</span></el-button
             >
           </template>
         </el-table-column>
@@ -269,7 +274,7 @@
           label="浠诲姟璇︽儏"
           fixed="right"
           align="center"
-          width="200"
+          width="240"
           class-name="small-padding fixed-width"
         >
           <template slot-scope="scope">
@@ -373,6 +378,13 @@
         >
       </div>
     </el-dialog>
+    <!-- 閫夋嫨鎮h�呭脊妗� -->
+    <Patient-Selection
+      ref="Patient"
+      :dialogVisiblepatient="dialogVisiblepatient"
+      @addoption="addoption"
+      @kkoption="dialogVisiblepatient = true"
+    />
   </div>
 </template>
 
@@ -387,23 +399,19 @@
 } from "@/api/system/user";
 import {
   getTasklist,
-  getTaskInfo,
-  Editsingletask,
   delTaskInfo,
-  Questionnairetasklist,
-  Questionnairetaskget,
-  Questionnairetasksponsor,
   TaskTemplateSendExecution,
 } from "@/api/AiCentre/index";
 import store from "@/store";
-
+import PatientSelection from "@/components/PatientSelection"; //姝e垯缁勪欢
+import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
 export default {
   name: "Tasklist",
   dicts: ["sys_normal_disable", "sys_user_sex", "task_status"],
-  components: { Treeselect },
+  components: { Treeselect, PatientSelection },
   data() {
     return {
       // 閬僵灞�
@@ -441,6 +449,8 @@
         showTimeNight: [],
         showTimeNoon: [],
       },
+      dialogVisiblepatient: false,
+      Patientlist: [],
       taskformVisible: false,
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
@@ -469,43 +479,13 @@
           value: 3,
           label: "瀹f暀鍏虫��",
         },
-      ],
-      taskoptions: [
         {
-          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: "鍏朵粬閫氱煡",
+          value: 4,
+          label: "娑堟伅閫氱煡",
         },
       ],
-      tasktopic: "2", //鏂板绫诲瀷
+      taskoptions: store.getters.tasktypes,
+      tasktopic: 2, //鏂板绫诲瀷
       activname: "",
       value: [],
       list: [],
@@ -662,11 +642,11 @@
   },
   watch: {},
   created() {
-    this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
-      (obj) => obj.deptCode
-    );
-    this.topqueryParams.leavehospitaldistrictcodes =
-      store.getters.belongWards.map((obj) => obj.districtCode);
+    // this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+    //   (obj) => obj.deptCode
+    // );
+    // this.topqueryParams.leavehospitaldistrictcodes =
+    //   store.getters.belongWards.map((obj) => obj.districtCode);
     this.tasktopic = this.$route.query.tasktopic
       ? this.$route.query.tasktopic
       : this.tasktopic;
@@ -689,7 +669,6 @@
     /** 鏌ヨ浠诲姟鍒楄〃 */
     getList() {
       this.loading = true;
-      console.log(this.topqueryParams.type);
 
       this.topqueryParams.serviceType = Number(this.tasktopic);
       if (
@@ -697,9 +676,10 @@
         this.tasktopic == 3 ||
         this.tasktopic == 1 ||
         this.tasktopic == 7 ||
+        this.tasktopic == 5 ||
         this.tasktopic == 6
       ) {
-        if (!this.topqueryParams.type) this.topqueryParams.type = '2';
+        if (!this.topqueryParams.type) this.topqueryParams.type = "2";
         this.longtermlist = [
           {
             value: 1,
@@ -710,16 +690,18 @@
             label: "闂嵎闅忚",
           },
         ];
+        this.topqueryParams.type = 2;
       } else if (this.tasktopic == 4 || this.tasktopic == 8) {
-        if (!this.topqueryParams.type) this.topqueryParams.type = '3';
+        if (!this.topqueryParams.type) this.topqueryParams.type = "3";
         this.longtermlist = [
           {
             value: 3,
             label: "瀹f暀鍏虫��",
           },
         ];
-      } else if (this.tasktopic == 5) {
-        if (!this.topqueryParams.type) this.topqueryParams.type = '1';
+        this.topqueryParams.type = 3;
+      } else if (this.tasktopic == 16) {
+        if (!this.topqueryParams.type) this.topqueryParams.type = "2";
         this.longtermlist = [
           {
             value: 1,
@@ -729,14 +711,15 @@
             value: 2,
             label: "闂嵎闅忚",
           },
+          {
+            value: 3,
+            label: "瀹f暀鍏虫��",
+          },
         ];
+        this.topqueryParams.type = 2;
       }
-      // this.topqueryParams.typename = this.findLabelByValue(
-      //   this.taskoptions,
-      //   this.tasktopic
-      // );
-      this.topqueryParams.startOutHospTime = this.dateRange[0];
-      this.topqueryParams.endOutHospTime = this.dateRange[1];
+      this.topqueryParams.beginTime = this.dateRange[0];
+      this.topqueryParams.endTime = this.dateRange[1];
       getTasklist(this.topqueryParams).then((response) => {
         this.userList = response.rows;
         this.total = response.total;
@@ -795,8 +778,15 @@
     resetQuery() {
       this.dateRange = [];
       this.resetForm("queryForm");
-      this.topqueryParams.deptId = undefined;
-      this.$refs.tree.setCurrentKey(null);
+      this.topqueryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        type: 2,
+        userName: undefined,
+        tagid: undefined,
+        topic: undefined,
+      };
+      // this.$refs.tree.setCurrentKey(null);
       this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
@@ -1061,6 +1051,14 @@
       const item = data.find((item) => item.value === value);
       return item ? item.label : null;
     },
+    handleAddpatient(taskid) {
+      this.$refs.Patient.handleAddpatient(taskid);
+      this.dialogVisiblepatient = true; // 鎵嬪姩鎺у埗寮圭獥鏄剧ず
+    },
+    addoption() {
+      this.dialogVisiblepatient = false; // 鎵嬪姩鎺у埗寮圭獥鏄剧ず
+      this.handleQuery();
+    },
   },
 };
 </script>
@@ -1190,6 +1188,12 @@
   border-radius: 1px;
   color: #ffffff;
 }
+.button-hz {
+  background: #63d37b;
+  padding: 5px;
+  border-radius: 1px;
+  color: #ffffff;
+}
 
 ::v-deep.el-radio-group {
   span {

--
Gitblit v1.9.3