From 2c4c416bf7950c72ffa2543a218e4fd993ee2af2 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 12 九月 2024 12:04:32 +0800
Subject: [PATCH] 测试完成

---
 src/views/followvisit/tasklist/index.vue |  435 +++++++++++++++++++++++++++++++++++------------------
 1 files changed, 285 insertions(+), 150 deletions(-)

diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue
index 71ed556..1ebd6f8 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"
@@ -125,19 +116,18 @@
               :columns="columns"
             ></right-toolbar> -->
       <el-table v-loading="loading" :data="userList">
-        <el-table-column
+        <!-- <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"
@@ -149,6 +139,12 @@
           prop="taskDesc"
         />
         <el-table-column
+          label="鏈嶅姟椤圭洰"
+          align="center"
+          key="templatename"
+          prop="templatename"
+        />
+        <el-table-column
           label="寰呮墽琛�/鎬讳换鍔�"
           align="center"
           key="nickName"
@@ -158,6 +154,22 @@
             <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span>
           </template>
         </el-table-column>
+
+        <el-table-column
+          label="鐘舵��"
+          align="center"
+          key="sendState"
+          prop="sendState"
+          width="120"
+        >
+          <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"
@@ -174,29 +186,15 @@
           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="sendState"
-          prop="sendState"
-          width="120"
-        >
-          <template slot-scope="scope">
-            <dict-tag
-              :options="dict.type.task_status"
-              :value="scope.row.sendState"
-            />
-          </template>
-        </el-table-column>
+
         <el-table-column
           label="鎿嶄綔"
           fixed="right"
           align="center"
-          width="120"
+          width="180"
           class-name="small-padding fixed-width"
         >
           <template slot-scope="scope">
@@ -206,21 +204,13 @@
               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
-              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
-            >
+
             <el-button size="medium" type="text" @click="newAdd(scope.row)"
               ><span class="button-xj"
-                ><i class="el-icon-circle-plus-outline"></i>渚濈収鏂板</span
+                ><i class="el-icon-circle-plus-outline"></i>缁堟</span
               ></el-button
             >
             <el-button
@@ -229,7 +219,7 @@
               type="text"
               @click="stop(scope.row)"
               ><span class="button-zt"
-                ><i class="el-icon-circle-plus-outline"></i>鏆傚仠浠诲姟</span
+                ><i class="el-icon-circle-plus-outline"></i>鏆傚仠</span
               ></el-button
             >
           </template>
@@ -275,49 +265,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
         >
@@ -354,6 +354,7 @@
   Questionnairetasksponsor,
   TaskTemplateSendExecution,
 } from "@/api/AiCentre/index";
+import store from "@/store";
 
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -416,30 +417,40 @@
       taskoptions: [
         {
           value: "1",
-          label: "瀹f暀鏈嶅姟",
+          label: "鐩戞祴璇勪及",
         },
         {
           value: "2",
-          label: "闂ㄨ瘖闅忚",
-        },
-        {
-          value: "3",
           label: "鍑洪櫌闅忚",
         },
         {
+          value: "3",
+          label: "闂ㄨ瘖闅忚",
+        },
+        {
           value: "4",
-          label: "澶嶈瘖鏈嶅姟",
+          label: "瀹f暀鍏虫��",
         },
         {
           value: "5",
-          label: "浣撴閫氱煡",
+          label: "澶嶈瘖绠$悊",
         },
         {
           value: "6",
-          label: "闂嵎鏈嶅姟",
+          label: "婊℃剰搴﹁皟鏌�",
+        },
+        {
+          value: "7",
+          label: "鎮h�呮姤鍛�",
+        },
+
+        {
+          value: "8",
+          label: "鍏朵粬閫氱煡",
         },
       ],
       tasktopic: "2", //鏂板绫诲瀷
+      activname: "",
       value: [],
       list: [],
       loading: false,
@@ -537,6 +548,7 @@
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
+        type: 3,
         userName: undefined,
         tagid: undefined,
         topic: undefined,
