用纯HTML写一个凭证并打印

最近有个需求,需要通过网页把单子打印出来,就用html实现了一个,主要使用了windwos自带的print打印,全部代码如下:

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>标题</title>
    <style type="text/css" media="all">
        * {
            margin: 0;
            padding: 0;
            font-size: 12px
        }

        table {
            width: 90%;
            border: 1px solid #000;
            border-collapse: collapse;
            margin: 5px auto
        }

        th,
        td {
            border: 1px solid #000;
            border-collapse: collapse;
            padding: 8px 5px
        }

        h1 {
            font-size: 24px
        }

        @media print {
            .no-print {
                display: none;
            }
        }

        .headStyle{
            width: 90%;
            display: flex;
            justify-content: space-between;
            border-collapse: collapse;
            margin: 5px auto;
        }
        .headTitleLift{
            display: flex;
        }
        .title {
            display: flex;
            flex-direction: column;
            align-items: end;
        }
        .title div {
            margin-bottom: 5px; /* 为了增加行间距 */
        }
        .content div {
            margin-bottom: 5px; /* 为了增加行间距 */
        }

        .foot{
            display: flex;
            flex-direction: row;
            align-items: flex-start;
            width: 90%;
            justify-content: space-between;
            border-collapse: collapse;
            margin: 5px auto;
        }
        .foot div {
            margin-right: 50px; /* 设置项目间距为10像素 */
        }

    </style>
</head>

<body>
<div class="no-print" style="text-align:center;margin:5px">
    <button onClick="window.print()"> 打 印</button>
</div>

<h1 style="text-align: center;">某某的单子要打印</h1>
<p style="text-align: center;">
    日期: <span id="currentDate"></span>
</p>




<div class="headStyle">
    <div class="headTitleLift">
        <div class="title">
            <div >水单位:</div>
            <div >对应水票编号:</div>
        </div>

        <div class="content">
            <div >XXXX</div>
            <div >203023032</div>
        </div>
    </div>

    <div class="headTitleLift">
        <div class="title">
            <div >供水渠系:</div>
            <div >灌季:</div>
        </div>

        <div class="content">
            <div >XX有限公司</div>
            <div >冬季 </div>
        </div>
    </div>

</div>



<div class="table-box">
    <table>
        <thead>
        <tr>
            <th> 斗口</th>
            <th> 申请面积(亩)</th>
            <th> 灌溉定额(方/亩)</th>
            <th> 申请水量(方)</th>
            <th> 开始时间</th>
            <th> 结束时间</th>
            <th> 计划用时(时分秒)</th>
            <th> 斗口流量(方/秒)</th>
            <th> 备注</th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td> 1</td>
            <td> 数据1</td>
            <td> 数据2</td>
            <td> 数据3</td>
            <td> 数据4</td>
            <td> 数据5</td>
            <td> 数据6</td>
            <td> 数据7</td>
            <td> 数据8</td>
        </tr>
        <tr>
            <td> 2</td>
            <td> 数据1</td>
            <td> 数据2</td>
            <td> 数据3</td>
            <td> 数据4</td>
            <td> 数据5</td>
            <td> 数据6</td>
            <td> 数据7</td>
            <td> 数据8</td>
        </tr>
        </tbody>
        <tfoot>
        <tr>
            <th>合计:</th>
            <th></th>
            <th></th>
            <th></th>
            <th></th>
            <th></th>
            <th> 300.00</th>
            <th> 300.00</th>
            <th> 300.00</th>
        </tr>
        </tfoot>
    </table>
</div>

<div class="foot">
    <div>水管所审核:单打独斗</div>
    <div>配水员:李刚</div>
    <div>支(渠)长:可</div>
    <div>用水单位(签字):单打独斗</div>

</div>


<script>
    // 获取当前日期
    var currentDate = new Date();
    var year = currentDate.getFullYear();
    var month = currentDate.getMonth() + 1;
    var day = currentDate.getDate();

    // 更新页面上的日期显示
    document.getElementById("currentDate").innerText = year + "年" + month + "月" + day + "日";
</script>

</body>

</html>

以下是代码中每行的作用解释:

1. `<!DOCTYPE html>`:声明文档类型为HTML5,告诉浏览器以HTML5标准解析页面

