|
@@ -15,11 +15,12 @@
|
|
|
<span v-html="cuoWuXinXi"></span>
|
|
|
</template>
|
|
|
</el-popover>
|
|
|
+ <el-button icon="el-icon-check" type="success" @click="baoCunYiZhuClick">保存</el-button>
|
|
|
{{ count }}
|
|
|
- <el-form v-model="yiZhuData" label-width="80px" size="mini">
|
|
|
+ <el-form ref="yiZhuRef" v-model="yiZhuData" label-width="90px" size="mini">
|
|
|
<el-row>
|
|
|
<el-col :span="span">
|
|
|
- <el-form-item label="医嘱名称:" prop="orderName">
|
|
|
+ <el-form-item class="biTian" label="医嘱名称:" prop="orderName">
|
|
|
<el-input v-model="yiZhuData.orderName" @click="yiZhuMingDialog = true"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -31,13 +32,13 @@
|
|
|
<el-col :span="span">
|
|
|
<el-form-item label="频率:" prop="orderName">
|
|
|
<el-select
|
|
|
- v-model="yiZhuData.frequCode"
|
|
|
- :remote-method="pinLvRemoteMethod"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- remote
|
|
|
- size="mini"
|
|
|
- @change="yiZhuData.frequCode === 'ONCE' ? (yiZhuData.endTime = null) : ''"
|
|
|
+ v-model="yiZhuData.frequCode"
|
|
|
+ :remote-method="pinLvRemoteMethod"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ size="mini"
|
|
|
+ @change="yiZhuData.frequCode === 'ONCE' ? (yiZhuData.endTime = null) : ''"
|
|
|
>
|
|
|
<el-option v-for="item in yaoPinPingLvData" :key="item.code" :label="item.name" :value="item.code">
|
|
|
<span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
|
|
@@ -49,7 +50,8 @@
|
|
|
</el-col>
|
|
|
<el-col :span="span">
|
|
|
<el-form-item label="一次剂量:" prop="orderName">
|
|
|
- <el-input-number v-model="yiZhuData.dose" :min="0" :precision="2" style="width: 110px" @change="jiSuanLingLiang"></el-input-number>
|
|
|
+ <el-input-number v-model="yiZhuData.dose" :min="0" :precision="2" style="width: 110px"
|
|
|
+ @change="jiSuanLingLiang"></el-input-number>
|
|
|
<el-select v-model="yiZhuData.doseUnit" size="mini" style="width: 80px" @change="xuanZheJiLiang">
|
|
|
<el-option v-for="item in yaoPinJiLiangData" :key="item.code" :label="item.name" :value="item.code">
|
|
|
<span style="color: #8492a6; font-size: 12px">{{ item.value }}</span>
|
|
@@ -60,14 +62,14 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="span">
|
|
|
- <el-form-item label="领量:" prop="orderName">
|
|
|
- <el-input v-model="yiZhuData.drugQuan" disabled style="width: 60px"></el-input>
|
|
|
- <el-input v-model="yiZhuData.miniUnitName" disabled style="width: 60px"></el-input>
|
|
|
+ <el-form-item label="领量:">
|
|
|
+ {{ yiZhuData.drugQuan }} {{ yiZhuData.miniUnitName }}
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="span">
|
|
|
<el-form-item label="给药方式:" prop="orderName">
|
|
|
- <el-select v-model="yiZhuData.supplyCode" :remote-method="geiYaoFangShiRemoteMethod" filterable remote size="mini">
|
|
|
+ <el-select v-model="yiZhuData.supplyCode" :remote-method="geiYaoFangShiRemoteMethod" filterable remote
|
|
|
+ size="mini">
|
|
|
<el-option v-for="item in geiYaoFangShiData" :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>
|
|
@@ -78,29 +80,29 @@
|
|
|
</el-col>
|
|
|
<el-col :span="span">
|
|
|
<el-form-item label="医嘱时间:" prop="orderName">
|
|
|
- <el-input v-model="yiZhuData.orderTime" disabled></el-input>
|
|
|
+ {{ yiZhuData.orderTime }}
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="span">
|
|
|
<el-form-item label="开始时间:" prop="orderName">
|
|
|
<el-date-picker
|
|
|
- v-model="yiZhuData.startTime"
|
|
|
- :disabled-date="disabledDate"
|
|
|
- format="YYYY-MM-DD HH:mm:ss"
|
|
|
- type="datetime"
|
|
|
- value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ v-model="yiZhuData.startTime"
|
|
|
+ :disabled-date="disabledDate"
|
|
|
+ format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ type="datetime"
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
></el-date-picker>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="span">
|
|
|
<el-form-item label="停止时间:" prop="orderName">
|
|
|
<el-date-picker
|
|
|
- v-model="yiZhuData.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"
|
|
|
+ v-model="yiZhuData.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>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -111,7 +113,8 @@
|
|
|
</el-col>
|
|
|
<el-col :span="span">
|
|
|
<el-form-item label="执行科室:" prop="orderName">
|
|
|
- <el-select v-model="yiZhuData.execUnit" :remote-method="metZhiXingKeShi" filterable remote style="width: 120px">
|
|
|
+ <el-select v-model="yiZhuData.execUnit" :remote-method="metZhiXingKeShi" filterable remote
|
|
|
+ style="width: 120px">
|
|
|
<el-option v-for="item in zhiXingKeShiData" :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>
|
|
@@ -122,7 +125,8 @@
|
|
|
</el-col>
|
|
|
<el-col :span="span">
|
|
|
<el-form-item label="父医嘱:" prop="orderName">
|
|
|
- <el-select v-model="yiZhuData.parentNo" :disabled="yiZhuData.serial === '00'" clearable @clear="yiZhuData.parentNo = null" @click="fuYiZhuClick">
|
|
|
+ <el-select v-model="yiZhuData.parentNo" :disabled="yiZhuData.serial === '00'" clearable
|
|
|
+ @clear="yiZhuData.parentNo = null" @click="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>
|
|
@@ -137,8 +141,13 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="span">
|
|
|
- <el-form-item label="医生嘱托:" prop="orderName">
|
|
|
- <el-input v-model="yiZhuData.instruction" clearable maxlength="50" show-word-limit style="width: 130px" type="textarea"></el-input>
|
|
|
+ <el-form-item label="医生嘱托:">
|
|
|
+ <el-input v-model="yiZhuData.instruction" clearable maxlength="50" show-word-limit style="width: 130px"
|
|
|
+ type="textarea"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="span">
|
|
|
+ <el-form-item label="服用时间">
|
|
|
<el-select v-model="yiZhuData.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>
|
|
@@ -146,7 +155,7 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="span">
|
|
|
- <el-form-item label="费用标志:" prop="orderName">
|
|
|
+ <el-form-item label="费用标志:">
|
|
|
<el-select v-model="yiZhuData.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>
|
|
@@ -155,36 +164,39 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="span">
|
|
|
- <el-form-item label="医保自费:" prop="orderName">
|
|
|
- <el-switch v-model="yiZhuData.ybSelfFlag" active-color="#13ce66" active-text="自费" active-value="1" inactive-color="#ff4949" inactive-text="记账" inactive-value="0">
|
|
|
+ <el-form-item label="医保自费:">
|
|
|
+ <el-switch v-model="yiZhuData.ybSelfFlag" active-color="#13ce66" active-text="自费" active-value="1"
|
|
|
+ inactive-color="#ff4949" inactive-text="记账" inactive-value="0">
|
|
|
</el-switch>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="span">
|
|
|
- <el-form-item label="是否紧急:" prop="orderName">
|
|
|
- <el-switch v-model="yiZhuData.emergencyFlag" active-color="#13ce66" active-text="是" active-value="1" inactive-color="#ff4949" inactive-text="否" inactive-value="0">
|
|
|
+ <el-form-item label="是否紧急:">
|
|
|
+ <el-switch v-model="yiZhuData.emergencyFlag" active-color="#13ce66" active-text="是" active-value="1"
|
|
|
+ inactive-color="#ff4949" inactive-text="否" inactive-value="0">
|
|
|
</el-switch>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col v-if="yiZhuData.kjywFlag !== 0" :span="span">
|
|
|
<el-form-item label="用药方式:">
|
|
|
<el-select v-model="yiZhuData.yyfs" style="width: 120px" @change="kangJunYaoYongYaoFangShiGaiBian">
|
|
|
- <el-option v-for="item in kangJunYaoWuYongYaoFangShi" :key="item.code" :label="item.name" :value="item.code">
|
|
|
+ <el-option v-for="item in kangJunYaoWuYongYaoFangShi" :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
|
|
|
- >
|
|
|
+ <span>{{ item.name }}</span>
|
|
|
+ </el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="span">
|
|
|
<el-form-item v-if="yiZhuData.kjywFlag !== 0" label="切口等级:">
|
|
|
<el-select
|
|
|
- v-model="yiZhuData.ssqk"
|
|
|
- :disabled="yiZhuData.yyfs !== 1 && yiZhuData.yyfs !== 2 && yiZhuData.yyfs !== null"
|
|
|
- clearable
|
|
|
- style="width: 120px"
|
|
|
- @clear="yiZhuData.ssqk = null"
|
|
|
+ v-model="yiZhuData.ssqk"
|
|
|
+ :disabled="yiZhuData.yyfs !== 1 && yiZhuData.yyfs !== 2 && yiZhuData.yyfs !== null"
|
|
|
+ clearable
|
|
|
+ style="width: 120px"
|
|
|
+ @clear="yiZhuData.ssqk = null"
|
|
|
>
|
|
|
<el-option v-for="item in kangJunYaoWuQieKou" :key="item.code" :label="item.name" :value="item.code">
|
|
|
<span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
|
|
@@ -197,13 +209,14 @@
|
|
|
<el-col :span="span">
|
|
|
<el-form-item v-if="yiZhuData.kjywFlag !== 0" label="用药时间:">
|
|
|
<el-select
|
|
|
- v-model="yiZhuData.yysj"
|
|
|
- :disabled="yiZhuData.yyfs !== 1 && yiZhuData.yyfs !== 2 && yiZhuData.yyfs !== null"
|
|
|
- clearable
|
|
|
- style="width: 120px"
|
|
|
- @clear="yiZhuData.yysj = null"
|
|
|
+ v-model="yiZhuData.yysj"
|
|
|
+ :disabled="yiZhuData.yyfs !== 1 && yiZhuData.yyfs !== 2 && yiZhuData.yyfs !== null"
|
|
|
+ clearable
|
|
|
+ style="width: 120px"
|
|
|
+ @clear="yiZhuData.yysj = null"
|
|
|
>
|
|
|
- <el-option v-for="item in kangJunYaoWuYongYaoShiJian" :key="item.code" :label="item.name" :value="item.code">
|
|
|
+ <el-option v-for="item in kangJunYaoWuYongYaoShiJian" :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
|
|
@@ -214,8 +227,6 @@
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
<el-button icon="el-icon-plus" type="primary" @click="tianJiaYiZhu">添加</el-button>
|
|
|
- <el-button icon="el-icon-check" type="success" @click="baoCunYiZhuClick">保存 </el-button>
|
|
|
- <el-button icon="el-icon-close" type="danger" @click="dialog = false">关闭</el-button>
|
|
|
<el-button @click="dianJiXiuGaiZhiXingKeShi">修改执行科室</el-button>
|
|
|
<el-table :data="yiZhuList" :height="windowSize.h / 3" @selection-change="dianJiXuanZhongShuJu">
|
|
|
<el-table-column type="selection"></el-table-column>
|
|
@@ -229,10 +240,10 @@
|
|
|
<el-table-column label="规格" prop="drugSpecification"></el-table-column>
|
|
|
<el-table-column label="频率" prop="frequCodeName"></el-table-column>
|
|
|
<el-table-column label="一次剂量" prop="dose">
|
|
|
- <template #default="scope"> {{ scope.row.dose }} {{ scope.row.doseUnitName }} </template>
|
|
|
+ <template #default="scope"> {{ scope.row.dose }} {{ scope.row.doseUnitName }}</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="领量" prop="drugQuan">
|
|
|
- <template #default="scope"> {{ scope.row.drugQuan }} {{ scope.row.miniUnitName }} </template>
|
|
|
+ <template #default="scope"> {{ scope.row.drugQuan }} {{ scope.row.miniUnitName }}</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="给药方式" prop="supplyCodeName"></el-table-column>
|
|
|
<el-table-column label="执行科室" prop="execUnitName"></el-table-column>
|
|
@@ -261,61 +272,40 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <el-dialog v-model="yiZhuMingDialog" :before-close="guanBiSouSuoXiangMu" title="搜索医嘱名" width="95%">
|
|
|
- <el-input ref="searchInput" v-model="orderName" clearable style="width: 220px" @keyup.enter="queryYiZhuClick"></el-input>
|
|
|
- <el-button icon="el-icon-search" type="primary" @click="queryYiZhuClick">搜索</el-button>
|
|
|
- <el-table
|
|
|
- :data="orderData.data.slice((orderData.currentPage - 1) * orderData.pageSize, orderData.currentPage * orderData.pageSize)"
|
|
|
- :height="windowSize.h / 1.6"
|
|
|
- highlight-current-row
|
|
|
- stripe
|
|
|
- >
|
|
|
- <el-table-column label="编码" prop="code">
|
|
|
- <template #default="scope">
|
|
|
- <el-button @click="xuanZhongFeiYong(scope.row)">{{ scope.row.orderCode }}</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="名称" prop="orderName"></el-table-column>
|
|
|
- <el-table-column label="规格" prop="drugSpecification"></el-table-column>
|
|
|
- <el-table-column label="描述" prop="discription"></el-table-column>
|
|
|
- <el-table-column label="库存" prop="stockAmount"></el-table-column>
|
|
|
- <el-table-column label="大包装" prop="specPack"></el-table-column>
|
|
|
- <el-table-column label="医保类型" prop="ybFlagNew"></el-table-column>
|
|
|
- <el-table-column label="医保备注" prop="ybComment"></el-table-column>
|
|
|
- <el-table-column label="大输液" prop="infusionFlagName"></el-table-column>
|
|
|
- <el-table-column label="厂家" prop="manuName"></el-table-column>
|
|
|
- <el-table-column label="类型" prop="orderType"></el-table-column>
|
|
|
- <el-table-column label="毒麻类型" prop="drugFlagName"></el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-pagination
|
|
|
- :current-page="orderData.currentPage"
|
|
|
- :page-size="orderData.pageSize"
|
|
|
- :total="orderData.data.length"
|
|
|
- layout="total,prev,pager,next,jumper"
|
|
|
- @current-change="orderDataCurrent"
|
|
|
- >
|
|
|
- </el-pagination>
|
|
|
- </el-dialog>
|
|
|
+ <!-- 这里是搜索医嘱的 -->
|
|
|
+ <sou-suo-yi-zhu v-if="yiZhuMingDialog" @close="yiZhuMingDialog = false"
|
|
|
+ @xuanZhongFeiYong="xuanZhongFeiYong"></sou-suo-yi-zhu>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { computed, onActivated, onDeactivated, ref, watch } from 'vue'
|
|
|
-import { huoQuFeiYongXinXi, huoQuGeiYaoFangShi, huoQuXiangMu, huoQuZhiXinKeShi, huoQuZhuYuanPinLv, shangChuanYiZhu } from '@/api/zhu-yuan-yi-sheng/yi-zhu-lu-ru'
|
|
|
-import { getSelfBuy, huanZheXinXi, youWuXuanZheHuanZhe } from '@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng'
|
|
|
+import {computed, onDeactivated, onMounted, onUnmounted, ref, watch} from 'vue'
|
|
|
+import {
|
|
|
+ huoQuFeiYongXinXi,
|
|
|
+ huoQuGeiYaoFangShi,
|
|
|
+ huoQuZhiXinKeShi,
|
|
|
+ huoQuZhuYuanPinLv,
|
|
|
+ shangChuanYiZhu
|
|
|
+} from '@/api/zhu-yuan-yi-sheng/yi-zhu-lu-ru'
|
|
|
+import {
|
|
|
+ getSelfBuy,
|
|
|
+ huanZheXinXi,
|
|
|
+ youWuXuanZheHuanZhe
|
|
|
+} from '@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng'
|
|
|
import store from '../../../../store'
|
|
|
-import { listIsBlank, listNotBlank, stringIsBlank, stringNotBlank } from '@/utils/blank-utils'
|
|
|
-import { kangJunYaoWuQieKou, kangJunYaoWuYongYaoFangShi, kangJunYaoWuYongYaoShiJian } from '@/data'
|
|
|
-import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
-import { clone } from '@/utils/clone'
|
|
|
+import {listIsBlank, listNotBlank, stringIsBlank, stringNotBlank} from '@/utils/blank-utils'
|
|
|
+import {kangJunYaoWuQieKou, kangJunYaoWuYongYaoFangShi, kangJunYaoWuYongYaoShiJian} from '@/data'
|
|
|
+import {ElMessage, ElMessageBox} from 'element-plus'
|
|
|
+import {clone} from '@/utils/clone'
|
|
|
import HuoQuMuBan from '../../../../components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/HuoQuMuBan.vue'
|
|
|
-import { uuid } from '@/utils/getUuid'
|
|
|
+import {uuid} from '@/utils/getUuid'
|
|
|
import BaoCunMuBan from '../../../../components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/BaoCunMuBan.vue'
|
|
|
-import { getServerDateApi } from '@/api/public-api'
|
|
|
+import {getServerDateApi} from '@/api/public-api'
|
|
|
import router from '@/router'
|
|
|
+import SouSuoYiZhu from "@/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/SouSuoYiZhu.vue";
|
|
|
|
|
|
export default {
|
|
|
- name: 'TianJiaHuoXiuGaiYiZhu',
|
|
|
- components: { BaoCunMuBan, HuoQuMuBan },
|
|
|
+ name: 'TianJiaYiZhu',
|
|
|
+ components: {SouSuoYiZhu, BaoCunMuBan, HuoQuMuBan},
|
|
|
setup() {
|
|
|
const windowSize = computed(() => {
|
|
|
return store.state.app.windowSize
|
|
@@ -386,116 +376,94 @@ export default {
|
|
|
spanSize(windowSize.value.w)
|
|
|
|
|
|
watch(
|
|
|
- () => windowSize.value,
|
|
|
- () => {
|
|
|
- spanSize(windowSize.value.w)
|
|
|
- }
|
|
|
+ () => windowSize.value,
|
|
|
+ () => {
|
|
|
+ spanSize(windowSize.value.w)
|
|
|
+ }
|
|
|
)
|
|
|
|
|
|
// 搜索医嘱
|
|
|
const yiZhuMingDialog = ref(false)
|
|
|
- const orderName = ref('') // 01672
|
|
|
- const orderData = ref({
|
|
|
- currentPage: 1,
|
|
|
- pageSize: 10,
|
|
|
- data: [],
|
|
|
- })
|
|
|
-
|
|
|
- const queryYiZhuClick = () => {
|
|
|
- if (orderName.value.length < 2) {
|
|
|
- return ElMessage.error('至少输入2个字符以上')
|
|
|
- }
|
|
|
- huoQuXiangMu(orderName.value).then((res) => {
|
|
|
- orderData.value.data = res
|
|
|
- orderData.value.currentPage = 1
|
|
|
- })
|
|
|
- }
|
|
|
-
|
|
|
- const orderDataCurrent = (val) => {
|
|
|
- orderData.value.currentPage = val
|
|
|
- }
|
|
|
-
|
|
|
const xuanZhongFeiYong = (row) => {
|
|
|
+ yiZhuMingDialog.value = false
|
|
|
qingKong()
|
|
|
yiZhuData.value = clone(row)
|
|
|
if (row.serial !== '00') {
|
|
|
huoQuFeiYongXinXi(row.orderCode, row.serial)
|
|
|
- .then((res) => {
|
|
|
- yiZhuData.value.drugFlag = row.orderType
|
|
|
- // 判断是否 是皮试的药 如果是就只能有这些 给药方式
|
|
|
- if (res.data.psFlag === 1) {
|
|
|
- geiYaoFangShiData.value = res.piShi
|
|
|
- tiShiBiaoTi.value.push({ title: '该药品为皮试药品给药方式只能是皮试类型', type: 'warning' })
|
|
|
- yiZhuData.value.psFlag = true
|
|
|
- } else {
|
|
|
- geiYaoFangShiData.value = []
|
|
|
- yiZhuData.value.psFlag = false
|
|
|
- }
|
|
|
- yiZhuData.value.kjywFlag = res.data.kjywFlag
|
|
|
- if (yiZhuData.value.kjywFlag === 1) {
|
|
|
- tiShiBiaoTi.value.push({ title: '该药品为抗菌药物,请填写抗菌药物医嘱附注信息录入。', type: 'error' })
|
|
|
- }
|
|
|
- if (res.data.selfFlagYb === 1) {
|
|
|
- tiShiBiaoTi.value.push({ title: '该药品医保自费药品,如符合条件请填写记账,不是请填写自费。' })
|
|
|
- }
|
|
|
- yiZhuData.value.miniUnitName = res.data.miniUnitName
|
|
|
- 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(yaoPinJiLiangData.value[0].value)
|
|
|
- }
|
|
|
- // 加载默认频率 如果已经填写了 就用有的
|
|
|
- if (stringNotBlank(row.frequCode)) {
|
|
|
- pinLvRemoteMethod(yiZhuData.value.frequCode)
|
|
|
- } else if (stringNotBlank(res.data.frequCode)) {
|
|
|
- yiZhuData.value.frequCode = res.data.frequCode
|
|
|
- pinLvRemoteMethod(yiZhuData.value.frequCode)
|
|
|
- } else {
|
|
|
- yiZhuData.value.frequCode = 'ONCE'
|
|
|
- pinLvRemoteMethod('ONCE')
|
|
|
- }
|
|
|
- // 加载给药方式
|
|
|
- if (stringNotBlank(yiZhuData.value.supplyCode)) {
|
|
|
- geiYaoFangShiRemoteMethod(yiZhuData.value.supplyCode)
|
|
|
- } else if (stringNotBlank(res.data.supplyCode)) {
|
|
|
- yiZhuData.value.supplyCode = res.data.supplyCode
|
|
|
- geiYaoFangShiRemoteMethod(yiZhuData.value.supplyCode)
|
|
|
- }
|
|
|
- guanBiSouSuoXiangMu()
|
|
|
- })
|
|
|
- .catch((e) => {
|
|
|
- setTimeout(() => {
|
|
|
- console.error(e)
|
|
|
- qingKong()
|
|
|
- }, 100)
|
|
|
- })
|
|
|
+ .then((res) => {
|
|
|
+ yiZhuData.value.drugFlag = row.orderType
|
|
|
+ // 判断是否 是皮试的药 如果是就只能有这些 给药方式
|
|
|
+ if (res.data.psFlag === 1) {
|
|
|
+ geiYaoFangShiData.value = res.piShi
|
|
|
+ tiShiBiaoTi.value.push({title: '该药品为皮试药品给药方式只能是皮试类型', type: 'warning'})
|
|
|
+ yiZhuData.value.psFlag = true
|
|
|
+ } else {
|
|
|
+ geiYaoFangShiData.value = []
|
|
|
+ yiZhuData.value.psFlag = false
|
|
|
+ }
|
|
|
+ yiZhuData.value.kjywFlag = res.data.kjywFlag
|
|
|
+ if (yiZhuData.value.kjywFlag === 1) {
|
|
|
+ tiShiBiaoTi.value.push({title: '该药品为抗菌药物,请填写抗菌药物医嘱附注信息录入。', type: 'error'})
|
|
|
+ }
|
|
|
+ if (res.data.selfFlagYb === 1) {
|
|
|
+ tiShiBiaoTi.value.push({title: '该药品医保自费药品,如符合条件请填写记账,不是请填写自费。'})
|
|
|
+ }
|
|
|
+ yiZhuData.value.miniUnitName = res.data.miniUnitName
|
|
|
+ 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(yaoPinJiLiangData.value[0].value)
|
|
|
+ }
|
|
|
+ // 加载默认频率 如果已经填写了 就用有的
|
|
|
+ if (stringNotBlank(row.frequCode)) {
|
|
|
+ pinLvRemoteMethod(yiZhuData.value.frequCode)
|
|
|
+ } else if (stringNotBlank(res.data.frequCode)) {
|
|
|
+ yiZhuData.value.frequCode = res.data.frequCode
|
|
|
+ pinLvRemoteMethod(yiZhuData.value.frequCode)
|
|
|
+ } else {
|
|
|
+ yiZhuData.value.frequCode = 'ONCE'
|
|
|
+ pinLvRemoteMethod('ONCE')
|
|
|
+ }
|
|
|
+ // 加载给药方式
|
|
|
+ if (stringNotBlank(yiZhuData.value.supplyCode)) {
|
|
|
+ geiYaoFangShiRemoteMethod(yiZhuData.value.supplyCode)
|
|
|
+ } else if (stringNotBlank(res.data.supplyCode)) {
|
|
|
+ yiZhuData.value.supplyCode = res.data.supplyCode
|
|
|
+ geiYaoFangShiRemoteMethod(yiZhuData.value.supplyCode)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ setTimeout(() => {
|
|
|
+ console.error(e)
|
|
|
+ qingKong()
|
|
|
+ }, 100)
|
|
|
+ })
|
|
|
} else {
|
|
|
yiZhuData.value.kjywFlag = 0
|
|
|
huoQuFeiYongXinXi(row.orderCode, '00')
|
|
|
- .then((res) => {
|
|
|
- yiZhuData.value.drugFlag = row.orderType
|
|
|
- guanBiSouSuoXiangMu()
|
|
|
- yiZhuData.value.frequCode = 'ONCE'
|
|
|
- pinLvRemoteMethod('ONCE')
|
|
|
- if (stringNotBlank(res.paiChiYiZhu)) {
|
|
|
- tiShiBiaoTi.value.push({ title: res.paiChiYiZhu, type: 'error' })
|
|
|
- }
|
|
|
- })
|
|
|
- .catch((e) => {
|
|
|
- setTimeout(() => {
|
|
|
- qingKong()
|
|
|
- }, 100)
|
|
|
- })
|
|
|
+ .then((res) => {
|
|
|
+ yiZhuData.value.drugFlag = row.orderType
|
|
|
+ yiZhuData.value.frequCode = 'ONCE'
|
|
|
+ pinLvRemoteMethod('ONCE')
|
|
|
+ if (stringNotBlank(res.paiChiYiZhu)) {
|
|
|
+ tiShiBiaoTi.value.push({title: res.paiChiYiZhu, type: 'error'})
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ setTimeout(() => {
|
|
|
+ qingKong()
|
|
|
+ }, 100)
|
|
|
+ })
|
|
|
}
|
|
|
// 判断这个是不是 新添加的数据 如果是空的就是 新数据
|
|
|
if (stringIsBlank(row.newData)) {
|
|
@@ -566,7 +534,7 @@ export default {
|
|
|
fuYiZhuData.value = []
|
|
|
yiZhuList.value.forEach((item, index) => {
|
|
|
if (stringNotBlank(item.drugFlag) && item.drugFlag === 'i' && item.id !== yiZhuData.value.id && stringIsBlank(item.parentNo)) {
|
|
|
- fuYiZhuData.value.push({ code: item.id, name: item.orderName })
|
|
|
+ fuYiZhuData.value.push({code: item.id, name: item.orderName})
|
|
|
}
|
|
|
})
|
|
|
}
|
|
@@ -595,21 +563,21 @@ export default {
|
|
|
list: list,
|
|
|
}
|
|
|
shangChuanYiZhu(data)
|
|
|
- .then((res) => {
|
|
|
- let index = tianJiaYiZhuWeiYiBiaoShi.value.indexOf(yiZhuData.value.id)
|
|
|
- if (index > -1) {
|
|
|
- yiZhuList.value.splice(index, 1)
|
|
|
- tianJiaYiZhuWeiYiBiaoShi.value.splice(index, 1)
|
|
|
- ElMessage.error('重复添加,老记录已删除。')
|
|
|
- }
|
|
|
- tianJiaShiHuoQuXiaLaKuangDeZhi()
|
|
|
- tianJiaYiZhuWeiYiBiaoShi.value.push(yiZhuData.value.id)
|
|
|
- yiZhuList.value.push(clone(yiZhuData.value))
|
|
|
- qingKong()
|
|
|
- })
|
|
|
- .catch((e) => {
|
|
|
- cuoWuXinXi.value = e
|
|
|
- })
|
|
|
+ .then((res) => {
|
|
|
+ let index = tianJiaYiZhuWeiYiBiaoShi.value.indexOf(yiZhuData.value.id)
|
|
|
+ if (index > -1) {
|
|
|
+ yiZhuList.value.splice(index, 1)
|
|
|
+ tianJiaYiZhuWeiYiBiaoShi.value.splice(index, 1)
|
|
|
+ ElMessage.error('重复添加,老记录已删除。')
|
|
|
+ }
|
|
|
+ tianJiaShiHuoQuXiaLaKuangDeZhi()
|
|
|
+ tianJiaYiZhuWeiYiBiaoShi.value.push(yiZhuData.value.id)
|
|
|
+ yiZhuList.value.push(clone(yiZhuData.value))
|
|
|
+ qingKong()
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ cuoWuXinXi.value = e
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
// 这里是获取下拉框中的值的
|
|
@@ -659,23 +627,28 @@ export default {
|
|
|
|
|
|
/* 保存信息 */
|
|
|
const baoCunYiZhuClick = () => {
|
|
|
- if (listIsBlank(yiZhuList.value)) {
|
|
|
- return ElMessage.error('请先选择数据')
|
|
|
- }
|
|
|
- if (youWuXuanZheHuanZhe()) return
|
|
|
- let data = {
|
|
|
- inpatientNo: huanZheXinXi.value.inpatientNo,
|
|
|
- admissTimes: huanZheXinXi.value.admissTimes,
|
|
|
- chaRuYiZhu: true,
|
|
|
- list: yiZhuList.value,
|
|
|
- }
|
|
|
- shangChuanYiZhu(data)
|
|
|
- .then((res) => {
|
|
|
- router.go(-1)
|
|
|
- })
|
|
|
- .catch((e) => {
|
|
|
- cuoWuXinXi.value = e
|
|
|
- })
|
|
|
+ ElMessageBox.confirm('您确定要保存这些数据吗?请仔细检查数据。', '提示', {
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ if (listIsBlank(yiZhuList.value)) {
|
|
|
+ return ElMessage.error('请先选择数据')
|
|
|
+ }
|
|
|
+ if (youWuXuanZheHuanZhe()) return
|
|
|
+ let data = {
|
|
|
+ inpatientNo: huanZheXinXi.value.inpatientNo,
|
|
|
+ admissTimes: huanZheXinXi.value.admissTimes,
|
|
|
+ chaRuYiZhu: true,
|
|
|
+ list: yiZhuList.value,
|
|
|
+ }
|
|
|
+ shangChuanYiZhu(data)
|
|
|
+ .then((res) => {
|
|
|
+ router.go(-1)
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ cuoWuXinXi.value = e
|
|
|
+ })
|
|
|
+ }).catch(() => {
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
/* 这里是抗菌药物,选择了除了 1和 2 的其他都可以不用填写 */
|
|
@@ -726,42 +699,19 @@ export default {
|
|
|
list: yiZhuList.value,
|
|
|
}
|
|
|
shangChuanYiZhu(data)
|
|
|
- .then((res) => {
|
|
|
- baoCunMuBanRef.value.daKaiBaoCunMuBan(yiZhuList.value)
|
|
|
- cuoWuXinXi.value = ''
|
|
|
- })
|
|
|
- .catch((e) => {
|
|
|
- cuoWuXinXi.value = e
|
|
|
- })
|
|
|
+ .then((res) => {
|
|
|
+ baoCunMuBanRef.value.daKaiBaoCunMuBan(yiZhuList.value)
|
|
|
+ cuoWuXinXi.value = ''
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ cuoWuXinXi.value = e
|
|
|
+ })
|
|
|
}
|
|
|
// 医嘱限制时间不能在之前
|
|
|
const disabledDate = (time) => {
|
|
|
return time.getTime() < Date.now() - 8.64e7
|
|
|
}
|
|
|
|
|
|
- watch(
|
|
|
- () => huanZheXinXi.value,
|
|
|
- () => {
|
|
|
- zhiXingKeShiData.value = [
|
|
|
- {
|
|
|
- code: huanZheXinXi.value.smallDept,
|
|
|
- name: huanZheXinXi.value.smallDeptName,
|
|
|
- },
|
|
|
- ]
|
|
|
- }
|
|
|
- )
|
|
|
-
|
|
|
- watch(
|
|
|
- () => yiZhuMingDialog.value,
|
|
|
- () => {
|
|
|
- if (yiZhuMingDialog.value) {
|
|
|
- setTimeout(() => {
|
|
|
- searchInput.value.focus()
|
|
|
- }, 300)
|
|
|
- }
|
|
|
- }
|
|
|
- )
|
|
|
-
|
|
|
const xuanZhongShuJu = ref([])
|
|
|
|
|
|
const dianJiXuanZhongShuJu = (selection) => {
|
|
@@ -784,13 +734,6 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- const guanBiSouSuoXiangMu = (done) => {
|
|
|
- yiZhuMingDialog.value = false
|
|
|
- if (store.state.app.yiZhuLuRu.jianRongMoShi) {
|
|
|
- orderData.value.data = []
|
|
|
- }
|
|
|
- orderData.value.currentPage = 1
|
|
|
- }
|
|
|
|
|
|
const qingKong = () => {
|
|
|
cuoWuXinXi.value = ''
|
|
@@ -844,13 +787,25 @@ export default {
|
|
|
|
|
|
let daoJiShi = null
|
|
|
|
|
|
- onActivated(() => {
|
|
|
+ onMounted(() => {
|
|
|
if (stringIsBlank(huanZheXinXi.value.inpatientNo)) {
|
|
|
ElMessage.warning('您现在进入的是医嘱模板编辑')
|
|
|
} else {
|
|
|
ElMessage.warning('您现在进入的是医嘱编辑模块,' + '您的编辑时间有 10 分钟,你准备好了吗?Are ya ready kids?')
|
|
|
kaiQiDaoJiShi()
|
|
|
}
|
|
|
+ if (stringNotBlank(huanZheXinXi.value.inpatientNo)) {
|
|
|
+ zhiXingKeShiData.value = [
|
|
|
+ {
|
|
|
+ code: huanZheXinXi.value.smallDept,
|
|
|
+ name: huanZheXinXi.value.smallDeptName,
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ onUnmounted(() => {
|
|
|
+ clearInterval(daoJiShi)
|
|
|
})
|
|
|
|
|
|
// 倒计时功能
|
|
@@ -872,7 +827,8 @@ export default {
|
|
|
if (seconds.value === 300) {
|
|
|
ElMessageBox.alert('您的操作时间过半', '提示', {
|
|
|
type: 'warning',
|
|
|
- }).then((res) => {})
|
|
|
+ }).then((res) => {
|
|
|
+ })
|
|
|
} else if (seconds.value === 60 || seconds.value === 30 || seconds.value === 20) {
|
|
|
ElMessage({
|
|
|
message: '剩余操作时间' + seconds.value + '秒',
|
|
@@ -897,12 +853,8 @@ export default {
|
|
|
span,
|
|
|
searchInput,
|
|
|
yiZhuMingDialog,
|
|
|
- orderName,
|
|
|
- orderData,
|
|
|
- queryYiZhuClick,
|
|
|
windowSize,
|
|
|
xuanZhongFeiYong,
|
|
|
- orderDataCurrent,
|
|
|
yaoPinJiLiangData,
|
|
|
pinLvRemoteMethod,
|
|
|
xuanZheJiLiang,
|
|
@@ -937,7 +889,6 @@ export default {
|
|
|
dianJiXuanZhongShuJu,
|
|
|
dianJiXiuGaiZhiXingKeShi,
|
|
|
count,
|
|
|
- guanBiSouSuoXiangMu,
|
|
|
}
|
|
|
},
|
|
|
}
|