標籤:
官方文檔:http://underscorejs.org/
var totalCheckPriceVal = _.reduce(tableData[0],function(memo,num){
var memoint=memo-0;
var numint=num-0;
return memoint+numint; },0
)
_.reduce()
計算一個數組裡所有值相加
var selectProdutData = _.indexBy(prodcutList,function(obj){
return obj.originalProductCode+obj.stationCode+obj.orderNumber;
});
._indexBy()
返回一個key-value形式的js對象可用於添加商品商務邏輯的實現;
_.map(productsData,function(product){
var objNegative={};
if((product.confirmedNumber-0)<=0){
isNegative=true;
objNegative.originalProductCode=product.originalProductCode;
objNegative.stationCode=product.stationCode;
objNegative.orderNumber=product.orderNumber;
arrayNegative.push(objNegative);
}
})
._map()
一個遍曆函數;
遍曆的時候遇到非同步執行的函數會同步執行;
使用underscore製作一個列印分頁html
<!doctype html><head><title></title><script src="./jquery.js"></script><script src="./underscore-min.js"></script><style type="text/css">*{padding: 0;margin:0;}table{border-collapse:collapse;border: 1px solid #000000;border-spacing:0;width: 100%;text-align: left;margin-top: 10px;}table td,table th{padding: 0 3px;height: 19px;line-height: 15.5px;border: 1px solid #000;}body{padding: 5px;font-size: 12px;} ul{list-style-type: none;font-size: 0;position: relative;}ul li{display: inline-block;width: 50%;font-size: 12px;margin: 10px 0;}ul li.op{position: absolute;right: 100px;top: 15px;width: 80px;}td.title{text-align: left;width: 100px;}tr.blank{height: 17px;border: 1px solid #fff;}#print{padding-right: 15px;position: relative;}.pageer{position: absolute;right: 0px;display:none;top:0;color: #000000;font-size: 14px;}@media print { .paging {page-break-after:always;} .page{display:inline-block;right: -5px;}}#list{margin: 15px 0;}#list th{text-align: center;}.mouth{ -ms-transform: rotate(-90deg); -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); -o-transform: rotate(-90deg); } .ie8mouth{ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); }</style> <script id="teml" type="text/template"><div style="width:100%" align="center"><font size="6">服務商送貨任務單</font></div><div id="print" class=‘paging‘><table><tbody><tr><td rowspan="6" style="text-align:center;border-bottom: 0px;"><p class="mouth">商</p><p class="mouth">務</p><p class="mouth">服</p><p class="mouth">:</p><p class="mouth">聯</p><p class="mouth">色</p><p class="mouth">白</p></td><td class="title" colspan="2">原廠訂單編號</td><td colspan="2"><%= productdescripe[0].orderCode %></td><td class="title" colspan="2">廠商品牌</td><td colspan="2"><%= productdescripe[0].brand %></td></tr><tr><td class="title" colspan="2">配送任務單號</td><td colspan="2"><%= productdescripe[0].taskCode %></td><td class="title" colspan="2">訂單建立日期</td><td colspan="2"><%= productdescripe[0].createTime %></td></tr><tr><td class="title" colspan="2">網站名稱</td><td colspan="2"><%= productdescripe[0].stationName %></td><td class="title" colspan="2">ASC代碼</td><td colspan="2"><%= productdescripe[0].ascCode %></td></tr><tr><td class="title" colspan="2">網站連絡人</td><td colspan="2"><%= productdescripe[0].stationPerson %></td><td class="title" colspan="2">網站電話</td><td colspan="2"><%= productdescripe[0].stationPhone %></td></tr><tr><td class="title" colspan="2">網站寄送地址</td><td colspan="2"><%= productdescripe[0].stationAddress %></td><td class="title" colspan="2">原廠訂單日期</td><td colspan="2"><%= productdescripe[0].orderTime %></td></tr><tr><td class="title" colspan="2">服務商名稱</td><td colspan="2"><%= productdescripe[0].serviceName %></td><td class="title" colspan="2">服務商編號</td><td colspan="2"><%= productdescripe[0].serviceNumber %></td></tr><tr><td rowspan="31" style="text-align:center;border-bottom: 0px;border-top: 0px;" id="datalist"> <!-- 上海通用雪佛蘭 --><p class="mouth">蘭</p><p class="mouth">佛</p><p class="mouth">雪</p><p class="mouth">用</p><p class="mouth">通</p><p class="mouth">海</p><p class="mouth">上</p><p class="mouth">:</p><p class="mouth">聯</p><p class="mouth">色</p><p class="mouth">藍</p><p class="mouth"> </p><p class="mouth"> </p><p class="mouth"> </p><p class="mouth"> </p><p class="mouth"> </p><p class="mouth"> </p><p class="mouth">O</p><p class="mouth">Z</p><p class="mouth">K</p><p class="mouth">A</p><p class="mouth">:</p><p class="mouth">聯</p><p class="mouth">色</p><p class="mouth">紅</p><p class="mouth"> </p><p class="mouth"> </p><p class="mouth"> </p><p class="mouth"> </p><p class="mouth">理</p><p class="mouth">代</p><p class="mouth">總</p><p class="mouth">:</p><p class="mouth">聯</p><p class="mouth">色</p><p class="mouth">綠</p></td><td class="title" colspan="2">服務商連絡人</td><td colspan="2"><%= productdescripe[0].servicePerson %> </td><td class="title" colspan="2"><%= productdescripe[0].servicePhone %></td><td colspan="2">13301607008</td></tr><tr><td style="text-align: right">序號</td><td>配件號</td><td colspan="2">配件名稱</td><td colspan="2">訂購數量(罐)</td><td colspan="2">實收數量(罐)</td></tr><!--startprint--> <% for(var i = 0; i < 29; i++) { %> <% var item = list[i]; if(item){%> <tr><td>1</td><td><%= item.code %> </td><td colspan="2"><%= item.name %></td><td colspan="2"><%= item.ordercount %></td><td colspan="2"><%= item.receiptcount %></td></tr> <%} else{%> <tr><td></td><td></td><td colspan="2"></td><td colspan="2"></td><td colspan="2"></td></tr> <%}%> <% } %> <tr><td rowspan="5" style="text-align:center;border-top: 0px;"><p class="mouth">點</p><p class="mouth">站</p><p class="mouth">C</p><p class="mouth">S</p><p class="mouth">A</p><p class="mouth">:</p><p class="mouth">聯</p><p class="mouth">色</p><p class="mouth">黃</p><p class="mouth"> </p></td><td></td><td></td><td colspan="2"></td><td colspan="2"></td><td></td></tr><tr><td>合計</td><td></td><td colspan="2"></td><td colspan="2" class="ordercount"></td><td colspan="2" class="receiptcount"></td></tr><tr><td colspan="2"></td><td colspan="2"></td><td colspan="2"></td><td colspan="2"></td></tr><tr><td colspan="2">送貨人</td><td colspan="2">收件者</td><td colspan="2" style="text-align:center">蓋章</td><td colspan="2"></td></tr><tr><td colspan="2">送貨時間</td><td colspan="2">收貨時間</td><td colspan="2"></td><td colspan="2"></td></tr></tbody></table></div> </script></head><body> </body><script type="text/javascript">var data={ productdescripe:[{orderCode:"P2200391160401000",taskCode:"AKS16041515441113922",stationName:"上海九炫汽車銷售服務有限公司",stationPerson:"test",stationAddress:"上海奉賢區南亭公路1269號",serviceName:"上海光環工貿有限公司",servicePerson:"薑宏偉 ",brand:"上海通用雪佛蘭",createTime:"2016-4-15 15:44:11",ascCode:"2200391", stationPhone:"22222",orderTime:"2016-04-15",serviceNumber:"107131",servicePhone:"13301607008"}], list: [ {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"7",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"4",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"5",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"6",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, {code: "YQ-9850918",name:"新勁7號底色漆 MM Q271 1升",ordercount:"8",receiptcount:"7"}, ] }; var arr=data.list;var ordercountlist=_.pluck(arr, ‘ordercount‘);var ordercountsum = _.reduce(ordercountlist, function(memo, num){ return parseInt(memo) + parseInt(num); }, 0);var length=arr.length;var render = _.template($(‘#teml‘).html());var html = render(data);$("body").html(html);var page=parseInt(length/29)+1;for(j=1;j<page;j++){ arr.splice(0,29*j); var render = _.template($(‘#teml‘).html()); var html = render(data); $("body").append(html);}$("table").last().parent().removeClass("paging");$("td[class=ordercount]").last().html(ordercountsum)</script></html>
underscore.js,js工具庫