|
|
@@ -16,15 +16,17 @@
|
|
|
<div style="width: 60%; height: 510px;margin: 0 auto;">
|
|
|
<div class="form-group">
|
|
|
<div class="col-xs-12 col-sm-8"><br>
|
|
|
- <!--<h4 style="color: red">提示:如果生成多个不同物料请换行输入</h4><br>-->
|
|
|
<span>纸张选择 </span>
|
|
|
<select id="selectList" style="width: 180px;height: 25px;border-radius: 5px 5px 5px 5px">
|
|
|
- <!--<option value="10*6">不选择默认10*6 </option>-->
|
|
|
- <!--<option value="10*5">10*5</option>-->
|
|
|
+ <option value="10*15">不选择默认10*15 </option>
|
|
|
<option value="10*6">10*6</option>
|
|
|
- <!--<option value="10*8">10*8</option>-->
|
|
|
+ <option value="10*15">10*15</option>
|
|
|
</select>
|
|
|
- <br><br>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="form-group">
|
|
|
+ <div class="col-xs-12 col-sm-8"><br>
|
|
|
<span>打印数量 </span>
|
|
|
<input type="number" id="number" placeholder="不填默认打印两份" min="0" oninput="value=value.replace('-', '');" >
|
|
|
<br><br>
|
|
|
@@ -34,7 +36,7 @@
|
|
|
<div class="form-group">
|
|
|
<div class="col-xs-12 col-sm-8">
|
|
|
<span>日期 </span>
|
|
|
- <input type="text" id="time" placeholder="请输入日期">
|
|
|
+ <input type="text" id="time" placeholder="请输入日期" value="{$date}">
|
|
|
<br><br>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -44,7 +46,7 @@
|
|
|
<span style="color: red">提示:如果生成多个不同物料请换行输入</span>
|
|
|
</label>
|
|
|
<div class="col-xs-12 col-sm-8">
|
|
|
- <textarea name="textarea" name="textarea" id="textarea" cols="58" rows="10" onchange="zhuan()"></textarea>
|
|
|
+ <textarea name="textarea" style="resize:none;" placeholder="请 输 入 打 印 内 容" name="textarea" id="textarea" cols="76" rows="10"></textarea>
|
|
|
<textarea readonly id="output" style="display: none" name="textarea" cols="70" rows="10"></textarea>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -59,20 +61,6 @@
|
|
|
|
|
|
</body>
|
|
|
<script type="text/javascript">
|
|
|
- //获取时间日期 slice(2)截取前两位字符 获取年月日
|
|
|
- function time(){
|
|
|
- var time = new Date();
|
|
|
- var h = time.getFullYear();//获取年
|
|
|
- var m = time.getMonth() + 1;//获取月
|
|
|
- var d = time.getDate();//获取日
|
|
|
- // var H = time.getHours();//获取时
|
|
|
- // var M = time.getMinutes();//获取分
|
|
|
- // var S = time.getSeconds();//获取秒
|
|
|
- // return h+""+m+""+d+""+H+""+M+""+S;
|
|
|
- return h+""+m+""+d; //返回 年月日时分秒
|
|
|
- }
|
|
|
- document.getElementById("time").value = time().slice(2);
|
|
|
-
|
|
|
// 打印
|
|
|
function small_v2_print() {
|
|
|
var textareas = $("#textarea").val();// 获取 textarea 文字的所有文本值
|
|
|
@@ -82,8 +70,8 @@
|
|
|
let selectList =document.getElementById("selectList").value;// 获取 selectList 下拉选项纸张大小
|
|
|
let number =document.getElementById("number").value; // 获取 number 打印数量
|
|
|
let time =document.getElementById("time").value;//获取六位数时间
|
|
|
- //因为生成二维码中文逗号与英文逗号会出现乱码
|
|
|
- if(textarea.indexOf(",") != -1){
|
|
|
+ //因为生成二维码"中文逗号与英文逗号"会出现乱码,所以判断不能包含逗号
|
|
|
+ if(textarea.indexOf(",") != -1 || textarea.indexOf(",") != -1){
|
|
|
layer.confirm("不能包含逗号", {
|
|
|
title: ['信息'],
|
|
|
btn: ['确认'],
|
|
|
@@ -97,8 +85,8 @@
|
|
|
area: ['30%', '30%'],
|
|
|
});
|
|
|
}else{
|
|
|
- if(textarea.indexOf(",") != -1){
|
|
|
- layer.confirm("不能包含逗号", {
|
|
|
+ if($('#textarea').val() == ''){
|
|
|
+ layer.confirm("打印区域不能为空", {
|
|
|
title: ['信息'],
|
|
|
btn: ['确认'],
|
|
|
icon: 0,
|
|
|
@@ -111,41 +99,55 @@
|
|
|
area: ['30%', '30%'],
|
|
|
});
|
|
|
}else{
|
|
|
-
|
|
|
- var arr = textarea.split("\n");// 按换行拆分出所有中文文本每一行
|
|
|
- var arrs = output.split("\n");// 按换行拆分出所有英文文本每一行
|
|
|
- for (var i=0;i<arr.length;i++) {
|
|
|
- var pairs = arr[i].split(/[,\t]/);
|
|
|
- for (var j=0;j<pairs.length;j++) {
|
|
|
- var barcode = pairs[0];// 取出具体的每个键值
|
|
|
- }
|
|
|
- var pairss = arrs[i].split(/[,\t]/);
|
|
|
- for (var b=0;b<pairss.length;b++) {
|
|
|
- var barcode_Engish = pairss[0];// 取出具体的每个键值
|
|
|
+ $.ajax({
|
|
|
+ method: "POST",
|
|
|
+ url: "printt/get_printt",
|
|
|
+ data: {
|
|
|
+ barcode: textarea,
|
|
|
+ },
|
|
|
+ success(result){
|
|
|
+ // console.log(result);
|
|
|
+ if(result[0] == null){
|
|
|
+ // alert(1)
|
|
|
+ var arr = textarea.split("\n");// 按换行拆分出所有中文文本每一行
|
|
|
+ var arrs = output.split("\n");// 按换行拆分出所有英文文本每一行
|
|
|
+ for (var i=0;i<arr.length;i++) {
|
|
|
+ var pairs = arr[i].split(/[,\t]/);
|
|
|
+ for (var j=0;j<pairs.length;j++) {
|
|
|
+ var barcode = pairs[0];// 取出具体的每个键值
|
|
|
+ }
|
|
|
+ var pairss = arrs[i].split(/[,\t]/);
|
|
|
+ for (var b=0;b<pairss.length;b++) {
|
|
|
+ var barcode_Engish = pairss[0];// 取出具体的每个键值
|
|
|
+ }
|
|
|
+ CreateOneFormPage(barcode,selectList,number,time,barcode_Engish);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ // alert(2)
|
|
|
+ for(var i=0; i<result.length;i++){
|
|
|
+ var name = result[i];
|
|
|
+ // var barcode_Engish = result[i];
|
|
|
+ // console.log(name.m_name);
|
|
|
+ // console.log(name.name);
|
|
|
+ CreateOneFormPage(name.m_name,selectList,number,time,name.name);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- CreateOneFormPage(barcode,selectList,number,time,barcode_Engish);
|
|
|
- }
|
|
|
-
|
|
|
+ });
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
};
|
|
|
|
|
|
var LODOP; //声明为全局变量
|
|
|
function CreateOneFormPage(barcode,selectList,number,time,barcode_Engish){
|
|
|
LODOP=getLodop();
|
|
|
- var strBodyStyle = "<style>body{font-size: 38px;text-align: center;}</style>";
|
|
|
- // var barcodenumber = barcode.substring(0,11)+"</br>"+barcode.substring(11,22)+"</br>"+barcode.substring(22,33)+"</br>"+barcode.substring(33,44)+"</br>"+barcode.substring(44,55);
|
|
|
- var barcodenumber = barcode.substring(0,6)+"</br>"+barcode.substring(6,12)+"</br>"+barcode.substring(12,18)+"</br>"+barcode.substring(18,24)+"</br>"+barcode.substring(24,32);
|
|
|
LODOP.PRINT_INIT("");
|
|
|
//判断用户打印份数
|
|
|
- if(number){
|
|
|
- LODOP.SET_PRINT_COPIES(number);
|
|
|
- }else{
|
|
|
- LODOP.SET_PRINT_COPIES(2);
|
|
|
- }
|
|
|
- //判断用户选择的纸张大小规格
|
|
|
+ if(number){LODOP.SET_PRINT_COPIES(number);}else{LODOP.SET_PRINT_COPIES(1);}
|
|
|
+ // 判断用户选择的纸张大小规格
|
|
|
if(selectList == "10*6"){
|
|
|
+ var strBodyStyle = "<style>body{font-size: 42px;text-align: center;}</style>";
|
|
|
+ var barcodenumber = barcode.substring(0,6)+"</br>"+barcode.substring(6,12)+"</br>"+barcode.substring(12,18)+"</br>"+barcode.substring(18,24)+"</br>"+barcode.substring(24,30);
|
|
|
LODOP.SET_PRINT_PAGESIZE(2,"1100","600","");
|
|
|
LODOP.SET_PRINT_MODE("RESELECT_ORIENT",true);
|
|
|
LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE",1);
|
|
|
@@ -154,17 +156,146 @@
|
|
|
LODOP.SET_PRINT_STYLEA(0,"FontSize",15);
|
|
|
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
|
|
|
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
|
|
|
- LODOP.ADD_PRINT_BARCODE(245,45,"108.9mm","49mm","QRCode",barcode_Engish);
|
|
|
+ LODOP.ADD_PRINT_BARCODE(245,45,"108.9mm","49mm","QRCode",barcode_Engish+"_"+time);
|
|
|
+ LODOP.SET_PRINT_STYLEA(0,"QRCodeVersion",7);
|
|
|
+ }
|
|
|
+ if(selectList == "10*15"){
|
|
|
+ LODOP.SET_PRINT_PAGESIZE(2,1100,1500,"");
|
|
|
+ LODOP.SET_PRINT_MODE("RESELECT_ORIENT",true);
|
|
|
+ LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE",1);
|
|
|
+ var barcode_length = barcode.length;
|
|
|
+ //"英文字符"占1个字符 与 "中文字符"占2个字符 占用空间大小不同 所以判断 "barcode" 是否包含中文
|
|
|
+ if(escape(barcode).indexOf("%u") < 0) {
|
|
|
+ alert("纯英文字符 字符:"+barcode_length);
|
|
|
+ if(barcode_length <= 4){
|
|
|
+ alert(barcode_length+"字符4位以内");
|
|
|
+ var strBodyStyle_Engish = "<style>body{font-size: 200px;text-align: center}</style>";
|
|
|
+ var barcodenumber_Engish = barcode.substring(0,4);
|
|
|
+ LODOP.ADD_PRINT_HTM(2,66,517,380,strBodyStyle_Engish+barcodenumber_Engish);
|
|
|
+ }else if(barcode_length <= 5){
|
|
|
+ alert("5位 M-501");
|
|
|
+ LODOP.ADD_PRINT_TEXT(20,21,581,210,barcode);
|
|
|
+ LODOP.SET_PRINT_STYLEA(0,"FontSize",160);
|
|
|
+ }else if(barcode_length <= 6){
|
|
|
+ alert("6位 M-501B M019A");
|
|
|
+ LODOP.ADD_PRINT_TEXT(20,21,549,399,barcode);
|
|
|
+ LODOP.SET_PRINT_STYLEA(0,"FontSize",130);
|
|
|
+ }else if(barcode_length <= 7){
|
|
|
+ alert("7位 GY-122A");
|
|
|
+ LODOP.ADD_PRINT_TEXT(20,4,575,399,barcode);
|
|
|
+ LODOP.SET_PRINT_STYLEA(0,"FontSize",120);
|
|
|
+ }else if(barcode_length <= 8){
|
|
|
+ alert("8位 M-424-10 M-685A/B");
|
|
|
+ LODOP.ADD_PRINT_TEXT(20,12,563,399,barcode);
|
|
|
+ LODOP.SET_PRINT_STYLEA(0,"FontSize",101);
|
|
|
+ }else if(barcode_length <= 9){
|
|
|
+ alert("9位 M-091-30%");
|
|
|
+ LODOP.ADD_PRINT_TEXT(20,9,573,399,barcode);
|
|
|
+ LODOP.SET_PRINT_STYLEA(0,"FontSize",91);
|
|
|
+ }else if(barcode_length <= 18){
|
|
|
+ alert("18位以内");
|
|
|
+ var strBodyStyle_Engish = "<style>body{font-size: 70px;text-align: center}</style>";
|
|
|
+ var barcodenumber_Engish = barcode.substring(0,9);
|
|
|
+ var barcodenumber_Engish2 = barcode.substring(9,18);
|
|
|
+ LODOP.ADD_PRINT_HTM(7,4,576,348,strBodyStyle_Engish+barcodenumber_Engish);
|
|
|
+ LODOP.ADD_PRINT_HTM(90,1,576,97,strBodyStyle_Engish+barcodenumber_Engish2);
|
|
|
+ }else{
|
|
|
+ alert("20位以内");
|
|
|
+ var strBodyStyle_Engish = "<style>body{font-size: 65px;text-align: center}</style>";
|
|
|
+ var barcodenumber_Engish = barcode.substring(0,10);
|
|
|
+ var barcodenumber_Engish2 = barcode.substring(10,20);
|
|
|
+ LODOP.ADD_PRINT_HTM(7,4,576,348,strBodyStyle_Engish+barcodenumber_Engish);
|
|
|
+ LODOP.ADD_PRINT_HTM(90,1,576,97,strBodyStyle_Engish+barcodenumber_Engish2);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ // alert("包含中文字符");
|
|
|
+ var re = /[A-Za-z]+/;
|
|
|
+ var res = barcode.search(re);
|
|
|
+ //判断字符串中是 中英文混合 还是 纯文字
|
|
|
+ if(res >= 0) {
|
|
|
+ alert("中英文混合 字符:"+barcode_length);
|
|
|
+ if(barcode_length <= 4){
|
|
|
+ alert("1-4位");
|
|
|
+ var strBodyStyle = "<style>body{font-size: 140px;text-align: center}</style>";
|
|
|
+ var barcodenumber = barcode.substring(0,4);
|
|
|
+ LODOP.ADD_PRINT_HTM(7,15,576,348,strBodyStyle+barcodenumber);
|
|
|
+ }else if(barcode_length <= 5){
|
|
|
+ alert("5位 PS柠檬黄");
|
|
|
+ var strBodyStyle = "<style>body{font-size: 125px;text-align: center}</style>";
|
|
|
+ LODOP.ADD_PRINT_HTM(7,1,576,348,strBodyStyle+barcode);
|
|
|
+ }else if(barcode_length <= 6){
|
|
|
+ alert("6位 M-511新");
|
|
|
+ var strBodyStyle = "<style>body{font-size: 100px;text-align: center}</style>";
|
|
|
+ LODOP.ADD_PRINT_HTM(7,1,576,348,strBodyStyle+barcode);
|
|
|
+ }else if(barcode_length <= 7){
|
|
|
+ alert("7位 M-763光油");
|
|
|
+ var strBodyStyle = "<style>body{font-size: 80px;text-align: center}</style>";
|
|
|
+ LODOP.ADD_PRINT_HTM(7,1,576,348,strBodyStyle+barcode);
|
|
|
+ }else if(barcode_length <= 8){
|
|
|
+ alert("8位 UV柔印金红色浆");
|
|
|
+ var strBodyStyle = "<style>body{font-size: 70px;text-align: center}</style>";
|
|
|
+ LODOP.ADD_PRINT_HTM(7,1,576,348,strBodyStyle+barcode);
|
|
|
+ }else if(barcode_length <= 9){
|
|
|
+ alert("9位 MS-5014黑色");
|
|
|
+ var strBodyStyle = "<style>body{font-size: 65px;text-align: center}</style>";
|
|
|
+ LODOP.ADD_PRINT_HTM(7,1,576,67,strBodyStyle+barcode);
|
|
|
+ }else if(barcode_length <= 30){
|
|
|
+ alert("10-27位");
|
|
|
+ var strBodyStyle = "<style>body{font-size: 63px;text-align: center}</style>";
|
|
|
+ var barcodenumber = barcode.substring(0,9);
|
|
|
+ var barcodenumber2 = barcode.substring(9,18);
|
|
|
+ var barcodenumber3 = barcode.substring(18,27);
|
|
|
+ LODOP.ADD_PRINT_HTM(7,2,576,67,strBodyStyle+barcodenumber);
|
|
|
+ LODOP.ADD_PRINT_HTM(90,4,576,67,strBodyStyle+barcodenumber2);
|
|
|
+ LODOP.ADD_PRINT_HTM(169,-1,576,67,strBodyStyle+barcodenumber3);
|
|
|
+ }else if(barcode_length <= 37){
|
|
|
+ alert('30-37位');
|
|
|
+ LODOP.ADD_PRINT_TEXT(7,15,566,410,barcode);
|
|
|
+ LODOP.SET_PRINT_STYLEA(0,"FontSize",40);
|
|
|
+ }else if(barcode_length <= 42){
|
|
|
+ alert('42位');
|
|
|
+ LODOP.ADD_PRINT_TEXT(7,15,561,410,barcode);
|
|
|
+ LODOP.SET_PRINT_STYLEA(0,"FontSize",37);
|
|
|
+ }else{
|
|
|
+ layer.confirm("文字过长不可打印,限制最多42位以内", {
|
|
|
+ title: ['信息'],
|
|
|
+ btn: ['确认'],
|
|
|
+ icon: 0,
|
|
|
+ closeBtn: 2,
|
|
|
+ shade: [0.3, '#000'],
|
|
|
+ shadeClose: true,
|
|
|
+ id: "one",
|
|
|
+ anim: 2,
|
|
|
+ isOutAnim: false,
|
|
|
+ area: ['30%', '30%'],
|
|
|
+ });
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ alert(barcode_length+"纯文字 溶剂上光油");
|
|
|
+ var strBodyStyle_Chinese = "<style>body{font-size: 90px;text-align: center}</style>";
|
|
|
+ var strBodyStyle_Chinese2 = "<style>body{font-size: 90px;}</style>";
|
|
|
+ var barcodenumber_Chinese = barcode.substring(0,6);
|
|
|
+ var barcodenumber_Chinese2 = barcode.substring(6,12);
|
|
|
+ var barcodenumber_Chinese3 = barcode.substring(12,15);
|
|
|
+ LODOP.ADD_PRINT_HTM(7,-17,604,334,strBodyStyle_Chinese+barcodenumber_Chinese);
|
|
|
+ LODOP.ADD_PRINT_HTM(114,-18,604,334,strBodyStyle_Chinese+barcodenumber_Chinese2);
|
|
|
+ LODOP.ADD_PRINT_HTM(232,15,517,380,strBodyStyle_Chinese2+barcodenumber_Chinese3);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ LODOP.ADD_PRINT_TEXT(285,393,238,37,time);
|
|
|
+ LODOP.SET_PRINT_STYLEA(0,"FontSize",20);
|
|
|
+ LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
|
|
|
+ LODOP.SET_PRINT_STYLEA(0,"Bold",1);
|
|
|
+ LODOP.ADD_PRINT_BARCODE(235,328,"108.9mm","49mm","QRCode",barcode_Engish+"_"+time);
|
|
|
LODOP.SET_PRINT_STYLEA(0,"QRCodeVersion",7);
|
|
|
}
|
|
|
- LODOP.PRINT();//打印
|
|
|
+ // LODOP.PRINT();//打印
|
|
|
// LODOP.PREVIEW();//打印预览
|
|
|
// LODOP.PRINTA();//选择打印机进行打印
|
|
|
- // LODOP.PRINT_SETUP();//打印维护设置大小
|
|
|
+ LODOP.PRINT_SETUP();//打印维护设置大小
|
|
|
};
|
|
|
|
|
|
-
|
|
|
-
|
|
|
//将中文括号转换成英文括号
|
|
|
function change(srt){
|
|
|
var reg = /[\(]/g,reg2 = /[\)]/g;
|
|
|
@@ -186,7 +317,7 @@
|
|
|
};
|
|
|
//获取字符串首字母
|
|
|
/**
|
|
|
- * arrInitialChart数组将unicode 19968-40869 编码分为26个元素,每个元素的首字母都相同,按英文字符排序
|
|
|
+ * arrInitialChart数组将unicode 19968-40869 编码分为26个元素,每个元素的首字母都相同,按英文字符排序、
|
|
|
* arrNumLetter数组为每个arrInitialChart数组的元素id所对应的英文字母
|
|
|
* arrPolyphone数组为377个声母不同的多音字的首字母字符串
|
|
|
*/
|