开发管理系统或票据打印功能时,打印功能是一个很常见的需求。本教程将详细介绍如何在 Vue3 项目中使用 vue-print 插件实现票据文档的打印功能。
现代Web应用中,有很多场景需要打印功能,例如财务报表、发票、订单明细等。Vue3是目前流行的前端框架之一,vue-print插件提供了简单易用的API,使得在Vue3中实现打印功能变得便捷。
如果你还没有 Vue3 项目,你可以使用 Vue CLI 快速创建一个:
vue create vue-print-demo
cd vue-print-demo
在项目根目录下运行以下命令安装 vue-print 插件:
npm install vue-print-nb@next
在 src/main.js 中配置 vue-print 插件:
import { createApp } from 'vue';
import App from './App.vue';
import Print from 'vue-print-nb';
const app = createApp(App);
app.use(Print);
app.mount('#app');
在 src/components 目录下创建 PrintInvoice.vue 组件:
<template>
<div ref="printArea">
<h1>发票</h1>
<p>发票号:{{ invoiceNumber }}</p>
<p>日期:{{ date }}</p>
<p>客户名称:{{ customer }}</p>
<table>
<tr>
<th>商品</th>
<th>数量</th>
<th>单价</th>
<th>总价</th>
</tr>
<tr v-for="item in items" :key="item.id">
<td>{{ item.name }}</td>
<td>{{ item.quantity }}</td>
<td>{{ item.price }}</td>
<td>{{ item.quantity * item.price }}</td>
</tr>
</table>
<p>总计:{{ total }}</p>
</div>
<button @click="print">打印发票</button>
</template>
<script lang="ts">
import { defineComponent, ref } from 'vue';
interface Item {
id: number;
name: string;
quantity: number;
price: number;
}
export default defineComponent({
name: 'PrintInvoice',
setup() {
const printArea = ref<HTMLElement | null>(null);
const invoiceNumber = 'INV-123456';
const date = new Date().toLocaleDateString();
const customer = '某某公司';
const items: Item[] = [
{ id: 1, name: '商品1', quantity: 2, price: 50 },
{ id: 2, name: '商品2', quantity: 1, price: 100 },
];
const total = items.reduce((sum, item) => sum + item.price * item.quantity, 0);
const print = () => {
if (printArea.value) {
const printContent = printArea.value.innerHTML;
const newWindow = window.open('', '', 'width=800,height=600');
if (newWindow) {
newWindow.document.write(printContent);
newWindow.document.close();
newWindow.print();
newWindow.close();
}
}
};
return {
printArea,
invoiceNumber,
date,
customer,
items,
total,
print,
};
},
});
</script>
<style scoped>
/* 添加一些样式使打印内容更好看 */
table {
width: 100%;
border-collapse: collapse;
}
th, td {
border: 1px solid #000;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
</style>
在 src/App.vue 中使用我们创建的打印组件:
<template>
<div id="app">
<PrintInvoice />
</div>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
import PrintInvoice from './components/PrintInvoice.vue';
export default defineComponent({
name: 'App',
components: {
PrintInvoice,
},
});
</script>
<style>
/* 可选:添加一些样式 */
</style>
一切配置完成后,我们可以运行应用并查看效果:
npm run serve
打开浏览器访问 http://localhost:8080,你应该会看到一个票据打印界面,并且可以点击打印按钮进行打印。
使用 Vue3 和 vue-print 插件可以轻松实现打印票据文档的功能。
为丢失医疗收据带来的“报销难”而苦恼?智慧省医为患者提供贴心票据小管家,让就医更温暖。南都记者从广东省人民医院获悉,从3月23起,市民在门诊就诊、通过移动医保支付或自助机完成缴费后,“叮咚~”一声后、票据小管家就会将您的医疗电子票据送到“手上”、无需再到窗口排队打印纸质票据。
据悉,医疗收费电子票据由财政部门统一监管,与纸质票据具有同等法律效力,可打印作为报销原始凭证使用。
获取电子票据方式一:扫描凭条上的二维码
医院现场缴费后,用微信“扫一扫”扫描收费处打印的凭条二维码,扫码后电子发票将自动归入就诊人的电子票夹。
方式二:“电子票夹”小程序
缴费后电子发票将自动归入就医人员的电子票夹,可以随时随地在线查看电子票据。
方式三:自助设备打印电子发票
温馨提示:
医疗电子票据可在下方链接进行防伪查询:http://dzpj.czt.gd.gov.cn/billcheck/html/index.html;
票据小管家送达电子发票需要几分钟时间,结算后耐心等待。
采写:南都记者 王道斌通讯员 郝黎 张蓝溪
•
✦
为贯彻落实上级关于推行医疗收费电子票据管理改革相关要求,提升广大患者就医体验,北京友谊医院门诊和住院服务全面上线了医疗收费电子票据功能。这一举措旨在减少患者等待和奔波的时间,真正实现“让信息多跑路,患者少跑腿”。医疗收费电子票据与纸质票据具有同等的法律效力,它将作为患者就医缴费后办理医疗费用报销的便捷凭证,为患者提供更加高效的服务体验。
下面为您分别介绍下北京友谊医院三个院区电子票据服务操作方法。
操作指南
关注“北京友谊医院服务号”
扫描上方二维码关注“北京友谊医院服务号”。您也可以通过微信搜索“北京友谊医院服务号”,对公众号进行关注。
进入首页关联就诊人信息
首次关注医院服务号,请点击【就诊服务】-【我的】-【患者管理】-【添加就诊人】-【查询就诊卡】,关联就诊人基本信息。如无就诊卡信息,请按照指引完成在线注册。
•
✦
✦
•
查询医疗收费电子票据信息
点击【就诊服务】,点击选择西城院区或通州院区,进入页面后点选【我的】-【电子票夹】,可看到就诊相关的票据列表,您可查询、下载并打印医疗收费电子票据。电子票据生成需要一定时间,如查询的时候尚未生成,请稍做等候,刷新后再下载。
•
✦
✦
•
查询医疗收费电子票据信息
点击【就诊服务】,点击选择顺义院区,进入北京友谊医院患者服务平台,选择【我的】-【电子票夹】,可看到就诊相关的票据列表,您可查询、下载并打印医疗收费电子票据。电子票据生成需要一定时间,如查询的时候尚未生成,请稍做等候,刷新后再下载。
✦
•
✦
医疗电子收费相关问题
01
医疗收费电子票据有哪些便利?
普通纸质收费票据的保存需要防潮防火,存在丢失无法补开,一旦损毁,无法复原等问题。而医疗收费电子票据具有获取便捷、长期存储、零毁损、不丢失、绿色环保等优点。
02
医疗收费电子票据如何打印?
您可以自行打印,也可以前往医院专设窗口打印。
03
如何验证医疗收费电子票据真伪?
财政部全国财政电子票据查验平台:
http://pjcy.mof.gov.cn/#/home
北京市财政电子票据查验平台:
https://fwxt.czj.beijing.gov.cn:440/billcheck/html/index.html#/home
互联网诊疗小程序
扫描二维码进入小程序,足不出户,线上享受视频、图文诊疗服务。
欢迎关注 北京友谊医院新媒体矩阵
微信订阅号
提供友谊医院医疗服务相关资讯。
微信服务号
提供预约挂号、报告查询、在线咨询等移动服务。
喜欢我们的内容
*请认真填写需求信息,我们会在24小时内与您取得联系。