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打印质数,基本上很多面试,会很经常的考到.那废话不多说,直接上代码: ...
随机推荐
- C语言-创建链表及排序
#include <stdio.h> #define NEWNODE (Node *)malloc(sizeof(Node)) typedef struct mynode{ int num ...
- linux内核驱动中_IO, _IOR, _IOW, _IOWR 宏的用法与解析(引用)
在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值.cmd除了可区别数字外,还包含有助于处理的几种相应信息. cmd的大小为 32位,共分 4 个 ...
- Mac 使用phpMyAdmin
1 把phpMyAdmin-4.6.5.2-all-languages.zip文件解压到“/Library/WebServer/Documents/”中,并改名为phpmyadmin. 2 复制“/L ...
- AirDrop显示名字的修改问题
AirDrop的名字来源是设备登陆的iCloud账户 打开iCloud设置 把个人信息的名字改成自己的即可 前提是你的账号没有借朋友用过,如果朋友用过恰好没注销,你的通讯录又有你的朋友的号码,很有可能 ...
- 2337:[HNOI2011]XOR和路径 - BZOJ
昨天才做了一道高斯消元,一下要精度判断,一下又不要精度判断 主要是思路很重要 很容易想到每一个二进制位算一个概率,然后求和,设f[i]为走到从i走到n这一个二进制位为1的概率 f[i]:=∑{f[j] ...
- 无锁算法CAS 概述
无锁算法CAS 概述 JDK5.0以后的版本都引入了高级并发特性,大多数的特性在java.util.concurrent包中,是专门用于多线并发编程的,充分利用了现代多处理器和多核心系统的功能以编写大 ...
- The 5th Zhejiang Provincial Collegiate Programming Contest---ProblemF:Faster, Higher, Stronger
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2970 唔...第二水题.除了Faster是输出最小外,另外两个都是输出最大 ...
- zoj 3725
题意: n个格子排成一条直线,可以选择涂成红色或蓝色,问最少 m 个连续为红色的方案数. 解题思路: 应该是这次 ZOJ 月赛最水的一题,可惜还是没想到... dp[i] 表示前 i 个最少 m 个连 ...
- sort-based shuffle的核心:org.apache.spark.util.collection.ExternalSorter
依据Spark 1.4版 在哪里会用到它 ExternalSorter是Spark的sort形式的shuffle实现的关键.SortShuffleWriter使用它,把RDD分区中的数据写入文件. o ...
- Android 环境搭建 版本问题
jdk1.6 1.7 eclipse 3.7.2 SDK-r12 ADT 12 SDK和ADT必须配套 搭建环境需要四个软件: 1.JDK(这是最新版本jdk1.7官方下载地址:http:// ...