From 39c8b288ec8294e026459dfb1955f0bbc49ebb52 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期一, 19 十月 2026 11:10:40 +0800
Subject: [PATCH] 测试完成

---
 src/views/patient/propaganda/QuestionnaireTask.vue |  151 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 151 insertions(+), 0 deletions(-)

diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index c19b83e..ec22748 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -332,6 +332,35 @@
                   ></el-col>
                 </el-row>
 
+                <!-- 缂欎簯鍘夸汉姘戝尰闄細瓒呮椂鏈畬鎴愭槸鍚﹀啀娆¢殢璁� / 鍐嶆闅忚鍏宠仈浠诲姟 -->
+                <el-row v-if="form.appltype == 1 && orgname == '缂欎簯鍘夸汉姘戝尰闄�'">
+                  <el-col :span="12">
+                    <el-form-item label="瓒呮椂鏈畬鎴愭槸鍚﹀啀娆¢殢璁�">
+                      <el-radio-group v-model="form.nexttaskflag">
+                        <el-radio label="1">鏄�</el-radio>
+                        <el-radio label="0">鍚�</el-radio>
+                      </el-radio-group>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="12">
+                    <el-form-item label="鍐嶆闅忚鍏宠仈浠诲姟">
+                      <el-input
+                        style="width: 300px"
+                        :disabled="true"
+                        v-model="nextTaskName"
+                        placeholder="璇风偣鍑诲彸渚ч�夋嫨浠诲姟"
+                      />
+                      <el-button
+                        style="margin-left: 10px"
+                        type="primary"
+                        icon="el-icon-edit"
+                        circle
+                        @click="openNextTaskDialog"
+                      ></el-button>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+
                 <!-- 鐥呭尯鍏宠仈 -->
                 <el-row v-if="form.appltype == 2">
                   <el-col :span="20"
@@ -1330,6 +1359,68 @@
         </div>
       </div>
     </el-drawer>
+    <!-- 閫夋嫨鍐嶆闅忚鍏宠仈浠诲姟 -->
+    <el-dialog
+      title="閫夋嫨浠诲姟"
+      :visible.sync="nextTaskDialogVisible"
+      width="60%"
+      :close-on-click-modal="false"
+    >
+      <el-form :inline="true" size="small">
+        <el-form-item label="浠诲姟鍚嶇О">
+          <el-input
+            v-model="nextTaskQuery.taskName"
+            placeholder="璇疯緭鍏ヤ换鍔″悕绉�"
+            @keyup.enter.native="handleNextTaskQuery"
+          ></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-button
+            type="primary"
+            icon="el-icon-search"
+            @click="handleNextTaskQuery"
+            >鎼滅储</el-button
+          >
+          <el-button icon="el-icon-refresh" @click="resetNextTaskQuery"
+            >閲嶇疆</el-button
+          >
+        </el-form-item>
+      </el-form>
+      <el-table :data="nextTaskList" border v-loading="nextTaskLoading">
+        <el-table-column
+          label="浠诲姟鍚嶇О"
+          prop="taskName"
+          show-overflow-tooltip
+        />
+        <el-table-column
+          label="浠诲姟鎻忚堪"
+          prop="taskDesc"
+          show-overflow-tooltip
+        />
+        <el-table-column
+          label="鏈嶅姟椤圭洰"
+          prop="templatename"
+          show-overflow-tooltip
+        />
+        <el-table-column label="鎿嶄綔" width="100" align="center">
+          <template slot-scope="scope">
+            <el-button type="text" @click="selectNextTask(scope.row)"
+              >閫夋嫨</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+        v-show="nextTaskTotal > 0"
+        :total="nextTaskTotal"
+        :page.sync="nextTaskQuery.pageNum"
+        :limit.sync="nextTaskQuery.pageSize"
+        @pagination="getNextTaskList"
+      />
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="nextTaskDialogVisible = false">鍙� 娑�</el-button>
+      </span>
+    </el-dialog>
     <Optional-Form
       ref="child"
       :dialogVisiblepatient="dialogVisiblepatientjb"
@@ -1368,8 +1459,10 @@
   rwztaskdepthospgetsonlist,
   rwztaskdiaggetlist,
   taskopergetlist,
