file.js 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797
  1. var enctype = "";
  2. var action = "";
  3. var target = "";
  4. var form = "";
  5. var eara = "";
  6. var viewObj = "";
  7. var oldSize = "";
  8. var isDel = false;
  9. var isCloudeEitor = 0;
  10. var isDownload = "";
  11. var fileNameLen = "";
  12. var documentName = "";
  13. $(document).ready(function() {
  14. $(".fileControl").each(function() {
  15. changeAddPath(this);
  16. var isDelFile = $("input[name='isDelFile']", this).val();
  17. initValue(this);
  18. if (isDelFile != '3')
  19. initFile(this);
  20. else
  21. $(".add-style", eara).hide();
  22. });
  23. showFile();
  24. });
  25. function changeAddPath(e) {
  26. $(".add", e).each(
  27. function() {
  28. var path = findProjectName(e) + "/liger/lib/ligerUI/skins/"
  29. + findStyleCss(e) + "/images/index/jia.png";
  30. $(this).attr("src", path);
  31. });
  32. }
  33. function init(e) {
  34. $(e).each(function() {
  35. initValue(this);
  36. initFile(this);
  37. });
  38. }
  39. function addIframe() {
  40. if ($("iframe[name='check_file_frame']").length == 0)
  41. $("body")
  42. .append(
  43. "<iframe name=\"check_file_frame\" style=\"display:none;\"></iframe>");
  44. }
  45. function initValue(e) {
  46. eara = e;
  47. var li = $("#fileList");
  48. if (li.length == 0)
  49. return;
  50. var documentId = $("input[name='defaultValue']", e).val();
  51. var param = {
  52. "documentId" : documentId
  53. };
  54. sendAjaxParam(param, "loadFile.do", "json", fileBackProcess);
  55. }
  56. function fileBackProcess(data) {
  57. var max = $("input[name='size']", eara).val();
  58. var isDelFile = $("input[name='isDelFile']", eara).val();
  59. var cloudeEitor = $("input[name='cloudeEitor']", eara).val();
  60. var isView = $("input[name='isView']", eara).val();
  61. var isDownload = $("input[name='isDownload']", eara).val();
  62. var fieldName = $("[name='fieldName']", eara).val();
  63. if (isDownload == undefined)
  64. isDownload = "";
  65. if (max != undefined && max != "")
  66. max = parseInt(max, 10);
  67. var i = 0;
  68. for (; i < data.length; i++) {
  69. var d = data[i];
  70. var fileName = d['srcFile'];
  71. // 获取文件后缀名
  72. var suffix_index = fileName.lastIndexOf(".");
  73. var suffix = fileName.substring(suffix_index + 1);
  74. var fileNameLen = $("[name='fileNameLen']", eara).val();
  75. if (fileNameLen != "" && fileName.length > fileNameLen)
  76. fileName = fileName.substring(0, fileNameLen) + "...";
  77. /*var str = "<li><a title='" + d['srcFile']
  78. + "' href='downloadFile.do?documentId=" + d['fileId'] + "'>"
  79. + fileName + "</a><input type='hidden' id='" + d['fileId'] + "' name='" + fieldName
  80. + "' value='" + d['fileId'] + "' />";
  81. if (isDownload == "1") {*/
  82. var str = "<li>" + fileName + "<input type='hidden' id='" + d['fileId'] + "' name='" + fieldName
  83. + "' value='" + d['fileId'] + "' />";
  84. /*}*/
  85. if (isView == undefined || isView == "") {
  86. isView = '1';
  87. }
  88. if (isDelFile == '1') {
  89. // str += "<span style='display:inline-block'>&nbsp;&nbsp;"
  90. // +"<img style='cursor:pointer' title='删除'
  91. // onclick=deleteFieldFile(\'"+d['fileId']
  92. // +"\','','','',this) src='/shares/images/no.png' width='12'
  93. // height='12'/></span>";
  94. str += "<span style='display:inline-block'>&nbsp;&nbsp;"
  95. + "<a href='javascript:void(0)' style='cursor:pointer;color:blue;' onclick=deleteFieldFile(\'"
  96. + d['fileId']
  97. + "\','','','',this) ><img style='cursor:pointer;vertical-align:middle;' src='/shares/images/no.png' width='12' height='12'/>"
  98. + "<font style='margin-left: 2px;'>删除</font></a></span>";
  99. }
  100. if (isDelFile == '2') {
  101. // str += "<span style='display:inline-block'>&nbsp;&nbsp;"
  102. // +"<img style='cursor:pointer' title='删除' onclick=cancelFile(this)
  103. // " +
  104. // "src='/shares/images/no.png' width='12' height='12'/></span>";
  105. str += "<span style='display:inline-block'>&nbsp;&nbsp;"
  106. + "<a href='javascript:void(0)' style='cursor:pointer;color:blue;' onclick=cancelFile(this) "
  107. + "><img style='cursor:pointer;vertical-align:middle;' src='/shares/images/no.png' width='12' height='12'/>"
  108. + "<font style='margin-left: 2px;'>删除</font></a></span>";
  109. }
  110. if (isView == "1") {
  111. // str += "<span style='display:inline-block'>&nbsp;&nbsp;"
  112. // +"<img style='cursor:pointer' title='预览'
  113. // onclick=viewFile(\'"+d['fileId']
  114. // +"\',this) src='/shares/images/view.png' width='14'
  115. // height='14'/></span>";
  116. // str += "<span style='display:inline-block'>&nbsp;&nbsp;"
  117. // +"<img title='扫描二维码' style='cursor:pointer'
  118. // onclick=viewScanCode(\'"+d['fileId']
  119. // +"\',this) src='/shares/images/2code.jpg' width='16' height='16'
  120. // border=0/></span>";
  121. str += "<span style='display:inline-block'>&nbsp;&nbsp;"
  122. + "<a href='javascript:void(0)' style='cursor:pointer;color:blue;' onclick=viewFile(\'"
  123. + d['fileId']
  124. + "\',this) ><img style='cursor:pointer;vertical-align:middle;' src='/shares/images/view.png' width='12' height='12'/>"
  125. + "<font style='margin-left: 2px;'>预览</font></a></span>";
  126. if (isDownload != "1") {
  127. str += "<span style='display:inline-block'>&nbsp;&nbsp;"
  128. +"<a style='cursor:pointer;color:blue;' title='" + d['srcFile']
  129. + "' href='downloadFile.do?documentId=" + d['fileId'] + "'>"
  130. + "<font style='margin-left: 2px;'>下载</font></a></span>";
  131. str += "<span style='display:inline-block'>&nbsp;&nbsp;"
  132. + "<a href='javascript:void(0)' style='cursor:pointer;color:blue;' onclick=viewScanCode(\'"
  133. + d['fileId']
  134. + "\',this) ><img style='cursor:pointer;vertical-align:middle;' src='/shares/images/2code.jpg' width='12' height='12'/>"
  135. + "<font style='margin-left: 2px;'>二维码下载</font></a></span>";
  136. }
  137. } else {
  138. // str += "<span style='display:inline-block'>&nbsp;&nbsp;"
  139. // +"<img title='扫描二维码' style='cursor:pointer'
  140. // onclick=viewScanCode(\'"+d['fileId']
  141. // +"\',this) src='/shares/images/2code.jpg' width='16' height='16'
  142. // border=0/></span>";
  143. if (isDownload != "1") {
  144. str += "<span style='display:inline-block'>&nbsp;&nbsp;"
  145. +"<a style='cursor:pointer;color:blue;' title='" + d['srcFile']
  146. + "' href='downloadFile.do?documentId=" + d['fileId'] + "'>"
  147. + "<font style='margin-left: 2px;'>下载</font></a></span>";
  148. str += "<span style='display:inline-block'>&nbsp;&nbsp;"
  149. + "<a href='javascript:void(0)' style='cursor:pointer;color:blue;' onclick=viewScanCode(\'"
  150. + d['fileId']
  151. + "\',this) ><img style='cursor:pointer;vertical-align:middle;' src='/shares/images/2code.jpg' width='15' height='15'/>"
  152. + "<font style='margin-left: 2px;'>二维码下载</font></a></span>";
  153. }
  154. }
  155. if (cloudeEitor == "1") { // 判断是否启用云编辑
  156. // 判断支持云编辑的文档格式
  157. if (suffix == "doc" || suffix == "docx" || suffix == "xls"
  158. || suffix == "xlsx" || suffix == "ppt" || suffix == "pptx") {
  159. str += "<span style='display:inline-block'>&nbsp;&nbsp;"
  160. + "<a href='#' style='cursor:pointer;color:blue;' onclick=eidtorFile(\'"
  161. + d['fileId']
  162. + "\',this)><img style='cursor:pointer;vertical-align:middle;' src='/shares/resources/css/easyui/themes/icons/pencil.png' width='12' height='12'/>"
  163. + "<font style='margin-left: 2px;'>云编辑</font></a></span>";
  164. }
  165. }
  166. str += "</li>";
  167. $("#fileList", eara).append(str);
  168. }
  169. ;
  170. if (i >= max) {
  171. $("input[name='size']", eara).val(-2);
  172. } else {
  173. $("input[name='size']", eara).val(max - i);
  174. }
  175. if (isDelFile != '3')
  176. initFile(eara);
  177. else
  178. $(".add-style", eara).hide();
  179. }
  180. // nereidFadeObjects = new Object();
  181. // nereidFadeTimers = new Object();
  182. // function nereidFade(object, destOp, rate, delta){
  183. // if (!document.all)
  184. // return
  185. // if (object != "[object]"){ // do this so I can take a string too
  186. // setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
  187. // return;
  188. // }
  189. // clearTimeout(nereidFadeTimers[object.sourceIndex]);
  190. // diff = destOp-object.filters.alpha.opacity;
  191. // direction = 1;
  192. // if (object.filters.alpha.opacity > destOp){
  193. // direction = -1;
  194. // }
  195. // delta=Math.min(direction*diff,delta);
  196. // object.filters.alpha.opacity+=direction*delta;
  197. // if (object.filters.alpha.opacity != destOp){
  198. // nereidFadeObjects[object.sourceIndex]=object;
  199. // nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
  200. // }
  201. // }
  202. function initFile(e) {
  203. addIframe();
  204. var filePrev = $("input[type='file']", e).prev();
  205. $(filePrev).val("");
  206. var fid = $("input[type='file']", e).attr("id");
  207. $("input[type='file']", e).remove();
  208. $(filePrev).after("<input type=\"file\" name=\"file\" id='" + fid + "' />");
  209. $("input[type='file']", e).bind("change", function() {
  210. form = $(this).parents("form");
  211. eara = e;
  212. uploadFile(this, form, e);
  213. });
  214. // 加入样式
  215. var definedCss = $("input[name='definedCss']", e).val();
  216. $(".add-style", e).addClass(definedCss);
  217. $(".del-style", e).remove();
  218. // 限制文件数
  219. var maxFile = $("input[name='size']", e).val();
  220. if (maxFile != undefined && maxFile == 1) {
  221. $(".add", e).hide();
  222. $(".add-style", e).show();
  223. }
  224. if (maxFile != undefined && maxFile == -2) {
  225. $(".add", e).hide();
  226. $(".add-style", e).hide();
  227. }
  228. if (maxFile != undefined && maxFile > 1) {
  229. $(".add", e).show();
  230. $(".add-style", e).show();
  231. }
  232. if (maxFile == -1)
  233. $(".add-style", e).hide();
  234. $(".add", e).unbind("click");
  235. $(".add", e)
  236. .bind(
  237. "click",
  238. function() {
  239. // var documentId =
  240. // $("input[name='defaultValue']",e).val();
  241. var documents = "";
  242. var did = "";
  243. // if(documentId.length>0)documentId.split(",");
  244. // 文件数
  245. var max = $("input[name='size']", e).val();
  246. if (max != undefined && max != "")
  247. max = parseInt(max, 10);
  248. if (max == 1)
  249. $(".add", e).hide();
  250. // 初始化值
  251. var size = $("input[type='file']", e).length;
  252. if (documents.length > 0) {
  253. $(".documentId", e).val(
  254. documents[0] == null ? "" : documents[0]);
  255. did = documents[size];
  256. }
  257. if (did == undefined)
  258. did = "";
  259. // 复制并生成新的文件上传元素
  260. var f = $(".add-style", e).clone();
  261. $("input[type='file']", f).attr("id",
  262. $("input[type='file']", f).attr("id") + size);
  263. // by qianqw 20150424
  264. $("input[type='file']", f).val("");
  265. // end
  266. var docid = $(".documentId", f).attr("id");
  267. $(".documentId", f).attr("id", docid + size).val(did);
  268. $(f).removeClass("add-style", e).addClass("del-style")
  269. .addClass(definedCss);
  270. ;
  271. // 加入删除
  272. var del = $("<img alt='' style='cursor:pointer' id='del' align='bottom' src='"
  273. + findProjectName(e)
  274. + "/liger/lib/ligerUI/skins/"
  275. + findStyleCss(e)
  276. + "/images/index/jian.png'></a>");
  277. $("span", f).empty().append(
  278. $(del).bind("click", function(e) {
  279. eara = e;
  280. removeFile(this);
  281. }));
  282. var fileLen = $(".add-style,.del-style", e).length;
  283. $($(".add-style,.del-style", e)[fileLen - 1]).after(f);
  284. // 加入上传事件
  285. $("input[type='file']").unbind("change");
  286. $("input[type='file']").bind("change", function() {
  287. form = $(this).parents("form");
  288. eara = e;
  289. uploadFile(this, form, e);
  290. });
  291. // 限制文件数
  292. if (max != undefined && size == max - 1) {
  293. $(".add", e).hide();
  294. return;
  295. }
  296. });
  297. }
  298. function removeFile(removeT) {
  299. e = $(removeT).parents(".fileControl");
  300. var ff = $(removeT).parent().prev();
  301. var d = $(ff).prev().val();
  302. form = $(ff).parents("form");
  303. $(removeT).parents(".del-style").remove();
  304. var size = $("input[type='file']", e).length;
  305. var max = $("input[name='size']", e).val();
  306. if (size == 1) {
  307. $(".add", e).show();
  308. }
  309. if (size < max) {
  310. $(".add", e).show();
  311. }
  312. if (d != "" && d != undefined) {
  313. deleteFormFile(d, '', '', '', removeT);
  314. }
  315. }
  316. function deleteFormFile(documentId, tableName, fieldName, id, e) {
  317. delImgObject = e;
  318. fileControl = $(e).parents(".fileControl");
  319. delEvent = $("input[name='delEvent']", fileControl).val();
  320. delFileId = documentId;
  321. delFileName = fieldName;
  322. delTableName = tableName;
  323. rowId = id;
  324. var param = {
  325. "documentId" : delFileId,
  326. "tableName" : delTableName,
  327. "fieldName" : delFileName,
  328. "rowId" : rowId,
  329. "delEvent" : delEvent
  330. };
  331. sendAjaxParam(param, "delFile.do", "json", delFormProcess);
  332. }
  333. function delFormProcess(data) {
  334. }
  335. var loadDialog;
  336. function uploadFile(e, form, area) {
  337. var documentId = $(e).prev().val();
  338. var isLogin = $("input[name='isLogin']", area).val();
  339. $("input[name='currentDocument']", area).val(documentId);
  340. var cid = $(e).attr("id");
  341. $("input[type='file']").each(function() {
  342. var id = $(this).attr("id");
  343. if (id != cid)
  344. $(this).attr("disabled", true);
  345. });
  346. $("input[name='lastFieldId']", area).val($(e).attr("id"));
  347. var formName = $(form).attr("name");
  348. var formAction = $(form).attr("action");
  349. if ($(form).length > 0
  350. && (formAction != "uploadFile.do" || formName == "upfile_form")) {
  351. action = $(form).attr("action");
  352. enctype = $(form).attr("enctype");
  353. target = $(form).attr("target");
  354. $(form).attr("enctype", "multipart/form-data").get(0).encoding = 'multipart/form-data';
  355. if (isLogin != undefined && isLogin == "0") {
  356. $(form)[0].attributes["action"].value = "uploadNoLoginFile.do";
  357. } else {
  358. $(form)[0].attributes["action"].value = "uploadFile.do";
  359. }
  360. $(form)[0].target = "check_file_frame";
  361. loadDialog = openTips({
  362. isTitle : true,
  363. content : "<div style='width:100%;text-align:center'><img src='/shares/images/loadprocess.gif'/><br/><br/>文件正在上传!请稍候。。。</div>",
  364. width : 250,
  365. height : 100,
  366. isDrag : false,
  367. allowClose : false,
  368. isResize : false,
  369. title : "文件下载",
  370. showMax : false,
  371. showMin : false,
  372. cls : "uploadCls"
  373. });
  374. $(form)[0].submit();
  375. } else {
  376. $("input[type='file']").each(function() {
  377. $(this).attr("disabled", false);
  378. });
  379. }
  380. }
  381. function callback(msg) {
  382. var imgViewId = $("[name='imgViewId']", eara).val();
  383. var showSrcFileId = $("[name='showSrcFileId']", eara).val();
  384. try {
  385. $(form).attr("enctype", enctype).get(0).encoding = enctype;
  386. } catch (e) {
  387. $(form)[0].attributes["enctype"].value = enctype;
  388. }
  389. $(form)[0].attributes["action"].value = action;
  390. if (!target) {
  391. target = "";
  392. }
  393. $(form)[0].target = target;
  394. var lastId = $("input[name='lastFieldId']", eara).val();
  395. $("#" + lastId).prev().val(msg);
  396. if (imgViewId != "" || showSrcFileId != "") {
  397. var param = {
  398. "documentId" : msg
  399. };
  400. sendAjaxParam(param, "loadFile.do", "json", viewLoadProcess);
  401. }
  402. $("input[type='file']").each(function() {
  403. $(this).attr("disabled", false);
  404. });
  405. loadDialog.close();
  406. }
  407. function backProcess(f) {
  408. var defaultValue = $("input[name='defaultValue']").val();
  409. var documentName = "";
  410. $(".documentId").each(function() {
  411. documentName = $(this).attr("name");
  412. $(this).attr("name", documentName + "_bak");
  413. var value = $(this).val();
  414. defaultValue += "," + value;
  415. $(this).remove();
  416. });
  417. $(f).append(
  418. "<input type='hidden' name='" + documentName + "' value='"
  419. + defaultValue + "' />");
  420. }
  421. var delImgObject, fileControl, delEvent, delFileName, delFileId, delTableName, rowId;
  422. function deleteFieldFile(documentId, tableName, fieldName, id, e) {
  423. delImgObject = e;
  424. fileControl = $(e).parents(".fileControl");
  425. delEvent = $("input[name='delEvent']", fileControl).val();
  426. delFileId = documentId;
  427. delFileName = fieldName;
  428. delTableName = tableName;
  429. rowId = id;
  430. var param = {
  431. "documentId" : delFileId,
  432. "tableName" : delTableName,
  433. "fieldName" : delFileName,
  434. "rowId" : rowId,
  435. "delEvent" : delEvent
  436. };
  437. sendAjaxParam(param, "delFile.do", "json", delProcess);
  438. }
  439. function deleteFile(documentId, e) {
  440. delImgObject = e;
  441. fileControl = $(e).parents(".fileControl");
  442. delEvent = $("input[name='delEvent']", fileControl).val();
  443. var param = {
  444. "documentId" : documentId,
  445. "delEvent" : delEvent
  446. };
  447. sendAjaxParam(param, "delFile.do", "json", delProcess);
  448. }
  449. function cancelFile(e) {
  450. var filePlugins = $(e).parents(".fileControl");
  451. var maxFile = $("input[name='size']", filePlugins).val();
  452. if (maxFile == -1 || maxFile == -2)
  453. maxFile = 0;
  454. else if (maxFile == 0)
  455. maxFile = -1;
  456. maxFile = parseInt(maxFile, 10);
  457. $("input[name='size']", filePlugins).val(maxFile + 1);
  458. $(".add-style", filePlugins).show();
  459. $(e).parent().parent().remove();
  460. initFile(filePlugins);
  461. }
  462. function delProcess(data) {
  463. var filePlugins = $(delImgObject).parents(".fileControl");
  464. if (data.success != null) {
  465. $(delImgObject).parent().parent().remove();
  466. var maxFile = $("input[name='size']", filePlugins).val();
  467. if (maxFile == -1 || maxFile == -2)
  468. maxFile = 0;
  469. else if (maxFile == 0)
  470. maxFile = -1;
  471. maxFile = parseInt(maxFile, 10);
  472. $("input[name='size']", filePlugins).val(maxFile + 1);
  473. $(".add-style", filePlugins).show();
  474. initFile(filePlugins);
  475. }
  476. }
  477. function viewFile(fileId, e) {
  478. // var w = $(window).width()*0.9;
  479. var w = window.top.document.documentElement.clientWidth - 300;
  480. var h = window.top.document.documentElement.clientHeight - 100;
  481. var ops = {
  482. title : "在线预览",
  483. url : "viewFile.do?documentId=" + fileId + "&w=" + w + "&h=" + h,
  484. width : w,
  485. height : h,
  486. isResize : true,
  487. isHidden : false
  488. };
  489. openTopDialog(ops);
  490. }
  491. function viewBack(data) {
  492. var obj = window.top;
  493. if (obj != undefined && obj != null) {
  494. obj.openTips({
  495. title : "扫描二维码下载",
  496. content : data,
  497. width : 300,
  498. height : 250
  499. });
  500. }
  501. }
  502. function viewScanCode(fileId, e) {
  503. var param = {
  504. 'documentId' : fileId
  505. };
  506. sendAsyncAjax(param, 'viewScanCode.do', 'html', viewBack);
  507. }
  508. function clearControl(filedName) {
  509. var f = $(".fileControl").filter("#fileControl_" + filedName);
  510. $(".add-style", f).each(function() {
  511. $("input", this).each(function() {
  512. $(this).val("");
  513. });
  514. });
  515. }
  516. function showFile() {
  517. $(".l-file").each(function() {
  518. isDel = false;
  519. viewObj = $(this);
  520. fileNameLen = $(this).attr("len");
  521. var documentId = $(this).text();
  522. $(this).html("");
  523. var param = {
  524. "documentId" : documentId
  525. };
  526. sendAjaxParam(param, "loadFile.do", "json", viewLoadProcess);
  527. });
  528. }
  529. function viewLoadProcess(data) {
  530. var html = "<ul>";
  531. var imgViewId = $("[name='imgViewId']", eara).val();
  532. var showSrcFileId = $("[name='showSrcFileId']", eara).val();
  533. if (imgViewId != null && imgViewId != "") {
  534. $("#" + imgViewId).attr("src", data[0].path);
  535. }
  536. if (showSrcFileId != null && showSrcFileId != "") {
  537. var reg = /\.\w+$/;
  538. $("#" + showSrcFileId).val(data[0].srcFile.replace(reg, ''));
  539. }
  540. for (var i = 0; i < data.length; i++) {
  541. var d = data[i];
  542. html += geneFileList(d, isDel, isCloudeEitor);
  543. }
  544. html += "</ul>";
  545. $(viewObj).append(html);
  546. }
  547. function editViewFileHtml(fileId, fileName, d, len, cloudeEitor) {
  548. viewObj = $(".fileControl").filter("#fileControl_" + fileName).find(
  549. ".fileList");
  550. if (d == true)
  551. d = "1";
  552. if (d == false)
  553. d = "0";
  554. isCloudeEitor = cloudeEitor;
  555. isDel = d;
  556. if (len == "" || len == undefined)
  557. fileNameLen = "";
  558. else
  559. fileNameLen = len;
  560. reverControl(fileName);
  561. documentName = fileName;
  562. var param = {
  563. "documentId" : fileId
  564. };
  565. sendAjaxParam(param, "loadFile.do", "json", viewBackProcess);
  566. }
  567. function viewFileHtml(fileId, fileName, len) {
  568. $("#" + fileName).empty();
  569. viewObj = $("#" + fileName);
  570. isDel = "0";
  571. if (len == "" || len == undefined)
  572. fileNameLen = "";
  573. else
  574. fileNameLen = len;
  575. documentName = fileName;
  576. var param = {
  577. "documentId" : fileId
  578. };
  579. sendAjaxParam(param, "loadFile.do", "json", viewProcess);
  580. }
  581. function reverControl(fileName) {
  582. var fileObje = $(viewObj).parent();
  583. var oldSize = $("input[name='oldSize']", fileObje).val();
  584. $(viewObj).empty();
  585. $("input[name='size']", fileObje).val(oldSize);
  586. initFile(fileObje);
  587. }
  588. function viewProcess(data) {
  589. var html = "";
  590. for (var i = 0; i < data.length; i++) {
  591. var d = data[i];
  592. html += geneFileList(d, isDel, isCloudeEitor);
  593. }
  594. $(viewObj).append(html);
  595. }
  596. function viewBackProcess(data) {
  597. var html = "";
  598. for (var i = 0; i < data.length; i++) {
  599. var d = data[i];
  600. html += geneFileList(d, isDel, isCloudeEitor);
  601. }
  602. $(viewObj).append(html);
  603. var fileObje = $(viewObj).parent();
  604. var size = $("input[name='size']", fileObje).val();
  605. var remainLen = size - data.length;
  606. if (remainLen == 0)
  607. remainLen = -1;
  608. if (size == 0)
  609. remainLen = 0;
  610. $("input[name='size']", fileObje).val(remainLen);
  611. initFile(fileObje);
  612. }
  613. function geneFileList(d, isDel, isCloudeEitor) {
  614. var html = "";
  615. var fileName = d['srcFile'];
  616. var suffix_index = fileName.lastIndexOf(".");
  617. var suffix = fileName.substring(suffix_index + 1);
  618. if (fileNameLen != "" && fileName.length > fileNameLen)
  619. fileName = fileName.substring(0, fileNameLen) + "...";
  620. html += "<li>" + fileName
  621. + "<input type='hidden' id='" + d['fileId'] + "' name='"
  622. + documentName + "' value='" + d['fileId'] + "' />";
  623. if (isDel == "1") {
  624. // html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  625. // +"<img style='cursor:pointer' title='删除'
  626. // onclick=deleteFieldFile(\'"+d['fileId']
  627. // +"\','','','',this) src='/shares/images/no.png' width='12'
  628. // height='12'/></span>";
  629. html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  630. + "<a href='javascript:void(0)' style='cursor:pointer;color:blue;' onclick=deleteFieldFile(\'"
  631. + d['fileId']
  632. + "\','','','',this)><img style='cursor:pointer;vertical-align:middle;' src='/shares/images/no.png' width='12' height='12'/>"
  633. + "<font style='margin-left: 2px;'>删除</font></a></span>";
  634. }
  635. if (isDel == "2") {
  636. // html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  637. // +"<img style='cursor:pointer' title='删除' onclick=cancelFile(this)" +
  638. // " src='/shares/images/no.png' width='12' height='12'/></span>";
  639. html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  640. + "<a href='javascript:void(0)' style='cursor:pointer;color:blue;' onclick=cancelFile(this)>"
  641. + "<img style='cursor:pointer;vertical-align:middle;' src='/shares/images/no.png' width='12' height='12'/>"
  642. + "<font style='margin-left: 2px;'>删除</font></a></span>";
  643. }
  644. /*
  645. * if(fileType!=-1||validateImage(fileName)){ html += "<span
  646. * style='display:inline-block'>&nbsp;&nbsp;" +"<img style='cursor:pointer'
  647. * title='预览' onclick=viewFile(\'"+d['fileId'] +"\',this)
  648. * src='/shares/images/view.png' width='12' height='12'/></span>"; }
  649. */
  650. // html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  651. // +"<img style='cursor:pointer' title='预览' onclick=viewFile(\'"+d['fileId']
  652. // +"\',this) src='/shares/images/view.png' width='14'
  653. // height='14'/></span>";
  654. html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  655. + "<a href='javascript:void(0)' style='cursor:pointer;color:blue;' onclick=viewFile(\'"
  656. + d['fileId']
  657. + "\',this) ><img style='cursor:pointer;vertical-align:middle;' src='/shares/images/view.png' width='12' height='12'/>"
  658. + "<font style='margin-left: 2px;'>预览</font></a></span>";
  659. // html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  660. // +"<img title='扫描二维码' style='cursor:pointer'
  661. // onclick=viewScanCode(\'"+d['fileId']
  662. // +"\',this) src='/shares/images/2code.jpg' width='16' height='16'
  663. // border=0/></span>";
  664. if (isDownload != "1") {
  665. html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  666. +"<a style='cursor:pointer;color:blue;' title='" + d['srcFile'] + "' href='" + PROJECT_NAME
  667. + "/downloadFile.do?documentId=" + d['fileId'] + "'>"
  668. + "<font style='margin-left: 2px;'>下载</font></a></span>";
  669. html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  670. + "<a href='javascript:void(0)' style='cursor:pointer;color:blue;' onclick=viewScanCode(\'"
  671. + d['fileId']
  672. + "\',this) ><img style='cursor:pointer;vertical-align:middle;' src='/shares/images/2code.jpg' width='12' height='12'/>"
  673. + "<font style='margin-left: 2px;'>二维码下载</font></a></span>";
  674. }
  675. if (isCloudeEitor == "1") { // 判断是否启用云编辑
  676. // 判断支持云编辑的文档格式
  677. if (suffix == "doc" || suffix == "docx" || suffix == "xls"
  678. || suffix == "xlsx" || suffix == "ppt" || suffix == "pptx") {
  679. html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  680. + "<a href='#' style='cursor:pointer;color:blue;' onclick=eidtorFile(\'"
  681. + d['fileId']
  682. + "\',this)><img style='cursor:pointer;vertical-align:middle;' src='/shares/resources/css/easyui/themes/icons/pencil.png' width='12' height='12'/>"
  683. + "<font style='margin-left: 2px;'>云编辑</font></a></span>";
  684. }
  685. }
  686. html += "</li>";
  687. return html;
  688. }
  689. function eidtorFile(fileId, e) {
  690. fileControl = $(e).parents(".fileControl");
  691. var folder = $("input[name='folder']", fileControl).val();
  692. var isNewCreate = $("input[name='isNewCreate']", fileControl).val();
  693. window
  694. .open(
  695. '${pageContext.request.contextPath }/fileCloudeditor.do?task=toEditFile&documentId='
  696. + fileId
  697. + "&folder="
  698. + folder
  699. + "&isNewCreate="
  700. + isNewCreate,
  701. 'newwindow',
  702. 'height='
  703. + screen.availHeight
  704. + ',width='
  705. + screen.availWidth
  706. + ',top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no,directories=no');
  707. }
  708. function findProjectName(e) {
  709. var projectName = $("input[name='projectName']", e).val();
  710. if (projectName == "" || projectName == undefined) {
  711. projectName = getProjectName();
  712. }
  713. return projectName;
  714. }
  715. function findStyleCss(e) {
  716. var styleType = $("input[name='styleType']", e).val();
  717. if (styleType == "" || styleType == undefined) {
  718. styleType = getCssName();
  719. }
  720. return styleType;
  721. }
  722. function validateImage(filename) {
  723. var patn = /\.jpg$|\.tif$|\.jpeg$|\.gif$|\.png$/i;
  724. if (!patn.test(filename)) {
  725. return false;
  726. }
  727. return true;
  728. }
  729. function delFirstFile(fieldName) {
  730. var first_filedName = "documentId_" + fieldName;
  731. var first_fileValue = "file_" + fieldName;
  732. var fileControl = $("#fileControl_" + fieldName);
  733. var delFileId = $("#" + first_filedName).val();
  734. $("#" + first_filedName).val("");
  735. var file = $("#" + first_fileValue);
  736. file.after(file.clone().val(""));
  737. file.remove();
  738. // 加入上传事件
  739. $("#" + first_fileValue).unbind("change");
  740. $("#" + first_fileValue).bind("change", function() {
  741. form = $(this).parents("form");
  742. eara = fileControl;
  743. uploadFile(this, form, fileControl);
  744. });
  745. if ("" == delFileId) {
  746. return;
  747. }
  748. var param = {
  749. "documentId" : delFileId,
  750. "tableName" : "",
  751. "fieldName" : "",
  752. "rowId" : "",
  753. "delEvent" : delEvent
  754. };
  755. sendAjaxParam(param, "delFile.do", "json", delFormProcess);
  756. }