1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123 |
- //归结主要方法有: 居中显示,关闭、打开层,自适应高度,冻结表头、冻结头和列,
- //首先: special命名为sp
- var sp = window.NameSpace || {};
- if (typeof (SM4Util) != "undefined") {
- var s4 = new SM4Util();
- }
- /*禁用右键*/
- if (window.parent.location.href.indexOf("tpl/index/index2.html") > -1 || window.location.href.indexOf("attachlist.html") > -1) {
- console.log(window.location.href)
- $("body").attr("onselectstart", "return false")
- }
- //在页面dom加载完之后执行
- $(document).ready(function () {
- sp.addMask(); //为body添加上遮罩层
- sp.setClass(); //为自定义class类添加功能操作
- sp.table(); //操作table,为table加上隔行变色、
- sp.setPanel(); //面板
- sp.disablesaving(); //禁止ctrl+s
- sp.setdisabled();
- sp.setreadonly();
- sp.addDLTX(); //为body添加上点击不会隐藏的遮罩层
-
- //文字不可被选中
- //document.body.onselectstart = function () {
- // return false;
- //}
- });
- // $(document).click(function (e) {
- // var className = ["sp-menu-item", "sp-menu-tab", "icon-menu", "sp-menu-switch"], n = 0;
- // className.forEach(function (item) {
- // if (e.target.className.indexOf(item) != -1 || ($(e.target).parents("." + item).length > 0 && e.target.className.indexOf('fa-close') == -1)) {
- // n = 1;
- // return;
- // }
- // })
- // if (n == 0) {
- // $(".sp-menu-tab", window.parent.document).removeClass("fadeInLeft").addClass("fadeOutLeft");
- // setTimeout(function () {
- // $(".sp-menu-tab", window.parent.document).hide()
- // }, 500)
- // }
- // if (n == 1) {
- // $(".sp-menu-tab", window.parent.document).removeClass("fadeOutLeft").addClass("fadeInLeft")
- // $(".sp-menu-tab", window.parent.document).show()
- // }
- // })
- sp.addMask = function () {
- //1.为每个页面的body加上遮罩层,样式为不可见
- if ($('body').find(".sp-bgMask").length < 1) {
- $('body').prepend("<div class=\"sp-bgMask\"></div>");
- }
- //2.如果body中含有对话框 sp-dialog类名,就为其加上温馨提示和关闭按钮
- if ($('body').find(".sp-dialog").length < 1) {
- $('body').prepend("<div class=\"sp-dialog\"></div>");
- }
- //3.点击遮罩层,对话框、弹出层、遮罩层均淡出
- $(".sp-bgMask").bind("click", function () {
- $(this).fadeOut(200);
- if ($(".sp-dialog").is(":visible")) { //若对话框显示则淡出
- $(".sp-dialog").fadeOut(200);
- }
- if ($(".sp-layer").is(":visible")) { //若中间层显示则淡出
- $(".sp-layer").fadeOut(200);
- }
- if ($(".sp-layer2").is(":visible")) { //若中间层显示则淡出
- $(".sp-layer2").fadeOut(200);
- }
- });
- }
- //sp.dialog("身份证号不能为空!");
- sp.dialog = function (tip, state) {
- /// <summary>显示对话框</summary>
- var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
- if (state) {
- var imgState = "<span class=\"sp-dialog-logo-true\"></span>";
- var dialogBody = "<div class=\"sp-dialog-body\"><span class=\"sp-lh-22 sp-color-gray sp-text-center\">" + tip + "</span>" + imgState + "</div>";
- var dialogFoot = "<div class=\"sp-dialog-foot\"><input type=\"button\" value=\"确 定\" class=\"sp-dialog-btnClose sp-closeDialog\" style=\"float:none;\" /></div>";
- }else if(state==false){
- var imgState = "<span class=\"sp-dialog-logo-false\"></span>";;
- var dialogBody = "<div class=\"sp-dialog-body\"><span class=\"sp-lh-22 sp-color-gray sp-text-center\">" + tip + "</span>" + imgState + "</div>";
- var dialogFoot = "<div class=\"sp-dialog-foot\"><input type=\"button\" value=\"确 定\" class=\"sp-dialog-btnClose sp-closeDialog\" style=\"float:none;\" /></div>";
- } else {
- var dialogBody = "<div class=\"sp-dialog-body\">" + tip + "</div>";
- var dialogFoot = "<div class=\"sp-dialog-foot\"><input type=\"button\" id=\"dialogClose\" value=\"关 闭\" class=\"sp-dialog-btnClose sp-closeDialog\" /></div>";
- }
-
- $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
- sp.openCenter(".sp-dialog");
- $('.sp-closeDialog').click(function (event) {
- //sp.closeCenter(".sp-dialog");
- $(".sp-dialog").fadeOut(200);
- var layerNum = 0;
- $(".sp-layer").each(function () {
- if ($(this).css("display") == "none") {
- layerNum++;
- }
- })
- if (layerNum == $(".sp-layer").length) {
- $('.sp-bgMask').fadeOut(200);
- }
- event.preventDefault(); event.stopPropagation();
- });
- }
- sp.dialoghide = function () {
- /// <summary>关闭对话框</summary>
- var layerNum = 0;
- $(".sp-dialog").fadeOut(200);
- $(".sp-layer").each(function () {
- if ($(this).css("display") == "none") {
- layerNum++;
- }
- })
- if (layerNum == $(".sp-layer").length) {
- $('.sp-bgMask').fadeOut(200);
- }
- };
- //加载loading演示
- sp.load = function () {
- /// <summary>加载loading</summary>
- if ($('body').find(".sp-load").length < 1) {
- $('body').append("<div class=\"sp-load\"><span class=\"sp-load-img\"></span><span class=\"sp-load-title\">请稍等,正努力加载中......</span></div>");
- }
- sp.setCenter(".sp-load");
- };
- sp.loadhide = function () {
- /// <summary>关闭loading</summary>
- $(".sp-load").fadeOut(200);
- };
- //打开后 居中,并且后有遮罩层
- sp.layer = function (Name, n) {
- /// <summary>打开弹出层</summary>
- //3.如果body中含有对话框sp-layer类名,就为其加上关闭按钮
- if ($('body').find(".sp-layer").length > 0) {
- $('.sp-layer').hide();//为对话框样式是可见的,加载时设置隐藏
- $('.sp-layer').each(function () {
- if ($(this).find(".sp-layer-head").length < 1) {
- $(this).prepend("<div class=\"sp-layer-head\"></div>");
- if ($(this).attr("data-title") != undefined) {
- var getTitle = $(this).attr("data-title");
- $(".sp-layer-head", this).prepend("<span class=\"sp-layer-title\">" + getTitle + "</span>");
- }
- }
- if ($(this).find(".sp-layer-close").length < 1) {
- $('.sp-layer-head', this).append("<span class=\"sp-layer-close\" title=\"关闭\" onclick=\"sp.closeCenter('.sp-layer')\">×</span>");
- }
- });
- };
- ///查看图片大图遮罩层
- if ($("body").find(".sp-layer2").length > 0) {
- $('.sp-layer2').each(function () {
- if ($(this).find(".sp-layer2-close").length < 1) {
- $(this).prepend("<span class=\"sp-layer2-close\" title=\"关闭\" onclick=\"sp.closeCenter('.sp-layer2')\"></span>");
- }
- });
- };
- if (n == 1) {
- $('.DLTX').fadeIn(200);
- } else {
- $('.sp-bgMask').fadeIn(200);
- }
- $("body").attr("onselectstart", "return false")
- setTimeout(function () {
- sp.setCenter(Name);
- sp.drag(Name)
- },100)
- }
- sp.layerhide = function () {
- /// <summary>关闭弹出层</summary>
- $(".sp-layer").fadeOut(200);
- $('.sp-bgMask').fadeOut(200);
- }
- sp.setClass = function () {
- //1.实现初始获取焦点 根据class="focus"用法
- $('.sp-focus').focus();
- //2. jquery实现input文本框禁用效果 根据class="banInput"用法
- $('.banInput').css({ 'background': '#ebebe4', 'border': '1px solid #a9a9a9', 'cursor': 'default' });
- $('.banInput').focus(function () {
- $('.banInput').blur();
- });
- //4.中间弹出层
- $('.openCenter').click(function () {
- sp.openCenter(".sp-layer");
- });
- $('.closeCenter').click(function () {
- sp.closeCenter(".sp-layer");
- });
- $('.sp-closeCenter').click(function () {
- sp.closeCenter(".sp-layer");
- });
- }
- //5.添加禁用方法
- sp.setdisabled = function () {
- $('.sp-disabled').attr("disabled", "disabled");
- $('.sp-disabled').click(function (event) {
- return false;
- event.preventDefault();
- });//禁止a标签链接跳转
- }
- ///6.为只读加上属性
- sp.setreadonly = function () {
- $('.sp-readonly').attr("readonly", "readonly");
- };
- //////下面是让层居中显示的js代码,
- ///页面调用方法 setCenter("#DivCeng"); 让DivCeng这个层打开并且居中显示 setCenter(".DivCeng");
- sp.setCenter = function (divName) {
- /// <summary>居中显示</summary>
- $(document).ready(function () {
- var top = ($(window).height() - $(divName).height()) / 2;
- var left = ($(window).width() - $(divName).width()) / 2;
- var scrollTop = $(document).scrollTop();
- var scrollLeft = $(document).scrollLeft();
- var zIndex = divName == ".sp-dialog" ? 100001 : 100000;
- $(divName).css({ position: 'absolute', 'top': top + scrollTop, left: left + scrollLeft, 'z-index': zIndex }).fadeIn(200);
- });
- //浏览器窗口大小改变时
- $(window).resize(function () {
- var top = ($(window).height() - $(divName).height()) / 2;
- var left = ($(window).width() - $(divName).width()) / 2;
- var scrollTop = $(document).scrollTop();
- var scrollLeft = $(document).scrollLeft();
- var zIndex = divName == ".sp-dialog" ? 100001 : 100000;
- $(divName).css({ position: 'absolute', 'top': top + scrollTop, left: left + scrollLeft, 'z-index': zIndex });
- });
- //浏览器有滚动条时的操作、
- $(window).scroll(function () {
- var top = ($(window).height() - $(divName).height()) / 2;
- var left = ($(window).width() - $(divName).width()) / 2;
- var scrollTop = $(document).scrollTop();
- var scrollLeft = $(document).scrollLeft();
- var zIndex = divName == ".sp-dialog" ? 100001 : 100000;
- $(divName).css({ position: 'absolute', 'top': top + scrollTop, left: left + scrollLeft, 'z-index': zIndex });
- });
- }
- ///单纯的打开、关闭 调用:close('#id')或 Close('.class')
- sp.open = function (name) {
- $(name).fadeIn(200);
- }
- sp.close = function (name) {
- $(name).fadeOut(200);
- }
- //打开后 居中,并且后有遮罩层
- sp.openCenter = function (Name) {
- /// <summary>打开后居中后有遮罩层</summary>
- $('.sp-bgMask').fadeIn(200);
- sp.setCenter(Name);
- }
- sp.closeCenter = function (Name) {
- /// <summary>关闭居中层</summary>
- $(Name).fadeOut(200);
- $('.sp-bgMask').fadeOut(200);
- $('.DLTX').fadeOut(200);
- $("body").attr("onselectstart", "")
- }
- //操作radio
- sp.funRadio = function (radioDiv, radioClass, radioCheckClass) {
- //三个参数
- $(radioDiv).each(function () {
- if (radioDiv != ".sp-radio-none") {
- $("input[type='radio']", this).hide();
- }
- $("input[type='radio']", this).parent("label").addClass(radioClass);
- $("input[type='radio']", this).click(function () {
- $(this).attr("checked", true).parent().siblings().find("input[type='radio']").removeAttr("checked");
- $(this).parent("label").addClass(radioCheckClass).siblings("label").removeClass(radioCheckClass);
- });
- $("input[type='radio']", this).each(function () {
- if ($(this).attr("checked")) {
- $(this).attr("checked", true).parent("label").addClass(radioCheckClass).siblings().removeClass(radioCheckClass);
- }
- });
- });
- }
- sp.radio = function () {
- /// <summary>美化radio</summary>
- //灰色radio
- if ($("body").find(".sp-radio-default").length > 0) {
- sp.funRadio(".sp-radio-default", "rd-default", "rd-default-checked");
- }
- //橙色radio
- if ($("body").find(".sp-radio-orange").length > 0) {
- sp.funRadio(".sp-radio-orange", "rd-orange", "rd-orange-checked");
- }
- //蓝色radio
- if ($("body").find(".sp-radio-blue").length > 0) {
- sp.funRadio(".sp-radio-blue", "rd-blue", "rd-blue-checked");
- }
- //无皮肤radio
- if ($("body").find(".sp-radio-none").length > 0) {
- sp.funRadio(".sp-radio-none", "rd-none", "rd-none-checked");
- }
- }
- //操作checkbox
- sp.funcheckbox = function (chbDiv, chbClass, chbchecked) {
- /// <summary>操作checkbox</summary>
- $(chbDiv).each(function () {
- if (chbDiv != ".sp-checkbox-none") {
- $("input[type='checkbox']", this).hide();
- }
- $("input[type='checkbox']", this).parent("label").addClass(chbClass);
- $("input[type='checkbox']", this).click(function () {
- if ($(this).parent("label").hasClass(chbchecked)) {
- $(this).removeAttr("checked").parent("label").removeClass(chbchecked);
- } else {
- $(this).attr("checked", true).parent("label").addClass(chbchecked);
- }
- });
- $("input[type='checkbox']", this).each(function () {
- if ($(this).attr("checked")) {
- $(this).attr("checked", true).parent("label").addClass(chbchecked);
- }
- });
- if ($(this).children(".sp-checkbox-all").length = 1) {
- $(".sp-checkbox-all", this).click(function () {
- if ($(this).hasClass("hasClick")) {
- $(this).removeClass("hasClick");
- $(this).parent().parent().find("input[type='checkbox']").removeAttr("checked");
- $(this).parent().parent().find("label").removeClass(chbchecked);
- } else {
- $(this).addClass("hasClick");
- $(this).parent().parent().find("input[type='checkbox']").attr("checked", true);
- $(this).parent().parent().find("label").addClass(chbchecked);
- }
- });
- }
- });
- }
- sp.checkbox = function () {
- /// <summary>美化checkbox</summary>
- if ($("body").find(".sp-checkbox-gray").length > 0) {
- sp.funcheckbox(".sp-checkbox-gray", "chb-gray", "chb-gray-checked"); //蓝色checkbox
- }
- if ($("body").find(".sp-checkbox-blue").length > 0) {
- sp.funcheckbox(".sp-checkbox-blue", "chb-blue", "chb-blue-checked"); //蓝色checkbox
- }
- if ($("body").find(".sp-checkbox-orange").length > 0) {
- sp.funcheckbox(".sp-checkbox-orange", "chb-orange", "chb-orange-checked");//橙色checkbox
- }
- if ($("body").find(".sp-checkbox-none").length > 0) {
- sp.funcheckbox(".sp-checkbox-none", "chb-none", "chb-none-checked");//无皮肤checkbox
- }
- }
- //设置upload 文件上传file控件--原生调用
- ////图片是转成base64,文件上传是模拟假的
- sp.upload = function () {
- /// <summary>美化file控件</summary>
- if ($("body").find(".sp-upload-file").length > 0) {
- $(".sp-upload .sp-upload-file").change(function () {
- if ($(this).parent().children(".sp-upload-url").length > 0) {
- var file = this.files[0];
- if (file.size > 52428800) {
- alert("文件大小不能大于50M");
- file = null;
- return false;
- } else {
- var fileUrl = $(this).val();
- $(this).parent().children(".sp-upload-url").val(fileUrl);
- }
- } else if ($(this).parent().children(".sp-upload-btn-single").length > 0) {
- var file = this.files[0];
- if (file.size > 52428800) {
- alert("文件大小不能大于50M");
- file = null;
- return false;
- } else {
- var fileUrl = $(this).val();
- var urlArr = fileUrl.split("\\");
- var getName = urlArr[urlArr.length - 1];//截取路径并获取文件的名字
- var setdiv = "<div class='sp-lh-20'>" + getName + "</div>";
- $(this).parent().children(".sp-upload-tip").show(200).append(setdiv);
- }
- }
- });
- }
- ////图片上传组件
- if ($("body").find(".sp-upload-file-img").length > 0) {
- $(".sp-upload-file-img").each(function () {
- var getimgWidth = $(this).prev(".sp-upload-img").outerWidth();
- $(this).css({ width: getimgWidth });
- });
- $(".sp-upload .sp-upload-file-img").change(function () {
- var file = this.files[0];
- if (file.size > 5242880) {
- alert("图片大小不能大于5M");
- file = null;
- return false;
- }
- var fileName = file.name;
- var postfix = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
- if (postfix != "jpg" && postfix != "png" && postfix != "jpeg" && postfix != "gif") {
- alert("图片仅支持png、jpg、jpeg、gif类型的文件");
- fileName = "";
- file = null;
- return false;
- }
- var fileUrl = $(this).val();
- $(this).parent().children(".sp-upload-img").attr("data-url", fileUrl);
- var getimg = $(this).parent().children(".sp-upload-img");
- var filereader = new FileReader();
- filereader.readAsDataURL(file);
- $(filereader).load(function () {
- getimg.attr("src", this.result);
- });
- });
- }
- }
- ////图片上传组件---正式利用ajax连接后端服务的真实功能,谨慎用,记得检查各个项目的端口地址【20180921zyg】
- ///sp.uploadimg("http://103.233.7.57:8080/GoldFile/image/upload");
- sp.uploadimg = function (imgUpUrl) {
- if (!imgUpUrl) {
- alert("您好,图片上传组件的数据库路径不能为空");
- } else if ($("body").find(".sp-upload-file-img").length > 0) {
- //此是设置图片上传file控件跟其上部的img宽度设为一致,解决点击img右侧外部区域触发上传事件的bug
- $(".sp-upload-file-img").each(function () {
- var getimgWidth = $(this).prev(".sp-upload-img").outerWidth();
- $(this).css({ width: getimgWidth });
- });
- $(".sp-upload .sp-upload-file-img").change(function () {
- var file = this.files[0];
- if (file.size > 5242880) {
- //5M:5242880,10M:10485760,20M:2097120,30M:31457280,40M:41943040,50M:52428800,100M:104857600
- alert("图片大小不能大于5M");
- file = null;
- return false;
- }
- var fileName = file.name;
- var postfix = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
- if (postfix != "jpg" && postfix != "png" && postfix != "jpeg" && postfix != "gif") {
- alert("图片仅支持png、jpg、jpeg、gif类型的文件");
- fileName = "";
- file = null;
- return false;
- }
- var fileUrl = $(this).val();
- $(this).parent().children(".sp-upload-img").attr("data-url", fileUrl).attr("data-name", fileName);
- var getimg = $(this).parent().children(".sp-upload-img");
- var filereader = new FileReader();
- filereader.readAsDataURL(file);
- $(filereader).load(function () {
- //getimg.attr("src", this.result);
- /////post给另外一个服务器生成一个文件地址,再返回
- var picBase = this.result;
- var picName = file.name;
- var str = "base64,"
- var begin = picBase.indexOf(str) + str.length;
- picBase = picBase.substring(begin, picBase.length);
- var data = {
- "filename": picName,
- "filedata": picBase
- }
- ////将base64和文件名传给后台
- $.ajax({
- url: imgUpUrl,
- type: 'post',
- contentType: "application/json",
- data: JSON.stringify(data),
- dataType: "json",
- success: function (res) {
- if (res.success) {
- //sp.dialog("图片上传成功");
- //$("#eventIMG").attr("src", res.url);
- getimg.attr("src", res.url); ///将文件路径赋给图片
- } else {
- alert("你好,图片上传失败");
- }
- }
- });
- });
- });
- } else { return;}
- };
- ////小文件上传组件---正式利用ajax连接后端服务的真实功能,谨慎用,记得检查各个项目的端口地址【20180921zyg】
- ///sp.uploadfile("http://103.233.7.57:8080/GoldFile/stream/upload");
- sp.uploadfile = function (fileUpUrl) {
- //$("#fbMainTableProgress_13").show();
- //$("#fbMainTableProgress_13").myProgress({ speed: 1000, percent: 30, width: "100%", height: "10px" });
- if (!fileUpUrl) {
- alert("您好,附件上传的数据库路径不能为空");
- } else if ($("body").find(".sp-upload-file-single").length > 0) {
- $(".sp-upload .sp-upload-file-single").change(function () {
- ////按钮风格
- var tip = $(this).parent().children(".sp-upload-tip");////获取显示文件及进度条的区域元素
- tip.show();///发生变化,让其显示
- var getfiles = this.files;
- var setindex = 0;
- sp.uploadfile_submit(tip, setindex, getfiles, fileUpUrl); ///调用方法,
- });
- } else { return;}
- };
- sp.uploadfile_submit = function (tip, index, getfiles, fileUpUrl) {
- ///传递三个变量,tip元素,index递归顺序量,getfiles全部文件
- var setindex = index;
- var fileItem = getfiles[setindex];///声明文件流中的第几个文件
- var getName = fileItem.name;//声明文件的名字
- var fileItemSize = fileItem.size; ////声明文件的大小
- var hasfilevar = 0;///声明变量记录是否有重复文件
- tip.find(".sp-upload-tip-lh").each(function () {
- if (getName == $(this).attr("data-name")) {
- alert("文件<" + getName + ">不能重复上传");
- hasfilevar = 1;
- //fileItem = null;
- };
- });
- if (hasfilevar != 1) {
- ////不含重复上传的重名文件
- if (fileItemSize > 10485760) {
- //5M:5242880,10M:10485760,20M:2097120,30M:31457280,40M:41943040,50M:52428800,100M:104857600
- alert("文件<" + getName + ">大小不能大于10M"); ///目前为了防止恶意上传,限制10M;后期根据项目需要进行更改
- fileItem = null;
- return false;
- } else {
- var fileSize = 0;
- if (fileItemSize > 1024 * 1024) {
- fileSize = (Math.round(fileItemSize * 100 / (1024 * 1024)) / 100).toString() + 'MB';
- }
- else {
- fileSize = (Math.round(fileItemSize * 100 / 1024) / 100).toString() + 'KB';
- }
- //往tip中append---sp-upload-tip-lh
- var settiplh = "<div class='sp-upload-tip-lh' data-url='' data-name='" + getName + "'><div class='sp-progress sp-progress-blue' style='display:none;'><div class='percent-show'><span>0</span>%</div><div class='progress-in'></div></div><div class='sp-upload-tip-info'></div></div>";
- tip.append(settiplh);
- var eqtiplh = tip.find(".sp-upload-tip-lh:last-child");//得到刚添加的最后一个.sp-upload-tip-lh元素
- var fileProgress = eqtiplh.children(".sp-progress");////其下进度条
- fileProgress.show();
- //eqtiplh.show();
- var formData = new FormData();///声明FormData
- formData.append("streamFile", fileItem); ///将存放在参数名streamFile中的file中的数据一起append到formData
- var date1 = new Date();
- $.ajax({
- url: fileUpUrl,
- type: 'POST',
- cache: false, //上传文件无需缓存
- data: formData,
- async: true, ///异步true,同步false
- processData: false,// 是否序列化data属性,默认true(注意:false时type必须是post)
- contentType: false,// 当有文件要上传时,此项是必须的,否则后台无法识别文件流的起始位置
- xhr: function () {
- //这是关键 获取原生的xhr对象
- var xhr = jQuery.ajaxSettings.xhr();
- /////监测上传进度
- xhr.upload.onprogress = function (ev) {
- if (ev.lengthComputable) {
- var percent = 100 * ev.loaded / ev.total;
- fileProgress.myProgress({ speed: 0, percent: percent.toFixed(0), width: "100%", height: "10px" });
- //console.log(percent, ev); ///打印百分比以及进度
- }
- }
- ////上传完成后
- xhr.upload.onload = function () {
- setTimeout(function () {
- fileProgress.hide();
- eqtiplh.children(".sp-upload-tip-info").show().append("" + getName + "(" + fileSize + ")-上传成功<i class='fa fa-close sp-upload-tip-close'> 删除</i>");
- $(".sp-upload .sp-upload-tip-lh").each(function () {
- $(".fa-close", this).click(function () {
- $(this).parents(".sp-upload-tip-lh").remove();
- });
- });
- }, 200);
- }
- return xhr;
- },
- success: function (res) {
- eqtiplh.attr("data-url", res.url).attr("data-size", fileItemSize);
- },
- error: function (data, status, e) {
- alert("您好,附件上传失败");
- console.log(e);
- }
- });
- }
- }
- ///递归循环调用此方法,加个延时防止异步加载返回值冲突
- setTimeout(function () {
- if (setindex < getfiles.length - 1) {
- setindex++;
- sp.uploadfile_submit(tip, setindex, getfiles); ///调用方法
- };
- }, 100);
- };
- ///div自适应分辨率高度 使用: fitHeight('#id', 50);fitHeight('.class', 50);
- sp.fitHeight = function (Name, Height) {
- /// <summary>自适应分辨率的高度</summary>
- $(document).ready(function () { //DOM加载后就执行
- var WindowHeight = $(window).height();
- $(Name).css('height', WindowHeight - Height);
- });
- $(window).resize(function () { //改变窗体大小时 *resize()变化或者改变事件
- var WindowHeight = $(window).height();
- $(Name).css('height', WindowHeight - Height);
- });
- $(window).scroll(function () { //浏览器有滚动条时的操作 scroll()滚动事件
- var WindowHeight = $(window).height();
- $(Name).css('height', WindowHeight - Height);
- });
- }
- ///div自适应分辨率高度 使用: fitWidth('#id', 50);fitWidth('.class', 50);
- sp.fitWidth = function (Name, width) {
- /// <summary>自适应分辨率宽度</summary>
- $(document).ready(function () { //DOM加载后就执行
- var WindownWidth = $(window).width();
- $(Name).css('width', (WindownWidth - width) + 'px');
- });
- $(window).resize(function () { //改变窗体大小时 *resize()变化或者改变事件
- var WindownWidth = $(window).width();
- $(Name).css('width', (WindownWidth - width) + 'px');
- });
- $(window).scroll(function () { //浏览器有滚动条时的操作 scroll()滚动事件
- var WindownWidth = $(window).width();
- $(Name).css('width', (WindownWidth - width) + 'px');
- });
- }
- //操作table
- sp.table = function () {
- /// <summary>设置table</summary>
- if ($('body').find(".sp-grid").length > 0) {
- $('.sp-grid-striped tbody tr:odd').addClass('evenTr');//奇数行背景色
- $('.sp-grid tbody tr:last-child td').css('border-bottom', '0');
- $('.sp-grid-select tbody tr').click(function () {
- if ($(this).hasClass('sp-grid-trselected')) {
- $(this).removeClass('sp-grid-trselected')
- }
- else {
- $(this).addClass('sp-grid-trselected').siblings().removeClass('sp-grid-trselected');
- }
- });
- }
- //$('.grid tbody tr td').each(function () {
- // $(this).attr("title", $(this).text());//加上title属性
- //});
- }
- /**sp.getPage(URL, ID);调用Ajax获取数据集 <param name="URL">URL地址</param>**/
- sp.getPage = function (URL, ID) {
- /// 调用Ajax获取数据集 <param name="URL">URL地址</param> <returns>返回数据集</returns>
- sp.AjaxControl(URL, function (result) {
- $(ID).html(result);
- });
- };
- /**Common.AjaxControl(URL, callBack);调用Ajax操作**/
- sp.AjaxControl = function (URL, callBack) {
- /// 调用Ajax操作数据库(底层方法)
- /// <param name="URL">URL地址</param>
- /// <param name="callBack">回调函数的作用就是在Ajax成功执行之后可以执行一个函数</param>
- /// <returns>返回数据集</returns>
- $.ajax({
- url: URL, //这里是静态页的地址
- type: "GET", //静态页用get方法,否则服务器会抛出405错误
- //cache: false,
- async: false,
- success: function (result) {
- callBack(result);
- },
- //请求执行异常后,执行的方法
- error: function (XMLHttpRequest, textStatus, errorThrown) {
- alert("没有找到页面源!");
- }
- });
- };
- //操作5级菜单
- sp.setLeftMenu = function () {
- $(".sp-leftmenu-first").children("a").on("click", function () {
- if ($(this).hasClass("hasclick")) {
- $(this).removeClass("hasclick").parents(".sp-leftmenu-first").find(".sp-leftmenu-second").slideUp(300);
- if ($(this).children(".sp-leftmenu-icon").length > 0) {
- $('.sub-logo', this).show();
- $('.sub-logo-hide', this).hide();
- }
- } else {
- //点击一级菜单时,如果已经折叠,取消折叠样式,
- if ($('#spWrapperLeftBar').hasClass('sp-leftmenu-fold')) {
- $('#spWrapperLeftBar').removeClass("sp-leftmenu-fold");
- $("#setLeftMenu_fold").removeClass("hasclick");
- $('.sp-wrapper-left').css('width', '140px');
- $('.sp-wrapper-right').css('left', '140px');
- }
- $(this).addClass("hasclick").addClass("sp-leftmenu-active");
- var leftmenufirst = $(this).parents(".sp-leftmenu-first");
- leftmenufirst.siblings().children("a").removeClass('sp-leftmenu-active').removeClass("hasclick");
- if ($(this).children(".sp-leftmenu-icon").length > 0) {
- //含有子菜单
- $('.sub-logo', this).hide();
- $('.sub-logo-hide', this).show();
- leftmenufirst.find(".sp-leftmenu-second").slideDown(300);//其下二级菜单展开
- } else {
- //不含子菜单
- var get_clickID = $(this).attr('id');//获取menuClick的id
- localStorage.setItem("GlWorkPlatform-setLeftBarClickID", get_clickID);
- }
- leftmenufirst.siblings().find('.sub-logo').show(); //其他一级菜单下右侧图标恢复
- leftmenufirst.siblings().find('.sub-logo-hide').hide();//其他一级菜单下右侧图标恢复
- leftmenufirst.siblings('li').find('li').slideUp(300);
- }
- });
- $(".sp-leftmenu-second").children("a").on("click", function () {
- if ($(this).hasClass("hasclick")) {
- $(this).removeClass("hasclick").removeClass("leftmenuClick").parents(".sp-leftmenu-second").find(".sp-leftmenu-third").slideUp(300);
- if ($(this).children(".sp-leftmenu-icon").length > 0) {
- $('.sub-logo', this).show();
- $('.sub-logo-hide', this).hide();
- }
- } else {
- $(this).addClass("hasclick").addClass("leftmenuClick");
- var leftmenufirst = $(this).parents(".sp-leftmenu-first");
- var leftmenuSecond = $(this).parents(".sp-leftmenu-second");
- if ($(this).children(".sp-leftmenu-icon").length > 0) {
- ///含有子菜单时
- $('.sub-logo', this).hide();
- $('.sub-logo-hide', this).show();
- leftmenuSecond.find(".sp-leftmenu-third").slideDown(300); ///当前级别三级菜单打开
- } else {
- //其下不含有子菜单
- var get_clickID = $(this).attr('id');//获取menuClick的id
- localStorage.setItem("GlWorkPlatform-setLeftBarClickID", get_clickID);
- }
- leftmenuSecond.siblings().find("li").slideUp(300); //其他二级菜单下三级菜单折叠
- leftmenuSecond.siblings().children("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他二级菜单去掉样式
- leftmenuSecond.siblings().find('.sub-logo').show(); //其他二级菜单下右侧图标恢复
- leftmenuSecond.siblings().find('.sub-logo-hide').hide();//其他二级菜单下右侧图标恢复
- leftmenufirst.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他一级下菜单去掉样式
- }
- });
- $(".sp-leftmenu-third").children("a").on("click", function () {
- if ($(this).hasClass("hasclick")) {
- $(this).removeClass("hasclick").removeClass("leftmenuClick").parents(".sp-leftmenu-third").find(".sp-leftmenu-fourth").slideUp(300);
- if ($(this).children(".sp-leftmenu-icon").length > 0) {
- $('.sub-logo', this).show();
- $('.sub-logo-hide', this).hide();
- }
- } else {
- $(this).addClass("hasclick").addClass("leftmenuClick");
- var leftmenufirst = $(this).parents(".sp-leftmenu-first");
- var leftmenuSecond = $(this).parents(".sp-leftmenu-second");
- var leftmenuThird = $(this).parents(".sp-leftmenu-third");
- if ($(this).children(".sp-leftmenu-icon").length > 0) {
- ///含有子菜单时
- $('.sub-logo', this).hide();
- $('.sub-logo-hide', this).show();
- leftmenuThird.find(".sp-leftmenu-fourth").slideDown(300); ///当前级别四级菜单打开
- } else {
- //其下不含有子菜单
- var get_clickID = $(this).attr('id');//获取menuClick的id
- localStorage.setItem("GlWorkPlatform-setLeftBarClickID", get_clickID);
- }
- leftmenuThird.siblings().find("li").slideUp(300); //其他三级菜单下四级菜单折叠
- leftmenuThird.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他三级菜单去掉样式
- leftmenuThird.siblings().find('.sub-logo').show(); //其他同级菜单下右侧图标恢复
- leftmenuThird.siblings().find('.sub-logo-hide').hide();//其他同级菜单下右侧图标恢复
- leftmenuSecond.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他二级下菜单去掉样式
- leftmenufirst.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他一级下菜单去掉样式
- leftmenuSecond.children("a").removeClass("leftmenuClick");///父级二级菜单去掉样式
- };
- });
- $(".sp-leftmenu-fourth").children("a").on("click", function () {
- if ($(this).hasClass("hasclick")) {
- $(this).removeClass("hasclick").removeClass("leftmenuClick").parents(".sp-leftmenu-fourth").find(".sp-leftmenu-fifth").slideUp(300);
- if ($(this).children(".sp-leftmenu-icon").length > 0) {
- $('.sub-logo', this).show();
- $('.sub-logo-hide', this).hide();
- }
- } else {
- $(this).addClass("hasclick").addClass("leftmenuClick");
- var leftmenufirst = $(this).parents(".sp-leftmenu-first");
- var leftmenuSecond = $(this).parents(".sp-leftmenu-second");
- var leftmenuThird = $(this).parents(".sp-leftmenu-third");
- var leftmenuFourth = $(this).parents(".sp-leftmenu-fourth");
- if ($(this).children(".sp-leftmenu-icon").length > 0) {
- ///含有子菜单时
- $('.sub-logo', this).hide();
- $('.sub-logo-hide', this).show();
- leftmenuFourth.find(".sp-leftmenu-fifth").slideDown(300); ///当前级别四级菜单打开
- } else {
- //其下不含有子菜单
- var get_clickID = $(this).attr('id');//获取menuClick的id
- localStorage.setItem("GlWorkPlatform-setLeftBarClickID", get_clickID);
- }
- leftmenuFourth.siblings().find("li").slideUp(300); //其他四级菜单下五级菜单折叠
- leftmenuFourth.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他四级菜单去掉样式
- leftmenuFourth.siblings().find('.sub-logo').show(); //其他同级菜单下右侧图标恢复
- leftmenuFourth.siblings().find('.sub-logo-hide').hide();//其他同级菜单下右侧图标恢复
- leftmenuThird.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他三级下菜单去掉样式
- leftmenuSecond.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他二级下菜单去掉样式
- leftmenufirst.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他一级下菜单去掉样式
- leftmenuThird.children("a").removeClass("leftmenuClick");///父级三级菜单去掉样式
- leftmenuSecond.children("a").removeClass("leftmenuClick");///父级二级菜单去掉样式
- };
- });
- $(".sp-leftmenu-fifth").children("a").on("click", function () {
- if ($(this).hasClass("hasclick")) {
- $(this).removeClass("hasclick").removeClass("leftmenuClick");
- } else {
- $(this).addClass("hasclick").addClass("leftmenuClick");
- var leftmenufirst = $(this).parents(".sp-leftmenu-first");
- var leftmenuSecond = $(this).parents(".sp-leftmenu-second");
- var leftmenuThird = $(this).parents(".sp-leftmenu-third");
- var leftmenuFourth = $(this).parents(".sp-leftmenu-fourth");
- var leftmenuFifth = $(this).parents(".sp-leftmenu-fifth");
- if ($(this).children(".sp-leftmenu-icon").length > 0) {
- ///含有子菜单时
- $('.sub-logo', this).hide();
- $('.sub-logo-hide', this).show();
- leftmenuFourth.find(".sp-leftmenu-fifth").slideDown(300); ///当前级别四级菜单打开
- } else {
- //其下不含有子菜单
- var get_clickID = $(this).attr('id');//获取menuClick的id
- localStorage.setItem("GlWorkPlatform-setLeftBarClickID", get_clickID);
- }
- leftmenuFifth.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他五级菜单去掉样式
- leftmenuFourth.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他四级下菜单去掉样式
- leftmenuThird.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他三级下菜单去掉样式
- leftmenuSecond.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他二级下菜单去掉样式
- leftmenufirst.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他一级下菜单去掉样式
- leftmenuFourth.children("a").removeClass("leftmenuClick");///父级四级菜单去掉样式
- leftmenuThird.children("a").removeClass("leftmenuClick");///父级三级菜单去掉样式
- leftmenuSecond.children("a").removeClass("leftmenuClick");///父级二级菜单去掉样式
-
- };
- });
- //左侧最上折叠/打开左侧菜单 按钮
- $("#setLeftMenu_fold").on("click", function () {
- if ($(this).hasClass("hasclick")) {
- $(this).removeClass("hasclick");
- $('#spWrapperLeftBar').removeClass("sp-leftmenu-fold");
- $('.sp-wrapper-left').css('width', '140px');
- $(".sp-wrapper-right").css("left", "140px");
- }
- else {
- $(this).addClass("hasclick");
- $('#spWrapperLeftBar').addClass("sp-leftmenu-fold");
- $('.sp-wrapper-left').css('width', '40px');
- $(".sp-wrapper-right").css("left", "40px");
- }
- });
- };
- //操作皮肤变色,将变色id加到localStorage中
- sp.setCssSkin = function () {
- //选择皮肤
- if ($("body").find(".sp-skin-box").length > 0) {
- var li = $(".sp-skin-box span");
- li.click(function () {
- var id = $(this).attr('id');
- $(this).addClass("sp-skin-current").siblings().removeClass("sp-skin-current");
- $("#skin_color").attr("href", "AFrontEnd/css/skin/" + id + ".css");
- localStorage.setItem("GlWorkPlatform-cssSkin", id);
- });
- var cookieSkin = localStorage.getItem("GlWorkPlatform-cssSkin");
- if (cookieSkin) {
- $("#" + cookieSkin).addClass("sp-skin-current").siblings().removeClass("sp-skin-current");
- $("#skin_color").attr("href", "AFrontEnd/css/skin/" + cookieSkin + ".css");
- localStorage.setItem("GlWorkPlatform-cssSkin", cookieSkin);
- }
- }
- }
- sp.setCssSkinTwo = function () {
- //选择皮肤
- if ($("body").find(".sp-skin-box").length > 0) {
- var li = $(".sp-skin-box span");
- li.click(function () {
- var id = $(this).attr('id');
- $(this).addClass("sp-skin-current").siblings().removeClass("sp-skin-current");
- $("#skin_color").attr("href", "AFrontEnd/css/skintwo/" + id + ".css");
- localStorage.setItem("GlWorkPlatform-cssSkin", id);
- });
- var cookieSkin = localStorage.getItem("GlWorkPlatform-cssSkin");
- if (cookieSkin) {
- $("#" + cookieSkin).addClass("sp-skin-current").siblings().removeClass("sp-skin-current");
- $("#skin_color").attr("href", "AFrontEnd/css/skintwo/" + cookieSkin + ".css");
- localStorage.setItem("GlWorkPlatform-cssSkin", cookieSkin);
- }
- }
- }
- ///根据localStorage中存的菜单id,加载到设置中 20180801改
- sp.setLeftMenuActiveByCookie = function () {
- //判断存到的ID 然后进行一级、二级、三级的判断
- var cookie_clickID = localStorage.getItem("GlWorkPlatform-setLeftBarClickID");
- //加上条件,在其不能为空或者null时方可执行
- if (cookie_clickID != "" && cookie_clickID != null) {
- localStorage.setItem("GlWorkPlatform-setLeftBarClickID", cookie_clickID);
- //获取ID的class,然后进行一级、二级、三级的判断
- var get_className = $("#" + cookie_clickID).parent().attr('class');
- if (get_className != "" && get_className != null && get_className != undefined) {
- if (get_className.indexOf('sp-leftmenu-first') != -1) {
- ///仅有一级菜单时
- sp.restoreHomeFirst("#" + cookie_clickID);
- }
- else if (get_className.indexOf('sp-leftmenu-second') != -1) {
- ///含有有二级菜单时
- sp.restoreHomeSecond("#" + cookie_clickID);
- }
- else if (get_className.indexOf("sp-leftmenu-third") != -1) {
- //三级three
- sp.restoreHomeThird("#" + cookie_clickID);
- }
- else if (get_className.indexOf('sp-leftmenu-fourth') != -1) {///四级 .four
- sp.restoreHomeFourth("#" + cookie_clickID);
- }
- else if (get_className.indexOf('sp-leftmenu-fifth') != -1) {///五级 .five
- sp.restoreHomeFifth("#" + cookie_clickID);
- } else { return; }
- }
- }
- }
- ///当首页文件处在一级时
- sp.restoreHomeFirst = function (getfileid) {
- $(getfileid).addClass("hasclick").addClass("sp-leftmenu-active");
- var leftmenufirst = $(getfileid).parents(".sp-leftmenu-first");
- leftmenufirst.siblings().children("a").removeClass('sp-leftmenu-active').removeClass("hasclick");
- leftmenufirst.siblings().find('.sub-logo').show(); //其他一级菜单下右侧图标恢复
- leftmenufirst.siblings().find('.sub-logo-hide').hide();//其他一级菜单下右侧图标恢复
- leftmenufirst.siblings('li').find('li').slideUp(300);
- leftmenufirst.children("a").find('.sub-logo').hide(); //右侧图标变化
- leftmenufirst.children("a").find('.sub-logo-hide').show();
- };
- ///当首页文件处在二级时
- sp.restoreHomeSecond = function (getfileid) {
- $(getfileid).addClass("hasclick").addClass("leftmenuClick");
- var leftmenufirst = $(getfileid).parents(".sp-leftmenu-first");
- var leftmenuSecond = $(getfileid).parents(".sp-leftmenu-second");
- leftmenuSecond.siblings().find("li").slideUp(300); //其他二级菜单下三级菜单折叠
- leftmenuSecond.siblings().children("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他二级菜单去掉样式
- leftmenuSecond.siblings().find('.sub-logo').show(); //其他二级菜单下右侧图标恢复
- leftmenuSecond.siblings().find('.sub-logo-hide').hide();//其他二级菜单下右侧图标恢复
- leftmenufirst.find(".sp-leftmenu-second").slideDown(300); ///当前级别二级菜单打开
- leftmenufirst.children("a").find('.sub-logo').hide();
- leftmenufirst.children("a").find('.sub-logo-hide').show();///右侧图标变化
- leftmenufirst.children("a").addClass("sp-leftmenu-active");
- leftmenufirst.siblings().find('li').slideUp(300);
- leftmenufirst.siblings().find('.sub-logo').show();
- leftmenufirst.siblings().find('.sub-logo-hide').hide(); //其他一级菜单下右侧图标恢复
- leftmenufirst.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick").removeClass("sp-leftmenu-active");///其他一级下菜单去掉样式
- };
- ///当首页文件 处在三级时
- sp.restoreHomeThird = function (getfileid) {
- //三级three
- $(getfileid).addClass("hasclick").addClass("leftmenuClick");
- var leftmenufirst = $(getfileid).parents(".sp-leftmenu-first");
- var leftmenuSecond = $(getfileid).parents(".sp-leftmenu-second");
- var leftmenuThird = $(getfileid).parents(".sp-leftmenu-third");
- leftmenuThird.siblings().find("li").slideUp(300); //其他三级菜单下四级菜单折叠
- leftmenuThird.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他三级菜单去掉样式
- leftmenuThird.children("a").find('.sub-logo').hide();
- leftmenuThird.children("a").find('.sub-logo-hide').show(); ///右侧图标变化
- leftmenuThird.siblings().find('.sub-logo').show();
- leftmenuThird.siblings().find('.sub-logo-hide').hide(); //其他同级菜单下右侧图标恢复
- leftmenuSecond.find(".sp-leftmenu-third").slideDown(300); ///当前级别三级菜单打开
- leftmenuSecond.siblings().find("li").slideUp(300); //其他二级菜单下三级菜单折叠
- leftmenuSecond.siblings().children("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他二级菜单去掉样式
- leftmenuSecond.children("a").find('.sub-logo').hide();
- leftmenuSecond.children("a").find('.sub-logo-hide').show(); //其右侧标变化
- leftmenuSecond.siblings().find('.sub-logo').show();
- leftmenuSecond.siblings().find('.sub-logo-hide').hide(); //其他二级菜单下右侧图标恢复
- leftmenufirst.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick").removeClass("sp-leftmenu-active");///其他一级下菜单去掉样式
- leftmenufirst.find(".sp-leftmenu-second").slideDown(300); ///当前级别二级菜单打开
- leftmenufirst.children("a").find('.sub-logo').hide();
- leftmenufirst.children("a").find('.sub-logo-hide').show();
- leftmenufirst.children("a").addClass("sp-leftmenu-active");
- leftmenufirst.siblings().find('li').slideUp(300);
- leftmenufirst.siblings().find('.sub-logo').show();
- leftmenufirst.siblings().find('.sub-logo-hide').hide(); //其他一级菜单下右侧图标恢复
- };
- ///当首页文件处在四级时
- sp.restoreHomeFourth = function (getfileid) {
- $(getfileid).addClass("hasclick").addClass("leftmenuClick");
- var leftmenufirst = $(getfileid).parents(".sp-leftmenu-first");
- var leftmenuSecond = $(getfileid).parents(".sp-leftmenu-second");
- var leftmenuThird = $(getfileid).parents(".sp-leftmenu-third");
- var leftmenuFourth = $(getfileid).parents(".sp-leftmenu-fourth");
- leftmenuFourth.siblings().find("li").slideUp(300); //其他四级菜单下五级菜单折叠
- leftmenuFourth.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他四级菜单去掉样式
- leftmenuFourth.children("a").find('.sub-logo').hide();
- leftmenuFourth.children("a").find('.sub-logo-hide').show(); //其右侧标变化
- leftmenuFourth.siblings().find('.sub-logo').show().find('.sub-logo-hide').hide(); //其他同级菜单下右侧图标恢复
- leftmenufirst.find(".sp-leftmenu-second").slideDown(300);//其下二级菜单展开
- leftmenufirst.siblings('li').find('li').slideUp(300);
- leftmenufirst.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick").removeClass("sp-leftmenu-active");///其他一级下菜单去掉样式
- leftmenufirst.children("a").addClass("sp-leftmenu-active");
- leftmenufirst.children("a").find('.sub-logo').hide();
- leftmenufirst.children("a").find('.sub-logo-hide').show();
- leftmenufirst.siblings().find('.sub-logo').show();
- leftmenufirst.siblings().find('.sub-logo-hide').hide(); //其他一级菜单下右侧图标恢复
- leftmenuSecond.find(".sp-leftmenu-third").slideDown(300); ///当前级别三级菜单打开
- leftmenuSecond.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他二级下菜单去掉样式
- leftmenuSecond.siblings().children("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他二级菜单去掉样式
- leftmenuSecond.children("a").find('.sub-logo').hide();
- leftmenuSecond.children("a").find('.sub-logo-hide').show(); //其右侧标变化
- leftmenuSecond.siblings().find('.sub-logo').show();
- leftmenuSecond.siblings().find('.sub-logo-hide').hide(); //其他二级菜单下右侧图标恢复
- leftmenuThird.find(".sp-leftmenu-fourth").slideDown(300); ///当前级别四级菜单打开
- leftmenuThird.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他三级下菜单去掉样式
- leftmenuThird.children("a").removeClass("leftmenuClick");///父级三级菜单去掉样式
- leftmenuThird.children("a").find('.sub-logo').hide();
- leftmenuThird.children("a").find('.sub-logo-hide').show(); //其右侧标变化
- leftmenuThird.siblings().find('.sub-logo').show();
- leftmenuThird.siblings().find('.sub-logo-hide').hide(); //其他同级菜单下右侧图标恢复
- };
- ///当首页文件处在五级时
- sp.restoreHomeFifth = function (getfileid) {
- $(getfileid).addClass("hasclick").addClass("leftmenuClick");
- var leftmenufirst = $(getfileid).parents(".sp-leftmenu-first");
- var leftmenuSecond = $(getfileid).parents(".sp-leftmenu-second");
- var leftmenuThird = $(getfileid).parents(".sp-leftmenu-third");
- var leftmenuFourth = $(getfileid).parents(".sp-leftmenu-fourth");
- var leftmenuFifth = $(getfileid).parents(".sp-leftmenu-fifth");
- leftmenuFifth.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他五级菜单去掉样式
- leftmenufirst.find(".sp-leftmenu-second").slideDown(300);//其下二级菜单展开
- leftmenufirst.siblings('li').find('li').slideUp(300);
- leftmenufirst.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick").removeClass("sp-leftmenu-active");///其他一级下菜单去掉样式
- leftmenufirst.children("a").addClass("sp-leftmenu-active");
- leftmenufirst.children("a").find('.sub-logo').hide();
- leftmenufirst.children("a").find('.sub-logo-hide').show();//其右侧标变化
- leftmenufirst.siblings().find('.sub-logo').show().find('.sub-logo-hide').hide(); //其他一级菜单下右侧图标恢复
- leftmenuSecond.find(".sp-leftmenu-third").slideDown(300); ///当前级别三级菜单打开
- leftmenuSecond.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他二级下菜单去掉样式
- leftmenuSecond.siblings().children("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他二级菜单去掉样式
- leftmenuSecond.children("a").find('.sub-logo').hide();
- leftmenuSecond.children("a").find('.sub-logo-hide').show(); //其右侧标变化
- leftmenuSecond.siblings().find('.sub-logo').show();
- leftmenuSecond.siblings().find('.sub-logo-hide').hide(); //其他二级菜单下右侧图标恢复
- leftmenuThird.find(".sp-leftmenu-fourth").slideDown(300); ///当前级别四级菜单打开
- leftmenuThird.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他三级下菜单去掉样式
- leftmenuThird.children("a").removeClass("leftmenuClick");///父级三级菜单去掉样式
- leftmenuThird.children("a").find('.sub-logo').hide();
- leftmenuThird.children("a").find('.sub-logo-hide').show(); //其右侧标变化
- leftmenuThird.siblings().find('.sub-logo').show();
- leftmenuThird.siblings().find('.sub-logo-hide').hide(); //其他同级菜单下右侧图标恢复
- leftmenuFourth.find(".sp-leftmenu-fifth").slideDown(300); ///当前级别四级菜单打开
- leftmenuFourth.siblings().find("li").slideUp(300); //其他四级菜单下五级菜单折叠
- leftmenuFourth.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他四级菜单去掉样式
- leftmenuFourth.children("a").find('.sub-logo').hide();
- leftmenuFourth.children("a").find('.sub-logo-hide').show(); //其右侧标变化
- leftmenuFourth.siblings().find('.sub-logo').show();
- leftmenuFourth.siblings().find('.sub-logo-hide').hide(); //其他同级菜单下右侧图标恢复
- };
- /////记录打开的菜单文件20180730
- /////保存打开的菜单中的文件路径,存入本地存储中,
- sp.savemenufile = function (idstr, title, src) {
- var fileJsonObj = { "id": idstr, "title": title, "src": src };
- if (localStorage.getItem("GlWorkPlatform-openfileArray") == undefined || localStorage.getItem("GlWorkPlatform-openfileArray") == null) {
- var openFileArray = [];
- openFileArray.push(fileJsonObj);
- localStorage.setItem("GlWorkPlatform-openfileArray", JSON.stringify(openFileArray)); //localStorage默认的是字符型,因此需要将json串转成字符型
- } else {
- var getopenfilearry = localStorage.getItem("GlWorkPlatform-openfileArray");//取出菜单文件数据
- //console.log(getopenfilearry);
- var setfilearry = JSON.parse(getopenfilearry);//把字符串转换成JSON对象
- var sethasfileno = 0; ///设置是否存有问价的标识
- var oldfiledata = ""; //旧得数据
- $.each(setfilearry, function (index, item) {
- if (item.id == idstr) {
- sethasfileno = 1; ///说明菜单文件中已经存在该文件
- oldfiledata = { "id": idstr, "title": item.title, "src": item.src };
- }
- });
- if (sethasfileno == 0) {
- //没有重复时push
- setfilearry.push(fileJsonObj);
- } else {
- ///重复时应该更新该条数据
- var updatedataarray = JSON.stringify(setfilearry);
- var updatereplaceArray = updatedataarray.replace(JSON.stringify(oldfiledata), JSON.stringify(fileJsonObj));
- setfilearry = JSON.parse(updatereplaceArray);
- }
- ///未找到,没有重复的
- //if (getopenfilearry.indexOf(JSON.stringify(fileJsonObj)) == -1) {
- // setfilearry.push(fileJsonObj);
- //};
- localStorage.setItem("GlWorkPlatform-openfileArray", JSON.stringify(setfilearry)); //localStorage默认的是字符型,因此需要将json串转成字符型
- //console.log(JSON.stringify(setfilearry));
- }
- };
- //首页tab签导航条
- sp.clickTabNavActive = function (obj) {
- var get_child_id = $(obj).attr("data-href");
- $(obj).addClass("sp-wrapper-tabs-current").siblings().removeClass("sp-wrapper-tabs-current");
- $(get_child_id).show().addClass("sp-wrapper-tabs-box-current");
- $(get_child_id).siblings().removeClass("sp-wrapper-tabs-box-current").hide();
- ////20230910增加,配置窗口弹层隐藏
- $(".gmt-work-layer").hide();
- }
- sp.closeSingleTabsNav = function (obj) {
- //点击上面的叉号时
- var get_child_id = $(obj).parent().attr("data-href"); //获取对应id
- var getid = get_child_id.substring(get_child_id.lastIndexOf("_") + 1, get_child_id.length);
- var temp = localStorage.getItem("GlWorkPlatform-openfileArray");//取出文件数据
- var tempObj = JSON.parse(temp);//把字符串转换成JSON对象
- var fileJsonObj = "";
- $.each(tempObj, function (index, item) {
- if (item.id == getid) {
- fileJsonObj = { "id": item.id, "title": item.title, "src": item.src }
- }
- });
- var setItemStr = "," + JSON.stringify(fileJsonObj);
- //console.log(setItemStr);
- var replaceArray = temp.replace(setItemStr, "");
- //console.log(replaceArray);
- localStorage.setItem("GlWorkPlatform-openfileArray", replaceArray); //localStorage默认的是字符型,因此需要将json串转成字符型
- if ($(obj).parent().hasClass("sp-wrapper-tabs-current")) {
- //若此列是当前显示的列,让其前一列显示
- $(obj).parent().prev("li").addClass("sp-wrapper-tabs-current").show();
- $(get_child_id).prev(".sp-wrapper-tabs-box-col").addClass("sp-wrapper-tabs-box-current").show();
- $(obj).parent().remove();
- $(get_child_id).remove();
- } else {
- //若不是当前列,则直接移除
- $(obj).parent().remove();
- $(get_child_id).remove();
- }
- ////当关闭到只剩下首页页签时,要将菜单定位到首页
- if (JSON.parse(replaceArray).length == 1) {
- var gethomefilecutid = JSON.parse(replaceArray)[0].id;
- if ($("body").find(".sp-wrapper-left").length > 0) {
- $("#spWrapperLeftBarUl li:eq(0) .sp-leftmenu-ltitle").each(function (index, item) {
- var getfileid = $(this).parent().attr("id");
- var getfilecutid = getfileid.substring(getfileid.lastIndexOf("_") + 1, getfileid.length);
- if (getfilecutid == gethomefilecutid) {
- if ($("#" + getfileid).parent().attr("class").indexOf("sp-leftmenu-first") != -1) {
- ///仅有一级菜单时
- sp.restoreHomeFirst("#" + getfileid);
- } else if ($("#" + getfileid).parent().attr("class").indexOf("sp-leftmenu-second") != -1) {
- ///含有二级菜单时
- sp.restoreHomeSecond("#" + getfileid);
- } else if ($("#" + getfileid).parent().attr("class").indexOf("sp-leftmenu-third") != -1) { //三级three
- //含有三级菜单时three
- sp.restoreHomeThird("#" + getfileid);
- } else { return; }
- }
- });
- } else if ($("body").find(".sp-wrapper-left-second").length > 0) {
- $("#spLeftBarULTwo li").removeClass("leftbarTwoActive");
- $("#spLeftBarULTwo li:eq(0)").addClass("leftbarTwoActive");
- ///遍历第一级菜单下面的子菜单,分处于二级和三级
- $("#spLeftBarULTwo li:eq(0) a").each(function () {
- if ($(this).find(".lbtitle").length > 0) {
- var getfileid = $(this).attr("id")
- var getfilecutid = getfileid.substring(getfileid.lastIndexOf("_") + 1, getfileid.length);
- if (getfilecutid == gethomefilecutid) {
- var getparentclass = $(this).parent("li").attr("class");
- if (getparentclass.indexOf("sp-leftbar-second") != -1) {
- $(this).parents(".sp-leftbar-first").find("a").removeClass("leftbartitleActive");
- $(this).parents(".sp-leftbar-first").siblings().find("a").removeClass("leftbartitleActive");
- $(this).addClass("leftbartitleActive");
- } else if (getparentclass.indexOf("sp-leftbar-third") != -1) {
- $(this).parents(".sp-leftbar-first").find("a").removeClass("leftbartitleActive");
- $(this).parents(".sp-leftbar-first").siblings().find("a").removeClass("leftbartitleActive");
- $(this).addClass("leftbartitleActive");
- $(this).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
- } else { return; }
- } else {
- return;
- }
- }
- });
- } else {
- return;
- }
- }
- };
- //onclick事件时引用,向首页添加tabs切换书签
- //sp.addTabNav = function (id, title, src) {
- // /// <summary>
- // /// 向首页添加tabs切换书签
- // /// </summary>
- // /// <param name="id">唯一id编码</param>
- // /// <param name="title">标题</param>
- // /// <param name="src">文件路径</param>
- // /// <returns>会生成tabs标题及文件iframe一个</returns>
- // var setID = "wrapper_tabs_box_col_" + id;
- // var set_title = "";
- // var getLen2 = sp.getlength(title); ///汉字算2个字符
- // if (getLen2 > 9) {
- // set_title = sp.cutstr(title, 8);
- // //set_title = title.substring(0, 8) + "..";
- // } else {
- // set_title = title;
- // }
- // if ($("#spWrapperTabsPart .sp-wrapper-tabs-box").children("#" + setID).length < 1) {
- // $("#spWrapperTabsPart ul li").removeClass("sp-wrapper-tabs-current");
- // $(".sp-wrapper-tabs-box-current").hide();
- // $("#spWrapperTabsPart .sp-wrapper-tabs-box .sp-wrapper-tabs-box-col").removeClass("sp-wrapper-tabs-box-current");
- // $("#spWrapperTabsPart ul").append("<li class=\"sp-wrapper-tabs-current\" id=\"wrapper_tabs_menu_li_" + id + "\" data-href=\"#" + setID + "\" title=\"" + title + "\" onclick=\"sp.clickTabNavActive(this)\">" + set_title + "<i class=\"fa fa-times-circle\" onclick=\"sp.closeSingleTabsNav(this)\"></i></li>");
- // $("#spWrapperTabsPart .sp-wrapper-tabs-box").append("<div class=\"sp-wrapper-tabs-box-col sp-wrapper-tabs-box-current\" id=\"" + setID + "\"><iframe id=\"iframe_" + setID + "\" src=\"" + src + "\" width=\"100%\" height=\"100%\" frameborder=\"0\" scrolling=\"auto\"></iframe></div>");
- // $("#" + setID).show();
- // sp.savemenufile(id, title, src); ///记录打开的菜单文件
- // sp.pagetabShiftRight();
- // } else {
- // $("#spWrapperTabsPart ul li").removeClass("sp-wrapper-tabs-current");
- // $(".sp-wrapper-tabs-box-current").hide();
- // $("#spWrapperTabsPart .sp-wrapper-tabs-box .sp-wrapper-tabs-box-col").removeClass("sp-wrapper-tabs-box-current");
- // $("#wrapper_tabs_menu_li_" + id).addClass("sp-wrapper-tabs-current").show();
- // $("#" + setID).addClass("sp-wrapper-tabs-box-current").show();
- // $("#" + setID + " iframe").attr("src", src); ////然后让里面的iframe重新加载点击后的页面
- // }
- // sp.fitHeight("iframe",$(".sp-wrapper-head").outerHeight() + $(".sp-wrapper-tabs-head").outerHeight()); //设置iframe的高度
- //};
- //根据左侧菜单json动态加载首页第一个home文件20180801
- //让菜单中的排序为第一个的页面以及页面名称显示到第一个,且没有右上关闭图标
- sp.addhometabnav = function (id, title, src) {
- var set_title = "";
- var getLen2 = sp.getlength(title);///汉字算2个字符
- if (getLen2 > 9) {
- set_title = sp.cutstr(title, 8);
- //set_title = title.substring(0, 4) + "..";
- } else {
- set_title = title;
- }
- $("#spWrapperTabsPart ul").append("<li class=\"sp-wrapper-tabs-current\" id=\"wrapper_tabs_menu_li_" + id + "\" data-href=\"#wrapper_tabs_box_col_" + id + "\" title=\"" + title + "\" onclick=\"sp.clickTabNavActive(this)\">" + set_title + "</li>");
- $("#spWrapperTabsPart .sp-wrapper-tabs-box").append("<div class=\"sp-wrapper-tabs-box-col sp-wrapper-tabs-box-current\" id=\"wrapper_tabs_box_col_" + id + "\"><iframe id=\"iframe_wrapper_tabs_box_col_" + id + "\" src=\"" + src + "\" width=\"100%\" height=\"100%\" frameborder=\"0\" scrolling=\"auto\"></iframe></div>");
- sp.fitHeight("iframe",$(".sp-wrapper-head").outerHeight() + $(".sp-wrapper-tabs-head").outerHeight()); //设置iframe的高度
- ////加载第一个菜单作为home文件时都判断并添加home文件--start,
- var fileJsonObj = { "id": id, "title": title, "src": src };
- if (localStorage.getItem("GlWorkPlatform-openfileArray") == undefined || localStorage.getItem("GlWorkPlatform-openfileArray") == null) {
- var openFileArray = [];
- openFileArray.push(fileJsonObj);
- localStorage.setItem("GlWorkPlatform-openfileArray", JSON.stringify(openFileArray)); //localStorage默认的是字符型,因此需要将json串转成字符型
- } else {
- var hashomechange = 0;
- var getopenfilearry = localStorage.getItem("GlWorkPlatform-openfileArray");//取出菜单文件数据
- $.each(JSON.parse(getopenfilearry), function (index, item) {
- if (item.id == id) {
- //说明存在第一个页签
- hashomechange = 1;
- }
- });
- ///home文件已经发生变化
- if (hashomechange == 0) {
- var openFileArray = [];
- openFileArray.push(fileJsonObj);
- localStorage.removeItem("GlWorkPlatform-openfileArray");
- localStorage.setItem("GlWorkPlatform-openfileArray", JSON.stringify(openFileArray)); //localStorage默认的是字符型,因此需要将json串转成字符型
- } else {
- sp.savemenufile(id, title, src);
- }
- }
- ////--end
- ///将home文件所在的左侧菜单进行激活并展开-start
- setTimeout(function () {
- if ($("body").find(".sp-wrapper-left").length > 0) {
- $("#spWrapperLeftBarUl li:eq(0) .sp-leftmenu-ltitle").each(function (index, item) {
- var get_left_bar_id = $(this).parent().attr("id");
- var getleftbarcutid = get_left_bar_id.substring(get_left_bar_id.lastIndexOf("_") + 1, get_left_bar_id.length);
- if (getleftbarcutid == id) {
- var get_className = $("#" + get_left_bar_id).parent().attr('class');
- if (get_className.indexOf('sp-leftmenu-first') != -1) {
- sp.restoreHomeFirst("#" + get_left_bar_id);
- } else if (get_className.indexOf('sp-leftmenu-second') != -1) {
- ///二级 .two
- sp.restoreHomeSecond("#" + get_left_bar_id);
- } else if (get_className.indexOf('sp-leftmenu-third') != -1) {
- sp.restoreHomeThird("#" + get_left_bar_id);
- } else { return; }
- };
- });
- } else if ($("body").find(".sp-wrapper-left-second").length > 0) {
- $("#spLeftBarULTwo li:eq(0)").addClass("leftbarTwoActive");
- ///遍历第一级菜单下面的子菜单,分处于二级和三级
- $("#spLeftBarULTwo li:eq(0) a").each(function () {
- if ($(this).find(".lbtitle").length > 0) {
- var getfileid = $(this).attr("id")
- var getfilecutid = getfileid.substring(getfileid.lastIndexOf("_") + 1, getfileid.length);
- //var getlbtitle = $(".lbtitle", this).text();
- if (getfilecutid == id) {
- var getparentclass = $(this).parent("li").attr("class");
- if (getparentclass.indexOf("sp-leftbar-second") != -1) {
- $(this).parents(".sp-leftbar-first").find("a").removeClass("leftbartitleActive");
- $(this).parents(".sp-leftbar-first").siblings().find("a").removeClass("leftbartitleActive");
- $(this).addClass("leftbartitleActive");
- } else if (getparentclass.indexOf("sp-leftbar-third") != -1) {
- $(this).parents(".sp-leftbar-first").find("a").removeClass("leftbartitleActive");
- $(this).parents(".sp-leftbar-first").siblings().find("a").removeClass("leftbartitleActive");
- $(this).addClass("leftbartitleActive");
- $(this).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
- } else { return;}
- } else {
- return;
- }
- }
- });
- } else {
- }
-
- },5);
- //-end
- };
- ////根据传过来的json数据动态生成框架风格一五级菜单
- sp.dynamicLeftMenu = function (jsondata) {
- var res = JSON.parse(jsondata);
- $.each(res.rows, function (index, item) {
- if (typeof item.C_H_I_L_D == "undefined" || item.C_H_I_L_D.length < 1) {
- if (item.OPENTYPE == "_blank") {
- $("#spWrapperLeftBarUl").append("<li class=\"sp-leftmenu-first\"><a id=\"leftBar_first_" + item.PKID + "\" href=\"" + item.FILEN + "\" title=\"" + item.CNAME + "\" target=\"" + item.OPENTYPE + "\"><i class=\"" + item.SRCIMG + "\"></i><span class=\"sp-leftmenu-ltitle\">" + item.CNAME + "</span></a></li>");
- } else {
- $("#spWrapperLeftBarUl").append("<li class=\"sp-leftmenu-first\"><a id=\"leftBar_first_" + item.PKID + "\" onclick=\"sp.addTabNav('" + item.PKID + "', '" + item.CNAME + "', '" + item.FILEN + "');\" title=\"" + item.CNAME + "\"><i class=\"" + item.SRCIMG + "\"></i><span class=\"sp-leftmenu-ltitle\">" + item.CNAME + "</span></a></li>");
- }
- } else {
- var setSecondAll = "";
- var setFirstMenu = "<li class=\"sp-leftmenu-first\"><a id=\"leftBar_first_" + item.PKID + "\" title=\"" + item.CNAME + "\"><i class=\"icon " + item.SRCIMG + "\"></i><span class=\"sp-leftmenu-ltitle\">" + item.CNAME + "</span><span class=\"sp-leftmenu-icon\"><i class=\"sub-logo icon-left-open\"></i><i class=\"sub-logo-hide icon-down-open\"></i></span></a>";
- $.each(item.C_H_I_L_D, function (index2, item2) {
- //alert(item2.C_H_I_L_D);
- if (typeof item2.C_H_I_L_D == "undefined" || item2.C_H_I_L_D.length < 1) {
- if (item2.OPENTYPE == "_blank") {
- setSecondAll += "<li class=\"sp-leftmenu-second\"><a id=\"leftBar_second_" + item2.PKID + "\" href=\"" + item2.FILEN + "\" title=\"" + item2.CNAME + "\" target=\"" + item2.OPENTYPE + "\"><span class=\"sp-leftmenu-ltitle\">" + item2.CNAME + "</span></a></li>";
- } else {
- setSecondAll += "<li class=\"sp-leftmenu-second\"><a id=\"leftBar_second_" + item2.PKID + "\" onclick=\"sp.addTabNav('" + item2.PKID + "', '" + item2.CNAME + "', '" + item2.FILEN + "');\" title=\"" + item2.CNAME + "\"><span class=\"sp-leftmenu-ltitle\">" + item2.CNAME + "</span></a></li>";
- }
- } else {
- var getThrdAll = "";
- var setSecondSingle = "<li class=\"sp-leftmenu-second\"><a id=\"leftBar_second_" + item2.PKID + "\"' title='" + item2.CNAME + "'><span class='sp-leftmenu-ltitle'>" + item2.CNAME + "</span><span class=\"sp-leftmenu-icon\"><i class=\"sub-logo icon-left-open\"></i><i class=\"sub-logo-hide icon-down-open\"></i></span></a>";
- $.each(item2.C_H_I_L_D, function (index3, item3) {
- //alert(item3.C_H_I_L_D);
- if (item3.C_H_I_L_D == undefined || item3.C_H_I_L_D.length < 1) {
- if (item3.OPENTYPE == "_blank") {
- getThrdAll += "<li class=\"sp-leftmenu-third\"><a id=\"leftBar_third_" + item3.PKID + "\" href=\"" + item3.FILEN + "\" title='" + item3.CNAME + "' target=\"" + item3.OPENTYPE + "\"><span class=\"sp-leftmenu-ltitle\">" + item3.CNAME + "</span></a></li>"
- } else {
- getThrdAll += "<li class=\"sp-leftmenu-third\"><a id=\"leftBar_third_" + item3.PKID + "\" onclick=\"sp.addTabNav('" + item3.PKID + "', '" + item3.CNAME + "', '" + item3.FILEN + "')\" title='" + item3.CNAME + "'><span class=\"sp-leftmenu-ltitle\">" + item3.CNAME + "</span></a></li>"
- }
- } else {
- var setFourthAll = "";
- var getThirdSingle = "<li class='sp-leftmenu-third'><a id=\"leftBar_third_" + item3.PKID + "\" title='" + item3.CNAME + "'><span class='sp-leftmenu-ltitle'>" + item3.CNAME + "</span><span class=\"sp-leftmenu-icon\"><i class=\"sub-logo icon-left-open\"></i><i class=\"sub-logo-hide icon-down-open\"></i></span></a>";
- $.each(item3.C_H_I_L_D, function (index4, item4) {
- if (item4.C_H_I_L_D == undefined || item4.C_H_I_L_D.length < 1) {
- if (item4.OPENTYPE == "_blank") {
- setFourthAll += "<li class=\"sp-leftmenu-fourth\"><a id=\"leftBar_fourth_" + item4.PKID + "\" href=\"" + item4.FILEN + "\" title=\"" + item4.CNAME + "\" target=\"" + item4.OPENTYPE + "\"><span class=\"sp-leftmenu-ltitle\">" + item4.CNAME + "</span></a></li>";
- } else {
- setFourthAll += "<li class=\"sp-leftmenu-fourth\"><a id=\"leftBar_fourth_" + item4.PKID + "\" onclick=\"sp.addTabNav('" + item4.PKID + "', '" + item4.CNAME + "', '" + item4.FILEN + "');\" title=\"" + item4.CNAME + "\"><span class=\"sp-leftmenu-ltitle\">" + item4.CNAME + "</span></a></li>";
- }
- } else {
- var setFifthAll = "";
- var setFourthSingle = "<li class=\"sp-leftmenu-fourth\"><a id=\"leftBar_fourth_" + item4.PKID + "\" title=\"" + item4.CNAME + "\"><span class=\"sp-leftmenu-ltitle\">" + item4.CNAME + "</span><span class=\"sp-leftmenu-icon\"><i class=\"sub-logo icon-left-open\"></i><i class=\"sub-logo-hide icon-down-open\"></i></span></a>";
- $.each(item4.C_H_I_L_D, function (index5, item5) {
- if (item5.OPENTYPE == "_blank") {
- setFifthAll += "<li class=\"sp-leftmenu-fifth\"><a id=\"leftBar_fifth_" + item5.PKID + "\" href=\"" + item5.FILEN + "\" title=\"" + item5.CNAME + "\" target=\"" + item5.OPENTYPE + "\"><span class=\"sp-leftmenu-ltitle\">" + item5.CNAME + "</span></a></li>";
- } else {
- setFifthAll += "<li class=\"sp-leftmenu-fifth\"><a id=\"leftBar_fifth_" + item5.PKID + "\" onclick=\"sp.addTabNav('" + item5.PKID + "', '" + item5.CNAME + "', '" + item5.FILEN + "');\" title=\"" + item5.CNAME + "\"><span class=\"sp-leftmenu-ltitle\">" + item5.CNAME + "</span></a></li>";
- }
- });
- setFourthAll += setFourthSingle + "<ul>" + setFifthAll + "</ul></li>";
- }
- });
- getThrdAll += getThirdSingle + "<ul>" + setFourthAll + "</ul></li>";
- }
- });
- setSecondAll += setSecondSingle + "<ul>" + getThrdAll + "</ul></li>";
- }
- });
- var setChild = setFirstMenu + "<ul>" + setSecondAll + "</ul></li>";
- //console.log(setChild);
- $("#spWrapperLeftBarUl").append(setChild);
- }
- });
- //////让菜单中的排序为第一个的页面以及页面名称显示到第一个,且没有右上关闭图标-----start
- if (typeof res.rows[0].C_H_I_L_D == "undefined" || res.rows[0].C_H_I_L_D.length < 1) {
- ///若没有子节点
- var title = res.rows[0].CNAME;
- var id = res.rows[0].PKID;
- var src = res.rows[0].FILEN;
- sp.addhometabnav(id, title, src); ///将左侧菜单第一个设为home的tab签
- } else if (typeof res.rows[0].C_H_I_L_D[0].C_H_I_L_D == "undefined" || res.rows[0].C_H_I_L_D[0].C_H_I_L_D.length < 1) {
- ///如有子节点-二级
- var title = res.rows[0].C_H_I_L_D[0].CNAME;
- var id = res.rows[0].C_H_I_L_D[0].PKID;
- var src = res.rows[0].C_H_I_L_D[0].FILEN;
- sp.addhometabnav(id, title, src);///将左侧菜单第一个设为home的tab签
- } else {
- //三级
- var title = res.rows[0].C_H_I_L_D[0].C_H_I_L_D[0].CNAME;
- var id = res.rows[0].C_H_I_L_D[0].C_H_I_L_D[0].PKID;
- var src = res.rows[0].C_H_I_L_D[0].C_H_I_L_D[0].FILEN;
- sp.addhometabnav(id, title, src);///将左侧菜单第一个设为home的tab签
- }
- ///////-----end
- setTimeout(function () {
- //sp.loadmenufiles();//加载记录菜单文件
- sp.setLeftMenu(); ///操作左侧五级菜单
- }, 300);
- /////----end
- };
- sp.addTabNav = function (PKID, CNAME, FILEN) {
- /// <summary>
- /// 向首页添加tabs切换书签
- /// </summary>
- /// <param name="id">唯一id编码</param>
- /// <param name="title">标题</param>
- /// <param name="src">文件路径</param>
- /// <returns>会生成tabs标题及文件iframe一个</returns>
- var setID = "wrapper_tabs_box_col_" + PKID;
- var set_title = "";
- var getLen2 = sp.getlength(CNAME); ///汉字算2个字符
- if (getLen2 > 9) {
- set_title = sp.cutstr(CNAME, 8);
- //set_title = title.substring(0, 8) + "..";
- } else {
- set_title = CNAME;
- }
-
- if ($("#" + setID).length < 1) {
- //$("#spWrapperTabsPart ul li").removeClass("sp-wrapper-tabs-current");
- //$(".sp-wrapper-tabs-box-current").hide();
- //$("#spWrapperTabsPart .sp-wrapper-tabs-box .sp-wrapper-tabs-box-col").removeClass("sp-wrapper-tabs-box-current");
- //$("#spWrapperTabsPart ul").append("<li class=\"sp-wrapper-tabs-current\" id=\"wrapper_tabs_menu_li_" + PKID + "\" data-href=\"#" + setID + "\" title=\"" + title + "\" onclick=\"sp.clickTabNavActive(this)\">" + set_title + "<i class=\"fa fa-times-circle\" onclick=\"sp.closeSingleTabsNav(this)\"></i></li>");
- //$("#spWrapperTabsPart .sp-wrapper-tabs-box").append("<div class=\"sp-wrapper-tabs-box-col sp-wrapper-tabs-box-current\" id=\"" + setID + "\"><iframe id=\"iframe_" + setID + "\" src=\"" + src + "\" width=\"100%\" height=\"100%\" frameborder=\"0\" scrolling=\"auto\"></iframe></div>");
- //$("#" + setID).show();
- //sp.savemenufile(id, title, src); ///记录打开的菜单文件
- //sp.pagetabShiftRight();
- var strVar = "";
- strVar += "<div class=\"gmt-work-layer\" style=\"z-index:" + (++workLayerZindex) + ";\" data-pkid=\"" + setID + "\" id=\"" + setID + "\">";
- strVar += " <div class=\"gmt-work-mask\" onclick=\"sp.settopWorkLayer('#" + setID + "')\"><\/div>";
- strVar += " <div class=\"gmt-work-top\">";
- strVar += " <div class=\"gmt-work-top-left\">";
- strVar += " <img src=\"gmtDesktop\/images\/" + setID + ".png\" alt=\"\"> <span>" + CNAME + "<\/span>";
- strVar += " <\/div>";
- strVar += " <div class=\"gmt-work-top-right\">";
- strVar += " <i class=\"fa fa-window-minimize\" onclick=\"sp.hideWorkLayer('#" + setID + "');$event.stopPropagation();\"><\/i>";
- strVar += " <i class=\"fa fa-window-maximize\" style=\"display: none;\" onclick=\"sp.maxWorkLayer('#" + setID + "');$event.stopPropagation();\"><\/i>";
- strVar += " <i class=\"fa fa-window-restore\" onclick=\"sp.restoreWorkLayer('#" + setID + "');$event.stopPropagation();\"><\/i>";
- strVar += " <i class=\"fa fa-window-close\" onclick=\"sp.closeWorkLayer('#" + setID + "');$event.stopPropagation();\"><\/i>";
- strVar += " <\/div>";
- strVar += " <\/div>";
- strVar += " <div class=\"gmt-work-body\">";
- strVar += " <iframe src=\"" + FILEN + "\" frameborder=\"0\"><\/iframe>";
- strVar += " <\/div>";
- strVar += "<\/div>";
- $('body').append(strVar);
- setTimeout(function () {
- $("#" + setID).position({ my: "center", at: "center", of: "body" })
- .draggable({
- handle: ".gmt-work-top", cursorAt: { top: 10 },
- start: function (event, ui) {
- sp.settopWorkLayer(event.target);
- $(event.target).find('.gmt-work-mask').show();
- },
- stop: function (event, ui) {
- $(event.target).find('.gmt-work-mask').hide();
- }
- })
- .resizable({
- handles: "e,w",
- minWidth: 500, minHeight: 300,
- start: function (event, ui) {
- sp.settopWorkLayer(event.target);
- $(event.target).find('.gmt-work-mask').show();
- },
- stop: function (event, ui) {
- $(event.target).find('.gmt-work-mask').hide();
- }
- });
- $("#" + setID).css({
- top: '110px',
- right: 0,
- bottom: '30px',
- left: 0,
- width: 'auto',
- height: 'auto'
- })
- //$("#" + setID).siblings('.gmt-work-layer').find('.gmt-work-mask').show();
- }, 10);
- //var strFoot = "";
- //strFoot += "<div class=\"gmt-foot-tab active\" data-pkid=\"" + setID + "\" onclick=\"ctl.toggleWorkLayer('#gmtworklayer_" + setID + "')\">";
- //strFoot += " <span>" + CNAME + "<\/span>";
- //strFoot += "<\/div>";
- //$('.gmt-foot').append($compile(strFoot)($scope));
- $('.sp-wrapper-tabs-menu').children().removeClass('sp-wrapper-tabs-current');
- $(".sp-wrapper-tabs-menu").append("<li class=\"sp-wrapper-tabs-current\" data-pkid=\"" + setID + "\" onclick=\"sp.toggleWorkLayer('#" + setID + "')\" title=\"" + CNAME + "\" >" + set_title + "<i class=\"fa fa-times-circle\" onclick=\"sp.closeWorkLayer('#" + setID + "');$event.stopPropagation();\"></i></li>");
- sp.fitHeight("iframe", $(".sp-wrapper-head").outerHeight() + $(".sp-wrapper-tabs-head").outerHeight() + 30); //设置iframe的高度
- } else {
- sp.toggleWorkLayer("#" + setID, FILEN);
- }
-
- };
- var workLayerZindex = 1;
- // 工作层置顶
- sp.settopWorkLayer = function (element) {
- var ele = $(element);
- var pkid = ele.attr('data-pkid');
- var footTab = $('.sp-wrapper-tabs-menu li[data-pkid="' + pkid + '"]');
- ele.find('.gmt-work-mask').hide();
- ele.siblings('.gmt-work-layer').find('.gmt-work-mask').show();
- footTab.siblings().removeClass('sp-wrapper-tabs-current');
- footTab.addClass('sp-wrapper-tabs-current');
- ele.css('zIndex', ++workLayerZindex);
- }
- // 关闭
- sp.closeWorkLayer = function (element) {
- var pkid = $(element).attr('data-pkid');
- console.log(pkid);
- $(element).remove();
- $('.sp-wrapper-tabs-menu li[data-pkid=' + pkid + ']').remove()
- }
- // 最大化
- sp.maxWorkLayer = function (element) {
- var ele = $(element);
- ele.find('.fa-window-maximize').hide();
- ele.find('.fa-window-restore').show();
- ele.find('.gmt-work-top').css('cursor', 'default');
- // ele.draggable("disable").resizable("disable");
- ele.draggable("destroy").resizable("destroy");
- ele.attr('data-orgpretop', ele.offset().top);
- ele.attr('data-orgpreleft', ele.offset().left);
- ele.attr('data-orgprewidth', ele.width());
- ele.attr('data-orgpreheight', ele.height());
- ele.css({
- top: '110px',
- right: 0,
- bottom: '30px',
- left: 0,
- width: 'auto',
- height: 'auto'
- })
- }
- // 还原大小
- sp.restoreWorkLayer = function (element) {
- var ele = $(element);
- ele.find('.fa-window-restore').hide();
- ele.find('.fa-window-maximize').show();
- ele.find('.gmt-work-top').css('cursor', 'move');
- ele.css({
- width: '1000px',
- height: '500px'
- })
- ele.position({ my: "center", at: "center", of: "body" })
- .draggable({ handle: ".gmt-work-top", cursorAt: { top: 10 } })
- .resizable({ minWidth: 500, minHeight: 300 });
- }
- // 隐藏工作层
- sp.hideWorkLayer = function (element) {
- var ele = $(element);
- var pkid = ele.attr('data-pkid');
- var footTab = $('.sp-wrapper-tabs-menu li[data-pkid="' + pkid + '"]');
- footTab.removeClass('sp-wrapper-tabs-current');
- ele.attr('data-pretop', ele.offset().top);
- ele.attr('data-preleft', ele.offset().left);
- ele.attr('data-prewidth', ele.width());
- ele.attr('data-preheight', ele.height());
- ele.stop().animate({
- height: footTab.height(),
- width: footTab.width(),
- top: footTab.offset().top,
- left: footTab.offset().left,
- opacity: 0
- }, function () {
- ele.hide();
- })
- // 运行特效
- // ele.effect( "transfer" , { to: '.gmt-foot-tab[data-pkid="' + pkid + '"]', className: "ui-effects-transfer" }, 500,function(){
- // alert(0)
- // });
- };
- // 切换显示隐藏以及zindex状态
- sp.toggleWorkLayer = function (element, url) {
- var ele = $(element);
-
- var pkid = ele.attr('data-pkid');
- var footTab = $('.sp-wrapper-tabs-menu li[data-pkid="' + pkid + '"]');
- var currentUrl = ele.find("iframe").attr("src")
-
- //if (ele.is(':hidden')) {
- //} else {
- //}
- var zIndex = ele.css('zIndex');
- ele.css('zIndex', ++workLayerZindex);
- console.log(ele)
- if (ele.is(':hidden')) {
- $(element).show().stop().animate({
- height: ele.attr('data-preheight'),
- width: ele.attr('data-prewidth'),
- top: +ele.attr('data-pretop'),
- left: +ele.attr('data-preleft'),
- opacity: 1
- });
- footTab.addClass('sp-wrapper-tabs-current');
- footTab.siblings().removeClass('sp-wrapper-tabs-current');
- if (currentUrl != url) {
- ele.find("iframe").attr("src", url);
- }
- return;
- } else {
-
- if (footTab.hasClass("sp-wrapper-tabs-current")) {
- sp.hideWorkLayer(element)
- } else {
- var zIndex = ele.css('zIndex');
- ele.css('zIndex', ++workLayerZindex);
- }
- footTab.siblings().removeClass('sp-wrapper-tabs-current');
- footTab.addClass('sp-wrapper-tabs-current');
- }
-
-
- ele.find('.gmt-work-mask').hide();
- ele.siblings('.gmt-work-layer').find('.gmt-work-mask').show();
- //if (workLayerZindex - 1 == zIndex) {
- // return sp.hideWorkLayer(element)
- //}
- }
- ////层里面设置多个div
- sp.tabscoliframeset = function (id, title, src) {
- var get_current_id = $(".sp-wrapper-tabs-box-current").attr("id").split("wrapper_tabs_box_col_")[1];
- var setID = "spwrappertabsboxcoliframelayer_" + get_current_id + "_" + id;
- if ($(".sp-wrapper-tabs-box-current").find("#" + setID).length < 1) {
- var get_iframelength = $(".sp-wrapper-tabs-box-current").find("iframe").length;
- //console.log(get_iframelength);
- var set_width_1 = 0, set_width_2 = 0;
- if (get_iframelength == 1) {
- set_width_1 = "33.333%"; set_width_2 = "65.666%";
- } else if (get_iframelength == 2) {
- set_width_1 = "33.333%"; set_width_2 = "32.333%";
- } else if (get_iframelength == 3) {
- set_width_1 = "30%"; set_width_2 = "22.333%";
- } else if (get_iframelength == 4) {
- set_width_1 = "30%"; set_width_2 = "16.5%";
- } else {
- set_width_1 = "30%"; set_width_2 = "13%";
- }
- $(".sp-wrapper-tabs-box-current iframe:eq(0)").css("width", set_width_1);
- $(".sp-wrapper-tabs-box-current").find(".sp-wrapper-tabs-box-col-iframelayer").removeClass("sp-wrapper-tabs-box-col-iframelayer-curent");
- var setiframe = "<div class=\"sp-wrapper-tabs-box-col-iframelayer sp-wrapper-tabs-box-col-iframelayer-curent\" id=\"" + setID + "\"><div class=\"sp-wrapper-tabs-box-col-iframelayer-close\" onclick=\"sp.tabscoliframesetClose('" + setID + "')\">×</div><iframe id=\"iframe_" + setID + "\" src=\"" + src + "\" width=\"100%\" height=\"100%\" frameborder=\"0\" scrolling=\"auto\"></iframe></div>";
- $(".sp-wrapper-tabs-box-current").append(setiframe);
- sp.fitHeight("iframe", $(".sp-wrapper-head").outerHeight() + $(".sp-wrapper-tabs-head").outerHeight()); //设置iframe的高度
- $(".sp-wrapper-tabs-box-current").find(".sp-wrapper-tabs-box-col-iframelayer").css("width", set_width_2);
- $(".sp-wrapper-tabs-box-current").find(".sp-wrapper-tabs-box-col-iframelayer").each(function () {
- $(this).click(function () {
- $(this).addClass("sp-wrapper-tabs-box-col-iframelayer-curent").siblings().removeClass("sp-wrapper-tabs-box-col-iframelayer-curent");
- });
- });
- setTimeout(function () {
- $("#" + setID).resizable({
- handles: "e,w",
- minWidth: 100,
- minHeight: 300,
- resize: function (event, ui) {
- //self.settopWorkLayer(event.target);
- //$(event.target).find('.gmt-work-mask').show();
- //var set_wid = "";
- //if (get_iframelength >1){
- // set_wid = ($(".sp-wrapper-tabs-box-current").width() / 2 - 10 * get_iframelength - $("#" + setID).width()) / get_iframelength;
- //}
- //$("#" + setID).siblings(".sp-wrapper-tabs-box-col-iframelayer").css("width", "" + set_wid + "%");
- },
- stop: function (event, ui) {
- //$(event.target).find('.gmt-work-mask').hide();
- }
- });
- }, 1000)
- }
- };
- sp.tabscoliframesetClose = function (idnum) {
- //alert(idnum);
- $(".sp-wrapper-tabs-box-current").find("#" + idnum).remove();
- if ($(".sp-wrapper-tabs-box-current").find("iframe").length < 2) {
- $(".sp-wrapper-tabs-box-current iframe:eq(0)").css("width","100%");
- }
- };
- ///打开页签操作part
- sp.setpagetab = function () {
- $(".sp-pagetab-close").on("click", function (e) {
- if ($(".sp-pagetab-close").hasClass("hasclick")) {
- $(".sp-pagetab-close").removeClass("hasclick");
- $(".sp-pagetab-closepart").fadeOut(200);
- } else {
- $(".sp-pagetab-close").addClass("hasclick");
- $(".sp-pagetab-closepart").fadeIn(200);
- ///若此一直展开处于无操作时,就将页签操作part进行关闭
- setTimeout(function () {
- if ($(".sp-pagetab-closepart").is(":visible")) {
- //alert(1);
- $(".sp-pagetab-close").removeClass("hasclick");
- $(".sp-pagetab-closepart").fadeOut(200);
- }
- }, 10000);
- }
- sp.stopPropagation(e);
- });
- $(document).on('click', function () {
- $(".sp-pagetab-close").removeClass("hasclick");
- $(".sp-pagetab-closepart").fadeOut(200);
- });
- $(".sp-pagetab-close").click(function (e) {
- sp.stopPropagation(e);
- });
- };
- sp.setpagetab();
- ///关闭全部页签20180730
- sp.closePagetab = function () {
- var getopenfilearry = localStorage.getItem("GlWorkPlatform-openfileArray");//取出菜单文件数据
- if (JSON.parse(getopenfilearry).length > 1) {
- var setopenfilearry = getopenfilearry.substring(0, getopenfilearry.indexOf("},") + 1);
- setopenfilearry = setopenfilearry + "]";
- localStorage.setItem("GlWorkPlatform-openfileArray", setopenfilearry);
- if ($(".sp-wrapper-tabs-menu li").length > 1) {
- $(".sp-wrapper-tabs-menu li").each(function (index, item) {
- var gettabsmenuliid = $(this).attr("id");
- var getiframeid = $(this).attr("data-href");//得到iframe的id
- if (index != 0) {
- ///删除首页之外的菜单文件
- $(this).remove();
- $(getiframeid).remove();
- } else {
- ///为第一个加上选中样式
- $("#" + gettabsmenuliid).addClass("sp-wrapper-tabs-current");
- $(getiframeid).show().addClass("sp-wrapper-tabs-box-current");
- var gethometitle = $(this).attr("title");
- var gethomefileid = $(this).attr("id");
- var gethomefilecutid = gethomefileid.substring(gethomefileid.lastIndexOf("_") + 1, gethomefileid.length);
- if ($("body").find(".sp-wrapper-left").length > 0) {
-
- $("#spWrapperLeftBarUl li:eq(0) .sp-leftmenu-ltitle").each(function (index, item) {
- var getfileid = $(this).parent().attr("id");
- var getfilecutid = getfileid.substring(getfileid.lastIndexOf("_") + 1, getfileid.length);
-
- if (getfilecutid == gethomefilecutid) {
- if ($("#" + getfileid).parent().attr("class").indexOf("sp-leftmenu-first") != -1) {
- ///仅有一级菜单时
- sp.restoreHomeFirst("#" + getfileid);
- } else if ($("#" + getfileid).parent().attr("class").indexOf("sp-leftmenu-second") != -1) {
- ///含有有二级菜单时
- sp.restoreHomeSecond("#" + getfileid);
- } else if ($("#" + getfileid).parent().attr("class").indexOf("sp-leftmenu-third") != -1) {
- //三级three
- sp.restoreHomeThird("#" + getfileid);
- } else { return;}
- }
- });
- } else if ($("body").find(".sp-wrapper-left-second").length > 0) {
- $("#spLeftBarULTwo li").removeClass("leftbarTwoActive");
- $("#spLeftBarULTwo li:eq(0)").addClass("leftbarTwoActive");
- ///遍历第一级菜单下面的子菜单,分处于二级和三级
- $("#spLeftBarULTwo li:eq(0) a").each(function () {
- if ($(this).find(".lbtitle").length > 0) {
- var getfileid = $(this).attr("id")
- var getfilecutid = getfileid.substring(getfileid.lastIndexOf("_") + 1, getfileid.length);
- if (getfilecutid == gethomefilecutid) {
- var getparentclass = $(this).parent("li").attr("class");
- if (getparentclass.indexOf("sp-leftbar-second") != -1) {
- $(this).parents(".sp-leftbar-first").find("a").removeClass("leftbartitleActive");
- $(this).parents(".sp-leftbar-first").siblings().find("a").removeClass("leftbartitleActive");
- $(this).addClass("leftbartitleActive");
- } else if (getparentclass.indexOf("sp-leftbar-third") != -1) {
- $(this).parents(".sp-leftbar-first").find("a").removeClass("leftbartitleActive");
- $(this).parents(".sp-leftbar-first").siblings().find("a").removeClass("leftbartitleActive");
- $(this).addClass("leftbartitleActive");
- $(this).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
- } else { return;}
- } else {
- return;
- }
- }
- });
- }else{return;}
- }
- });
- localStorage.removeItem("GlWorkPlatform-setLeftBarClickID");
- }
-
- }
- $(".sp-pagetab-closepart").fadeOut(200);
- };
- ///关闭其他页签,除当前active的20180730
- sp.closePagetabOthers = function () {
- ///得到当前打开项的id
- var get_child_id = $(".sp-wrapper-tabs-current").attr("data-href");
- var getid = get_child_id.substring(get_child_id.lastIndexOf("_") + 1, get_child_id.length);
- var temp = localStorage.getItem("GlWorkPlatform-openfileArray");//取出菜单文件数据
- if (JSON.parse(temp).length > 1) {
- ////将home文件即第一个菜单文件取出
- var gethomefile = temp.substring(0, temp.indexOf("},") + 1);
- gethomefile = gethomefile + "]";
- var sethomefileArray = JSON.parse(gethomefile);
- var gethomefileid = sethomefileArray[0].id; ///得到home文件的id编号
- ////进行比对
- if (getid == gethomefileid) {
- ///tabs签停在首页home时,将其他删除并清空记录
- if ($(".sp-wrapper-tabs-menu li").length > 1) {
- $(".sp-wrapper-tabs-menu li").each(function (index, item) {
- if (index != 0) {
- ///删除首页之外的菜单文件
- var getiframeid = $(this).attr("data-href");//得到iframe的id
- $(this).remove();
- $(getiframeid).remove();
- }
- });
- }
- //alert(gethomefile);
- localStorage.setItem("GlWorkPlatform-openfileArray", gethomefile);
- } else {
- ///tabs签没有停留在首页
- if ($(".sp-wrapper-tabs-menu li").length > 1) {
- $(".sp-wrapper-tabs-menu li").each(function (index, item) {
- if (index != 0) {
- ///删除首页之外的菜单文件
- var getiframeid = $(this).attr("data-href");//得到iframe的id
- if (getiframeid != get_child_id) {
- $(this).remove();
- $(getiframeid).remove();
- }
- }
- });
- }
- var tempObj = JSON.parse(temp);//把字符串转换成JSON对象
- var fileJsonObj = "";
- $.each(tempObj, function (index, item) {
- if (item.id == getid) {
- fileJsonObj = { "id": item.id, "title": item.title, "src": item.src }
- }
- });
- var setOtherfilesarray = temp.substring(0, temp.indexOf("},") + 2) + JSON.stringify(fileJsonObj) + "]";
- //alert(setOtherfilesarray);
- localStorage.setItem("GlWorkPlatform-openfileArray", setOtherfilesarray);
- }
- }
- $(".sp-wrapper-tabs-closepart").fadeOut(200);
- };
- //刷新当前页签
- sp.reloadPagetabCurrent = function () {
- var geturl = "";
- var getid = $(".sp-wrapper-tabs-menu .sp-wrapper-tabs-current").attr("data-href");
- geturl = $(getid + " iframe").attr("src");
- if (geturl.indexOf("?") != -1 && geturl.indexOf("?time") == -1) {
- //若含有?问号,并且没有找到?time,即文件路径含有其他参数,加上time时间戳加载后面
- if (geturl.indexOf("&time") != -1) {
- //含有时间戳
- var cuturl = geturl.substring(0, geturl.indexOf("&time")); ///先截取
- geturl = cuturl + "&time=" + new Date().getTime();
- } else {
- ///没有时间戳
- geturl = geturl + "&time=" + new Date().getTime(); ///直接在后面加上时间戳
- }
- } else if (geturl.indexOf("?time") != -1) {
- ///若第一个参数就是?time,即上次加了时间戳
- var cuturl = geturl.substring(0, geturl.indexOf("?"));
- geturl = cuturl + "?time=" + new Date().getTime();
- } else if (geturl.indexOf("?") == -1) {
- //若无参数,也无?就直接加上时间戳
- geturl = geturl + "?time=" + new Date().getTime();
- } else { return; }
- $(getid + " iframe").attr("src", geturl);
- $(".sp-pagetab-closepart").fadeOut(200);
- };
- ////打开页面时加载记录菜单文件20180801
- sp.loadmenufiles = function () {
- var temp = localStorage.getItem("GlWorkPlatform-openfileArray");//取出文件数据
- var tempObj = JSON.parse(temp);//把字符串转换成JSON对象
- var gethomefiletitle = tempObj[0].title;//得到home文件名称标题
- if (tempObj.length > 1) {
- var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">您好</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
- var dialogBody = "<div class=\"sp-dialog-body\">是否打开上次浏览的菜单页签?</div>";
- var dialogFoot = "<div class=\"sp-dialog-foot\"><button id='delDataTrue' class='sp-dialog-btnTrue'><i class='icon-check'> </i> 打开</button><button class='sp-dialog-btnCancle sp-closeDialog'><i class='icon-cancel'> </i> 取消</button></div>";
- $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
- sp.openCenter(".sp-dialog");
- ///取消按钮
- $('.sp-closeDialog').click(function (event) {
- sp.dialoghide();
- var getopenfilearry = localStorage.getItem("GlWorkPlatform-openfileArray");//取出菜单文件数据
- var setopenfilearry = getopenfilearry.substring(0, getopenfilearry.indexOf("},") + 1);
- setopenfilearry = setopenfilearry + "]";
- localStorage.setItem("GlWorkPlatform-openfileArray", setopenfilearry);
- localStorage.removeItem("GlWorkPlatform-setLeftBarClickID");
- return false;
- event.preventDefault();
- event.stopPropagation();
- });
- ///确认按钮
- $("#delDataTrue").click(function () {
- ///从localStorage中取出点击左侧菜单的激活id
- var cookiemenuid = localStorage.getItem("GlWorkPlatform-setLeftBarClickID") || 0;
- var setcookiemenuid = "";
- if (cookiemenuid == 0) {
- setcookiemenuid == 0;
- } else {
- setcookiemenuid = cookiemenuid.substring(cookiemenuid.lastIndexOf("_") + 1, cookiemenuid.length);
- }
- sp.dialoghide();
- $.each(tempObj, function (index, item) {
- if (index != 0) {
- var get_file_id = item.id;
- var get_file_title = item.title;
- var get_file_src = item.src;
- var setID = "wrapper_tabs_box_col_" + get_file_id;
- var set_title = "";
- var getLen2 = sp.getlength(get_file_title); ///汉字算2个字符
- if (getLen2 > 9) {
- set_title = sp.cutstr(get_file_title, 8);
- } else {
- set_title = get_file_title;
- }
- if (get_file_id != setcookiemenuid) {
- //菜单文件记录没有当前激活左侧菜单
- $("#spWrapperTabsPart ul").append("<li class=\"\" id=\"wrapper_tabs_menu_li_" + get_file_id + "\" data-href=\"#" + setID + "\" title=\"" + get_file_title + "\" onclick=\"sp.clickTabNavActive(this)\">" + set_title + "<i class=\"fa fa-times-circle\" onclick=\"sp.closeSingleTabsNav(this)\"></i></li>");
- $("#spWrapperTabsPart .sp-wrapper-tabs-box").append("<div class=\"sp-wrapper-tabs-box-col\" id=\"" + setID + "\"><iframe src=\"" + get_file_src + "\" width=\"100%\" height=\"100%\" frameborder=\"0\" scrolling=\"auto\"></iframe></div>");
- } else {
- ///菜单文件记录有当前激活左侧菜单
- sp.setLeftMenuActiveByCookie(); ////设置左侧菜单根据localStorage而激活
- $("#spWrapperTabsPart ul li").removeClass("sp-wrapper-tabs-current");
- $(".sp-wrapper-tabs-box-current").hide();
- $("#spWrapperTabsPart ul").append("<li class=\"sp-wrapper-tabs-current\" id=\"wrapper_tabs_menu_li_" + get_file_id + "\" data-href=\"#" + setID + "\" title=\"" + get_file_title + "\" onclick=\"sp.clickTabNavActive(this)\">" + set_title + "<i class=\"fa fa-times-circle\" onclick=\"sp.closeSingleTabsNav(this)\"></i></li>");
- $("#spWrapperTabsPart .sp-wrapper-tabs-box").append("<div class=\"sp-wrapper-tabs-box-col sp-wrapper-tabs-box-current\" id=\"" + setID + "\"><iframe src=\"" + get_file_src + "\" width=\"100%\" height=\"100%\" frameborder=\"0\" scrolling=\"auto\"></iframe></div>");
- $("#" + setID).show();
- }
- };
- });
- //sp.closeSingleTabsNav('#spWrapperTabsPart');
- sp.pagetabShiftRight();
- sp.fitHeight("iframe",$(".sp-wrapper-head").outerHeight() + $(".sp-wrapper-tabs-head").outerHeight()); //设置iframe的高度
- });
- };
- };
- /////第二种框架的加载记录菜单文件 20180803
- sp.loadmenufilesTwo = function () {
- var temp = localStorage.getItem("GlWorkPlatform-openfileArray");//取出文件数据
- var tempObj = JSON.parse(temp);//把字符串转换成JSON对象
- var gethomefiletitle = tempObj[0].title;//得到home文件名称标题
- if (tempObj.length > 1) {
- var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\" style=\"margin-left:0px;\">您好</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
- var dialogBody = "<div class=\"sp-dialog-body\">是否打开上次浏览的菜单页签?</div>";
- var dialogFoot = "<div class=\"sp-dialog-foot\"><button id='delDataTrue' class='sp-dialog-btnTrue'><i class='icon-check'> </i> 打开</button><button class='sp-dialog-btnCancle sp-closeDialog'><i class='icon-cancel'> </i> 取消</button></div>";
- $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
- sp.openCenter(".sp-dialog");
- $('.sp-closeDialog').click(function (event) {
- sp.dialoghide();
- var getopenfilearry = localStorage.getItem("GlWorkPlatform-openfileArray");//取出菜单文件数据
- var setopenfilearry = getopenfilearry.substring(0, getopenfilearry.indexOf("},") + 1);
- setopenfilearry = setopenfilearry + "]";
- localStorage.setItem("GlWorkPlatform-openfileArray", setopenfilearry);
- ///将home文件所在的左侧菜单进行激活并展开-start
- $("#spLeftBarULTwo li:eq(0)").addClass("leftbarTwoActive");
- //-end
- localStorage.removeItem("GlWorkPlatform-setLeftBarClickID");
- return false;
- event.preventDefault();
- event.stopPropagation();
- });
- ///确认按钮
- $("#delDataTrue").click(function () {
- ///从localStorage中取出点击左侧菜单的激活id
- var cookiemenuid = localStorage.getItem("GlWorkPlatform-setLeftBarClickID") || 0;
- var setcookiemenuid = "";
- if (cookiemenuid == 0) {
- setcookiemenuid == 0;
- } else {
- setcookiemenuid = cookiemenuid.substring(cookiemenuid.lastIndexOf("_") + 1, cookiemenuid.length);
- }
- sp.dialoghide();
- $.each(tempObj, function (index, item) {
- if (index != 0) {
- var get_file_id = item.id;
- var get_file_title = item.title;
- var get_file_src = item.src;
- var setID = "wrapper_tabs_box_col_" + get_file_id;
- var set_title = "";
- var getLen2 = sp.getlength(get_file_title); ///汉字算2个字符
- if (getLen2 > 9) {
- set_title = sp.cutstr(get_file_title, 8);
- } else {
- set_title = get_file_title;
- }
- if (get_file_id != setcookiemenuid) {
- //菜单文件记录没有当前激活左侧菜单
- $("#spWrapperTabsPart ul").append("<li class=\"\" id=\"wrapper_tabs_menu_li_" + get_file_id + "\" data-href=\"#" + setID + "\" title=\"" + get_file_title + "\" onclick=\"sp.clickTabNavActive(this)\">" + set_title + "<i class=\"fa fa-times-circle\" onclick=\"sp.closeSingleTabsNav(this)\"></i></li>");
- $("#spWrapperTabsPart .sp-wrapper-tabs-box").append("<div class=\"sp-wrapper-tabs-box-col\" id=\"" + setID + "\"><iframe src=\"" + get_file_src + "\" width=\"100%\" height=\"100%\" frameborder=\"0\" scrolling=\"auto\"></iframe></div>");
- } else {
- ////上面页签选中,对应iframe显示
- $("#spWrapperTabsPart ul li").removeClass("sp-wrapper-tabs-current");
- $(".sp-wrapper-tabs-box-current").hide();
- $("#spWrapperTabsPart ul").append("<li class=\"sp-wrapper-tabs-current\" id=\"wrapper_tabs_menu_li_" + get_file_id + "\" data-href=\"#" + setID + "\" title=\"" + get_file_title + "\" onclick=\"sp.clickTabNavActive(this)\">" + set_title + "<i class=\"fa fa-times-circle\" onclick=\"sp.closeSingleTabsNav(this)\"></i></li>");
- $("#spWrapperTabsPart .sp-wrapper-tabs-box").append("<div class=\"sp-wrapper-tabs-box-col sp-wrapper-tabs-box-current\" id=\"" + setID + "\"><iframe src=\"" + get_file_src + "\" width=\"100%\" height=\"100%\" frameborder=\"0\" scrolling=\"auto\"></iframe></div>");
- $("#" + setID).show();
- ///菜单文件记录有当前激活左侧菜单
- var leftbarfirst = $("#" + cookiemenuid).parents(".sp-leftbar-first");
- leftbarfirst.addClass("leftbarTwoActive").siblings().removeClass("leftbarTwoActive");
- leftbarfirst.find("a").removeClass("leftbartitleActive");
- leftbarfirst.siblings().find("a").removeClass("leftbartitleActive");
- $("#" + cookiemenuid).addClass("leftbartitleActive");
- //判断其上面父级菜单,若有父级菜单则选中
- var getparentclass = $("#" + cookiemenuid).parent("li").attr("class");
- if (getparentclass.indexOf("sp-leftbar-third") != -1) {
- $("#" + cookiemenuid).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
- } else if (getparentclass.indexOf("sp-leftbar-fourth") != -1) {
- $("#" + cookiemenuid).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
- $("#" + cookiemenuid).parents(".sp-leftbar-third").children("a").addClass("leftbartitleActive");
- } else if (getparentclass.indexOf("sp-leftbar-fifth") != -1) {
- $("#" + cookiemenuid).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
- $("#" + cookiemenuid).parents(".sp-leftbar-third").children("a").addClass("leftbartitleActive");
- $("#" + cookiemenuid).parents(".sp-leftbar-fourth").children("a").addClass("leftbartitleActive");
- } else { return; }
- }
- };
- });
- //sp.closeSingleTabsNav('#spWrapperTabsPart');
- sp.pagetabShiftRight();
- sp.fitHeight("iframe",$(".sp-wrapper-head").outerHeight() + $(".sp-wrapper-tabs-head").outerHeight()); //设置iframe的高度
- })
- }
- };
- /////第二种框架根据json数据生成五级菜单 20180803
- sp.dynamicLeftBar = function (jsondata) {
- var res = JSON.parse(jsondata);
- $.each(res.rows, function (index, item) {
- if (typeof item.C_H_I_L_D == "undefined" || item.C_H_I_L_D.length < 1) {
- if (item.OPENTYPE == "_blank") {
- $("#spLeftBarULTwo").append("<li class=\"sp-leftbar-first\"><a id=\"leftBar_first_" + item.PKID + "\" href=\"" + item.FILEN + "\" title=\"" + item.CNAME + "\" target=\"" + item.OPENTYPE + "\"><span class=\"sp-leftbar-first-up\"><i class=\"" + item.SRCIMG + "\"></i></span><span class=\"sp-leftbar-first-down\">" + item.CNAME + "</span></a></li>");
- } else {
- $("#spLeftBarULTwo").append("<li class=\"sp-leftbar-first\"><a id=\"leftBar_first_" + item.PKID + "\" onclick=\"sp.addTabNav('" + item.PKID + "', '" + item.CNAME + "', '" + item.FILEN + "');\" title=\"" + item.CNAME + "\"><span class=\"sp-leftbar-first-up\"><i class=\"" + item.SRCIMG + "\"></i></span><span class=\"sp-leftbar-first-down\">" + item.CNAME + "</span></a></li>");
- }
- } else {
- var setSecondAll = "";
- var setFirstMenu = "<li class=\"sp-leftbar-first\"><a id=\"leftBar_first_" + item.PKID + "\" title=\"" + item.CNAME + "\"><span class=\"sp-leftbar-first-up\"><i class=\"" + item.SRCIMG + "\"></i></span><span class=\"sp-leftbar-first-down\">" + item.CNAME + "</span></a>";
- $.each(item.C_H_I_L_D, function (index2, item2) {
- if (typeof item2.C_H_I_L_D == "undefined" || item2.C_H_I_L_D.length < 1) {
- if (item2.OPENTYPE == "_blank") {
- setSecondAll += "<li class=\"sp-leftbar-second\"><a id=\"leftBar_second_" + item2.PKID + "\" href=\"" + item2.FILEN + "\" title=\"" + item2.CNAME + "\" target=\"" + item2.OPENTYPE + "\"><i class=\"icon-right-dir ileft\"></i><span class=\"lbtitle\">" + item2.CNAME + "</span></a></li>";
- } else {
- setSecondAll += "<li class=\"sp-leftbar-second\"><a id=\"leftBar_second_" + item2.PKID + "\" onclick=\"sp.addTabNav('" + item2.PKID + "', '" + item2.CNAME + "', '" + item2.FILEN + "');\" title=\"" + item2.CNAME + "\"><i class=\"icon-right-dir ileft\"></i><span class=\"lbtitle\">" + item2.CNAME + "</span></a></li>";
- }
- } else {
- var getThrdAll = "";
- var setSecondSingle = "<li class=\"sp-leftbar-second\"><a id=\"leftBar_second_" + item2.PKID + "\" title=\"" + item2.CNAME + "\"><i class=\"icon-right-dir ileft\"></i><span class=\"lbtitle\">" + item2.CNAME + "</span><i class=\"icon-right-open iright\"></i></a>";
- $.each(item2.C_H_I_L_D, function (index3, item3) {
- if (item3.C_H_I_L_D == undefined || item3.C_H_I_L_D.length < 1) {
- if (item3.OPENTYPE == "_blank") {
- getThrdAll += "<li class=\"sp-leftbar-third\"><a id=\"leftBar_third_" + item3.PKID + "\" href=\"" + item3.FILEN + "\" target=\"" + item3.OPENTYPE + "\" title=\"" + item3.CNAME + "\"><i class=\"icon-right-dir ileft\"></i><span class=\"lbtitle\">" + item3.CNAME + "</span></a></li>";
- } else {
- getThrdAll += "<li class=\"sp-leftbar-third\"><a id=\"leftBar_third_" + item3.PKID + "\" onclick=\"sp.addTabNav('" + item3.PKID + "', '" + item3.CNAME + "', '" + item3.FILEN + "')\" title=\"" + item3.CNAME + "\"><i class=\"icon-right-dir ileft\"></i><span class=\"lbtitle\">" + item3.CNAME + "</span></a></li>";
- }
- } else {
- var setFourthAll = "";
- var getThirdSingle = "<li class=\"sp-leftbar-third\"><a id=\"leftBar_third_" + item3.PKID + "\" title=\"" + item3.CNAME + "\"><i class=\"icon-right-dir ileft\"></i><span class=\"lbtitle\">" + item3.CNAME + "</span><i class=\"icon-right-open iright\"></i></a>";
- $.each(item3.C_H_I_L_D, function (index4, item4) {
- if (item4.C_H_I_L_D == undefined || item4.C_H_I_L_D.length < 1) {
- if (item4.OPENTYPE == "_blank") {
- setFourthAll += "<li class=\"sp-leftbar-fourth\"><a id=\"leftBar_fourth_" + item4.PKID + "\" href=\"" + item4.FILEN + "\" target=\"" + item4.OPENTYPE + "\" title=\"" + item4.CNAME + "\"><i class=\"icon-right-dir ileft\"></i><span class=\"lbtitle\">" + item4.CNAME + "</span></a></li>";
- } else {
- setFourthAll += "<li class=\"sp-leftbar-fourth\"><a id=\"leftBar_fourth_" + item4.PKID + "\" onclick=\"sp.addTabNav('" + item4.PKID + "', '" + item4.CNAME + "', '" + item4.FILEN + "');\" title=\"" + item4.CNAME + "\"><i class=\"icon-right-dir ileft\"></i><span class=\"lbtitle\">" + item4.CNAME + "</span></a></li>";
- }
- } else {
- var setFifthAll = "";
- var setFourthSingle = "<li class=\"sp-leftbar-fourth\"><a id=\"leftBar_fourth_" + item4.PKID + "\" title=\"" + item4.CNAME + "\"><i class=\"icon-right-dir ileft\"></i><span class=\"lbtitle\">" + item4.CNAME + "</span><i class=\"icon-right-open iright\"></i></a>";
- $.each(item4.C_H_I_L_D, function (index5, item5) {
- if (item5.OPENTYPE == "_blank") {
- setFifthAll += "<li class=\"sp-leftbar-fifth\"><a id=\"leftBar_fifth_" + item5.PKID + "\" href=\"" + item5.FILEN + "\" target=\"" + item5.OPENTYPE + "\" title=\"" + item5.CNAME + "\"><i class=\"icon-right-dir ileft\"></i><span class=\"lbtitle\">" + item5.CNAME + "</span></a></li>";
- } else {
- setFifthAll += "<li class=\"sp-leftbar-fifth\"><a id=\"leftBar_fifth_" + item5.PKID + "\" onclick=\"sp.addTabNav('" + item5.PKID + "', '" + item5.CNAME + "', '" + item5.FILEN + "');\" title=\"" + item5.CNAME + "\"><i class=\"icon-right-dir ileft\"></i><span class=\"lbtitle\">" + item5.CNAME + "</span></a></li>";
- }
- });
- setFourthAll += setFourthSingle + "<ul>" + setFifthAll + "</ul></li>";
- }
- });
- getThrdAll += getThirdSingle + "<ul>" + setFourthAll + "</ul></li>";
- }
- });
- setSecondAll += setSecondSingle + "<ul>" + getThrdAll + "</ul></li>";
- }
- });
- var setChild = setFirstMenu + "<ul>" + setSecondAll + "</ul></li>";
- //console.log(setChild);
- $("#spLeftBarULTwo").append(setChild);
- }
- });
- //////让菜单中的排序为第一个的页面以及页面名称显示到第一个,且没有右上关闭图标-----start
- if (typeof res.rows[0].C_H_I_L_D == "undefined" || res.rows[0].C_H_I_L_D.length < 1) {
- ///若没有子节点
- var title = res.rows[0].CNAME;
- var id = res.rows[0].PKID;
- var src = res.rows[0].FILEN;
- sp.addhometabnav(id, title, src); ///将左侧菜单第一个设为home的tab签
- } else if (typeof res.rows[0].C_H_I_L_D[0].C_H_I_L_D == "undefined" || res.rows[0].C_H_I_L_D[0].C_H_I_L_D.length < 1) {
- ///如有子节点-二级
- var title = res.rows[0].C_H_I_L_D[0].CNAME;
- var id = res.rows[0].C_H_I_L_D[0].PKID;
- var src = res.rows[0].C_H_I_L_D[0].FILEN;
- sp.addhometabnav(id, title, src);///将左侧菜单第一个设为home的tab签
- } else {
- //三级
- var title = res.rows[0].C_H_I_L_D[0].C_H_I_L_D[0].CNAME;
- var id = res.rows[0].C_H_I_L_D[0].C_H_I_L_D[0].PKID;
- var src = res.rows[0].C_H_I_L_D[0].C_H_I_L_D[0].FILEN;
- sp.addhometabnav(id, title, src);///将左侧菜单第一个设为home的tab签
- }
- ///////-----end
- //延时
- setTimeout(function () {
- //sp.loadmenufilesTwo(); ///加载记录菜单文件
- ////点击leftbar时一级菜单加上选中
- $(".sp-leftbar .sp-leftbar-first").each(function () {
- $(this).click(function () {
- $(this).addClass("leftbarTwoActive").siblings().removeClass("leftbarTwoActive");
- });
- });
- ///点击后记录其标题id存入localStorage
- $("#spLeftBarULTwo a").each(function () {
- $(this).click(function () {
- var get_clickID = $(this).attr("id");
- localStorage.setItem("GlWorkPlatform-setLeftBarClickID", get_clickID);
- //为子菜单标题加上选中
- if ($(this).find(".lbtitle").length > 0) {
- $(this).parents(".sp-leftbar-first").find("a").removeClass("leftbartitleActive");
- $(this).parents(".sp-leftbar-first").siblings().find("a").removeClass("leftbartitleActive");
- $(this).addClass("leftbartitleActive");
- //判断其上面父级菜单,若有父级菜单则选中
- var getparentclass = $(this).parent("li").attr("class");
- if (getparentclass.indexOf("sp-leftbar-third") != -1) {
- $(this).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
- } else if (getparentclass.indexOf("sp-leftbar-fourth") != -1) {
- $(this).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
- $(this).parents(".sp-leftbar-third").children("a").addClass("leftbartitleActive");
- } else if (getparentclass.indexOf("sp-leftbar-fifth") != -1) {
- $(this).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
- $(this).parents(".sp-leftbar-third").children("a").addClass("leftbartitleActive");
- $(this).parents(".sp-leftbar-fourth").children("a").addClass("leftbartitleActive");
- } else { return; }
- } else {
- return;
- }
- });
- });
- }, 300);
- };
- ////页签太多时点击左移按钮向左移动部分20180807
- sp.pagetabShiftLeft = function () {
- var tabsheadwidth = $(".sp-wrapper-tabs-head").outerWidth();
- var getlen1 = $(".sp-wrapper-tabs-menu").children("li").length;
- var settabsheadwidth = parseInt(tabsheadwidth - 190);
- //alert(tabsheadwidth);
- var tabsmenuliwidth = parseInt(getlen1 * 90);
- //alert(tabsmenuliwidth);
- if (tabsmenuliwidth < settabsheadwidth) {
- return false;
- } else {
- $(".sp-wrapper-tabs-menu").animate({
- marginLeft: "40px"
- }, "fast");
- }
- };
- ////页签太多时点击左移按钮向右移动部分20180807
- sp.pagetabShiftRight = function () {
- var tabsheadwidth = $(".sp-wrapper-tabs-head").outerWidth();
- var getlen1 = $(".sp-wrapper-tabs-menu").children("li").length;
- var settabsheadwidth = parseInt(tabsheadwidth - 190);
- //alert(tabsheadwidth);
- var tabsmenuliwidth = parseInt(getlen1 * 90);
- //alert(tabsmenuliwidth);
- if (tabsmenuliwidth < settabsheadwidth) {
- return false;
- } else {
- var getmorenum = Math.ceil(parseInt(tabsmenuliwidth - settabsheadwidth) / 90);
- //alert(getmorenum);
- var shiftleftwidth = getmorenum * 90 + 50;
- $(".sp-wrapper-tabs-menu").animate({
- marginLeft: 0 - shiftleftwidth + "px"
- }, "fast");
- }
- };
- ////获取字符串的长度2018-7-27
- sp.getlength = function (str) {
- ///<summary>获得字符串实际长度,中文2,英文1</summary>
- ///<param name="str">要获得长度的字符串</param>
- var realLength = 0, len = str.length, charCode = -1;
- for (var i = 0; i < len; i++) {
- charCode = str.charCodeAt(i);
- if (charCode >= 0 && charCode <= 128) realLength += 1;
- else realLength += 2;
- }
- return realLength;
- };
- /**
- * js截取字符串,中英文都能用
- * @param str:需要截取的字符串
- * @param len: 需要截取的长度
- */
- sp.cutstr = function (str, len) {
- var str_length = 0;
- var str_len = 0;
- var str_cut = new String();
- str_len = str.length;
- for (var i = 0; i < str_len; i++) {
- a = str.charAt(i);
- str_length++;
- if (escape(a).length > 4) {
- //中文字符的长度经编码之后大于4
- str_length++;
- }
- str_cut = str_cut.concat(a);
- if (str_length >= len) {
- str_cut = str_cut.concat("..");
- return str_cut;
- }
- }
- //如果给定字符串小于指定长度,则返回源字符串;
- if (str_length < len) {
- return str;
- }
- }
- ////清空cookie: $.cookie('cookie_myskin',null,{expires: -1,path: '/'});
- ////加上cookie: $.cookie("cookie_myskin", "123456", { path: '/', expires: 2 });
- ////接收cookie: var getCookie=$.cookie("cookie_myskin");
- jQuery.cookie = function (name, value, options) {
- /// <summary>设置cookie</summary>
- if (typeof value != 'undefined') { // name and value given, set cookie
- options = options || {};
- if (value === null) {
- value = '';
- options.expires = -1;
- }
- var expires = '';
- if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
- var date;
- if (typeof options.expires == 'number') {
- date = new Date();
- date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
- } else {
- date = options.expires;
- }
- expires = '; expires=' + date.toUTCString();
- }
- var path = options.path ? '; path=' + (options.path) : '';
- var domain = options.domain ? '; domain=' + (options.domain) : '';
- var secure = options.secure ? '; secure' : '';
- document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
- } else {
- var cookieValue = null;
- if (document.cookie && document.cookie != '') {
- var cookies = document.cookie.split(';');
- for (var i = 0; i < cookies.length; i++) {
- var cookie = jQuery.trim(cookies[i]);
- if (cookie.substring(0, name.length + 1) == (name + '=')) {
- cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
- break;
- }
- }
- }
- return cookieValue;
- }
- }
- ////Tabs方法 切换tab选项卡
- /// <summary>选项卡</summary>
- ; (function ($) {
- $.fn.extend({
- settabs: function (options) {
- // 处理参数
- options = $.extend({
- event: 'mouseover',
- timeout: 0,
- auto: 0,
- callback: null
- }, options);
- var self = $(this),
- tabBox = self.children('div.sp-tab-box').children('div'),
- menu = self.children('ul.sp-tab-menu'),
- items = menu.find('li'),
- timer;
- var tabHandle = function (elem) {
- elem.siblings('li').removeClass('sp-tab-current').end().addClass('sp-tab-current');
- tabBox.siblings('div').addClass('sp-tab-hide').end().eq(elem.index()).removeClass('sp-tab-hide');
- },
- delay = function (elem, time) {
- time ? setTimeout(function () { tabHandle(elem); }, time) : tabHandle(elem);
- },
- start = function () {
- if (!options.auto) return;
- timer = setInterval(autoRun, options.auto);
- },
- autoRun = function () {
- var current = menu.find('li.sp-tab-current'),
- firstItem = items.eq(0),
- len = items.length,
- index = current.index() + 1,
- item = index === len ? firstItem : current.next('li'),
- i = index === len ? 0 : index;
- current.removeClass('sp-tab-current');
- item.addClass('sp-tab-current');
- tabBox.siblings('div').addClass('sp-tab-hide').end().eq(i).removeClass('sp-tab-hide');
- };
- items.bind(options.event, function () {
- delay($(this), options.timeout);
- if (options.callback) {
- options.callback(self);
- }
- });
- if (options.auto) {
- start();
- self.hover(function () {
- clearInterval(timer);
- timer = undefined;
- }, function () {
- start();
- });
- }
- sp.settableft();
- sp.settabright();
- return this;
- }
- });
- })(jQuery);
- //////进度条横向20180606
- ;(function ($) {
- if (typeof ($.fn.myProgress) != 'undefined') {
- return false;
- }
- $.fn.myProgress = function (options) {
- initOptions(options);
- $(this).each(function () {
- var this_ = $(this);
- var $percent = $(this).find("div.percent-show>span");
- var progress_in = $(this).find("div.progress-in");
- initCss(options, $(this));
- var t = setInterval(function () {
- $percent.html(parseInt(progress_in.width() / this_.width() * 100))
- }, options.speed / 100);
- progress_in.animate({
- width: options.percent + "%"
- }, options.speed, function () {
- clearInterval(t);
- t = null;
- $percent.html(options.percent);
- options.percent == 100 && progress_in.css("border-sp-radius", 0);
- });
- });
- return $(this);
- }
- function initOptions(options) {
- (!options.hasOwnProperty("speed") || isNaN(options.speed)) && (options.speed = 1000);
- (!options.hasOwnProperty("percent") || isNaN(options.percent)) && (options.percent = 100);
- !options.hasOwnProperty("width") && (options.width = '180px');
- !options.hasOwnProperty("height") && (options.height = '15px');
- !options.hasOwnProperty("direction") && (options.direction = 'left');
- options.fontSize = Math.floor(parseInt(options.height) * 6 / 10) + "px";
- options.lineHeight = options.height;
- }
- function initCss(options, obj) {
- //////设置百分比的数字显示位置
- var setleft = 0;
- if (options.percent == 0) {
- setleft = 0;
- }
- if (options.percent > 0 && options.percent <= 90) {
- setleft = options.percent + "%";
- }
- if (options.percent > 90) {
- setleft = options.percent - 8 + "%";
- }
- obj.css({
- "width": options.width,
- "height": options.height
- }).find("div.percent-show").css({
- "lineHeight": options.lineHeight,
- "fontSize": options.fontSize,
- "left": setleft
- });
- if (options.direction == "right") {
- obj.find("div.progress-in").addClass("direction-right");
- } else {
- obj.find("div.progress-in").addClass("direction-left");
- }
- }
- })(jQuery);
- //
- /*
- *点击非当前显示元素时, 当前显示元素自动隐藏 chenhao 2018/3/15
- * 使用方法
- $('#btn').on("click",function(){
- $('.menu').toggle().autoHide();
- return false;
- });
- * autoHide(speed,callback)
- * speed
- 可选。规定元素从可见到隐藏的速度。默认为 "0"。
- 可能的值:
- 毫秒 (比如 1500)
- "slow"
- "normal"
- "fast"
- 在设置速度的情况下,元素从可见到隐藏的过程中,会逐渐地改变其高度、宽度、外边距、内边距和透明度。
- * callback
- 可选。autoHide 函数执行完之后,要执行的函数。
- **** !! 除非设置了 speed 参数,否则不能设置该参数。
- */
- (function ($) {
- $.fn.autoHide = function (speed, callback) {
- var ele = $(this);
- $(document).on('click', function (e) {
- var e = e || window.event; //浏览器兼容性
- e.target = e.target || e.srcElement;
- if (ele.is(':visible') && (!$(e.target)[0].isEqualNode(ele[0]) && ele.has(e.target).length === 0)) {
- ele.hide(speed, callback);
- }
- // e.stopPropagation();
- // return false;
- });
- return this;
- }
- })(jQuery);
- //iframe自适应内容长度 2016.08.07 setiframe(id);是定义的方法 window.setInterval("setiframe('id')", 10);功能:按照指定的周期(以毫秒计)来调用函数或计算表达式。
- sp.setiframe = function (id) {
- /// <summary>设置iframe自适应嵌套页高度</summary>
- window.setInterval("sp.setiframe_getPageHight('" + id + "')", 10);
- }
- sp.setiframe_getPageHight = function (id) {
- /// <summary>得到iframe嵌套的内容页高度</summary>
- var Iframe = document.getElementById(id);
- try {
- // 声明变量取值
- var bHeight = Iframe.contentWindow.document.body.scrollHeight;
- var dHeight = Iframe.contentWindow.document.documentElement.scrollHeight;
- var height = Math.max(bHeight, dHeight); // 取最大值
- Iframe.height = height;
- } catch (ex) { }
- }
- //javascript 解决IE8兼容 placeholder属性 含password 时间:20160811
- sp.set_placeholder = function () {
- if (!('placeholder' in document.createElement('input'))) {
- function GetStringNumValue(pxstr) {
- return pxstr.substring(0, pxstr.length - 2);
- }
- $('input[placeholder],textarea[placeholder]').each(function () {
- var $element = $(this),
- placeholder = $element.attr('placeholder');
- if ($element.attr('type') != 'password') {//非密码
- $element.css('color', '#cccccc');//placeholder定义文字颜色
- if ($element.val() === "") {
- $element.val(placeholder).addClass('placeholder');
- }
- $element.focus(function () {
- if ($element.val() === placeholder) {
- $element.val("").removeClass('placeholder');
- $element.css('color', '#000'); //获取焦点输入文字颜色
- }
- }).blur(function () { //失去焦点进行判断
- if ($element.val() === "") {
- $element.val(placeholder).addClass('placeholder');
- $element.css('color', '#ccc');
- } else if ($element.val() == placeholder) {
- $element.css('color', '#000');
- } else {
- $element.css('color', '#000');
- }
- }).closest('form').submit(function () {
- if ($element.val() === placeholder) {
- $element.val('');
- }
- });
- }
- //密码框的样式
- else {
- if (placeholder) {
- var elementId = $element.attr('id');
- if (!elementId) {
- var now = new Date();
- elementId = 'lbl_placeholder' + now.getSeconds() + now.getMilliseconds();
- $element.attr('id', elementId);
- }
- }
- // 添加label标签,用于显示placeholder的值
- var $label = $('<label>', {
- html: $element.val() ? '' : placeholder,
- 'for': elementId,
- css: {
- position: 'absolute',
- color: '#cccccc',
- fontSize: $element.css('fontSize'),
- fontFamily: $element.css('fontFamily')
- }
- }, '</label>').insertAfter($element);
- // 绑定事件
- var width = $element.width();
- var width2 = width - 3 + "px";
- var width3 = "-" + width2;
- //alert(width3);
- var _setPosition = function () {
- $label.css({
- position: 'relative',
- top: '',
- left: width3
- });
- };
- var _resetPlaceholder = function () {
- if ($element.val()) { $label.html(null); }
- else {
- _setPosition();
- $label.html(placeholder);
- }
- };
- _setPosition();
- $element.on('focus blur input keyup propertychange resetplaceholder', _resetPlaceholder);
- }
- });
- }
- }
- /**sp.CutTableTd(name);//给Table的Td加3个点和鼠标指向文字去除的文字都显示出来**/
- sp.cutgrid = function (TableID, Len) {
- /// <summary>截取table的文字长度</summary>
- /// <param name="TableID">表格的ID</param>
- /// <param name="Len">需要截取的长度</param>
- /// <returns></returns>
- $(TableID + " tr td").each(function (index, value) {
- var GetText = "";
- if ($(this).children().length > 0) {
- GetText = $(this).contents().text();//获取td中的内容
- GetText = GetText.cutstr(Len); //截取字符串
- $(this).contents().text(GetText);//赋值td中的内容
- }
- else {
- GetText = $(this).text();//获取td中的内容
- GetText = GetText.cutstr(Len); //截取字符串
- $(this).text(GetText);//赋值td中的内容
- }
- });
- };
- //通过正则表达式获取地址栏的参数 var get_name = sp.getUrlName("name");
- sp.getUrlName = function (name) {
- /// <summary>
- /// 获取url中特定的参数
- /// </summary>
- /// <param name="name">具体参数变量名</param>
- /// <returns>返回变量值</returns>
- var result = location.search.match(new RegExp("[\?\&]" + name + "=([^\&]+)", "i"));
- if (result == null || result.length < 1) {
- return "";
- }
- return result[1];
- }
- sp.geturl = function () {
- /// <summary>
- /// 获取url中全部参数
- /// </summary>
- /// <returns>返回数组格式</returns>
- var str = location.href; //取得整个地址栏
- var num = str.indexOf("?")
- str = str.substr(num + 1); //取得所有参数
- var loastr = "";
- var loc = "";
- $.each(str.split('&'), function (index, item) {
- item = item.split('=');
- var name = item[0];
- var val = item[1];
- loastr = "\"" + name + "\":\"" + val + "\",";
- loc += loastr;
- });
- loc = loc.substring(0, loc.length - 1);
- loc = "{" + loc + "}";
- var obj = JSON.parse(loc); //将字符型数组转换为对象
- return obj;
- }
- //设置折叠面板
- sp.setPanel = function () {
- /// <summary>折叠面板</summary>
- if ($("body").find(".sp-panel-folder").length > 0) {
- $('.sp-panel-folder').each(function () {
- $('.sp-panel-head', this).on('click', function () {
- if ($(this).hasClass('click')) {
- $(this).parent().children('.sp-panel-body').slideUp(230);
- $(this).removeClass('click');
- } else {
- $(this).parent().children('.sp-panel-body').slideDown(230);
- $(this).parent().siblings('.sp-panel-folder').children('.sp-panel-body').slideUp(230);
- $(this).parent().siblings('.sp-panel-folder').children('.sp-panel-head').removeClass('click');
- $(this).addClass('click');
- }
- });
- });
- }
- }
- //获取json串的长度 var jsonLen=sp.getJsonLen(jsonData);
- sp.getJsonLen = function (json) {
- /// <summary>获取json串长度</summary>
- var Length = 0;
- for (var item in json) {
- Length++;
- }
- return Length;
- }
- //删除含有特定文字的table某列 table:id或class名,str:特定文字
- sp.delCol = function (table, str) {
- /// <summary>removeTD("#tableTD", "编号");</summary>
- var getindex;
- $("" + table + " thead tr th").each(function () {
- var gettext = $(this).text();
- if (gettext == str) {
- getindex = $(this).index();
- $(this).remove();
- }
- });
- $("" + table + " tbody tr").each(function () {
- $("td:eq(" + getindex + ")", this).remove();
- });
- }
- ////组织事件
- sp.stopPropagation = function (e) {
- /// <summary>阻止浏览器的冒泡</summary>
- var ev = e || window.event;
- if (ev.stopPropagation) {
- ev.stopPropagation();
- }
- else if (window.event) {
- window.event.cancelBubble = true;//兼容IE
- }
- }
- //点击一个按钮显示div,点击div之外的地方div隐藏,点击div之内的地方div不隐藏
- sp.clickDomCloseDiv = function (btn, div) {
- /// <summary>点击按钮显示div,点击页面其他地方div隐藏,点击div阻止冒泡</summary>
- $(btn).on("click", function (e) {
- if ($(btn).hasClass("clickDom")) {
- $(btn).removeClass("clickDom");
- $(div).hide();
- sp.stopPropagation(e);
- } else {
- $(btn).addClass("clickDom");
- $(div).show();
- sp.stopPropagation(e);
- }
- });
- $(document).bind('click', function () {
- $(btn).removeClass("clickDom");
- $(div).hide();
- });
- $(div).click(function (e) {
- sp.stopPropagation(e);
- });
- }
- //类似:[{name:"张三", val:"111"},{name:"张三", val:"111"}]
- sp.serializeJSON = function (str) {
- /// <summary>将序列化的值转成json格式</summary>
- var testJson = decodeURIComponent(str, true);//将数据解码,调用decodeURIComponent(XXX,true);中文会乱码,需要将乱码解码
- var loastr = "";
- var loc = "";
- $.each(testJson.split('&'), function (index, item) {
- item = item.split('=');
- var name = item[0], val = item[1];
- loastr = "{\"dname\":\"" + name + "\", \"dval\":\"" + val + "\"},";
- loc += loastr;
- });
- loc = loc.substring(0, loc.length - 1);
- loc = "[" + loc + "]";
- var obj = JSON.parse(loc);//将字符型数组转换为对象
- return obj;
- }
- //遍历某行下的所有的td,然后将其内容以数组形式返回
- sp.eachTDtoArray = function (rowid) {
- /// <summary>遍历该行td的内容,返回数组</summary>
- var alltdText = "";
- $("#" + rowid + " td").each(function () {
- var getText = $.trim($(this).text());
- alltdText += getText + ",";
- });
- var alltdText2 = alltdText.substring(0, alltdText.length - 2);
- var obj = alltdText2.split(",");
- return obj;
- }
- //设置select框的年月, 程序自动跟据当前年显示20170310
- //赋值年份
- sp.selectYear = function (name) {
- /// <summary>设置select框的年份</summary>
- var getyear = new Date().getFullYear(); //今年
- for (var i = (getyear - 20); i < (getyear + 20); i++) //以今年为准,前30年,后30年
- {
- $(name).append("<option value='" + i + "'>" + i + "</option>");
- }
- $(name).find("option[value='" + getyear + "']").attr("selected", true);
- $(name).val(getyear);
- }
- //赋值月份
- sp.selectMonth = function (name) {
- /// <summary>设置select框的月份</summary>
- var getMonth = new Date().getMonth() + 1; //当前月
- for (var i = 1; i < 13; i++) {
- $(name).append("<option value='" + i + "'>" + i + "</option>");
- }
- $(name).find("option[value='" + getMonth + "']").attr("selected", true);
- $(name).val(getMonth);
- }
- sp.showLocalTime = function (divname) {
- /// <summary>动态显示当地时间</summary>
- var objDate = new Date();
- var str, colorhead, colorfoot;
- var yy = objDate.getYear();
- if (yy < 1900) yy = yy + 1900;
- var MM = objDate.getMonth() + 1;
- if (MM < 10) MM = '0' + MM;
- var dd = objDate.getDate();
- if (dd < 10) dd = '0' + dd;
- var hh = objDate.getHours();
- if (hh < 10) hh = '0' + hh;
- var mm = objDate.getMinutes();
- if (mm < 10) mm = '0' + mm;
- var ss = objDate.getSeconds();
- if (ss < 10) ss = '0' + ss;
- var ww = objDate.getDay();
- if (ww == 0) ww = "星期日";
- if (ww == 1) ww = "星期一";
- if (ww == 2) ww = "星期二";
- if (ww == 3) ww = "星期三";
- if (ww == 4) ww = "星期四";
- if (ww == 5) ww = "星期五";
- if (ww == 6) ww = "星期六";
- str = yy + "年" + MM + "月" + dd + "日 " + hh + ":" + mm + ":" + ss + " " + ww;
- var get_time = str;
- $(divname).html(get_time);
- window.setTimeout("sp.showLocalTime('" + divname + "')", 1000); ///延时1秒执行
- };
- //获取当前时间,格式:2018-1-27 10:47:15
- sp.getLocalDate = function () {
- var objDate = new Date();
- var str, colorhead, colorfoot;
- var yy = objDate.getFullYear();
- var MM = objDate.getMonth() + 1;
- if (MM < 10) MM = '0' + MM;
- var dd = objDate.getDate();
- if (dd < 10) dd = '0' + dd;
- var hh = objDate.getHours();
- if (hh < 10) hh = '0' + hh;
- var mm = objDate.getMinutes();
- if (mm < 10) mm = '0' + mm;
- var ss = objDate.getSeconds();
- if (ss < 10) ss = '0' + ss;
- str = yy + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + ss;
- return str;
- };
- //利用当前时间生成yyyymmddhhmmss这样的字符串
- sp.setNumRandom = function () {
- var date = new Date();
- var yyyy = date.getFullYear().toString();
- var MM = date.getMonth() + 1;
- if (MM < 10) MM = '0' + MM;
- var dd = date.getDate();
- if (dd < 10) dd = '0' + dd;
- var hh = date.getHours();
- if (hh < 10) hh = '0' + hh;
- var mm = date.getMinutes();
- if (mm < 10) mm = '0' + mm;
- var ss = date.getSeconds();
- if (ss < 10) ss = '0' + ss;
- var millisecond = date.getMilliseconds(); //获取当前毫秒数(0-999)
- var setTimeStr = yyyy + MM + dd + hh + mm + ss + millisecond;
- return setTimeStr;
- };
- //格式化日期 如:2017-10-10 22:33:32
- sp.format = function (str) {
- if (str == "1900-01-01T00:00:00") {
- str = "";
- return str;
- } else if (str == "0001-01-01T00:00:00") {
- ///这种情况是在做滨旅建管系统时用sqlserver数据库时遇到的
- str = "";
- return str;
- } else if (str == "-") {
- ///在做滨旅建管时存的是—,然后就让其显示—
- str = "-";
- return str;
- } else if (str != undefined && str != "" && str != null) {
- /////如果找到"-",不等于负1
- if (str.toString().indexOf('-') != -1) {
- str = str.replace(/-/g, "/"); //将-替换为/,因为ios与ie浏览器中不支持-和T
- }
- /////如果找到T,不等于负1
- if (str.toString().indexOf('T') != -1) {
- str = str.replace(/T/g, ' '); ///去掉日期中的T,因为ios与ie浏览器中不支持-和T
- }
- /////如果找到".",不等于负1
- if (str.toString().indexOf('.') != -1) {
- str = str.slice(0, str.indexOf(".")); ///如果含有毫秒,就将毫秒去掉
- }
- var formatDate = new Date(Date.parse(str));
- var yy = formatDate.getFullYear();
- var MM = formatDate.getMonth() + 1;
- if (MM < 10) { MM = '0' + MM; }
- var dd = formatDate.getDate();
- if (dd < 10) { dd = '0' + dd; }
- var setDate = yy + "-" + MM + "-" + dd;
- return setDate;
- } else {
- str = "";
- return str;
- }
- };
- ///格式化时间,为年月日时分秒
- sp.formatMinute = function (str) {
- if (str == "1900-01-01T00:00:00") {
- str = "";
- return str;
- } else if (str == "0001-01-01T00:00:00") {
- ///这种情况是在做滨旅建管系统时用sqlserver数据库时遇到的
- str = "";
- return str;
- }
- else if (str != undefined && str != "" && str != null) {
- /////如果找到"-",不等于负1
- if (str.toString().indexOf('-') != -1) {
- str = str.replace(/-/g, "/"); //将-替换为/,因为ios与ie浏览器中不支持-和T
- }
- /////如果找到T,不等于负1
- if (str.toString().indexOf('T') != -1) {
- str = str.replace(/T/g, ' '); ///去掉日期中的T,因为ios与ie浏览器中不支持-和T
- }
- /////如果找到".",不等于负1
- if (str.toString().indexOf('.') != -1) {
- str = str.slice(0, str.indexOf(".")); ///如果含有毫秒,就将毫秒去掉
- }
- var formatDate = new Date(Date.parse(str));
- var yy = formatDate.getFullYear();
- var MM = formatDate.getMonth() + 1;
- if (MM < 10) { MM = '0' + MM; } //去掉前面加0,是为了便于后续的格式化得到年月
- var dd = formatDate.getDate();
- if (dd < 10) { dd = '0' + dd; } //去掉前面加0,是为了便于后续的格式化得到年月
- var hh = formatDate.getHours();
- if (hh < 10) { hh = '0' + hh; }
- var mm = formatDate.getMinutes();
- if (mm < 10) { mm = '0' + mm; }
- var ss = formatDate.getSeconds();
- if (ss < 10) { ss = '0' + ss; }
- var setDate = yy + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + ss;
- return setDate;
- } else {
- str = "";
- return str;
- }
- };
- //格式化时间,显示某月所属季度日期。1获取第一天,2获取最后一天
- sp.quarter = function (str, n) {
- if (str == "1900-01-01T00:00:00") {
- str = "";
- return str;
- } else if (str == "0001-01-01T00:00:00") {
- ///这种情况是在做滨旅建管系统时用sqlserver数据库时遇到的
- str = "";
- return str;
- }
- else if (str != undefined && str != "" && str != null) {
- /////如果找到"-",不等于负1
- if (str.toString().indexOf('-') != -1) {
- str = str.replace(/-/g, "/"); //将-替换为/,因为ios与ie浏览器中不支持-和T
- }
- /////如果找到T,不等于负1
- if (str.toString().indexOf('T') != -1) {
- str = str.replace(/T/g, ' '); ///去掉日期中的T,因为ios与ie浏览器中不支持-和T
- }
- /////如果找到".",不等于负1
- if (str.toString().indexOf('.') != -1) {
- str = str.slice(0, str.indexOf(".")); ///如果含有毫秒,就将毫秒去掉
- }
- var formatDate = new Date(Date.parse(str));
- var quarter = Math.floor((new Date().getMonth() + 3) / 3);//当前季度
- var quarters = [["01", "02", "03"], ["04", "05", "06"], ["07", "08", "09"], ["10", "11", "12"]];
- if (n == 1) {
- var returnData = sp.currentYear() + "-" + quarters[quarter - 1][0] + "-01";
- } else {
- var returnData = sp.getLastDayOfMonth(sp.currentYear(), quarters[quarter - 1][2]);
- }
- return returnData;
- } else {
- str = "";
- return str;
- }
- }
- ///格式化时间,显示当前月第一天
- sp.monthfirst = function (str) {
- if (str == "1900-01-01T00:00:00") {
- str = "";
- return str;
- } else if (str == "0001-01-01T00:00:00") {
- ///这种情况是在做滨旅建管系统时用sqlserver数据库时遇到的
- str = "";
- return str;
- }
- else if (str != undefined && str != "" && str != null) {
- /////如果找到"-",不等于负1
- if (str.toString().indexOf('-') != -1) {
- str = str.replace(/-/g, "/"); //将-替换为/,因为ios与ie浏览器中不支持-和T
- }
- /////如果找到T,不等于负1
- if (str.toString().indexOf('T') != -1) {
- str = str.replace(/T/g, ' '); ///去掉日期中的T,因为ios与ie浏览器中不支持-和T
- }
- /////如果找到".",不等于负1
- if (str.toString().indexOf('.') != -1) {
- str = str.slice(0, str.indexOf(".")); ///如果含有毫秒,就将毫秒去掉
- }
- var formatDate = new Date(Date.parse(str));
- var yy = formatDate.getFullYear();
- var MM = formatDate.getMonth() + 1;
- if (MM < 10) { MM = '0' + MM; }
- var returnData = yy + "-" + MM + "-01";
- return returnData;
- } else {
- str = "";
- return str;
- }
- };
- ///格式化时间,显示当前月最后一天
- sp.formatMonthLast = function (str) {
- if (str == "1900-01-01T00:00:00") {
- str = "";
- return str;
- } else if (str == "0001-01-01T00:00:00") {
- ///这种情况是在做滨旅建管系统时用sqlserver数据库时遇到的
- str = "";
- return str;
- }
- else if (str != undefined && str != "" && str != null) {
- /////如果找到"-",不等于负1
- if (str.toString().indexOf('-') != -1) {
- str = str.replace(/-/g, "/"); //将-替换为/,因为ios与ie浏览器中不支持-和T
- }
- /////如果找到T,不等于负1
- if (str.toString().indexOf('T') != -1) {
- str = str.replace(/T/g, ' '); ///去掉日期中的T,因为ios与ie浏览器中不支持-和T
- }
- /////如果找到".",不等于负1
- if (str.toString().indexOf('.') != -1) {
- str = str.slice(0, str.indexOf(".")); ///如果含有毫秒,就将毫秒去掉
- }
- var formatDate = new Date(Date.parse(str));
- var yy = formatDate.getFullYear();
- var MM = formatDate.getMonth() + 1;
- var returnData = sp.getLastDayOfMonth(yy, MM);
- return returnData;
- } else {
- str = "";
- return str;
- }
- };
- /**
- * 获取某年某月的最后一天
- */
- sp.getLastDayOfMonth = function (year, month) {
- //获取本年本月的第一天日期
- var date = new Date(year, month - 1, '01');
- //设置日期
- date.setDate(1);
- //设置月份
- date.setMonth(date.getMonth() + 1);
- //获取本月的最后一天
- cdate = new Date(date.getTime() - 1000 * 60 * 60 * 24);
- //打印某年某月的最后一天
- //alert(cdate.getFullYear() + "年" + (Number(cdate.getMonth()) + 1) + "月最后一天的日期:" + cdate.getDate() + "日");
- var yy = cdate.getFullYear();
- var MM = cdate.getMonth() + 1;
- if (MM < 10) { MM = '0' + MM; }
- var setData = yy + "-" + MM + "-" + cdate.getDate();
- //返回结果
- return setData;
- }
- ////格式化日期获取其年份
- sp.formatGetYear = function (str) {
- var formatDate = new Date(sp.format(str));
- var yy = formatDate.getFullYear();
- return yy;
- }
- ////格式化日期获取其月份
- sp.formatGetMonth = function (str) {
- var formatDate = new Date(sp.format(str));
- var MM = formatDate.getMonth() + 1;
- return MM;
- }
- ////获取当前年份
- sp.currentYear = function () {
- var date = new Date();
- var yyyy = date.getFullYear().toString();
- return yyyy;
- }
- ////获取当前月份
- sp.currentMonth = function () {
- var date = new Date();
- var MM = date.getMonth() + 1;
- return MM;
- }
- /**************************************时间格式化处理************************************/
- ///format格式化缩写为fmt,两个参数,前者是日期格式,后者是日期
- sp.datefmt = function (fmt, date) {
- ///console.log(date);
- if (date == "1900-01-01T00:00:00") {
- date = "";
- return date;
- } else if (date == "0001-01-01T00:00:00") {
- ///这种情况是在做滨旅建管系统时用sqlserver数据库时遇到的
- date = "";
- return date;
- } else if (date == "-") {
- ///在做滨旅建管时存的是—,然后就让其显示—
- date = "-";
- return date;
- } else if (date != undefined && date != "" && date != null) {
- /////如果找到"-",不等于负1
- if (date.toString().indexOf('-') != -1) {
- date = date.replace(/-/g, "/"); //将-替换为/,因为ios与ie浏览器中不支持-和T
- }
- /////如果找到T,不等于负1
- if (date.toString().indexOf('T') != -1) {
- date = date.replace(/T/g, ' '); ///去掉日期中的T,因为ios与ie浏览器中不支持-和T
- }
- /////如果找到".",不等于负1
- if (date.toString().indexOf('.') != -1) {
- date = date.slice(0, date.indexOf(".")); ///如果含有毫秒,就将毫秒去掉
- }
- var formatDate = new Date(Date.parse(date));
- var o = {
- "M+": formatDate.getMonth() + 1, //月份
- "d+": formatDate.getDate(), //日
- "H+": formatDate.getHours(), //小时
- "m+": formatDate.getMinutes(), //分
- "s+": formatDate.getSeconds(), //秒
- "q+": Math.floor((formatDate.getMonth() + 3) / 3), //季度
- "S": formatDate.getMilliseconds() //毫秒
- };
- if (/(y+)/.test(fmt))
- fmt = fmt.replace(RegExp.$1, (formatDate.getFullYear() + "").substr(4 - RegExp.$1.length));
- for (var k in o)
- if (new RegExp("(" + k + ")").test(fmt))
- fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
- return fmt;
-
- } else {
- date = "";
- return date;
- }
- };
- ////得到后几天的日期2019-10-26
- ///sp.dateCount(7);//得到7天后的日子
- sp.dateCount = function (AddDayCount) {
- var dd = new Date();
- dd.setDate(dd.getDate() + AddDayCount);//获取AddDayCount天后的日期
- var y = dd.getFullYear();
- var m = (dd.getMonth() + 1) < 10 ? "0" + (dd.getMonth() + 1) : (dd.getMonth() + 1);//获取当前月份的日期,不足10补0
- var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();//获取当前几号,不足10补0
- return y + "-" + m + "-" + d;
- }
- /// 2019-12-20
- // 往前数monthNum月份:sp.getPreMonthDay("2019-12-20",-10),往后数monthNum :sp.getPreMonthDay("2019-12-20",20);
- sp.getPreMonthDay = function (date, monthNum) {
- var dd = new Date(new Date(date).setMonth((new Date(date).getMonth() + monthNum)));
- var y = dd.getFullYear();
- var m = (dd.getMonth() + 1) < 10 ? "0" + (dd.getMonth() + 1) : (dd.getMonth() + 1);//获取当前月份的日期,不足10补0
- var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();//获取当前几号,不足10补0
- return y + "-" + m + "-" + d;
- },
- ///2019-12-21得到几天前和几天后的日期 getday(7);//7天后的日期 getday(17);//7天前的日期
- sp.getday = function (aa) {
- var date1 = new Date(),
- time1 = date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-" + date1.getDate();//time1表示当前时间
- var date2 = new Date(date1);
- date2.setDate(date1.getDate() + aa);
- var y = date2.getFullYear();
- var m = (date2.getMonth() + 1) < 10 ? "0" + (date2.getMonth() + 1) : (date2.getMonth() + 1);//获取当前月份的日期,不足10补0
- var d = date2.getDate() < 10 ? "0" + date2.getDate() : date2.getDate();//获取当前几号,不足10补0
- var time2 = y + "-" + m + "-" + d;
- return time2;
- }
- ////实时保存,实时保存表单数据 【2018-3-25】
- ///用法:sp.localStorage("#formPlan",85);
- //从localStorage中加载数据记得删除:
- //var setId = "localStorage_formPlan_" + dataID;
- //localStorage.removeItem(setId);
- sp.localStorage = function (formId, dataID) {
- /// <summary>formId:为form定义的id</summary>
- /// <summary>dataID:表单数据的ID,目的防止重复</summary>
- var get_formid = $(formId).attr("id");
- ////声明本地存储localStorage的名称
- var set_localStorage = 'localStorage_' + get_formid + "_" + dataID;
- ///声明变量,得到form下面的带有name的所有控件
- var formControls = $(formId).find("input:text[name],textarea[name],select[name]");
- //从本地取localStorage
- var storage = localStorage.getItem(set_localStorage);
- ////如果,本地从本地取localStorage不为null,
- ///遍历localStorage中的值,
- if (storage != null) {
- var myData = JSON.parse(storage);
- formControls.each(function (i, e) {
- var name = $(e).attr("name");
- if (myData[name] != null) {
- $(e).val(myData[name]);
- $(e).change();
- }
- });
- }
- //绑定change事件,监听onchage事件
- formControls.each(function (i, el) {
- var name = $(el).attr('name');
- if (name) {
- $(el).on('change', function () {
- onchange(this);
- });
- }
- });
- //触发onchange事件时,保存到本地存储,或者更新本地存储中的值
- function onchange(el) {
- var storage = localStorage.getItem(set_localStorage);
- if (storage == null) {
- var formDataDb = new Object();
- var key = $(el).attr("name");
- var value = $(el).val();
- formDataDb[key] = value;
- localStorage.setItem(set_localStorage, JSON.stringify(formDataDb));
- } else {
- var myData = JSON.parse(storage);
- var key = $(el).attr("name");
- var value = $(el).val();
- myData[key] = value;
- localStorage.setItem(set_localStorage, JSON.stringify(myData));
- }
- }
- }
- //只冻结表格头部首行 调用方式 fixTableHead('#TableId', 0),只能调用table的ID table表的宽度应该限制为固定宽度,width:100%;
- sp.fixTableHead = function (table, rows) {
- /// <summary>只冻结表格头部首行</summary>
- if ($("#" + table + "_tableLayout").length != 0) {
- $("#" + table + "_tableLayout").before($("#" + table));
- $("#" + table + "_tableLayout").html('<div id="' + table + '_fixedHead" style="overflow:hidden"></div><div id="' + table + '_tableBody" style="overflow:auto"></div>');
- } else {
- $("#" + table).after('<div id="' + table + '_tableLayout" style="position:relative;height:100%;overflow:hidden"><div id="' + table + '_fixedHead" style="overflow:hidden"></div><div id="' + table + '_tableBody" style="overflow:auto"></div></div>');
- }
- var $tableLayout = $("#" + table + "_tableLayout");
- var $fixedHead = $("#" + table + "_fixedHead");
- var $tableBody = $("#" + table + "_tableBody");
- var rows = rows || 1; //默认固定1行
- var $table = $("#" + table);
- var $tableClone = $table.clone(true).removeAttr("id");
- $table.appendTo($tableBody);
- $tableClone.appendTo($fixedHead);
- $tableLayout.find('table').css("margin", "0");
- var theadHeight = 0;
- if ($table.find('thead').length != 0) {
- theadHeight = $table.find('thead').height();
- } else {
- for (var i = 0; i < rows; i++) {
- theadHeight += $table.find('tr').eq(i).height
- }
- }
- $fixedHead.height(theadHeight);
- $tableBody.height($tableLayout.height() - theadHeight);
- var tableWidth = $table.outerWidth();
- $table.css("marginTop", -theadHeight)
- if ($table.height() - theadHeight > $tableBody.height()) {
- $fixedHead.width($tableLayout.width() - 18)
- $tableLayout.append('<div id="' + table + '_gutter" style="position:absolute;top:1px;right:0;width:17px;border-bottom:1px solid #E1E6EB;background: #f1f1f1;height:' + (theadHeight - 1) + 'px"></div>')
- }
- $tableBody.scroll(function () {
- $fixedHead.scrollLeft($tableBody.scrollLeft());
- });
- var resizeTimer = null;
- $(window).resize(function () {
- if (resizeTimer) clearTimeout(resizeTimer);
- resizeTimer = setTimeout(function () {
- $fixedHead.height(theadHeight);
- $tableBody.height($tableLayout.height() - theadHeight);
- if ($table.height() - theadHeight > $tableBody.height()) {
- $fixedHead.width($tableLayout.width() - 18);
- if ($tableLayout.find('#' + table + '_gutter').length == 0) {
- $tableLayout.append('<div id="' + table + '_gutter" style="position:absolute;top:1px;right:0;width:17px;border-bottom:1px solid #E1E6EB;background: #f1f1f1;height:' + (theadHeight - 1) + 'px"></div>')
- }
- } else {
- $fixedHead.width($tableLayout.width() - 1);
- $tableLayout.find('#' + table + '_gutter').remove();
- }
- }, 100);
- });
- }
- //冻结头和列 调用: fixTable("MyTable", 1, 600, 300); 锁定表头和列: Table的ID、列的个数、显示的宽度、显示的高度,宽度不固定
- /// 锁定表头和列. table表的宽度是不能限制为固定,min-width:100%;
- sp.fixTable = function (TableID, FixColumnNumber, width, height) {
- /// <summary>冻结表头和列</summary>
- $(document).ready(function () {
- if ($("#" + TableID + "_tableLayout").length != 0) {
- $("#" + TableID + "_tableLayout").before($("#" + TableID)); $("#" + TableID + "_tableLayout").empty();
- }
- else {
- $("#" + TableID).after("<div id=\"" + TableID + "_tableLayout\" style=\"overflow:hidden;height:" + height + "px; width:" + width + "px;\"></div>");
- }
- $("<div id=\"" + TableID + "_tableFix\"></div>" + "<div id=\"" + TableID + "_tableHead\"></div>" + "<div id=\"" + TableID + "_tableColumn\"></div>" + "<div id=\"" + TableID + "_tableData\"></div>").appendTo("#" + TableID + "_tableLayout");
- var oldtable = $("#" + TableID);
- var tableFixClone = oldtable.clone(true);
- tableFixClone.attr("id", TableID + "_tableFixClone");
- $("#" + TableID + "_tableFix").append(tableFixClone);
- var tableHeadClone = oldtable.clone(true);
- tableHeadClone.attr("id", TableID + "_tableHeadClone");
- $("#" + TableID + "_tableHead").append(tableHeadClone);
- var tableColumnClone = oldtable.clone(true);
- tableColumnClone.attr("id", TableID + "_tableColumnClone");
- $("#" + TableID + "_tableColumn").append(tableColumnClone);
- $("#" + TableID + "_tableData").append(oldtable);
- $("#" + TableID + "_tableLayout table").each(function () {
- $(this).css("margin", "0");
- });
- var HeadHeight = $("#" + TableID + "_tableHead thead").height();
- HeadHeight += 2;
- $("#" + TableID + "_tableHead").css("height", HeadHeight);
- $("#" + TableID + "_tableFix").css("height", HeadHeight);
- var ColumnsWidth = 0;
- var ColumnsNumber = 0;
- $("#" + TableID + "_tableColumn tr:last td:lt(" + FixColumnNumber + ")").each(function () {
- ColumnsWidth += $(this).outerWidth(true);
- ColumnsNumber++;
- });
- ColumnsWidth += 2;
- if ($.browser.msie) {
- switch ($.browser.version) {
- case "7.0":
- if (ColumnsNumber >= 3) ColumnsWidth--;
- break;
- case "8.0":
- if (ColumnsNumber >= 2) ColumnsWidth--;
- break;
- }
- }
- $("#" + TableID + "_tableColumn").css("width", ColumnsWidth);
- $("#" + TableID + "_tableFix").css("width", ColumnsWidth);
- $("#" + TableID + "_tableData").scroll(function () {
- $("#" + TableID + "_tableHead").scrollLeft($("#" + TableID + "_tableData").scrollLeft());
- $("#" + TableID + "_tableColumn").scrollTop($("#" + TableID + "_tableData").scrollTop());
- });
- $("#" + TableID + "_tableFix").css({ "overflow": "hidden", "position": "relative", "z-index": "50", "background-color": "Silver" });
- $("#" + TableID + "_tableHead").css({ "overflow": "hidden", "width": width - 17, "position": "relative", "z-index": "45", "background-color": "#fff" });
- $("#" + TableID + "_tableColumn").css({ "overflow": "hidden", "height": height - 17, "position": "relative", "z-index": "40", "background-color": "Silver" });
- $("#" + TableID + "_tableData").css({ "overflow": "scroll", "width": width, "height": height, "position": "relative", "z-index": "35" });
- if ($("#" + TableID + "_tableHead").width() > $("#" + TableID + "_tableFix table").width()) {
- $("#" + TableID + "_tableHead").css("width", $("#" + TableID + "_tableFix table").width());
- $("#" + TableID + "_tableData").css("width", $("#" + TableID + "_tableFix table").width() + 17);
- }
- if ($("#" + TableID + "_tableColumn").height() > $("#" + TableID + "_tableColumn table").height()) {
- $("#" + TableID + "_tableColumn").css("height", $("#" + TableID + "_tableColumn table").height());
- $("#" + TableID + "_tableData").css("height", $("#" + TableID + "_tableColumn table").height() + 17);
- }
- $("#" + TableID + "_tableFix").offset($("#" + TableID + "_tableLayout").offset());
- $("#" + TableID + "_tableHead").offset($("#" + TableID + "_tableLayout").offset());
- $("#" + TableID + "_tableColumn").offset($("#" + TableID + "_tableLayout").offset());
- $("#" + TableID + "_tableData").offset($("#" + TableID + "_tableLayout").offset());
- });
- }
- //获取滚动条宽度
- sp.getScrollbarWidth = function () {
- var oP = document.createElement('p'), styles = {
- width: '100px',
- height: '100px',
- overflowY: 'scroll',
- }, i, scrollbarWidth;
- for (i in styles) {
- oP.style[i] = styles[i];
- }
- document.body.appendChild(oP);
- scrollbarWidth = oP.offsetWidth - oP.clientWidth;
- oP.remove();
- return scrollbarWidth;
- }
- // ************** 使用列很多的表格
- sp.fixTab2 = function (TableID, FixColumnNumber) {
- var scrollWidth = 17
- var table = "#" + TableID;
- var $table = $(table);
- if ($(table + "_tableLayout").length != 0) {
- $(table + "_tableLayout").before($(table));
- $(table + "_tableLayout").empty();
- } else {
- $table.after('<div id="' + TableID + '_tableLayout" style="overflow:hidden;width:100%;max-height:100%;position:relative"></div>');
- }
- var $tableLayout = $(table + "_tableLayout");
- //添加外壳
- $tableLayout.append('<div id="scrollMask"></div><div id="' + TableID + '_tableFix"></div>' + '<div id="' + TableID + '_tableHead"></div>' + '<div id="columnBox"><div id="' + TableID + '_tableColumn"></div></div>' + '<div id="' + TableID + '_tableData"></div>')
- //获取外壳
- var $tableFix = $(table + "_tableFix");
- var $tableHead = $(table + "_tableHead");
- var $columnBox = $("#columnBox");
- var $tableColumn = $(table + "_tableColumn");
- var $tableData = $(table + "_tableData");
- // console.log($table.width());
- // console.log($table.outerWidth());
- // $table.width(tableWidth);
- //获取表头高度
- var HeadHeight = $(table + " thead").outerHeight() + 1;
- var ColumnsWidth = 0;
- var ColumnsNumber = 0;
- $("#" + TableID + " tr:last td:lt(" + FixColumnNumber + ")").each(function () {
- ColumnsWidth += $(this).outerWidth(true);
- ColumnsNumber++;
- });
- ColumnsWidth += 1;
- //获取原表宽度
- $tableData.append($table);
- $tableData.css({ "overflow": "scroll", "height": par_height - HeadHeight, "position": "relative", "z-index": "35", "margin-top": HeadHeight });
- var tableWidth = $(table).width();
- var par_height = $tableLayout.outerHeight();
- var par_width = $tableLayout.width();
- $tableData.height(par_height - HeadHeight);
- //左上角
- setTimeout(function () {
- var $tableFixClone = $table.clone(true);
- $tableFixClone.attr("id", TableID + "_tableFixClone").css("margin", "0").width(tableWidth);
- $tableFix.css({ "height": HeadHeight, "width": ColumnsWidth, "overflow": "hidden", "position": "absolute", "top": 0, "left": 0, "z-index": "50", "background-color": "#fff" }).append($tableFixClone);
- })
- //表头
- setTimeout(function () {
- var $tableHeadClone = $table.clone(true);
- $tableHeadClone.attr("id", TableID + "_tableHeadClone").css("margin", "0");
- $tableHead.append($tableHeadClone);
- $tableHeadClone.width(tableWidth);
- $tableHead.css({ "height": HeadHeight, "overflow": "hidden", "width": par_width - 17, "position": "absolute", "top": 0, "left": 0, "z-index": "45", "background-color": "#fff" });
- })
- //列
- setTimeout(function () {
- var $tableColumnClone = $table.clone(true);
- $tableColumnClone.attr("id", TableID + "_tableColumnClone").css("margin", "0");
- $tableColumn.append($tableColumnClone);
- $tableColumnClone.width(tableWidth);
- $columnBox.css({ "width": ColumnsWidth, "overflow": "hidden", "height": par_height - 17, "position": "absolute", "top": 0, "left": 0, "z-index": "40", "background-color": "#fff" });
- $tableColumn.css({ "width": ColumnsWidth + scrollWidth, "overflow-x": "hidden", "overflow-y": "scroll", "height": par_height - 17, "position": "absolute", "top": 0, "left": 0, "z-index": "40" });
- var scrollFlag = false;
- $tableData.on('scroll', function () {
- if (scrollFlag) {
- return;
- }
- $tableHead.scrollLeft($tableData.scrollLeft());
- $tableColumn.scrollTop($tableData.scrollTop());
- }).on('mouseover', function () {
- scrollFlag = false;
- })
- $tableColumn.on('scroll', function () {
- if (!scrollFlag) {
- return;
- }
- $tableData.scrollTop($tableColumn.scrollTop());
- }).on('mouseover', function () {
- scrollFlag = true;
- })
- });
- $("#scrollMask").css({ 'position': "absolute", "top": 0, "right": 0, "width": scrollWidth, "height": HeadHeight, "background": "#E1E6EB", border: "solid #E1E6EB", "border-width": "1px 1px 1px 0" })
- $table.css("margin-top", -HeadHeight);
- var flag = false;
- $(window).resize(function () {
- if (flag) {
- return;
- }
- setTimeout(function () {
- par_height = $tableLayout.height();
- par_width = $tableLayout.width();
- // $columnBox.css({"width":ColumnsWidth,"height": par_height - 17});
- // $tableColumn.css({"width": ColumnsWidth+scrollWidth,"height": par_height - 17});
- // $tableData.css({"width":par_width-17,"height": par_height-HeadHeight});
- $tableHead.width(par_width - 17);
- $columnBox.height(par_height - 17);
- $tableColumn.height(par_height - 17);
- $tableData.height(par_height - HeadHeight);
- flag = false;
- }, 100);
- flag = true;
- });
- // return $("#" + TableID + "_tableLayout").html();
- }
- ///*************************************************************
- /* 为保证angularjs的显示效果,判断ie浏览器版本是否过低*/
- sp.getMyBrowser = function () {
- var userAgent = window.navigator.userAgent; //取得浏览器的userAgent字符串
- var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
- var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
- if (!isIE) {
- isIE = userAgent.indexOf("Windows NT") > -1 && userAgent.indexOf("BOIE") > -1 && !isOpera; //判断是否IE浏览器
- }
- var is360 = isIE && ((window.navigator.userProfile + '') == 'null');//判断是否360浏览器
- var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
- var isChrome = userAgent.indexOf("Chrome") > -1; //判断是否Safari浏览器
- var isSafari = userAgent.indexOf("Safari") > -1 && !isChrome; //判断是否Safari浏览器
- if (isIE && !is360) {
- var IE5 = IE55 = IE6 = IE7 = IE8 = false;
- var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
- reIE.test(userAgent);
- var fIEVersion = parseFloat(RegExp["$1"]);
- IE55 = fIEVersion == 5.5;
- IE6 = fIEVersion == 6.0;
- IE7 = fIEVersion == 7.0;
- IE8 = fIEVersion == 8.0;
- if (IE55) {
- return "IE55|false";
- } else if (IE6) {
- return "IE6|false";
- } else if (IE7) {
- return "IE7|false";
- } else if (IE8) {
- return "IE8|false";
- } else {
- return "IE9|true";
- }
- } //isIE end
- if (is360) {
- return "360|alert";
- }
- if (isFF) {
- return "FF|true";
- }
- if (isChrome) {
- return "Chrome|true";
- }
- if (isOpera) {
- return "Opera|true";
- }
- if (isSafari) {
- return "Safari|true";
- }
- }
- /**调用监测浏览器版本方法,并进行判断与提示**/
- sp.checkIEVersion = function () {
- var mb = sp.getMyBrowser(); ///获取浏览器判断返回的值
- if (mb == undefined || mb == null || mb == "") {
- sp.dialog("您正在使用兼容模式,网站的样式可能会发生变化,请您更换Google Chrome浏览器或IE9以上版本浏览器进行浏览。");
- } else {
- var mbArray = mb.split("|");
- if (mbArray[1] == "alert") {
- sp.dialog("您正在使用360浏览器浏览,网站的样式可能会发生变化,请您更换Google Chrome浏览器或IE9以上版本浏览器进行浏览。");
- } else if (mbArray[1] == "false") {
- sp.dialog("您正在使用低版本IE浏览器浏览,网站的样式可能会发生变化,请您更换Google Chrome浏览器或IE9以上版本浏览器进行浏览。");
- } else {
- }
- }
- }
- sp.getExplorerInfo = function () {
- var explorer = window.navigator.userAgent.toLowerCase();
- //ie
- if (explorer.indexOf("msie") >= 0) {
- var ver = explorer.match(/msie ([\d.]+)/)[1];
- return { type: "IE", version: ver };
- }
- ////ie11有点特殊,ie11执行这句话
- if (explorer.indexOf("rv:11") > -1) {
- var ver = explorer.match(/rv:([\d.]+)/)[1];
- return { type: "IE", version: ver };
- }
- //firefox
- else if (explorer.indexOf("firefox") >= 0) {
- var ver = explorer.match(/firefox\/([\d.]+)/)[1];
- return { type: "Firefox", version: ver };
- }
- //Chrome
- else if (explorer.indexOf("chrome") >= 0) {
- var ver = explorer.match(/chrome\/([\d.]+)/)[1];
- return { type: "Chrome", version: ver };
- }
- //Opera
- else if (explorer.indexOf("opera") >= 0) {
- var ver = explorer.match(/opera.([\d.]+)/)[1];
- return { type: "Opera", version: ver };
- }
- //Safari
- else if (explorer.indexOf("Safari") >= 0) {
- var ver = explorer.match(/version\/([\d.]+)/)[1];
- return { type: "Safari", version: ver };
- }
- }
- /////2018.7.12禁用ctrl+s快捷键
- sp.disablesaving = function () {
- document.onkeydown = function (e) {
- e = window.event || e;
- var key = e.keyCode;
- if (key == 83 && e.ctrlKey == true) {
- return false;
- }
- };
- };
- /////2018.9.27
- ///***给字符串添加属性************************************************************
- //2016-11-14 截取字符串两侧的空格 JavaScript
- sp.trim = function (str) {
- ///<summary>去掉字符串所有空格</summary>
- return str.replace(/\s+/g, "");
- };
- sp.trimleft = function (str) {
- ///<summary>去掉左边的空格</summary>
- return str.replace(/^\s*/, "");
- };
- sp.trimright = function (str) {
- ///<summary>去除右边的空格</summary>
- return str.replace(/\s*$/, "");
- };
- sp.trimin = function (str) {
- ///<summary>去除内的空格</summary>
- return str.replace(/\s/g, "");
- };
- ///截取字符串
- sp.cutfirst = function (str, num) {
- /// <summary>去掉第一个字符 </summary>
- if (sp.isval(num)) {
- return str.substr(num);
- } else { return str.substr(1); }
- }
- sp.cutlast = function (str, num) {
- /// <summary>去掉最后一个字符 </summary>
- if (sp.isval(num)) {
- if (num < 1) {
- sp.dialog("截取尾部字符的数量须大于0");
- } else {
- return str.substr(0, str.length - num);
- }
- } else {
- return str.substr(0, str.length - 1);
- }
- };
- ///给数组添加属性
- //strMin();获取数组中最小值
- sp.arraymin = function (strArr) {
- /// <summary> 获取数组中最小值 </summary>
- var strMin = strArr[0];
- var len = strArr.length;
- for (var i = 1; i < len; i++) {
- if (strArr[i] < strMin) {
- strMin = strArr[i];
- }
- }
- return strMin;
- }
- //strMax();获取数组中最大值
- sp.arraymax = function (strArr) {
- /// <summary> 获取数组中最大值 </summary>
- var strMax = strArr[0];
- var len = strArr.length;
- for (var i = 1; i < len; i++) {
- if (strArr[i] > strMax) {
- strMax = strArr[i];
- }
- }
- return strMax;
- }
- //arrayAscend将数字升序排序();
- sp.arrayAscend = function (strArr) {
- /// <summary>冒泡排序:将数字从小到大排序升序</summary>
- //var arr = new Array;
- var arr = new Array;
- arr = strArr;
- var length = arr.length;
- for (var i = 0; i < length; i++) {
- for (var j = i; j < length; j++) {
- if (arr[i] > arr[j]) {
- Temp = arr[i];
- arr[i] = arr[j];
- arr[j] = Temp;
- }
- }
- }
- return arr;
- };
- //arrayDescend将数字降序排序();
- sp.arrayDescend = function (strArr) {
- /// <summary>冒泡排序:降序排序</summary>
- var arr = new Array;
- arr = strArr;
- var Temp = 0;
- var length = arr.length;
- for (var i = 0; i < length; i++) {
- for (var j = i + 1; j < length; j++) {
- if (arr[i] < arr[j]) {
- Temp = arr[i];
- arr[i] = arr[j];
- arr[j] = Temp;
- }
- }
- }
- return arr;
- };
- ///设置左右布局的tab选项卡,左右两边高度一致201809
- sp.settableft = function () {
- if ($("body").find(".sp-tab-left").length > 0) {
- $(".sp-tab-left").each(function () {
- if ($(".sp-tab-menu", this).height() > $(".sp-tab-box", this).height()) {
- $(".sp-tab-box", this).css("height", $(".sp-tab-menu", this).outerHeight());
- } else {
- $(".sp-tab-menu", this).css("height", $(".sp-tab-box", this).outerHeight());
- }
- });
- };
- };
- sp.settableft();
- sp.settabright = function () {
- if ($("body").find(".sp-tab-right").length > 0) {
- $(".sp-tab-right").each(function () {
- if ($(".sp-tab-menu", this).height() > $(".sp-tab-box", this).height()) {
- $(".sp-tab-box", this).css("height", $(".sp-tab-menu", this).outerHeight());
- } else {
- $(".sp-tab-menu", this).css("height", $(".sp-tab-box", this).outerHeight());
- }
- });
- };
- };
- sp.settabright();
- //201810
- /////判断这个变量不为空、null、undefined,即判断这个变量是有值存在
- sp.isval = function (vars) {
- if (typeof (vars) != undefined && vars != null && vars != "") {
- return true;
- }
- };
- ///201810
- ////利用checkbox的多选情况
- sp.selectmore = function () {
- if ($("body").find(".sp-selectmore").length > 0) {
- $(".sp-selectmore").each(function () {
- $(".sp-selectmore-bottom span", this).each(function () {
- $(this).on("click", function () {
- var getmoreup = $(this).parents(".sp-selectmore").children(".sp-selectmore-up");
- if ($(this).hasClass("sp-selectmore-active")) {
- $(this).removeClass("sp-selectmore-active");
- getmoreup.find("span[data-value='" + $(this).attr("data-value") + "']").remove();
- } else {
- $(this).addClass("sp-selectmore-active");
- //getmoreup.append("<span data-value='" + $(this).attr("data-value") + "'><label onclick='sp.selectmoreclose(this)'>×</label>" + $(this).text() + "</span>");
- getmoreup.append("<span data-value='" + $(this).attr("data-value") + "'>" + $(this).text() + "</span>");
- }
- });
- });
- //判断是否有赋值
- if ($(".sp-selectmore-up", this).find("span").length > 0) {
- $(this).children(".sp-selectmore-up").find("span").each(function () {
- var getvalue = $(this).attr("data-value");
- $(this).parents(".sp-selectmore").children(".sp-selectmore-bottom").find("span[data-value='" + getvalue + "']").addClass("sp-selectmore-active");
- });
- };
- /////点击上下两个div层控制显示隐藏切换
- $(this).find(".sp-selectmore-up").on("click", function (e) {
- if ($(this).hasClass("sp-selectmore-up-hasclick")) {
- $(this).removeClass("sp-selectmore-up-hasclick");
- $(this).parents(".sp-selectmore").children(".sp-selectmore-bottom").hide();
- sp.stopPropagation(e);
- } else {
- $(this).addClass("sp-selectmore-up-hasclick");
- $(this).parents(".sp-selectmore").children(".sp-selectmore-bottom").show();
- sp.stopPropagation(e);
- }
- });
- $(document).bind('click', function () {
- $(".sp-selectmore-up", this).removeClass("sp-selectmore-up-hasclick");
- $(".sp-selectmore-bottom",this).hide()
- });
- $(this).children(".sp-selectmore-bottom").click(function (e) {
- sp.stopPropagation(e);
- });
-
- });
- };
- };
- ////更多插件的上部叉号关闭按钮
- sp.selectmoreclose = function (obj,e) {
- var getvalue = $(obj).parent().attr("data-value");
- var bottom = $(obj).parents(".sp-selectmore").children(".sp-selectmore-bottom");
- bottom.find("span[data-value='" + getvalue + "']").removeClass("sp-selectmore-active");
- $(obj).parent().remove();
- sp.stopPropagation(e);
- };
- ////2019-5-7
- // 字符串转base64
- sp.strToBase64 = function (str){
- return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {
- return String.fromCharCode('0x' + p1);
- }));
- };
- // base64转字符串
- sp.base64ToStr = function (base64){
- return decodeURIComponent(atob(base64).split('').map(function(c) {
- return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
- }).join(''));
- };
- //2020-1-2 格式化文件大小显示
- sp.filesize = function (limit) {
- var size = "";
- if (limit < 0.1 * 1024) { //如果小于0.1KB转化成B
- size = limit.toFixed(2) + "B";
- } else if (limit < 0.1 * 1024 * 1024) {//如果小于0.1MB转化成KB
- size = (limit / 1024).toFixed(2) + "KB";
- } else if (limit < 0.1 * 1024 * 1024 * 1024) { //如果小于0.1GB转化成MB
- size = (limit / (1024 * 1024)).toFixed(2) + "MB";
- } else { //其他转化成GB
- size = (limit / (1024 * 1024 * 1024)).toFixed(2) + "GB";
- }
- var sizestr = size + "";
- var len = sizestr.indexOf("\.");
- var dec = sizestr.substr(len + 1, 2);
- if (dec == "00") {//当小数点后为00时 去掉小数部分
- return sizestr.substring(0, len) + sizestr.substr(len + 3, 2);
- }
- return sizestr;
- }
- ///2020-1-7
- //自定义变形函数
- sp.dateFtt = function(fmt, date) {
- var o = {
- "M+": date.getMonth() + 1, //月份
- "d+": date.getDate(), //日
- "h+": date.getHours(), //小时
- "m+": date.getMinutes(), //分
- "s+": date.getSeconds(), //秒
- "q+": Math.floor((date.getMonth() + 3) / 3), //季度
- "S": date.getMilliseconds() //毫秒
- };
- if (/(y+)/.test(fmt))
- fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
- for (var k in o)
- if (new RegExp("(" + k + ")").test(fmt))
- fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
- return fmt;
- }
- //判断所选日期是第几周 传入时间对象 //调用方式getWeekNumber(new Date())
- sp.getWeekNumber = function (obj) {
- var year = obj.getFullYear(); //年
- var month = obj.getMonth(); //月
- var days = obj.getDate(); //日
- var nowTime = obj.getTime(); //毫秒
- var day = obj.getDay(); //星期几
- //那一天是那一年中的第多少天
- for (var i = 0; i < month; i++) {
- days += sp.getMonthDays(year, i);
- }
- //那一年第一天是星期几
- var yearFirstDay = new Date(year, 0, 1).getDay() || 7;
- var week = null;
- if (yearFirstDay == 1) {
- week = Math.ceil(days / 7);
- } else {
- days -= (7 - yearFirstDay + 1);
- week = Math.ceil(days / 7) + 1;
- }
- var oneDayLong = 24 * 60 * 60 * 1000;
- if (day == 0) {
- var MondayTime = nowTime - 6 * oneDayLong;
- var SundayTime = nowTime;
- } else {
- var MondayTime = nowTime - (day - 1) * oneDayLong;
- var SundayTime = nowTime + (7 - day) * oneDayLong;
- }
- var dateString = "";
- for (var i = 0; i < 7; i++) {
- var time = MondayTime + (oneDayLong) * i;
- dateString += sp.dateFtt("MM.dd", new Date(time)) + ","
- }
- var monday = sp.dateFtt("yyyy-MM-dd", new Date(MondayTime));
- var sunday = sp.dateFtt("yyyy-MM-dd", new Date(SundayTime));
- return {
- begin: monday,
- end: sunday,
- week: week,
- dateString: dateString.substring(0, dateString.length - 1),
- weekday: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"][day]
- }
- }
- ///判断是否为闰年
- sp.isLeapYear = function (year) {
- return (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);
- }
- //判断每个月的天数
- sp.getMonthDays = function (year, month) {
- return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month] || (sp.isLeapYear(year) ? 29 : 28);
- }
- ///判断是否为json字符串
- sp.isJSON = function (str) {
- if (typeof str == 'string') {
- try {
- var obj = JSON.parse(str);
- if (typeof obj == 'object' && obj) {
- return true;
- } else {
- return false;
- }
- } catch (e) {
- return false;
- }
- }
- }
- ///【2020-2-26】js获取指定日期的前一天/后一天
- // date 代表指定的日期,格式:2018-09-27
- // day 传-1表始前一天,传1表始后一天
- // JS获取指定日期的前一天,后一天
- sp.getNextDate = function (date, day) {
- var dd = new Date(date);
- dd.setDate(dd.getDate() + day);
- var y = dd.getFullYear();
- var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
- var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
- return y + "-" + m + "-" + d;
- };
- ////getNextDate("2018-09-27", -1);
- //获取本机ip地址
- sp.myIP = function () {
- var ip = "";
- $.ajax({
- url: apiurljs.login + "g2app/dataabase/getClientIP",
- type: 'post',
- async: false,
- contentType: "application/json",
- beforeSend: function (request) {
- request.setRequestHeader("Authorization", "Bearer " + localStorage.getItem("GlWorkPlatform-AccessToken"));
- },
- dataType: "json",
- success: function (obj) {
- var res = strToJson(s4.decryptData_CBC(obj.data));
- ip = res.data;
- }
- })
- return ip
- }
- //获取本机操作系统
- sp.detectOS = function () {
- var sUserAgent = navigator.userAgent;
-
- var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");
- var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh") || (navigator.platform == "MacIntel");
- if (isMac) return "Mac";
- var isUnix = (navigator.platform == "X11") && !isWin && !isMac;
- if (isUnix) return "Unix";
- var isLinux = (String(navigator.platform).indexOf("Linux") > -1);
-
- var bIsAndroid = sUserAgent.toLowerCase().match(/android/i) == "android";
- if (isLinux) {
- if(bIsAndroid) return "Android";
- else return "Linux";
- }
- if (isWin) {
- if (sUserAgent.indexOf("Windows NT 5") != -1) {
- return "Windows XP";
- } else if (sUserAgent.indexOf("Windows NT 7") != -1) {
- return "Windows 7";
- } else if (sUserAgent.indexOf("Windows NT 10") != -1) {
- return "Windows 10";
- }
- }
- return "other";
- }
- //获取本机浏览器类型
- sp.browser = function () {
- var userAgent = navigator.userAgent;
- if (navigator.userAgent.indexOf('Firefox') > -1)
- return "火狐浏览器"
- if (navigator.userAgent.indexOf('Chrome') > -1 )
- return "谷歌浏览器"
- if (navigator.userAgent.indexOf('Opera') > -1)
- return "Opera"
- if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera)
- return "IE浏览器"
- }
- //获取当前时间(带毫秒),格式:2021-11-23 10:47:15.165
- sp.getLocalDate1 = function () {
- var objDate = new Date();
- var str, date, colorhead, colorfoot;
- var yy = objDate.getFullYear();
- var MM = objDate.getMonth() + 1;
- if (MM < 10) MM = '0' + MM;
- var dd = objDate.getDate();
- if (dd < 10) dd = '0' + dd;
- var hh = objDate.getHours();
- if (hh < 10) hh = '0' + hh;
- var mm = objDate.getMinutes();
- if (mm < 10) mm = '0' + mm;
- var ss = objDate.getSeconds();
- if (ss < 10) ss = '0' + ss;
- date = yy + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + ss;
- var mins = objDate.getTime() - new Date(date).getTime();
- mins < 10 ? '00' + mins : mins < 100 ? '0' + mins : mins;
- str = yy + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + ss + "." + mins;
- return str;
- };
- //提醒登录超时
- sp.addDLTX = function () {
- if ($('body').find(".DLTX").length < 1) {
- $('body').prepend("<div class=\"DLTX\"></div>");
- }
- }
- sp.openDLTX = function (Name) {
- $('.DLTX').fadeIn(200);
- sp.setCenter(Name);
- }
- //毫秒转日期格式
- sp.minsToDate = function (fmt, str) {
- var date = new Date(str);
- var o = {
- "M+": date.getMonth() + 1, //月份
- "d+": date.getDate(), //日
- "h+": date.getHours(), //小时
- "m+": date.getMinutes(), //分
- "s+": date.getSeconds(), //秒
- "q+": Math.floor((date.getMonth() + 3) / 3), //季度
- "S": date.getMilliseconds() //毫秒
- };
- if (/(y+)/.test(fmt))
- fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
- for (var k in o)
- if (new RegExp("(" + k + ")").test(fmt))
- fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
- return fmt;
- }
- //拖动
- sp.drag = function (id) {
- var box = document.querySelector(id);
- var title = box.children[0];
- title.addEventListener("mousedown", function (event) {
- var x = event.pageX - box.offsetLeft;
- var y = event.pageY - box.offsetTop;
- document.addEventListener("mousemove", boxMove)
- function boxMove(event) {
- box.style.left = (event.pageX - x) + "px"
- box.style.top = (event.pageY - y) + "px"
- }
- document.addEventListener("mouseup", function () {
- document.removeEventListener("mousemove", boxMove)
- })
- })
- }
- //框架当前窗口全屏显示
- sp.fullscreen = function () {
- var full = window.top.document.getElementsByClassName("sp-wrapper-tabs-box-current")[0].children[0];
- if (full.RequestFullscreen) {
- full.RequestFullscreen()
- } else if (full.mozRequestFullscreen) {
- full.mozRequestFullscreen()
- } else if (full.webkitRequestFullscreen) {
- full.webkitRequestFullscreen()
- } else if (full.msRequestFullscreen) {
- full.msRequestFullscreen()
- }
- }
- //浏览器独立窗口
- sp.openNewWindow = function (url, title) {
- width = window.outerWidth;
- height = window.outerHeight;
- window.open(url, title, 'width=' + width + ',height=' + height + ',toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')
- }
- //ip替换
- sp.ipChange = function (ip) {
- return window.location.origin + ip.slice(7).slice(ip.slice(7).indexOf("/"))
- }
- $(document).mousedown(function () {
- $.cookie("GlWorkPlatform-TimeNum", sp.getLocalDate(), { path: '/', expires: 1 })
- }).keydown(function () {
- $.cookie("GlWorkPlatform-TimeNum", sp.getLocalDate(), { path: '/', expires: 1 })
- }).mousemove(function () {
- $.cookie("GlWorkPlatform-TimeNum", sp.getLocalDate(), { path: '/', expires: 1 })
- });
|