From 6bc24b57837948408cfc4812bbab6ac2f9f4a3dc Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期一, 15 九月 2025 16:41:26 +0800
Subject: [PATCH] 测试完成

---
 src/views/followvisit/tasklist/index.vue |  731 +++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 518 insertions(+), 213 deletions(-)

diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue
index 34ad3cc..a3f2c46 100644
--- a/src/views/followvisit/tasklist/index.vue
+++ b/src/views/followvisit/tasklist/index.vue
@@ -12,12 +12,18 @@
         label-width="98px"
       >
         <el-form-item label="浠诲姟鍚嶇О">
-          <el-input v-model="topqueryParams.name"></el-input>
+          <el-input
+            v-model="topqueryParams.taskName"
+            @keyup.enter.native="handleQuery"
+          ></el-input>
         </el-form-item>
-        <el-form-item label="瀹℃牳浜�">
-          <el-input v-model="topqueryParams.name"></el-input>
+        <el-form-item label="鍒涘缓浜�">
+          <el-input
+            v-model="topqueryParams.createBy"
+            @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"
@@ -28,32 +34,17 @@
             end-placeholder="缁撴潫鏃ユ湡"
           ></el-date-picker>
         </el-form-item>
-        <el-form-item label="闅忚绫诲瀷" prop="status">
-          <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨">
-            <el-option
-              v-for="item in topicoptions"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            >
-            </el-option>
-          </el-select>
+
+        <el-form-item label="浠诲姟妯℃澘" prop="status">
+          <el-input
+            v-model="topqueryParams.templatename"
+            @keyup.enter.native="handleQuery"
+          ></el-input>
         </el-form-item>
-        <el-form-item label="妯$増" prop="status">
-          <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨">
+        <el-form-item label="浠诲姟鐘舵��" prop="status">
+          <el-select v-model="topqueryParams.sendState" 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 label="闂ㄨ瘖闅忚鐘舵��" prop="status">
-          <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨">
-            <el-option
-              v-for="item in topicoptions"
+              v-for="item in dict.type.task_status"
               :key="item.value"
               :label="item.label"
               :value="item.value"
@@ -77,9 +68,28 @@
       <el-divider></el-divider>
       <el-row :gutter="10" class="mb8">
         <el-col :span="1.5">
-          <el-select v-model="tasktopic" placeholder="璇烽�夋嫨鏂板绫诲瀷">
+          <el-select
+            @change="handleQuerytask"
+            v-model="tasktopic"
+            placeholder="璇烽�夋嫨鏈嶅姟绫诲瀷"
+          >
             <el-option
               v-for="item in taskoptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-col>
+        <el-col :span="1.5">
+          <el-select
+            @change="handleQuery"
+            v-model="topqueryParams.type"
+            placeholder="璇烽�夋嫨鎵ц绫诲瀷"
+          >
+            <el-option
+              v-for="item in longtermlist"
               :key="item.value"
               :label="item.label"
               :value="item.value"
@@ -94,33 +104,11 @@
             size="medium"
             @click="handleAdd"
             :disabled="!tasktopic"
-            >鏂板</el-button
+            >鏂板缓浠诲姟</el-button
           >
         </el-col>
-        <el-col :span="1.5">
-          <el-button
-            type="success"
-            plain
-            icon="el-icon-edit"
-            size="medium"
-            :disabled="single"
-            @click="handleUpdate"
-            >淇敼</el-button
-          >
-        </el-col>
-        <el-col :span="1.5">
-          <el-button
-            type="danger"
-            plain
-            icon="el-icon-delete"
-            size="medium"
-            :disabled="multiple"
-            @click="handleDelete"
-            v-hasPermi="['system:user:remove']"
-            >鍒犻櫎</el-button
-          >
-        </el-col>
-        <el-col :span="19">
+
+        <!-- <el-col :span="19">
           <div class="documentf">
             <div class="document">
               <el-button
