Files
SIPAIIS_WMS_JSSW/WebRoot/plugins/xlsx/js/excel.min.js

1 line
22 KiB
JavaScript
Raw Normal View History

2026-01-16 14:13:44 +08:00
(function($){$.fn.extend({wybExcel:function(options){var op=$.extend({},options);return this.each(function(){var t=$(this);t.addClass("wyb-excel-table");if(op.data){initTable(t,{data:op.data,type:0})}else{initTable(t,{row:11,col:11,width:0,type:1})}})},getExcelHtml:function(){var table=$(this).find("table").first();if(table.length==1){var clone=table.clone(false);clone.find("tr:eq(0)").remove();clone.find("tr").find("td:eq(0)").remove();clone.find("td").removeClass("td-position-css").removeClass("td-chosen-css").removeClass("td-chosen-muli-css").removeAttr("contenteditable");clone.find("td[class='']").removeAttr("class");return clone.prop("outerHTML")}else{return""}},setExcelHtml:function(html){$(this).wybExcel({data:html})}});function initTable(t,setting){t.empty();var table;if(setting.type==0){t.html(setting.data);table=t.find("table").first();var fir=table.find("tr:eq(0)");var clone=fir.clone(false).height(37).insertBefore(fir);clone.find("td").css("display","").removeAttr("rowspan").removeAttr("colspan").html("").removeClass("td-chosen-css");$("<td></td>").width(50).insertBefore(table.find("tr").find("td:eq(0)"))}else if(setting.type==1){table=$("<table width='100%'></table>").appendTo(t);if(setting.width&&setting.width>0){table.width(setting.width)}for(var i=0;i<setting.row;i++){var tr=$("<tr></tr>").appendTo(table);for(var j=0;j<setting.col;j++){$("<td></td>").appendTo(tr)}}}drawDrugArea(table);eventBind(table,t);drugCell(table,t);t.unbind("contextmenu");t.on('contextmenu',function(){return false})}function eventBind(table,t){table.mousedown(function(e){if(e.button!=2){if(!$(e.target).hasClass("drug-ele-td")){table.find("td").removeClass("td-chosen-css");table.removeData("beg-td-ele");table.data("beg-td-ele",$(e.target))}}}).mouseup(function(e){if(e.button==2&&!$(e.target).hasClass("drug-ele-td")){if(table.find(".td-chosen-css").length==0){$(e.target).addClass("td-chosen-css")}showRightPanel(table,t,e)}else{closeRightPanel(t);var ele=$(e.target);if(!ele.hasClass("drug-ele-td")){if(!ele.is("table")&&table.data("beg-td-ele")&&table.data("beg-td-ele").is(ele)){ele.addClass("td-chosen-css");table.find("td").removeAttr("contenteditable");if(t.data("contentChange")&&t.data("contentChange")=="yes"){drugCell(table,t);t.removeData("contentChange")}if(ele.attr("readonly")==undefined){ele.attr("contenteditable",true);if(window.getSelection){ele[0].focus();var range=window.getSelection();if(range.focusOffset==0){range.selectAllChildren(ele[0]);range.collapseToEnd()}}else if(document.selection){var range=document.selection.createRange();range.moveToElementText(obj);range.collapse(false);range.select()}}clearPositionCss(table);var posi=getTdPosition(ele);table.find("tr").find("td:eq("+posi.col+")").addClass("td-position-css");table.find("tr:eq("+posi.row+")").find("td").addClass("td-position-css")}else{clearPositionCss(table);getChosenList(table,getTdPosition(table.data("beg-td-ele")),getTdPosition(ele))}drawChosenArea(table,t)}}});$(document).unbind("keydown");$(document).keydown(function(e){if(e.ctrlKey&&e.keyCode==90){chexiaoFunc(t)}});table.find("td").keyup(function(){t.data("contentChange","yes")})}function getChosenList(table,begPosi,endPosi){if(begPosi!=undefined&&endPosi!=undefined){var coll=[];for(var i=(begPosi.row>endPosi.row?endPosi.row:begPosi.row);i<=(begPosi.row>endPosi.row?begPosi.row:endPosi.row);i++){var tr=table.find("tr:eq("+i+")");for(var j=(begPosi.col>endPosi.col?endPosi.col:begPosi.col);j<=(begPosi.col>endPosi.col?begPosi.col:endPosi.col);j++){var td=tr.find("td:eq("+j+")");td.addClass("td-chosen-css");coll[coll.length]=td}}var coll=table.find(".td-chosen-css");var firstPosi=getTdPosition($(coll.get(0)));var beg_row=firstPosi.row;var beg_col=firstPosi.col;table.find("td").removeData("add-chosen-state").removeData("get-father-state");while(true){var end_row=0;var end_col=0;var con=false;coll.each(function(){var p=getTdPosition($(this));var r=p.row+($(this).attr("rowspan")==undefined?0:(Number($(this).attr("rowspan"))-1));var c=p.col+($(this).attr("colspan")==undefined?0:(Number($(this).attr("colspan"))-1)