From 76c30727c77065c808b1c0fb3146080e423e5fe6 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 27 六月 2024 09:45:30 +0800
Subject: [PATCH] 测试完成

---
 src/views/followvisit/tasklist/index.vue |  313 ++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 207 insertions(+), 106 deletions(-)

diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue
index 45a9c02..71ed556 100644
--- a/src/views/followvisit/tasklist/index.vue
+++ b/src/views/followvisit/tasklist/index.vue
@@ -77,7 +77,11 @@
       <el-divider></el-divider>
       <el-row :gutter="10" class="mb8">
         <el-col :span="1.5">
-          <el-select v-model="tasktopic" placeholder="璇烽�夋嫨鏂板绫诲瀷">
+          <el-select
+            @change="handleQuery"
+            v-model="tasktopic"
+            placeholder="璇烽�夋嫨鏂板绫诲瀷"
+          >
             <el-option
               v-for="item in taskoptions"
               :key="item.value"
@@ -97,29 +101,7 @@
             >鏂板</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">
           <div class="documentf">
             <div class="document">
@@ -142,12 +124,7 @@
               @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 v-loading="loading" :data="userList">
         <el-table-column
           label="搴忓彿"
           fixed
@@ -200,15 +177,21 @@
             <span>{{ parseTime(scope.row.createTime) }}</span>
           </template>
         </el-table-column>
-
         <el-table-column
           label="鐘舵��"
           fixed="right"
           align="center"
-          key="phonenumber"
-          prop="phonenumber"
+          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"
@@ -218,7 +201,7 @@
         >
           <template slot-scope="scope">
             <el-button
-              v-if="scope.row.status != 1"
+              v-if="scope.row.sendState == 1 || scope.row.sendState == 3"
               size="medium"
               type="text"
               @click="sponsor(scope.row)"
@@ -226,12 +209,25 @@
                 ><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
               ></el-button
             >
-            <el-button size="medium" type="text" @click="stop(scope.row)"
+            <el-button
+              v-if="scope.row.sendState == 2"
+              size="medium"
+              type="text"
+              @click="stop(scope.row)"
               ><span class="button-zt"
                 ><i class="el-icon-circle-plus-outline"></i>鏆傚仠浠诲姟</span
               ></el-button
@@ -272,58 +268,68 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 纭鍙戣捣瀵硅瘽妗� -->
     <el-dialog
-      :title="title"
-      :visible.sync="addalteropen"
-      width="700px"
-      append-to-body
+      title="浠诲姟鍙戣捣纭"
+      :visible.sync="taskformVisible"
+      width="50%"
+      :before-close="handleClose"
     >
-      <el-form ref="form" :model="form" label-width="100px">
-        <el-row :gutter="20">
-          <el-col :span="12"
-            ><el-form-item label="浠诲姟鍚嶇О">
-              <el-input v-model="form.taskName"></el-input> </el-form-item
-          ></el-col>
-        </el-row>
-        <el-row :gutter="20">
-          <el-col :span="24"
-            ><el-form-item label="鎵�灞炵瀹�">
-              <el-select v-model="form.region" placeholder="璇烽�夋嫨绉戝">
-                <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
-                <el-option label="鍖哄煙浜�" value="beijing"></el-option>
-              </el-select> </el-form-item></el-col
-        ></el-row>
-        <el-row :gutter="20">
-          <el-col :span="24"
-            ><el-form-item label="闅忚绫诲瀷">
-              <el-select v-model="form.region" placeholder="璇烽�夋嫨闅忚绫诲瀷">
-                <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
-                <el-option label="鍖哄煙浜�" value="beijing"></el-option>
-              </el-select> </el-form-item
-          ></el-col>
-        </el-row>
-        <el-row :gutter="20">
-          <el-col :span="24">
-            <el-form-item label="鏈嶅姟妯″潡">
-              <el-select v-model="form.region" placeholder="璇烽�夋嫨妯″潡">
-                <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
-                <el-option label="鍖哄煙浜�" value="beijing"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row :gutter="20">
-          <el-col :span="24">
-            <el-form-item label="闂ㄨ瘖闅忚瑕佹眰">
-              <el-input type="textarea" v-model="form.desc"></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">鎻� 浜�</el-button>
-        <el-button @click="cancel">杩� 鍥�</el-button>
+      <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-button style="margin-right: 20px" @click="taskformVisible = false"
+          >鍙� 娑�</el-button
+        >
+        <el-button
+          style="margin-right: 20px"
+          type="success"
+          @click="confirmSponsor(taskform)"
+          >纭鎵ц</el-button
+        >
+        <el-button type="primary" @click="handleUpdate(taskform)"
+          >鍓嶅線淇敼</el-button
+        >
       </div>
     </el-dialog>
   </div>
@@ -343,6 +349,9 @@
   getTaskInfo,
   Editsingletask,
   delTaskInfo,
+  Questionnairetasklist,
+  Questionnairetaskget,
+  Questionnairetasksponsor,
   TaskTemplateSendExecution,
 } from "@/api/AiCentre/index";
 
