当前位置: 首页 > 后端技术 > Node.js

开发了一个插件报告工具,使我的工作效率提高了90%

时间:2023-04-03 23:26:36 Node.js

姣忓懆涓€涓皬缁勪欢鍓嶈█瀹炵幇鍔熻兘锛氬紑鍙戜竴涓獁ord鏂囨。鐢熸垚lodop浠g爜鐨勬彃浠讹紙鏀寔绗笁鏂箇ord杞琱tml鐒跺悗鐢ㄦ垜鐨勬彃浠剁敓鎴恖odop浠g爜锛屽寘鎷敾绾匡級锛屾敮鎸佸姩鎬佺粦瀹歷alue鍥犱负鎴戜笂鍛ㄦ帴鍒颁竴涓换鍔¤鏄敤lodop鎵撳嵃鍑烘潵鐨刪tml琛ㄦ牸锛屽鎴锋湁鏍峰紡娣蜂贡鐨勯棶棰樸€傚叕鍙镐互鍓嶆槸鐢╨odop鐢荤嚎宸ュ叿鏉ヨВ鍐宠繖涓棶棰樼殑锛岀敾涓€涓瓧涓€涓嚎銆傜湅鍒颁竴涓ソ浜猴紝鍗佸嚑涓姤琛ㄦā鏉匡紝閮芥尯澶嶆潅鐨勶紝濡傛灉鏄函鐢诲浘锛岄偅涓嶆槸娌℃椂闂撮挀楸拣煇曪紝鎴戝共鑴嗚嚜宸卞紑鍙戜簡涓€涓嚜鍔ㄧ敓鎴恖odop鐢荤嚎宸ュ叿鐨勬彃浠讹紝濂戒汉鐨勭敓浜у姏鐩存帴鎻愬崌浜?0%浠ヤ笂锛屽張鍙互鎰夊揩鐨勯挀楸间簡锛堢爺绌舵柊鎶€鏈級馃悤銆傛晥鏋滃睍绀烘彃浠跺湴鍧€濡傛灉瀵逛綘鎻愰珮鐢熶骇鍔涙湁甯姪锛岃兘缁欎釜star鍚楋紵鍦ㄧ嚎鍦板潃瀛楃敓鎴恖odop浠g爜寮€鍙戣繃绋嬫€濊矾锛氳幏鍙栨瘡涓厓绱犵殑鍧愭爣鐗瑰埆澶勭悊绮樿创閮ㄥ垎澶勭悊dom浠g爜鐢熸垚line,content,codeofcoordinates//寰幆閫掑綊dom鏍慸omThree(node,array,fontZ,index){letvmx=杩欒children=node.childNodes;vmx.strArrayCode=vmx.clArray(array)if(node&&node.nodeType===1){letarr=[]switch(node.tagName){case'TABLE':constboxBorder=node.getBoundingClientRect()}//椤堕儴lettop_=boxBorder.top//宸﹁竟璺漧etleft_=boxBorder.left//瀹絣etwidth_=boxBorder.width//楂榣etheight_=boxBorder.heightletstrBoxBottomXOne=`LODOP.ADD_PRINT_LINE(${top_},${left_},${top_},${width_+left_},0,1);`letstrBoxBottomX=`LODOP.ADD_PRINT_LINE(${height_+top_},${left_},${height_+top_},${width_+left_},0,1);`璁﹕trBoxRightY=`LODOP.ADD_PRINT_LINE(${height_+top_},${width_+left_},${top_},${width_+left_},0,1);`array.push(strBoxBottomXOne,strBoxBottomX,strBoxRightY)涓柇锛沜ase'TD':constboxBorderTd=node.getBoundingClientRect()//椤堕儴lettopSpanTd=boxBorderTd.top//宸﹁竟璺漧etleftSpanTd=boxBorderTd.left//瀹絣etwidthSpanTd=boxBorderTd.width//楂榣etheightSpanTd=boxBorderTd.height//鍐呭letstrY=`LODOP.ADD_PRINT_LINE(${heightSpanTd+topSpanTd},${leftSpanTd},${topSpanTd},${leftSpanTd},0,1);`letstrX=`LODOP.ADD_PRINT_LINE(${heightSpanTd+topSpanTd},${leftSpanTd},${heightSpanTd+topSpanTd},${widthSpanTd+leftSpanTd},0,1);`array.push(strY,strX)涓柇锛沜ase'FONT':constboxBorderFont=node.getBoundingClientRect()//椤堕儴lettopSpanFont=boxBorderFont.top//宸﹀亸letleftSpanFont=boxBorderFont.left//瀹絣etwidthSpanFont=boxBorderFont.width//楂榣etheightSpanFont=boxBorderFont.heightletdataProps=node.getAttribute("data-Props")if(vmx.getCodeType=='new'||vmx.getCodeType=='mode'){if(dataProps){letProps=`let${dataProps}=params.${dataProps};`vmx.letPropsArray.push(letProps)letdataPropsStr=`LODOP.ADD_PRINT_TEXT(${topSpanFont},${leftSpanFont},${widthSpanFont},${heightSpanFont},\`$\{${dataProps}}\`);`//瀛椾綋闀垮害fontZ.push(dataPropsStr)//px杞琾tletpx=parseFloat(getComputedStyle(node).fontSize)||15璁﹑t=px*3/4璁ゝontFont=`LODOP.SET_PRINT_STYLEA(${fontZ.length},'FontSize',${pt});`array.push(dataPropsStr,fontFont)}}浼戞伅;涓嬭浇lodop妯℃澘锛堟牴鎹嚜宸卞紑鍙戠殑鍏蜂綋瀹炵幇娴佺▼鍙傛暟锛屾垜鍙槸鍙傝€冿級();printPage1锛堝弬鏁帮紝0锛夛紱LODOP.PREVIEW();};/***绗竴椤靛唴瀹?@paramparams*/functionprintPage1(params){letbgbb=params.bgbb;璁㎜ODOP=getLodop();LODOP.ADD_PRINT_TEXT(46,237,336,19,'杞︾敤LNG姘旂摱瀹氭湡妫€楠屾姤鍛?);LODOP.SET_PRINT_STYLEA(1,'FontSize',12);LODOP.ADD_PRINT_TEXT(81,291,228,20,'鎶ヨ〃缂栧彿锛?);LODOP.SET_PRINT_STYLEA(2,'FontSize',12);LODOP.ADD_PRINT_TEXT(81,419,80,20,`${bgbb}`);...}浠ュ悗浼氭寔缁洿鏂?..