+  getTasklist,
 } from "@/api/AiCentre/index";
 import { listMedication } from "@/api/knowledge/drug";
+import { getIvrtask } from "@/api/smartor/ivrtask";
 import OptionalForm from "@/components/OptionalForm";
 import SFtable from "@/components/SFtable";
 import SortCheckbox from "@/components/SortCheckbox";
@@ -1566,6 +1659,8 @@
       orgname: localStorage.getItem("orgname"),
       form: {
         patTaskRelevances: [],
+        nexttaskflag: "0",
+        nexttaskid: null,
         sendType: 1,
         longTask: 0,
         templatename: "",
@@ -1637,6 +1732,13 @@
       queryParamsdept: {},
       quote: false,
       serviceType: null,
+      // 鍐嶆闅忚鍏宠仈浠诲姟锛堢紮浜戝幙浜烘皯鍖婚櫌锛�
+      nextTaskDialogVisible: false,
+      nextTaskLoading: false,
+      nextTaskList: [],
+      nextTaskTotal: 0,
+      nextTaskQuery: { pageNum: 1, pageSize: 10, taskName: "" },
+      nextTaskName: "",
       // 妯℃澘鎼滅储
       templateOptions: [],
       templateLoading: false,
@@ -1802,6 +1904,8 @@
     Getdetails() {
       this.form = {
         patTaskRelevances: [],
+        nexttaskflag: "0",
+        nexttaskid: null,
         sendType: 1,
         sendDay: 5,
         templatename: "",
@@ -1831,6 +1935,14 @@
         Questionnairetaskgetson({ taskid: this.id }).then((res) => {
           if (res.code == 200) {
             this.form = res.data;
+            // 鍥炴樉鍐嶆闅忚鍏宠仈浠诲姟
+            if (this.form.nexttaskflag == null) this.form.nexttaskflag = "0";
+            this.nextTaskName = "";
+            if (this.form.nexttaskid) {
+              getIvrtask(this.form.nexttaskid).then((r) => {
+                this.nextTaskName = (r.data && r.data.taskName) || "";
+              });
+            }
             // 濡傛灉杩斿洖浜� serviceTaskScheduleVO锛岃В鏋愭槑缁嗕腑鐨� content
             if (
               this.form.serviceTaskScheduleVO &&
@@ -1933,6 +2045,9 @@
       this.time2 = "";
       this.time3 = "";
       this.time4 = "";
+      this.form.nexttaskflag = "0";
+      this.form.nexttaskid = null;
+      this.nextTaskName = "";
       // 閲嶇疆浠诲姟缁�
       this.form.serviceTaskScheduleVO = {
         scheduleStyle: 0,
@@ -2284,6 +2399,42 @@
       );
     },
 
+    // ---------- 鍐嶆闅忚鍏宠仈浠诲姟 ----------
+    openNextTaskDialog() {
+      this.nextTaskQuery = { pageNum: 1, pageSize: 10, taskName: "" };
+      this.nextTaskDialogVisible = true;
+      this.getNextTaskList();
+    },
+    getNextTaskList() {
+      this.nextTaskLoading = true;
+      getTasklist({
+        pageNum: this.nextTaskQuery.pageNum,
+        pageSize: this.nextTaskQuery.pageSize,
+        taskName: this.nextTaskQuery.taskName || undefined,
+      })
+        .then((res) => {
+          this.nextTaskList = res.rows || [];
+          this.nextTaskTotal = res.total || 0;
+          this.nextTaskLoading = false;
+        })
+        .catch(() => {
+          this.nextTaskLoading = false;
+        });
+    },
+    handleNextTaskQuery() {
+      this.nextTaskQuery.pageNum = 1;
+      this.getNextTaskList();
+    },
+    resetNextTaskQuery() {
+      this.nextTaskQuery = { pageNum: 1, pageSize: 10, taskName: "" };
+      this.getNextTaskList();
+    },
+    selectNextTask(row) {
+      this.form.nexttaskid = row.taskid;
+      this.nextTaskName = row.taskName;
+      this.nextTaskDialogVisible = false;
+    },
+
     // ---------- 鎮h�呴�夋嫨 ----------
     handleAddpatient(row) {
       this.allpids = [];

--
Gitblit v1.9.3