JS 打印报表
<script type="text/javascript">
window.print();
</script>
前台页面:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<IEnumerable<Maxuni.Entity.VOutProceExel>>" %> <!DOCTYPE html>
<html>
<head id="Head1" runat="server">
<title>打印外协发出订单</title>
<style type="text/css">
.table1
{
border-bottom-color: Black;
border-left-color: Black;
border-right-color: Black;
border-collapse: collapse;
background-color: #FFFFFF;
width: %;
}
.td1
{
border-bottom-color: Black;
border-left-color: Black;
border-right-color: Black;
border-collapse: collapse;
border-top-color: Black;
}
</style>
<script type="text/javascript">
window.print();
</script>
</head>
<body>
<div style="text-align: center; vertical-align: middle; width: 100%;" layouth=""
id="order_panel">
<table style="width: 100%; text-align: left">
<tr>
<td colspan="" style="width: 70%;">
<div style="float: left;">
<img alt="" src="../../../../Content/images/Maxuni_logo_2.jpg" style="float: left;
margin: 15px 0px 0px 10px" />
</div>
<br />
<br />
<br />
<div style="font-size: 18px; font-weight: bold">
<%=ViewData["companyname"] %></div>
<div style="font-size: 13px; font-family: 宋体">
工厂地址:<%=ViewData["address"]%><br />
电话:<%=ViewData["tel"]%>
<br />
传真:<%=ViewData["fax"]%><br />
网址:<%=ViewData["homepage"]%><br />
Email:<%=ViewData["email"]%>
</div>
</td>
<td style="width: 30%">
<table class="table1" cellpadding="" cellspacing="" border="" bordercolorlight="#000000"
style="text-align: center; font-size: 13px; font-family: 宋体">
<tr style="height: 30px">
<td class="td1">
外 协 订 单
</td>
</tr>
<tr style="height: 30px">
<td class="td1">
<%=ViewData["OrderNo"] %>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="100%" style="text-align: left; font-size: 13px; font-family: 宋体">
<tr>
<td style="width: 20%"> </td>
<td style="width: 30%">
</td>
<td style="width: 30%">
</td>
<td style="width: 20%">
日期:<%=DateTime.Now.ToString("yyyy-MM-dd") %>
</td>
</tr>
</table>
<table class="table1" cellpadding="" cellspacing="" border="" bordercolorlight="#000000"
style="text-align: left; font-size: 13px; font-family: 宋体">
<tr>
<td style="width: 40%" class="td1">
厂商:<%=ViewData["strsupplierName"]%>
</td>
<td style="width: 20%" class="td1">
联系人:<%=ViewData["strcontactperson1"] %>
</td>
<td style="width: 20%" class="td1">
电话:<%=ViewData["strtel"] %>
</td>
<td style="width: 20%" class="td1">
传真:<%=ViewData["strfax"]%>
</td>
</tr>
</table>
<table width="100%" style="text-align: left; font-size: 13px; font-family: 宋体">
<tr>
<td>
兹向贵公司订购以下货品如下表列,请在即日起,当天之内签回副本 !
</td>
</tr>
</table>
<table class="table1" cellpadding="" cellspacing="" border="" bordercolorlight="#000000"
style="font-size: 14px; font-family: 宋体">
<thead>
<tr> <th class="td1">
序号
</th>
<th class="td1">
模具编号
</th>
<th class="td1">
零件名称
</th>
<th class="td1">
零件编号
</th>
<th class="td1">
加工内容/要求
</th>
<th class="td1">
件数
</th>
<th class="td1">
规格加工备注
</th>
<th class="td1">
单价
</th>
<th class="td1">
总价
</th>
<th class="td1">
交期
</th>
</tr>
</thead>
<tbody>
<% int i = ; %>
<% foreach (var item in Model)
{ %><tr>
<td class="td1">
<%: i++ %>
</td>
<td class="td1">
<%: item.mouldNo %>
</td>
<td class="td1">
<%: item.partName %>
</td>
<td class="td1">
<%: item.drawingNo %>
</td>
<td class="td1">
<%: item.OutTypeName %>
</td>
<td class="td1">
<%: item.qty %>
</td>
<td class="td1">
<%: item.processRequire %>
</td>
<td class="td1">
<%: item.Price%>
</td>
<td class="td1">
<%: item.TotaPricel %>
</td>
<td class="td1">
<%: item.oendDate.Value.ToString("yyyy-MM-dd") %>
</td>
</tr>
<% } %>
<tr>
<td colspan="" align="right" class="td1">
合计(RMB)
</td>
<td class="td1">
<%=ViewData["TotalPrice"]%>
</td>
<td class="td1">
折扣:<%=ViewData["discount"]%>%
</td>
</tr>
</tbody>
</table>
<table width="100%" style="text-align: left; font-size: 13px; font-family: 宋体">
<% foreach (var item in ViewData["allcond"] as IList<Maxuni.Entity.OrderCond>)
{ %><tr>
<td class="td1">
(<%: item.SortId%>)
<%: item.CondContent%>
</td>
</tr>
<%} %>
</table>
<br />
<table class="table1" cellpadding="" cellspacing="" border="" bordercolorlight="#000000"
style="font-size: 13px; font-family: 宋体; text-align: center">
<tr>
<td style="width: 25%;" class="td1">
经办人
</td>
<td style="width: 25%;" class="td1">
甲方审查
</td>
<td style="width: 25%;" class="td1">
甲方批准
</td>
<td style="width: 25%;" class="td1">
卖方确认(供应商)
</td>
</tr>
<tr>
<td style="width: 25%;" class="td1">
<%=ViewData["currentuser"]%>
</td>
<td style="width: 25%;" class="td1">
</td>
<td style="width: 25%;" class="td1">
</td>
<td style="width: 25%;" class="td1">
</td>
</tr>
<tr>
<td style="width: 25%;" class="td1">
年 月 日
</td>
<td style="width: 25%;" class="td1">
年 月 日
</td>
<td style="width: 25%;" class="td1">
年 月 日
</td>
<td style="width: 25%;" class="td1">
年 月 日
</td>
</tr>
</table>
</div>
</body>
</html>
后台信息:
using System.Linq;
using System.Web.Mvc;
using Maxuni.Entity;
using Maxuni.Repository;
using System.Collections.Generic; namespace MaxuniWeb.Areas.outProcessGL
{
public class VOutProceExelController : BaseController<VOutProceExel>
{
VOutProceExelRepository objVOutProceExelRepository = new VOutProceExelRepository();
CompayRepository objCompayRepositoryRepository = new CompayRepository();
OrderCondRepository objOrderCondRepository = new OrderCondRepository();
SupplierRepository objSupplierRepository = new SupplierRepository();
OProcessRequisitionRepository objOProcessRequisitionRepository = new OProcessRequisitionRepository(); public VOutProceExelController()
{
//写查询条件,比如:base.strConditions = " RoleName like '%{0}%' and 1=1 ";
base.strConditions = " 1=1 ";
base.objBaseRepository = this.objVOutProceExelRepository; }
[MaxuniAuthAttribute(Roles = "sysroles")]
public ActionResult PrintIndex(string id)
{ var obj = objOProcessRequisitionRepository.GetOneRecord(id);
string strWhere = " from VOutProceExel where OProcessRequisitionId='" + obj.Id + "'";
var objlist = objBaseRepository.GetAll(strWhere);
GetSupplierCompanyInfo(id);
ViewData["TotalPrice"] = obj.discountPrice;
ViewData["currentuser"] = CurrentUser.Username;
ViewData["discount"] = obj.discount;
return View(objlist);
} private void GetSupplierCompanyInfo(string id)
{
string suppliercontactperson1 = "";
string supplierName = "";
string supplierpaymentType = "";
string suppliertel = "";
string supplierfax = "";
string supplierOrderNo = "";
GetSupplierinfo(id, out suppliercontactperson1, out supplierName, out supplierpaymentType, out suppliertel, out supplierfax, out supplierOrderNo); string CompayName = "";
string address = "";
string tel = "";
string fax = "";
string homepage = "";
string email = "";
GetCompanyAddres(out CompayName, out address, out tel, out fax, out homepage, out email);
} #region 从数据库获取合约的信息条款
private void GetSupplierinfo(string id, out string suppliercontactperson1, out string supplierName, out string supplierpaymentType, out string suppliertel, out string supplierfax, out string supplierOrderNo)
{
OProcessRequisition objOrderApply = objOProcessRequisitionRepository.GetOneRecord(id);
string strSupplierid = objOrderApply.supplierID;
Supplier objsupplier = new Supplier();
if (!string.IsNullOrEmpty(strSupplierid))
objsupplier = objSupplierRepository.GetOneRecord(strSupplierid); suppliercontactperson1 = objsupplier.contactperson1;
supplierName = objsupplier.supplierName;
supplierpaymentType = objsupplier.paymentType + ";税率:" + objsupplier.taxRate;
suppliertel = objsupplier.tel;
supplierfax = objsupplier.fax;
supplierOrderNo = objOrderApply.contractNO; ViewData["strcontactperson1"] = objsupplier.contactperson1;
ViewData["strsupplierName"] = objsupplier.supplierName;
ViewData["paymentType"] = objsupplier.paymentType;
ViewData["strtel"] = objsupplier.tel;
ViewData["strfax"] = objsupplier.fax;
ViewData["OrderNo"] = objOrderApply.contractNO; IList<OrderCond> objordercond = objOrderCondRepository.GetAll(" from OrderCond where TypeNo=1").OrderBy(o => o.SortId).ToList();
var objplaymenthod = objordercond.FirstOrDefault(o => o.SortId ==);
var obj = objplaymenthod;
objordercond.Remove(objplaymenthod);
obj.CondContent = objplaymenthod.CondContent.Replace(":", "").Replace(":", "") + ":" + objsupplier.paymentType + ";税率:" + objsupplier.taxRate;
objordercond.Insert(, obj);
ViewData["allcond"] = objordercond;
}
#endregion #region 获取供应商的详细信息
private void GetCompanyAddres(out string CompayName, out string address, out string tel, out string fax, out string homepage, out string email)
{
var model = objCompayRepositoryRepository.GetAll();
CompayName = "";
address = "";
tel = "";
fax = "";
homepage = "";
email = "";
if (model.Count > )
{
CompayName = model[].CompayName;
address = model[].address;
tel = model[].tel;
fax = model[].fax;
homepage = model[].homepage;
email = model[].email;
ViewData["companyname"] = model[].CompayName;
ViewData["address"] = model[].address;
ViewData["tel"] = model[].tel;
ViewData["fax"] = model[].fax;
ViewData["homepage"] = model[].homepage;
ViewData["email"] = model[].email;
}
}
#endregion }
}
JS 打印报表的更多相关文章
- js 打印
关于js打印很简单的一段代码 function doPrint() { var newWindow = window.open("打印窗口", "_blank" ...
- js打印html中的内容
js打印方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...
- js打印Iframe中的内容,并且不需要预览。
js打印Iframe中的内容,并且不需要预览 js代码如下: <script type="text/javascript" language="Javascript ...
- C# WPF打印报表
前天我的一个同学由于打印报表而苦恼,所以就介绍了一下WPF的打印报表,希望能帮助到大家. 展示报表 1. 首先新建项“报表”,选定项目,右击,点击“添加”->“新建项”->“报表”
- js打印
js打印,其实是打印当前页面的内容,是调用 系统的js方法,来弹出 打印设置窗口,用法很简单. window.print()就行,有的考虑到 浏览器兼容性问题,会用到document.execComm ...
- js打印保存用户输入的内容
在用js打印局部页面时,遇到用户新输入的内容没能打印出来,经过观察,发现我采用的js打印方法是读取页面源代码,而用户输入的内容如果不将其写入到页面源代码中去,是打印不出来的,下面是我的解决方法: // ...
- 使用jquery.PrintArea.js打印网页的样式问题
在使用jquery.PrintArea.js打印局部网页样式的时候,发现样式打印不出来,在网上找了好多资料,整理一下分享给大家 一.先看看css的引用文件方式 1.直接在内部的元素中使用”style” ...
- js打印页面指定区域,并去掉页眉上的时间和请求路径
需要通过js打印指定页面的内容 <style media=print type="text/css"> .noprint{visibility:hidden} < ...
- 利用JS打印质数
我爱撸码,撸码使我感到快乐!大家好,我是Counter,今天非常愉快,没有前几天的相对比较复杂的逻辑思维在里面,今天来写写,利用JS打印质数,基本上很多面试,会很经常的考到.那废话不多说,直接上代码: ...
随机推荐
- 修改wamp的apache默认端口80以及www目录
修改wamp的apache默认端口80以及www目录 以修改为8088端口和D:/workphp目录为例. 修改为8088端口 左键托盘图标,在“Apache”里可以直接打开httpd.conf,查找 ...
- H264相关代码
H.264格式的视频打包成RTP后进行发送,编译环境为VC6++ #include <stdio.h> #include <stdlib.h> #include <str ...
- The connection to adb is down
有一周时间没有打开ADT了,最近想为我的APP增加下些新的功能,但是在编译的时候出现了一个奇怪问题 [2013-10-18 14:43:50 - zzbus] Android Launch![2013 ...
- 【jquery插件】收藏
http://www.oschina.net/project/tag/356/jquery-file-upload
- Delphi XE5 如何设计并使用FireMonkeyStyle(转)
如何设计并使用FireMonkeyStyle FireMonkey使用Style来控制控件的显示方式. 每个控件都有一个StyleLookup属性,FireMonkey就是通过控件的这个属性来在当前窗 ...
- Hibernate4.1.4配置二级缓存EHCache步骤
1.当然首先引入EHCache相关的jar包 这些包不需要另外下载,在Hibernate官方网站下载Hibernate4.1.7的压缩包(如:hibernate-release-4.1.7.Final ...
- uva 108
降维 枚举行累加 然后求单行上最大连续和 #include <iostream> #include <cstring> #include <cstdio> # ...
- 【C++基础】sizeof 数组 指针 空NULL
笔试遇到很多sizeof的小题,博主基础堪忧,怒总结如下,还是要巩固基础啊啊啊! sizeof操作符 对象所占 栈内存空间的大小,单位是字节 关键词:char 数组 指针 结构体 class [注意 ...
- Python:使用threading模块实现多线程编程
转:http://blog.csdn.net/bravezhe/article/details/8585437 Python:使用threading模块实现多线程编程一[综述] Python这门解释性 ...
- linux下c/c++ IDE开发工具介绍
为避免以下某个软件安装时不自动安装 build-essential 不妨先执行: sudo apt-get install build-essential [编辑 ]anjuta Anjuta Dev ...