a4纸标签自定义打印排版


class PrintBase
# 默认现在只有a4纸大小
PaperType = {1=>[210,297]}
# 标签尺寸
TagType = {0=>[100,40],1=>[60,40],2=>[150,60]}

attr_accessor :id,:tag_type_x,:tag_type_y,:print_size,:print_x_size,:print_y_size,:print_page

def initialize(tag_type=0, obj_size=nil , paper_type=1)
@paper_type_x = PaperType[paper_type][0]
@paper_type_y = PaperType[paper_type][1]
@tag_type_x = TagType[tag_type][0]
@tag_type_y = TagType[tag_type][1]
@id = tag_type

# 纸张可用面积
@paper_type_area = @paper_type_x * @paper_type_y
# 标签面积
@tag_type_area = @tag_type_x * @tag_type_y
# 每行打印张数
@print_x_size = @paper_type_x / @tag_type_x
# 每列打印张数
@print_y_size = @paper_type_y / @tag_type_y

# 每页纸打印标签张数
@print_size = @paper_type_area / @tag_type_area
@print_size = @print_x_size * @print_y_size < @print_size ? @print_x_size *
@print_y_size : @print_size
# 需打印纸张数
@print_page = obj_size ? ( obj_size / @print_size + (obj_size % @print_size == 0 ? 0 : 1) ) : 1
end

end



class Admin::Print::WhmallTagsController < Admin::BaseController
layout:false
def print
@tag = PrintBase.new(params[:tag_id].to_i)
@chemical = ::Chemical.find(params[:chemical_id]|| 25)
end
end




<style type="text/css" media="print">
.noprint{display : none }
.pageBreak{ page-break-after:always;}
</style>

[align=center]

<div style="width:100%">
<div>
<% (1..@tag.print_size).each do |i|%>
<%if i == 1 %>
<!--首行行头!-->
<div>
<div id="print_<%= i %>" style="width:<%= 98/@tag.print_x_size %>%;height:<%= 100/@tag.print_y_size %>%;margin-right: 10px;float: left;">
<div style="width:100%;height:100%;" id="show_note<%= i %>" ><button class="show_note" id="show_button<%= i %>"><%= image_tag "4-10cm.jpg", style: 'width: 100%;height: 100%; ' %></button>[/align]
<div style="width:100%;height:100%;display: none;" class="noprint" id="hidde_note<%= i %>"><button class="hidde_note" id="hidde_button<%= i %>"><%= image_tag "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1494828228049&di=7219b7547575eadb65d32b7ba61af822&imgtype=0&src=http%3A%2F%2Fico.ooopic.com%2Ficonset02%2F6%2Fgif%2F53757.gif", style: 'width: 100%;height: 100%; ' %></button></div>
</div>
<% elsif i == @tag.print_size %>
<!--末行行尾!-->
<div id="print_<%= i %>" style="width:<%= 98/@tag.print_x_size %>%;height:<%= 100/@tag.print_y_size %>%;float: left;">
<%= render :partial => "print" , :locals => { :i => i }%>
<div style="width:100%;height:100%;" class="noprint" id="hidde_note<%= i %>"><button class="hidde_note" id="hidde_button<%= i %>"><%= image_tag "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1494828228049&di=7219b7547575eadb65d32b7ba61af822&imgtype=0&src=http%3A%2F%2Fico.ooopic.com%2Ficonset02%2F6%2Fgif%2F53757.gif", style: 'width: 100%;height: 100%; ' %></button></div>
</div>
<% elsif i % @tag.print_x_size == 0 %>
<!--每行行尾!-->
<div id="print_<%= i %>" style="width:<%= 98/@tag.print_x_size %>%;height:<%= 100/@tag.print_y_size %>%;float: left;">
<div style="width:100%;height:100%;display: none;" id="show_note<%= i %>" ><button class="show_note" id="show_button<%= i %>"><%= image_tag "4-10cm.jpg", style: 'width: 100%;height: 100%; ' %></button></div>
<div style="width:100%;height:100%;" class="noprint" id="hidde_note<%= i %>"><button class="hidde_note" id="hidde_button<%= i %>"><%= image_tag "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1494828228049&di=7219b7547575eadb65d32b7ba61af822&imgtype=0&src=http%3A%2F%2Fico.ooopic.com%2Ficonset02%2F6%2Fgif%2F53757.gif", style: 'width: 100%;height: 100%; ' %></button></div>
</div>
</div>
</br> <div>
<% else %>
<div id="print_<%= i %>" style="width:<%= 98/@tag.print_x_size %>%;height:<%= 100/@tag.print_y_size %>%;margin-right: 10px;float: left;">
<div style="width:100%;height:100%;display: none;" id="show_note<%= i %>" ><button class="show_note" id="show_button<%= i %>"><%= image_tag "4-10cm.jpg", style: 'width: 100%;height: 100%; ' %></button></div>
<div style="width:100%;height:100%;" class="noprint" id="hidde_note<%= i %>"><button class="hidde_note" id="hidde_button<%= i %>"><%= image_tag "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1494828228049&di=7219b7547575eadb65d32b7ba61af822&imgtype=0&src=http%3A%2F%2Fico.ooopic.com%2Ficonset02%2F6%2Fgif%2F53757.gif", style: 'width: 100%;height: 100%; ' %></button></div>
</div>
<% end %>
<% end %>
</div>
</div>

<div class="pageBreak"></digv>

</div>


<script type="text/javascript">
$(".show_note").on('click',function(){
var id = this.id.replace ( /[^\d.]/g, '' )
$('#show_note'+ id).hide();
$('#hidde_note'+ id).show();
});
$(".hidde_note").on('click',function(){
var id = this.id.replace ( /[^\d.]/g, '' )
$('#hidde_note'+ id).hide();
$('#show_note'+ id).show();
});

// 打印触发
$("#btnPrint").on('click',function(){
$(".noprint").css("display", "")
window.print();
})

// 切换标签
$("#tag_id").on('change',function(){
var tag_id = $("#tag_id").val();
window.location.href = '/admin/print/whmall_tags/print?tag_id='+tag_id+"&chemical_id="+"<%= @chemical.id %>" ;
})

// 快速选择
$("#select_tag").on('change',function(){
var select_tag = $("#select_tag").val();
if(select_tag==0){
<% (1..@tag.print_size).each do |i|%>
var id = "<%= i %>"
$('#hidde_note'+ id).hide();
$('#show_note'+ id).show();
<% end %>
}else if(select_tag==1){
<% (1..@tag.print_size).each do |i|%>
var id = "<%= i %>"
$('#show_note'+ id).hide();
$('#hidde_note'+ id).show();
<% end %>
}else if(select_tag==2){
<% (1..(@tag.print_size/2)).each do |i|%>
var id = "<%= i %>"
$('#hidde_note'+ id).hide();
$('#show_note'+ id).show();
<% end %>
}
})
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值