| | |
| | | gettoken360( |
| | | scope.row.sfzh, |
| | | scope.row.drcode, |
| | | scope.row.drname |
| | | scope.row.drname, |
| | | scope.row.patid |
| | | ) |
| | | " |
| | | ><span class="button-textsc">{{ |
| | |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="sendstate" |
| | | label="随访状态" |
| | | align="center" |
| | | width="200" |
| | | label="任务状态" |
| | | key="sendstateView" |
| | | prop="sendstateView" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div v-if="scope.row.sendstate == 1"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >表单已领取</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 2"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >待随访</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 3"> |
| | | <el-tag type="success" :disable-transitions="false" |
| | | >表单已发送</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 4"> |
| | | <el-tag type="info" :disable-transitions="false">不执行</el-tag> |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 5"> |
| | | <el-tag type="danger" :disable-transitions="false" |
| | | >发送失败</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 6"> |
| | | <el-tag type="success" :disable-transitions="false" |
| | | >已完成</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 7"> |
| | | <el-tag type="danger" :disable-transitions="false">超时</el-tag> |
| | | </div> |
| | | <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | :content="scope.row.remark" |
| | | placement="top-start" |
| | | popper-class="statistics-tooltip" |
| | | > |
| | | <div v-if="scope.row.sendstateView == 1"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >待随访</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstateView == 2"> |
| | | <el-tag type="success" :disable-transitions="false" |
| | | >已完成</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstateView == 3"> |
| | | <el-tag type="warning" :disable-transitions="false" |
| | | >无需随访</el-tag |
| | | > |
| | | </div> |
| | | </el-tooltip> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if="orgname == '南华大学附属第一医院'" |
| | | label="入院日期" |
| | | width="200" |
| | | align="center" |
| | | key="starttime" |
| | | prop="starttime" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ formatTime(scope.row.starttime) }}</span> |
| | | </template></el-table-column |
| | | > |
| | | <el-table-column |
| | | label="出院日期" |
| | | width="200" |
| | | align="center" |
| | |
| | | <span>{{ formatTime(scope.row.endtime) }}</span> |
| | | </template></el-table-column |
| | | > |
| | | |
| | | <el-table-column |
| | | label="责任护士" |
| | | width="120" |
| | |
| | | key="drname" |
| | | prop="drname" |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="任务状态" |
| | | align="center" |
| | | key="sendstate" |
| | | prop="sendstate" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | :content="scope.row.remark" |
| | | placement="top-start" |
| | | > |
| | | <div v-if="scope.row.sendstate == 1"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >表单已领取</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 2"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >待随访</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 3"> |
| | | <el-tag type="success" :disable-transitions="false" |
| | | >表单已发送</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 4"> |
| | | <el-tag type="info" :disable-transitions="false" |
| | | >不执行</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 5"> |
| | | <el-tag type="danger" :disable-transitions="false" |
| | | >发送失败</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 6"> |
| | | <el-tag type="success" :disable-transitions="false" |
| | | >已完成</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 7"> |
| | | <el-tag type="danger" :disable-transitions="false" |
| | | >超时</el-tag |
| | | > |
| | | </div> |
| | | </el-tooltip> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="结果状态" |
| | | align="center" |
| | |
| | | <!-- 随访内容 --> |
| | | <div class="call-action"> |
| | | <div class="call-container"> |
| | | <!-- <div class="call-header"> |
| | | <h2>一键呼叫功能</h2> |
| | | </div> --> |
| | | <div |
| | | style="display: flex" |
| | | v-if=" |
| | | (orgname == '南华大学附属第一医院' || |
| | | orgname == '丽水市第二人民医院' || |
| | | orgname == '缙云县人民医院') && |
| | | !Voicetype |
| | | " |
| | | > |
| | | <template-selector |
| | | v-model="form.templateid" |
| | | :templateName="form.templatename" |
| | | :service-type="form.serviceType" |
| | | :is-editable="form.sendState !== 2" |
| | | @select="handleTemplateSelect" |
| | | @clear="handleTemplateClear" |
| | | /> |
| | | <div |
| | | v-if="defaultKey" |
| | | style=" |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | height: 100%; |
| | | padding: 33px 0 0 50px; |
| | | " |
| | | > |
| | | <el-button type="success" round @click="handleConfirmReplace"> |
| | | 默认填充 |
| | | </el-button> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="headline"> |
| | | <div>随访内容</div> |
| | |
| | | ><i class="el-icon-notebook-1"></i> 问卷随访结果</span |
| | | > |
| | | <div class="CONTENT"> |
| | | <div class="title">{{ taskname ? taskname : "问卷" }}</div> |
| | | <div class="title"> |
| | | {{ taskname ? taskname : "问卷" }} |
| | | <span style="margin-left: 50px"> |
| | | <el-button type="primary" round @click="smsSubTask"> |
| | | 问卷短信推送 |
| | | </el-button> |
| | | </span> |
| | | </div> |
| | | |
| | | <div class="preview-left" v-if="!Voicetype"> |
| | | <div |
| | |
| | | v-if="item.scriptType == 1 && !item.astrict" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ index + 1 }}、[单选]<span>{{ |
| | | item.scriptContent |
| | | }}</span> |
| | | {{ index + 1 }}. [单选] |
| | | |
| | | <span> {{ item.scriptContent }}</span> |
| | | <span style="margin-left: 20px" |
| | | ><dict-tag |
| | | :options="dict.type.dimensionality_type" |
| | | :value="item.dimension" |
| | | /></span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-radio-group v-model="item.scriptResult"> |
| | |
| | | v-if="item.scriptType == 2 && !item.astrict" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ index + 1 }}、[多选]<span>{{ |
| | | {{ index + 1 }}. [多选]<span>{{ |
| | | item.scriptContent |
| | | }}</span> |
| | | <span style="margin-left: 20px" |
| | | ><dict-tag |
| | | :options="dict.type.dimensionality_type" |
| | | :value="item.dimension" |
| | | /></span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-checkbox-group |
| | |
| | | v-if="item.scriptType == 4 && !item.astrict" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ index + 1 }}、[问答]<span>{{ |
| | | {{ index + 1 }}. [问答]<span>{{ |
| | | item.scriptContent |
| | | }}</span> |
| | | <span style="margin-left: 20px" |
| | | ><dict-tag |
| | | :options="dict.type.dimensionality_type" |
| | | :value="item.dimension" |
| | | /></span> |
| | | <span v-if="item.valueType == 3">(只能输入数字)</span> |
| | | </div> |
| | | <div class="dev-xx" v-if="item.valueType == 3"> |
| | |
| | | > |
| | | <div v-if="item.targetvalue"> |
| | | <div class="dev-text"> |
| | | {{ index + 1 }}、[单选]<span>{{ |
| | | item.questiontext |
| | | }}</span> |
| | | {{ index + 1 }}. [单选] |
| | | <span>{{ item.questiontext }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-radio-group |
| | |
| | | |
| | | <div class="scriptTopic-dev" :key="index" v-else> |
| | | <div class="dev-text"> |
| | | {{ index + 1 }}、[问答]<span>{{ |
| | | {{ index + 1 }}. [问答]<span>{{ |
| | | item.questiontext |
| | | }}</span> |
| | | <span v-if="item.valueType == 3">(只能输入数字)</span> |
| | |
| | | type="primary" |
| | | round |
| | | @click="sendAgain" |
| | | v-if="form.isVisitAgain != 2" |
| | | v-if="(form.isVisitAgain != 2) & (visitAgain == 2)" |
| | | > |
| | | 再次随访 |
| | | </el-button> |
| | |
| | | </el-form-item> |
| | | |
| | | <!-- 随访情况 --> |
| | | <el-form-item label="随访情况" v-if="orgname == '丽水市中医院'"> |
| | | <el-form-item |
| | | label="随访情况" |
| | | v-if=" |
| | | orgname == '丽水市中医院' || |
| | | orgname == '景宁畲族自治县人民医院' |
| | | " |
| | | > |
| | | <el-radio-group v-model="form.taskSituation"> |
| | | <el-radio |
| | | v-for="city in cities" |
| | |
| | | <!-- 注意这里使用了 smsDialogVisible 以区分已有的 dialogFormVisible --> |
| | | <el-form ref="smsForm" :model="form" label-width="80px"> |
| | | <el-form-item label="患者名称"> |
| | | <el-input |
| | | style="width: 400px" |
| | | disabled |
| | | v-model="form.sendname" |
| | | ></el-input> |
| | | <el-input style="width: 400px" v-model="form.sendname"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="年龄"> |
| | | <el-input style="width: 400px" disabled v-model="form.age"></el-input> |
| | | <el-input style="width: 400px" v-model="form.age"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="电话"> |
| | | <el-input |
| | | style="width: 400px" |
| | | disabled |
| | | v-model="userform.telcode" |
| | | ></el-input> |
| | | <el-input style="width: 400px" v-model="userform.telcode"></el-input> |
| | | <!-- 注意这里可能使用 userform.telcode --> |
| | | </el-form-item> |
| | | <el-form-item label="科室"> |
| | | <el-input |
| | | style="width: 400px" |
| | | disabled |
| | | v-model="form.deptname" |
| | | ></el-input> |
| | | <el-input style="width: 400px" v-model="form.deptname"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="病区"> |
| | | <el-input |
| | | style="width: 400px" |
| | | disabled |
| | | v-model="form.leavehospitaldistrictname" |
| | | ></el-input> |
| | | </el-form-item> |
| | |
| | | savequestiondetail, |
| | | addPersonVoices, |
| | | query360PatInfo, |
| | | updateTemplate, |
| | | query360PatInfonh, |
| | | sendMsg, |
| | | smsSubTask, |
| | | getconfigKey, |
| | | } from "@/api/AiCentre/index"; |
| | | import { |
| | | messagelistpatient, |
| | |
| | | listcontactinformation, |
| | | } from "@/api/patient/homepage"; |
| | | import CallButton from "@/components/CallButton"; |
| | | import TemplateSelector from "@/components/optionalModule"; |
| | | import MergeAndModify from "./MergeAndModify.vue"; |
| | | import CallCenterLs from "@/components/CallCenterLs"; |
| | | import store from "@/store"; |
| | | export default { |
| | | components: { |
| | | CallButton, |
| | | MergeAndModify, |
| | | CallCenterLs, |
| | | TemplateSelector, |
| | | }, |
| | | directives: { |
| | | numericOnly: { |
| | |
| | | }, |
| | | dicts: [ |
| | | "sys_normal_disable", |
| | | "dimensionality_type", |
| | | "quickfollow_up", |
| | | "sys_user_sex", |
| | | "sys_yujing", |
| | |
| | | }, 300); |
| | | }; |
| | | return { |
| | | visitAgain: 1, |
| | | userid: "", |
| | | defaultKey: false, //是否可默认填报 |
| | | currentPhoneNumber: "", |
| | | callType: "", // 用于区分是哪个电话 |
| | | isSipRegistering: true, // SIP注册状态 |
| | |
| | | showContinuationCareBtn: false, // 控制延续护理按钮显示 |
| | | // 路由监听相关 |
| | | routeWatcher: null, |
| | | |
| | | lastRoutePath: this.$route.path, |
| | | input: "今天身体还不错", |
| | | radio: "2", |
| | |
| | | // 禁用今天及之前的日期 |
| | | return time.getTime() < Date.now() - 24 * 60 * 60 * 1000; |
| | | }, |
| | | // shortcuts: [ |
| | | // { |
| | | // text: "七天后", |
| | | // onClick(picker) { |
| | | // const date = new Date(); |
| | | // date.setTime(date.getTime() + 3600 * 1000 * 24 * 7); |
| | | // picker.$emit("pick", date); |
| | | // }, |
| | | // }, |
| | | // { |
| | | // text: "15天后", |
| | | // onClick(picker) { |
| | | // const date = new Date(); |
| | | // date.setTime(date.getTime() + 3600 * 1000 * 24 * 15); |
| | | // picker.$emit("pick", date); |
| | | // }, |
| | | // }, |
| | | // { |
| | | // text: "一个月后", |
| | | // onClick(picker) { |
| | | // const date = new Date(); |
| | | // date.setTime(date.getTime() + 3600 * 1000 * 24 * 30); |
| | | // picker.$emit("pick", date); |
| | | // }, |
| | | // }, |
| | | // { |
| | | // text: "三个月后", |
| | | // onClick(picker) { |
| | | // const date = new Date(); |
| | | // date.setTime(date.getTime() + 3600 * 1000 * 24 * 90); |
| | | // picker.$emit("pick", date); |
| | | // }, |
| | | // }, |
| | | // { |
| | | // text: "六个月后", |
| | | // onClick(picker) { |
| | | // const date = new Date(); |
| | | // date.setTime(date.getTime() + 3600 * 1000 * 24 * 180); |
| | | // picker.$emit("pick", date); |
| | | // }, |
| | | // }, |
| | | // { |
| | | // text: "一年后", |
| | | // onClick(picker) { |
| | | // const date = new Date(); |
| | | // date.setTime(date.getTime() + 3600 * 1000 * 24 * 365); |
| | | // picker.$emit("pick", date); |
| | | // }, |
| | | // }, |
| | | // ], |
| | | }, |
| | | options: [ |
| | | { |
| | |
| | | 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.getTaskservelist(); |
| | | this.getconfigKey(); |
| | | }, |
| | | mounted() { |
| | | // 监听子组件的sipStatus属性变化 |
| | |
| | | return "scriptTopic-dev"; // 正常 - 默认样式 |
| | | } |
| | | }, |
| | | |
| | | getconfigKey() { |
| | | getconfigKey("default.value.icon").then((res) => { |
| | | if (res.msg) { |
| | | if ( |
| | | this.getAssignArr(res.msg).includes(this.$store.state.user.name) || |
| | | this.$store.state.user.name == "admin" |
| | | ) { |
| | | this.defaultKey = true; |
| | | } else { |
| | | this.defaultKey = false; |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | getAssignArr(rule) { |
| | | let arr = []; |
| | | let assiginArr = rule.split(","); |
| | | for (let i = 0; i < assiginArr.length; i++) { |
| | | arr[i] = assiginArr[i]; |
| | | } |
| | | arr.sort(this.compare); |
| | | return arr; |
| | | }, |
| | | // 获取选项样式类 |
| | | getOptionClass(items) { |
| | | if (items.isabnormal == 1) { |
| | |
| | | }); |
| | | }, |
| | | //患者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.data) { |
| | | window.open(res.data, "_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; |
| | | |
| | |
| | | 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; |
| | | } |
| | | this.$modal |
| | | .confirm( |
| | | '任务保存成功是否针对患者:"' + |
| | | this.userform.name + |
| | | '"再次随访?', |
| | | "确认", |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | showCancelButton: true, |
| | | dangerouslyUseHTMLString: true, |
| | | confirmButtonClass: "custom-confirm-button", // 自定义确认按钮的类名 |
| | | cancelButtonClass: "custom-cancel-button", // 自定义取消按钮的类名 |
| | | } |
| | | ) |
| | | .then(() => { |
| | | document.querySelector("#app").scrollTo(0, 0); |
| | | this.formtidy(); |
| | | this.dialogFormVisible = true; |
| | | }) |
| | | .catch(() => { |
| | | this.Torouter(); |
| | | }); |
| | | // this.$modal |
| | | // .confirm( |
| | | // '任务保存成功是否针对患者:"' + |
| | | // this.userform.name + |
| | | // '"再次随访?', |
| | | // "确认", |
| | | // { |
| | | // confirmButtonText: "确定", |
| | | // cancelButtonText: "取消", |
| | | // showCancelButton: true, |
| | | // dangerouslyUseHTMLString: true, |
| | | // confirmButtonClass: "custom-confirm-button", // 自定义确认按钮的类名 |
| | | // cancelButtonClass: "custom-cancel-button", // 自定义取消按钮的类名 |
| | | // } |
| | | // ) |
| | | // .then(() => { |
| | | // document.querySelector("#app").scrollTo(0, 0); |
| | | // this.formtidy(); |
| | | // this.dialogFormVisible = true; |
| | | // }) |
| | | // .catch(() => { |
| | | // this.Torouter(); |
| | | // }); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | message: "请输入正确的电话号码(手机号或带区号的固定电话)", |
| | | }; |
| | | } |
| | | }, |
| | | handleTemplateSelect(templateData) { |
| | | console.log("选择了模板:", templateData); |
| | | // 处理模板选择逻辑 |
| | | let templateobj = templateData.templateData; |
| | | templateobj.templateid = templateobj.svyid; |
| | | templateobj.taskid = this.form.taskid; |
| | | templateobj.isoperation = 1; |
| | | templateobj.svyTaskTemplateScriptVOS = templateobj.svyTemplateLibScripts; |
| | | templateobj.svyTaskTemplateScriptVOS.forEach((item) => { |
| | | item.taskid = this.form.taskid; |
| | | item.templateid = item.svyid; |
| | | item.svyTaskTemplateTargetoptions = item.svyLibTemplateTargetoptions; |
| | | }); |
| | | let obj = { |
| | | subId: this.form.id, |
| | | svyTaskTemplateVO: templateobj, |
| | | }; |
| | | updateTemplate(obj).then((res) => { |
| | | if (res.code) { |
| | | location.reload(); |
| | | this.$modal.msgSuccess("模板修改成功"); |
| | | } else { |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | handleTemplateClear() { |
| | | console.log("清除了模板选择"); |
| | | }, |
| | | smsSubTask() { |
| | | this.$modal |
| | | .confirm("是否向患者通过短信推送文件内容?") |
| | | .then(() => { |
| | | console.log(11, this.id); |
| | | |
| | | smsSubTask(this.id).then((res) => { |
| | | console.log(11); |
| | | |
| | | if (res.code) { |
| | | this.$modal.msgSuccess("文件已通过短信推送给患者"); |
| | | } else { |
| | | } |
| | | }); |
| | | }) |
| | | .catch((err) => { |
| | | console.log(err); |
| | | }); |
| | | }, |
| | | handleConfirmReplace() { |
| | | // 遍历所有题目(tableDatatop) |
| | | this.tableDatatop.forEach((item) => { |
| | | // 只处理未填报的题目(scriptResult 为空或空数组) |
| | | if ( |
| | | !item.scriptResult || |
| | | (Array.isArray(item.scriptResult) && item.scriptResult.length === 0) |
| | | ) { |
| | | // 查找选项中 defaultValue 为 2 的选项 |
| | | const defaultOption = item.svyTaskTemplateTargetoptions?.find( |
| | | (opt) => opt.defaultValue == 2 |
| | | ); |
| | | console.log(item); |
| | | |
| | | if (defaultOption) { |
| | | // 根据题目类型赋值 |
| | | if (item.scriptType === "1") { |
| | | // 单选题:直接赋值为 optioncontent 字符串 |
| | | item.scriptResult = defaultOption.optioncontent; |
| | | } else if (item.scriptType === "2") { |
| | | // 多选题:赋值为包含 optioncontent 的数组 |
| | | item.scriptResult = [defaultOption.optioncontent]; |
| | | } else if (item.scriptType === "4") { |
| | | // 填空题:一般没有选项,但如果有则赋值 |
| | | item.scriptResult = defaultOption.optioncontent; |
| | | } |
| | | |
| | | // 触发视图更新(因为 Vue 可能无法检测到深层嵌套对象的变化) |
| | | this.$forceUpdate(); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | // 使用示例 |
| | | isValidPhone(phone) { |
| | |
| | | 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; |
| | | } |
| | | savequestiondetail(obj).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("服务保存成功"); |
| | | this.$modal |
| | | .confirm( |
| | | '任务保存成功是否针对患者:"' + |
| | | this.userform.name + |
| | | '"再次随访?', |
| | | "确认", |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | showCancelButton: true, |
| | | dangerouslyUseHTMLString: true, |
| | | confirmButtonClass: "custom-confirm-button", // 自定义确认按钮的类名 |
| | | cancelButtonClass: "custom-cancel-button", // 自定义取消按钮的类名 |
| | | } |
| | | ) |
| | | .then(() => { |
| | | document.querySelector("#app").scrollTo(0, 0); |
| | | this.formtidy(); |
| | | this.dialogFormVisible = true; |
| | | }) |
| | | .catch(() => { |
| | | this.Torouter(); |
| | | }); |
| | | this.Torouter(); |
| | | |
| | | // this.$modal |
| | | // .confirm( |
| | | // '任务保存成功是否针对患者:"' + |
| | | // this.userform.name + |
| | | // '"再次随访?', |
| | | // "确认", |
| | | // { |
| | | // confirmButtonText: "确定", |
| | | // cancelButtonText: "取消", |
| | | // showCancelButton: true, |
| | | // dangerouslyUseHTMLString: true, |
| | | // confirmButtonClass: "custom-confirm-button", // 自定义确认按钮的类名 |
| | | // cancelButtonClass: "custom-cancel-button", // 自定义取消按钮的类名 |
| | | // } |
| | | // ) |
| | | // .then(() => { |
| | | // document.querySelector("#app").scrollTo(0, 0); |
| | | // this.formtidy(); |
| | | // this.dialogFormVisible = true; |
| | | // }) |
| | | // .catch(() => { |
| | | // this.Torouter(); |
| | | // }); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | this.form = res.rows[0].serviceSubtaskList.find( |
| | | (item) => item.id == this.id |
| | | ); |
| | | console.log(this.form.templatename, "templatename"); |
| | | |
| | | 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("当前服务未到发送时间请谨慎修改", "提示", { |
| | | this.$confirm("当前服务未到随访时间请谨慎修改", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | |
| | | if (res.code == 200) { |
| | | objson = res.rows[0].serviceSubtaskList[0]; |
| | | objson.suggest = son; |
| | | objson.remark = this.form.remark; |
| | | objson.sendstate = this.serviceStates; |
| | | objson.taskSituation = this.form.taskSituation; |
| | | Editsingletaskson(objson).then((res) => { |
| | | if (res.code) { |
| | | this.$modal.msgSuccess("服务记录成功"); |
| | |
| | | }); |
| | | }, |
| | | alterpatient(sendstate) { |
| | | alterpatient(this.userform).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("基础信息保存成功"); |
| | | } else { |
| | | this.$modal.msgError("基础信息修改失败"); |
| | | } |
| | | }); |
| | | this.Editsingletasksonyic(this.serviceStates); |
| | | // alterpatient(this.userform).then((res) => { |
| | | // if (res.code == 200) { |
| | | // this.$modal.msgSuccess("基础信息保存成功"); |
| | | // } else { |
| | | // this.$modal.msgError("基础信息修改失败"); |
| | | // } |
| | | // }); |
| | | }, |
| | | // 异常列渲染 |
| | | tableRowClassName({ row, rowIndex }) { |
| | |
| | | // console.log(11); |
| | | // }, |
| | | beforeRouteLeave(to, from, next) { |
| | | this.$refs.callButton.cleanupResources(); |
| | | if (this.$refs.CallCenterLs) { |
| | | console.log(1); |
| | | const callButton = this.$refs.callButton; |
| | | |
| | | this.$refs.CallCenterLs.handleSeatLogout(); |
| | | // 如果存在呼叫组件且正在通话中 |
| | | if (callButton && callButton.isCalling) { |
| | | this.$confirm("当前正在通话中,确定要离开此页面吗?", "提示", { |
| | | confirmButtonText: "挂断并离开", |
| | | cancelButtonText: "继续通话", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | // 用户确认离开,主动挂断并清理 |
| | | callButton.cleanupResources(); |
| | | if (this.$refs.CallCenterLs) { |
| | | this.$refs.CallCenterLs.handleSeatLogout(); |
| | | } |
| | | next(); |
| | | }) |
| | | .catch(() => { |
| | | // 用户取消,阻止路由跳转 |
| | | next(false); |
| | | }); |
| | | } else { |
| | | // 未通话或呼叫组件不存在,正常清理 |
| | | if (callButton) { |
| | | callButton.cleanupResources(); |
| | | } |
| | | if (this.$refs.CallCenterLs) { |
| | | this.$refs.CallCenterLs.handleSeatLogout(); |
| | | } |
| | | next(); |
| | | } |
| | | next(); // 确保调用 nex |
| | | }, |
| | | // beforeRouteUpdate() { |
| | | // console.log(33); |
| | |
| | | |
| | | .dev-text { |
| | | margin-bottom: 10px; |
| | | display: flex; |
| | | } |
| | | } |
| | | } |