You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

150 lines
5.6 KiB

  1. /*
  2. *
  3. * Copyright (c) 2013-2018 北京泉江科技有限公司
  4. * 创建人:陈彬彬
  5. * 日 期:2017.05.24
  6. * 描 述:lr-uploader 表单附件选择插件
  7. */
  8. (function ($, learun) {
  9. "use strict";
  10. $.lrUploader = {
  11. init: function ($self) {
  12. var dfop = $self[0]._lrUploader.dfop;
  13. $.lrUploader.initRender($self, dfop);
  14. },
  15. initRender: function ($self, dfop) {
  16. $self.attr('type', 'lr-Uploader').addClass('lrUploader-wrap');
  17. var $wrap = $('<div class="lrUploader-input" ></div>');
  18. var $btnGroup = $('<div class="lrUploader-btn-group"></div>');
  19. var $uploadBtn = $('<a id="lrUploader_uploadBtn_' + dfop.id + '" class="btn btn-success lrUploader-input-btn">上传</a>');
  20. var $downBtn = $('<a id="lrUploader_downBtn_' + dfop.id + '" class="btn btn-danger lrUploader-input-btn">下载/预览</a>');
  21. var $viewBtn = $('<a id="lrUploader_viewBtn_' + dfop.id + '" class="btn btn-primary lrUploader-input-btn">预览</a>');
  22. $self.append($wrap);
  23. var w = 0;
  24. if (dfop.isUpload) {
  25. $btnGroup.append($uploadBtn);
  26. w += 57;
  27. }
  28. if (dfop.isDown) {
  29. $btnGroup.append($downBtn);
  30. w += 57;
  31. }
  32. if (dfop.isView) {
  33. $btnGroup.append($viewBtn);
  34. w += 57;
  35. }
  36. $uploadBtn.on('click', $.lrUploader.openUploadForm);
  37. $downBtn.on('click', $.lrUploader.openDownForm);
  38. $viewBtn.on('click', $.lrUploader.openViewForm);
  39. $self.append($btnGroup);
  40. $self.css({ 'padding-right': w });
  41. },
  42. openUploadForm: function () {
  43. var $btn = $(this);
  44. var $self = $btn.parents('.lrUploader-wrap');
  45. var dfop = $self[0]._lrUploader.dfop;
  46. learun.layerForm({
  47. id: dfop.id,
  48. title: dfop.placeholderUpload,
  49. url: top.$.rootUrl + '/LR_SystemModule/Annexes/UploadForm?keyVaule=' + dfop.value + "&extensions=" + dfop.extensions + "&filePath=" + dfop.filePath,
  50. width: 600,
  51. height: 400,
  52. maxmin: true,
  53. btn: null,
  54. end: function () {
  55. learun.httpAsyncGet(top.$.rootUrl + '/LR_SystemModule/Annexes/GetFileNames?folderId=' + dfop.value, function (res) {
  56. if (res.code == learun.httpCode.success) {
  57. $('#' + dfop.id).find('.lrUploader-input').text(res.info);
  58. //上传验证特殊处理
  59. if ($('#' + dfop.id).find('.lrUploader-input').text()) {
  60. $('#' + dfop.id).removeClass('lr-field-error');
  61. $('#' + dfop.id).parent().find('.lr-field-error-info').remove();
  62. }
  63. }
  64. });
  65. }
  66. });
  67. },
  68. openDownForm: function () {
  69. var $btn = $(this);
  70. var $self = $btn.parents('.lrUploader-wrap');
  71. var dfop = $self[0]._lrUploader.dfop;
  72. var url = top.$.rootUrl + '/LR_SystemModule/Annexes/DownForm?keyVaule=' + dfop.value;
  73. if (dfop.RFileId !== undefined && dfop.RFileId !== null && dfop.RFileId !== "") { //公文查阅主键
  74. url = top.$.rootUrl + '/LR_SystemModule/Annexes/DownForm?keyVaule=' + dfop.value + '&RFileId=' + dfop.RFileId;
  75. }
  76. learun.layerForm({
  77. id: dfop.id,
  78. title: dfop.placeholderDown,
  79. url: url,
  80. width: 600,
  81. height: 400,
  82. maxmin: true,
  83. btn: null
  84. });
  85. },
  86. openViewForm: function () {
  87. var $btn = $(this);
  88. var $self = $btn.parents('.lrUploader-wrap');
  89. var dfop = $self[0]._lrUploader.dfop;
  90. learun.layerForm({
  91. id: 'PreviewForm',
  92. title: '文件预览',
  93. url: top.$.rootUrl + '/LR_SystemModule/Annexes/PreviewFile?fileId=' + dfop.value,
  94. width: 1080,
  95. height: 850,
  96. btn: null
  97. });
  98. }
  99. };
  100. $.fn.lrUploader = function (op) {
  101. var $this = $(this);
  102. if (!!$this[0]._lrUploader) {
  103. return $this;
  104. }
  105. var dfop = {
  106. placeholderUpload: '上传附件',
  107. placeholderDown: '下载附件',
  108. isUpload: true,
  109. isDown: true,
  110. isView: false,
  111. extensions: '',
  112. filePath: ''//上传路径(配置文件)
  113. }
  114. $.extend(dfop, op || {});
  115. dfop.id = $this.attr('id');
  116. dfop.value = learun.newGuid();
  117. $this[0]._lrUploader = { dfop: dfop };
  118. $.lrUploader.init($this);
  119. };
  120. $.fn.lrUploaderSet = function (value) {
  121. if (value == null || value == 'null' || value == undefined || value == 'undefined' || value == '') {
  122. return;
  123. }
  124. var $self = $(this);
  125. var dfop = $self[0]._lrUploader.dfop;
  126. dfop.value = value;
  127. learun.httpAsyncGet(top.$.rootUrl + '/LR_SystemModule/Annexes/GetFileNames?folderId=' + dfop.value, function (res) {
  128. if (res.code == learun.httpCode.success) {
  129. $('#' + dfop.id).find('.lrUploader-input').text(res.info);
  130. }
  131. });
  132. }
  133. $.fn.lrUploaderGet = function () {
  134. var $this = $(this);
  135. var dfop = $this[0]._lrUploader.dfop;
  136. return dfop.value;
  137. }
  138. })(jQuery, top.learun);