2. `<html>`:HTML文档的根元素,包含整个HTML内容。

3. `<head>`:包含了文档的元数据,如标题、样式表和脚本等信息。

4. `<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>`:设置文档的字符编码为UTF-8,确保正确显示中文等特殊字符。

5. `<title>配水单</title>`:设置页面的标题为"配水单"。

6. `<style type="text/css" media="all">`:开始定义内联CSS样式。

7. `* { margin: 0; padding: 0; font-size: 12px }`:设置全局样式,将所有元素的外边距、内边距和字体大小设为12像素。

8. `table { ... }`:定义表格的样式,包括宽度、边框等。

9. `th, td { ... }`:定义表头和单元格的样式,包括边框和内边距。

10. `h1 { font-size: 24px }`:设置h1标题的字体大小为24像素。

11. `@media print { ... }`:定义在打印模式下的样式,这里设置了`.no-print`类在打印时不显示。

12. `.headStyle { ... }`、`.headTitleLift { ... }`、`.title { ... }`等:定义了一些自定义样式,用于配水单头部和表格的布局。

13. `<body>`:包含了页面的主体内容。

14. `<div class="no-print" ...>`:一个不打印的div,包含了打印按钮,点击该按钮可以触发打印功能。

15. `<h1>`:页面标题,显示"甘肃省引大秦工程管理配水单"。

16. `<p>`:段落元素,显示日期信息。

17. `<div class="headStyle">`:头部样式的div容器,包含水单位、供水渠系等信息。

18. `<div class="table-box">`:表格容器,包含了配水表格。

19. `<div class="foot">`:页脚容器,包含了审核和签字信息。

20. `<script>`:JavaScript脚本部分,用于获取当前日期并更新页面上的日期显示。

21. `// 获取当前日期`:注释,解释下面代码的作用。

22. `var currentDate = new Date();`:创建一个Date对象,表示当前日期和时间。

23. `var year = currentDate.getFullYear();`、`var month = currentDate.getMonth() + 1;`、`var day = currentDate.getDate();`:分别获取当前日期的年、月、日。

24. `document.getElementById("currentDate").innerText = year + "年" + month + "月" + day + "日";`:将获取的年月日信息更新到页面上id为"currentDate"的span元素中,显示当前日期。

25. `</body>`:HTML文档的body结束标签。

26. `</html>`:HTML文档的结束标签。

具体效果

### 回答1: 我可以为您提供一个用ABAP编的创建财务凭证程序的示例:REPORT ZFIN_VOUCHER_CREATION.DATA: lv_voucher_key TYPE bapifina-voucher_key.START-OF-SELECTION. CALL FUNCTION 'BAPI_FIN_VOUCHER_CREATE' EXPORTING p_company_code = '1000'. COMMIT WORK. lv_voucher_key = bapifina-voucher_key.END-OF-SELECTION.WRITE: | 凭证编号:|, lv_voucher_key. ### 回答2: ABAP 是一种用于SAP系统开发的编程语言,可以用它编一个创建财务凭证的程序。 首先,我们需要定义一些必要的数据结构,如凭证抬头和凭证行项目。凭证抬头包含了凭证的基本信息,如凭证日期和凭证类型等,而凭证行项目包含了每个科目的相关信息。 接下来,我们可以通过使用SAP提供的函数模块如`BAPI_ACC_DOCUMENT_POST`来创建凭证。该函数模块接受一个凭证抬头和凭证行项目的表作为输入,并在SAP系统中创建凭证。 在函数模块调用前,我们还可以通过对凭证抬头和凭证行项目的赋值来设置凭证的具体信息。例如,我们可以指定凭证日期、凭证类型、公司代码等。 在调用函数模块后,系统将会根据输入的凭证信息在SAP系统中创建财务凭证。如果创建成功,函数模块将会返回一个成功标识。 最后,我们可以根据需要添加错误处理机制来处理创建凭证的错误情况。例如,如果凭证创建失败,我们可以记录错误信息,并通知相关人员进行处理。 总结起来,通过使用ABAP编程语言和SAP提供的函数模块,我们可以编一个创建财务凭证的程序。这个程序可以接受输入的凭证信息,并使用SAP系统的功能在数据库中创建财务凭证
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值