| | |
| | | v-if=" |
| | | (orgname == '南华大学附属第一医院' || |
| | | orgname == '丽水市第二人民医院' || |
| | | orgname == '缙云县人民医院') && |
| | | orgname == '缙云县人民医院'|| |
| | | orgname == '丽水市妇幼保健院'|| |
| | | orgname == '松阳县中医医院') && |
| | | !Voicetype |
| | | " |
| | | > |
| | |
| | | <div>随访内容</div> |
| | | </div> |
| | | <div> |
| | | <el-tabs v-model="activeName" type="border-card"> |
| | | <el-tabs v-model="activeName" type="card"> |
| | | <el-tab-pane name="wj"> |
| | | <span class="mulsz" slot="label" |
| | | ><i class="el-icon-notebook-1"></i> 问卷随访结果</span |
| | |
| | | </span> |
| | | </div> |
| | | |
| | | <div class="preview-left" v-if="!Voicetype"> |
| | | <div class="preview-left" v-if="showQuestionnaireForm"> |
| | | <div |
| | | class="topic-dev" |
| | | v-for="(item, index) in tableDatatop" |
| | |
| | | </div> |
| | | </div> |
| | | <el-button |
| | | v-if="Voicetype" |
| | | v-if="showQuestionnaireForm" |
| | | type="primary" |
| | | @click="yuyingetdetail" |
| | | @click="getdetail" |
| | | >保存问卷详情</el-button |
| | | > |
| | | <el-button v-else type="primary" @click="getdetail" |
| | | <el-button v-else type="primary" @click="yuyingetdetail" |
| | | >保存问卷详情</el-button |
| | | > |
| | | </div> |
| | |
| | | v-if="(form.isVisitAgain == 1) & (visitAgain == 2)" |
| | | > |
| | | 再次随访 |
| | | </el-button> |
| | | <!-- 超时服务:管理员可将完成时间改为应随访时间、状态改为已完成 --> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | @click="handleTimeoutComplete" |
| | | v-if="form.sendstate == 7 && isAdmin" |
| | | > |
| | | 超时标记已完成 |
| | | </el-button> |
| | | </div> |
| | | |
| | |
| | | </el-form> |
| | | </div> |
| | | |
| | | <!-- 患者档案信息 --> |
| | | <div class="detailed"> |
| | | <h3>患者档案信息</h3> |
| | | <el-form ref="userform" :model="userform" label-width="100px"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="患者姓名" prop="name"> |
| | | <el-input |
| | | v-model="userform.name" |
| | | placeholder="请输入姓名" |
| | | maxlength="30" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="性别" prop="sex"> |
| | | <el-select v-model="userform.sex" placeholder="请选择"> |
| | | <el-option label="男" :value="1"> </el-option> |
| | | <el-option label="女" :value="2"> </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="年龄" prop="age"> |
| | | <el-input |
| | | v-model="userform.age" |
| | | placeholder="请输入年龄" |
| | | maxlength="20" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="联系方式" prop="telcode"> |
| | | <el-input |
| | | v-model="userform.telcode" |
| | | placeholder="请输入联系方式" |
| | | maxlength="20" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="亲属联系方式" prop="relativetelcode"> |
| | | <el-input |
| | | v-model="userform.relativetelcode" |
| | | placeholder="请输入亲属联系方式" |
| | | maxlength="20" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="诊断名称" prop="leavediagname"> |
| | | <el-input |
| | | v-model="form.leavediagname" |
| | | placeholder="请输入诊断" |
| | | maxlength="50" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="出生地" prop="birthplace"> |
| | | <el-input |
| | | v-model="userform.birthplace" |
| | | placeholder="国、省、地市、区县、街道等详细信息" |
| | | maxlength="50" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="居住地" prop="placeOfResidence"> |
| | | <el-input |
| | | v-model="userform.placeOfResidence" |
| | | placeholder="国、省、地市、区县、街道等详细信息" |
| | | maxlength="50" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <!-- 折叠面板:患者档案信息 + 投诉建议 --> |
| | | <div class="collapse-section"> |
| | | <el-collapse v-model="collapseActive" accordion> |
| | | <el-collapse-item title="患者档案信息" name="patient"> |
| | | <el-form ref="userform2" :model="userform" label-width="90px" size="small"> |
| | | <el-row :gutter="16"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="患者姓名"> |
| | | <el-input v-model="userform.name" placeholder="请输入姓名" maxlength="30"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="性别"> |
| | | <el-select v-model="userform.sex" placeholder="请选择" style="width: 100%"> |
| | | <el-option label="男" :value="1"></el-option> |
| | | <el-option label="女" :value="2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="16"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="年龄"> |
| | | <el-input v-model="userform.age" placeholder="请输入年龄" maxlength="20"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="联系方式"> |
| | | <el-input v-model="userform.telcode" placeholder="请输入联系方式" maxlength="20"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="16"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="亲属电话"> |
| | | <el-input v-model="userform.relativetelcode" placeholder="请输入亲属联系方式" maxlength="20"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="16"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="诊断名称"> |
| | | <el-input v-model="form.leavediagname" placeholder="请输入诊断" maxlength="50"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="16"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="出生地"> |
| | | <el-input v-model="userform.birthplace" placeholder="国、省、地市、区县、街道等" maxlength="50"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="16"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="居住地"> |
| | | <el-input v-model="userform.placeOfResidence" placeholder="国、省、地市、区县、街道等" maxlength="50"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="投诉建议" name="advice" v-if="orgname=='缙云县人民医院'"> |
| | | <AdviceList :subid="taskid" :taskid="id" :patid="patid" /> |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | </div> |
| | | |
| | | |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | import CallButton from "@/components/CallButton"; |
| | | import TemplateSelector from "@/components/optionalModule"; |
| | | import MergeAndModify from "./MergeAndModify.vue"; |
| | | import AdviceList from "./components/AdviceList.vue"; |
| | | import CallCenterLs from "@/components/CallCenterLs"; |
| | | import store from "@/store"; |
| | | export default { |
| | | components: { |
| | | CallButton, |
| | | MergeAndModify, |
| | | AdviceList, |
| | | CallCenterLs, |
| | | TemplateSelector, |
| | | }, |
| | |
| | | return { |
| | | visitAgain: 1, |
| | | activeNames: ["next"], // 只展开"下次随访",其他都折叠 |
| | | collapseActive: ["patient"], // 人工处理折叠面板激活项(默认展开患者档案) |
| | | userid: "", |
| | | defaultKey: false, //是否可默认填报 |
| | | currentPhoneNumber: "", |
| | |
| | | failed: "error", |
| | | }; |
| | | return typeMap[this.callStatus]; |
| | | }, |
| | | // 是否以问卷形式展示(非语音服务,或语音服务但无完整语音数据需手动填报) |
| | | showQuestionnaireForm() { |
| | | return !this.Voicetype ; |
| | | }, |
| | | // 是否为管理员角色 |
| | | isAdmin() { |
| | | const roles = this.$store.getters.roles || []; |
| | | return roles.includes("admin") || roles.includes("sysadmin"); |
| | | }, |
| | | }, |
| | | created() { |
| | |
| | | if (res.code == 200) { |
| | | this.voiceDatatop = res.data.serviceSubtaskDetails; |
| | | this.voice = res.data.voice; |
| | | this.activeName = "yy"; |
| | | this.activeName = this.voice ? "yy" : "wj"; |
| | | this.taskname = res.data.taskName; |
| | | // 问卷展示数据处理 |
| | | this.tableDatatop = res.data.filteredDetails; |
| | |
| | | .map((obj) => obj.targetvalue) |
| | | .join("&"); |
| | | } |
| | | console.log(item.targetvalue,'item.targetvalue'); |
| | | |
| | | if (item.targetvalue) { |
| | | item.scriptResult = item.targetvalue.split("&"); |
| | | } |
| | | console.log(item.scriptResult); |
| | | |
| | | }); |
| | | } |
| | | }); |
| | |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | // 超时服务:管理员将完成时间改为应随访时间、状态改为已完成 |
| | | handleTimeoutComplete() { |
| | | this.$modal |
| | | .confirm( |
| | | "是否将该超时服务的随访完成时间调整为应随访时间,并将随访状态改为已完成?" |
| | | ) |
| | | .then(() => { |
| | | getTaskservelist({ |
| | | patid: this.patid, |
| | | subId: this.id, |
| | | }).then((res) => { |
| | | if (res.code == 200) { |
| | | const objson = res.rows[0].serviceSubtaskList.find( |
| | | (item) => item.id == this.id |
| | | ); |
| | | if (objson) { |
| | | objson.finishtime = objson.visitTime; |
| | | objson.sendstate = 6; |
| | | Editsingletaskson(objson).then((res) => { |
| | | if (res.code) { |
| | | this.$modal.msgSuccess("操作成功"); |
| | | this.getTaskservelist(); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | alterpatient(sendstate) { |
| | | this.Editsingletasksonyic(this.serviceStates); |
| | |
| | | padding: 20px 15px; |
| | | background-color: #fff; |
| | | } |
| | | |
| | | .collapse-section { |
| | | width: 100%; |
| | | align-self: stretch; |
| | | margin-top: 10px; |
| | | |
| | | ::v-deep .el-collapse { |
| | | border: none; |
| | | |
| | | .el-collapse-item__header { |
| | | background: linear-gradient(135deg, #ecf5ff 0%, #f5f9ff 100%); |
| | | border-radius: 8px; |
| | | padding: 0 20px; |
| | | height: 48px; |
| | | font-size: 16px; |
| | | font-weight: 700; |
| | | color: #303133; |
| | | border-bottom: 1px solid #e4e7ed; |
| | | margin-bottom: 8px; |
| | | letter-spacing: 1px; |
| | | |
| | | .el-collapse-item__arrow { |
| | | font-size: 16px; |
| | | color: #409eff; |
| | | } |
| | | |
| | | &:hover { |
| | | background: linear-gradient(135deg, #e0efff 0%, #ecf5ff 100%); |
| | | } |
| | | |
| | | &.is-active { |
| | | border-bottom-color: transparent; |
| | | color: #409eff; |
| | | } |
| | | } |
| | | |
| | | .el-collapse-item__wrap { |
| | | border-bottom: none; |
| | | padding: 4px 2px 8px; |
| | | } |
| | | |
| | | .el-collapse-item__content { |
| | | padding: 16px; |
| | | background: #fff; |
| | | border-radius: 8px; |
| | | border: 1px solid #ebeef5; |
| | | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); |
| | | } |
| | | } |
| | | |
| | | .el-form-item { |
| | | margin-bottom: 12px; |
| | | } |
| | | } |
| | | </style> |