|
@@ -1,12 +1,11 @@
|
|
|
<template>
|
|
|
- <div class="yz_editor__main">
|
|
|
+ <div class="yz_editor__main" ref="editorMainRef">
|
|
|
<div class="editing_area">
|
|
|
<div class="yz_editor__disable" v-if="isEdit"></div>
|
|
|
<div class="yz_input__box">
|
|
|
<div>
|
|
|
医嘱名称:
|
|
|
<xc-combo-grid
|
|
|
- @change=" "
|
|
|
style="width: 240px"
|
|
|
ref="searchRef"
|
|
|
v-model="yiZhuData.orderName"
|
|
@@ -42,8 +41,10 @@
|
|
|
@change="jiSuanLingLiang"/>
|
|
|
<XcSelect v-model="yiZhuData"
|
|
|
id="yz_doseUnit"
|
|
|
+ ref="doseUnitRef"
|
|
|
:data="yaoPinJiLiangData"
|
|
|
- :name="['doseUnit', 'doseUnitName']" :width="80"
|
|
|
+ :name="['doseUnit', 'doseUnitName']"
|
|
|
+ :width="80"
|
|
|
@change="xuanZheJiLiang">
|
|
|
<XcOption label="value"></XcOption>
|
|
|
<XcOption label="name"></XcOption>
|
|
@@ -74,6 +75,8 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
开始时间:
|
|
|
+ <!-- <input v-model="yiZhuData.startTime"-->
|
|
|
+ <!-- type="datetime-local">-->
|
|
|
<el-date-picker
|
|
|
style="width: 160px"
|
|
|
v-model="yiZhuData.startTime"
|
|
@@ -119,12 +122,16 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
父医嘱:
|
|
|
- <el-select v-model="yiZhuData.parentNo"
|
|
|
- :disabled="yiZhuData.serial === '00'"
|
|
|
- id="yz_parentNo"
|
|
|
- @change="modifyDosingMethod"
|
|
|
- clearable
|
|
|
- @clear="yiZhuData.parentNo = null">
|
|
|
+ <el-select
|
|
|
+ ref="parentNoRef"
|
|
|
+ v-model="yiZhuData.parentNo"
|
|
|
+ :disabled="yiZhuData.serial === '00'"
|
|
|
+ id="yz_parentNo"
|
|
|
+ @change="modifyDosingMethod"
|
|
|
+ clearable
|
|
|
+ @focus="elSelectFocus(parentNoRef)"
|
|
|
+ @blur="elSelectBlur(parentNoRef)"
|
|
|
+ @clear="yiZhuData.parentNo = null">
|
|
|
<el-option v-for="item in fuYiZhuData"
|
|
|
:key="item.actOrderNo"
|
|
|
:label="item.orderName"
|
|
@@ -143,7 +150,6 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
<!-- 皮试药品 -->
|
|
|
- <el-select></el-select>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="yz_input__box">
|
|
@@ -158,9 +164,15 @@
|
|
|
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-select
|
|
|
+ ref="kfFlagRef"
|
|
|
+ @focus="elSelectFocus(kfFlagRef)"
|
|
|
+ @blur="elSelectBlur(kfFlagRef)"
|
|
|
+ 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>
|
|
@@ -169,6 +181,9 @@
|
|
|
费用标志:
|
|
|
<el-select v-model="yiZhuData.selfBuy"
|
|
|
id="yz_selfBuy"
|
|
|
+ ref="selfBuyRef"
|
|
|
+ @focus="elSelectFocus(selfBuyRef)"
|
|
|
+ @blur="elSelectBlur(selfBuyRef)"
|
|
|
clearable style="width: 120px"
|
|
|
@clear="yiZhuData.selfBuy = null">
|
|
|
<el-option key="1" label="自备" value="1"></el-option>
|
|
@@ -211,7 +226,6 @@
|
|
|
<button @click="toAddAnOrder">录入医嘱</button>
|
|
|
<button @click="duplicateAndPaste">复制并粘贴</button>
|
|
|
<button @click="openTheOrderPopUpWindow">打开医嘱弹窗</button>
|
|
|
-
|
|
|
</div>
|
|
|
<!-- 报错信息 -->
|
|
|
<bao-cun-xin-xi @clickError="clickError"
|
|
@@ -251,9 +265,15 @@ import XcCheckbox from "@/components/xiao-chan/checkbox/XcCheckbox";
|
|
|
import {BizException, ExceptionEnum} from "@/utils/BizException";
|
|
|
import BaoCunXinXi from "@/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/BaoCunXinXi";
|
|
|
import {clone} from "@/utils/clone";
|
|
|
-import {queryParam, yzData} from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
|
|
|
+import {
|
|
|
+ queryParam,
|
|
|
+ yzData,
|
|
|
+ yiZhuData,
|
|
|
+ errorMsg
|
|
|
+} from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
|
|
|
import {ElMessageBox} from "element-plus";
|
|
|
import YzDialog from "@/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/dialog/YzDialog";
|
|
|
+import {xcHotKey} from "@/utils/xckeydown";
|
|
|
|
|
|
|
|
|
const props = defineProps({
|
|
@@ -265,53 +285,6 @@ const props = defineProps({
|
|
|
openGroupOrderTemplate: Function
|
|
|
})
|
|
|
|
|
|
-const yiZhuData = ref({
|
|
|
- id: '',
|
|
|
- actOrderNo: null,
|
|
|
- orderName: '',
|
|
|
- orderCode: '',
|
|
|
- // 频率
|
|
|
- frequCode: '',
|
|
|
- frequCodeName: '',
|
|
|
- drugSpecification: '',
|
|
|
- dose: 0,
|
|
|
- // 领量
|
|
|
- doseUnit: '',
|
|
|
- doseUnitName: '',
|
|
|
- supplyCode: '',
|
|
|
- supplyCodeName: '',
|
|
|
- startTime: '',
|
|
|
- endTime: '',
|
|
|
- orderTime: '',
|
|
|
- doctorName: '',
|
|
|
- drugFlag: '',
|
|
|
- execUnit: '',
|
|
|
- execUnitName: '',
|
|
|
- parentNo: '',
|
|
|
- parentNoName: '',
|
|
|
- physicianName: '',
|
|
|
- discription: '',
|
|
|
- instruction: null,
|
|
|
- kfFlag: null,
|
|
|
- selfBuy: null,
|
|
|
- ybSelfFlag: '0',
|
|
|
- ybSelfFlagBoolean: false,
|
|
|
- emergencyFlag: '0',
|
|
|
- drugQuan: 0,
|
|
|
- miniUnitName: '',
|
|
|
- serial: '',
|
|
|
- miniUnit: '',
|
|
|
- psFlag: false,
|
|
|
- kjywFlag: 0,
|
|
|
- yyfs: null,
|
|
|
- ssqk: null,
|
|
|
- yysj: null,
|
|
|
- zkObj: '',
|
|
|
- zkWardCode: '',
|
|
|
- zkDeptCode: '',
|
|
|
- statusFlag: '1'
|
|
|
-});
|
|
|
-
|
|
|
let tableHeader = [
|
|
|
{label: '编码', prop: 'orderCode'},
|
|
|
{label: '名称', prop: 'orderName'},
|
|
@@ -333,7 +306,8 @@ let tableHeader = [
|
|
|
const tiShiBiaoTi = ref([])
|
|
|
|
|
|
// 搜索医嘱
|
|
|
-const xuanZhongFeiYong = async (row) => {
|
|
|
+const xuanZhongFeiYong = async (row, laiyuan = 1) => {
|
|
|
+
|
|
|
if (row.serial === '0000' && row.groupNo === '0000') {
|
|
|
props.openGroupOrderTemplate(row.orderCode)
|
|
|
return
|
|
@@ -342,88 +316,94 @@ const xuanZhongFeiYong = async (row) => {
|
|
|
if (yiZhuData.value.actOrderNo === 'tempOrderNo') {
|
|
|
yiZhuData.value.actOrderNo = await getOrderNo()
|
|
|
}
|
|
|
- let tempOrderNo = yiZhuData.value.actOrderNo
|
|
|
+ let tempOrderNo = null
|
|
|
+
|
|
|
+ // 在使用 查询医嘱搜索的时候 row 是不会有 actOrderNo 的所以要保留一下
|
|
|
+ if (laiyuan === 1) {
|
|
|
+ tempOrderNo = yiZhuData.value.actOrderNo
|
|
|
+ }
|
|
|
// 记得处置医嘱
|
|
|
- fuYiZhuClick()
|
|
|
+ await fuYiZhuClick()
|
|
|
qingKong()
|
|
|
await Sleep(200)
|
|
|
yiZhuData.value = row
|
|
|
- yiZhuData.value.actOrderNo = tempOrderNo
|
|
|
+ if (tempOrderNo !== null) {
|
|
|
+ yiZhuData.value.actOrderNo = tempOrderNo;
|
|
|
+ }
|
|
|
yiZhuData.value.statusFlag = '1'
|
|
|
|
|
|
-
|
|
|
- if (row.serial !== '00') {
|
|
|
- huoQuFeiYongXinXi(row.orderCode, row.serial, props.patientInfo.smallDept)
|
|
|
- .then((res) => {
|
|
|
- yiZhuData.value.drugFlag = row.drugFlag ? row.drugFlag : row.orderType
|
|
|
- // 判断是否 是皮试的药 如果是就只能有这些 给药方式
|
|
|
- geiYaoFangShiData.value = res.piShi
|
|
|
- // 是否是 抗菌药物
|
|
|
- yiZhuData.value.kjywFlag = res.data.kjywFlag
|
|
|
- // 提示信息
|
|
|
- tiShiBiaoTi.value = res.prompt
|
|
|
- // 最小单位名称
|
|
|
- yiZhuData.value.miniUnit = res.data.miniUnit
|
|
|
- yiZhuData.value.miniUnitName = res.data.miniUnitName
|
|
|
- yiZhuData.value.drugVolume = res.data.volum
|
|
|
- yiZhuData.value.drugVolUnit = res.data.volUnit
|
|
|
- // 加载药品计量
|
|
|
- yaoPinJiLiangData.value = res.yaoPingJiLiang
|
|
|
- // 加载 剂量单位
|
|
|
- if (stringNotBlank(yiZhuData.value.doseUnit)) {
|
|
|
- yaoPinJiLiangData.value.forEach((item) => {
|
|
|
- if (item.code === yiZhuData.value.doseUnit) {
|
|
|
- jiLiangValue.value = item.value
|
|
|
- }
|
|
|
- })
|
|
|
- } else if (listNotBlank(yaoPinJiLiangData.value)) {
|
|
|
- // 没有剂量单位的时候默认加载第一个计量单位 并且计算
|
|
|
- yiZhuData.value.doseUnit = yaoPinJiLiangData.value[0].code
|
|
|
- yiZhuData.value.dose = yaoPinJiLiangData.value[0].value
|
|
|
- jiLiangValue.value = yaoPinJiLiangData.value[0].value
|
|
|
- }
|
|
|
- jiSuanLingLiang(yiZhuData.value.dose)
|
|
|
- // 加载默认频率 如果已经填写了 就用有的
|
|
|
- if (stringIsBlank(row.frequCode)) {
|
|
|
- if (stringNotBlank(res.data.frequCode)) {
|
|
|
- yiZhuData.value.frequCode = res.data.frequCode
|
|
|
- yiZhuData.value.frequCodeName = res.data.frequCodeName
|
|
|
- } else {
|
|
|
- yiZhuData.value.frequCode = 'ONCE'
|
|
|
- yiZhuData.value.frequCodeName = '一次'
|
|
|
- }
|
|
|
- }
|
|
|
- // 加载给药方式 如果已经有了就没事了
|
|
|
- if (stringIsBlank(yiZhuData.value.supplyCode)) {
|
|
|
- if (stringNotBlank(res.data.supplyCode)) {
|
|
|
- yiZhuData.value.supplyCode = res.data.supplyCode
|
|
|
- yiZhuData.value.supplyCodeName = res.data.supplyCodeName
|
|
|
- }
|
|
|
+ if (row.serial === '01' || row.serial === '99') {
|
|
|
+ try {
|
|
|
+ let res = await huoQuFeiYongXinXi(row.orderCode, row.serial, props.patientInfo.smallDept)
|
|
|
+ yiZhuData.value.drugFlag = row.drugFlag ? row.drugFlag : row.orderType
|
|
|
+ // 判断是否 是皮试的药 如果是就只能有这些 给药方式
|
|
|
+ geiYaoFangShiData.value = res.piShi
|
|
|
+ // 是否是 抗菌药物
|
|
|
+ yiZhuData.value.kjywFlag = res.data.kjywFlag
|
|
|
+ // 提示信息
|
|
|
+ tiShiBiaoTi.value = res.prompt
|
|
|
+ // 最小单位名称
|
|
|
+ yiZhuData.value.miniUnit = res.data.miniUnit
|
|
|
+ yiZhuData.value.miniUnitName = res.data.miniUnitName
|
|
|
+ yiZhuData.value.drugVolume = res.data.volum
|
|
|
+ yiZhuData.value.drugVolUnit = res.data.volUnit
|
|
|
+ // 加载药品计量
|
|
|
+ yaoPinJiLiangData.value = res.yaoPingJiLiang
|
|
|
+ // 加载 剂量单位
|
|
|
+ if (stringNotBlank(yiZhuData.value.doseUnit)) {
|
|
|
+ yaoPinJiLiangData.value.forEach((item) => {
|
|
|
+ if (item.code === yiZhuData.value.doseUnit) {
|
|
|
+ jiLiangValue.value = item.value
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- })
|
|
|
- .catch(async () => {
|
|
|
- await Sleep(500)
|
|
|
- qingKong()
|
|
|
})
|
|
|
+ } else if (listNotBlank(yaoPinJiLiangData.value)) {
|
|
|
+ // 没有剂量单位的时候默认加载第一个计量单位 并且计算
|
|
|
+ yiZhuData.value.doseUnit = yaoPinJiLiangData.value[0].code
|
|
|
+ yiZhuData.value.dose = yaoPinJiLiangData.value[0].value
|
|
|
+ jiLiangValue.value = yaoPinJiLiangData.value[0].value
|
|
|
+ }
|
|
|
+ jiSuanLingLiang(yiZhuData.value.dose)
|
|
|
+ // 加载默认频率 如果已经填写了 就用有的
|
|
|
+ if (stringIsBlank(row.frequCode)) {
|
|
|
+ if (stringNotBlank(res.data.frequCode)) {
|
|
|
+ yiZhuData.value.frequCode = res.data.frequCode
|
|
|
+ yiZhuData.value.frequCodeName = res.data.frequCodeName
|
|
|
+ } else {
|
|
|
+ yiZhuData.value.frequCode = 'ONCE'
|
|
|
+ yiZhuData.value.frequCodeName = '一次'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 加载给药方式 如果已经有了就没事了
|
|
|
+ if (stringIsBlank(yiZhuData.value.supplyCode)) {
|
|
|
+ if (stringNotBlank(res.data.supplyCode)) {
|
|
|
+ yiZhuData.value.supplyCode = res.data.supplyCode
|
|
|
+ yiZhuData.value.supplyCodeName = res.data.supplyCodeName
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ await Sleep(200)
|
|
|
+ qingKong()
|
|
|
+ }
|
|
|
+
|
|
|
} else {
|
|
|
yiZhuData.value.kjywFlag = 0
|
|
|
- huoQuFeiYongXinXi(row.orderCode, '00', props.patientInfo.smallDept)
|
|
|
- .then((res) => {
|
|
|
- openTheOrderPopUpWindow('请输入处置医嘱名')
|
|
|
- yiZhuData.value.drugFlag = row.drugFlag ? row.drugFlag : row.orderType
|
|
|
- if (stringNotBlank(res.prompt)) {
|
|
|
- tiShiBiaoTi.value = res.prompt
|
|
|
- }
|
|
|
- if (!res.dose) {
|
|
|
- yiZhuData.value.dose = 1
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(async () => {
|
|
|
- await Sleep(500)
|
|
|
- qingKong()
|
|
|
- })
|
|
|
+ try {
|
|
|
+ let res = await huoQuFeiYongXinXi(row.orderCode, '00', props.patientInfo.smallDept)
|
|
|
+ openTheOrderPopUpWindow('请输入处置医嘱名')
|
|
|
+ yiZhuData.value.drugFlag = row.drugFlag ? row.drugFlag : row.orderType
|
|
|
+ if (stringNotBlank(res.prompt)) {
|
|
|
+ tiShiBiaoTi.value = res.prompt
|
|
|
+ }
|
|
|
+ if (!res.dose) {
|
|
|
+ yiZhuData.value.dose = 1
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ await Sleep(200)
|
|
|
+ qingKong()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (stringIsBlank(yiZhuData.value.actOrderNo)) {
|
|
|
+ return
|
|
|
}
|
|
|
// 判断这个是不是 新添加的数据 如果是空的就是 新数据
|
|
|
let serverDate = await getServerDateApi()
|
|
@@ -452,20 +432,21 @@ const xuanZhongFeiYong = async (row) => {
|
|
|
} catch (e) {
|
|
|
console.log(e)
|
|
|
}
|
|
|
- for (let i = 0, len = yzData.value.length; i < len; i++) {
|
|
|
- let item = yzData.value[i]
|
|
|
- if (yiZhuData.value.actOrderNo === item.actOrderNo) {
|
|
|
- delete yzData.value[i]
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
if (queryParam.frequCode === 1) {
|
|
|
yiZhuData.value.frequCode = 'ONCE'
|
|
|
yiZhuData.value.frequCodeName = '一次'
|
|
|
}
|
|
|
- yzData.value.push(yiZhuData.value)
|
|
|
+ // 如果搜索了医嘱那么 这里就需要 重新赋值,不认表格就没办法变化了,把原来的换掉
|
|
|
+ for (let i = 0, len = yzData.value.length; i < len; i++) {
|
|
|
+ let item = yzData.value[i]
|
|
|
+ if (yiZhuData.value.actOrderNo == item.actOrderNo) {
|
|
|
+ yzData.value[i] = yiZhuData.value
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/* 频率 */
|
|
|
const pingLv = ref()
|
|
|
const yaoPinPingLvData = ref([])
|
|
@@ -557,8 +538,15 @@ const addOrderNo = async () => {
|
|
|
data: yiZhuData.value
|
|
|
}
|
|
|
try {
|
|
|
- await enterOrders(param)
|
|
|
+ let res = await enterOrders(param)
|
|
|
+ // 如果有错误信息 就 提示
|
|
|
+ if (res !== null && res.error) {
|
|
|
+ baoCunXinXiRef.value.openOrClose()
|
|
|
+ errorMessageData.value = res.data
|
|
|
+ return
|
|
|
+ }
|
|
|
props.successfullyEntered(yiZhuData.value)
|
|
|
+ // 医嘱保存超过了 就删除错误提示
|
|
|
if (errorMessageData.value) {
|
|
|
for (let key in errorMessageData.value) {
|
|
|
if (key === yiZhuData.value.actOrderNo.toString()) {
|
|
@@ -567,19 +555,20 @@ const addOrderNo = async () => {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ // 如果没有了错误信息 就关闭
|
|
|
if (!!errorMessageData.value) {
|
|
|
baoCunXinXiRef.value.openOrClose(false)
|
|
|
}
|
|
|
qingKong()
|
|
|
yiZhuData.value.actOrderNo = 'tempOrderNo'
|
|
|
+ openSearch()
|
|
|
} catch (e) {
|
|
|
- if (e === null) return
|
|
|
- baoCunXinXiRef.value.openOrClose()
|
|
|
- errorMessageData.value = e
|
|
|
+ console.log(e)
|
|
|
}
|
|
|
} else {
|
|
|
qingKong()
|
|
|
yiZhuData.value.actOrderNo = 'tempOrderNo'
|
|
|
+ openSearch()
|
|
|
}
|
|
|
|
|
|
|
|
@@ -648,12 +637,14 @@ const isEdit = computed(() => {
|
|
|
|
|
|
let baoCunXinXiRef = ref(null)
|
|
|
const toAddAnOrder = async () => {
|
|
|
- if (stringIsBlank(yiZhuData.value.actOrderNo)) {
|
|
|
- return
|
|
|
- }
|
|
|
if (stringIsBlank(props.patientInfo.inpatientNo)) {
|
|
|
BizException(ExceptionEnum.MESSAGE_ERROR, '请先选择患者')
|
|
|
}
|
|
|
+
|
|
|
+ if (stringIsBlank(yiZhuData.value.actOrderNo) || yiZhuData.value.actOrderNo === 'tempOrderNo') {
|
|
|
+ BizException(ExceptionEnum.MESSAGE_ERROR, '请先选择一个医嘱')
|
|
|
+ }
|
|
|
+ // 有 医嘱 不是 录入就说明在看医嘱 直接清空就可以了
|
|
|
if (stringNotBlank(yiZhuData.value.orderCode) && yiZhuData.value.statusFlag !== '1') {
|
|
|
qingKong()
|
|
|
return
|
|
@@ -665,7 +656,14 @@ const toAddAnOrder = async () => {
|
|
|
data: yiZhuData.value
|
|
|
}
|
|
|
try {
|
|
|
- await enterOrders(param)
|
|
|
+ let res = await enterOrders(param)
|
|
|
+
|
|
|
+ if (res !== null && res.error) {
|
|
|
+ baoCunXinXiRef.value.openOrClose()
|
|
|
+ errorMessageData.value = res.data
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
props.successfullyEntered(yiZhuData.value)
|
|
|
if (errorMessageData.value) {
|
|
|
for (let key in errorMessageData.value) {
|
|
@@ -680,9 +678,7 @@ const toAddAnOrder = async () => {
|
|
|
}
|
|
|
qingKong()
|
|
|
} catch (e) {
|
|
|
- if (e === null) return
|
|
|
- baoCunXinXiRef.value.openOrClose()
|
|
|
- errorMessageData.value = e
|
|
|
+ console.log(e)
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -691,11 +687,10 @@ const toAddAnOrder = async () => {
|
|
|
*/
|
|
|
const confirmOrdersClick = () => {
|
|
|
confirmOrders(props.patientInfo).then((res) => {
|
|
|
-
|
|
|
- }).catch(e => {
|
|
|
- if (e === null) return
|
|
|
- baoCunXinXiRef.value.openOrClose()
|
|
|
- errorMessageData.value = e
|
|
|
+ if (res !== null && res.error) {
|
|
|
+ baoCunXinXiRef.value.openOrClose()
|
|
|
+ errorMessageData.value = res.data
|
|
|
+ }
|
|
|
})
|
|
|
}
|
|
|
|
|
@@ -721,14 +716,16 @@ const clickError = (val) => {
|
|
|
data: yiZhuData.value
|
|
|
}
|
|
|
enterOrders(param).then((res) => {
|
|
|
+ if (res !== null && res.error) {
|
|
|
+ errorMessageData.value[yiZhuData.value.actOrderNo] = res.data[yiZhuData.value.actOrderNo]
|
|
|
+ return
|
|
|
+ }
|
|
|
delete errorMessageData.value[yiZhuData.value.actOrderNo]
|
|
|
- yiZhuData.value = val.data
|
|
|
+ xuanZhongFeiYong(val.data, 2)
|
|
|
}).catch(e => {
|
|
|
- if (e === null) return
|
|
|
- errorMessageData.value[yiZhuData.value.actOrderNo] = e[yiZhuData.value.actOrderNo]
|
|
|
})
|
|
|
} else {
|
|
|
- yiZhuData.value = val.data
|
|
|
+ xuanZhongFeiYong(val.data, 2)
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -739,8 +736,8 @@ const clickError = (val) => {
|
|
|
let tempData = null
|
|
|
const fillData = async (data) => {
|
|
|
await fuYiZhuClick()
|
|
|
- yiZhuData.value = data
|
|
|
- yiZhuData.value.miniUnitName = data.drugQuanName
|
|
|
+ await xuanZhongFeiYong(data, 2)
|
|
|
+ // yiZhuData.value = data
|
|
|
tempData = JSON.stringify(yiZhuData.value)
|
|
|
}
|
|
|
|
|
@@ -767,7 +764,8 @@ const duplicateAndPaste = async () => {
|
|
|
temp.modifierName = ''
|
|
|
temp.modifier = ''
|
|
|
|
|
|
- yiZhuData.value = temp
|
|
|
+ await xuanZhongFeiYong(temp)
|
|
|
+ // yiZhuData.value = temp
|
|
|
await toAddAnOrder()
|
|
|
}
|
|
|
|
|
@@ -789,6 +787,57 @@ const toDeleteAnOrderClick = () => {
|
|
|
|
|
|
}
|
|
|
|
|
|
+const editorMainRef = ref()
|
|
|
+
|
|
|
+const parentNoRef = ref(null)
|
|
|
+const kfFlagRef = ref(null)
|
|
|
+const selfBuyRef = ref(null)
|
|
|
+const searchRef = ref(null)
|
|
|
+const elSelectFocus = (val) => {
|
|
|
+ val.toggleMenu()
|
|
|
+}
|
|
|
+const elSelectBlur = (val) => {
|
|
|
+ val.blur()
|
|
|
+}
|
|
|
+
|
|
|
+const openSearch = () => {
|
|
|
+ if (isEdit.value) return
|
|
|
+ searchRef.value.focus()
|
|
|
+}
|
|
|
+
|
|
|
+let shortcutKeyRegistration = {
|
|
|
+ ctrl: {s: toAddAnOrder, f: openSearch},
|
|
|
+ alt: {a: addOrderNo}
|
|
|
+}
|
|
|
+
|
|
|
+onActivated(() => {
|
|
|
+ xcHotKey(shortcutKeyRegistration)
|
|
|
+})
|
|
|
+
|
|
|
+onMounted(async () => {
|
|
|
+ await nextTick();
|
|
|
+ let inputs = editorMainRef.value.querySelectorAll('input')
|
|
|
+
|
|
|
+ for (let i = 1, len = inputs.length - 2; i < len; i++) {
|
|
|
+ let item = inputs[i]
|
|
|
+ item.addEventListener('keydown', async function (event) {
|
|
|
+ if (event.keyCode === 13) {
|
|
|
+ let tempIndex = 1
|
|
|
+ if (inputs[i + 1].disabled) {
|
|
|
+ tempIndex++
|
|
|
+ }
|
|
|
+ await Sleep(300)
|
|
|
+ if (i === len - 1) {
|
|
|
+ await toAddAnOrder()
|
|
|
+ }
|
|
|
+ item.blur()
|
|
|
+ inputs[i + tempIndex].focus()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+
|
|
|
defineExpose({
|
|
|
addOrderNo,
|
|
|
fillData,
|
|
@@ -805,11 +854,16 @@ defineExpose({
|
|
|
|
|
|
.editing_area {
|
|
|
position: relative;
|
|
|
- width: max-content;
|
|
|
+ width: 90%;
|
|
|
}
|
|
|
|
|
|
.ribbon {
|
|
|
flex: 1;
|
|
|
+
|
|
|
+ button {
|
|
|
+ display: block;
|
|
|
+ margin-top: 10px;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
.yz_editor__disable {
|