|
@@ -0,0 +1,188 @@
|
|
|
+<script setup lang="ts">
|
|
|
+import XcElOption from "@/components/xiao-chan/xc-el-option/XcElOption.vue";
|
|
|
+import { useVuePrint } from "@/utils/cy-use/useVuePrint";
|
|
|
+import env from "@/utils/setting";
|
|
|
+import { UseDialogType } from "@/components/cy/CyDialog/index";
|
|
|
+import dayjs from "dayjs";
|
|
|
+import XEUtils from "xe-utils";
|
|
|
+import SystemStaffSelect from "@/components/system/staff-select/SystemStaffSelect.vue";
|
|
|
+
|
|
|
+const props = defineProps<{
|
|
|
+ data: any[];
|
|
|
+ frequency: any[];
|
|
|
+ patientInfo: any;
|
|
|
+}>();
|
|
|
+
|
|
|
+const now = dayjs().format("YYYY年MM月DD日");
|
|
|
+const doctor = reactive({
|
|
|
+ code: "",
|
|
|
+ name: "",
|
|
|
+});
|
|
|
+
|
|
|
+const [TemplateDefault, print] = useVuePrint({
|
|
|
+ hidden: false,
|
|
|
+ extraPageCss: `table {
|
|
|
+ border-collapse: collapse;
|
|
|
+ height: 210mm;
|
|
|
+ width: 148mm;
|
|
|
+ table-layout: fixed;
|
|
|
+}
|
|
|
+
|
|
|
+th {
|
|
|
+ line-height: 5mm;
|
|
|
+}
|
|
|
+
|
|
|
+tr > td {
|
|
|
+ border: none;
|
|
|
+ height: auto;
|
|
|
+ vertical-align: top;
|
|
|
+}
|
|
|
+
|
|
|
+th {
|
|
|
+ text-align: center;
|
|
|
+}
|
|
|
+
|
|
|
+.doctor_info {
|
|
|
+ text-align: right;
|
|
|
+ width: 5mm;
|
|
|
+}`,
|
|
|
+});
|
|
|
+const colspan = 6;
|
|
|
+
|
|
|
+defineExpose<UseDialogType.Expose>({
|
|
|
+ confirm() {
|
|
|
+ return print();
|
|
|
+ },
|
|
|
+});
|
|
|
+</script>
|
|
|
+
|
|
|
+<template>
|
|
|
+ <div class="layout_container">
|
|
|
+ <TemplateDefault>
|
|
|
+ <table>
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th scope="col" :colspan="colspan">
|
|
|
+ <span style="font-size: 12pt">{{ env.VITE_HOSPITAL_NAME }}</span>
|
|
|
+ </th>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th scope="col" :colspan="colspan">处方筏</th>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th style="border-bottom: 1px solid #000" colspan="2">
|
|
|
+ 科室:{{ patientInfo.wardName }}
|
|
|
+ </th>
|
|
|
+ <th style="border-bottom: 1px solid #000" colspan="2">
|
|
|
+ 住院号:{{ patientInfo.inpatientNo }}
|
|
|
+ </th>
|
|
|
+ <th style="border-bottom: 1px solid #000" colspan="2">
|
|
|
+ {{ now }}
|
|
|
+ </th>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th style="border-bottom: 1px solid #000" colspan="2">
|
|
|
+ 姓名:{{ patientInfo.name }}
|
|
|
+ </th>
|
|
|
+ <th style="border-bottom: 1px solid #000" colspan="2">
|
|
|
+ 年龄:{{ patientInfo.age }}
|
|
|
+ </th>
|
|
|
+ <th style="border-bottom: 1px solid #000" colspan="2">
|
|
|
+ 性别:{{ patientInfo.sexName }}
|
|
|
+ </th>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th
|
|
|
+ style="
|
|
|
+ text-align: left;
|
|
|
+ border-bottom: 1px solid #000;
|
|
|
+ padding-left: 12pt;
|
|
|
+ "
|
|
|
+ :colspan="colspan"
|
|
|
+ >
|
|
|
+ 临床诊断:{{ patientInfo.emrDiagStr }}
|
|
|
+ </th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <tr>
|
|
|
+ <td colspan="6">
|
|
|
+ <div style="height: 12pt"></div>
|
|
|
+ <div
|
|
|
+ style="display: flex; font-size: 13pt; padding-left: 15pt"
|
|
|
+ v-for="item in props.data"
|
|
|
+ >
|
|
|
+ <div>
|
|
|
+ {{ item.chargeName }}
|
|
|
+ </div>
|
|
|
+ <div style="width: 2mm"></div>
|
|
|
+ <div>
|
|
|
+ {{ item.frequencyName }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ <tfoot style="border-top: 1px solid #000">
|
|
|
+ <tr>
|
|
|
+ <td class="doctor_info">医师:</td>
|
|
|
+ <td style="border-bottom: 1px solid #000">
|
|
|
+ <img
|
|
|
+ :src="`/doctorSignatureImage/${doctor.code}.png`"
|
|
|
+ style="height: 16pt; width: 47pt"
|
|
|
+ :alt="doctor.name"
|
|
|
+ />
|
|
|
+ </td>
|
|
|
+ <td class="doctor_info">审核:</td>
|
|
|
+ <td style="border-bottom: 1px solid #000"></td>
|
|
|
+
|
|
|
+ <td class="doctor_info">金额:</td>
|
|
|
+ <td style="border-bottom: 1px solid #000"></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="doctor_info">调配:</td>
|
|
|
+ <td style="border-bottom: 1px solid #000"></td>
|
|
|
+
|
|
|
+ <td class="doctor_info">核对:</td>
|
|
|
+ <td style="border-bottom: 1px solid #000"></td>
|
|
|
+
|
|
|
+ <td class="doctor_info">发药:</td>
|
|
|
+ <td style="border-bottom: 1px solid #000"></td>
|
|
|
+ </tr>
|
|
|
+ </tfoot>
|
|
|
+ </table>
|
|
|
+ </TemplateDefault>
|
|
|
+ <header>
|
|
|
+ 医师:
|
|
|
+ <SystemStaffSelect v-model="doctor" value="code" label="name" />
|
|
|
+ </header>
|
|
|
+ <div class="layout_main">
|
|
|
+ <el-table :data="props.data" height="100%">
|
|
|
+ <el-table-column prop="chargeDate" label="录入日期" width="80px" />
|
|
|
+ <el-table-column prop="chargeCodeMx" label="项目编码" />
|
|
|
+ <el-table-column prop="chargeName" label="项目名称" />
|
|
|
+ <el-table-column prop="genTime" label="执行时间" width="80px" />
|
|
|
+ <el-table-column prop="execDept" label="执行科室" />
|
|
|
+ <el-table-column label="执行频率">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-select
|
|
|
+ v-model="row.frequency"
|
|
|
+ filterable
|
|
|
+ @change="
|
|
|
+ value => {
|
|
|
+ row.frequencyName = XEUtils.find(props.frequency, item => {
|
|
|
+ return item.code === value;
|
|
|
+ }).name;
|
|
|
+ }
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <xc-el-option :data="props.frequency" />
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<style lang="scss"></style>
|