马宇豪
2022-12-12 c63545c5e3f297a5b9545f0cb2afeaa843ce52cb
1
(this.webpackJsonp=this.webpackJsonp||[]).push([["chunk-6b01"],{"/HSZ":function(t,e,n){var r,a,i;a=[t,e,n("yZrW")],void 0===(i="function"==typeof(r=function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(t){return t&&t.__esModule?t:{default:t}}(n);function a(t,e){var n=new r.default(t,e).encode(),a=new Blob(["\ufeff"+n],{type:"text/plain;charset=utf-8"});return window.URL.createObjectURL(a)}e.default={genUrl:a,downloadCsv:function(t,e,n){var r=a(t,e),i=document.createElement("a");i.href=r,i.download=n,i.click(),window.URL.revokeObjectURL(r)}},t.exports=e.default})?r.apply(e,a):r)||(t.exports=i)},MRSm:function(t,e,n){"use strict";var r=n("Xwmh");n.n(r).a},Na1v:function(t,e,n){"use strict";n.d(e,"c",function(){return i}),n.d(e,"e",function(){return o}),n.d(e,"h",function(){return c}),n.d(e,"y",function(){return l}),n.d(e,"j",function(){return s}),n.d(e,"x",function(){return u}),n.d(e,"f",function(){return d}),n.d(e,"t",function(){return p}),n.d(e,"k",function(){return h}),n.d(e,"d",function(){return f}),n.d(e,"q",function(){return m}),n.d(e,"l",function(){return g}),n.d(e,"g",function(){return b}),n.d(e,"a",function(){return v}),n.d(e,"o",function(){return y}),n.d(e,"i",function(){return w}),n.d(e,"r",function(){return O}),n.d(e,"n",function(){return _}),n.d(e,"w",function(){return x}),n.d(e,"u",function(){return j}),n.d(e,"v",function(){return T}),n.d(e,"s",function(){return D}),n.d(e,"p",function(){return z}),n.d(e,"m",function(){return C}),n.d(e,"b",function(){return E}),n.d(e,"z",function(){return S});var r=n("X4fA"),a=n("t3Un");function i(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/getApply",method:"get",params:t||{}})}function o(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/getConfirm",method:"get",params:t||{}})}function c(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/addApply",method:"post",data:t})}function l(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/putApply",method:"post",data:t})}function s(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/delApply",method:"post",data:t})}function u(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/submitApply",method:"post",data:t})}function d(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/confirmProduct",method:"post",data:t})}function p(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/rejectProduct",method:"post",data:t})}function h(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/exportRFID",method:"post",data:t})}function f(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/batchBarCode",method:"post",data:t})}function m(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/printBarCode",method:"post",data:t})}function g(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/replenishBox?code="+t,method:"get"})}function b(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/contractUnitList",method:"post",data:t})}function v(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/addContractUnit",method:"post",data:t})}function y(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/contractUnit",method:"post",data:t})}function w(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/delContractUnit",method:"post",params:t})}function O(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/zplPrint",method:"post",data:t})}function _(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/replenishBoxPrint",method:"post",data:t})}function x(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/replenishInnerPrint",method:"post",data:t})}function j(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/replenishBoxBatch",method:"post",data:t})}function T(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/replenishBoxBatchPrint",method:"post",data:t})}function D(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/produce",method:"post",data:t})}function z(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/getControlParams",method:"get",params:t||{}})}function C(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/getOwnSelectType?type="+t,method:"get"})}function E(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/addControlParams",method:"post",data:t})}function S(t){return Object(a.a)({headers:{Authorization:Object(r.a)()},url:"http://39.104.85.193:4105/contract/updateControlParams",method:"post",data:t})}},Xwmh:function(t,e,n){},jm0W:function(t,e,n){"use strict";n.r(e);var r=n("cLjf"),a=n.n(r),i=n("hDQ3"),o=n.n(i),c=n("8fCU"),l=n("Na1v"),s=n("/HSZ"),u=n.n(s),d=n("7Qib"),p=n("U7aD"),h=n.n(p),f=n("H1cT"),m=n.n(f),g={name:"replenishBox",data:function(){return{pageSize:10,recordTotal:0,currentPage:1,pageTotal:0,listLoading:!1,product:[],inputCode:"",printData:[],boxrangeOne:"",boxrangeTwo:"",itemcodeOne:"",itemcodeTwo:"",createddateOne:"",createddateTwo:"",itemnameOne:"",itemnameTwo:"",typeOne:"",typeTwo:"",manufacturerOne:"",manufacturerTwo:"",selected_device:"",devices:[]}},created:function(){},mounted:function(){var t=this,e=void 0,n=[];BrowserPrint.getDefaultDevice("printer",function(t){e=t,n.push(t),document.createElement("option").text=t.name,BrowserPrint.getLocalDevices(function(t){for(var r=0;r<t.length;r++){var a=t[r];if(!e||a.uid!=e.uid){n.push(a);var i=document.createElement("option");i.text=a.name,i.value=a.uid}}},function(){alert("Error getting local devices")},"printer")},function(t){alert(t)}),setTimeout(function(){t.selected_device=e,console.log(t.selected_device)},1e3)},methods:{handleSearch:function(){var t=this;""!==t.inputCode&&(23!==t.inputCode.length&&20!==t.inputCode.length||(t.inputCode=t.inputCode.slice(0,t.inputCode.length-1))),Object(l.l)(t.inputCode).then(function(e){var n=e.data;if("200"===n.code){var r=n.result,a=!1;null!=t.product&&t.product.length>0&&t.product.forEach(function(t){r.originalcode===t.originalcode&&(a=!0)}),a||t.product.push(n.result),t.listLoading=!1}else t.$message.error(n.message)}).catch(function(e){t.listLoading=!1,Object(c.a)({error:e,vm:t})})},handleSizeChange:function(t){this.pageSize=t,this.currentPage=1,this.handleSearch()},handleCurrentChange:function(t){this.currentPage=t,this.handleSearch()},exportCSV:function(){var t=this.product;if(null!=t&&0!==t.length){var e=this.formatJson(["ordercode","originalcode","itemname","manufacturer","explosivecontent","boxnumber","type","level","createddate","boxrange","price","crc"],t);this.downCsv(e,["合同单号","电子标签号","产品名称","生产厂家","总装药量","箱含量","产品类型","产品级别","创建时间","包装标识码","进价","校验码"])}else Object(c.a)({error:"表格数据为空",vm:this})},formatJson:function(t,e){return e.map(function(e){return t.map(function(t){return"createddate"===t?Object(d.f)(e[t],"{y}-{m}-{d}"):e[t]})})},printByControl:function(){var t=this;return o()(a.a.mark(function e(){var n,r,i,o;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==t.printData.length){e.next=4;break}t.$message({type:"warning",message:"请选择要补打的箱码"}),e.next=11;break;case 4:for(n="",r=t.selected_device,i=0;i<t.printData.length;i++)n=0===i?t.printData[i].originalcode:n+","+t.printData[i].originalcode;return e.next=9,Object(l.n)({codes:n});case 9:"200"===(o=e.sent).data.code&&t.selected_device.send(o.data.result,function(t){r.read(function(t){console.log(t)},function(t){console.error(t)})},function(t){alert("Error: "+t)});case 11:case"end":return e.stop()}},e,t)}))()},printBox:function(){var t=this;if(0===this.printData.length)this.$message({message:"请选择要补打的箱码",type:"warning"});else{for(var e=this.printData.length/2,n=0;n<e;n++){n===e-.5&&this.printData.length%2==1?(document.getElementById("boxrangeOne").innerHTML="新疆专用-包装标志码"+this.printData[2*n].boxrange,document.getElementById("itemcodeOne").innerHTML=this.printData[2*n].originalcode,document.getElementById("createddateOne").innerHTML=this.printData[2*n].createddate,document.getElementById("itemnameOne").innerHTML=this.printData[2*n].itemname,document.getElementById("typeOne").innerHTML=this.printData[2*n].type,document.getElementById("manufacturerOne").innerHTML=this.printData[2*n].manufacturer,document.getElementById("totalNumOne").innerHTML=this.printData[2*n].explosivecontent,document.getElementById("numOne").innerHTML=this.printData[2*n].boxnumber,h()("#barcode1",this.printData[2*n].originalcode,{format:"CODE128",lineColor:"#000",background:"#EBEEF5",width:8,height:300,displayValue:!1})):(document.getElementById("boxrangeOne").innerHTML="新疆专用-包装标志码"+this.printData[2*n].boxrange,document.getElementById("boxrangeTwo").innerHTML="新疆专用-包装标志码"+this.printData[2*n+1].boxrange,document.getElementById("itemcodeOne").innerHTML=this.printData[2*n].originalcode,document.getElementById("itemcodeTwo").innerHTML=this.printData[2*n+1].originalcode,document.getElementById("createddateOne").innerHTML=this.printData[2*n].createddate,document.getElementById("createddateTwo").innerHTML=this.printData[2*n+1].createddate,document.getElementById("itemnameOne").innerHTML=this.printData[2*n].itemname,document.getElementById("itemnameTwo").innerHTML=this.printData[2*n+1].itemname,document.getElementById("typeOne").innerHTML=this.printData[2*n].type,document.getElementById("typeTwo").innerHTML=this.printData[2*n+1].type,document.getElementById("manufacturerOne").innerHTML=this.printData[2*n].manufacturer,document.getElementById("manufacturerTwo").innerHTML=this.printData[2*n+1].manufacturer,document.getElementById("totalNumOne").innerHTML=this.printData[2*n].explosivecontent,document.getElementById("numOne").innerHTML=this.printData[2*n].boxnumber,document.getElementById("totalNumTwo").innerHTML=this.printData[2*n+1].explosivecontent,document.getElementById("numTwo").innerHTML=this.printData[2*n+1].boxnumber,h()("#barcode1",this.printData[2*n].originalcode,{format:"CODE128",lineColor:"#000",background:"#EBEEF5",width:8,height:300,displayValue:!1}),h()("#barcode2",this.printData[2*n+1].originalcode,{format:"CODE128",lineColor:"#000",background:"#EBEEF5",width:8,height:300,displayValue:!1}));var r=window.document.body.innerHTML,a=document.getElementById("printMe").innerHTML;if(window.document.body.innerHTML=a,document.getElementById("qrcode1").innerHTML="",n===e-.5&&this.printData.length%2==1)new m.a("qrcode1",{width:400,height:400,text:this.printData[2*n].originalcode,render:"canvas",background:"#f0f"});else{new m.a("qrcode1",{width:400,height:400,text:this.printData[2*n].originalcode,render:"canvas",background:"#f0f"});document.getElementById("qrcode2").innerHTML="";new m.a("qrcode2",{width:400,height:400,text:this.printData[2*n+1].originalcode,render:"canvas",background:"#f0f"})}window.print(),window.document.body.innerHTML=r}window.document.body.innerHTML=a,window.location.reload(),this.setTimeout(function(){t.printVisible=!0})}},handleSelectionChange:function(t){this.printData=t},downCsv:function(t,e){this.data;u.a.downloadCsv(t,{header:e},"电子标签号.csv")},clearAll:function(){this.product=[],this.inputCode=""},GetDevices:function(){this.getPrinters()}},computed:{}},b=(n("MRSm"),n("ZrdR")),v=Object(b.a)(g,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"container"},[n("div",{staticClass:"entry-container"},[t._v("\n        流向码:\n        "),n("el-input",{staticStyle:{width:"40%","padding-bottom":"20px"},attrs:{placeholder:"请输入流向码,按回车(Enter)键查询"},nativeOn:{keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13,e.key,"Enter")?t.handleSearch(e):null}},model:{value:t.inputCode,callback:function(e){t.inputCode=e},expression:"inputCode"}}),t._v(" "),n("el-button",{on:{click:t.handleSearch}},[t._v("查询")]),t._v(" "),n("el-button",{on:{click:t.printBox}},[t._v("网页补打标签")]),t._v(" "),n("el-button",{on:{click:t.printByControl}},[t._v("控件补打标签")]),t._v(" "),n("el-button",{on:{click:t.exportCSV}},[t._v("导出电子标签")]),t._v(" "),n("el-button",{on:{click:t.clearAll}},[t._v("清空")]),t._v(" "),n("el-button",{on:{click:t.GetDevices}},[t._v("获取打印机")]),t._v(" "),n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.listLoading,expression:"listLoading"}],ref:"multipleTable",staticStyle:{width:"100%"},attrs:{data:t.product},on:{"selection-change":t.handleSelectionChange}},[n("el-table-column",{attrs:{type:"selection",width:"55"}}),t._v(" "),n("el-table-column",{attrs:{label:"电子合同编号",prop:"ordercode"}}),t._v(" "),n("el-table-column",{attrs:{label:"流向码",prop:"originalcode"}}),t._v(" "),n("el-table-column",{attrs:{label:"产品名称",prop:"itemname"}}),t._v(" "),n("el-table-column",{attrs:{label:"生产厂家",prop:"manufacturer"}}),t._v(" "),n("el-table-column",{attrs:{label:"总装药量",prop:"explosivecontent"}}),t._v(" "),n("el-table-column",{attrs:{label:"箱含量",prop:"boxnumber"}}),t._v(" "),n("el-table-column",{attrs:{label:"产品类型",prop:"type"}}),t._v(" "),n("el-table-column",{attrs:{label:"产品级别",prop:"level"}}),t._v(" "),n("el-table-column",{attrs:{label:"创建时间",prop:"createddate"}})],1),t._v(" "),n("br"),t._v(" "),n("el-pagination",{directives:[{name:"show",rawName:"v-show",value:t.recordTotal>0,expression:"recordTotal>0"}],staticStyle:{float:"right"},attrs:{"current-page":t.currentPage,"page-sizes":[10,20,30,50],"page-size":t.pageSize,total:t.recordTotal,layout:"total, sizes, prev, pager, next, jumper",background:""},on:{"size-change":t.handleSizeChange,"current-change":t.handleCurrentChange}})],1),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:!1,expression:"false"}]},[n("div",{attrs:{id:"printMe"}},[n("el-row",[n("el-col",{attrs:{span:12,align:"left"}},[n("span",{staticStyle:{"font-size":"10px"},attrs:{id:"boxrangeOne"}},[t._v(t._s(t.boxrangeOne))])]),t._v(" "),n("el-col",{attrs:{span:12,align:"left"}},[n("span",{staticStyle:{"font-size":"10px","margin-top":"3px"},attrs:{id:"boxrangeTwo"}},[t._v(t._s(t.boxrangeTwo))])])],1),t._v(" "),n("el-row",[n("el-col",{staticClass:"barcode",attrs:{span:12,align:"left"}},[n("svg",{attrs:{id:"barcode1"}})]),t._v(" "),n("el-col",{staticClass:"barcode",attrs:{span:12,align:"left"}},[n("svg",{attrs:{id:"barcode2"}})])],1),t._v(" "),n("el-row",[n("el-col",{attrs:{span:12,align:"left"}},[n("el-row",[n("el-col",{staticStyle:{"padding-left":"15px"},attrs:{span:14}},[n("el-row",[n("el-col",{staticStyle:{"margin-top":"3px"},attrs:{span:24,align:"left"}},[n("span",{staticStyle:{"font-size":"8px"},attrs:{id:"itemcodeOne"}},[t._v(t._s(t.itemcodeOne))])])],1),t._v(" "),n("el-row",[n("el-col",{attrs:{span:24,align:"left"}},[n("span",{staticStyle:{"font-size":"8px"},attrs:{id:"createddateOne"}},[t._v(t._s(t.createddateOne))])])],1),t._v(" "),n("el-row",[n("el-col",{attrs:{span:24,align:"left"}},[n("span",{staticStyle:{"font-size":"8px"},attrs:{id:"itemnameOne"}},[t._v(t._s(t.itemnameOne))])])],1),t._v(" "),n("el-row",[n("el-col",{attrs:{span:24,align:"left"}},[n("span",{staticStyle:{"font-size":"8px"},attrs:{id:"typeOne"}},[t._v(t._s(t.typeOne))])])],1)],1),t._v(" "),n("el-col",{attrs:{span:10}},[n("el-col",{staticStyle:{"margin-top":"10px"},attrs:{span:24,align:"center"}},[n("div",{ref:"qrcode",staticClass:"qrcode",attrs:{id:"qrcode1"}})])],1)],1),t._v(" "),n("el-row",[n("el-col",{staticStyle:{"margin-left":"15px"},attrs:{span:24}},[n("el-row",[n("el-col",{attrs:{span:5,align:"left"}},[n("span",{staticStyle:{"font-size":"8px"}},[t._v("总装药量:")])]),t._v(" "),n("el-col",{attrs:{span:3,align:"left"}},[n("span",{staticStyle:{"font-size":"8px",display:"inline-block"},attrs:{id:"totalNumOne"}})]),t._v(" "),n("el-col",{attrs:{span:4,align:"left"}},[n("span",{staticStyle:{"font-size":"8px"}},[t._v("箱含量:")])]),t._v(" "),n("el-col",{attrs:{span:3,align:"left"}},[n("span",{staticStyle:{"font-size":"8px",display:"inline-block"},attrs:{id:"numOne"}})])],1),t._v(" "),n("el-row",[n("el-col",{attrs:{span:24,align:"left"}},[n("span",{staticStyle:{"font-size":"8px"},attrs:{id:"manufacturerOne"}},[t._v(t._s(t.manufacturerOne))])])],1)],1)],1)],1),t._v(" "),n("el-col",{attrs:{span:12,align:"left"}},[n("el-row",[n("el-col",{staticStyle:{"padding-left":"15px"},attrs:{span:14}},[n("el-row",[n("el-col",{staticStyle:{"margin-top":"5px"},attrs:{span:24,align:"left"}},[n("span",{staticStyle:{"font-size":"8px"},attrs:{id:"itemcodeTwo"}},[t._v(t._s(t.itemcodeTwo))])])],1),t._v(" "),n("el-row",[n("el-col",{attrs:{span:24,align:"left"}},[n("span",{staticStyle:{"font-size":"8px"},attrs:{id:"createddateTwo"}},[t._v(t._s(t.createddateTwo))])])],1),t._v(" "),n("el-row",[n("el-col",{attrs:{span:24,align:"left"}},[n("span",{staticStyle:{"font-size":"8px"},attrs:{id:"itemnameTwo"}},[t._v(t._s(t.itemnameTwo))])])],1),t._v(" "),n("el-row",[n("el-col",{attrs:{span:24,align:"left"}},[n("span",{staticStyle:{"font-size":"8px"},attrs:{id:"typeTwo"}},[t._v(t._s(t.typeTwo))])])],1)],1),t._v(" "),n("el-col",{attrs:{span:10}},[n("el-col",{staticStyle:{"margin-top":"10px"},attrs:{span:24,align:"center"}},[n("div",{ref:"qrcode",staticClass:"qrcode",attrs:{id:"qrcode2"}})])],1),t._v(" "),n("el-col",{staticStyle:{"padding-left":"15px"},attrs:{span:24}},[n("el-row",[n("el-col",{attrs:{span:5,align:"left"}},[n("span",{staticStyle:{"font-size":"8px"}},[t._v("总装药量:")])]),t._v(" "),n("el-col",{attrs:{span:3,align:"left"}},[n("span",{staticStyle:{"font-size":"8px",display:"inline-block"},attrs:{id:"totalNumTwo"}})]),t._v(" "),n("el-col",{attrs:{span:5,align:"left"}},[n("span",{staticStyle:{"font-size":"8px"}},[t._v("箱含量:")])]),t._v(" "),n("el-col",{attrs:{span:3,align:"left"}},[n("span",{staticStyle:{"font-size":"8px",display:"inline-block"},attrs:{id:"numTwo"}})])],1),t._v(" "),n("el-row",[n("el-col",{attrs:{align:"left"}},[n("span",{staticStyle:{"font-size":"8px"},attrs:{id:"manufacturerTwo"}})])],1)],1)],1)],1)],1)],1)])])},[],!1,null,"06b93cfb",null);v.options.__file="replenishBox.vue";e.default=v.exports},yZrW:function(t,e,n){var r,a,i;a=[],void 0===(i="function"==typeof(r=function(){"use strict";var t=["|","^"],e=[",",";","\t","|","^"],n=["\r\n","\r","\n"],r=Array.isArray||function(t){return"[object Array]"===toString.call(t)};function a(t){return"string"==typeof t}function i(t,e){return function(t){return null!=t}(t)?t:e}function o(t,e){for(var n=0,r=t.length;n<r&&!1!==e(t[n],n);n+=1);}function c(t){return t.replace(/"/g,'\\"')}function l(t){return"attrs["+t+"]"}function s(t,e){return function(t){return!isNaN(Number(t))}(t)?"Number("+l(e)+")":function(t){return 0==t||1==t}(t)?"Boolean("+l(e)+" == true)":"String("+l(e)+")"}function u(t,e,n,i){var u=[];return 3==arguments.length?(e?r(e)?o(n,function(n,r){a(e[r])?e[r]=e[r].toLowerCase():t[e[r]]=e[r],u.push("deserialize[cast["+r+"]]("+l(r)+")")}):o(n,function(t,e){u.push(s(t,e))}):o(n,function(t,e){u.push(l(e))}),u="return ["+u.join(",")+"]"):(e?r(e)?o(n,function(n,r){a(e[r])?e[r]=e[r].toLowerCase():t[e[r]]=e[r],u.push('"'+c(i[r])+'": deserialize[cast['+r+"]]("+l(r)+")")}):o(n,function(t,e){u.push('"'+c(i[e])+'": '+s(t,e))}):o(n,function(t,e){u.push('"'+c(i[e])+'": '+l(e))}),u="return {"+u.join(",")+"}"),new Function("attrs","deserialize","cast",u)}function d(e,n){var r,a=0;return o(n,function(n){var i,o=n;-1!=t.indexOf(n)&&(o="\\"+o),(i=e.match(new RegExp(o,"g")))&&i.length>a&&(a=i.length,r=n)}),r||n[0]}var p=function(){function t(t,o){if(o||(o={}),r(t))this.mode="encode";else{if(!a(t))throw new Error("Incompatible format!");this.mode="parse"}this.data=t,this.options={header:i(o.header,!1),cast:i(o.cast,!0)};var c=o.lineDelimiter||o.line,l=o.cellDelimiter||o.delimiter;this.isParser()?(this.options.lineDelimiter=c||d(this.data,n),this.options.cellDelimiter=l||d(this.data,e),this.data=function(t,e){return t.slice(-e.length)!=e&&(t+=e),t}(this.data,this.options.lineDelimiter)):this.isEncoder()&&(this.options.lineDelimiter=c||"\r\n",this.options.cellDelimiter=l||",")}function c(t,e,n,r,a){t(new e(n,r,a))}function l(t){return r(t)?"array":function(t){var e=typeof t;return"function"===e||"object"===e&&!!t}(t)?"object":a(t)?"string":function(t){return null==t}(t)?"null":"primitive"}return t.prototype.set=function(t,e){return this.options[t]=e},t.prototype.isParser=function(){return"parse"==this.mode},t.prototype.isEncoder=function(){return"encode"==this.mode},t.prototype.parse=function(t){if("parse"==this.mode){if(0===this.data.trim().length)return[];var e,n,a,i=this.data,o=this.options,l=o.header,s={cell:"",line:[]},d=this.deserialize;t||(a=[],t=function(t){a.push(t)}),1==o.lineDelimiter.length&&(w=y);var p,h,f,m=i.length,g=o.cellDelimiter.charCodeAt(0),b=o.lineDelimiter.charCodeAt(o.lineDelimiter.length-1);for(v(),p=0,h=0;p<m;p++)f=i.charCodeAt(p),e.cell&&(e.cell=!1,34==f)?e.escaped=!0:e.escaped&&34==f?e.quote=!e.quote:(e.escaped&&e.quote||!e.escaped)&&(f==g?(y(s.cell+i.slice(h,p)),h=p+1):f==b&&(w(s.cell+i.slice(h,p)),h=p+1,(s.line.length>1||""!==s.line[0])&&O(),s.line=[]));return a||this}function v(){e={escaped:!1,quote:!1,cell:!0}}function y(t){s.line.push(e.escaped?t.slice(1,-1).replace(/""/g,'"'):t),s.cell="",v()}function w(t){y(t.slice(0,1-o.lineDelimiter.length))}function O(){l?r(l)?(n=u(d,o.cast,s.line,l),(O=function(){c(t,n,s.line,d,o.cast)})()):l=s.line:(n||(n=u(d,o.cast,s.line)),(O=function(){c(t,n,s.line,d,o.cast)})())}},t.prototype.deserialize={string:function(t){return String(t)},number:function(t){return Number(t)},boolean:function(t){return Boolean(t)}},t.prototype.serialize={object:function(t){var e=this,n=Object.keys(t),r=Array(n.length);return o(n,function(n,a){r[a]=e[l(t[n])](t[n])}),r},array:function(t){var e=this,n=Array(t.length);return o(t,function(t,r){n[r]=e[l(t)](t)}),n},string:function(t){return'"'+String(t).replace(/"/g,'""')+'"'},null:function(t){return""},primitive:function(t){return t}},t.prototype.encode=function(t){if("encode"==this.mode){if(0==this.data.length)return"";var e,n,i=this.data,c=this.options,s=c.header,u=i[0],d=this.serialize,p=0;t||(n=Array(i.length),t=function(t,e){n[e+p]=t}),s&&(r(s)||(e=Object.keys(u),s=e),t(m(d.array(s)),0),p=1);var h,f=l(u);return"array"==f?(r(c.cast)?(h=Array(c.cast.length),o(c.cast,function(t,e){a(t)?h[e]=t.toLowerCase():(h[e]=t,d[t]=t)})):(h=Array(u.length),o(u,function(t,e){h[e]=l(t)})),o(i,function(e,n){var r=Array(h.length);o(e,function(t,e){r[e]=d[h[e]](t)}),t(m(r),n)})):"object"==f&&(e=Object.keys(u),r(c.cast)?(h=Array(c.cast.length),o(c.cast,function(t,e){a(t)?h[e]=t.toLowerCase():(h[e]=t,d[t]=t)})):(h=Array(e.length),o(e,function(t,e){h[e]=l(u[t])})),o(i,function(n,r){var a=Array(e.length);o(e,function(t,e){a[e]=d[h[e]](n[t])}),t(m(a),r)})),n?n.join(c.lineDelimiter):this}function m(t){return t.join(c.cellDelimiter)}},t.prototype.forEach=function(t){return this[this.mode](t)},t}();return p.parse=function(t,e){return new p(t,e).parse()},p.encode=function(t,e){return new p(t,e).encode()},p.forEach=function(t,e,n){return 2==arguments.length&&(n=e),new p(t,e).forEach(n)},p})?r.apply(e,a):r)||(t.exports=i)}}]);