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