C#打印单据
HTML:
<form id="form1">
<div id="t_border">
<!--startprint-->
<div id="first">
<span id="title">****汽车服务连锁施工单</span>
</div>
<table id="TableTitle" style="width:1200px;margin-bottom:10px;">
<tr>
<td id="memberCard"></td>
<td id="deName"></td>
<td id="orderDate"></td>
</tr>
<tr>
<td id="memberType"></td>
<td id="consumeType"></td>
<td id="handleMan"></td>
</tr>
</table>
<table id="pTable">
</table>
<table id="TableFoot" style="width:1200px;margin-top:10px;">
<tr>
<td id="orderMemo"></td>
</tr>
<tr>
<td id="workHours"></td>
<td id="technician"></td>
<td id="payWay"></td>
</tr>
<tr>
<td id="receiveM"></td>
<td id="cutMoney"></td>
<td id="totalM"></td>
</tr>
</table>
<table id="custSign">
<tr>
<td>技师签字:________________________</td>
<td style="width:420px;"></td>
<td>客户签字:________________________</td>
</tr>
</table>
<div id="address">
<span>地址:****汽车服务连锁</span><span> 加盟电话:400-990-8816 / 0371-555111333</span>
<!-- <span id="printTime"></span> -->
</div>
<!--endprint-->
<div></div>
</div>
<div id="dayin">
<input id="print" type="button" name="print" value="打印" onclick="preview()" />
</div>
</form>
JS:
$(function () {
//动态生成打印订单
var tr = " <tr id=\"title1\"><td style=\"width: 70px;\">编码</td><td style=\"width: 180px;\">商品名称
</td><td style=\"width: 60px;\">规格</td><td style=\"width: 80px;\">型号</td><td style=\"width: 60px;\">单
位</td><td style=\"width: 60px;\">数量</td> <td style=\"width: 70px;\">单价</td><td style=\"width: 70px;\">
金额</td><td style=\"width: 80px;\">备注</td></tr>";
$.parser.parse($("#pTable").html(tr.toString()));
//消费清单列表
$.post('../Ajax/MemberConsumAjax.ashx?cmd=getMemberCon', { 'mclId': top.jQuery("#printId").val() },
function (result) {
var result = eval('(' + result + ')');
$.each(result.list, function (i, purList) {
if (purList.memberType == "非会员") {
$("#memberCard").text("车主:" + purList.cust_Name);
} else {
$("#memberCard").text("会员卡号:" + purList.memberId);
}
$("#deName").text("消费门店:" + purList.deName1);
$("#orderDate").text("单据日期:" + purList.or_Date);
$("#handleMan").text("经手人:" + purList.handleMan);
$("#memberType").text("会员类型:" + purList.memberType);
$("#consumeType").text("消费类型:" + purList.consumeType);
var memo = "";
if (purList.or_Memo == null) {
$("#orderMemo").text("备注:" + memo);
} else {
$("#orderMemo").text("备注:" + purList.or_Memo);
}
$("#totalM").text("总金额:"+purList.or_TotalM1);
$("#receiveM").text("应收金额:"+purList.recieveM);
$("#cutMoney").text("优惠金额:"+purList.cutMoney);
if (purList.workHours != null) {
$("#workHours").text("工时:" + purList.workHours);
} else {
$("#workHours").text("工时:");
}
if (purList.technician != null) {
$("#technician").text("技师:" + purList.technician);
} else {
$("#technician").text("技师:");
}
$("#payWay").html("");
if (purList.memberType == "非会员") {
var payWay = "";
if (1 == purList.pw_Id1) {
payWay += "<input name=\"payWay\" type=\"checkbox\" disabled=\"disabled\" checked=
\"checked\" />现金";
}
if (2 == purList.pw_Id2) {
payWay += "<input name=\"payWay\" type=\"checkbox\" disabled=\"disabled\" checked=
\"checked\" />银行卡";
}
if (3 == purList.pw_Id3) {
payWay += "<input name=\"payWay\" type=\"checkbox\" disabled=\"disabled\" checked=
\"checked\" />微信";
}
if (4 == purList.pw_Id4) {
payWay += "<input name=\"payWay\" type=\"checkbox\" disabled=\"disabled\" checked=
\"checked\" />支付宝";
}
if (5 == purList.pw_Id5) {
payWay += "<input name=\"payWay\" type=\"checkbox\" disabled=\"disabled\" checked=
\"checked\" />美团";
}
$.parser.parse($("#payWay").html("支付方式:" + payWay.toString()));
}
//明细
$.post('../Ajax/MemberConsumAjax.ashx?cmd=memberConsum', { 'mclId': top.jQuery("#printId").val
(), 'de_Id': purList.de_Id1 }, function (result) {
var result = eval('(' + result + ')');
$.each(result.rows, function (i, retail) {
var g_Size = "";
var g_Version = "";
var g_Unit = "";
if (retail.g_Size != null) {
g_Size = retail.g_Size;
}
if (retail.g_Version != null) {
g_Version = retail.g_Version;
}
if (retail.g_Unit != null) {
g_Unit = retail.g_Unit;
}
//截取过长的商品名称
var g_Name = "";
if (retail.g_Name.length > 35) {
g_Name = retail.g_Name.substring(0, 20) + "......";
} else {
g_Name = retail.g_Name;
}
tr += " <tr><td>" + retail.g_Code + "</td><td>" + g_Name + "</td><td>" + g_Size +
"</td><td>" + g_Version + "</td><td>" + g_Unit + "</td><td>" + retail.number + "</td><td>" + retail.price +
"</td><td>" + retail.totalMoney + "</td>";
if (retail.memo != null) {
tr += "<td>" + retail.memo + "</td>";
} else {
tr += "<td></td>";
}
tr += "</tr>";
});
$.parser.parse($("#pTable").html(tr.toString()));
});
return false;
});
});
//无预览,直接打印
if (top.jQuery("#isPreOrPrint").val() == "print") {
bdhtml = window.document.body.innerHTML;
sprnstr = "<!--startprint-->";
eprnstr = "<!--endprint-->";
prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr) + 17);
prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr));
window.document.body.innerHTML = prnhtml;
window.print();
}
});
//打印日期
function PrintTime() {
var date = new Date();
var seperator1 = "/";
var seperator2 = ":";
var month = date.getMonth() + 1;
var strDate = date.getDate();
var hours = date.getHours();
var minutes = date.getMinutes();
var secondes = date.getSeconds();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
if (hours >= 0 && hours <= 9) {
hours = "0" + hours;
}
if (minutes >= 0 && minutes <= 9) {
minutes = "0" + minutes;
}
if (secondes >= 0 && secondes <= 9) {
secondes = "0" + secondes;
}
var currentTime = date.getFullYear() + seperator1 + month + seperator1 + strDate + " " + hours + seperator2 + minutes + seperator2 + secondes;
return currentTime;
}
//打印
function preview() {
bdhtml = window.document.body.innerHTML;
sprnstr = "<!--startprint-->";
eprnstr = "<!--endprint-->";
prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr) + 17);
prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr));
window.document.body.innerHTML = prnhtml;
window.print();
//prnform.htext.value=prnhtml;
//prnform.submit();
//alert(prnhtml);
}
//获取当前日期并格式化
function getNowFormatDate() {
var date = new Date();
var seperator1 = "-";
var seperator2 = ":";
var month = date.getMonth() + 1;
var strDate = date.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate;
return currentdate.toString();
}
CSS:
body {font-size: 25px;}
li { float: left;list-style-type: none;}
#t_border { border: 1px dashed #ccc; width: 1200px; padding: 50px; margin: 50px;}
table { border-collapse: collapse; width: 1200px;margin: 0 0;}
table td {border: 1px solid #000; text-align: center; height: 35px; line-height: 35px; }
/*表格样式*/
#TableTitle tr td,#TableFoot tr td,#custSign tr td{padding:0; margin:0;border:none ;text-align:left; }
#TableTitle, #TableFoot,#custSign { margin-left:10px;}
#TableFoot { width:1200px;}
#title1 { height: 45px;line-height: 45px;}
#dayin ,#DayIn{ text-align: center;}
#first { width: 1200px;margin-bottom: 10px;}
#title { font-family: Microsoft YaHei; font-size: 46px;padding-left: 270px;}
#printTime { float: right;}
#f2 {margin-top:10px;}
#sign {float:right;margin-right:100px;}
#mSign { margin-top:50px;}
#address {margin-left:9px;margin-top:20px;}
#pTable {margin-top:5px;}
#reFoot {margin-top: 20px; width: 1200px; margin-left:-40px;}
C#打印单据的更多相关文章
- JASPER打印单据,标签开发培训, 界面开发培训
JASPER打印单据,标签开发培训软件:TIBC JASPER Studio.Jaspersoft Studio是一个专为JasperReports报表引擎而开发的报表设计器,是 iReport设计器 ...
- C# 利用PrintDocument定制打印单据
本文是利用PrintDocument定制打印单据的小例子,仅供学习分享使用,如果不足之处,还请指正. 涉及知识点: PrintDocument :从 Windows 窗体应用程序打印时,定义一种可重用 ...
- 打印单据,A4纸,每个单据占一个A4纸,两个单据之间不挨着
打印单据,A4纸,每个单据占一个A4纸,两个单据之间不挨着 <style type="text/css" media="print">.Noprin ...
- VS2012报表(RDLC)系列应用之单据批量打印
一.前言 最近做的项目需要单据批量打印的功能,优先想到用RDLC来实现.经过Visual Studio几个版本的发展后,RDLC愈发成熟,操作方式也变得简洁,相比vs2005的版本,有质的提升,不过仍 ...
- PDA手持机 移动开单进销存系统 现场出打印凭据和扫码 新的亮点
传统车销模式弊端:1.手写开单,效率低,动作慢2.现场手写开单明细不能打印,产品明细不规范3.电脑办公人员及车销人员对车上的库存情况掌握不清楚,销售人员对每种产品销售价格不清楚4.老板对员工工作的管控 ...
- 吉特仓库管理系统-.NET打印问题总结
在仓储系统的是使用过程中避免不了的是打印单据,仓库系统中包含很多单据:入库单,出库单,盘点单,调拨单,签收单等等,而且还附带着很多的条码标签的打印.本文在此记录一下一个简单的打印问题处理方式.处理问题 ...
- FastReport 打印模版页(TFrxReportpage)复制
遇到一个奇葩的需求.一般情况下我们打印单据,用FastReport设置打印格式,也就是就设一个模版页而己,就是一种单据格式.如果打印的单据数据多了就自动打印多页了,他们的格式是一样的.也就是读同一个模 ...
- 车销宝无线开单PDA 一款互联网+POS神器 无缝与电脑数据同步 无线POS开单解决方案
1.无线POS开单解决方案是基于后台系统开发的一套系统,它实现了采购入库退货.销售出库退货.盘点调拨等功能. 2.系统通过(WIFI.GPRS.GSM.蓝牙)实时后台库存.客户.商品.价格跟踪等信息, ...
- XAF点滴:很具体很用实用---处理三个小问题
以下内容全部为web版本的老模板风格下完成. 一.在编辑状态的详细视图下打印报表. 有些时候,需要在编辑状态下直接打印报表内容,官方默认是不允许这样做的.用Reflector查看源码,可以看到: De ...
随机推荐
- git初始化第一次拉取线上操作
git: 所有的filename都代表文件名称 一次:git clone 地址 第一步:更新 git pull 第二步:查看修改状态 git status 第三步:根据修改状态查看需要添 ...
- 关于ADM和高维空间下距离度量的问题
最近聆听了两个IEEE FELLOW的高论.周末北大林老师来学校做了个报告,讲了很多新的机器学习概念.但是本人更关注的低秩学习,林老师只字未提.虽然如此,林老师的论文最近还是深入研究了很多,有多少改进 ...
- 消息中间件之 RabbitMQ
文章内容来源 https://www.cnblogs.com/jun-ma/p/4840869.html 延伸阅读文章 https://blog.csdn.net/growing_duck/artic ...
- mysql分组排序加序号(不用存储过程,就简简单单sql语句哦)
做前端好长时间了,好久没动sql了.在追一个喜欢的女孩,做测试的,有这么个需求求助与本屌丝,机会难得,开始折腾起来,配置mysql,建库,建表.... 一 建表 CREATE TABLE `my_te ...
- 理解URL以及如何区分相对URL和绝对URL
URL(Uniform Resource Locator 统一资源定位符)可以理解为网络地址. url 包含了关于文件储存位置和浏览器应该如何处理文件的信息. URL的第一个部分称为模式scheme, ...
- java.util.Properties的使用及读取资源文件
1.工具类Utils package com.oy.utils; import java.io.BufferedInputStream; import java.io.Closeable; impor ...
- Java——GUI
[AWT] <1>AWT(Abstract Widow Toolkit)包含了很多类和接口,用于Java Application的GUI(Graphics User Interfac ...
- 【PowerOJ1738&网络流24题】最小路径覆盖问题 (最大流)
题意: 思路: [问题分析] 有向无环图最小路径覆盖,可以转化成二分图最大匹配问题,从而用最大流解决. [建模方法] 构造二分图,把原图每个顶点i拆分成二分图X,Y集合中的两个顶点Xi和Yi.对于原图 ...
- 使用visual studio配置和运行《opengl圣经》的第一个案例
对vc++新手来说,想把opengl圣经里的教学案例运行起来还真不是一件容易的事情,而且并没有完整的操作流程教学,这里就总结一下吧: 先安装cmake,用于生成vs的工程文件,安装过程中选中“将目录添 ...
- 170817关于Listener的知识点
1. Listener 监听器简介 Listener是JavaWeb中三大组件之一.Servlet.Filter.Listener ...