| | |
| | | gettoken360( |
| | | scope.row.sfzh, |
| | | scope.row.drcode, |
| | | scope.row.drname |
| | | scope.row.drname, |
| | | scope.row.patid |
| | | ) |
| | | " |
| | | ><span class="button-textsc">{{ |
| | |
| | | <div class="header-actions"> |
| | | <!-- 基础操作按钮组 --> |
| | | <div class="action-group basic-actions"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | @click="Editsingletasksonyic('')" |
| | | > |
| | | <el-button type="primary" plain @click="alterpatient('')"> |
| | | 保存基础信息 |
| | | </el-button> |
| | | |
| | |
| | | type="primary" |
| | | round |
| | | @click="sendAgain" |
| | | v-if="form.isVisitAgain != 2" |
| | | v-if="(form.isVisitAgain != 2) & (visitAgain == 2)" |
| | | > |
| | | 再次随访 |
| | | </el-button> |
| | |
| | | /> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-form-item label="任务处理状态"> |
| | | <el-select |
| | | v-model="serviceStates" |
| | | placeholder="请选择状态" |
| | | clearable |
| | | style="width: 150px; margin-right: 10px" |
| | | > |
| | | <el-option |
| | | v-for="item in serviceState" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- 随访内容/记录 --> |
| | | <el-form-item |
| | | :label="orgname == '丽水市中医院' ? '随访内容' : '随访记录'" |
| | | > |
| | | <el-input type="textarea" v-model="form.remark"></el-input> |
| | | <!-- 快捷短语标签 --> |
| | | <div style="margin-bottom: 8px"> |
| | | <el-tag |
| | | v-for="(item, index) in dict.type.quickfollow_up" |
| | | :key="index" |
| | | style="margin-right: 8px; cursor: pointer" |
| | | @click="insertText(item.value)" |
| | | > |
| | | {{ item.value }} |
| | | </el-tag> |
| | | </div> |
| | | <!-- 文本域 --> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="4" |
| | | v-model="form.remark" |
| | | ref="textareaRef" |
| | | placeholder="可点击上方快捷标签或手动输入" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <!-- 随访情况 --> |
| | |
| | | import CallButton from "@/components/CallButton"; |
| | | import MergeAndModify from "./MergeAndModify.vue"; |
| | | import CallCenterLs from "@/components/CallCenterLs"; |
| | | import store from "@/store"; |
| | | export default { |
| | | components: { |
| | | CallButton, |
| | |
| | | }, |
| | | }, |
| | | }, |
| | | dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"], |
| | | dicts: [ |
| | | "sys_normal_disable", |
| | | "quickfollow_up", |
| | | "sys_user_sex", |
| | | "sys_yujing", |
| | | "sys_suggest", |
| | | ], |
| | | data() { |
| | | const validatePhone = (rule, value, callback) => { |
| | | if (!value) { |
| | |
| | | }, 300); |
| | | }; |
| | | return { |
| | | visitAgain: 1, |
| | | userid: "", |
| | | currentPhoneNumber: "", |
| | | callType: "", // 用于区分是哪个电话 |
| | |
| | | isEndingCall: false, |
| | | CaldialogVisible: false, |
| | | currentCall: null, // 当前通话对象 |
| | | serviceStates: 6, |
| | | serviceState: [ |
| | | { |
| | | value: 2, |
| | | label: "待随访", |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: "表单已发送", |
| | | }, |
| | | { |
| | | value: 5, |
| | | label: "发送失败", |
| | | }, |
| | | { |
| | | value: 6, |
| | | label: "已完成", |
| | | }, |
| | | { |
| | | value: 4, |
| | | label: "不执行", |
| | | }, |
| | | ], |
| | | // 新增功能数据 |
| | | showPatientInfo: true, |
| | | showContinuationCareBtn: false, // 控制延续护理按钮显示 |
| | |
| | | label: "其他", |
| | | value: "7", |
| | | }, |
| | | ], |
| | | quickContents: [ |
| | | "病情稳定,继续当前治疗", |
| | | "患者已死亡", |
| | | "患者不需要随访", |
| | | "按时服药,注意休息", |
| | | "饮食清淡,忌辛辣", |
| | | "预约下次复诊", |
| | | ], |
| | | tableDatatop: [], //题目表 |
| | | voiceDatatop: [], //题目表 |
| | |
| | | this.Voicetype = this.$route.query.Voicetype; |
| | | this.visitCount = this.$route.query.visitCount; |
| | | this.serviceType = this.$route.query.serviceType; |
| | | this.visitAgain = store.getters.visitAgain; |
| | | console.log(store.getters.visitAgain); |
| | | |
| | | |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | if (this.orgname == "省立同德翠苑院区") { |
| | | this.showContinuationCareBtn = true; |
| | |
| | | } |
| | | return ""; // 正常 - 无特殊样式 |
| | | }, |
| | | insertText(text) { |
| | | const textarea = this.$refs.textareaRef; |
| | | console.log(textarea); |
| | | |
| | | if (!textarea) return; |
| | | |
| | | const target = textarea.$el.querySelector("textarea"); |
| | | const start = target.selectionStart; |
| | | const end = target.selectionEnd; |
| | | const original = this.form.remark; |
| | | console.log(original, 11); |
| | | |
| | | // 在光标处插入,并更新光标位置 |
| | | this.form.remark = |
| | | original.substring(0, start) + text + original.substring(end); |
| | | |
| | | // 保持焦点并移动光标到插入内容后 |
| | | this.$nextTick(() => { |
| | | target.focus(); |
| | | const newPos = start + text.length; |
| | | target.setSelectionRange(newPos, newPos); |
| | | }); |
| | | }, |
| | | // 获取问卷数据 |
| | | getsearchrResults(id) { |
| | | getsearchrResults({ |
| | |
| | | }); |
| | | }, |
| | | //患者360跳转 |
| | | gettoken360(sfzh, drcode, drname) { |
| | | // this.$modal.msgWarning("360功能暂未开通"); |
| | | gettoken360(sfzh, drcode, drname, id) { |
| | | const orgname = localStorage.getItem("orgname"); |
| | | if (orgname == "南华大学附属第一医院") { |
| | | query360PatInfonh(id).then((res) => { |
| | | if (res.url) { |
| | | window.open(res.url, "_blank"); |
| | | } else { |
| | | this.$modal.msgWarning("360查询无结果"); |
| | | } |
| | | }); |
| | | return; |
| | | } else if ( |
| | | orgname == "第一人民医院湖滨院区" || |
| | | orgname == "第一人民医院吴山院区" |
| | | ) { |
| | | let url = `http://192.200.81.189:9100/blj/view?BINGRENID=${id}&YONGHUID=DBA`; |
| | | window.open(url, "_blank"); |
| | | return; |
| | | } |
| | | |
| | | this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh; |
| | | |
| | |
| | | // 处理 scriptResult,直接修改原始数据 |
| | | if (item.scriptType == 2 && item.scriptResult) { |
| | | // 处理数组类型的 scriptResult |
| | | if ( |
| | | Array.isArray(item.scriptResult) && |
| | | item.scriptResult.length > 0 |
| | | ) { |
| | | if (Array.isArray(item.scriptResult)) { |
| | | item.originalScriptResult = item.scriptResult; // 保存原始数组(可选) |
| | | item.scriptResult = item.scriptResult.join("&"); // 转换为字符串 |
| | | } |
| | |
| | | savequestiondetail(obj).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("服务保存成功"); |
| | | this.Editsingletasksonyic(6); |
| | | this.Editsingletasksonyic(this.serviceStates); |
| | | const orgName = localStorage.getItem("orgname"); |
| | | |
| | | if (this.form.isVisitAgain != 1 || orgName == "丽水市中医院") { |
| | | if (this.form.isVisitAgain != 1 || orgName == "丽水市中医院"||this.visitAgain==1) { |
| | | this.Torouter(); |
| | | return; |
| | | } |
| | |
| | | } |
| | | item.patid = this.patid; |
| | | item.templateid = item.templateID; |
| | | if (item.nextScriptno == null) { |
| | | item.nextScriptno = index == dataToSubmit.length - 1 ? 0 : index + 2; |
| | | } |
| | | }); |
| | | console.log("c", 3); |
| | | |
| | |
| | | const orgName = localStorage.getItem("orgname"); |
| | | console.log(orgName, "orgName"); |
| | | |
| | | if (this.form.isVisitAgain != 1 || orgName == "丽水市中医院") { |
| | | if (this.form.isVisitAgain != 1 || orgName == "丽水市中医院"||this.visitAgain==1) { |
| | | this.Torouter(); |
| | | return; |
| | | } |
| | |
| | | this.form = res.rows[0].serviceSubtaskList.find( |
| | | (item) => item.id == this.id |
| | | ); |
| | | |
| | | this.form.remark = this.form.remark || ""; |
| | | this.logsheetlist = res.rows[0].serviceSubtaskList; |
| | | this.templateid = this.form.templateid; |
| | | this.selectedTag = this.form.excep; |
| | | const targetDate = new Date(this.form.visitTime); // 目标日期 |
| | | const now = new Date(); // 当前时间 |
| | | console.log(now,'当前时间'); |
| | | console.log(targetDate,'目标日期'); |
| | | |
| | | if (now < targetDate && this.form.sendstate == 2) { |
| | | this.$confirm("当前服务未到发送时间请谨慎修改", "提示", { |
| | | confirmButtonText: "确定", |
| | |
| | | } |
| | | }); |
| | | }, |
| | | alterpatient(sendstate) { |
| | | alterpatient(this.userform).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("基础信息保存成功"); |
| | | } else { |
| | | this.$modal.msgError("基础信息修改失败"); |
| | | } |
| | | }); |
| | | }, |
| | | // 异常列渲染 |
| | | tableRowClassName({ row, rowIndex }) { |
| | | if (row.id == this.id) { |