|
@@ -60,6 +60,7 @@
|
|
|
:controls="false"
|
|
|
ref="doseRef"
|
|
|
id="yz_dose"
|
|
|
+ @keydown="keyDown"
|
|
|
:precision="dosePrecision"
|
|
|
style="width: 110px"
|
|
|
@change="jiSuanLingLiang"/>
|
|
@@ -74,7 +75,16 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
领量:
|
|
|
- <span v-if="yiZhuData.serial === '00'">
|
|
|
+ <span v-if="currentPage === 'takeMedicine'">
|
|
|
+ <el-input-number
|
|
|
+ style="width: 60px"
|
|
|
+ v-model="yiZhuData.drugQuan"
|
|
|
+ :min="1"
|
|
|
+ :max="maxDose"
|
|
|
+ :controls="false"/>
|
|
|
+ <span style="color: red">{{ maxDose + yiZhuData.miniUnitName }}</span>
|
|
|
+ </span>
|
|
|
+ <span v-else-if="yiZhuData.serial === '00'">
|
|
|
<el-input-number
|
|
|
style="width: 60px"
|
|
|
v-model="yiZhuData.drugQuan"
|
|
@@ -247,7 +257,7 @@
|
|
|
<script setup name='YzEditor'>
|
|
|
import {
|
|
|
confirmOrders, copyTheDoctorSOrder,
|
|
|
- enterOrders, getCostFreeDosing,
|
|
|
+ enterOrders, getCostFreeDosing, getFrequencyCount,
|
|
|
getOrderNo,
|
|
|
getParentOrders,
|
|
|
huoQuFeiYongXinXi,
|
|
@@ -283,6 +293,7 @@ import {ElMessageBox} from "element-plus";
|
|
|
import YzDialog from "@/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/dialog/YzDialog";
|
|
|
import {logoutShortcut, xcHotKey} from "@/utils/xckeydown";
|
|
|
import Dig from "@/utils/math";
|
|
|
+import {subtractTime} from "@/utils/date";
|
|
|
|
|
|
|
|
|
const props = defineProps({
|
|
@@ -311,6 +322,7 @@ const searchOrders = (val) => {
|
|
|
const tiShiBiaoTi = ref([])
|
|
|
// 填充数据
|
|
|
const xuanZhongFeiYong = async (row, laiyuan = 1) => {
|
|
|
+ maxDose = row.drugQuan
|
|
|
if (row.serial === '0000' && row.groupNo === '0000') {
|
|
|
props.openGroupOrderTemplate(row.orderCode);
|
|
|
return;
|
|
@@ -465,6 +477,7 @@ const xuanZhongFeiYong = async (row, laiyuan = 1) => {
|
|
|
orderName: yiZhuData.value.parentNoName,
|
|
|
})
|
|
|
}
|
|
|
+ await cydySetMaxDose()
|
|
|
|
|
|
// 如果搜索了医嘱那么 这里就需要 重新赋值,不认表格就没办法变化了,把原来的换掉
|
|
|
for (let i = 0, len = yzData.value.length; i < len; i++) {
|
|
@@ -489,8 +502,8 @@ const pinLvRemoteMethod = (val) => {
|
|
|
}
|
|
|
|
|
|
/*计算领量*/
|
|
|
-const jiSuanLingLiang = (val) => {
|
|
|
- // 出院带药就不要计算领量了
|
|
|
+const jiSuanLingLiang = async (val) => {
|
|
|
+ // 出院带药
|
|
|
if (yiZhuData.value.selfBuy === '4') {
|
|
|
return;
|
|
|
}
|
|
@@ -844,9 +857,41 @@ const dosePrecision = computed(() => {
|
|
|
})
|
|
|
|
|
|
// 频率点击
|
|
|
-const pingLvRowClick = (val) => {
|
|
|
+const pingLvRowClick = async (val) => {
|
|
|
if (isCydy()) {
|
|
|
yiZhuData.value.instruction = val.name;
|
|
|
+ await cydyDrugQuan()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+let frequencyCount = {}
|
|
|
+let maxDose = $ref(1)
|
|
|
+const keyDown = async () => {
|
|
|
+ // 出院带药
|
|
|
+ if (yiZhuData.value.selfBuy === '4') {
|
|
|
+ await cydyDrugQuan()
|
|
|
+ }
|
|
|
+}
|
|
|
+const cydyDrugQuan = async (flag = true) => {
|
|
|
+ if (frequencyCount.code !== yiZhuData.value.frequCode) {
|
|
|
+ frequencyCount = await getFrequencyCount(yiZhuData.value.frequCode);
|
|
|
+ }
|
|
|
+ let end = yiZhuData.value.frequCode === 'ONCE' ? yiZhuData.value.startTime : yiZhuData.value.endTime
|
|
|
+ let day = subtractTime(end, yiZhuData.value.startTime)
|
|
|
+ if (day <= 0) {
|
|
|
+ // 最小一天
|
|
|
+ day = 1
|
|
|
+ }
|
|
|
+ let dose = Math.ceil(Dig.division(yiZhuData.value.dose, jiLiangValue.value));
|
|
|
+ maxDose = (day * frequencyCount.count) * dose
|
|
|
+ if (flag) {
|
|
|
+ yiZhuData.value.drugQuan = maxDose;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const cydySetMaxDose = async () => {
|
|
|
+ if (isCydy()) {
|
|
|
+ await cydyDrugQuan(false)
|
|
|
}
|
|
|
}
|
|
|
|