@@ -134,7 +122,7 @@
               >
             </div>
           </div>
-        </el-col>
+        </el-col> -->
         <!-- <el-col :span="1.5"> </el-col> -->
       </el-row>
       <!-- <right-toolbar
@@ -142,25 +130,19 @@
               @queryTable="getList"
               :columns="columns"
             ></right-toolbar> -->
-      <el-table
-        v-loading="loading"
-        :data="userList"
-        @selection-change="handleSelectionChange"
-      >
-        <el-table-column type="selection" width="50" align="center" />
-        <el-table-column
+      <el-table v-loading="loading" :data="userList">
+        <!-- <el-table-column
           label="搴忓彿"
           fixed
           align="center"
           key="taskid"
           prop="taskid"
-        />
+        /> -->
 
         <el-table-column
           label="浠诲姟鍚嶇О"
           fixed
           align="center"
-          sortable
           key="taskName"
           prop="taskName"
           :show-overflow-tooltip="true"
@@ -170,23 +152,62 @@
           align="center"
           key="taskDesc"
           prop="taskDesc"
+          :show-overflow-tooltip="true"
         />
         <el-table-column
-          label="寰呮墽琛�/鎬讳换鍔�"
+          label="鏈嶅姟椤圭洰"
+          align="center"
+          key="templatename"
+          prop="templatename"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          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
+          label="鏄惁闀挎湡浠诲姟"
+          align="center"
+          key="longTask"
+          prop="longTask"
+        >
+          <template slot-scope="scope">
+            <span>{{ scope.row.longTask ? "闀挎湡浠诲姟" : "闈為暱鏈�" }}</span>
+          </template>
+        </el-table-column>
+
+        <el-table-column
+          label="鐘舵��"
+          align="center"
+          key="sendState"
+          prop="sendState"
+        >
+          <template slot-scope="scope">
+            <dict-tag
+              :options="dict.type.task_status"
+              :value="scope.row.sendState"
+            />
+          </template>
+        </el-table-column>
+
         <el-table-column
           label="鍒涘缓浜�"
           align="center"
           key="createBy"
           prop="createBy"
-          width="120"
           :show-overflow-tooltip="true"
         />
         <el-table-column
@@ -194,50 +215,49 @@
           sortable
           align="center"
           prop="createTime"
-          width="160"
         >
           <template slot-scope="scope">
-            <span>{{ parseTime(scope.row.createTime) }}</span>
+            <span>{{ formatTime(scope.row.createTime) }}</span>
           </template>
         </el-table-column>
 
         <el-table-column
-          label="鐘舵��"
-          fixed="right"
-          align="center"
-          key="phonenumber"
-          prop="phonenumber"
-          width="120"
-        />
-        <el-table-column
           label="鎿嶄綔"
           fixed="right"
           align="center"
-          width="120"
+          width="240"
           class-name="small-padding fixed-width"
         >
           <template slot-scope="scope">
             <el-button
-              v-if="scope.row.sendState == 1 || scope.row.sendState == 3"
+              v-if="
+                (scope.row.sendState == 1 || scope.row.sendState == 3) &&
+                !scope.row.longTask
+              "
               size="medium"
               type="text"
               @click="sponsor(scope.row)"
               ><span class="button-zx"
-                ><i class="el-icon-s-promotion"></i>浠诲姟鍙戣捣</span
+                ><i class="el-icon-s-promotion"></i>鍙戣捣</span
               ></el-button
             >
+            <!-- <el-button size="medium" type="text" @click="newAdd(scope.row)"
+              ><span class="button-xj"
+                ><i class="el-icon-circle-plus-outline"></i>缁堟</span
+              ></el-button
+            > -->
             <el-button
-              v-if="scope.row.sendState == 1 || scope.row.sendState == 3"
               size="medium"
               type="text"
