|
@@ -0,0 +1,834 @@
|
|
|
+<template>
|
|
|
+ <page-layer>
|
|
|
+ <template #header>
|
|
|
+ 病房
|
|
|
+ <el-select v-model="headerParam.wardCode" @change="initPatintBedNo" style="width: 80px">
|
|
|
+ <el-option v-for="item in allWards" :key="item.code" :value="item.code" :label="item.name"></el-option>
|
|
|
+ </el-select>
|
|
|
+ 发药日期<el-date-picker
|
|
|
+ v-model="headerParam.startDate"
|
|
|
+ type="date"
|
|
|
+ size="small"
|
|
|
+ :clearable="false"
|
|
|
+ format="YYYY-MM-DD" value-format="YYYY-MM-DD" style="width: 120px"/>
|
|
|
+ 至
|
|
|
+ <el-date-picker
|
|
|
+ v-model="headerParam.endDate"
|
|
|
+ type="date"
|
|
|
+ size="small"
|
|
|
+ :clearable="false"
|
|
|
+ format="YYYY-MM-DD" value-format="YYYY-MM-DD" style="width: 120px"/>
|
|
|
+ 药单类型<el-select v-model="headerParam.pageClass" clearable style="width: 120px">
|
|
|
+ <el-option v-for="item in pageClassData" :key="item.pageClass" :value="item.pageClass" :label="item.pageClassName">
|
|
|
+ <span>{{ item.pageClass }}</span>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
+ <span>{{ item.pageClassName }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ 单号<el-input v-model="headerParam.pageNo" clearable style="width: 100px"></el-input>
|
|
|
+ 床位范围<el-select v-model="headerParam.startBedNo"
|
|
|
+ :clearable="true"
|
|
|
+ style="width: 70px">
|
|
|
+ <el-option v-for="item in patintList"
|
|
|
+ :key="item.bedNo"
|
|
|
+ :label="item.bedNo"
|
|
|
+ :value="item.bedNo">
|
|
|
+ <span>{{ item.bedNo }}</span>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
+ <span>{{ item.inpatientNo }}</span>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
+ <span>{{ item.name }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ 至
|
|
|
+ <el-select v-model="headerParam.endBedNo"
|
|
|
+ style="width: 70px"
|
|
|
+ :clearable="true">
|
|
|
+ <el-option v-for="item in reverPatintList"
|
|
|
+ :key="item.bedNo"
|
|
|
+ :label="item.bedNo"
|
|
|
+ :value="item.bedNo">
|
|
|
+ <span>{{ item.bedNo }}</span>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
+ <span>{{ item.inpatientNo }}</span>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
+ <span>{{ item.name }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-button icon="Search" type="primary" @click="queryInfo">查询</el-button>
|
|
|
+ <el-button icon="Search" type="primary" @click="queryTotalInfo">汇总查询</el-button>
|
|
|
+ <el-button icon="Printer" type="primary" @click="printInfo">打印</el-button>
|
|
|
+ </template>
|
|
|
+ <template #main>
|
|
|
+ <el-container>
|
|
|
+ <el-aside width="420px">
|
|
|
+ <el-table :data="ypPageNoData" @row-dblclick="fetchFyDetail" highlight-current-row style="width: 100%">
|
|
|
+ <el-table-column prop="pageClass" label="类型" width="100" >
|
|
|
+ <template v-slot="scope">
|
|
|
+ {{getPageClassName(scope.row.pageClass)}}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="pageNo" label="药品单号" width="100" />
|
|
|
+ <el-table-column prop="confirmTime" label="确认时间" width="120" />
|
|
|
+ <el-table-column prop="groupName" label="药房" width="100" />
|
|
|
+ </el-table>
|
|
|
+ </el-aside>
|
|
|
+
|
|
|
+ <el-main>
|
|
|
+ <el-tabs
|
|
|
+ v-model="activeName"
|
|
|
+ type="card"
|
|
|
+ class="demo-tabs"
|
|
|
+ >
|
|
|
+ <el-tab-pane :label=tabTileOne name="first">
|
|
|
+ <el-scrollbar class="scrollbar" :max-height="(getWindowSize.h/1.2-100)+'px'" noresize="true">
|
|
|
+ <div id="cqfyhz" v-if="clFlag" class="w753">
|
|
|
+ <table class="pageTable">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <td colspan="9" style="width: 100%;border: none;text-align: center;font-size: 25px;font-weight:bold">
|
|
|
+ 长期发药单汇总
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="9" style="width: 753px;border: none;">
|
|
|
+ <div style="float: left;width: 50%;">
|
|
|
+ 统计基准:{{headerParam.startDate + ' 00:00' }} 至 {{headerParam.endDate + ' 23:59:59'}}
|
|
|
+ </div>
|
|
|
+ <div style="float:right;width:48%">
|
|
|
+ 打印日期:{{getFormatDatetime(new Date(), 'YYYY-MM-DD HH:mm:ss')}}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th style="width: 15%;height: 27px">药品名称</th>
|
|
|
+ <th style="width: 12%">规格</th>
|
|
|
+ <th style="width: 6%">领数</th>
|
|
|
+ <th style="width: 6%">姓名</th>
|
|
|
+ <th style="width: 6%">床位</th>
|
|
|
+ <th style="width: 6%">类型</th>
|
|
|
+ <th style="width: 15%">发药时间</th>
|
|
|
+ <th style="width: 15%">厂商</th>
|
|
|
+ <th style="width: 15%">执行时间</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <tr v-for="(item,index) in cqDetail">
|
|
|
+ <td >{{item.drugName}}</td>
|
|
|
+ <td >{{item.spec}}</td>
|
|
|
+ <td >{{item.amount}}</td>
|
|
|
+ <td >{{item.name}}</td>
|
|
|
+ <td >{{item.bedNo}}</td>
|
|
|
+ <td >{{item.alwaysFlag}}</td>
|
|
|
+ <td >{{item.confirmTime}}</td>
|
|
|
+ <td >{{item.cs}}</td>
|
|
|
+ <td >{{item.orderDate}}</td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+ <div id="fydhz" v-if="defaultOneFlag" class="w753">
|
|
|
+ <table class="pageTable">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <td colspan="9" style="width: 100%;border: none;text-align: center;font-size: 25px;font-weight:bold">
|
|
|
+ 发药单汇总
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7" style="width: 753px;border: none;">
|
|
|
+ <div style="float: left;width: 50%;">
|
|
|
+ 单号:{{headerParam.pageNo}}
|
|
|
+ </div>
|
|
|
+ <div style="float:right;width:48%">
|
|
|
+ 领药科室:{{getWardName(headerParam.wardCode)}}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th style="width: 23%;height: 27px">药品名称</th>
|
|
|
+ <th style="width: 22%">规格</th>
|
|
|
+ <th style="width: 10%">单价</th>
|
|
|
+ <th style="width: 10%">请领数量</th>
|
|
|
+ <th style="width: 10%">拒发数量</th>
|
|
|
+ <th style="width: 10%">实发数量</th>
|
|
|
+ <th style="width: 15%">实发金额</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <tr v-for="(item,index) in drugTotalVos">
|
|
|
+ <td >{{item.drugName}}</td>
|
|
|
+ <td >{{item.spec}}</td>
|
|
|
+ <td >{{item.retprice}}</td>
|
|
|
+ <td >{{item.amount}}</td>
|
|
|
+ <td >{{item.amountJf}}</td>
|
|
|
+ <td >{{item.amount}}</td>
|
|
|
+ <td >{{item.fee}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7" style="border: none;text-align: right">总行数:{{drugTotalVos.length}} 总计金额:{{drugTotalFee}}</td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+ <div id="cyzycf" v-if="cyFlag" class="w753">
|
|
|
+ <table class="pageTable">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <td colspan="6" style="width: 100%;border: none;text-align: center;font-size: 25px;font-weight:bold">
|
|
|
+ 中草药住院处方
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="6" style="width: 753px;border: none;">
|
|
|
+ <div style="float: left;width: 33%">
|
|
|
+ 病房:{{cyDetailVo.wardName}}
|
|
|
+ </div>
|
|
|
+ <div style="float: left;width: 33%">
|
|
|
+ 床号:{{cyDetailVo.bedNo}}
|
|
|
+ </div>
|
|
|
+ <div style="float: left;width: 33%">
|
|
|
+ 单号:{{cyDetailVo.pageNo}}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="6" style="width: 100%;border: none">
|
|
|
+ <div style="float: left;width: 33%">
|
|
|
+ 住院号:{{cyDetailVo.inpatientNo}}
|
|
|
+ </div>
|
|
|
+ <div style="float: left;width: 33%">
|
|
|
+ 姓名:{{cyDetailVo.name}}
|
|
|
+ </div>
|
|
|
+ <div style="float:left;width:33%">
|
|
|
+ 打印日期:{{getFormatDatetime(new Date(), 'YYYY-MM-DD')}}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th style="width: 20%;height: 27px">药名</th>
|
|
|
+ <th style="width: 10%">剂量</th>
|
|
|
+ <th style="width: 20%">备注</th>
|
|
|
+ <th style="width: 20%">药名</th>
|
|
|
+ <th style="width: 10%">剂量</th>
|
|
|
+ <th style="width: 20%">备注</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <tr v-for="(item,index) in cyDetailVo.tableData">
|
|
|
+ <td>{{item.lchargeName}}</td>
|
|
|
+ <td>{{item.lquantityStr}}</td>
|
|
|
+ <td>{{item.linstruction}}</td>
|
|
|
+ <td>{{item.rchargeName}}</td>
|
|
|
+ <td>{{item.rquantityStr}}</td>
|
|
|
+ <td>{{item.rinstruction}}</td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ <tfoot>
|
|
|
+ <tr>
|
|
|
+ <td colspan="6" style="border: none;text-align: left">
|
|
|
+ 共 <span style="font-weight: bold">{{cyDetailVo.orderJs}}</span> 剂,{{cyDetailVo.orderJe}}元/剂,院内代煎 {{cyDetailVo.orderJsDj}} 剂 药费总金额:{{cyDetailVo.orderJs*cyDetailVo.orderJe}} 代煎费:{{cyDetailVo.orderJeDj}}
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="6" style="border: none;text-align: left">
|
|
|
+ 每天<span style="border-bottom:1px solid black"> {{cyDetailVo.cyMtjs}} </span>剂,<span style="border-bottom:1px solid black"> {{cyDetailVo.cyJssm}} </span> <span style="border-bottom:1px solid black">{{cyDetailVo.cyJsl}}</span>
|
|
|
+ ml, 煮取<span style="border-bottom:1px solid black"> {{cyDetailVo.cyZql}} </span>ml,复煎<span style="border-bottom:1px solid black"> {{cyDetailVo.cyFj}} </span>次:分<span style="border-bottom:1px solid black"> {{cyDetailVo.cyFfcs}} </span>次,<span style="border-bottom:1px solid black">{{cyDetailVo.fyName}} </span>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="6" style="border: none;text-align: left">
|
|
|
+ 主诊医生:<span >______</span>
|
|
|
+ 病房盖章:<span >______</span>
|
|
|
+ 配药人:<span >______</span>
|
|
|
+ 核对人:<span >______</span>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </tfoot>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </el-scrollbar>
|
|
|
+ </el-tab-pane>
|
|
|
+
|
|
|
+ <el-tab-pane :label=tabTileTwo name="second">
|
|
|
+ <el-scrollbar class="scrollbar" :max-height="(getWindowSize.h/1.2-100)+'px'" noresize="true">
|
|
|
+ <div id="lsfydhz" v-if="clFlag" class="w753">
|
|
|
+ <table class="pageTable">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <td colspan="8" style="width: 100%;border: none;text-align: center;font-size: 25px;font-weight:bold">
|
|
|
+ 临时发药单汇总
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="8" style="width: 753px;border: none;">
|
|
|
+ <div style="float: left;width: 50%;">
|
|
|
+ 统计基准:{{headerParam.startDate + ' 00:00' }} 至 {{headerParam.endDate + ' 23:59:59'}}
|
|
|
+ </div>
|
|
|
+ <div style="float:right;width:48%">
|
|
|
+ 打印日期:{{getFormatDatetime(new Date(), 'YYYY-MM-DD HH:mm:ss')}}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th style="width: 20%;height: 27px">药品名称</th>
|
|
|
+ <th style="width: 12%">规格</th>
|
|
|
+ <th style="width: 8%">领数</th>
|
|
|
+ <th style="width: 8%">姓名</th>
|
|
|
+ <th style="width: 6%">床位</th>
|
|
|
+ <th style="width: 10%">类型</th>
|
|
|
+ <th style="width: 15%">发药时间</th>
|
|
|
+ <th style="width: 21%">厂商</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <tr v-for="(item,index) in lsDetail">
|
|
|
+ <td >{{item.drugName}}</td>
|
|
|
+ <td >{{item.spec}}</td>
|
|
|
+ <td >{{item.amount}}</td>
|
|
|
+ <td >{{item.name}}</td>
|
|
|
+ <td >{{item.bedNo}}</td>
|
|
|
+ <td >{{item.alwaysFlag}}</td>
|
|
|
+ <td >{{item.confirmTime}}</td>
|
|
|
+ <td >{{item.cs}}</td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+ <div id="fydmx" v-if="defaultTwoFlag" class="w753">
|
|
|
+ <table class="pageTable">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <td colspan="12" style="width: 100%;border: none;text-align: center;font-size: 25px;font-weight:bold">
|
|
|
+ 发药单明细
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="12" style="width: 753px;border: none;">
|
|
|
+ <div style="float: left;width: 50%;">
|
|
|
+ 单号:{{headerParam.pageNo}}
|
|
|
+ </div>
|
|
|
+ <div style="float:right;width:48%">
|
|
|
+ 领药科室:{{getWardName(headerParam.wardCode)}}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th style="width: 5%;height: 27px">拒发</th>
|
|
|
+ <th style="width: 10%">住院号</th>
|
|
|
+ <th style="width: 5%">床号</th>
|
|
|
+ <th style="width: 10%">姓名</th>
|
|
|
+ <th style="width: 10%">药品名称</th>
|
|
|
+ <th style="width: 10%">规格</th>
|
|
|
+ <th style="width: 5%">发药数量</th>
|
|
|
+ <th style="width: 5%">单价</th>
|
|
|
+ <th style="width: 10%">金额</th>
|
|
|
+ <th style="width: 10%">确认人</th>
|
|
|
+ <th style="width: 10%">确认时间</th>
|
|
|
+ <th style="width: 10%">医嘱时间</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <tr v-for="(item,index) in drugDetailVos">
|
|
|
+ <td style="padding: 3px">
|
|
|
+ <div style="width: 70%;height: 70%;border: 1px red solid;">
|
|
|
+ {{getConfirmFlag(item.confirmFlag)}}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td >{{item.inpatientNo}}</td>
|
|
|
+ <td >{{item.bedNo}}</td>
|
|
|
+ <td >{{item.name}}</td>
|
|
|
+ <td >{{item.drugName}}</td>
|
|
|
+ <td >{{item.spec}}</td>
|
|
|
+ <td >{{item.amount}}</td>
|
|
|
+ <td >{{item.retprice}}</td>
|
|
|
+ <td >{{item.fee}}</td>
|
|
|
+ <td >{{item.confirmName}}</td>
|
|
|
+ <td >{{item.confirmTime}}</td>
|
|
|
+ <td >{{item.occTime}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="12" style="border: none;text-align: right">总计金额:{{drugDetailTotalFee}} </td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+ <div id="tydmx" v-if="tyFlag" class="w753">
|
|
|
+ <table class="pageTable">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <td colspan="12" style="width: 100%;border: none;text-align: center;font-size: 25px;font-weight:bold">
|
|
|
+ 退药单明细
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="12" style="width: 753px;border: none;">
|
|
|
+ <div style="float: left;width: 40%;">
|
|
|
+ 日期范围:{{headerParam.startDate + ' 00:00' }} 至 {{headerParam.endDate + ' 23:59:59'}}
|
|
|
+ </div>
|
|
|
+ <div style="float:right;width:30%">
|
|
|
+ 领药科室:{{getWardName(headerParam.wardCode)}}
|
|
|
+ </div>
|
|
|
+ <div style="float:right;width:30%">
|
|
|
+ 打印日期:{{getFormatDatetime(new Date(), 'YYYY-MM-DD')}}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th style="width: 5%;height: 27px">拒发</th>
|
|
|
+ <th style="width: 10%">住院号</th>
|
|
|
+ <th style="width: 5%">床号</th>
|
|
|
+ <th style="width: 10%">姓名</th>
|
|
|
+ <th style="width: 10%">药品名称</th>
|
|
|
+ <th style="width: 10%">规格</th>
|
|
|
+ <th style="width: 5%">退药数量</th>
|
|
|
+ <th style="width: 5%">单价</th>
|
|
|
+ <th style="width: 10%">金额</th>
|
|
|
+ <th style="width: 10%">确认人</th>
|
|
|
+ <th style="width: 10%">确认时间</th>
|
|
|
+ <th style="width: 10%">医嘱时间</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <tr v-for="(item,index) in tyDetail">
|
|
|
+ <td style="padding: 3px">
|
|
|
+ <div style="width: 70%;height: 70%;border: 1px red solid;">
|
|
|
+ {{getConfirmFlag(item.confirmFlag)}}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td >{{item.inpatientNo}}</td>
|
|
|
+ <td >{{item.bedNo}}</td>
|
|
|
+ <td >{{item.name}}</td>
|
|
|
+ <td >{{item.drugName}}</td>
|
|
|
+ <td >{{item.spec}}</td>
|
|
|
+ <td >{{item.amount}}</td>
|
|
|
+ <td >{{item.retprice}}</td>
|
|
|
+ <td >{{item.fee}}</td>
|
|
|
+ <td >{{item.confirmName}}</td>
|
|
|
+ <td >{{item.confirmTime}}</td>
|
|
|
+ <td >{{item.occTime}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="12" style="border: none;text-align: right">总计金额:{{drugDetailTotalFee}} </td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <div id="jyypmx" v-if="jyFlag" class="w753">
|
|
|
+ <table class="pageTable">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <td colspan="8" style="width: 100%;border: none;text-align: center;font-size: 25px;font-weight:bold">
|
|
|
+ 节余药品明细
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="8" style="width: 753px;border: none;">
|
|
|
+ <div style="float: left;width: 50%;">
|
|
|
+ 日期范围:{{headerParam.startDate + ' 00:00' }} 至 {{headerParam.endDate + ' 23:59:59'}}
|
|
|
+ </div>
|
|
|
+ <div style="float:right;width:48%">
|
|
|
+ 科室:{{getWardName(headerParam.wardCode)}}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th style="width: 20%;height: 27px">药品名称</th>
|
|
|
+ <th style="width: 12%">规格</th>
|
|
|
+ <th style="width: 8%">节余数量</th>
|
|
|
+ <th style="width: 8%">单价</th>
|
|
|
+ <th style="width: 6%">金额</th>
|
|
|
+ <th style="width: 10%">单号</th>
|
|
|
+ <th style="width: 15%">确认人</th>
|
|
|
+ <th style="width: 21%">确认时间</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <tr v-for="(item,index) in jyDetail">
|
|
|
+ <td >{{item.drugName}}</td>
|
|
|
+ <td >{{item.spec}}</td>
|
|
|
+ <td >{{item.amount}}</td>
|
|
|
+ <td >{{item.retprice}}</td>
|
|
|
+ <td >{{item.fee}}</td>
|
|
|
+ <td >{{item.pageNo}}</td>
|
|
|
+ <td >{{item.confirmName}}</td>
|
|
|
+ <td >{{item.confirmTime}}</td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </el-scrollbar>
|
|
|
+ </el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
+ </el-main>
|
|
|
+ </el-container>
|
|
|
+ </template>
|
|
|
+ </page-layer>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup name='FyInfo'>
|
|
|
+import { computed, onMounted, ref } from 'vue'
|
|
|
+import { useStore } from 'vuex'
|
|
|
+import { getFormatDatetime } from "@/utils/date"
|
|
|
+import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
+import {getAllWards} from "@/api/zhu-yuan-yi-sheng/resident-doctor";
|
|
|
+import {queryYpZdGroupName,queryYzYpPageNo} from "@/api/medical-advice/medical-common";
|
|
|
+import {queryPatientInfo} from "@/api/medical-advice/medical-advice-management";
|
|
|
+import {stringNotBlank,stringIsBlank} from "@/utils/blank-utils"
|
|
|
+import {queryYpPageNoList,queryDispenseDrugTotalVo,queryDispenseDrugDetail,queryDispenseCyDetail} from "@/api/medical-advice/drug-manage";
|
|
|
+import PageLayer from "@/layout/PageLayer";
|
|
|
+import {getLodop, initLodop} from '@/utils/c-lodop'
|
|
|
+import {getWindowSize} from "@/utils/window-size";
|
|
|
+import {clone} from '@/utils/clone'
|
|
|
+// 汇总 明细
|
|
|
+const tabTileOne=ref("汇总")
|
|
|
+const tabTileTwo=ref("明细")
|
|
|
+const activeName = ref('first')
|
|
|
+
|
|
|
+const headerParam = ref({
|
|
|
+ wardCode:'',
|
|
|
+ startDate:getFormatDatetime(new Date(),'YYYY-MM-DD'),
|
|
|
+ endDate:getFormatDatetime(new Date(),'YYYY-MM-DD'),
|
|
|
+ pageNo:null,
|
|
|
+ pageClass:'',
|
|
|
+ startBedNo:'',
|
|
|
+ endBedNo:'',
|
|
|
+ groupNo:'73',
|
|
|
+})
|
|
|
+
|
|
|
+
|
|
|
+const patintList = ref([])
|
|
|
+const reverPatintList = computed(() => reverseArray(patintList.value))
|
|
|
+
|
|
|
+const initPatintBedNo=()=>{
|
|
|
+ queryPatientInfo('',headerParam.value.wardCode,'').then((res)=>{
|
|
|
+ patintList.value = res
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+const getWardName = (code)=>{
|
|
|
+ for (let i = 0; i < allWards.value.length; i++) {
|
|
|
+ if(code === allWards.value[i].code ){
|
|
|
+ return allWards.value[i].name
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+function reverseArray(arr) {
|
|
|
+ let newArr = [];
|
|
|
+ arr.forEach(element => {
|
|
|
+ // unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
|
|
|
+ newArr.unshift(element);
|
|
|
+ });
|
|
|
+ return newArr;
|
|
|
+}
|
|
|
+
|
|
|
+function getPageClassName(code) {
|
|
|
+ for (let i = 0; i <pageClassData.value.length ; i++) {
|
|
|
+ if(code==pageClassData.value[i].pageClass){
|
|
|
+ return pageClassData.value[i].pageClassName
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+function getConfirmFlag(flag) {
|
|
|
+ if(flag == '2'){
|
|
|
+ return '√'
|
|
|
+ }else {
|
|
|
+ return ''
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const pageClassData = ref([
|
|
|
+ {
|
|
|
+ pageClass:'1',
|
|
|
+ pageClassName:'出院带药'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pageClass:'2',
|
|
|
+ pageClassName:'毒麻药'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pageClass:'3',
|
|
|
+ pageClassName:'基数药'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pageClass:'4',
|
|
|
+ pageClassName:'大输液'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pageClass:'5',
|
|
|
+ pageClassName:'长期口服'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pageClass:'6',
|
|
|
+ pageClassName:'临时口服'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pageClass:'7',
|
|
|
+ pageClassName:'统领单'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pageClass:'8',
|
|
|
+ pageClassName:'门诊领药单'
|
|
|
+ }
|
|
|
+ ,{
|
|
|
+ pageClass:'A',
|
|
|
+ pageClassName:'医技科室领药'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pageClass:'Y',
|
|
|
+ pageClassName:'节余药品'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pageClass:'T',
|
|
|
+ pageClassName:'退药单'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pageClass:'Z',
|
|
|
+ pageClassName:'中草药单'
|
|
|
+ }
|
|
|
+])
|
|
|
+
|
|
|
+//左边药单类别
|
|
|
+const ypPageNoData = ref([])
|
|
|
+//查询左边药品类别列表
|
|
|
+const queryYpPageNoData=()=>{
|
|
|
+ queryYpPageNoList(headerParam.value).then((res)=>{
|
|
|
+ ypPageNoData.value =res
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+//获取发药明细
|
|
|
+const fetchFyDetail=(row)=>{
|
|
|
+ let temp = clone(headerParam.value)
|
|
|
+ temp.pageNo = row.pageNo
|
|
|
+ temp.pageClass = row.pageClass
|
|
|
+ temp.groupNo = row.groupNo
|
|
|
+ tabTileOne.value='汇总'
|
|
|
+ tabTileTwo.value='明细'
|
|
|
+ queryDetail(temp)
|
|
|
+}
|
|
|
+//长期 临时 数据
|
|
|
+const cqDetail =ref([])
|
|
|
+const lsDetail =ref([])
|
|
|
+//汇总明细
|
|
|
+const drugTotalVos=ref([])
|
|
|
+//总计金额
|
|
|
+const drugTotalFee = ref(null)
|
|
|
+const drugDetailTotalFee = ref(null)
|
|
|
+
|
|
|
+//结余明细
|
|
|
+const jyDetail=ref([])
|
|
|
+//明细
|
|
|
+const drugDetailVos=ref([])
|
|
|
+//退药明细
|
|
|
+const tyDetail=ref([])
|
|
|
+//草药明细
|
|
|
+const cyDetailVo=ref({})
|
|
|
+//长期 临时 标识
|
|
|
+const clFlag = ref(false)
|
|
|
+//草药 标识
|
|
|
+const cyFlag = ref(false)
|
|
|
+//退药标识
|
|
|
+const tyFlag = ref(false)
|
|
|
+//默认标识
|
|
|
+const defaultOneFlag = ref(true)
|
|
|
+const defaultTwoFlag = ref(true)
|
|
|
+//节余标识
|
|
|
+const jyFlag = ref(false)
|
|
|
+
|
|
|
+function setFlag(clFlagt,cyFlagt,tyFlagt,defaultOneFlagt,defaultTwoFlagt,jyFlagt) {
|
|
|
+ clFlag.value =clFlagt
|
|
|
+ cyFlag.value =cyFlagt
|
|
|
+ tyFlag.value =tyFlagt
|
|
|
+ defaultOneFlag.value =defaultOneFlagt
|
|
|
+ defaultTwoFlag.value =defaultTwoFlagt
|
|
|
+ jyFlag.value =jyFlagt
|
|
|
+}
|
|
|
+//查询
|
|
|
+const queryInfo=()=>{
|
|
|
+ tabTileOne.value='汇总'
|
|
|
+ tabTileTwo.value='明细'
|
|
|
+ queryYpPageNoData()
|
|
|
+ queryDetail(headerParam.value)
|
|
|
+}
|
|
|
+
|
|
|
+const queryDetail=(queryParam)=>{
|
|
|
+ if(queryParam.pageClass=='Y'){
|
|
|
+ setFlag(false,false,false,true,false,true)
|
|
|
+ queryFyDetail(queryParam)
|
|
|
+ }else if(queryParam.pageClass=='T'){
|
|
|
+ setFlag(false,false,true,true,false,false)
|
|
|
+ queryFyDetail(queryParam)
|
|
|
+ }else {
|
|
|
+ if(stringIsBlank(queryParam.pageNo)){
|
|
|
+ setFlag(true,false,false,false,false,false)
|
|
|
+ tabTileOne.value='长期摆药单'
|
|
|
+ tabTileTwo.value='临时摆药单'
|
|
|
+ queryDispenseDrugTotalVo(queryParam).then((res)=>{
|
|
|
+ cqDetail.value = res.cqDetail
|
|
|
+ lsDetail.value = res.lsDetail
|
|
|
+ })
|
|
|
+ }else {
|
|
|
+ if(queryParam.pageClass=='Z'){
|
|
|
+ setFlag(false,true,false,false,false,false)
|
|
|
+ queryDispenseCyDetail(queryParam).then((res)=>{
|
|
|
+ cyDetailVo.value = res.cyDetailVo
|
|
|
+ })
|
|
|
+ }else {
|
|
|
+ setFlag(false,false,false,true,true,false)
|
|
|
+ queryFyDetail(queryParam)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+//查询发药明细
|
|
|
+const queryFyDetail=(param)=>{
|
|
|
+ queryDispenseDrugDetail(param ? param:headerParam.value).then((res)=>{
|
|
|
+ drugTotalVos.value = res.drugTotalVos ? res.drugTotalVos:[]
|
|
|
+ jyDetail.value = res.jyDetail ? res.jyDetail :[]
|
|
|
+ drugDetailVos.value = res.drugDetailVos ? res.drugDetailVos:[]
|
|
|
+ tyDetail.value = res.tyDetail ? res.tyDetail : []
|
|
|
+ drugTotalFee.value = res.drugTotalFee ? res.drugTotalFee : null
|
|
|
+ drugDetailTotalFee.value = res.drugDetailTotalFee ? res.drugDetailTotalFee:null
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+//汇总查询
|
|
|
+const queryTotalInfo=()=>{
|
|
|
+ setFlag(false,false,false,true,true,false)
|
|
|
+ headerParam.value.pageNo = null
|
|
|
+ ypPageNoData.value = []
|
|
|
+ tabTileOne.value='汇总'
|
|
|
+ tabTileTwo.value='明细'
|
|
|
+ queryFyDetail()
|
|
|
+}
|
|
|
+
|
|
|
+const allWards = ref([])
|
|
|
+
|
|
|
+onMounted(()=>{
|
|
|
+ initLodop()
|
|
|
+ getAllWards().then((res) => {
|
|
|
+ if (res.length > 0) {
|
|
|
+ allWards.value = res
|
|
|
+ headerParam.value.wardCode= res[0].code
|
|
|
+ initPatintBedNo()
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+})
|
|
|
+
|
|
|
+const printCss=`
|
|
|
+ .pageTable tr td, .pageTable tr th {
|
|
|
+ border: 1px solid black;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 12px;
|
|
|
+ padding: 0 0;
|
|
|
+
|
|
|
+ }
|
|
|
+ .pageTable tr td{
|
|
|
+ height: 27px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .pageTable {
|
|
|
+ border-collapse: collapse;
|
|
|
+ }
|
|
|
+
|
|
|
+ .w753{
|
|
|
+ width: 753px;
|
|
|
+ padding: 0 0px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .w1110{
|
|
|
+ width: 1110px;
|
|
|
+ padding: 0 0px;
|
|
|
+ }
|
|
|
+
|
|
|
+`
|
|
|
+const printInfo = () => {
|
|
|
+ let LODOP = getLodop()
|
|
|
+ let printId = getPrintId()
|
|
|
+ LODOP.PRINT_INIT('已发药') // 初始化打印机 名字
|
|
|
+ LODOP.SET_PRINT_PAGESIZE(1, '210mm', '297mm', '') // 设置纸张大小 A4
|
|
|
+ LODOP.SET_PRINT_MODE('FULL_WIDTH_FOR_OVERFLOW', true) // 整宽不变形
|
|
|
+ LODOP.ADD_PRINT_TABLE('2mm', '5mm', '205mm', '220mm', '<style>' + printCss + '</style>' + '<body>' + document.getElementById(printId).innerHTML + '</body>') //要打印的内
|
|
|
+ LODOP.PREVIEW() // 关闭
|
|
|
+}
|
|
|
+
|
|
|
+const getPrintId=()=>{
|
|
|
+ if(activeName.value == 'first'){
|
|
|
+ if(clFlag.value){
|
|
|
+ return 'cqfyhz'
|
|
|
+ }else if(defaultOneFlag.value){
|
|
|
+ return 'fydhz'
|
|
|
+ }else if(cyFlag.value){
|
|
|
+ return 'cyzycf'
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ if(clFlag.value){
|
|
|
+ return 'lsfydhz'
|
|
|
+ }
|
|
|
+ else if(defaultTwoFlag.value){
|
|
|
+ return 'fydmx'
|
|
|
+ }
|
|
|
+ else if(tyFlag.value){
|
|
|
+ return 'tydmx'
|
|
|
+ }
|
|
|
+ else if(jyFlag.value){
|
|
|
+ return 'jyypmx'
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+</script>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+ .pageTable tr td, .pageTable tr th {
|
|
|
+ border: 1px solid black;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 12px;
|
|
|
+ padding: 0 0;
|
|
|
+
|
|
|
+ }
|
|
|
+ .pageTable tr td{
|
|
|
+ height: 27px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .pageTable {
|
|
|
+ border-collapse: collapse;
|
|
|
+ }
|
|
|
+
|
|
|
+ .w753{
|
|
|
+ width: 753px;
|
|
|
+ padding: 0 0px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .w1110{
|
|
|
+ width: 1110px;
|
|
|
+ padding: 0 0px;
|
|
|
+ }
|
|
|
+
|
|
|
+</style>
|