1
0

js.js 40 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270
  1. var MODE = '',ACTION = '',DIR='',PROJECT='',HOST='',PARAMS='',QOM='xinhu_',apiurl='',token='',device='',CFROM='pc',ISDEMO=false,NOWURL='',nwjsgui=false,apicloud=false,isapp=false,homestyle=0,maincolor='#1389D3';
  2. var windows = null,ismobile=0,clientbool = false;;
  3. function initbody(){}
  4. function bodyunload(){}
  5. function globalbody(){}
  6. function initApp(){}
  7. function apiready(){apicloud=true;var key = 'apiwinname';var svst=js.request(key);if(svst)sessionStorage.setItem(key,svst);js.setapptitle();initApp();}
  8. $(document).ready(function(){
  9. try{if(typeof(nw)=='object'){nwjsgui = nw;}else{nwjsgui = require('nw.gui');}}catch(e){nwjsgui=false;}
  10. $(window).scroll(js.scrolla);
  11. HOST = js.gethost();
  12. adminid=js.request('adminid');
  13. token=js.request('token');
  14. js.getsplit();
  15. device= js.cookie('deviceid');
  16. if(device=='')device=js.now('time');
  17. js.savecookie('deviceid', device, 365);
  18. js.apptheme();
  19. try{
  20. var winobj = js.request('winobj');
  21. if(nwjsgui)window.focus=function(){nw.Window.get().focus()}
  22. if(winobj!='')opener.js.openarr[winobj]=window;
  23. }catch(e){}
  24. var llq = navigator.userAgent;
  25. if(llq.indexOf('REIMCLIENT')>0)clientbool = true;
  26. globalbody();
  27. initbody();
  28. $('body').click(function(e){
  29. js.downbody(this, e);
  30. });
  31. $(window).unload(function(){
  32. js.onunload();
  33. bodyunload();
  34. });
  35. var openfrom = js.request('openfrom',js.getoption('openfrom','', true));
  36. js.setoption('openfrom', openfrom, true);
  37. if(HOST=='127.0.0.1' || HOST=='localhost' || HOST.indexOf('192.168.')>-1)window.addEventListener('error',function(e){
  38. var msg = '文件:'+e.filename+'\n行:'+e.lineno+'\n错误:<font color=red>'+e.message+'</font>';
  39. js.alert(msg,'js错误');
  40. });
  41. if(llq.indexOf('XINHUOA')<0){
  42. if(typeof(api)=='undefined')api={};
  43. }
  44. setTimeout(function(){
  45. if(typeof(api)=='undefined'){
  46. api={};
  47. api.systemType='androidnew';
  48. api.deviceId='';
  49. }
  50. },2000);
  51. });
  52. var js={path:'index',url:'',bool:false,login:{},initdata:{},openarr:{},scroll:function(){}};
  53. var isIE=true;
  54. if(!document.all)isIE=false;
  55. var get=function(id){return document.getElementById(id)};
  56. var isempt=function(an){var ob = false;if(an==''||an==null||typeof(an)=='undefined'){ob=true;}if(typeof(an)=='number'){ob=false;}return ob;}
  57. var strreplace=function(str){if(isempt(str))return '';return str.replace(/[ ]/gi,'').replace(/\s/gi,'')}
  58. var strhtml=function(str){if(isempt(str))return '';return str.replace(/\</gi,'&lt;').replace(/\>/gi,'&gt;')}
  59. var form=function(an,fna){if(!fna)fna='myform';return document[fna][an]}
  60. var xy10=function(s){var s1=''+s+'';if(s1.length<2)s1='0'+s+'';return s1;};
  61. js.getarr=function(caa,bo){
  62. var s='';
  63. for(var a in caa)s+=' @@ '+a+'=>'+caa[a]+'';
  64. if(!bo)alert(s);
  65. return s;
  66. }
  67. js.getarropen=function(caa){
  68. jsopenararass = caa;
  69. js.open('js/array.shtml');
  70. }
  71. js.str=function(o){
  72. o.value = strreplace(o.value);
  73. }
  74. js.getcan = function(i,dev){
  75. var a = PARAMS.split('-');
  76. var val = '';
  77. if(!dev)dev='';
  78. if(a[i])val=a[i];
  79. if(!val)val=dev;
  80. return val;
  81. }
  82. js.gethost=function(){
  83. var url = location.href,sau='';
  84. try{sau = url.split('//')[1].split('/')[0];}catch(e){}
  85. if(sau.indexOf('demo.rockoa.com')>=0 || sau.indexOf('demo1.rockoa.com')>=0)ISDEMO=true;
  86. var lse = url.lastIndexOf('/');NOWURL = url.substr(0, lse+1);
  87. QOM = NOWURL.replace(/\./g,'').replace(/\//g,'').replace(/\:/g,'')+'_';
  88. var cfrom= this.request('cfrom','',url);
  89. if(!cfrom)cfrom=this.getoption('CFROM');
  90. if(cfrom){this.setoption('CFROM', cfrom);CFROM = cfrom;}
  91. this.opentype = this.getoption('opentype');
  92. var otype= this.request('opentype','',url);
  93. if(otype){this.setoption('opentype', otype);this.opentype = otype;}
  94. this.reimapplx = 0;var llq = navigator.userAgent;if(llq.indexOf('REIMPLAT_APP')>0)this.reimapplx=1;
  95. return sau;
  96. }
  97. function winHb(){
  98. var winH=(!isIE)?window.innerHeight:document.documentElement.offsetHeight;
  99. return winH;
  100. }
  101. function winWb(){
  102. var winH=(!isIE)?window.innerWidth:document.documentElement.offsetWidth;
  103. return winH;
  104. }
  105. js.scrolla = function(){
  106. var top = $(document).scrollTop();
  107. js.scroll(top);
  108. }
  109. js.colorTorgb = function(col){
  110. var r=0,g=0,b=0;
  111. if(col.length==7){
  112. r = parseInt(col.substr(1,2),16);
  113. g = parseInt(col.substr(3,2),16);
  114. b = parseInt(col.substr(5,2),16);
  115. }
  116. return [r,g,b];
  117. }
  118. js.apptheme = function(){
  119. }
  120. js.request=function(name,dev,url){
  121. this.requestarr = {};
  122. if(!dev)dev='';
  123. if(!name)return dev;
  124. if(!url)url=location.href;
  125. if(url.indexOf('\?')<0)return dev;
  126. if(url.indexOf('#')>0)url = url.split('#')[0];
  127. var neurl=url.split('\?')[1];
  128. neurl=neurl.split('&');
  129. var value=dev,i,val;
  130. for(i=0;i<neurl.length;i++){
  131. val=neurl[i].split('=');
  132. this.requestarr[val[0]] = val[1];
  133. if(val[0].toLowerCase()==name.toLowerCase()){
  134. value=val[1];
  135. break;
  136. }
  137. }
  138. if(!value)value='';
  139. return value;
  140. }
  141. js.now=function(type,sj){
  142. if(!type)type='Y-m-d';
  143. if(type=='now')type='Y-m-d H:i:s';
  144. var dt,ymd,his,weekArr,Y,m,d,w,H=0,i=0,s=0,W;
  145. if(typeof(sj)=='string')sj=sj.replace(/\//gi,'-');
  146. if(/^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}/.test(sj)){
  147. sj=sj.split(' ');
  148. ymd=sj[0];
  149. his=sj[1];if(!his)his='00:00:00';
  150. ymd=ymd.split('-');
  151. his=his.split(':');
  152. H = his[0];if(his.length>1)i = his[1];if(his.length>2)s = his[2];
  153. dt=new Date(ymd[0],ymd[1]-1,ymd[2],H,i,s);
  154. }else{
  155. dt=(typeof(sj)=='number')?new Date(sj):new Date();
  156. }
  157. weekArr=new Array('日','一','二','三','四','五','六');
  158. Y=dt.getFullYear();
  159. m=xy10(dt.getMonth()+1);
  160. d=xy10(dt.getDate());
  161. w=dt.getDay();
  162. H=xy10(dt.getHours());
  163. i=xy10(dt.getMinutes());
  164. s=xy10(dt.getSeconds());
  165. W=weekArr[w];
  166. if(type=='time'){
  167. return dt.getTime();
  168. }else{
  169. return type.replace('Y',Y).replace('m',m).replace('d',d).replace('H',H).replace('i',i).replace('s',s).replace('w',w).replace('W',W);
  170. }
  171. }
  172. js.float=function(num,w){
  173. if(isNaN(num)||num==''||!num||num==null)num='0';
  174. num=parseFloat(num);
  175. if(!w&&w!=0)w=2;
  176. var m=num.toFixed(w);
  177. return m;
  178. }
  179. js.splittime=0;
  180. js.getsplit=function(){
  181. if(!js.servernow)return false;
  182. var dt=js.now('Y-m-d H:i:s');
  183. var d1=js.now('time',dt);
  184. var d2=js.now('time',js.servernow);
  185. js.splittime=d1-d2;
  186. }
  187. js.serverdt=function(atype){
  188. if(!atype)atype='Y-m-d H:i:s';
  189. var d1=js.now('time')-js.splittime;
  190. var dt=js.now(atype,d1);
  191. return dt;
  192. }
  193. js.open=function(url,w,h,wina,can,wjcan){
  194. if(apicloud){api.openWin({url:url});return;}
  195. if(wina){try{var owina = this.openarr[wina];owina.document.body;owina.focus();return owina;}catch(e){}}
  196. if(!w)w=750;if(!h)h=500;
  197. var l=(screen.width-w)*0.5,t=(screen.height-h)*0.5-50,rnd = parseInt(Math.random()*50);
  198. if(rnd%2==0){l=l+rnd;t=t-rnd;}else{l=l-rnd;t=t+rnd;}
  199. w = parseInt(w);h = parseInt(h);l = parseInt(l);t = parseInt(t);
  200. if(!can)can={};
  201. var s='resizable=yes,scrollbars=yes,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,status=no';
  202. var a1={'left':''+l+'px','top':''+t+'px','width':''+w+'px','height':''+h+'px'};
  203. a1 = js.apply(a1,can);
  204. for(var o1 in a1)s+=','+o1+'='+a1[o1]+'';
  205. var ja=(url.indexOf('?')>=0)?'&':'?';
  206. if(wina)url+=''+ja+'winobj='+wina+'';
  207. if(clientbool){
  208. if(url.substr(0,4)!='http')url=NOWURL+url;
  209. rockclient.rockFun("openWin",{
  210. url:url,
  211. width:w,
  212. height:h
  213. });
  214. }else if(typeof(nw)=='undefined'){
  215. var opar=window.open(url,'',s);
  216. }else{
  217. var ocsn=js.apply({'frame':true,width:w,height:h,x:l,y:t,icon:'images/logo.png'},wjcan);
  218. if(url.substr(0,4)!='http')url=NOWURL+url;
  219. var opar=nw.Window.open(url, ocsn, function(wis){
  220. if(wina)js.openarr[wina]=wis;
  221. //if(w>=1000)wis.maximize();
  222. });
  223. }
  224. if(wina)this.openarr[wina]=opar;
  225. return false;
  226. }
  227. js.openrun=function(wina,act, ps1, ps2){
  228. var owina = this.openarr[wina];
  229. try{
  230. if(owina)owina[act](ps1,ps2);
  231. }catch(e){
  232. owina = false;
  233. }
  234. return owina;
  235. }
  236. js.onunload=function(){
  237. var a=js.openarr;
  238. for(var b in a){
  239. try{a[b].close(true)}catch(e){}
  240. }
  241. try{
  242. var winobj = js.request('winobj');
  243. if(winobj!='')opener.js.openarr[winobj]=false;
  244. }catch(e){}
  245. }
  246. js.decode=function(str){
  247. var arr = {length:-1};
  248. try{
  249. arr = new Function('return '+str+'')();
  250. }catch(e){}
  251. return arr;
  252. }
  253. js.email=function(str){
  254. if(isempt(str) || str.indexOf(' ')>-1)return false;
  255. if(str.indexOf('.')==-1 || str.indexOf('@')==-1)return false;
  256. var reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
  257. if(reg.test(str))return false ;
  258. return true;
  259. }
  260. js.reload=function(){
  261. location.reload();
  262. }
  263. js.move=function(id,rl){
  264. var _left=0,_top=0,_x=0,_right=0,_y=0;
  265. var obj = id;if(!rl)rl='left';
  266. if(typeof(id)=='string')obj=get(id);
  267. var _Down=function(e){
  268. try{
  269. var s='<div id="divmovetemp" style="filter:Alpha(Opacity=0);opacity:0;z-index:99999;width:100%;height:100%;position:absolute;background-color:#000000;left:0px;top:0px;cursor:move"></div>';
  270. $('body').prepend(s);
  271. _x = e.clientX;_y = e.clientY;_left=parseInt(obj.style.left);_top=parseInt(obj.style.top);_right=parseInt(obj.style.right);
  272. document.onselectstart=function(){return false}
  273. }catch(e1){}
  274. }
  275. var _Move=function(e){
  276. try{
  277. var c=get('divmovetemp').innerHTML;
  278. var x = e.clientX-_x,y = e.clientY-_y;
  279. if(rl=='left')obj.style.left=_left+x+'px';
  280. if(rl=='right')obj.style.right=_right-x+'px';
  281. obj.style.top=_top+y+'px';
  282. }catch(e1){_Down(e)}
  283. }
  284. var _Up=function(){
  285. document.onmousemove='';
  286. document.onselectstart='';
  287. $('#divmovetemp').remove();
  288. }
  289. document.onmousemove=_Move;
  290. document.onmouseup=_Up;
  291. }
  292. js.setdev=function(val,dev){
  293. var cv = val;
  294. if(isempt(cv))cv=dev;
  295. return cv;
  296. }
  297. js.upload=function(call,can, glx){
  298. if(!call)call='';
  299. if(!can)can={};
  300. js.uploadrand = js.now('YmdHis')+parseInt(Math.random()*999999);
  301. var url = 'index.php?m=upload&d=public&callback='+call+'&upkey='+js.uploadrand+'';
  302. for(var i in can)if(i!='title')url+='&'+i+'='+can[i]+'';
  303. if(glx=='url')return url;
  304. var s='',tit=can.title;if(!tit)tit='上传文件';
  305. js.tanbody('uploadwin',tit,500,300,{
  306. html:'<div style="height:280px;overflow:hidden;border-radius:0px 0px 5px 5px"><iframe src="" name="winiframe" width="100%" height="100%" frameborder="0"></iframe></div>',
  307. bbar:'none'
  308. });
  309. winiframe.location.href=url;
  310. return false;
  311. }
  312. js.locationshow=function(sid){
  313. var url = 'index.php?m=kaoqin&d=main&a=location&id='+sid+'';
  314. if(ismobile==1){js.location(url);return;}
  315. js.winiframe('地图位置查看', url);
  316. return false;
  317. }
  318. js.winiframemax=65;
  319. js.winiframewidth = '900x800'; //默认的宽x高
  320. js.winiframe=function(tit, url){
  321. var mxw= 900,mxh=800,tar = this.winiframewidth.split('x');
  322. if(tar[0])mxw=parseFloat(tar[0]);
  323. if(tar[1])mxh=parseFloat(tar[1]);
  324. var hm = winHb()-150;if(hm>mxh)hm=mxh;if(hm<400)hm=400;
  325. if(url.indexOf('wintype=max')>0){
  326. if(mxw<1000)mxw= 1000;
  327. hm=winHb()-js.winiframemax;
  328. }
  329. var wi = winWb()-150;if(wi>mxw)wi=mxw;if(wi<700)wi=700;
  330. js.tanbody('winiframe',tit,wi,410,{
  331. html:'<div style="height:'+hm+'px;overflow:hidden;border-radius:0px 0px 5px 5px"><iframe src="" name="openinputiframe" width="100%" height="100%" frameborder="0"></iframe></div>',
  332. bbar:'none'
  333. });
  334. openinputiframe.location.href=url;
  335. return false;
  336. }
  337. //下载
  338. js.downshow=function(id, fnun, cans){
  339. if(this.fileoptWin(id))return;
  340. if(appobj1('openfile', id))return;
  341. if(!isempt(fnun)){this.fileopt(id, 1);return false;}
  342. var url = 'api.php?m=upload&id='+id+'&a=down';
  343. if(cans)for(var i in cans)url+='&'+i+'='+cans[i]+'';
  344. this.location(url);
  345. return false;
  346. }
  347. js.downupdels=function(sid, said, o1){
  348. js.confirm('确定要删除此文件吗?', function(lx){
  349. if(lx=='yes'){
  350. js.downupdel(sid, said, o1);
  351. }
  352. });
  353. }
  354. js.downupdel=function(sid, said, o1){
  355. if(sid>0){
  356. $.get(js.getajaxurl('delfile','upload','public',{id:sid}));
  357. }
  358. if(o1)$(o1).parent().remove();
  359. var o = $('#view_'+said+'');
  360. var to= $('#count_'+said+'');
  361. var o1 = o.find('span'),s1='';
  362. for(i=0;i<o1.length;i++)$(o1[i]).html(''+(i+1));
  363. to.html('');
  364. if(i>0)to.html('<font style="font-size:11px" color="#555555">文件:'+i+'</font>');
  365. o1 = o.find('font');
  366. for(i=0;i<o1.length;i++)s1+=','+$(o1[i]).html();
  367. if(s1!='')s1=s1.substr(1);
  368. $('#'+said+'-inputEl').val(s1);
  369. $('#fileid_'+said+'').val(s1);
  370. }
  371. js.downupshow=function(a, showid, nbj){
  372. var s = '',i=0,s1='',fis,ofisd=',doc,docx,xls,xlsx,ppt,pptx,';
  373. var o = $('#view_'+showid+'');
  374. for(i=0; i<a.length; i++){
  375. fis= 'web/images/fileicons/'+js.filelxext(a[i].fileext)+'.gif';
  376. if(js.isimg(a[i].fileext) && !isempt(a[i].thumbpath))fis=a[i].thumbpath;
  377. s='<div onmouseover="this.style.backgroundColor=\'#f1f1f1\'" onmouseout="this.style.backgroundColor=\'\'" style="padding:4px 5px;border-bottom:1px #eeeeee solid;font-size:14px"><span>'+(i+1)+'</span><font style="display:none">'+a[i].id+'</font>、<img src="'+fis+'" align="absmiddle" height="20" width="20"> '+a[i].filename+' ('+a[i].filesizecn+')';
  378. s+=' <a class="a" temp="yula" onclick="return js.fileopt('+a[i].id+',1)" href="javascript:;">下载</a>';
  379. s+=' <a class="a" temp="yula" onclick="return js.fileopt('+a[i].id+',0)" href="javascript:;">预览</a>';
  380. if(ofisd.indexOf(','+a[i].fileext+',')>=0)s+=' <a class="a" temp="dela" onclick="return js.fileopt('+a[i].id+',2)" href="javascript:;">编辑</a>';
  381. s+=' <a class="a" temp="dela" onclick="return js.downupdels('+a[i].id+',\''+showid+'\', this)" href="javascript:;">×</a>';
  382. s+='</div>';
  383. o.append(s);
  384. }
  385. js.downupdel(0, showid, false);
  386. if(nbj)o.find('[temp="dela"]').remove();//禁止编辑
  387. }
  388. js.loading=function(txt){
  389. js.msg('wait',txt);
  390. }
  391. js.msgerror=function(txt){
  392. js.msg('msg',txt);
  393. }
  394. js.unloading=function(){js.msg();}
  395. //文件操作id文件id,lx0预览,1下载,2编辑
  396. js.fileopt=function(id,lx){
  397. if(!lx)lx=0;
  398. if(ismobile==1 && lx==1 && this.fileoptWin(id))return;
  399. js.loading('加载中...');
  400. var gurl = 'api.php?a=fileinfo&m=upload&id='+id+'&type='+lx+'&ismobile='+ismobile+'';
  401. $.ajax({
  402. type:'get',url:gurl,dataType:'json',
  403. success:function(ret){
  404. js.unloading();
  405. if(ret.success){
  406. var da = ret.data;
  407. var ext= da.fileext;
  408. var url= da.url;
  409. if(da.type==2)js.importplugin('rockoffice',da.editwsinfo);
  410. if(ismobile==1){
  411. if(da.type==0 && !da.isview && appobj1('openfile', id))return; //不能预览就用app打开
  412. if(da.type==0 && !da.isview && js.fileoptWin(id))return; //不能预览就用app打开
  413. if(da.type==1 && appobj1('openfile', id))return; //下载用app的
  414. if(da.type==0 && !js.isimg(ext)){
  415. if(appobj1('openWindow', url))return;
  416. if(js.appwin('预览',url))return;
  417. }
  418. }
  419. if(da.type==1){js.location(url);return;}//下载直接跳转
  420. if(js.isimg(ext)){
  421. $.imgview({'url':url,'ismobile':ismobile==1,'downbool':false});
  422. }else if(ext=='rockedit'){
  423. if(ismobile==0){
  424. js.open(url,screen.width-200,screen.height-200);
  425. }else{
  426. js.location(url);return;
  427. var str = '<div id="rockeditdiv" style="background:white;position:fixed;z-index:99;top:0px;left:0px;width:100%;height:'+winHb()+'px"><iframe src="'+url+'" width="100%" height="100%" frameborder="0"></iframe></div>';
  428. $('body').append(str);
  429. js.location('#rockedit');
  430. window.onhashchange=function(){
  431. var has = location.hash;
  432. if(has.indexOf('#rockedit')==-1)$('#rockeditdiv').remove();
  433. }
  434. }
  435. }else if(ext=='rockoffice'){
  436. js.sendeditoffices(url);
  437. }else{
  438. url+='&wintype=max';
  439. if(ismobile==0){
  440. if(!nwjsgui){
  441. js.winiframe(da.filename,url);
  442. }else{
  443. js.open(url, 1000,500);
  444. }
  445. }else{
  446. js.location(url);
  447. }
  448. }
  449. }else{
  450. js.msgerror(ret.msg);
  451. }
  452. },
  453. error:function(e){
  454. js.unloading();
  455. js.msg('msg','处理出错:'+e.responseText+'');
  456. }
  457. });
  458. }
  459. //文件预览
  460. js.yulanfile=function(id, ext,pts, sne, fnun,isxq){
  461. if(!isempt(fnun)){this.fileopt(id, 0);return false;}
  462. var url = 'index.php?m=public&a=fileviewer&id='+id+'&wintype=max';
  463. if(pts!=''&&js.isimg(ext)){
  464. $.imgview({'url':pts,'ismobile':ismobile==1,'downbool':false});
  465. $.get('api.php?m=upload&a=logs&fileid='+id+'&type=0');
  466. return false;
  467. }
  468. if(ismobile==1){
  469. var docsx = ',doc,docx,ppt,pptx,xls,xlsx,pdf,txt,html,';
  470. if(docsx.indexOf(','+ext+',')==-1)if(appobj1('openfile', id))return;
  471. if(appobj1('openWindow', url))return;
  472. if(js.appwin('预览',url))return;
  473. js.location(url);
  474. }else{
  475. if(!sne)sne='文件预览';
  476. if(isxq=='xq'){js.open(url,screen.width-200,screen.height-200)}else{js.winiframe(sne,url);}
  477. }
  478. return false;
  479. }
  480. js.apiurl = function(m,a,cans){
  481. var url='api.php?m='+m+'&a='+a+'';
  482. url+='&cfrom='+CFROM+'';
  483. if(!cans)cans={};
  484. for(var i in cans)url+='&'+i+'='+cans[i]+'';
  485. return url;
  486. }
  487. js.getajaxurl=function(a,m,d,can){
  488. if(!can)can={};
  489. if(!m)m=MODE;
  490. if(!d)d=DIR;
  491. if(d=='null')d='';
  492. var jga = a.substr(0,1);
  493. if(jga=='@')a = a.substr(1);
  494. var url = ''+this.path+'.php?a='+a+'&m='+m+'&d='+d+'';
  495. for(var c in can)url+='&'+c+'='+can[c]+'';
  496. if(jga!='@')url+='&ajaxbool=true';
  497. url+='&rnd='+parseInt(Math.random()*999999)+'';
  498. return url;
  499. }
  500. js.formatsize=function(size){
  501. var arr = new Array('Byte', 'KB', 'MB', 'GB', 'TB', 'PB');
  502. var e = Math.floor(Math.log(size)/Math.log(1024));
  503. var fs = size/Math.pow(1024,Math.floor(e));
  504. return js.float(fs)+' '+arr[e];
  505. }
  506. js.getselectval=function(o){
  507. var str='';
  508. for(var i=0;i<o.length;i++){
  509. if(o[i].selected){
  510. str+=','+o[i].value+'';
  511. }
  512. }
  513. if(str!='')str=str.substr(1);
  514. return str;
  515. }
  516. js.setselectval=function(o,val){
  517. var str='',vals=','+val+',';
  518. for(var i=0;i<o.length;i++){
  519. if(vals.indexOf(','+o[i].value+',')>-1){
  520. o[i].selected=true;
  521. }
  522. }
  523. }
  524. js.getformdata=function(nas){
  525. var da ={},ona='',o,type,val,na,i,obj;
  526. if(!nas)nas='myform';
  527. obj = document[nas];
  528. for(i=0;i<obj.length;i++){
  529. o = obj[i];type = o.type,val = o.value,na = o.name;
  530. if(!na)continue;
  531. if(type=='checkbox'){
  532. val = '0';
  533. if(o.checked)val='1';
  534. da[na] = val;
  535. }else if(type=='radio'){
  536. if(o.checked)da[na] = val;
  537. }else{
  538. da[na] = val;
  539. }
  540. if(na.indexOf('[]')>-1){
  541. if(ona.indexOf(na)<0)ona+=','+na+'';
  542. }
  543. }
  544. if(ona != ''){
  545. var onas = ona.split(',');
  546. for(i=1; i<onas.length; i++){
  547. da[onas[i].replace('[]','')] = js.getchecked(onas[i]);
  548. }
  549. }
  550. return da;
  551. }
  552. js.getdata = function(na,da){
  553. if(!da)da={};
  554. var obj = $('#'+na+'');
  555. var inp = obj.find('input,select');
  556. for(var i=0;i<inp.length;i++){
  557. var type = inp[i].type;
  558. var val = inp[i].value;
  559. if(type=='checkbox'){
  560. val = '0';
  561. if(inp[i].checked)val='1';
  562. }
  563. var ad1 = inp[i].name;
  564. if(!ad1)ad1 = inp[i].id;
  565. da[ad1] = val;
  566. }
  567. return da;
  568. }
  569. js.selall = function(o,na,bh){
  570. var i,oi1;
  571. if(bh){
  572. o1=$("input[name^='"+na+"']");
  573. }else{
  574. o1=$("input[name='"+na+"']");
  575. }
  576. for(i=0;i<o1.length;i++){
  577. if(!o1[i].disabled)o1[i].checked = o.checked;
  578. }
  579. }
  580. js.getchecked=function(na,bh){
  581. var s = '';
  582. var o1;
  583. if(bh){
  584. o1=$("input[name^='"+na+"']");
  585. }else{
  586. o1=$("input[name='"+na+"']");
  587. }
  588. for(var i=0;i<o1.length;i++){
  589. if(o1[i].checked && !o1[i].disabled)s+=','+o1[i].value+'';
  590. }
  591. if(s!='')s=s.substr(1);
  592. return s;
  593. }
  594. js.cookie=function(name){
  595. var str=document.cookie,cda,val='',arr,i;
  596. if(str.length<=0)return '';
  597. arr=str.split('; ');
  598. for(i=0;i<arr.length;i++){
  599. cda=arr[i].split('=');
  600. if(name.toLowerCase()==cda[0].toLowerCase()){
  601. val=cda[1];
  602. break;
  603. }
  604. }
  605. if(!val)val='';
  606. return val;
  607. }
  608. js.savecookie=function(name,value,d){
  609. var expires = new Date();
  610. if(!d)d=365;
  611. if(!value)d=-10;
  612. expires.setTime(expires.getTime()+d*24*60*60*1000);
  613. var str=''+name+'='+value+';expires='+expires.toGMTString()+';path=/;SameSite=Strict';
  614. document.cookie = str;
  615. }
  616. js.backtop=function(ci){
  617. if(!ci)ci=0;
  618. $('body,html').animate({scrollTop:ci});
  619. return false;
  620. }
  621. js.backto = function(oid){
  622. if(!get(oid))return;
  623. var of = $('#'+oid+'').offset();
  624. this.backtop(of.top);
  625. return false;
  626. }
  627. js.applyIf=function(a,b){
  628. if(!a)a={};
  629. if(!b)b={};
  630. for(var c in b)if(typeof(a[c])=='undefined')a[c]=b[c];
  631. return a;
  632. }
  633. js.apply=function(a,b){
  634. if(!a)a={};
  635. if(!b)b={};
  636. for(var c in b)a[c]=b[c];
  637. return a;
  638. }
  639. js.tanbody=function(act,title,w,h,can1){
  640. var H = (document.body.scrollHeight<winHb())?winHb()-5:document.body.scrollHeight;
  641. var W = document.documentElement.scrollWidth+document.body.scrollLeft;
  642. if(!this.tanbodyindex)this.tanbodyindex=80;
  643. this.tanbodyindex++;
  644. var l=(winWb()-w)*0.5,t=(winHb()-h-20)*0.5;
  645. var s = '',mid = ''+act+'_main',i,d;
  646. var can = js.applyIf(can1,{html:'',btn:[],bodystyle:'',showfun:function(){}});
  647. if(w>winWb())w=winWb()-50;
  648. var s = '<div id="'+mid+'" style="position:fixed;background-color:#ffffff;left:'+l+'px;width:'+w+'px;top:'+t+'px;box-shadow:0px 0px 10px rgba(0,0,0,0.3);border-radius:6px"><div style="background:var(--main-bgcolor);border-radius:5px;">';
  649. s+=' <div style="-moz-user-select:none;-webkit-user-select:none;user-select:none;border-bottom:var(--border)">';
  650. s+=' <table border="0" width="100%" style="background:none" cellspacing="0" cellpadding="0"><tr>';
  651. s+=' <td height="50" style="font-size:16px; font-weight:bold;padding-left:10px" width="100%" onmousedown="js.move(\''+mid+'\')" id="'+act+'_title" class="zhu">'+title+'</td>';
  652. s+=' <td><div id="'+act+'_spancancel1" style="padding:0px 8px;height:50px;line-height:45px;overflow:hidden;cursor:pointer;" onclick="js.tanclose(\''+act+'\')">✖</div></td>';
  653. s+=' </tr></table>';
  654. s+=' </div>';
  655. s+=' <div id="'+act+'_body" style="'+can.bodystyle+'">'+can.html+'</div>';
  656. s+=' <div id="'+act+'_bbar" style="overflow:hidden;padding:12px 10px;background:rgba(0,0,0,0.05);border-radius:0px 0px 5px 5px" align="right"><span id="msgview_'+act+'"></span>';
  657. for(i=0; i<can.btn.length; i++){
  658. d = can.btn[i];
  659. if(!d.bgcolor)d.bgcolor='';
  660. s+='<button type="button" oi="'+i+'" style="border-radius:5px;padding:8px 15px;margin-left:10px;background:'+d.bgcolor+'" id="'+act+'_btn'+i+'" class="webbtn">'+d.text+'</button>';
  661. }
  662. s+=' <button type="button" id="'+act+'_spancancel" onclick="js.tanclose(\''+act+'\')" style="border-radius:5px;padding:8px 15px;background:rgba(0,0,0,0.5);margin-left:10px" class="webbtn">取消</button>';
  663. s+=' ';
  664. s+=' </div>';
  665. s+='</div></div>';
  666. var str = '<div id="amain_'+act+'" tanbodynew="'+act+'" oncontextmenu="return false" style="position:absolute;height:'+H+'px;width:'+W+'px;background:rgba(0,0,0,0.3);z-index:'+this.tanbodyindex+';left:0px;top:0px">'+s+'</div>';
  667. $('body').append(str);
  668. if(can.closed=='none'){
  669. $('#'+act+'_spancancel').remove();
  670. $('#'+act+'_spancancel1').remove();
  671. }
  672. if(can.bbar=='none'){
  673. $('#'+act+'_bbar').remove();
  674. //$('#'+mid+'').append('<div style="height:5px;overflow:hidden;border-radius:0px 0px 5px 5px"></div>');
  675. }
  676. this.resizetan(act);
  677. can.showfun(act);
  678. }
  679. js.resizetan=function(act){
  680. var mid = ''+act+'_main';
  681. var o1 = $('#'+mid+'');
  682. var h1 = o1.height();
  683. var w1 = o1.width();
  684. var l=(winWb()-w1)*0.5,t=(winHb()-h1-20)*0.5;if(t<0)t=5;
  685. o1.css({'left':''+l+'px','top':''+t+'px'});
  686. }
  687. js.tanclose=function(act){
  688. $('#amain_'+act+'').remove();
  689. }
  690. js.xpbodysplit = 0;
  691. js.xpbody=function(act,type){
  692. if(type=='none'){
  693. $("div[xpbody='"+act+"']").remove();
  694. if(!get('xpbg_bodydds'))$('div[tanbody]').remove();
  695. return;
  696. }
  697. if(get('xpbg_bodydds'))return false;
  698. var H = (document.body.scrollHeight<winHb())?winHb()-this.xpbodysplit-5:document.body.scrollHeight-this.xpbodysplit*2;
  699. var W = document.documentElement.scrollWidth+document.body.scrollLeft-this.xpbodysplit*2;
  700. var bs='<div id="xpbg_bodydds" xpbody="'+act+'" oncontextmenu="return false" style="position:absolute;display:none;width:'+W+'px;height:'+H+'px;filter:Alpha(opacity=30);opacity:0.3;left:'+this.xpbodysplit+'px;top:'+this.xpbodysplit+'px;background-color:#000000;z-index:80"></div>';
  701. $('body').prepend(bs);
  702. $('#xpbg_bodydds').fadeIn(300);
  703. }
  704. js.focusval = '0';
  705. js.number=function(obj){
  706. val=strreplace(obj.value);
  707. if(!val){
  708. obj.value=js.focusval;
  709. return false;
  710. }
  711. if(isNaN(val)){
  712. js.msg('msg','输入的不是数字');
  713. obj.value=js.focusval;
  714. obj.focus();
  715. }else{
  716. var o1 = $(obj);
  717. var min= o1.attr('minvalue');
  718. if(isempt(min))min= o1.attr('min');
  719. if(min && parseFloat(val)<parseFloat(min))val=min;
  720. var max= o1.attr('maxvalue');
  721. if(isempt(max))max= o1.attr('max');
  722. if(max && parseFloat(val)>parseFloat(max))val=max;
  723. obj.value=val;
  724. }
  725. }
  726. js.setmsg=function(txt,col,ids){
  727. if(!ids)ids='msgview';
  728. $('#'+ids+'').html(js.getmsg(txt,col));
  729. }
  730. js.getmsg = function(txt,col){
  731. if(!col)col='red';
  732. var s = '';
  733. if(!txt)txt='';
  734. if(txt.indexOf('...')>0){
  735. s=''+this.ling(16)+' ';
  736. col = '#ff6600';
  737. }
  738. s+='<span style="color:'+col+'">'+txt+'</span>';
  739. if(!txt)s='';
  740. return s;
  741. }
  742. js.setcopy = function(txt,nts){
  743. if(!txt)return;
  744. var str='<div id="copydiv" style="position:absolute;z-index:0;bottom:0px;right:0px;height:1px;overflow:hidden"><textarea id="copytext">'+txt+'</textarea></div>';
  745. $('body').append(str);
  746. get('copytext').select();
  747. document.execCommand('Copy');
  748. if(!nts)js.msg('success','复制成功');
  749. $('#copydiv').remove();
  750. return false;
  751. }
  752. js.getcopy = function(){
  753. var txt = js.cookie('copy_text');
  754. txt = unescape(txt);
  755. return txt;
  756. }
  757. js.chao=function(obj,shuzi,span,guo){
  758. var cont=(guo)?strreplace(obj.value):obj.value;
  759. if (cont.length>shuzi){
  760. alert("您输入的字符超过"+shuzi+"个字符\n\n将被截掉"+(cont.length-shuzi)+"个字符!");
  761. cont=cont.substring(0,shuzi);
  762. obj.value=cont;
  763. }
  764. if(guo)obj.value=cont;
  765. if(span)get(span).innerHTML=obj.value.length;
  766. }
  767. js.debug = function(s){
  768. if(typeof(console)!='object')return;
  769. console.error(s);
  770. }
  771. js.alert = function(txt,tit,fun){
  772. js.confirm(txt, fun, '', tit, 2, '');
  773. }
  774. js.wait = function(txt,tit,fun){
  775. js.confirm(txt, fun, '', tit, 3, '');
  776. }
  777. js.alertclose=function(){
  778. js.tanclose('confirm');
  779. }
  780. js.tanstyle = 0;
  781. js.confirm = function(txt,fun, tcls, tis, lx,ostr,bstr){
  782. if(!lx)lx=0;js.alertclose();
  783. var h = '<div style="padding:20px;line-height:30px" align="center">',w=320;
  784. if(lx==1)w= 350;
  785. if(w>winWb())w=winWb()-10;
  786. if(lx==1){
  787. if(!tcls)tcls='';if(!ostr)ostr='';if(!bstr)bstr='';
  788. h='<div style="padding:10px;" align="center">'+ostr+'';
  789. h+='<div align="left" style="padding-left:10px">'+txt+'</div>';
  790. h+='<div ><textarea class="input form-control" id="confirm_input" style="width:'+(w-40)+'px;height:60px;border-radius:5px">'+tcls+'</textarea></div>'+bstr+'';
  791. }else if(lx==3){
  792. h+='<img src="images/mloading.gif" height="32" width="32" align="absmiddle">&nbsp; '+txt+'';
  793. }else{
  794. h+=''+txt+'';
  795. }
  796. h+='</div>';
  797. if(!tcls)tcls='danger';if(lx==1)tcls='info';
  798. if(!tis)tis='<i class="icon-question-sign"></i>&nbsp;系统提示';
  799. var btn=[{text:'确定'}];
  800. if(lx<2)btn.push({text:'取消',bgcolor:'gray'});
  801. js.tanbody('confirm', tis, w, 200,{closed:'none',bbar:'',html:h,titlecls:tcls,btn:btn});
  802. function backl(jg){
  803. var val=$('#confirm_input').val();
  804. if(val==null)val='';
  805. if(typeof(fun)=='function'){
  806. var cbo = fun(jg, val);
  807. if(cbo)return false;
  808. }
  809. js.alertclose();
  810. return false;
  811. }
  812. $('#confirm_btn0').click(function(){backl('yes')});
  813. if(get('confirm_btn1'))$('#confirm_btn1').click(function(){backl('no')});
  814. if(lx==1)get('confirm_input').focus();
  815. }
  816. js.prompt = function(tit,txt,fun, msg, ostr,bstr){
  817. js.confirm(txt, fun, msg, tit, 1, ostr,bstr);
  818. }
  819. js.msg = function(lx, txt,sj){
  820. clearTimeout(this.msgshowtime);
  821. if(typeof(sj)=='undefined')sj=5;
  822. $('#msgshowdivla').remove();
  823. if(lx == 'none' || !lx){
  824. return;
  825. }
  826. if(lx == 'wait'){
  827. txt = ''+this.ling(14)+' '+txt;
  828. sj = 60;
  829. }
  830. if(lx=='msg')txt='<font color=red>'+txt+'</font>';var t=10;
  831. if(get('header_title'))t+=50;
  832. var s = '<div onclick="$(this).remove()" id="msgshowdivla" style="position:fixed;top:'+t+'px;z-index:200;" align="center"><div style="padding:8px 20px;background:rgba(0,0,0,0.7);color:white;font-size:16px;border-radius:5px">'+txt+'</div></div>';
  833. $('body').append(s);
  834. var w=$('#msgshowdivla').width(),l=(winWb()-w)*0.5;
  835. $('#msgshowdivla').css('left',''+l+'px');
  836. if(sj>0)this.msgshowtime= setTimeout("$('#msgshowdivla').remove()",sj*1000);
  837. }
  838. js.repempt=function(stt,v){
  839. var s = stt;
  840. if(isempt(s))s=v;
  841. return s;
  842. }
  843. js.getrand=function(){
  844. var r;
  845. r = ''+new Date().getTime()+'';
  846. r+='_'+parseInt(Math.random()*9999)+'';
  847. return r;
  848. }
  849. js.arraystr=function(str){
  850. if(!str)str='1|是,0|否';
  851. var s = str.split(','),
  852. d = [],i,s1,nv,vv;
  853. for(i=0; i<s.length; i++){
  854. s1 = s[i].split('|');
  855. nv = s1[0];
  856. vv = nv;
  857. if(s1.length>1)nv=s1[1];
  858. d.push([vv,nv]);
  859. }
  860. return d;
  861. }
  862. js._bodyclick = {};
  863. js.downbody=function(o1, e){
  864. this.allparent = '';
  865. this.getparenta($(e.target),0);
  866. var a,s = this.allparent,a1;
  867. for(a in js._bodyclick){
  868. a1 = js._bodyclick[a];
  869. if(s.indexOf(a)<0){
  870. if(a1.type=='hide'){
  871. $('#'+a1.objid+'').hide();
  872. }else{
  873. $('#'+a1.objid+'').remove();
  874. }
  875. if(a1.fun)a1['fun']();
  876. }
  877. }
  878. return true;
  879. }
  880. js.addbody = function(num, type,objid, fun1){
  881. js._bodyclick[num] = {type:type,objid:objid,fun:fun1};
  882. }
  883. js.getparenta=function(o, oi){
  884. try{
  885. if(o[0].nodeName.toUpperCase()=='BODY')return;}catch(e){return;}
  886. var id = o.attr('id');
  887. if(!isempt(id)){
  888. this.allparent+=','+id;
  889. }
  890. this.getparenta(o.parent(), oi+1);
  891. }
  892. js.ajaxwurbo = false;
  893. js.ajaxbool = false;
  894. js.ajax = function(url,da,fun,type,efun, tsar){
  895. if(js.ajaxbool && !js.ajaxwurbo)return;
  896. if(!da)da={};if(!type)type='get';if(!tsar)tsar='';tsar=tsar.split(',');
  897. if(typeof(fun)!='function')fun=function(){};
  898. if(typeof(efun)!='function')efun=function(){};
  899. var atyp = type.split(','),dtyp='';type=atyp[0];
  900. if(atyp[1])dtyp=atyp[1];
  901. js.ajaxbool=true;if(tsar[0])js.msg('wait', tsar[0]);
  902. var ajaxcan={
  903. type:type,
  904. data:da,url:url,
  905. success:function(str){
  906. js.ajaxbool=false;
  907. try{
  908. if(tsar[1])js.msg('success', tsar[1]);
  909. fun(str);
  910. }catch(e){
  911. js.msg('msg', str);
  912. js.debug(e);
  913. }
  914. },error:function(e){
  915. js.ajaxbool=false;
  916. js.msg('msg','处理出错:'+e.responseText+'');
  917. efun(e.responseText);
  918. }
  919. };
  920. if(dtyp)ajaxcan.dataType=dtyp;
  921. $.ajax(ajaxcan);
  922. }
  923. js.setoption=function(k,v,qzb){
  924. if(!qzb)k=QOM+k;
  925. try{
  926. if(isempt(v)){
  927. localStorage.removeItem(k);
  928. }else{
  929. localStorage.setItem(k, escape(v));
  930. }
  931. }catch(e){
  932. js.savecookie(k,escape(v));
  933. }
  934. return true;
  935. }
  936. js.getoption=function(k,dev, qzb){
  937. var s = '';
  938. if(!qzb)k=QOM+k;
  939. try{s = localStorage.getItem(k);}catch(e){s=js.cookie(k);}
  940. if(s)s=unescape(s);
  941. if(isempt(dev))dev='';
  942. if(isempt(s))s=dev;
  943. return s;
  944. }
  945. js.location = function(url){
  946. location.href = url;
  947. }
  948. js.backla=function(msg){
  949. if(msg)if(!confirm(msg))return;
  950. try{api.closeWin();}catch(e){}
  951. }
  952. js.isimg = function(lx){
  953. var ftype = '|png|jpg|bmp|gif|jpeg|';
  954. var bo = false;
  955. if(ftype.indexOf('|'+lx+'|')>-1)bo=true;
  956. return bo;
  957. }
  958. js.changeuser_before=function(na){}
  959. js.changeuser_after=function(){}
  960. js.changeuser=function(na, lx, tits,ocans){
  961. var h = winHb()-70,w=350;if(!ocans)ocans={};
  962. if(h>400)h=400;if(!tits)tits='请选择...';
  963. var nibo = ((lx=='changedeptusercheck'||lx=='deptusercheck') && ismobile==0);
  964. if(nibo)w=650;
  965. var formname = '';
  966. var can = {
  967. 'changetype': lx,
  968. 'showview' : 'showuserssvie',
  969. 'titlebool' :false,
  970. 'changevalue':'',
  971. 'changerange':'', //选择范围
  972. 'oncancel' :function(){
  973. js.tanclose('changeaction');
  974. },
  975. 'onselect':function(sna,sid){
  976. js.changeuser_after(this.formname,this,sna,sid);
  977. }
  978. };
  979. if(na){
  980. can.idobj = get(na+'_id');
  981. can.nameobj = get(na);
  982. if(can.nameobj)formname = can.nameobj.name;
  983. }
  984. can.formname= formname;
  985. var bcar = js.changeuser_before(formname,1),i;
  986. for(i in ocans)can[i]=ocans[i];
  987. if(typeof(bcar)=='string' && bcar){js.msg('msg', bcar);return;}
  988. if(typeof(bcar)=='object')for(i in bcar)can[i]=bcar[i];
  989. js.tanbody('changeaction',tits,w,h,{
  990. html:'<div id="showuserssvie" style="height:'+h+'px;border-radius:0px 0px 5px 5px"><iframe src="" name="winiframe" width="100%" height="100%" frameborder="0"></iframe></div>',
  991. bbar:'none'
  992. });
  993. if(nibo){
  994. if(can.idobj)can.changevalue=can.idobj.value;
  995. changcallback=function(sna,sid){
  996. if(can.idobj)can.idobj.value = sid;
  997. if(can.nameobj){
  998. can.nameobj.value = sna;
  999. can.nameobj.focus();
  1000. }
  1001. js.changeuser_after(formname, can, sna,sid);
  1002. js.tanclose('changeaction');
  1003. if(can.callback)can.callback(sna,sid);
  1004. }
  1005. var url = 'index.php?d=system&m=dept&changetype='+lx+'&changevalue='+can.changevalue+'&callback=changcallback&changerange='+can.changerange+'';
  1006. winiframe.location.href = url;
  1007. }else{
  1008. $('#showuserssvie').chnageuser(can);
  1009. }
  1010. return false;
  1011. }
  1012. js.back=function(){
  1013. if(isapp){
  1014. plus.webview.currentWebview().close('auto');
  1015. }else if(apicloud){
  1016. if(api.historyBack){
  1017. api.historyBack({},function(ret){if(!ret.status)api.closeWin();});
  1018. }else{
  1019. api.closeWin();
  1020. }
  1021. }else{
  1022. history.back();
  1023. }
  1024. }
  1025. js.changeclear=function(na){
  1026. var fne = get(na).name;
  1027. var bcar = js.changeuser_before(fne,0);
  1028. if(typeof(bcar)=='string' && bcar){js.msg('msg', bcar);return;}
  1029. get(na).value='';
  1030. get(na+'_id').value='';
  1031. get(na).focus();
  1032. js.changeuser_after(fne,{nameobj:get(na),idobj:get(na+'_id')},'','');
  1033. }
  1034. js.changedate=function(o1,id,v){
  1035. if(!v)v='date';
  1036. $(o1).rockdatepicker({initshow:true,view:v,inputid:id});
  1037. }
  1038. js.fileall=',aac,ace,ai,ain,amr,app,arj,asf,asp,aspx,av,avi,bin,bmp,cab,cad,cat,cdr,chm,com,css,cur,dat,db,dll,dmv,doc,docx,dot,dps,dpt,dwg,dxf,emf,eps,et,ett,exe,fla,ftp,gif,hlp,htm,html,icl,ico,img,inf,ini,iso,jpeg,jpg,js,m3u,max,mdb,mde,mht,mid,midi,mov,mp3,mp4,mpeg,mpg,msi,nrg,ocx,ogg,ogm,pdf,php,png,pot,ppt,pptx,psd,pub,qt,ra,ram,rar,rm,rmvb,rtf,swf,tar,tif,tiff,txt,url,vbs,vsd,vss,vst,wav,wave,wm,wma,wmd,wmf,wmv,wps,wpt,wz,xls,xlsx,xlt,xml,zip,';
  1039. js.filelxext = function(lx){
  1040. if(js.fileall.indexOf(','+lx+',')<0)lx='wz';
  1041. return lx;
  1042. }
  1043. js.datechange=function(o1,lx,isbo){
  1044. if(!$(o1).rockdatepicker && !isbo){
  1045. js.importcss('mode/plugin/css/jquery-rockdatepicker.css');
  1046. js.importjs('mode/plugin/jquery-rockdatepicker.js', function(){
  1047. js.datechange(o1,lx, true);
  1048. });
  1049. return;
  1050. }
  1051. if(!lx)lx='date';
  1052. $(o1).rockdatepicker({'view':lx,'initshow':true});
  1053. return false;
  1054. }
  1055. js.selectdate=function(o1,inp,lx){
  1056. if(!lx)lx='date';
  1057. $(o1).rockdatepicker({'view':lx,'initshow':true,'inputid':inp});
  1058. return false;
  1059. }
  1060. js.importjs=function(url,fun,dzc){
  1061. var sid = jm.base64encode(url);
  1062. if(!fun)fun=function(){};
  1063. if(get(sid)){fun();return;}
  1064. var scr = document.createElement('script');if(!dzc)dzc='';
  1065. scr.src = url+dzc;
  1066. scr.id = sid;
  1067. if(isIE){
  1068. scr.onreadystatechange = function(){
  1069. if(this.readyState=='loaded' || this.readyState=='complete'){fun(this);}
  1070. }
  1071. }else{
  1072. scr.onload = function(){fun(this);}
  1073. }
  1074. document.getElementsByTagName('head')[0].appendChild(scr);
  1075. return false;
  1076. }
  1077. js.importplugin = function(na, cans){
  1078. var dz = 'mode/plugin/jquery-'+na+'.js';
  1079. this.importjs(dz, function(){
  1080. js['plugin_'+na+''](cans);
  1081. },'?'+this.getrand()+'');
  1082. }
  1083. js.importcss = function(url){
  1084. var sid = jm.base64encode(url);
  1085. if(get(sid))return;
  1086. var scr = document.createElement('link');
  1087. scr.href = url;
  1088. scr.id = sid;
  1089. scr.rel = 'stylesheet';
  1090. document.getElementsByTagName('head')[0].appendChild(scr);
  1091. }
  1092. js.replacecn=function(o1){
  1093. var val = strreplace(o1.value);
  1094. val = val.replace(/[\u4e00-\u9fa5]/g,'');
  1095. o1.value =val;
  1096. }
  1097. js.setselectdata = function(o, data, vfs, devs){
  1098. var i,ty = data,sv,str='';
  1099. if(!data)return;
  1100. if(!vfs)vfs='name';
  1101. if(typeof(devs)=='undefined')devs='&nbsp;';
  1102. for(i=0;i<ty.length;i++){
  1103. if(ty[i].optgroup){
  1104. if(ty[i].optgroup=='start')str+='<optgroup label="'+ty[i].name+'">';
  1105. if(ty[i].optgroup=='end')str+='</optgroup>';
  1106. }else{
  1107. str+='<option value="'+ty[i][vfs]+'">'+ty[i].name+'</option>';
  1108. }
  1109. }
  1110. $(o).append(str);
  1111. }
  1112. //是否app上接口
  1113. function appobj1(act, can1){
  1114. var bo = false;
  1115. if(typeof(appxinhu)=='object'){
  1116. if(appxinhu[act]){
  1117. try{appxinhu[act](can1);bo = true;}catch(e){}
  1118. }
  1119. }
  1120. return bo;
  1121. }
  1122. //向PC客户端发送命令
  1123. js.cliendsend=function(at, cans, fun,ferr){
  1124. var dk = '2829';
  1125. if(at=='rockoffice')dk='2827';
  1126. var url = unescape('http%3A//127.0.0.1%3A'+dk+'/%3Fatype');
  1127. if(!cans)cans={};if(!fun)fun=function(){};if(!ferr)ferr=function(){return false;}
  1128. url+='='+at+'&callback=?';
  1129. var llq = navigator.userAgent.toLowerCase();
  1130. if(llq.indexOf('windows nt 5')>0 && dk=='2829'){
  1131. if(!ferr())js.msg('msg','XP的系统不支持哦');
  1132. return;
  1133. }
  1134. var i,v,bo=typeof(jm);
  1135. for(i in cans){
  1136. v = cans[i];
  1137. if(bo=='object')v='base64'+jm.base64encode(v)+'';
  1138. url+='&'+i+'='+v+'';
  1139. }
  1140. var timeoout = setTimeout(function(){if(!ferr())js.msg('msg','无法使用,可能没有登录REIM客户端');},500);
  1141. $.getJSON(url, function(ret){clearTimeout(timeoout);fun(ret);});
  1142. }
  1143. //发送文档编辑
  1144. js.sendeditoffice=function(id,lx){
  1145. if(!lx)lx='0';
  1146. this.ajax('api.php?m=upload&a=rockofficeedit',{id:id,lx:lx},function(ret){
  1147. if(ret.success){
  1148. js.sendeditoffices(ret.data);
  1149. }else{
  1150. js.msg('msg', ret.msg);
  1151. }
  1152. },'get,json');
  1153. }
  1154. js.sendeditoffices=function(str){
  1155. js.cliendsend('rockoffice',{paramsstr:str},false,function(){js.msg('msg','无法使用,可能没有安装在线编辑插件');return true;});
  1156. }
  1157. js.ontabsclicks=function(){};
  1158. js.inittabs=function(){
  1159. $('.r-tabs div').click(function(){
  1160. js.tabsclicks(this);
  1161. });
  1162. }
  1163. js.tabsclicks=function(o1){
  1164. var o = $(o1);
  1165. var tid= o.parent().attr('tabid');
  1166. $('.r-tabs[tabid="'+tid+'"] div').removeClass('active');
  1167. $('[tabitem][tabid="'+tid+'"]').hide();
  1168. var ind = o.attr('index');
  1169. o.addClass('active');
  1170. var ho = $('[tabitem='+ind+'][tabid="'+tid+'"]');
  1171. ho.show();
  1172. this.ontabsclicks(ind, tid, o, ho);
  1173. }
  1174. js.changdu=function(o){
  1175. var max = $(o).attr('maxlength');
  1176. if(max>0){
  1177. var zlen = o.value.length;
  1178. if(zlen>parseFloat(max))js.alert('录入数据长度'+zlen+'超过'+max+'总长度,其余会被截取掉');
  1179. }
  1180. }
  1181. js.showmap=function(str){
  1182. var url = 'index.php?d=main&m=kaoqin&a=location&info='+jm.base64encode(str)+'';
  1183. js.location(url);
  1184. }
  1185. js.setapptitle=function(tit){
  1186. if(!apicloud)return;
  1187. var svst = sessionStorage.getItem('apiwinname');
  1188. if(svst){
  1189. if(!tit)tit=document.title;
  1190. //js.sendevent('title',svst,{title:tit})
  1191. }
  1192. }
  1193. js.fileoptWin=function(id){
  1194. var otype = this.opentype,ourl='widget://index.html';
  1195. if(otype && otype!='nei')ourl=jm.base64decode(otype);
  1196. var bstr=jm.base64encode('{"name":"文件","fileid":"'+id+'","url":"fileopen","fileext":""}');
  1197. var url = ''+ourl+'?bstr='+bstr+'';
  1198. return this.apiopenWin(url);
  1199. }
  1200. js.apiopenWin=function(url){
  1201. if(!apicloud)return false;
  1202. api.openWin({name:'url'+js.getrand(),url: url,bounces:false,softInputBarEnabled:false,slidBackEnabled:true,vScrollBarEnabled:false,hScrollBarEnabled:false,allowEdit:false,progress:{type:'',title:'', text:'', color:''}});
  1203. return true;
  1204. }
  1205. js.appwin=function(na,dz){
  1206. var otype = this.opentype,ourl='widget://index.html';
  1207. if(otype && otype!='nei')ourl=jm.base64decode(otype);
  1208. if(dz.substr(0,4)!='http')dz=NOWURL+dz;
  1209. var jg = (dz.indexOf('?')==-1)?'?':'&';
  1210. if(!na)na='&nbsp;';
  1211. var dizhi = ''+dz+''+jg+'hideheader=true';
  1212. if(apicloud && api.openWindcloud){
  1213. api.openWindcloud({name:na,url:dz})
  1214. return true;
  1215. }
  1216. var bstr =jm.base64encode('{"name":"'+na+'","url":"openurl","dizhi":"'+dizhi+'"}');
  1217. var url = ''+ourl+'?bstr='+bstr+'';
  1218. return this.apiopenWin(url);
  1219. }
  1220. js.sendevent=function(typ,na,d){
  1221. if(!apicloud)return false;
  1222. if(!d)d={};
  1223. d.opttype=typ;
  1224. if(!na)na='xinhuhome';
  1225. if(api.sendEvent)api.sendEvent({name: na,stype:typ,extra:d});
  1226. }
  1227. function lang(ky){
  1228. return ky;
  1229. }
  1230. js.ling = function(w){
  1231. var sve = 'style="height:'+w+'px;width:'+w+'px"';
  1232. if(!w)sve='';
  1233. return '<i '+sve+' class="rock-loading"></i>';
  1234. }
  1235. js.chajian = function(type, cans){
  1236. if(!$[type]){
  1237. js.importjs('mode/plugin/jquery-'+type+'.js?'+js.getrand()+'', function(){$[type](cans);});
  1238. }else{
  1239. $[type](cans);
  1240. }
  1241. }
  1242. function showDebug(strv,col){
  1243. var obj = $('div[temp="divt"]'),hei=50;
  1244. for(var i=0;i<obj.length;i++)hei+=$(obj[i]).height()+11;
  1245. if(!col)col='red';
  1246. if(typeof(strv)!='string')strv = JSON.stringify(strv);
  1247. var str = '<div temp="divt" onclick="$(\'div[temp=divt]\').remove()" style="background:rgba(0,0,0,0.8);font-size:12px;position:fixed;right:0px;top:'+hei+'px;padding:5px;z-index:99;word-wrap:break-word;word-break:break-all;white-space:normal;color:'+col+'">['+js.now('now')+']'+strv+'</div>';
  1248. $('body').append(str);
  1249. }
粤ICP备19079148号