file2.js 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802
  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_frame2']").length == 0)
  41. $("body")
  42. .append(
  43. "<iframe name=\"check_file_frame2\" 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 class='fujian' 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 loadDialog2 = null;
  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_frame2";
  361. loadDialog2 = 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. if(form){
  385. try {
  386. $(form).attr("enctype", enctype).get(0).encoding = enctype;
  387. } catch (e) {
  388. $(form)[0].attributes["enctype"].value = enctype;
  389. }
  390. $(form)[0].attributes["action"].value = action;
  391. }
  392. if (!target) {
  393. target = "";
  394. }
  395. if(form){
  396. $(form)[0].target = target;
  397. }
  398. var lastId = $("input[name='lastFieldId']", eara).val();
  399. // $("#" + lastId).prev().val(msg);
  400. $("[id='"+lastId+"']").prev().val(msg);
  401. if (imgViewId != "" || showSrcFileId != "") {
  402. var param = {
  403. "documentId" : msg
  404. };
  405. sendAjaxParam(param, "loadFile.do", "json", viewLoadProcess);
  406. }
  407. $("input[type='file']").each(function() {
  408. $(this).attr("disabled", false);
  409. });
  410. loadDialog2.close();
  411. }
  412. function backProcess(f) {
  413. var defaultValue = $("input[name='defaultValue']").val();
  414. var documentName = "";
  415. $(".documentId").each(function() {
  416. documentName = $(this).attr("name");
  417. $(this).attr("name", documentName + "_bak");
  418. var value = $(this).val();
  419. defaultValue += "," + value;
  420. $(this).remove();
  421. });
  422. $(f).append(
  423. "<input type='hidden' name='" + documentName + "' value='"
  424. + defaultValue + "' />");
  425. }
  426. var delImgObject, fileControl, delEvent, delFileName, delFileId, delTableName, rowId;
  427. function deleteFieldFile(documentId, tableName, fieldName, id, e) {
  428. delImgObject = e;
  429. fileControl = $(e).parents(".fileControl");
  430. delEvent = $("input[name='delEvent']", fileControl).val();
  431. delFileId = documentId;
  432. delFileName = fieldName;
  433. delTableName = tableName;
  434. rowId = id;
  435. var param = {
  436. "documentId" : delFileId,
  437. "tableName" : delTableName,
  438. "fieldName" : delFileName,
  439. "rowId" : rowId,
  440. "delEvent" : delEvent
  441. };
  442. sendAjaxParam(param, "delFile.do", "json", delProcess);
  443. }
  444. function deleteFile(documentId, e) {
  445. delImgObject = e;
  446. fileControl = $(e).parents(".fileControl");
  447. delEvent = $("input[name='delEvent']", fileControl).val();
  448. var param = {
  449. "documentId" : documentId,
  450. "delEvent" : delEvent
  451. };
  452. sendAjaxParam(param, "delFile.do", "json", delProcess);
  453. }
  454. function cancelFile(e) {
  455. var filePlugins = $(e).parents(".fileControl");
  456. var maxFile = $("input[name='size']", filePlugins).val();
  457. if (maxFile == -1 || maxFile == -2)
  458. maxFile = 0;
  459. else if (maxFile == 0)
  460. maxFile = -1;
  461. maxFile = parseInt(maxFile, 10);
  462. $("input[name='size']", filePlugins).val(maxFile + 1);
  463. $(".add-style", filePlugins).show();
  464. $(e).parent().parent().remove();
  465. initFile(filePlugins);
  466. }
  467. function delProcess(data) {
  468. var filePlugins = $(delImgObject).parents(".fileControl");
  469. if (data.success != null) {
  470. $(delImgObject).parent().parent().remove();
  471. var maxFile = $("input[name='size']", filePlugins).val();
  472. if (maxFile == -1 || maxFile == -2)
  473. maxFile = 0;
  474. else if (maxFile == 0)
  475. maxFile = -1;
  476. maxFile = parseInt(maxFile, 10);
  477. $("input[name='size']", filePlugins).val(maxFile + 1);
  478. $(".add-style", filePlugins).show();
  479. initFile(filePlugins);
  480. }
  481. }
  482. function viewFile(fileId, e) {
  483. // var w = $(window).width()*0.9;
  484. var w = window.top.document.documentElement.clientWidth - 300;
  485. var h = window.top.document.documentElement.clientHeight - 100;
  486. var ops = {
  487. title : "在线预览",
  488. url : "viewFile.do?documentId=" + fileId + "&w=" + w + "&h=" + h,
  489. width : w,
  490. height : h,
  491. isResize : true,
  492. isHidden : false
  493. };
  494. openTopDialog(ops);
  495. }
  496. function viewBack(data) {
  497. var obj = window.top;
  498. if (obj != undefined && obj != null) {
  499. obj.openTips({
  500. title : "扫描二维码下载",
  501. content : data,
  502. width : 300,
  503. height : 250
  504. });
  505. }
  506. }
  507. function viewScanCode(fileId, e) {
  508. var param = {
  509. 'documentId' : fileId
  510. };
  511. sendAsyncAjax(param, 'viewScanCode.do', 'html', viewBack);
  512. }
  513. function clearControl(filedName) {
  514. var f = $(".fileControl").filter("#fileControl_" + filedName);
  515. $(".add-style", f).each(function() {
  516. $("input", this).each(function() {
  517. $(this).val("");
  518. });
  519. });
  520. }
  521. function showFile() {
  522. $(".l-file").each(function() {
  523. isDel = false;
  524. viewObj = $(this);
  525. fileNameLen = $(this).attr("len");
  526. var documentId = $(this).text();
  527. $(this).html("");
  528. var param = {
  529. "documentId" : documentId
  530. };
  531. sendAjaxParam(param, "loadFile.do", "json", viewLoadProcess);
  532. });
  533. }
  534. function viewLoadProcess(data) {
  535. var html = "<ul>";
  536. var imgViewId = $("[name='imgViewId']", eara).val();
  537. var showSrcFileId = $("[name='showSrcFileId']", eara).val();
  538. if (imgViewId != null && imgViewId != "") {
  539. $("#" + imgViewId).attr("src", data[0].path);
  540. }
  541. if (showSrcFileId != null && showSrcFileId != "") {
  542. var reg = /\.\w+$/;
  543. $("#" + showSrcFileId).val(data[0].srcFile.replace(reg, ''));
  544. }
  545. for (var i = 0; i < data.length; i++) {
  546. var d = data[i];
  547. html += geneFileList(d, isDel, isCloudeEitor);
  548. }
  549. html += "</ul>";
  550. $(viewObj).append(html);
  551. }
  552. function editViewFileHtml(fileId, fileName, d, len, cloudeEitor) {
  553. viewObj = $(".fileControl").filter("#fileControl_" + fileName).find(
  554. ".fileList");
  555. if (d == true)
  556. d = "1";
  557. if (d == false)
  558. d = "0";
  559. isCloudeEitor = cloudeEitor;
  560. isDel = d;
  561. if (len == "" || len == undefined)
  562. fileNameLen = "";
  563. else
  564. fileNameLen = len;
  565. reverControl(fileName);
  566. documentName = fileName;
  567. var param = {
  568. "documentId" : fileId
  569. };
  570. sendAjaxParam(param, "loadFile.do", "json", viewBackProcess);
  571. }
  572. function viewFileHtml(fileId, fileName, len) {
  573. $("#" + fileName).empty();
  574. viewObj = $("#" + fileName);
  575. isDel = "0";
  576. if (len == "" || len == undefined)
  577. fileNameLen = "";
  578. else
  579. fileNameLen = len;
  580. documentName = fileName;
  581. var param = {
  582. "documentId" : fileId
  583. };
  584. sendAjaxParam(param, "loadFile.do", "json", viewProcess);
  585. }
  586. function reverControl(fileName) {
  587. var fileObje = $(viewObj).parent();
  588. var oldSize = $("input[name='oldSize']", fileObje).val();
  589. $(viewObj).empty();
  590. $("input[name='size']", fileObje).val(oldSize);
  591. initFile(fileObje);
  592. }
  593. function viewProcess(data) {
  594. var html = "";
  595. for (var i = 0; i < data.length; i++) {
  596. var d = data[i];
  597. html += geneFileList(d, isDel, isCloudeEitor);
  598. }
  599. $(viewObj).append(html);
  600. }
  601. function viewBackProcess(data) {
  602. var html = "";
  603. for (var i = 0; i < data.length; i++) {
  604. var d = data[i];
  605. html += geneFileList(d, isDel, isCloudeEitor);
  606. }
  607. $(viewObj).append(html);
  608. var fileObje = $(viewObj).parent();
  609. var size = $("input[name='size']", fileObje).val();
  610. var remainLen = size - data.length;
  611. if (remainLen == 0)
  612. remainLen = -1;
  613. if (size == 0)
  614. remainLen = 0;
  615. $("input[name='size']", fileObje).val(remainLen);
  616. initFile(fileObje);
  617. }
  618. function geneFileList(d, isDel, isCloudeEitor) {
  619. var html = "";
  620. var fileName = d['srcFile'];
  621. var suffix_index = fileName.lastIndexOf(".");
  622. var suffix = fileName.substring(suffix_index + 1);
  623. if (fileNameLen != "" && fileName.length > fileNameLen)
  624. fileName = fileName.substring(0, fileNameLen) + "...";
  625. html += "<li>" + fileName
  626. + "<input type='hidden' id='" + d['fileId'] + "' name='"
  627. + documentName + "' value='" + d['fileId'] + "' />";
  628. if (isDel == "1") {
  629. // html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  630. // +"<img style='cursor:pointer' title='删除'
  631. // onclick=deleteFieldFile(\'"+d['fileId']
  632. // +"\','','','',this) src='/shares/images/no.png' width='12'
  633. // height='12'/></span>";
  634. html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  635. + "<a href='javascript:void(0)' style='cursor:pointer;color:blue;' onclick=deleteFieldFile(\'"
  636. + d['fileId']
  637. + "\','','','',this)><img style='cursor:pointer;vertical-align:middle;' src='/shares/images/no.png' width='12' height='12'/>"
  638. + "<font style='margin-left: 2px;'>删除</font></a></span>";
  639. }
  640. if (isDel == "2") {
  641. // html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  642. // +"<img style='cursor:pointer' title='删除' onclick=cancelFile(this)" +
  643. // " src='/shares/images/no.png' width='12' height='12'/></span>";
  644. html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  645. + "<a href='javascript:void(0)' style='cursor:pointer;color:blue;' onclick=cancelFile(this)>"
  646. + "<img style='cursor:pointer;vertical-align:middle;' src='/shares/images/no.png' width='12' height='12'/>"
  647. + "<font style='margin-left: 2px;'>删除</font></a></span>";
  648. }
  649. /*
  650. * if(fileType!=-1||validateImage(fileName)){ html += "<span
  651. * style='display:inline-block'>&nbsp;&nbsp;" +"<img style='cursor:pointer'
  652. * title='预览' onclick=viewFile(\'"+d['fileId'] +"\',this)
  653. * src='/shares/images/view.png' width='12' height='12'/></span>"; }
  654. */
  655. // html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  656. // +"<img style='cursor:pointer' title='预览' onclick=viewFile(\'"+d['fileId']
  657. // +"\',this) src='/shares/images/view.png' width='14'
  658. // height='14'/></span>";
  659. /*html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  660. + "<a href='javascript:void(0)' style='cursor:pointer;color:blue;' onclick=viewFile(\'"
  661. + d['fileId']
  662. + "\',this) ><img style='cursor:pointer;vertical-align:middle;' src='/shares/images/view.png' width='12' height='12'/>"
  663. + "<font style='margin-left: 2px;'>预览</font></a></span>";*/
  664. // html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  665. // +"<img title='扫描二维码' style='cursor:pointer'
  666. // onclick=viewScanCode(\'"+d['fileId']
  667. // +"\',this) src='/shares/images/2code.jpg' width='16' height='16'
  668. // border=0/></span>";
  669. if (isDownload != "1") {
  670. html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  671. +"<a style='cursor:pointer;color:blue;' title='" + d['srcFile']
  672. + "' href='downloadFile.do?documentId=" + d['fileId'] + "'>"
  673. + "<font style='margin-left: 2px;'>下载</font></a></span>";
  674. html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  675. + "<a href='javascript:void(0)' style='cursor:pointer;color:blue;' onclick=viewScanCode(\'"
  676. + d['fileId']
  677. + "\',this) ><img style='cursor:pointer;vertical-align:middle;' src='/shares/images/2code.jpg' width='12' height='12'/>"
  678. + "<font style='margin-left: 2px;'>二维码下载</font></a></span>";
  679. }
  680. if (isCloudeEitor == "1") { // 判断是否启用云编辑
  681. // 判断支持云编辑的文档格式
  682. if (suffix == "doc" || suffix == "docx" || suffix == "xls"
  683. || suffix == "xlsx" || suffix == "ppt" || suffix == "pptx") {
  684. html += "<span style='display:inline-block'>&nbsp;&nbsp;"
  685. + "<a href='#' style='cursor:pointer;color:blue;' onclick=eidtorFile(\'"
  686. + d['fileId']
  687. + "\',this)><img style='cursor:pointer;vertical-align:middle;' src='/shares/resources/css/easyui/themes/icons/pencil.png' width='12' height='12'/>"
  688. + "<font style='margin-left: 2px;'>云编辑</font></a></span>";
  689. }
  690. }
  691. html += "</li>";
  692. return html;
  693. }
  694. function eidtorFile(fileId, e) {
  695. fileControl = $(e).parents(".fileControl");
  696. var folder = $("input[name='folder']", fileControl).val();
  697. var isNewCreate = $("input[name='isNewCreate']", fileControl).val();
  698. window
  699. .open(
  700. '${pageContext.request.contextPath }/fileCloudeditor.do?task=toEditFile&documentId='
  701. + fileId
  702. + "&folder="
  703. + folder
  704. + "&isNewCreate="
  705. + isNewCreate,
  706. 'newwindow',
  707. 'height='
  708. + screen.availHeight
  709. + ',width='
  710. + screen.availWidth
  711. + ',top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no,directories=no');
  712. }
  713. function findProjectName(e) {
  714. var projectName = $("input[name='projectName']", e).val();
  715. if (projectName == "" || projectName == undefined) {
  716. projectName = getProjectName();
  717. }
  718. return projectName;
  719. }
  720. function findStyleCss(e) {
  721. var styleType = $("input[name='styleType']", e).val();
  722. if (styleType == "" || styleType == undefined) {
  723. styleType = getCssName();
  724. }
  725. return styleType;
  726. }
  727. function validateImage(filename) {
  728. var patn = /\.jpg$|\.tif$|\.jpeg$|\.gif$|\.png$/i;
  729. if (!patn.test(filename)) {
  730. return false;
  731. }
  732. return true;
  733. }
  734. function delFirstFile(fieldName) {
  735. var first_filedName = "documentId_" + fieldName;
  736. var first_fileValue = "file_" + fieldName;
  737. var fileControl = $("#fileControl_" + fieldName);
  738. var delFileId = $("[id='" + first_filedName+"']").val();
  739. $("[id='"+first_filedName+"']").val("");
  740. var file = $("[id='" + first_fileValue+"']");
  741. file.after(file.clone().val(""));
  742. file.remove();
  743. // 加入上传事件
  744. $("[id='" + first_fileValue+"']").unbind("change");
  745. $("[id='" + first_fileValue+"']").bind("change", function() {
  746. form = $(this).parents("form");
  747. eara = fileControl;
  748. uploadFile(this, form, fileControl);
  749. });
  750. if ("" == delFileId) {
  751. return;
  752. }
  753. var param = {
  754. "documentId" : delFileId,
  755. "tableName" : "",
  756. "fieldName" : "",
  757. "rowId" : "",
  758. "delEvent" : delEvent
  759. };
  760. sendAjaxParam(param, "delFile.do", "json", delFormProcess);
  761. }