123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803 |
- <template>
- <div>
- <div>
- <CyDateRange v-model="queryParam" clearable />
- <el-button
- @click="queryYz"
- v-title="
- '医嘱过多导致查看医嘱困难,可选择时间范围来减少医嘱的条数,默认查询今天到90天前的数据,可通过选择日期后面的删除按钮,取消时间范围的查询'
- "
- >
- 查询
- </el-button>
- <el-divider direction="vertical" />
- <label>
- 显示范围:
- <select v-model="queryParam.displayRange" v-title="'显示范围'">
- <option :value="0" title="全部的医嘱">全部</option>
- <option :value="1" title="已经停止的医嘱">停止</option>
- <option :value="2" title="正在执行的长期医嘱">当前</option>
- <option :value="3" title="今天开的医嘱">今天</option>
- </select>
- </label>
- <label>
- 状态:
- <select v-model.number="queryParam.zhuangTai" v-title="`医嘱的状态`">
- <option :value="0">全部</option>
- <option :value="1">录入</option>
- <option :value="2">确认</option>
- <option :value="3">执行</option>
- <option :value="5">停止</option>
- </select>
- </label>
- <label>
- 药房:
- <select
- v-model="queryParam.groupNo"
- v-title="'在新增医嘱的时候,去指定的药房查询药品。'"
- >
- <option v-for="item in useYfGroupStore().xy" :value="item.code">
- {{ item.name }}
- </option>
- </select>
- </label>
- <label>
- 排序:
- <select v-model="queryParam.sort" @change="setYzOrderGroup">
- <option :value="OrderBy.asc">正序</option>
- <option :value="OrderBy.desc">反序</option>
- </select>
- </label>
- <el-divider direction="vertical" />
- <el-button-group>
- <el-button
- type="primary"
- @click="addYiZhuClick"
- v-title="'添加医嘱,快捷键 ALT+A'"
- >
- 添加
- </el-button>
- <el-button
- type="success"
- :loading="confirmLoading"
- @click="currentConfirmOrdersClick"
- v-title="'把录入状态的医嘱,变为确认状态。'"
- v-if="!isCydy()"
- >
- 确认
- </el-button>
- <el-button
- type="success"
- @click="confirmTheDoctorSOrderWithMedicineClick"
- v-else
- v-title="'把录入状态的医嘱,变为确认状态。'"
- >
- 确认带药
- </el-button>
- </el-button-group>
- <el-divider direction="vertical" />
- <el-dropdown
- split-button
- type="danger"
- @click="deleteAnOrderByOrderNo"
- v-title="
- '在表格中选中了一条医嘱后这个方法才能有效果,(这个医嘱需要在工作台显示),也可以在点击表格后面的删按钮<br /><span style=\'color:#fffe00\'>限制:</span>只能删除自己开的,只能删除(录入、确认)状态的医嘱。'
- "
- >
- 删除
- <template #dropdown>
- <el-dropdown-menu>
- <div
- v-title="
- '在表格中,点击前面的选择框,选中医嘱(多条或单挑),才能点击此按钮,限制:只能删除自己开的,只能删除(录入、确认)状态的医嘱。'
- "
- >
- <el-dropdown-item @click="batchDeleteOrdersClick">
- 批量删除
- </el-dropdown-item>
- </div>
- </el-dropdown-menu>
- </template>
- </el-dropdown>
- <el-divider direction="vertical" />
- <el-dropdown
- split-button
- @click="yzMitt.emit('clickOnTheOrderTemplate')"
- v-title="'获取医嘱的模板'"
- >
- 模板
- <template #dropdown>
- <el-dropdown-menu>
- <div v-title="'维护自己创建的模板'">
- <el-dropdown-item @click="orderTemplateClick">
- 维护模板
- </el-dropdown-item>
- </div>
- <div v-title="'选中表格中的医嘱作为模板'">
- <el-dropdown-item @click="orderTemplateClickCopy">
- 选中医嘱做模板
- </el-dropdown-item>
- </div>
- </el-dropdown-menu>
- </template>
- </el-dropdown>
- </div>
- <div style="border-top: 1px solid #000; margin: 5px 0" />
- <div>
- <el-dropdown
- split-button
- @click="clickToStopTheOrder"
- v-title="
- '批量停止医嘱,需要结束时间一栏的日期数据框变成红色则代表,是要停止这条医嘱。<br />' +
- '双击日期输入框,默认填充停止到当前时间,并选中医嘱,可点击输入框中的日历,去选择其他时间。<br />' +
- '鼠标右键数据框,可以取消停止。'
- "
- >
- 批量停止
- <template #dropdown>
- <el-dropdown-menu>
- <div v-title="'跳转到这个患者,修改医嘱时间的申请页面。'">
- <el-dropdown-item @click="clickToModifyTheDoctorSOrderTime">
- 修改医嘱时间
- </el-dropdown-item>
- </div>
- </el-dropdown-menu>
- </template>
- </el-dropdown>
- <el-dropdown split-button v-title="'跳转到指定患者的数据页面'">
- 页面跳转
- <template #dropdown>
- <el-dropdown-menu>
- <el-dropdown-item @click="jumpToMedicalRecord">
- 病案首页
- </el-dropdown-item>
- <el-dropdown-item @click="openRationalDrugUse">
- 合理用药
- </el-dropdown-item>
- <el-dropdown-item @click="routerBloodSugarClick">
- 血糖
- </el-dropdown-item>
- <el-dropdown-item @click="openNewNutrientPlus">
- 营养评估
- </el-dropdown-item>
- </el-dropdown-menu>
- </template>
- </el-dropdown>
- <el-dropdown
- split-button
- v-title="'设置选中医嘱成组。'"
- @click="confirmAssociationClick"
- >
- 关联
- <template #dropdown>
- <el-dropdown-menu>
- <el-dropdown-item @click="clearAssociate()"
- >取消关联
- </el-dropdown-item>
- </el-dropdown-menu>
- </template>
- </el-dropdown>
- <el-dropdown v-title="'患者数据维护,包含传染病、过敏源。'" split-button>
- 数据维护
- <template #dropdown>
- <el-dropdown-menu>
- <el-dropdown-item @click="yzMitt.emit('allergen')">
- 过敏源维护
- </el-dropdown-item>
- <el-dropdown-item @click="crbOpen"> 传染病上报</el-dropdown-item>
- <el-dropdown-item
- @click="
- router.push(
- `/outpatient/chronicDisease/chronicDiseaseRegister/${props.patientInfo.inpatientNo}`
- )
- "
- >
- 慢病登记
- </el-dropdown-item>
- </el-dropdown-menu>
- </template>
- </el-dropdown>
- <el-dropdown
- v-title="'工作台操作,录入、清空、医嘱弹窗、复制粘贴'"
- @click="yzMitt.emit('toAddAnOrder')"
- split-button
- >
- 录入医嘱
- <template #dropdown>
- <el-dropdown-menu>
- <div v-title="'清空,正在编辑的医嘱或者选中的医嘱。'">
- <el-dropdown-item @click="yzMitt.emit('emptyTheWorkbench')">
- 清空工作台
- </el-dropdown-item>
- </div>
- <div
- v-title="
- '打开医嘱弹窗,目前只有转科、抗菌药物信息、处置医嘱可以打开弹窗。'
- "
- >
- <el-dropdown-item @click="yzMitt.emit('openTheOrderPopUpWindow')">
- 医嘱弹窗
- </el-dropdown-item>
- </div>
- <div
- v-title="
- '复制并粘贴医嘱,如果想要分开,请在表格中鼠标右键一个医嘱,选择复制,然后在到表格中,选择粘贴医嘱。<br /><br />' +
- '<span style=\'color:#fffe00\'>注意:</span>如果你是在临时医嘱页面,那么长期医嘱会改为 ONCE 频率,如果在长期医嘱页面那么临时医嘱会改为 QD 频率,如果是成组的医嘱' +
- '复制父医嘱即可子医嘱会自动复制,目前不会提供批量复制医嘱的功能。'
- "
- >
- <el-dropdown-item @click="yzMitt.emit('duplicateAndPaste')">
- 复制并粘贴
- </el-dropdown-item>
- </div>
- <div
- v-title="
- '<span style=\'color:#fffe00\'>带有实验性质的功能,如果此方法出错频率高,后期可能会删除。</span>' +
- '<br />复制选中的医嘱并粘贴。'
- "
- >
- <el-dropdown-item @click="openCopyDialog">
- 复制选中的医嘱
- </el-dropdown-item>
- </div>
- </el-dropdown-menu>
- </template>
- </el-dropdown>
- <el-dropdown title="其他操作" split-button>
- 其他
- <template #dropdown>
- <el-dropdown-menu>
- <div
- v-title="
- '为即将出院的患者预约门诊,如果患者没有门诊号的话,需要先创建一个门诊号。'
- "
- >
- <el-dropdown-item @click="outPatientDialogOpen()">
- 门诊预约
- </el-dropdown-item>
- </div>
- <div
- v-title="
- '一键停止正在执行的医嘱,会生成一条医嘱,此医嘱是口头医嘱,有没任何效果。'
- "
- >
- <el-dropdown-item @click="oneClickStopOpen">
- 一键停止
- </el-dropdown-item>
- </div>
- <el-dropdown-item @click="clickTimeLimitReminder">
- 时限提示
- </el-dropdown-item>
- <el-dropdown-item @click="openSanCeDan"> 三测单</el-dropdown-item>
- <el-dropdown-item @click="nursingRecordForm">
- 护理记录单
- </el-dropdown-item>
- </el-dropdown-menu>
- </template>
- </el-dropdown>
- <el-button
- type="success"
- icon="RefreshRight"
- @click="rcvrcalcost"
- v-title="
- '如果患者费用存在问题或者有些费用看不到,<br />可以执行此操作。'
- "
- >
- 费用接收重算
- </el-button>
- </div>
- </div>
- <!-- 门诊预约 -->
- <OutpatientAppointments
- v-if="outPatientDialog"
- @closed="outPatientDialog = false"
- />
- <one-click-stop
- v-if="oneClickStopDialog"
- @closed="oneClickStopDialog = false"
- />
- <CopyTableDataOrder v-model="copyTableDialog" v-if="copyTableDialog" />
- </template>
- <script setup lang="jsx">
- import { MLRKON_CLIENT } from "@/api/heliyongyao/mlrkon.js";
- import {
- associateOrdersApi,
- confirmTheDoctorSOrderWithMedicine,
- stopOrder,
- } from "@/api/zhu-yuan-yi-sheng/yi-zhu-lu-ru";
- import {
- associateOrders,
- clearAssociate,
- clickTimeLimitReminder,
- confirmLoading,
- errorMsgFunc,
- huanZheXinXi,
- isCydy,
- jsQueryYzData,
- OrderBy,
- queryParam,
- setOrderDataAndTwinkle,
- setYzOrderGroup,
- yiZhuData,
- yiZhuDataInit,
- youWuXuanZheHuanZhe,
- yzMitt,
- } from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
- import { BizException, ExceptionEnum } from "@/utils/BizException";
- import router from "@/router";
- import { clone } from "@/utils/clone";
- import { listIsBlank, stringIsBlank } from "@/utils/blank-utils";
- import { xcMessage } from "@/utils/xiaochan-element-plus";
- import { getFormatDatetime } from "@/utils/date";
- import { ElMessageBox } from "element-plus";
- import ReportOfInfectiousDiseases from "@/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/report-of-infectious-diseases/ReportOfInfectiousDiseases.vue";
- import OutpatientAppointments from "@/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/components/OutpatientAppointments.vue";
- import OneClickStop from "@/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/components/OneClickStop.vue";
- import {
- getPatientInfo,
- receiveAndRecalculateCost,
- } from "@/api/inpatient/patient";
- import CopyTableDataOrder from "@/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/components/table/CopyTableDataOrder.vue";
- import { CyMessageBox } from "@/utils/cy-message-box";
- import { useUserStore } from "@/pinia/user-store";
- import CyDateRange from "@/components/cy/date-range/CyDateRange.vue";
- import { useDialog } from "@/components/cy/CyDialog/index";
- import XEUtils from "xe-utils";
- import { useYfGroupStore } from "@/pinia/use-yf-group";
- import { rationalUseOfMedicine , getInfoRationalUseOfMedicine} from "@/api/heliyongyao/rational-use";
- import {
- getPatientAllergens,
- } from '@/api/public-api'
- const props = defineProps({
- patientInfo: {
- type: Object,
- },
- returnData: {
- type: Function,
- },
- frequCodeChange: Function,
- confirmOrdersClick: Function,
- clickOnTheOrderTemplate: Function,
- });
- const userStore = useUserStore().userInfo;
- const emits = defineEmits(["batchDeleteOrdersClick"]);
- const copyTableDialog = ref(false);
- const openCopyDialog = () => {
- if (youWuXuanZheHuanZhe()) return;
- copyTableDialog.value = true;
- };
- const queryYz = async (tableScrollTop = true) => {
- if (!props.patientInfo.inpatientNo) {
- BizException(ExceptionEnum.MESSAGE_ERROR, "请先选择患者");
- }
- try {
- yiZhuDataInit();
- yzMitt.emit("clearSelected");
- if (tableScrollTop) {
- yzMitt.emit("tableScroll", 0);
- }
- await jsQueryYzData();
- } catch (e) {}
- };
- const addYiZhuClick = () => {
- yzMitt.emit("toAddAnOrder");
- };
- let yzList = ref([]);
- let patientAllergenData = ref([]);
- const currentConfirmOrdersClick = async () => {
- if (!props.patientInfo.inpatientNo) {
- BizException(ExceptionEnum.MESSAGE_ERROR, "请先选择患者");
- }
- // console.log("patientInfo",props.patientInfo)
- // console.log("huanZheXinXi",huanZheXinXi)
- // 获取患者药品医嘱
- await getInfoRationalUseOfMedicine(
- props.patientInfo.inpatientNo,
- props.patientInfo.admissTimes
- ).then(res=>{
- if(res && res.list && res.list.length>0){
- let resultList = res.list
- let currentGroupNo = 0
- resultList.forEach(item=>{
- if(item.parentNo) {
- let groupParent = resultList.find(citem => citem.actOrderNo === item.parentNo)
- if(groupParent){
- if(groupParent.group) {
- item.group = groupParent.group
- } else {
- item.group = currentGroupNo
- groupParent.group = currentGroupNo
- }
- }
- currentGroupNo++ ;
- } else if(!item.group) {
- item.group = currentGroupNo
- currentGroupNo++ ;
- }
- })
- console.log("resultList",resultList);
- yzList.value = resultList.map(item=> (
- {
- id : item.id ,
- code : item.orderCode,
- route : item.supplyCodeName,
- dose :item.dose ,
- doseUnit : item.doseUnitName,
- freq : item.frequCode,
- unit : item.miniUnitName ,
- repeat : item.frequCode ? item.frequCode == "ONCE" ? "0" : "1" : "",
- startDateTime : item.startTime,
- group : item.group + ""
- }
- )
- );
- console.log(yzList.value,"yzList")
- }
- }).catch(err=>{
- console.log("err",err);
- BizException(ExceptionEnum.MESSAGE_ERROR, "网络错误!");
- })
- // 获取患者诊断
- let admissDigArr = props.patientInfo.admissDiag.split(",")
- let admissDigNameArr = props.patientInfo.admissDiagStr.split(",")
- let patientDiag = ref([])
- for (let i = 0; i < admissDigArr.length; i++) {
- patientDiag.value.push({
- code: admissDigArr[i],
- name: admissDigNameArr[i]
- })
- }
- // 获取患者过敏史
- await getPatientAllergens(props.patientInfo.inpatientNo).then((res) => {
- patientAllergenData.value = res
- console.log("patientAllergenData",patientAllergenData.value);
- })
- // console.log("yiZhuData",yiZhuData);
- let params = {
- station:{
- "type":"1" //门诊2 住院1,工作站类型
- },
- doctor: {
- code: userStore.codeRs, //医生编码
- name: userStore.name , //医生姓名
- deptCode:userStore.deptCode, //科室编码
- },
- patient:{
- id : props.patientInfo.inpatientNo,
- code : props.patientInfo.patNo,
- visitId:"" ,
- name : props.patientInfo.name,
- chargeType : props.patientInfo.medTypeName,
- sex : props.patientInfo.sexName,
- deptCode : props.patientInfo.smallDept,
- birthday : props.patientInfo.birthDate,
- height :"",
- weight :"",
- medconds :{
- diag : patientDiag,
- allergens : patientAllergenData.value
- }
- },
- orders:yzList
- }
- // console.log("userStore",userStore);
- // console.log("MLRKON_CLIENT",MLRKON_CLIENT)
- console.log("MLRKON_CLIENT-params",params)
- const getResult = (result) => {
- console.log("result",result);
- let {bSave} = result;
- if(bSave){
- props.confirmOrdersClick();
- // xcMessage.error("合理用药未通过1");
- } else {
- xcMessage.error("合理用药未通过");
- }
- }
-
- await MLRKON_CLIENT.doCall("srv_screen", JSON.stringify(params), { "api": false, "timeout": 10000}, getResult)
- // return
- };
- const mlrkonCallBack = (data) => {
- console.log("mlrkonCallBack",data);
- };
- /**
- * 确认医嘱
- */
- const confirmTheDoctorSOrderWithMedicineClick = () => {
- if (!props.patientInfo.inpatientNo) {
- BizException(ExceptionEnum.MESSAGE_ERROR, "请先选择患者");
- }
- confirmLoading.value = true;
- confirmTheDoctorSOrderWithMedicine(
- props.patientInfo.inpatientNo,
- props.patientInfo.admissTimes
- ).then(res => {
- if (res && res?.error) {
- errorMsgFunc.add(res.data);
- } else {
- queryYz();
- confirmLoading.value = false;
- }
- });
- };
- const deleteAnOrderByOrderNo = () => {
- yzMitt.emit("deleteAnOrderByOrderNo", yiZhuData.value);
- };
- /**
- * 点击批量删除数据
- */
- const batchDeleteOrdersClick = () => {
- emits("batchDeleteOrdersClick");
- };
- /**
- * 跳转到模板页面
- */
- const orderTemplateClick = () => {
- router.push({
- name: "orderTemplateMaintenance",
- });
- };
- /**
- * 选中复制的医嘱
- */
- const orderTemplateClickCopy = () => {
- let temp = clone(yzMitt.emit("getSelectedData"));
- if (listIsBlank(temp)) {
- xcMessage.error("请先选中医嘱。");
- return;
- }
- let dept = {
- code: huanZheXinXi.value.zkWard,
- name: huanZheXinXi.value.zkWardName,
- };
- router.push({
- name: "orderTemplateMaintenance",
- params: {
- data: JSON.stringify(temp),
- dept: JSON.stringify(dept),
- },
- });
- };
- /**
- * 批量停止时间
- */
- const clickToStopTheOrder = async () => {
- const tempData = yzMitt.emit("getSelectedData");
- tempData.forEach(item => {
- // 因为前端用的是浏览器自带的 所以要删除 T
- item.endTime = getFormatDatetime(item.endTimeTemp);
- });
- await CyMessageBox.confirm({
- message: `是否批量停止时间,${tempData.length}条`,
- });
- const param = {
- inpatientNo: huanZheXinXi.value.inpatientNo,
- admissTimes: huanZheXinXi.value.admissTimes,
- list: tempData,
- };
- stopOrder(param)
- .then(() => {
- yzMitt.emit("queryYz");
- yzMitt.emit("getTableRef")?.clearCheckboxRow();
- })
- .catch(e => {
- const tmp = {};
- for (const key in e.data) {
- tmp[key] = { error: [e.data[key]] };
- }
- errorMsgFunc.add(tmp);
- });
- };
- // 点击修改医嘱时间
- const clickToModifyTheDoctorSOrderTime = () => {
- router.push({
- name: "yzActOrderModify",
- query: {
- patNo: huanZheXinXi.value.inpatientNo,
- },
- });
- };
- // 跳转到病案首页
- const jumpToMedicalRecord = () => {
- router.push({
- name: "fillCaseFrontSheet",
- query: {
- patNo: huanZheXinXi.value.inpatientNo,
- deptCode: huanZheXinXi.value.smallDept,
- },
- });
- };
- // 合理用药
- const openRationalDrugUse = () => {
- window.open("http://130.150.161.153:8080");
- };
- function openNewNutrientPlus() {
- if (youWuXuanZheHuanZhe()) return;
- window.open(
- `http://172.16.32.159/sysmgrApi/sysmgr/staff/hisToLogin?account=${userStore.codeRs}&patientHospitalNumber=${huanZheXinXi.value.inpatientNo}`
- );
- }
- /**
- * 血糖
- */
- const routerBloodSugarClick = () => {
- router.push({
- name: "bloodSugarQuery",
- params: {
- patNo: huanZheXinXi.value.inpatientNo,
- times: huanZheXinXi.value.admissTimes,
- },
- });
- };
- // 点击确认关联
- const confirmAssociationClick = () => {
- if (associateOrders.value.actOrderNo === null) {
- BizException(ExceptionEnum.MESSAGE_ERROR, "请先选择需要关联的父医嘱");
- }
- if (associateOrders.value.associatedGroup.length === 0) {
- BizException(ExceptionEnum.MESSAGE_ERROR, "至少选择一个子医嘱");
- }
- ElMessageBox.confirm("请确认是否要关联这些医嘱。", "提示", {
- type: "warning",
- })
- .then(() => {
- associateOrdersApi(associateOrders.value).then(async res => {
- clearAssociate();
- await setOrderDataAndTwinkle(res[0].actOrderNo, res);
- });
- })
- .catch(() => {});
- };
- const crbOpen = () => {
- if (youWuXuanZheHuanZhe()) return;
- useDialog(ReportOfInfectiousDiseases, {
- params: {
- patNo: huanZheXinXi.value.inpatientNo,
- times: huanZheXinXi.value.admissTimes,
- },
- dialogProps: {
- title: "传染病上报",
- fullscreen: true,
- },
- confirmText: "保存",
- });
- };
- const outPatientDialog = ref(false);
- const outPatientDialogOpen = () => {
- if (stringIsBlank(huanZheXinXi.value.zkWard)) {
- BizException(ExceptionEnum.LOGICAL_ERROR, "请先选择患者。");
- }
- if (stringIsBlank(huanZheXinXi.value.mzNo)) {
- BizException(
- ExceptionEnum.LOGICAL_ERROR,
- "没有查询到患者门诊号,请先建档。"
- );
- }
- outPatientDialog.value = true;
- };
- const oneClickStopDialog = ref(false);
- const oneClickStopOpen = () => {
- if (youWuXuanZheHuanZhe()) return;
- oneClickStopDialog.value = true;
- };
- const rcvrcalcost = async () => {
- if (youWuXuanZheHuanZhe()) return;
- let { inpatientNo, admissTimes, ledgerSn, admissDate } = huanZheXinXi.value;
- await receiveAndRecalculateCost({
- inpatientNo,
- admissTimes,
- ledgerSn,
- admissDate,
- });
- huanZheXinXi.value = await getPatientInfo(inpatientNo);
- };
- const GraphicsTempalte = defineAsyncComponent(
- () => import("@/components/medical-advice/temperature/GraphicsTempalte")
- );
- function openSanCeDan() {
- if (youWuXuanZheHuanZhe()) return;
- const { inpatientNo, admissTimes } = huanZheXinXi.value;
- useDialog(GraphicsTempalte, {
- dialogProps: { title: "三测单", fullscreen: true },
- params: {
- patientInfo: {
- inpatientNo,
- admissTimes,
- },
- },
- }).catch(XEUtils.noop);
- }
- const EmrYzTemperature = defineAsyncComponent(
- () =>
- import(
- "@/components/zhu-yuan-yi-sheng/emr/auxiliary-tools/EmrYzTemperature.vue"
- )
- );
- function nursingRecordForm() {
- if (youWuXuanZheHuanZhe()) return;
- const { inpatientNo, admissTimes } = huanZheXinXi.value;
- useDialog(EmrYzTemperature, {
- dialogProps: {
- title: "护理记录单",
- fullscreen: true,
- },
- params: {
- patNo: inpatientNo,
- times: admissTimes,
- },
- });
- }
- onMounted(async () => {
- yzMitt.on("queryYz", val => {
- return queryYz(val);
- });
- yzMitt.on("confirmMedicalAdvice", () => {
- if (isCydy()) {
- confirmTheDoctorSOrderWithMedicineClick();
- } else {
- currentConfirmOrdersClick();
- }
- });
- });
- </script>
- <style scoped lang="scss">
- .status_color {
- width: 10px;
- height: 10px;
- }
- </style>
|