@@ -612,10 +624,14 @@
   },
   watch: {},
   created() {
+    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.taskoptions = store.getters.Serviceauthority;
   },
   // 鎼滅储
   mounted() {
@@ -627,19 +643,38 @@
     /** 鏌ヨ浠诲姟鍒楄〃 */
     getList() {
       this.loading = true;
-      if (this.tasktopic == 1 || this.tasktopic == 2 || this.tasktopic == 3) {
-        getTasklist(this.topqueryParams).then((response) => {
+      let type = this.$route.query.type;
+
+      this.topqueryParams.serviceType = Number(this.tasktopic);
+      this.topqueryParams.type = Number(this.type);
+      if (
+        this.tasktopic == 2 ||
+        this.tasktopic == 3 ||
+        this.tasktopic == 1 ||
+        this.tasktopic == 7 ||
+        this.tasktopic == 6
+      ) {
+        this.topqueryParams.type = 2;
+        this.TaskOperation.taskType = 2;
+      } else if (this.tasktopic == 4 || this.tasktopic == 8) {
+        this.topqueryParams.type = 3;
+        this.TaskOperation.taskType = 3;
+      } else if (this.tasktopic == 5) {
+        this.topqueryParams.type = 1;
+        this.TaskOperation.taskType = 1;
+      }
+      // this.topqueryParams.typename = this.findLabelByValue(
+      //   this.taskoptions,
+      //   this.tasktopic
+      // );
+      getTasklist(this.addDateRange(this.topqueryParams, this.dateRange)).then(
+        (response) => {
           this.userList = response.rows;
           this.total = response.total;
+          this.$forceUpdate();
           this.loading = false;
-        });
-      } else if (this.tasktopic == 6) {
-        Questionnairetasklist(this.topqueryParams).then((res) => {
-          this.userList = res.rows;
-          this.total = res.total;
-          this.loading = false;
-        });
-      }
+        }
+      );
     },
     // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
     Referencequestion(row) {
@@ -719,77 +754,145 @@
     },
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
-      if (this.tasktopic == 1 || this.tasktopic == 2 || this.tasktopic == 3) {
+      if (this.topqueryParams.type == 1) {
         this.$router.push({
           path: "/followvisit/particty",
-          query: { type: this.tasktopic },
+          query: {
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+          },
         });
-      } else if (this.tasktopic == 6) {
+      } else if (this.topqueryParams.type == 2) {
         this.$router.push({
           path: "/followvisit/QuestionnaireTask",
-          query: { type: this.tasktopic },
+          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 },
-      });
-      if (this.tasktopic == 1 || this.tasktopic == 2 || this.tasktopic == 3) {
+      if (this.topqueryParams.type == 1) {
         this.$router.push({
           path: "/followvisit/particty",
-          query: { type: row.hospType, id: row.taskid },
+          query: {
+            id: row.taskid,
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+          },
         });
-      } else if (this.tasktopic == 6) {
+      } else if (this.topqueryParams.type == 2) {
         this.$router.push({
           path: "/followvisit/QuestionnaireTask",
-          query: { type: row.hospType, id: row.taskid },
+          query: {
+            id: row.taskid,
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+          },
+        });
+      } else if (this.topqueryParams.type == 3) {
+        this.$router.push({
+          path: "/followvisit/Missioncreation",
+          query: {
+            id: row.taskid,
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+          },
         });
       }
     },
     // 鍒犻櫎浠诲姟
-    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.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.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, "浠诲姟淇℃伅");
@@ -818,14 +921,42 @@
 
     // 渚濈収鏂板
     newAdd(row) {
-      TaskTemplateSendExecution().then((res) => {});
+      this.$modal
+        .confirm("鏄惁渚濈収褰撳墠浠诲姟鍒涘缓鏂颁换鍔★紵")
+        .then(() => {
+          if (this.tasktopic == 5) {
+            this.$router.push({
+              path: "/followvisit/particty",
+              query: { type: 1, id: row.taskid, nhh: 1 },
+            });
+          } else if (
+            this.tasktopic == 2 ||
+            this.tasktopic == 3 ||
+            this.tasktopic == 6
+          ) {
+            this.$router.push({
+              path: "/followvisit/QuestionnaireTask",
+              query: { type: 2, id: row.taskid, nhh: 1 },
+            });
+          } else if (this.tasktopic == 8 || this.tasktopic == 4) {
+            this.$router.push({
+              path: "/followvisit/Missioncreation",
+              query: { type: 3, id: row.taskid, nhh: 1 },
+            });
+          }
+        })
+        .catch(() => {});
     },
     // 鏆傚仠
     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();
         });
       }
@@ -875,6 +1006,10 @@
         `user_${new Date().getTime()}.xlsx`
       );
     },
+    findLabelByValue(data, value) {
+      const item = data.find((item) => item.value === value);
+      return item ? item.label : null;
+    },
   },
 };
 </script>

--
Gitblit v1.9.3