word.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334
  1. <style>
  2. .progresscls{height:24px;overflow:hidden;line-height:24px;border:0px #eeeeee solid; position:relative;;width:100%;background-color:#f1f1f1;margin-top:3px}
  3. .progressclssse{background-color:#B0D6FC;height:24px;overflow:hidden;width:5%;position:absolute;z-index:0;left:0px;top:0px}
  4. .progressclstext{font-size:10px;color:#0556A8;height:24px;overflow:hidden;line-height:24px;text-align:left;position:absolute;z-index:1;left:5px;top:0px}
  5. .workheader span{float:left;display:block;padding:0px 10px; border-right:1px #dddddd solid;cursor:pointer;}
  6. .workheader span:active{background:#e1e1e1}
  7. </style>
  8. <script type="text/javascript">
  9. var cqids = '<?=$worcarr['ids']?>';
  10. yingyonginit = function(){
  11. c.init();
  12. }
  13. yy.regetdata=function(){
  14. c.getfile(0,0);
  15. }
  16. var c = {
  17. typeid:0,
  18. cqid:0,
  19. ismanage:0,
  20. isup:0,
  21. uptype:'',
  22. officebj:'',
  23. init:function(){
  24. c.getfile(0,0);
  25. c.upobj = $.rockupload({
  26. 'inputfile' : 'wordupfile',
  27. onchange:function(a){
  28. c.onchange(a);
  29. },
  30. onprogress:function(a,bl){
  31. c.onprogress(a,bl);
  32. },
  33. onsuccess:function(a,str){
  34. c.onsuccess(a,str);
  35. },
  36. onerror:function(str){
  37. js.msg('msg', str);
  38. $('#progresstext_heheheh').html('<font color=red>上传失败</font>');
  39. }
  40. });
  41. },
  42. onchange:function(a){
  43. $('#progresscls_hehehehsss').remove();
  44. $('body').append('<div id="progresscls_hehehehsss" style="position:absolute;bottom:50px;" class="progresscls"><div id="progresscls_heheheh" class="progressclssse"></div><div class="progressclstext" id="progresstext_heheheh" >'+a.filename+','+a.filesizecn+'(0%)</div></div>');
  45. },
  46. onprogress:function(a,per){
  47. $('#progresscls_heheheh').css('width',''+per+'%');
  48. $('#progresstext_heheheh').html(''+a.filename+','+a.filesizecn+'('+per+'%)');
  49. },
  50. onsuccess:function(a,str){
  51. var f = js.decode(str);
  52. $('#progresstext_heheheh').html(''+a.filename+','+a.filesizecn+',上传成功,保存中...');
  53. var fileid = f.id;
  54. js.ajax('word','savefile',{typeid:c.typeid,sid:fileid,cqid:this.cqid},function(a){
  55. $('#progresscls_hehehehsss').remove();
  56. js.msg('success',''+a.filename+'上传成功');
  57. a.fileid=a.id;
  58. a.name = a.filename;
  59. $('#wordlisttable').append(c.showlist(a));
  60. },'none');
  61. },
  62. create:function(){
  63. js.wx.prompt('新建文件夹','请输入文件夹名称:',function(text){
  64. if(!text){js.msg('msg','没有输入文件夹名称');return;}
  65. js.ajax('word','createfolder',{name:text,typeid:c.typeid,cqid:c.cqid},function(a){
  66. c.createshow(a);
  67. });
  68. });
  69. },
  70. createshow:function(a){
  71. $('#wordlisttable').append(this.showlist(a));
  72. },
  73. up:function(){
  74. c.upobj.click({'uptype':this.uptype});
  75. },
  76. //切换分区
  77. changfenqu:function(fq){
  78. yy.sousoukey='';
  79. yy.sqxs();
  80. $('#workheader span:gt(0)').remove();
  81. this.uptype = $(fq.options[fq.selectedIndex]).attr('uptype');
  82. this.getfile(0, fq.value);
  83. },
  84. disabedgl:function(lx){
  85. var clas = 'weui_navbar_item_disabled';
  86. if(lx){
  87. $('div[tempxu=2]').addClass(clas);
  88. }else{
  89. $('div[tempxu=2]').removeClass(clas);
  90. }
  91. },
  92. disableup:function(lx){
  93. var clas = 'weui_navbar_item_disabled';
  94. if(lx){
  95. $('div[tempxu=0]').addClass(clas);
  96. }else{
  97. $('div[tempxu=0]').removeClass(clas);
  98. }
  99. },
  100. getfile:function(pid,cid,alx,padg){
  101. this.typeid = pid;
  102. this.cqid = cid;
  103. this.disabedgl(true);
  104. this.disableup(true);
  105. if(!alx)alx='';
  106. this.atype = alx;
  107. if(!padg)padg=1;
  108. this.page = padg;
  109. get('cpselect').value = this.cqid;
  110. js.ajax('word','getdata',{typeid:pid,cqid:this.cqid,cqids:cqids,atype:alx,page:padg,key:yy.sousoukey},function(a){
  111. c.ismanage = a.ismanage;
  112. c.isup = a.isup;
  113. c.officebj = a.officebj;
  114. if(a.ismanage==1)c.disabedgl(false);//有权限
  115. if(a.isup==1)c.disableup(false);//有权限
  116. c.data=[];
  117. c.showdata(a);
  118. },'mode');
  119. },
  120. reload:function(){
  121. this.getfile(this.typeid,this.cqid,this.atype);
  122. },
  123. nextpage:function(){
  124. this.getfile(this.typeid,this.cqid,this.atype,this.page+1);
  125. },
  126. showdata:function(a){
  127. $('#showblank').remove();
  128. var rows = a.rows;
  129. var i,len=rows.length,s;
  130. s='<table id="wordlisttable" style="width:100%; background-color:white">';
  131. for(i=0;i<len;i++){
  132. s+=c.showlist(rows[i]);
  133. }
  134. s+='</table>';
  135. s+='<div style="margin-top:10px" class="showblank" id="showblank">共'+a.count+'条记录';
  136. if(a.maxpage>1)s+=',当前'+a.maxpage+'/'+a.page+'页';
  137. if(a.page<a.maxpage){
  138. s+=', <a id="showblankss" onclick="c.nextpage(this)" href="javascript:;">点击加载</a>';
  139. }
  140. s+='</div>';
  141. if(a.page<=1){
  142. $('#mainbody_show').html(s);
  143. }else{
  144. $('#mainbody_show').append(s);
  145. }
  146. },
  147. showlist:function(d){
  148. if(!d.id)d.id=d.fileid;
  149. if(!d.fileext)d.fileext='folder';
  150. var oi = this.data.push(d),s1='';
  151. var s='';
  152. s+='<tr style="height:60px;border-top:1px #f1f1f1 solid" id="'+d.fileext+'_'+d.id+'" onclick="c.clicksse('+oi+',event,this)" >';
  153. s1='<div id="filename_'+oi+'">'+d.name+'</div>';
  154. if(d.fileid){
  155. s1+='<div style="font-size:12px;color:#888888">大小:'+d.filesizecn+'';
  156. if(!isempt(d.shate))s1+=',共享给:'+d.shate+'';
  157. s1+='</div>';
  158. }
  159. if(d.fileext=='folder'){
  160. s+='<td align="center" width="40"><img src="images/folder.png" height="24" width="24"></td><td>'+s1+'</td>';
  161. }else{
  162. var slx = d.fileext;
  163. if(js.fileall.indexOf(','+slx+',')<0)slx='wz';
  164. var fstr = 'web/images/fileicons/'+slx+'.gif';
  165. if(d.thumbpath)fstr = d.thumbpath;
  166. s+='<td align="center" width="40"><img src="'+fstr+'" height="16" width="16"></td><td>'+s1+'</td>';
  167. }
  168. s+='</tr>';
  169. return s;
  170. },
  171. chentcolor:function(oi,e,o1){
  172. if(this._olodwet)$(this._olodwet).css('background','');
  173. $(o1).css('background','#f3f3f3');
  174. this._olodwet = o1;
  175. },
  176. isoffice:function(ext){
  177. var strs = ',doc,dot,wps,wpt,docx,dotx,docm,dotm,xls,xlt,et,xlsx,xltx,csv,xlsm,xltm,ppt,pptx,pptm,ppsx,ppsm,pps,potx,potm,dpt,dps,';
  178. return strs.indexOf(','+ext+',')>=0;
  179. },
  180. clicksse:function(oi,e,o1){
  181. this.chentcolor(oi,e,o1);
  182. var d = this.data[oi-1];
  183. this.tempoi = oi;
  184. this.tempda = d;
  185. var a = [{name:(d.fileext=='folder')?'打开':'下载',lx:0}];
  186. if(d.fileext!='folder'){
  187. a.push({name:'预览',lx:7});
  188. }
  189. if(this.ismanage==1){
  190. a.push({name:'重命名',lx:1});
  191. a.push({name:'删除',lx:4});
  192. a.push({name:'共享给...',lx:5});
  193. a.push({name:'移动',lx:2});
  194. if(this.officebj=='1' && this.isoffice(d.fileext))a.push({name:'编辑',lx:8});
  195. }
  196. if(d.fileext!='folder'){
  197. a.push({name:'转发给...',lx:6});
  198. }
  199. js.showmenu({data:a,onclick:function(d){c.clickmenuss(d)}});
  200. },
  201. clickmenuss:function(d){
  202. var lx=d.lx;
  203. if(lx==0)this.celdblckc(this.tempoi);
  204. if(lx==1)this.cmmr();
  205. if(lx==2)this.movesss();
  206. if(lx==3)this.moveokzh();
  207. if(lx==4)this.delfload();
  208. if(lx==5)this.fenxiang();
  209. if(lx==6)this.zhuanfagei();
  210. if(lx==7)this.yulans();
  211. if(lx==8)js.fileopt(this.tempda.fileid,2);
  212. },
  213. celdblckc:function(oi){
  214. var d = this.data[oi-1];
  215. if(d.fileext=='folder'){
  216. var s = '<span onclick="c.clickheadeer('+d.id+', this)">'+d.name+'&gt;</span>';
  217. $('#workheader').append(s);
  218. this.getfile(d.id,d.cid);
  219. }else{
  220. js.fileopt(d.fileid,1);
  221. }
  222. },
  223. yulans:function(){
  224. var d = this.tempda;
  225. js.fileopt(d.fileid,0);
  226. },
  227. clickheadeer:function(pid,o1){
  228. var as = $('#workheader span');
  229. var rb = false;
  230. for(var i=0;i<as.length;i++){
  231. if(rb)$(as[i]).remove();
  232. if(o1==as[i])rb=true;
  233. }
  234. c.getfile(pid,this.cqid);
  235. },
  236. cmmr:function(){
  237. js.wx.prompt('重命名','请输入新的名称:',function(text){
  238. if(!text){js.msg('msg','没有输入新的名称');return;}
  239. if(c.tempda.name==text)return;
  240. c.data[c.tempoi-1].name=text;
  241. $('#filename_'+c.tempoi+'').html(text);
  242. c.cmmrssok(text);
  243. },this.tempda.name);
  244. },
  245. cmmrssok:function(txt){
  246. var d={id:this.tempda.id,type:this.tempda.fileext,name:jm.base64encode(txt)};
  247. js.ajax('word','rename',d,function(a){},'none');
  248. },
  249. movesss:function(){
  250. $.selectdata({
  251. title:'选择移动的分区/目录',
  252. url:js.apiurl('word','moveget'),
  253. checked:false,
  254. onselect:function(sda,sna, sid){
  255. js.ajax('word','movefile',{'cqid':sda.cqid,'typeid':sda.typeid,'ids':c.tempda.id},function(a){
  256. js.msg('success','移动成功');
  257. c.reload();
  258. });
  259. }
  260. });
  261. },
  262. delfload:function(){
  263. js.wx.confirm('确定要删除吗?',function(lx){
  264. if(lx=='yes')c.delfloadok();
  265. });
  266. },
  267. delfloadok:function(){
  268. var d = this.tempda;
  269. this.movedata=false;
  270. js.ajax('word','delfile',{type:d.fileext,id:d.id},function(a){
  271. $('#'+d.fileext+'_'+d.id+'').remove();
  272. js.msg('success','删除成功');
  273. });
  274. },
  275. fenxiang:function(){
  276. $('body').chnageuser({
  277. 'changetype':'changedeptusercheck',
  278. 'title':'共享给...',
  279. 'titlebool':get('header_title'),
  280. 'onselect':function(sna,sid){
  281. c.fenxiangok(sna,sid);
  282. }
  283. });
  284. },
  285. zhuanfagei:function(){
  286. $('body').chnageuser({
  287. 'changetype':'changeusercheck',
  288. 'title':'转发给...',
  289. 'titlebool':get('header_title'),
  290. 'onselect':function(sna,sid){
  291. c.zhuanfageiok(sna,sid);
  292. }
  293. });
  294. },
  295. zhuanfageiok:function(sna,sid){
  296. var d = this.tempda;
  297. var ds = {'tuid':sid,'type':'user','cont':'','fileid':d.fileid};
  298. js.ajax('reim','forward', ds, function(){
  299. js.msg('success','已转发给【'+sna+'】')
  300. });
  301. },
  302. fenxiangok:function(sna,sid){
  303. var d = this.tempda;
  304. js.ajax('word','shatefile',{type:d.fileext,ids:d.id,sid:sid,sna:sna},function(a){
  305. if(sid==''){
  306. js.msg('success','已取消共享');
  307. }else{
  308. js.msg('success','已共享给【'+sna+'】');
  309. }
  310. c.reload();
  311. });
  312. },
  313. wfenxx:function(lx){
  314. this.getfile(this.typeid,0, lx);
  315. }
  316. };
  317. yy.clickevent=function(d){
  318. if(d.url=='create')c.create();
  319. if(d.url=='up')c.up();
  320. if(d.url=='shate')c.wfenxx('shateall');
  321. if(d.url=='fxgw')c.wfenxx('shatewfx');
  322. }
  323. yy.initScroll=function(){}
  324. </script>
  325. <div><select id="cpselect" onchange="c.changfenqu(this)" style="width:100%;border:none;height:40px;font-size:16px;padding:5px"><option uptype="" value="0">所有分区</option><?php
  326. foreach($worcarr['rows'] as $k=>$rs){
  327. echo '<option uptype="'.$rs['uptype'].'" value="'.$rs['id'].'">'.$rs['name'].'</option>';
  328. }
  329. ?></select></div>
  330. <div class="workheader" id="workheader" style="line-height:50px; background-color:#ffffff;overflow:hidden;border-top:1px #dddddd solid"><span onclick="c.clickheadeer(0, this)">顶级目录&gt;</span></div>
  331. <div id="mainbody_show"></div>