| | |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="应随访日期" |
| | | width="146" |
| | | align="center" |
| | | key="visitTime" |
| | | prop="visitTime" |
| | | :render-header="Tooltipy" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ formatTime(scope.row.visitTime) }}</span> |
| | | </template></el-table-column |
| | | > |
| | | <el-table-column |
| | | v-if="orgname == '南华大学附属第一医院'" |
| | | label="入院日期" |
| | | width="200" |
| | |
| | | <div class="title"> |
| | | {{ taskname ? taskname : "问卷" }} |
| | | <span style="margin-left: 50px"> |
| | | <el-button type="primary" round @click="smsSubTask"> |
| | | <el-button |
| | | type="primary" |
| | | round |
| | | @click="smsSubTask" |
| | | v-if="orgname != '省立同德翠苑院区'" |
| | | > |
| | | 问卷短信推送 |
| | | </el-button> |
| | | </span> |
| | |
| | | v-if="Voicetype" |
| | | type="primary" |
| | | @click="yuyingetdetail" |
| | | >保存服务详情</el-button |
| | | >保存问卷详情</el-button |
| | | > |
| | | <el-button v-else type="primary" @click="getdetail" |
| | | >保存服务详情</el-button |
| | | >保存问卷详情</el-button |
| | | > |
| | | </div> |
| | | </el-tab-pane> |
| | |
| | | type="primary" |
| | | round |
| | | @click="sendAgain" |
| | | v-if="(form.isVisitAgain != 2) & (visitAgain == 2)" |
| | | v-if="(form.isVisitAgain == 1) & (visitAgain == 2)" |
| | | > |
| | | 再次随访 |
| | | </el-button> |
| | |
| | | v-model="selectedTag" |
| | | placeholder="请选择异常状态" |
| | | clearable |
| | | @change="exceptionHandling" |
| | | style="width: 150px; margin-right: 10px" |
| | | > |
| | | <el-option |
| | |
| | | <el-button |
| | | plain |
| | | type="success" |
| | | @click="Editsingletaskson('6')" |
| | | > |
| | | 已面访 |
| | | </el-button> |
| | | <el-button |
| | | plain |
| | | type="success" |
| | | @click="Editsingletaskson('2')" |
| | | > |
| | | 病情稳定 |
| | |
| | | <el-button plain type="info" @click="Editsingletaskson('5')"> |
| | | 人工随访 |
| | | </el-button> |
| | | <el-button type="primary" round @click="sendAgainmsg"> |
| | | <el-button |
| | | type="primary" |
| | | round |
| | | @click="sendAgainmsg" |
| | | v-if="orgname != '省立同德翠苑院区'" |
| | | > |
| | | 短信发送 |
| | | </el-button> |
| | | </div> |
| | |
| | | title="患者再次随访" |
| | | v-dialogDrags |
| | | :visible.sync="dialogFormVisible" |
| | | width="700px" |
| | | > |
| | | <el-form ref="zcform" :rules="zcrules" :model="form" label-width="80px"> |
| | | <el-form-item label="任务名称"> |
| | | <el-input |
| | | style="width: 400px" |
| | | disabled |
| | | v-model="form.taskName" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="患者名称"> |
| | | <el-input |
| | | style="width: 400px" |
| | | disabled |
| | | 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-form-item> |
| | | <el-form-item label="科室"> |
| | | <el-input |
| | | style="width: 400px" |
| | | disabled |
| | | 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> |
| | | <el-form-item label="出院时间"> |
| | | <el-input |
| | | style="width: 400px" |
| | | disabled |
| | | v-model="form.endtime" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <div class="headline">上次随访</div> |
| | | <el-divider></el-divider> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="随访方式"> |
| | | <el-select |
| | | v-model="form.visitType2" |
| | | filterable |
| | | allow-create |
| | | default-first-option |
| | | <!-- 基础服务信息 - 默认折叠 --> |
| | | <el-collapse v-model="activeNames" @change="handleCollapseChange"> |
| | | <el-collapse-item title="基础服务信息" name="basic"> |
| | | <el-form-item label="任务名称"> |
| | | <el-input |
| | | style="width: 100%" |
| | | disabled |
| | | placeholder="请选择随访方式" |
| | | class="custom-disabled" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | v-model="form.taskName" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="随访时间"> |
| | | <el-date-picker |
| | | type="date" |
| | | <el-form-item label="患者名称"> |
| | | <el-input |
| | | style="width: 100%" |
| | | disabled |
| | | placeholder="选择日期" |
| | | :picker-options="pickerOptions" |
| | | align="right" |
| | | v-model="form.date2" |
| | | class="custom-disabled" |
| | | ></el-date-picker> |
| | | v-model="form.sendname" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item label="年龄"> |
| | | <el-input |
| | | style="width: 100%" |
| | | disabled |
| | | v-model="form.age" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="科室"> |
| | | <el-input |
| | | style="width: 100%" |
| | | disabled |
| | | v-model="form.deptname" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="病区"> |
| | | <el-input |
| | | style="width: 100%" |
| | | disabled |
| | | v-model="form.leavehospitaldistrictname" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="出院时间"> |
| | | <el-input |
| | | style="width: 100%" |
| | | disabled |
| | | v-model="form.endtime" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-collapse-item> |
| | | |
| | | <el-form-item label="随访记录"> |
| | | <el-input |
| | | class="custom-disabled" |
| | | type="textarea" |
| | | disabled |
| | | v-model="form.remark2" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <div class="headline">下次随访</div> |
| | | <el-divider></el-divider> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="随访方式" prop="visitType"> |
| | | <el-select |
| | | v-model="form.visitType" |
| | | filterable |
| | | allow-create |
| | | default-first-option |
| | | @change="visitChange" |
| | | placeholder="请选择随访方式(依出院时间计算)" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="随访时间" prop="date1"> |
| | | <el-date-picker |
| | | type="date" |
| | | placeholder="选择日期" |
| | | :picker-options="pickerOptions" |
| | | align="right" |
| | | v-model="form.date1" |
| | | <!-- 上次随访信息 - 默认折叠 --> |
| | | <el-collapse-item title="上次随访" name="last"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="随访方式"> |
| | | <el-select |
| | | v-model="form.visitType2" |
| | | filterable |
| | | allow-create |
| | | default-first-option |
| | | disabled |
| | | placeholder="请选择随访方式" |
| | | class="custom-disabled" |
| | | style="width: 90%" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="随访时间"> |
| | | <el-date-picker |
| | | type="date" |
| | | disabled |
| | | placeholder="选择日期" |
| | | :picker-options="pickerOptions" |
| | | align="right" |
| | | v-model="form.date2" |
| | | class="custom-disabled" |
| | | style="width: 95%" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item label="随访记录"> |
| | | <el-input |
| | | class="custom-disabled" |
| | | value-format="yyyy-MM-dd hh:mm:ss" |
| | | @change="checkFollowupDate" |
| | | ></el-date-picker> |
| | | type="textarea" |
| | | disabled |
| | | v-model="form.remark2" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item label="随访类型" prop="resource"> |
| | | <el-radio-group v-model="form.resource"> |
| | | <el-radio label="1">本病区随访</el-radio> |
| | | <el-radio label="2">随访中心随访</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-collapse-item> |
| | | |
| | | <el-form-item label="随访记录" :required="form.resource == '2'"> |
| | | <el-input type="textarea" v-model="form.remark"></el-input> |
| | | </el-form-item> |
| | | <!-- 下次随访信息 - 默认展开 --> |
| | | <el-collapse-item title="下次随访" name="next"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="随访方式" prop="visitType"> |
| | | <el-select |
| | | v-model="form.visitType" |
| | | filterable |
| | | allow-create |
| | | default-first-option |
| | | @change="visitChange" |
| | | placeholder="请选择随访方式(依出院时间计算)" |
| | | style="width: 90%" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="随访时间" prop="date1"> |
| | | <el-date-picker |
| | | type="date" |
| | | placeholder="选择日期" |
| | | :picker-options="pickerOptions" |
| | | align="right" |
| | | v-model="form.date1" |
| | | class="custom-disabled" |
| | | style="width: 92%" |
| | | value-format="yyyy-MM-dd hh:mm:ss" |
| | | @change="checkFollowupDate" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item label="随访类型" prop="resource"> |
| | | <el-radio-group v-model="form.resource"> |
| | | <el-radio label="1">本病区随访</el-radio> |
| | | <el-radio label="2">随访中心随访</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="随访记录" :required="form.resource == '2'"> |
| | | <el-input type="textarea" v-model="form.remark"></el-input> |
| | | </el-form-item> |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="warning" @click="dialogFormVisible = false" |
| | |
| | | }; |
| | | return { |
| | | visitAgain: 1, |
| | | activeNames: ["next"], // 只展开"下次随访",其他都折叠 |
| | | userid: "", |
| | | defaultKey: false, //是否可默认填报 |
| | | currentPhoneNumber: "", |
| | |
| | | value: "一年后", |
| | | label: "一年后", |
| | | }, |
| | | { |
| | | value: "五年后", |
| | | label: "五年后", |
| | | }, |
| | | ], |
| | | statusTimer: null, |
| | | userform: {}, |
| | |
| | | console.log(store.getters.visitAgain); |
| | | |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | if (this.orgname == "省立同德翠苑院区") { |
| | | console.log(localStorage.getItem("orgname")); |
| | | |
| | | if ( |
| | | this.orgname == "省立同德翠苑院区" || |
| | | this.orgname == "省立同德之江院区" || |
| | | this.orgname == "省立同德闲林院区" || |
| | | this.orgname == "省立同德青山湖院区" || |
| | | this.orgname == "省立同德天目山路院区" |
| | | ) { |
| | | this.showContinuationCareBtn = true; |
| | | } |
| | | |
| | |
| | | } else { |
| | | return "scriptTopic-dev"; // 正常 - 默认样式 |
| | | } |
| | | }, |
| | | handleCollapseChange(val) { |
| | | console.log("折叠面板状态变化:", val); |
| | | }, |
| | | Tooltipy(h, { column }) { |
| | | return h( |
| | | "el-tooltip", |
| | | { |
| | | props: { |
| | | content: "任务配置多种补偿类型时,最新执行类型的应随访时间", |
| | | placement: "top", |
| | | effect: "dark", |
| | | }, |
| | | }, |
| | | [h("span", column.label)] |
| | | ); |
| | | }, |
| | | getconfigKey() { |
| | | getconfigKey("default.value.icon").then((res) => { |
| | |
| | | item.scriptResult = item.scriptResult; |
| | | } else if (item.scriptResultId && item.scriptType == 2) { |
| | | console.log(item.scriptResult, "item.scriptResult"); |
| | | item.scriptResult = item.scriptResult.split("&"); |
| | | item.scriptResult = item.scriptResult |
| | | ? item.scriptResult.split("&") |
| | | : []; |
| | | item.isoption = 3; |
| | | } else if (!item.scriptResultId && item.scriptType == 2) { |
| | | item.scriptResult = []; |
| | |
| | | followupDate.setMonth(dischargeDate.getMonth() + 6); |
| | | } else if (value.includes("一年后") || value.includes("12个月后")) { |
| | | followupDate.setFullYear(dischargeDate.getFullYear() + 1); |
| | | } else if (value.includes("五年后")) { |
| | | followupDate.setFullYear(dischargeDate.getFullYear() + 5); |
| | | } |
| | | |
| | | if (followupDate < now) { |
| | |
| | | this.Editsingletasksonyic(this.serviceStates); |
| | | const orgName = localStorage.getItem("orgname"); |
| | | |
| | | if ( |
| | | this.form.isVisitAgain != 1 || |
| | | orgName == "丽水市中医院" || |
| | | this.visitAgain == 1 |
| | | ) { |
| | | if (this.form.isVisitAgain != 1 || 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(); |
| | | // }); |
| | | if ( |
| | | orgName == "景宁畲族自治县人民医院" || |
| | | orgName == "缙云第二人民医院" |
| | | ) { |
| | | 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(); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | |
| | | path: "/followvisit/discharge", |
| | | }); |
| | | } |
| | | } else { |
| | | location.reload(); |
| | | } |
| | | }, |
| | | // 电话============================ |
| | |
| | | const orgName = localStorage.getItem("orgname"); |
| | | console.log(orgName, "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.Torouter(); |
| | | // this.Torouter(); |
| | | if ( |
| | | this.form.isVisitAgain != 1 || |
| | | orgName == "丽水市中医院" || |
| | | this.visitAgain == 1 |
| | | ) { |
| | | console.log("c4"); |
| | | |
| | | // 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(); |
| | | 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.form = res.rows[0].serviceSubtaskList.find( |
| | | (item) => item.id == this.id |
| | | ); |
| | | this.form.taskSituation = String(this.form.taskSituation); |
| | | |
| | | console.log(this.form.templatename, "templatename"); |
| | | |
| | | this.form.remark = this.form.remark || ""; |
| | |
| | | this.$modal.msgError("发送失败"); |
| | | }); |
| | | }, |
| | | Editsingletaskson(son) { |
| | | // 异常处理 |
| | | exceptionHandling(sid) { |
| | | this.Editsingletaskson(1, sid); |
| | | }, |
| | | // 存储意见自动存储 |
| | | Editsingletaskson(son, sid) { |
| | | let objson = {}; |
| | | getTaskservelist({ |
| | | patid: this.patid, |
| | |
| | | }).then((res) => { |
| | | if (res.code == 200) { |
| | | objson = res.rows[0].serviceSubtaskList[0]; |
| | | objson.suggest = son; |
| | | objson.suggest = sid ? this.form.suggest : son; |
| | | objson.excep = sid ? sid : 0; |
| | | objson.remark = this.form.remark; |
| | | objson.sendstate = this.serviceStates; |
| | | objson.taskSituation = this.form.taskSituation; |
| | | Editsingletaskson(objson).then((res) => { |
| | | if (res.code) { |
| | | this.$modal.msgSuccess("服务记录成功"); |
| | | this.$modal.msgSuccess("服务记录更新成功"); |
| | | this.getTaskservelist(); |
| | | } |
| | | }); |
| | |
| | | if (document.activeElement) { |
| | | document.activeElement.blur(); |
| | | } |
| | | let selectedOptionObj = null; |
| | | if (this.Voicetype) { |
| | | console.log("Voicetype"); |
| | | |
| | | // 找到被选中的选项对象 |
| | | const selectedOptionObj = options.find( |
| | | (item) => item.optioncontent == selectedOption |
| | | ); |
| | | selectedOptionObj = options.find( |
| | | (item) => item.targetvalue == selectedOption |
| | | ); |
| | | } else { |
| | | // 找到被选中的选项对象 |
| | | selectedOptionObj = options.find( |
| | | (item) => item.optioncontent == selectedOption |
| | | ); |
| | | } |
| | | |
| | | console.log(this.tableDatatop, "this.tableDatatop"); |
| | | console.log(selectedOptionObj, "selectedOptionObj"); |
| | | // 处理异常状态高亮 |
| | | this.tableDatatop[questionIndex].isabnormal = |
| | | selectedOptionObj.isabnormal; |
| | | |
| | | // 处理附加输入框显示 |
| | | |
| | | this.tableDatatop[questionIndex].showAppendInput = |
| | |
| | | .call-action { |
| | | width: 60%; |
| | | min-width: 0; |
| | | height: 100%; |
| | | // height: 100%; |
| | | /* 确保高度继承 */ |
| | | } |
| | | } |
| | |
| | | .CONTENT { |
| | | padding: 10px; |
| | | height: 100%; |
| | | min-height: 738px; |
| | | // min-height: 938px; |
| | | /* 设置最小高度 */ |
| | | |
| | | .title { |
| | |
| | | padding: 30px; |
| | | border: 1px solid #dcdfe6; |
| | | box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | | max-height: 716px; |
| | | max-height: 916px; |
| | | /* 设置最大高度 */ |
| | | overflow-y: auto; |
| | | /* 内容超过高度时显示滚动条 */ |
| | |
| | | color: #66b1ff; |
| | | transform: scale(1.1); |
| | | } |
| | | /* 调整折叠面板样式 */ |
| | | .el-collapse { |
| | | border-top: none; |
| | | } |
| | | |
| | | .el-collapse-item__header { |
| | | font-size: 16px; |
| | | font-weight: bold; |
| | | background-color: #f5f7fa; |
| | | padding-left: 15px; |
| | | border-radius: 4px; |
| | | margin-bottom: 5px; |
| | | } |
| | | |
| | | .el-collapse-item__wrap { |
| | | border-bottom: none; |
| | | } |
| | | |
| | | .el-collapse-item__content { |
| | | padding: 20px 15px; |
| | | background-color: #fff; |
| | | } |
| | | </style> |