1.创建cshtml 文件
2.在类中写业务逻辑
上代码!!!!!
图1: 业务逻辑
图2:页面逻辑
public class OrderPrintModel : PageModel
{
public void OnGet(string shoppingOrderIDs)
{
Task<AuthenticateResult> task = base.HttpContext.AuthenticateAsync("Base");
if (task.Result.Succeeded)
{
IShoppingOrderDao m_ShoppingOrderDao = new ShoppingOrderDao();
IJoiningStoreDao m_JoiningStoreDao = new JoiningStoreDao();
IShoppingOrderDetailDao m_ShoppingOrderDetailDao = new ShoppingOrderDetailDao();
IGoodDao m_GoodDao = new GoodDao();
string sss = shoppingOrderIDs;
string[] arrOrderNo = sss.Split(',');
var shoppingOrderList = m_ShoppingOrderDao.GetListAll(i => arrOrderNo.Contains(Convert.ToString(i.ShoppingOrderID)), false);
var valueDao = new CloudHill.NetCore.Sys.Dao.ValueListDao();
IList<PrintModel> list = new List<PrintModel>();
foreach (var i in shoppingOrderList)
{
//地址信息
var addressInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<AddressEntity>(Convert.ToString(i.AddressInfo));
var p = valueDao.GetCacheItem(Convert.ToString(addressInfo.ProvinceID), "0-PCD");
var c = valueDao.GetCacheItem(Convert.ToString(addressInfo.CityID), "0-PCD-" + addressInfo.ProvinceID);
var d = valueDao.GetCacheItem(Convert.ToString(addressInfo.DistinctID), "0-PCD-" + addressInfo.ProvinceID + "-" + addressInfo.CityID);
var Province = p == null ? string.Empty : p.ValueListItemCN;
var City = c == null ? string.Empty : c.ValueListItemCN;
var Distinct = d == null ? string.Empty : d.ValueListItemCN;
//获取店铺信息
var storeEntity = m_JoiningStoreDao.GetSingle(j => j.JoiningStoreID == i.ShopID && j.Enable==1);
//获取订单下边商品信息
var shoppingDetailList = m_ShoppingOrderDetailDao.GetListAll(y => y.ShoppingOrderID == i.ShoppingOrderID, false);
var goodIDs = shoppingDetailList.Select(y => y.GoodID).ToList();
//获取商品信息取出实时的GoodCode
var goodDic = m_GoodDao.GetListAll(y => y.GoodID, y => goodIDs.Contains(y.GoodID), false).ToDictionary(y => y.GoodID, y => y);
var model = new PrintModel()
{
Address = Province + City + Distinct + addressInfo.Adddress,
PayTime = Convert.ToDateTime(i.PayTime),
Name = addressInfo.Name,
OrderNo = i.OrderNo,
ShopName = storeEntity != null ? storeEntity.StoreName : string.Empty,
Count = shoppingDetailList.Sum(y => y.Count),
GoodList = shoppingDetailList.Select(y => new PrintOrderGoodsModel()
{
GoodCode = goodDic.ContainsKey(y.GoodID) ? goodDic[y.GoodID].GoodCode : string.Empty,
GoodName = y.GoodName,
GoodPriceDetailName = y.GoodPriceDetailName,
Order = shoppingDetailList.IndexOf(y) + 1,
Count = y.Count
}).ToList()
};
list.Add(model);
}
ViewData["List"] = list;
}
}
}
@page
@model Shop.Pages.OrderPrintModel
@using Shop.Pages.Model
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta content="yes" name="apple-mobile-web-app-capable">
<meta content="yes" name="apple-touch-fullscreen">
<meta content="telephone=no" name="format-detection">
<meta content="black" name="apple-mobile-web-app-status-bar-style">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
<script src="/Admin/Common/Page/js/jquery.min.js?v=2.1.4"></script>
<title>面单打印</title>
</head>
<style>
/*公用部分*/
/*去掉select小三角*/
select{appearance:none;-moz-appearance:none; /* Firefox */-webkit-appearance:none; /* Safari 和 Chrome */}
/*点击,去掉蓝色*/
*{-webkit-tap-highlight-color:rgba(0,0,0,0); }
/*去掉input获取焦点变蓝*/
input,textarea{outline:none;}
/*去掉number属性的input右边上下箭头*/
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button{
-webkit-appearance: none !important;
margin: 0;
}
input::-webkit-input-placeholder{color:#c9caca;}/* 谷歌 */
input:-moz-placeholder{color:#c9caca;}/* 火狐18- */
input::-moz-placeholder{color:#c9caca;}/* 火狐19+ */
input:-ms-input-placeholder{color:#c9caca;}/* IE */
textarea::-webkit-input-placeholder{color:#c9caca;}/* 谷歌 */
textarea:-moz-placeholder{color:#c9caca;}/* 火狐18- */
textarea::-moz-placeholder{color:#c9caca;}/* 火狐19+ */
textarea:-ms-input-placeholder{color:#c9caca;}/* IE */
html{font-size: 10px}
@*@media screen and (min-width: 250px) and (max-width: 320px) {
html{font-size: 10px;}
}
@media screen and (min-width: 321px) and (max-width: 380px) {
html{font-size: 12px;}
}
@media only screen and (min-width: 380px) and (max-width: 450px){
html{font-size: 14px;}
}*@
html,body{}
/*公用部分*/
body,div,ul,li,ol{ margin: 0; padding: 0;font-family:"微软雅黑";"宋体";}
ul,ol,li{ list-style: none; margin: 0; padding: 0; }
img{border:none;}
a{text-decoration:none;}
a:hover{text-decoration:none;}
.clear{clear:both;}
.body{
width:400px;
margin:0 auto;
padding:20px 0;
}
.title{
text-align: center;
font-size: 18px;
}
.invoiceTit{
margin-top:20px;
text-align: center;
font-size: 14px;
}
.invoice{
margin:10px 0;
margin-top:20px;
}
.invoice li{
height:25px;
line-height: 25px;
overflow: hidden;
text-overflow:ellipsis;
}
/*表格*/
table.tableList{
border:1px solid #eee;border-width: 0 0 1px 1px;
}
table.tableList tr td{
padding:8px 5px;border:1px solid #eee;border-width:1px 1px 0 0;
text-align: center;
}
table.tableList tr:last-child td{
font-weight: bold;
font-size: 14px;
}
.pic{
margin-top:10px;
border:1px solid #eee;
width:98%;
height:100px;
padding:10px 1%;
}
.pic img{
max-width: 100%;
}
.tips{
margin-top:10px;
text-align: center;
}
</style>
<body>
@{
var list = ViewData["List"] as IList<PrintModel>;
}
<div class="body">
<div class="title">孕芙美发货清单</div>
@{
foreach (var i in list)
{
<ul class="invoice">
<li>MP店铺:@i.ShopName</li>
<li>订单号:@i.OrderNo</li>
<li>下单日期:@i.PayTime</li>
<li>收件人:@i.Name</li>
<li>收件地址:@i.Address</li>
</ul>
<table class="tableList" cellPadding="0" cellSpacing="0" width="100%" border="0">
<tr>
<td width="40">序</td>
<td>产品编码</td>
<td>简称</td>
<td>规格</td>
<td>数量</td>
</tr>
@{foreach (var y in i.GoodList)
{
<tr>
<td>@y.Order</td>
<td>@y.GoodCode</td>
<td>@y.GoodName</td>
<td>@y.GoodPriceDetailName</td>
<td>@y.Count</td>
</tr>
}
}
<tr>
<td></td>
<td>合计</td>
<td></td>
<td></td>
<td>@i.Count</td>
</tr>
</table>
<div class="pic">
<img src="/api/qrcode/barCodeGenerate?code=@i.OrderNo">
</div>
}
}
<div class="tips">发货清单请仔细核对</div>
<button onclick="dayin()" style="display:block; margin: 0 auto;">打 印</button>
</div>
</body>
<script>
function dayin() {
$('.tips').hide();
$('button').hide();
window.print();
}
</script>
</html>
634



被折叠的 条评论
为什么被折叠?