-              @click="immediateExecution(scope.row)"
-              ><span class="button-lj"
-                ><i class="el-icon-s-promotion"></i>绔嬪嵆鎵ц</span
-              ></el-button
+              @click="handleUpdate(scope.row, 1)"
+              ><span class="button-xj">渚濈収鏂板</span></el-button
             >
-            <el-button size="medium" type="text" @click="newAdd(scope.row)"
-              ><span class="button-xj"
-                ><i class="el-icon-circle-plus-outline"></i>渚濈収鏂板</span
+            <el-button
+              size="medium"
+              type="text"
+              @click="handleAddpatient(scope.row)"
+              ><span class="button-hz"
+                ><i class="el-icon-circle-plus-outline"></i>鏂板鎮h��</span
               ></el-button
             >
             <el-button
@@ -245,9 +265,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>
@@ -255,7 +273,7 @@
           label="浠诲姟璇︽儏"
           fixed="right"
           align="center"
-          width="200"
+          width="240"
           class-name="small-padding fixed-width"
         >
           <template slot-scope="scope">
@@ -292,49 +310,59 @@
       width="50%"
       :before-close="handleClose"
     >
-      <div style="font-size: 20px; color: red; margin-bottom: 20px">
-        璇风‘璁や换鍔�"{{ taskform.taskName }}"鐨勬墽琛屾椂闂�
-      </div>
-      <div
-        style="font-size: 18px; margin-bottom: 20px"
-        v-if="taskform.showDate[0]"
-      >
-        鎵ц鏃ユ湡锛�<span
-          style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
-          >{{ taskform.showDate[0] }} 鑷� {{ taskform.showDate[1] }}</span
-        >
-      </div>
-      <div
-        style="font-size: 18px; margin-bottom: 20px"
-        v-if="taskform.showTimeMorn[0]"
-      >
-        绗竴鏃堕棿娈碉細<span
-          style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
-          >{{ taskform.showTimeMorn[0] }} 鑷�
-          {{ taskform.showTimeMorn[1] }}</span
-        >
-      </div>
-      <div
-        style="font-size: 18px; margin-bottom: 20px"
-        v-if="taskform.showTimeNight[0]"
-      >
-        绗簩鏃堕棿娈碉細<span
-          style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
-          >{{ taskform.showTimeNight[0] }} 鑷�
-          {{ taskform.showTimeNight[1] }}</span
-        >
-      </div>
-      <div
-        style="font-size: 18px; margin-bottom: 20px"
-        v-if="taskform.showTimeNoon[0]"
-      >
-        绗笁鏃堕棿娈碉細<span
-          style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
-          >{{ taskform.showTimeNoon[0] }} 鑷�
-          {{ taskform.showTimeNoon[1] }}</span
-        >
-      </div>
-      <div style="text-align: right">
+      <el-tabs type="border-card" v-model="activname">
+        <el-tab-pane>
+          <span slot="label"><i class="el-icon-date"></i> 姝e父鍙戣捣</span>
+          <div style="font-size: 20px; color: red; margin-bottom: 20px">
+            璇风‘璁や换鍔�"{{ taskform.taskName }}"鐨勬墽琛屾椂闂�
+          </div>
+          <div
+            style="font-size: 18px; margin-bottom: 20px"
+            v-if="taskform.showDate"
+          >
+            鎵ц鏃ユ湡锛�<span
+              style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
+              >{{ taskform.showDate[0] }} 鑷� {{ taskform.showDate[1] }}</span
+            >
+          </div>
+          <div
+            style="font-size: 18px; margin-bottom: 20px"
+            v-if="taskform.showTimeMorn[0]"
+          >
+            绗竴鏃堕棿娈碉細<span
+              style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
+              >{{ taskform.showTimeMorn[0] }} 鑷�
+              {{ taskform.showTimeMorn[1] }}</span
+            >
+          </div>
+          <div
+            style="font-size: 18px; margin-bottom: 20px"
+            v-if="taskform.showTimeNight[0]"
+          >
+            绗簩鏃堕棿娈碉細<span
+              style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
+              >{{ taskform.showTimeNight[0] }} 鑷�
+              {{ taskform.showTimeNight[1] }}</span
+            >
+          </div>
+          <div
+            style="font-size: 18px; margin-bottom: 20px"
+            v-if="taskform.showTimeNoon[0]"
+          >
+            绗笁鏃堕棿娈碉細<span
+              style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
+              >{{ taskform.showTimeNoon[0] }} 鑷�
+              {{ taskform.showTimeNoon[1] }}</span
+            >
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="绔嬪嵆鎵ц">
+          <div style="font-size: 20px; color: red; margin-bottom: 20px">
+            姝ゆ搷浣滃皢绔嬪嵆鍙戣捣骞舵墽琛屼换鍔�:{{ taskform.taskName }}锛岃璋ㄦ厧鎿嶄綔锛�
+          </div>
+        </el-tab-pane>
+      </el-tabs>
+      <div style="text-align: right; margin: 20px 0">
         <el-button style="margin-right: 20px" @click="taskformVisible = false"
           >鍙� 娑�</el-button
         >
