From 7eaee92ee52e1501480adbbe8a1af9ddecc04275 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 04 九月 2024 11:05:23 +0800
Subject: [PATCH] 测试完成

---
 src/views/followvisit/tasklist/index.vue |  368 ++++++++++++++++++++++++++++-----------------------
 1 files changed, 202 insertions(+), 166 deletions(-)

diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue
index 28b2664..e1e59cb 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"
@@ -147,6 +137,12 @@
           align="center"
           key="taskDesc"
           prop="taskDesc"
+        />
+        <el-table-column
+          label="鏈嶅姟椤圭洰"
+          align="center"
+          key="templatename"
+          prop="templatename"
         />
         <el-table-column
           label="寰呮墽琛�/鎬讳换鍔�"
@@ -209,18 +205,10 @@
                 ><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
@@ -275,49 +263,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"
-      >
-        鎵ц鏃ユ湡锛�<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 +352,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 +415,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: "婊℃剰搴﹁皟鏌�",
+        },
+        {
+          value: "7",
           label: "鎮h�呮姤鍛�",
+        },
+
+        {
+          value: "8",
+          label: "鍏朵粬閫氱煡",
         },
       ],
       tasktopic: "2", //鏂板绫诲瀷
+      activname: "",
       value: [],
       list: [],
       loading: false,
@@ -537,6 +546,7 @@
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
+        type: 3,
         userName: undefined,
         tagid: undefined,
         topic: undefined,
@@ -612,10 +622,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,39 +641,38 @@
     /** 鏌ヨ浠诲姟鍒楄〃 */
     getList() {
       this.loading = true;
-      this.tasktopic = this.$route.query.tasktopic
-        ? this.$route.query.tasktopic
-        : this.tasktopic;
-      if (this.tasktopic == 1) {
-        this.topqueryParams.type = 3;
-        this.TaskOperation.taskType = 3;
-      } else if (this.tasktopic == 2) {
-        this.topqueryParams.type = 1;
-        this.TaskOperation.taskType = 1;
-      } else if (this.tasktopic == 3) {
-        this.topqueryParams.type = 1;
-        this.TaskOperation.taskType = 1;
-      } else if (this.tasktopic == 4) {
-        this.topqueryParams.type = 1;
-        this.TaskOperation.taskType = 1;
-      } else if (this.tasktopic == 5) {
-        this.topqueryParams.type = 1;
+      let type = this.$route.query.type;
 
-        this.TaskOperation.taskType = 1;
-      } else if (this.tasktopic == 6) {
+      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
+      // 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;
+        }
       );
-      getTasklist(this.topqueryParams).then((response) => {
-        this.userList = response.rows;
-        this.total = response.total;
-        this.$forceUpdate();
-        this.loading = false;
-      });
     },
     // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
     Referencequestion(row) {
@@ -739,65 +752,85 @@
     },
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
-      const typename = this.findLabelByValue(this.taskoptions, this.tasktopic);
-
-      if (
-        this.tasktopic == 2 ||
-        this.tasktopic == 3 ||
-        this.tasktopic == 4 ||
-        this.tasktopic == 5
-      ) {
+      if (this.topqueryParams.type == 1) {
         this.$router.push({
           path: "/followvisit/particty",
-          query: { type: 1, typename: typename },
+          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: 2, typename: typename },
+          query: {
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+          },
         });
-      } else if (this.tasktopic == 1) {
+      } else if (this.topqueryParams.type == 3) {
         this.$router.push({
           path: "/followvisit/Missioncreation",
-          query: { type: 3, typename: typename },
+          query: {
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+          },
         });
       }
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
-      // this.$router.push({
-      //   path: "/followvisit/particty",
-      //   query: { type: this.tasktopic, id: row.taskid },
-      // });
-      if (
-        this.tasktopic == 2 ||
-        this.tasktopic == 3 ||
-        this.tasktopic == 4 ||
-        this.tasktopic == 5
-      ) {
+      if (this.topqueryParams.type == 1) {
         this.$router.push({
           path: "/followvisit/particty",
-          query: { type: 1, 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: 2, id: row.taskid },
+          query: {
+            id: row.taskid,
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+          },
         });
-      } else if (this.tasktopic == 1) {
+      } else if (this.topqueryParams.type == 3) {
         this.$router.push({
           path: "/followvisit/Missioncreation",
-          query: { type: 3, id: row.taskid },
+          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;
-      console.log(12);
       if (this.taskform.showDate && this.taskform.sendType != 2) {
         this.taskform.showDate = this.taskform.showDate.split(",");
       }
@@ -843,15 +876,19 @@
     },
     // 纭鍙戣捣
     confirmSponsor(row) {
-      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();
-        }
-      });
+      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);
+      }
     },
 
     // 绔嬪嵆鎵ц
@@ -885,22 +922,21 @@
       this.$modal
         .confirm("鏄惁渚濈収褰撳墠浠诲姟鍒涘缓鏂颁换鍔★紵")
         .then(() => {
-          if (
-            this.tasktopic == 2 ||
-            this.tasktopic == 3 ||
-            this.tasktopic == 4 ||
-            this.tasktopic == 5
-          ) {
+          if (this.tasktopic == 5) {
             this.$router.push({
               path: "/followvisit/particty",
               query: { type: 1, id: row.taskid, nhh: 1 },
             });
-          } else if (this.tasktopic == 6) {
+          } 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 == 1) {
+          } else if (this.tasktopic == 8 || this.tasktopic == 4) {
             this.$router.push({
               path: "/followvisit/Missioncreation",
               query: { type: 3, id: row.taskid, nhh: 1 },

--
Gitblit v1.9.3