jquery-rockcfile.js 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. /**
  2. edittable 选择相关插件
  3. caratename:chenxihu
  4. caratetime:2026-03-06 21:40:00
  5. email:qqqq2900@126.com
  6. homepage:www.rockoa.com
  7. */
  8. (function ($) {
  9. if(typeof(rockcfiledata)=='undefined')rockcfiledata = {};
  10. function rockcfile(cans){
  11. var me = this;
  12. var defv = js.applyIf(cans,{
  13. ctype:'',
  14. isedit:1,
  15. openlx:0,
  16. sna:'',
  17. filearr:{},
  18. modenum:'',
  19. mid:0,
  20. modexl:0, //0和1
  21. onchangebefore:function(){},
  22. uploadback:function(){}
  23. });
  24. for(var i in defv)this[i] = defv[i];
  25. this.clickstr = function(act,val){
  26. return 'rockcfiledata.'+this.sna+'.'+act+'('+val+')';
  27. }
  28. this.init = function(){
  29. rockcfiledata[this.sna] = this;
  30. this.initupss(this.sna);
  31. this.click();
  32. }
  33. this.click=function(){
  34. if(this.upfbo){js.msg('msg','请等待上传完成在添加');return;}
  35. var obj = get('filed_'+this.sna+'_inp');
  36. if(!obj){
  37. js.msg('msg','无效了');
  38. return;
  39. }
  40. if(this.modexl==0)obj.click();//需要点击
  41. var upurl = '';
  42. if(this.openlx==4)upurl = '?d=ye&a=saveup&sysmodenum='+this.modenum+'&sysmid='+this.mid+'&sysuptype=file&openlx='+this.openlx+'';
  43. this.initupobj.setupurl(upurl);
  44. }
  45. this.initupss = function(sna){
  46. var o,o1,tsye,uptp='image',tdata;
  47. o1 = get('filed_'+sna+'');tsye=$(o1).attr('tsye');tdata=$(o1).attr('tdata');
  48. if(tsye=='file'){
  49. uptp='*';
  50. if(!isempt(tdata))uptp=tdata;
  51. }
  52. this.initupobj = $.rockupload({
  53. 'inputfile':'filed_'+sna+'_inp',
  54. 'initremove':false,'uptype':uptp,'formming':sna,
  55. 'urlparams':{'sysmodenum':this.modenum,'sysmid':this.mid,'sysuptype':tsye},
  56. 'oparams':{sname:sna,snape:tsye},
  57. 'onsuccess':function(f,gstr){
  58. var sna= f.sname,tsye=f.snape,d=js.decode(gstr);
  59. if(tsye=='img'){
  60. get('imgview_'+sna+'').src = d.filepath;
  61. form(sna).value=d.filepath;
  62. me.upimages(sna,d.id,false, d.autoup);
  63. }else if(tsye=='file'){
  64. $('#meng_'+me.uprnd+'').remove();
  65. $('#up_'+me.uprnd+'').attr('upid_'+sna+'',d.id);
  66. me.upfbo = false;
  67. me.filearr['f'+d.id+''] = f;
  68. me.showupid(sna);//显示ID
  69. }
  70. me.uploadback(sna, f);
  71. if(this.changenext)this.changenext();//上传下一个文件
  72. },
  73. 'onprogress':function(f,bl){
  74. var sna= f.sname,tsye=f.snape;
  75. if(tsye=='file'){
  76. $('#meng_'+me.uprnd+'').html(''+bl+'%');
  77. }
  78. },
  79. onchange:function(f){
  80. var sna= f.sname,tsye=f.snape;
  81. if(tsye=='file'){
  82. var flx = js.filelxext(f.fileext);
  83. me.uprnd = js.getrand();
  84. me.upfbo = true;
  85. var s='<div onclick="'+me.clickstr('clickupfile','this,\''+sna+'\'')+'" id="up_'+me.uprnd+'" title="'+f.filename+'('+f.filesizecn+')" class="upload_items">';
  86. if(f.isimg){
  87. s+='<img class="imgs" src="'+f.imgviewurl+'">'
  88. }else{
  89. s+='<div class="upload_items_items"><img src="web/images/fileicons/'+flx+'.gif" alian="absmiddle"> ('+f.filesizecn+')<br>'+f.filename+'</div>';
  90. }
  91. s+='<div id="meng_'+me.uprnd+'" class="upload_items_meng" style="font-size:16px">0%</div></div>';
  92. $('#'+sna+'_divadd').before(s);
  93. }else if(tsye=='img'){
  94. js.loading('上传中...');
  95. }
  96. },
  97. onerror:function(estr){
  98. me.upfbo = false;
  99. js.msg('msg',estr);
  100. },
  101. onchangebefore:function(){
  102. me.onchangebefore(this);
  103. }
  104. });
  105. }
  106. this.showupid=function(sna){
  107. var os = $('div[upid_'+sna+']'),fvid='';
  108. for(var i=0;i<os.length;i++){
  109. fvid+=','+$(os[i]).attr('upid_'+sna+'')+'';
  110. }
  111. if(fvid!='')fvid=fvid.substr(1);
  112. form(sna).value=fvid;
  113. }
  114. this.clickupfile=function(o1,sna, xs){
  115. if(!o1)o1 = this.yuobj;
  116. this.yuobj = o1;
  117. var o = $(o1);
  118. var fid = o.attr('upid_'+sna+'');
  119. if(isempt(fid))return;
  120. var f = this.filearr['f'+fid+''];if(!f)return;
  121. if(this.isedit==0 || xs){
  122. js.alertclose();
  123. js.fileopt(fid,0);
  124. }else{
  125. var fileext = f.fileext,oflx=',doc,docx,ppt,pptx,xls,xlsx,',s1='';
  126. s1+='<a style="color:blue" href="javascript:;" onclick="js.alertclose();js.downshow('+fid+',\'abc\')">下载</a>';
  127. s1+='&nbsp; <a style="color:blue" href="javascript:;" onclick="'+me.clickstr('clickupfile','false,\''+sna+'\',true')+'">预览</a>';
  128. if(oflx.indexOf(','+fileext+',')>-1)s1+='&nbsp; <a style="color:blue" href="javascript:;" onclick="js.alertclose();js.fileopt('+fid+',2)">在线编辑</a>';
  129. if(this.openlx==4)s1='';
  130. js.confirm('确定要<font color=red>删除文件</font>:'+o1.title+'吗?'+s1+'',function(jg){
  131. if(jg=='yes'){
  132. o.remove();
  133. me.showupid(sna);
  134. if(!f.xuanbool)$.get(js.getajaxurl('delfile','upload','public',{id:fid,mid:me.mid,num:me.modenum}));
  135. }
  136. });
  137. }
  138. },
  139. this.upimages=function(fid,fileid,bs, lbu){
  140. if(!bs){
  141. if(lbu!=1){js.unloading();return;}
  142. js.loading('等待上传完成...');
  143. setTimeout(function(){me.upimages(fid, fileid, true);},3000);
  144. }else{
  145. js.ajax('api.php?m=login&a=upimagepath',{fileid:fileid,fid:fid},function(ret){
  146. js.unloading();
  147. var da = ret.data;
  148. if(da.path)form(da.fid).value=da.path;
  149. },'get,json');
  150. }
  151. }
  152. }
  153. $.rockcfile = function(cans){
  154. if(rockcfiledata[cans.sna]){
  155. rockcfiledata[cans.sna].click();
  156. }else{
  157. var funcls = new rockcfile(cans);
  158. funcls.init();
  159. return funcls;
  160. }
  161. };
  162. })(jQuery);
粤ICP备19079148号