| | |
| | | 前往CDSS查询 |
| | | </el-link> |
| | | </div> |
| | | <div class="merge-controls" v-if="Whetherall"> |
| | | <el-button |
| | | type="primary" |
| | | @click="toggleMergeMode" |
| | | :disabled="selectedServices.length < 2" |
| | | > |
| | | {{ isMergeMode ? "取消合并" : "合并编辑问卷" }} |
| | | </el-button> |
| | | <el-button |
| | | v-if="isMergeMode" |
| | | type="success" |
| | | @click="openMergeDialog" |
| | | :disabled="selectedServices.length < 2" |
| | | > |
| | | 开始合并 (已选 {{ selectedServices.length }} 个服务) |
| | | </el-button> |
| | | </div> |
| | | </div> |
| | | <!-- <el-button type="success">随访后短信</el-button> --> |
| | | </div> |
| | |
| | | :data="logsheetlist" |
| | | :row-class-name="tableRowClassName" |
| | | style="width: 100%" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="55" |
| | | :selectable="checkSelectable" |
| | | v-if="Whetherall" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="sendname" |
| | | align="center" |
| | |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 添加合并编辑对话框 --> |
| | | <el-dialog |
| | | title="合并编辑问卷" |
| | | :visible.sync="mergeDialogVisible" |
| | | width="80%" |
| | | top="5vh" |
| | | v-dialogDrag |
| | | > |
| | | <MergeAndModify |
| | | v-if="mergeDialogVisible" |
| | | :selected-services="selectedServices" |
| | | :patid="patid" |
| | | @save="handleMergeSave" |
| | | @cancel="mergeDialogVisible = false" |
| | | /> |
| | | </el-dialog> |
| | | <div class="action-container"> |
| | | <div class="call-action"> |
| | | <div class="call-container"> |
| | |
| | | </el-radio-group> |
| | | </div> |
| | | <div |
| | | v-if="item.showAppendInput" |
| | | v-if="item.showAppendInput||item.answerps" |
| | | class="append-input-container" |
| | | > |
| | | <el-input |
| | |
| | | listcontactinformation, |
| | | } from "@/api/patient/homepage"; |
| | | import CallButton from "@/components/CallButton"; |
| | | import MergeAndModify from "./MergeAndModify.vue"; |
| | | export default { |
| | | components: { |
| | | CallButton, |
| | | MergeAndModify, |
| | | }, |
| | | |
| | | dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"], |
| | |
| | | tableDatatop: [], //题目表 |
| | | voiceDatatop: [], //题目表 |
| | | dynamicTags: [], |
| | | isMergeMode: false, |
| | | mergeDialogVisible: false, |
| | | selectedServices: [], // 选中的服务列表 |
| | | zcrules: { |
| | | resource: [ |
| | | { required: true, message: "请选择随访方式", trigger: "change" }, |
| | |
| | | console.error("发生错误:", error); |
| | | }); |
| | | }, |
| | | // 电话============================ |
| | | // 验证电话号码格式并返回错误信息 |
| | | validatePhoneNumber(phone) { |
| | | if (!phone) { |
| | |
| | | }; |
| | | } |
| | | }, |
| | | |
| | | // 使用示例 |
| | | isValidPhone(phone) { |
| | | return this.validatePhoneNumber(phone).isValid; |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | // 处理通话状态变化 |
| | | handleCallStatusChange(status) { |
| | | console.log(status, "status"); |
| | |
| | | this.$message.error(`呼叫失败: ${status.text}`); |
| | | } |
| | | }, |
| | | |
| | | // 结束当前通话 |
| | | endCurrentCall() { |
| | | if (!this.currentCall) return; |
| | |
| | | return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; |
| | | }, |
| | | updateScore(a, b, c) {}, |
| | | // 合并修改相关============================= |
| | | toggleMergeMode() { |
| | | this.isMergeMode = !this.isMergeMode; |
| | | if (!this.isMergeMode) { |
| | | this.selectedServices = []; |
| | | } |
| | | }, |
| | | |
| | | handleSelectionChange(selection) { |
| | | this.selectedServices = selection |
| | | .filter( |
| | | (item) => !item.preachformson || !item.preachformson.includes("3") |
| | | ) |
| | | .map((item) => ({ |
| | | id: item.id, |
| | | taskid: item.taskid, |
| | | taskName: item.taskName, |
| | | sendname: item.sendname, |
| | | })); |
| | | }, |
| | | checkSelectable(row, index) { |
| | | // 当 sendstate 为 6 时不可选 |
| | | return row.sendstate !== 6; |
| | | }, |
| | | openMergeDialog() { |
| | | if (this.selectedServices.length < 2) { |
| | | this.$message.warning("请至少选择2个问卷服务进行合并"); |
| | | return; |
| | | } |
| | | this.mergeDialogVisible = true; |
| | | }, |
| | | |
| | | handleMergeSave(mergedData) { |
| | | // 处理合并保存逻辑 |
| | | this.mergeDialogVisible = false; |
| | | this.isMergeMode = false; |
| | | this.selectedServices = []; |
| | | |
| | | // 显示保存结果 |
| | | if (mergedData.successCount == mergedData.totalCount) { |
| | | this.$message.success(`成功保存 ${mergedData.successCount} 个问卷`); |
| | | } else if (mergedData.successCount > 0) { |
| | | this.$message.warning( |
| | | `成功保存 ${mergedData.successCount} 个问卷,失败 ${ |
| | | mergedData.totalCount - mergedData.successCount |
| | | } 个` |
| | | ); |
| | | } else { |
| | | this.$message.error("所有问卷保存失败"); |
| | | } |
| | | |
| | | // 刷新数据 |
| | | this.getTaskservelist(); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | margin-top: 20px; |
| | | } |
| | | } |
| | | |
| | | .merge-controls { |
| | | background: #f5f7fa; |
| | | border-radius: 4px; |
| | | margin-left: 20px; |
| | | } |
| | | .Followuserinfo { |
| | | margin: 10px 10px 0 10px; |
| | | align-items: center; |