@@ -351,7 +360,7 @@
 
 export default {
   name: "User",
-  dicts: ["sys_normal_disable", "sys_user_sex"],
+  dicts: ["sys_normal_disable", "sys_user_sex", "task_status"],
   components: { Treeselect },
   data() {
     return {
@@ -383,6 +392,13 @@
       postOptions: [],
       // 瑙掕壊閫夐」
       roleOptions: [],
+      taskform: {
+        showDate: [],
+        showTimeMorn: [],
+        showTimeNight: [],
+        showTimeNoon: [],
+      },
+      taskformVisible: false,
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
       inputValue: "",
@@ -423,7 +439,7 @@
           label: "闂嵎鏈嶅姟",
         },
       ],
-      tasktopic: null, //鏂板绫诲瀷
+      tasktopic: "2", //鏂板绫诲瀷
       value: [],
       list: [],
       loading: false,
@@ -610,12 +626,20 @@
   methods: {
     /** 鏌ヨ浠诲姟鍒楄〃 */
     getList() {
-      // this.loading = true;
-      getTasklist(this.topqueryParams).then((response) => {
-        this.userList = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
+      this.loading = true;
+      if (this.tasktopic == 1 || this.tasktopic == 2 || this.tasktopic == 3) {
+        getTasklist(this.topqueryParams).then((response) => {
+          this.userList = response.rows;
+          this.total = response.total;
+          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) {
@@ -636,11 +660,6 @@
       }
     },
 
-    // 鍙栨秷鎸夐挳
-    cancel() {
-      this.addalteropen = false;
-      this.reset();
-    },
     // 琛ㄥ崟閲嶇疆
     reset() {
       this.form = {
@@ -700,10 +719,17 @@
     },
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
-      this.$router.push({
-        path: "/followvisit/particty",
-        query: { type: this.tasktopic },
-      });
+      if (this.tasktopic == 1 || this.tasktopic == 2 || this.tasktopic == 3) {
+        this.$router.push({
+          path: "/followvisit/particty",
+          query: { type: this.tasktopic },
+        });
+      } else if (this.tasktopic == 6) {
+        this.$router.push({
+          path: "/followvisit/QuestionnaireTask",
+          query: { type: this.tasktopic },
+        });
+      }
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
@@ -711,18 +737,85 @@
         path: "/followvisit/particty",
         query: { type: row.hospType, id: row.taskid },
       });
+      if (this.tasktopic == 1 || this.tasktopic == 2 || this.tasktopic == 3) {
+        this.$router.push({
+          path: "/followvisit/particty",
+          query: { type: row.hospType, id: row.taskid },
+        });
+      } else if (this.tasktopic == 6) {
+        this.$router.push({
+          path: "/followvisit/QuestionnaireTask",
+          query: { type: row.hospType, id: row.taskid },
+        });
+      }
     },
     // 鍒犻櫎浠诲姟
     deletefn() {},
     // 浠诲姟鍙戣捣
     sponsor(row) {
-      console.log(row,'浠诲姟淇℃伅');
+      console.log(row, "浠诲姟淇℃伅");
+      this.taskform = row;
+      if (this.taskform.showDate) {
+        this.taskform.showDate = this.taskform.showDate.split(",");
+      }
+      if (this.taskform.showTimeMorn) {
+        this.taskform.showTimeMorn = this.taskform.showTimeMorn.split(",");
+      } else {
+        this.taskform.showTimeMorn = [];
+      }
+      if (this.taskform.showTimeNight) {
+        this.taskform.showTimeNight = this.taskform.showTimeNight.split(",");
+      } else {
+        this.taskform.showTimeNight = [];
+      }
+      if (this.taskform.showTimeNoon) {
+        this.taskform.showTimeNoon = this.taskform.showTimeNoon.split(",");
+      } else {
+        this.taskform.showTimeNoon = [];
+      }
+      if (row.sendState != 2) {
+        this.taskformVisible = true;
+      } 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();
+        }
+      });
+    },
+    // 绔嬪嵆鎵ц
+    immediateExecution(row) {
+      console.log(row, "浠诲姟淇℃伅");
       if (row.sendState != 2) {
         this.TaskOperation.taskId = row.taskid;
         this.TaskOperation.sendState = 2;
-        TaskTemplateSendExecution(this.TaskOperation).then((res) => {});
+        this.TaskOperation.sendType = 2;
+        this.$modal
+          .confirm(
+            '鏄惁绔嬪嵆鎵ц浠诲姟鍚嶇О涓轰负"' +
+              row.taskName +
+              '"鐨勬暟鎹」锛熷彂璧锋墽琛屽悗涓嶅彲鎾ゅ洖锛�'
+          )
+          .then(() => {
+            TaskTemplateSendExecution(this.TaskOperation).then((res) => {
+              if (res.code == 200) {
+                this.getList();
+                this.$modal.msgSuccess("浠诲姟宸茬珛鍗虫墽琛�");
+              }
+            });
+          })
+          .then(() => {})
+          .catch(() => {});
       }
     },
+
     // 渚濈収鏂板
     newAdd(row) {
       TaskTemplateSendExecution().then((res) => {});
@@ -732,7 +825,9 @@
       if (row.sendState == 2) {
         this.TaskOperation.taskId = row.taskId;
         this.TaskOperation.sendState = 3;
-        TaskTemplateSendExecution().then((res) => {});
+        TaskTemplateSendExecution().then((res) => {
+          this.getList();
+        });
       }
     },
 
@@ -891,6 +986,12 @@
   border-radius: 1px;
   color: #ffffff;
 }
+.button-lj {
+  background: #e9614f;
+  padding: 5px;
+  border-radius: 1px;
+  color: #ffffff;
+}
 .button-xj {
   background: #815c94;
   padding: 5px;

--
Gitblit v1.9.3