@@ -349,6 +377,15 @@
         >
       </div>
     </el-dialog>
+    <!-- 閫夋嫨鎮h�呭脊妗� -->
+    <Patient-Selection
+      ref="Patient"
+      :dialogVisiblepatient="dialogVisiblepatient"
+      :overallCase="Patientlist"
+      :tableLabel="tableLabelhz"
+      @addoption="dialogVisiblepatient = false"
+      @kkoption="dialogVisiblepatient = true"
+    />
   </div>
 </template>
 
@@ -366,15 +403,20 @@
   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: "User",
-  dicts: ["sys_normal_disable", "sys_user_sex"],
+  name: "Tasklist",
+  dicts: ["sys_normal_disable", "sys_user_sex", "task_status"],
   components: { Treeselect },
   data() {
     return {
@@ -393,7 +435,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 閮ㄩ棬鍚嶇О
@@ -406,54 +448,51 @@
       postOptions: [],
       // 瑙掕壊閫夐」
       roleOptions: [],
+      longTask: 0,
       taskform: {
         showDate: [],
         showTimeMorn: [],
         showTimeNight: [],
         showTimeNoon: [],
       },
+      dialogVisiblepatient: false,
+      Patientlist: [],
       taskformVisible: false,
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
       inputValue: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       TaskOperation: {},
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
-      taskoptions: [
+      longtermlist: [
         {
-          value: "1",
-          label: "瀹f暀鏈嶅姟",
+          value: 1,
+          label: "璇煶闅忚",
         },
         {
-          value: "2",
-          label: "闂ㄨ瘖闅忚",
+          value: 2,
+          label: "闂嵎闅忚",
         },
         {
-          value: "3",
-          label: "鍑洪櫌闅忚",
+          value: 3,
+          label: "瀹f暀鍏虫��",
         },
         {
-          value: "4",
-          label: "澶嶈瘖鏈嶅姟",
-        },
-        {
-          value: "5",
-          label: "浣撴閫氱煡",
-        },
-        {
-          value: "6",
-          label: "闂嵎鏈嶅姟",
+          value: 4,
+          label: "娑堟伅閫氱煡",
         },
       ],
-      tasktopic: null, //鏂板绫诲瀷
+      taskoptions: store.getters.tasktypes,
+      tasktopic: 2, //鏂板绫诲瀷
+      activname: "",
       value: [],
       list: [],
       loading: false,
@@ -551,31 +590,14 @@
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
+        type: 2,
         userName: undefined,
         tagid: undefined,
         topic: undefined,
       },
       propss: { multiple: true },
       options: [],
-
-      topicoptions: [
-        {
-          value: 1,
-          label: "寰呭鏍�",
-        },
-        {
-          value: 2,
-          label: "鎵ц涓�",
-        },
-        {
-          value: 3,
-          label: "鎵ц瀹屾垚",
-        },
-        {
-          value: 4,
-          label: "宸插仠姝�",
-        },
-      ],
+      checkboxlist: [],
       // 琛ㄥ崟鏍¢獙
       rules: {
         userName: [
@@ -626,10 +648,22 @@
   },
   watch: {},
   created() {
+    // 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;
     this.getList();
     this.getConfigKey("sys.user.initPassword").then((response) => {
       this.initPassword = response.msg;
     });
+    this.checkboxlist = store.getters.checkboxlist;
+  },
+  activated() {
+    this.getList();
   },
   // 鎼滅储
   mounted() {
@@ -640,14 +674,66 @@
   methods: {
     /** 鏌ヨ浠诲姟鍒楄〃 */
     getList() {
-      // this.loading = true;
+      this.loading = true;
+
+      this.topqueryParams.serviceType = Number(this.tasktopic);
+      if (
+        this.tasktopic == 2 ||
+        this.tasktopic == 3 ||
+        this.tasktopic == 1 ||
+        this.tasktopic == 7 ||
+        this.tasktopic == 5 ||
+        this.tasktopic == 6
+      ) {
+        if (!this.topqueryParams.type) this.topqueryParams.type = "2";
+        this.longtermlist = [
+          {
+            value: 1,
+            label: "璇煶闅忚",
+          },
+          {
+            value: 2,
+            label: "闂嵎闅忚",
+          },
+        ];
+        this.topqueryParams.type = 2;
+      } else if (this.tasktopic == 4 || this.tasktopic == 8) {
+        if (!this.topqueryParams.type) this.topqueryParams.type = "3";
+        this.longtermlist = [
+          {
+            value: 3,
+            label: "瀹f暀鍏虫��",
+          },
+        ];
+        this.topqueryParams.type = 3;
+      } else if (this.tasktopic == 16) {
+        if (!this.topqueryParams.type) this.topqueryParams.type = "2";
+        this.longtermlist = [
+          {
+            value: 1,
+            label: "璇煶闅忚",
+          },
+          {
+            value: 2,
+            label: "闂嵎闅忚",
+          },
+          {
+            value: 3,
+            label: "瀹f暀鍏虫��",
+          },
+        ];
+        this.topqueryParams.type = 2;
+      }
+      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;
+        this.$forceUpdate();
         this.loading = false;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -685,6 +771,11 @@
       this.resetForm("form");
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuerytask() {
+      this.topqueryParams.pageNum = 1;
+      // this.topqueryParams.type = '';
+      this.getList();
+    },
     handleQuery() {
       this.topqueryParams.pageNum = 1;
       this.getList();
@@ -693,8 +784,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();
     },
     // 澶氶�夋閫変腑鏁版嵁
@@ -725,63 +823,155 @@
     },
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
-      this.$router.push({
-        path: "/followvisit/particty",
-        query: { type: this.tasktopic },
-      });
+      if (this.topqueryParams.type == 1) {
+        this.$router.push({
+          path: "/followvisit/particty",
+          query: {
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+          },
+        });
+      } else if (this.topqueryParams.type == 2) {
+        this.$router.push({
+          path: "/followvisit/QuestionnaireTask",
+          query: {
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+          },
+        });
+      } else if (this.topqueryParams.type == 3) {
+        this.$router.push({
+          path: "/followvisit/Missioncreation",
+          query: {
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+          },
+        });
+      }
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
-    handleUpdate(row) {
-      this.$router.push({
-        path: "/followvisit/particty",
-        query: { type: row.hospType, id: row.taskid },
-      });
+    handleUpdate(row, newadd) {
+      if (this.topqueryParams.type == 1) {
+        this.$router.push({
+          path: "/followvisit/particty",
+          query: {
+            id: row.taskid,
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+            newadd: newadd, //鏄惁渚濈収鏂板缓
+          },
+        });
+      } else if (this.topqueryParams.type == 2) {
+        this.$router.push({
+          path: "/followvisit/QuestionnaireTask",
+          query: {
+            id: row.taskid,
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+            newadd: newadd,
+          },
+        });
+      } else if (this.topqueryParams.type == 3) {
+        this.$router.push({
+          path: "/followvisit/Missioncreation",
+          query: {
+            id: row.taskid,
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+            newadd: newadd,
+          },
+        });
+      }
     },
     // 鍒犻櫎浠诲姟
-    deletefn() {},
+    deletefn(row) {
+      this.$modal
+        .confirm(
+          '鏄惁鍒犻櫎浠诲姟鍚嶇О涓�"' +
+            row.taskName +
+            '"鐨勬暟鎹」锛屽垹闄ゅ悗涓嶅彲鎾ゅ洖锛佹槸鍚︾户缁�'
+        )
+        .then(() => {
+          delTaskInfo(row.taskid).then((res) => {
+            if (res.code == 200) {
+              this.getList();
+              this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+            }
+          });
+        })
+        .catch(() => {});
+    },
     // 浠诲姟鍙戣捣
     sponsor(row) {
       console.log(row, "浠诲姟淇℃伅");
       this.taskform = row;
-      if (this.taskform.showDate) {
+      if (this.taskform.showDate && this.taskform.sendType != 2) {
         this.taskform.showDate = this.taskform.showDate.split(",");
       }
-      if (this.taskform.showTimeMorn) {
+      if (this.taskform.showTimeMorn && this.taskform.sendType != 2) {
         this.taskform.showTimeMorn = this.taskform.showTimeMorn.split(",");
       } else {
         this.taskform.showTimeMorn = [];
       }
-      if (this.taskform.showTimeNight) {
+      if (this.taskform.showTimeNight && this.taskform.sendType != 2) {
         this.taskform.showTimeNight = this.taskform.showTimeNight.split(",");
       } else {
         this.taskform.showTimeNight = [];
       }
-      if (this.taskform.showTimeNoon) {
+      if (this.taskform.showTimeNoon && this.taskform.sendType != 2) {
         this.taskform.showTimeNoon = this.taskform.showTimeNoon.split(",");
       } else {
         this.taskform.showTimeNoon = [];
       }
-      if (row.sendState != 2) {
+      if (this.taskform.sendState != 2 && this.taskform.sendType != 2) {
         this.taskformVisible = true;
+      } else if (this.taskform.sendState != 2 && this.taskform.sendType == 2) {
+        this.TaskOperation.taskId = row.taskid;
+        this.TaskOperation.taskType = this.topqueryParams.type;
+        this.TaskOperation.sendState = 2;
+        this.TaskOperation.sendType = 2;
+        this.$modal
+          .confirm(
+            '褰撳墠閫変腑浠诲姟鍚嶇О涓�"' +
+              row.taskName +
+              '"鐨勬暟鎹」涓虹珛鍗虫墽琛屼换鍔★紝鍙戣捣鎵ц鍚庝笉鍙挙鍥烇紒鏄惁缁х画'
+          )
+          .then(() => {
+            TaskTemplateSendExecution(this.TaskOperation).then((res) => {
+              if (res.code == 200) {
+                this.getList();
+                this.$modal.msgSuccess("浠诲姟宸茬珛鍗虫墽琛�");
+              }
+            });
+          })
+          .catch(() => {});
       } else {
         this.$modal.msgError("浠诲姟宸插彂璧凤紝涓嶅彲鍐嶆鍙戣捣");
       }
     },
     // 纭鍙戣捣
     confirmSponsor(row) {
-      this.TaskOperation.taskId = row.taskid;
-      this.TaskOperation.sendState = 2;
-      TaskTemplateSendExecution(this.TaskOperation).then((res) => {
-        if (res.code == 200) {
-          this.$modal.msgSuccess("浠诲姟宸叉垚鍔熷姞鍏ユ墽琛岄槦鍒�");
-          this.getList();
-        }
-      });
+      if (this.activname == 0) {
+        this.TaskOperation.taskId = row.taskid;
+        this.TaskOperation.taskType = this.topqueryParams.type;
+        this.TaskOperation.sendState = 2;
+        TaskTemplateSendExecution(this.TaskOperation).then((res) => {
+          if (res.code == 200) {
+            this.$modal.msgSuccess("浠诲姟宸叉垚鍔熷姞鍏ユ墽琛岄槦鍒�");
+            this.taskformVisible = false;
+            this.getList();
+          }
+        });
+      } else if (this.activname == 1) {
+        this.immediateExecution(row);
+      }
     },
+
     // 绔嬪嵆鎵ц
     immediateExecution(row) {
       console.log(row, "浠诲姟淇℃伅");
       if (row.sendState != 2) {
+        this.TaskOperation.taskType = this.topqueryParams.type;
         this.TaskOperation.taskId = row.taskid;
         this.TaskOperation.sendState = 2;
         this.TaskOperation.sendType = 2;
@@ -804,16 +994,16 @@
       }
     },
 
-    // 渚濈収鏂板
-    newAdd(row) {
-      TaskTemplateSendExecution().then((res) => {});
-    },
     // 鏆傚仠
     stop(row) {
+      console.log(row);
       if (row.sendState == 2) {
-        this.TaskOperation.taskId = row.taskId;
+        this.TaskOperation.taskId = row.taskid;
         this.TaskOperation.sendState = 3;
-        TaskTemplateSendExecution().then((res) => {
+        this.TaskOperation.sendType = "";
+        this.TaskOperation.taskType = row.type;
+        TaskTemplateSendExecution(this.TaskOperation).then((res) => {
+          this.$modal.msgSuccess("浠诲姟宸叉殏鍋�");
           this.getList();
         });
       }
@@ -862,6 +1052,115 @@
         },
         `user_${new Date().getTime()}.xlsx`
       );
+    },
+    findLabelByValue(data, value) {
+      const item = data.find((item) => item.value === value);
+      return item ? item.label : null;
+    },
+    //鎮h�呮坊鍔犵浉鍏�
+    handleAddpatient(row) {
+      this.allpids = [];
+      this.overallCase.forEach((item) => {
+        this.allpids.push(item.patid);
+      });
+      if (this.patientqueryParams.allhosp == 4) {
+        this.tableLabelhz = [
+          // { label: "鍏ラ櫌鏃ユ湡", width: "170", prop: "starttime" },
+          { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" },
+          { 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: "", 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: "", 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]) {
+        this.patientqueryParams.pids = this.allpids;
+      } else {
+        this.patientqueryParams.pids = null;
+      }
+      // 鏉ユ簮鍒ゆ柇
+
+      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 = [];
+        this.patientqueryParams.leaveldeptcodes = [];
+      }
+      getTaskpatientQC(this.patientqueryParams).then((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();
+      });
+      this.dialogVisiblepatient = true;
+    },
+    // 鏌ヨ
+    handleQuery() {
+      // 鑾峰彇澶栭儴鎮h��
+
+      if (this.patientqueryParams.allhosp == 6) {
+        this.Externallist();
+        console.log();
+
+        return;
+      }
+      if (this.patientqueryParams.searchscope == 1) {
+        this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+        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);
+      }
+      if (
+        !this.patientqueryParams.leavehospitaldistrictcodes ||
+        !this.patientqueryParams.leavehospitaldistrictcodes[0]
+      )
+        this.patientqueryParams.leavehospitaldistrictcodes = null;
+      if (
+        !this.patientqueryParams.leaveldeptcodes ||
+        !this.patientqueryParams.leaveldeptcodes[0]
+      )
+        this.patientqueryParams.leaveldeptcodes = null;
+      this.handleAddpatient();
     },
   },
 };
@@ -992,6 +1291,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