|
@@ -31,7 +31,195 @@
|
|
|
<el-button @click="allergenDialog = true">患者过敏信息</el-button>
|
|
|
<yao-ping-xiang-qing v-if="HeLiYongYao.dialog" :code="HeLiYongYao.code"
|
|
|
@close="HeLiYongYao.dialog = false"></yao-ping-xiang-qing>
|
|
|
- <el-form ref="yiZhuRef" v-model="yiZhuData" label-width="90px" size="small">
|
|
|
+ <div class="yz_input__box">
|
|
|
+ <div>
|
|
|
+ 医嘱名称:
|
|
|
+ <xc-combo-grid
|
|
|
+ style="width: 240px"
|
|
|
+ ref="searchRef"
|
|
|
+ v-model="yiZhuData.orderName"
|
|
|
+ :table-header="tableHeader"
|
|
|
+ :query-data-func="huoQuXiangMu"
|
|
|
+ :current-key="yiZhuData.orderCode + yiZhuData.orderName"
|
|
|
+ @rowClick="xuanZhongFeiYong">
|
|
|
+ </xc-combo-grid>
|
|
|
+ </div>
|
|
|
+ <div class="input__style">
|
|
|
+ {{ yiZhuData.drugSpecification }}
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ 频率:
|
|
|
+ <xc-select-v3 style="width: 120px"
|
|
|
+ v-model="yiZhuData"
|
|
|
+ :data="yaoPinPingLvData"
|
|
|
+ code="frequCode"
|
|
|
+ name="frequCodeName"
|
|
|
+ :remote-method="pinLvRemoteMethod"
|
|
|
+ id="yz_frequCode"
|
|
|
+ ref="pingLv"/>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ 一次剂量:
|
|
|
+ <el-input-number v-model="yiZhuData.dose"
|
|
|
+ :min="0"
|
|
|
+ ref="doseRef"
|
|
|
+ id="yz_dose"
|
|
|
+ :precision="yiZhuData.doseUnitName === yiZhuData.miniUnitName ? 0 : 2"
|
|
|
+ style="width: 110px"
|
|
|
+ @change="jiSuanLingLiang"/>
|
|
|
+ <XcSelect v-model="yiZhuData"
|
|
|
+ id="yz_doseUnit"
|
|
|
+ :data="yaoPinJiLiangData"
|
|
|
+ :name="['doseUnit', 'doseUnitName']" :width="80"
|
|
|
+ @change="xuanZheJiLiang">
|
|
|
+ <XcOption label="value"></XcOption>
|
|
|
+ <XcOption label="name"></XcOption>
|
|
|
+ </XcSelect>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ 领量:
|
|
|
+ <el-input-number v-model="yiZhuData.drugQuan"
|
|
|
+ :min="minimumPickingQuantity"
|
|
|
+ placeholder="请输入领量">
|
|
|
+ {{ yiZhuData.drugQuan }}
|
|
|
+ </el-input-number>
|
|
|
+ {{ yiZhuData.miniUnitName }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="yz_input__box">
|
|
|
+ <div>
|
|
|
+ 给药方式:
|
|
|
+ <xc-select-v3
|
|
|
+ style="width: 120px"
|
|
|
+ v-model="yiZhuData"
|
|
|
+ :data="geiYaoFangShiData"
|
|
|
+ id="yz_supplyCode"
|
|
|
+ code="supplyCode"
|
|
|
+ name="supplyCodeName"
|
|
|
+ :remote-method="geiYaoFangShiRemoteMethod"
|
|
|
+ clearable/>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ 开始时间:
|
|
|
+ <el-date-picker
|
|
|
+ style="width: 160px"
|
|
|
+ v-model="yiZhuData.startTime"
|
|
|
+ :disabled-date="disabledDate"
|
|
|
+ id="yz_startTime"
|
|
|
+ format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ type="datetime"
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ ></el-date-picker>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ 停止时间:
|
|
|
+ <el-date-picker
|
|
|
+ style="width: 160px"
|
|
|
+ v-model="yiZhuData.endTime"
|
|
|
+ id="yz_endTime"
|
|
|
+ :disabled="yiZhuData.frequCode === 'ONCE'"
|
|
|
+ :disabled-date="disabledDate"
|
|
|
+ format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ type="datetime"
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ ></el-date-picker>
|
|
|
+ </div>
|
|
|
+ <div class="input__style" style="width: 120px">
|
|
|
+ 医生: {{ store.state.user.info.name }}
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ 执行科室:
|
|
|
+ <xc-select-v3
|
|
|
+ style="width: 120px"
|
|
|
+ v-model="yiZhuData"
|
|
|
+ :data="zhiXingKeShiData"
|
|
|
+ id="yz_execUnit"
|
|
|
+ code="execUnit"
|
|
|
+ name="execUnitName"
|
|
|
+ :remote-method="metZhiXingKeShi"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="yz_input__box">
|
|
|
+ <div class="div_center__box">
|
|
|
+ 医嘱时间:
|
|
|
+ <div class="input__style"> {{ yiZhuData.orderTime }}</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ 父医嘱:
|
|
|
+ <el-select v-model="yiZhuData.parentNo"
|
|
|
+ :disabled="yiZhuData.serial === '00'"
|
|
|
+ id="yz_parentNo"
|
|
|
+ clearable
|
|
|
+ @clear="yiZhuData.parentNo = null" @focus="fuYiZhuClick">
|
|
|
+ <el-option v-for="item in fuYiZhuData" :key="item.code" :label="item.name" :value="item.code">
|
|
|
+ <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
+ <span>{{ item.name }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div :title="yiZhuData.discription" class="div_center__box">
|
|
|
+ 描述:
|
|
|
+ <div class="input__style" style="overflow: auto;width: 240px">
|
|
|
+ {{ yiZhuData.discription }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <!-- 皮试药品 -->
|
|
|
+ <el-select></el-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="yz_input__box">
|
|
|
+ <div class="div_center__box" :title="yiZhuData.instruction">
|
|
|
+ <div style="width: 87px">
|
|
|
+ 医生嘱托:
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <el-input v-model="yiZhuData.instruction"
|
|
|
+ clearable
|
|
|
+ maxlength="50"
|
|
|
+ show-word-limit></el-input>
|
|
|
+ </div>
|
|
|
+ <div class="div_center__box">
|
|
|
+ <el-select v-model="yiZhuData.kfFlag"
|
|
|
+ id="yz_kfFlag"
|
|
|
+ clearable style="width: 80px" @clear="yiZhuData.kfFlag = null">
|
|
|
+ <el-option key="1" label="饭前" value="1"></el-option>
|
|
|
+ <el-option key="2" label="饭后" value="2"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ 费用标志:
|
|
|
+ <el-select v-model="yiZhuData.selfBuy"
|
|
|
+ id="yz_selfBuy"
|
|
|
+ clearable style="width: 120px"
|
|
|
+ @clear="yiZhuData.selfBuy = null">
|
|
|
+ <el-option key="1" label="自备" value="1"></el-option>
|
|
|
+ <el-option key="2" label="嘱托" value="2"></el-option>
|
|
|
+ <el-option key="3" label="基数药" value="3"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="div_center__box">
|
|
|
+ <xc-checkbox
|
|
|
+ label="医保自费"
|
|
|
+ v-model="yiZhuData.ybSelfFlag"
|
|
|
+ inactive-value="0"
|
|
|
+ active-value="1"/>
|
|
|
+
|
|
|
+ <xc-checkbox
|
|
|
+ label="紧急"
|
|
|
+ v-model="yiZhuData.emergencyFlag"
|
|
|
+ active-value="1"
|
|
|
+ inactive-value="0"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <el-form v-if="false" ref="yiZhuRef" v-model="yiZhuData" label-width="90px" size="small">
|
|
|
<el-row>
|
|
|
<el-col :span="span">
|
|
|
<el-form-item class="bi_tian" label="医嘱名称:" prop="orderName">
|
|
@@ -60,7 +248,7 @@
|
|
|
</el-col>
|
|
|
<el-col :span="span">
|
|
|
<el-form-item class="bi_tian" label="频率:" prop="frequCode">
|
|
|
- <xc-table-v3 style="width: 120px"
|
|
|
+ <xc-select-v3 style="width: 120px"
|
|
|
v-model="yiZhuData"
|
|
|
:data="yaoPinPingLvData"
|
|
|
code="frequCode"
|
|
@@ -102,7 +290,7 @@
|
|
|
</el-col>
|
|
|
<el-col :span="span">
|
|
|
<el-form-item class="bi_tian" label="给药方式:" prop="supplyCode">
|
|
|
- <xc-table-v3
|
|
|
+ <xc-select-v3
|
|
|
style="width: 120px"
|
|
|
v-model="yiZhuData"
|
|
|
:data="geiYaoFangShiData"
|
|
@@ -150,7 +338,7 @@
|
|
|
</el-col>
|
|
|
<el-col :span="span">
|
|
|
<el-form-item class="bi_tian" label="执行科室:" prop="execUnit">
|
|
|
- <xc-table-v3
|
|
|
+ <xc-select-v3
|
|
|
style="width: 120px"
|
|
|
v-model="yiZhuData"
|
|
|
:data="zhiXingKeShiData"
|
|
@@ -299,10 +487,15 @@
|
|
|
<xc-code code="Alt + ← / →" description="编辑(←) / 复制 (→)"/>
|
|
|
<xc-code code="Alt + D " description="删除选中的医嘱"/>
|
|
|
<el-button @click="dianJiXiuGaiZhiXingKeShi">修改执行科室</el-button>
|
|
|
+ <yz-table
|
|
|
+ :data="yiZhuList">
|
|
|
+
|
|
|
+ </yz-table>
|
|
|
<el-table
|
|
|
+ v-if="false"
|
|
|
:data="yiZhuList"
|
|
|
ref="elTableRef"
|
|
|
- :height="windowSize.h / 2.4"
|
|
|
+ :height="200"
|
|
|
@selection-change="dianJiXuanZhongShuJu"
|
|
|
:row-class-name="doctorSOrderForm"
|
|
|
@row-click="whenClickingOnTheForm"
|
|
@@ -384,7 +577,6 @@
|
|
|
@muBanShuJu="muBanShuJu"/>
|
|
|
<!-- 保存模板用 -->
|
|
|
<bao-cun-mu-ban v-if="baoCunMuBanRef" v-model="baoCunMuBanRef" :list="yiZhuList"/>
|
|
|
-
|
|
|
</template>
|
|
|
|
|
|
<script name="TianJiaYiZhu" setup="props,context">
|
|
@@ -412,19 +604,21 @@ import {uuid} from '@/utils/getUuid'
|
|
|
import BaoCunMuBan from '../../../../components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/BaoCunMuBan.vue'
|
|
|
import {getServerDateApi, whetherThePatientHasAllergens} from '@/api/public-api'
|
|
|
import router from '@/router'
|
|
|
-import SouSuoYiZhu from '@/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/SouSuoYiZhu.vue'
|
|
|
import YaoPingXiangQing from '@/components/zhu-yuan-yi-sheng/he-li-yong-yao/YaoPingXiangQing.vue'
|
|
|
import AllergenEntry from '@/components/zhu-yuan-yi-sheng/AllergenEntry.vue'
|
|
|
import Sleep from '@/utils/sleep'
|
|
|
import {disableShortcutKeys, enableShortcutKeys, logoutShortcut, xcHotKey} from '@/utils/xckeydown'
|
|
|
import {BizException, ExceptionEnum} from '@/utils/BizException'
|
|
|
import {setScrollTop} from "@/utils/el-table-scroll";
|
|
|
-import XcTableV3 from "@/components/xiao-chan/table-v3/XcTableV3.vue";
|
|
|
+
|
|
|
import sleep from "@/utils/sleep";
|
|
|
import BaoCunXinXi from "@/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/BaoCunXinXi.vue";
|
|
|
import {useDocumentVisibility} from "@vueuse/core";
|
|
|
import {xcMessage} from "@/utils/xiaochan-element-plus";
|
|
|
import XcComboGrid from "@/components/xiao-chan/combo-grid/XcComboGrid";
|
|
|
+import XcCheckbox from "@/components/xiao-chan/checkbox/XcCheckbox";
|
|
|
+import YzTable from "@/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/YzTable";
|
|
|
+import XcSelectV3 from "@/components/xiao-chan/select-v3/XcSelectV3";
|
|
|
|
|
|
|
|
|
const props = defineProps({
|
|
@@ -501,6 +695,7 @@ const yiZhuData = ref({
|
|
|
kfFlag: null,
|
|
|
selfBuy: null,
|
|
|
ybSelfFlag: '0',
|
|
|
+ ybSelfFlagBoolean: false,
|
|
|
emergencyFlag: '0',
|
|
|
drugQuan: 0,
|
|
|
miniUnitName: '',
|
|
@@ -538,6 +733,8 @@ watch(
|
|
|
|
|
|
// 搜索医嘱
|
|
|
const xuanZhongFeiYong = async (row) => {
|
|
|
+
|
|
|
+
|
|
|
fuYiZhuClick()
|
|
|
qingKong()
|
|
|
await Sleep(200)
|
|
@@ -1227,7 +1424,6 @@ onMounted(async () => {
|
|
|
ElMessage.warning('您现在进入的是医嘱模板编辑')
|
|
|
} else {
|
|
|
document.title = `医嘱录入:【${props.patientInfo.name}】`
|
|
|
- ElMessage.warning('您现在进入的是医嘱编辑模块,' + '您的编辑时间有 30 分钟,你准备好了吗?')
|
|
|
kaiQiDaoJiShi()
|
|
|
whetherThePatientHasAllergens(props.patientInfo.inpatientNo).then((res) => {
|
|
|
allergenDialog = res
|
|
@@ -1244,7 +1440,7 @@ onMounted(async () => {
|
|
|
]
|
|
|
}
|
|
|
fuZhiYiZhu.value = []
|
|
|
- // testData()
|
|
|
+ testData()
|
|
|
})
|
|
|
|
|
|
|
|
@@ -1428,7 +1624,7 @@ const testData = () => {
|
|
|
"drugQuan": null,
|
|
|
"supplyCode": null,
|
|
|
"supplyCodeName": null,
|
|
|
- "actOrderNo": null,
|
|
|
+ "actOrderNo": "56547553",
|
|
|
"drugFlag": "o",
|
|
|
"enterOper": null,
|
|
|
"enterTime": null,
|
|
@@ -1508,6 +1704,29 @@ const testData = () => {
|
|
|
color: #0a84fd;
|
|
|
}
|
|
|
|
|
|
+.yz_input__box {
|
|
|
+ display: flex;
|
|
|
+ margin-top: 6px;
|
|
|
+ flex-wrap: wrap;
|
|
|
+
|
|
|
+ div {
|
|
|
+ margin-left: 3px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .div_center__box {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ .input__style {
|
|
|
+ width: 125px;
|
|
|
+ line-height: 22px;
|
|
|
+ height: 22px;
|
|
|
+ border: 1px solid
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
</style>
|
|
|
|