锘縱ar submitData = { images: [], params: [], compstr: [] }; var uploadImgs = []; var layerIndex = 0; var attrList = null; $(function () { $("#inputs").change(function (e) { var upload = $(this)[0]; var file = upload.files[0]; var fileData = new FormData(); fileData.append("file", file); var xhr = new XMLHttpRequest(); xhr.open("POST", "/handle/uploadfile", true); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { var ret = JSON.parse(xhr.responseText); console.log('onreadystatechange===>', ret); if (ret.code == 1) { layer.msg("鏂囦欢涓婁紶鎴愬姛銆?); $("#uploadBox").append(''); uploadImgs.push(ret.imgSite + ret.data); } else { layer.msg("鏂囦欢涓婁紶澶辫触銆?); } } }; xhr.send(fileData); layer.msg("鍥剧墖涓婁紶涓?.."); }); $.getJSON("/handle/GetAttrList", function (ret) { console.log('GetAttrList', ret); attrList = ret.data; }) }) function selectClass(o) { var me = $(o); if (!me.hasClass("active")) { submitData["classname"] = me.attr("title"); submitData["bigimg"] = me.attr("path"); me.addClass("active").siblings(".active").removeClass("active"); $("#classImg").attr("src", me.attr("path")); var elem = null; var classId = me.attr("data-id"); $("select.bind").each(function () { elem = $(this); elem.html(""); var attrName = elem.attr("title"); console.log("attrName=>", attrName); var m2 = attrList.find(m => m.AttrName == attrName); if (m2 && m2.AttrValues) { elem.append(("")); var list1 = m2.AttrValues.filter(m => m.ClassId == classId); for (var t = 0; t < list1.length; t++) { var m3 = list1[t]; console.log('opt-data-' + t, m3); elem.append(("")); } } }) } } function selectEvent(o) { var elem = $(o); var value = elem.val(); var key = elem.attr("title"); if (!submitData.params) { submitData.params = []; } submitData.params.push(key + ":" + value); } function create(o) { var btn = $(o); if (btn.hasClass("disabled")) { return; } if (!submitData.classname) { var elem1 = $(".tab-class.active"); submitData["classname"] = elem1.attr("title"); submitData["bigimg"] = elem1.attr("path"); } var dt = new Date(); var strParams = ""; var arrParams = []; $(".bianhao_ul select").each(function () { var me = $(this); var v = me.val(); var key = me.attr("title"); if (v) { arrParams.push(key + ":" + v); strParams += '
' + key + '锛欬span>' + v + '
'; } else { layer.msg("璇烽€夋嫨" + key); return false; } }); if (arrParams.length != $(".bianhao_ul select").length) { return; } submitData.params = JSON.stringify(arrParams); var arr1 = []; $("#comp-list .chk_1:checked").each(function () { var me = $(this); arr1.push(me.attr("path")); }); submitData.compstr = JSON.stringify(arr1); submitData.remark = $("#remark").val(); submitData.name = $("#name").val(); submitData.company = $("#company").val(); submitData.tellphone = $("#tellphone").val(); submitData.email = $("#email").val(); if (!submitData.name) { layer.msg("璇疯緭鍏ユ偍鐨勫鍚?); return; } if (!submitData.company) { layer.msg("璇疯緭鍏ユ偍鐨勫叕鍙稿悕绉?); return; } if (!submitData.tellphone) { layer.msg("璇疯緭鍏ヨ仈绯荤數璇?); return; } if (!submitData.email) { layer.msg("璇疯緭鍏ョ數瀛愰偖绠?); return; } var strImages = ""; console.log("submitData----", submitData); if (uploadImgs) { submitData.images = JSON.stringify(uploadImgs); } layer.msg("鏁版嵁鎻愪氦涓?..."); $.post('/handle/submitnaming', submitData, function (ret) { console.log("post-ret=>",ret); if (ret.code == 1) { var m = ret.data; layer.msg("鏁版嵁淇濆瓨鎴愬姛锛屾鍦ㄧ敓鎴愬苟涓嬭浇PDF鏂囦欢..."); $("#tab_createtime").text(formatDate(dt, "yyyy-MM-dd HH:mm:ss")); $("#tab_classname").html(m.ClassName); $("#tab_classimg").attr("src", m.BigImg); $("#tab_params").html(strParams); if (m.CompStr) { var arr2 = JSON.parse(m.CompStr); var strComp = ""; arr2.forEach(m => { strComp += ''; }) $("#tab_comp").html(strComp); } if (m.Images) { var arr3 = JSON.parse(m.Images); var strImages = ""; arr3.forEach(path => { strImages += ''; }) $("#tab_images").html(strImages); } $("#tab_name").text(submitData.name); $("#tab_company").text(submitData.company); $("#tab_tellphone").text(submitData.tellphone); $("#tab_email").text(submitData.email); $("#tab_remark").text(submitData.remark); setTimeout(function () { PdfDownload('pdf_con', ret.data.Id); }, 500); } else { layer.msg(ret.msg); } }); } const PdfDownload = function (domId, code) { var targetDom = $('#' + domId) // 鎶婇渶瑕佸鍑虹殑pdf鍐呭clone涓€浠斤紝杩欐牱瀵瑰畠杩涜杞崲銆佸井璋冪瓑鎿嶄綔鏃舵墠涓嶄細褰卞搷鍘熸潵鐣岄潰 var copyDom = targetDom.clone() // 鏂扮殑div瀹介珮璺熷師鏉ヤ竴鏍凤紝楂樺害璁剧疆鎴愯嚜閫傚簲锛岃繖鏍锋墠鑳藉畬鏁存樉绀鸿妭鐐逛腑鐨勬墍鏈夊唴瀹癸紙姣斿璇磋〃鏍兼粴鍔ㄦ潯涓殑鍐呭锛 copyDom.width(targetDom.width() + 'px') copyDom.height(targetDom.height() + 30 + 'px'); copyDom.removeAttr("id"); $('body').append(copyDom)// ps:杩欓噷涓€瀹氳鍏堟妸copyDom append鍒癰ody涓嬶紝鐒跺悗鍐嶈繘琛屽悗缁殑 setTimeout(function () { executeDown(copyDom[0], code) }, 500); } function executeDown(copyDom, code) { html2canvas(copyDom, { onrendered: function (canvas) { var imgData = canvas.toDataURL(); var img = new Image(); img.src = imgData; img.setAttribute("crossOrigin", "Anonymous"); // 鏍规嵁鍥剧墖鐨勫昂瀵歌缃畃df鐨勮鏍硷紝瑕佸湪鍥剧墖鍔犺浇鎴愬姛鏃舵墽琛岋紝涔嬫墍浠ヨ*0.225鏄洜涓烘瘮渚嬮棶棰 img.onload = function () { // 姝ゅ闇€瑕佹敞鎰忥紝pdf妯疆鍜岀珫缃袱涓睘鎬э紝闇€瑕佹牴鎹楂樼殑姣斾緥鏉ヨ皟鏁达紝涓嶇劧浼氬嚭鐜版樉绀轰笉瀹屽叏鐨勯棶棰 if (this.width > this.height) { var doc = new jsPDF('l', 'mm', [this.width * 0.225, this.height * 0.225]); } else { var doc = new jsPDF('p', 'mm', [this.width * 0.225, this.height * 0.225]); } doc.addImage(imgData, 'jpeg', 0, 0, this.width * 0.225, this.height * 0.225); // 鏍规嵁涓嬭浇淇濆瓨鎴愪笉鍚岀殑鏂囦欢鍚 doc.save('order_' + code + '.pdf'); // 鍒犻櫎澶嶅埗鍑烘潵鐨刣iv copyDom.remove(); location.reload(); } }, background: '#FFF', // 杩欓噷缁欑敓鎴愮殑鍥剧墖榛樿鑳屾櫙锛屼笉鐒剁殑璇濓紝濡傛灉浣犵殑html鏍硅妭鐐规病璁剧疆鑳屾櫙鐨勮瘽锛屼細鐢ㄩ粦鑹插~鍏呫€ allowTaint: true // 閬垮厤涓€浜涗笉璇嗗埆鐨勫浘鐗囧共鎵帮紝榛樿涓篺alse锛岄亣鍒颁笉璇嗗埆鐨勫浘鐗囧共鎵板垯浼氬仠姝㈠鐞唄tml2canvas }) } // 灏嗗浘鐗囪浆鎹负Base64 function imageUrlToBase64(img) { // 涓€瀹氳璁剧疆涓簂et锛屼笉鐒跺浘鐗囦笉鏄剧ず let image = new Image(); // 瑙e喅璺ㄥ煙闂 image.setAttribute('crossOrigin', 'anonymous'); let imageUrl = img; image.src = imageUrl; // image.onload涓哄紓姝ュ姞杞 image.onload = () => { getImageBase64(image); }; }; function getImageBase64(image) { let canvas = document.createElement('canvas'); canvas.width = image.width; canvas.height = image.height; let context = canvas.getContext('2d'); context.drawImage(image, 0, 0, image.width, image.height); let quality = 0.8; // 杩欓噷鐨刣ataurl灏辨槸base64绫诲瀷 let dataURL = canvas.toDataURL('image/jpeg', quality); }; /****鏁扮粍鎵╁睍鏂规硶***/ var formatDate = function (v, format) { if (!v) return ""; var d = v; if (typeof v === 'string') { if (v.indexOf("/Date(") > -1) d = new Date(parseInt(v.replace("/Date(", "").replace(")/", ""), 10)); else d = new Date(Date.parse(v.replace(/-/g, "/").replace("T", " ").split(".")[0])); } var o = { "M+": d.getMonth() + 1, //month "d+": d.getDate(), //day "H+": d.getHours(), //hour "m+": d.getMinutes(), //minute "s+": d.getSeconds(), //second "q+": Math.floor((d.getMonth() + 3) / 3), //quarter "S": d.getMilliseconds() //millisecondjsonca4 }; if (/(y+)/.test(format)) { format = format.replace(RegExp.$1, (d.getFullYear() + "").substr(4 - RegExp.$1.length)); } for (var k in o) { if (new RegExp("(" + k + ")").test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); } } return format; } Array.prototype.remove = function (i) { if (isNaN(i) || i > this.length) { return false; } this.splice(i, 1); } Array.prototype.select = function (callback) { var arrResult = []; for (var i = 0; i < this.length; i++) { if (callback(this[i])) { arrResult.push(this[i]); } } return arrResult; } Array.prototype.get = function (callback) { for (var i = 0; i < this.length; i++) { if (callback(this[i])) { return this[i]; } } return null; } Array.prototype.dele = function (callback) { var newArray = []; for (var i = 0; i < this.length; i++) { if (!callback(this[i])) { newArray.push(this[i]); } } return newArray; } Array.prototype.done = function (callback) { for (var i = 0; i < this.length; i++) { callback(this[i]); } }