officehonorView.jsp 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. <%@ page import="com.jeeplus.modules.sys.utils.UserUtils" %>
  2. <%@ page contentType="text/html;charset=UTF-8" %>
  3. <%@ include file="/webpage/include/taglib.jsp"%>
  4. <html>
  5. <head>
  6. <title>企业荣誉管理</title>
  7. <meta name="decorator" content="default"/>
  8. <style type="text/css">
  9. img{width: 50px;height: 50px;}
  10. </style>
  11. <script type="text/javascript">
  12. var validateForm;
  13. function doSubmit(){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
  14. if(validateForm.form()){
  15. if($("#file_attachment tr").length==0){
  16. top.layer.alert('请上传资质附件!', {icon: 0});
  17. return;
  18. }
  19. $("#inputForm").submit();
  20. return true;
  21. }
  22. return false;
  23. }
  24. $(document).ready(function() {
  25. validateForm = $("#inputForm").validate({
  26. submitHandler: function(form){
  27. loading('正在提交,请稍等...');
  28. form.submit();
  29. },
  30. errorContainer: "#messageBox",
  31. errorPlacement: function(error, element) {
  32. $("#messageBox").text("输入有误,请先更正。");
  33. if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
  34. error.appendTo(element.parent().parent());
  35. } else {
  36. error.insertAfter(element);
  37. }
  38. }
  39. });
  40. laydate.render({
  41. elem: '#issuedDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
  42. event: 'focus' //响应事件。如果没有传入event,则按照默认的click
  43. });
  44. laydate.render({
  45. elem: '#uploadDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
  46. event: 'focus' //响应事件。如果没有传入event,则按照默认的click
  47. });
  48. $("#attachment_btn").click(function () {
  49. if($("#file_attachment tr").length>0){
  50. top.layer.alert('仅可以上传一个附件', {icon: 0});
  51. return;
  52. }
  53. $("#attachment_file").click();
  54. });
  55. });
  56. function insertTitle(tValue){
  57. var list = "${officehonor.workAttachments}";
  58. var size = (list.split('url')).length-1;
  59. var files = $("#attachment_file")[0].files; for(var i = 0;i<files.length;i++) { var file = files[i];
  60. var attachmentId = "";
  61. var attachmentFlag = "110";
  62. console.log(file);
  63. var timestamp=new Date().getTime();
  64. var storeAs = "attachment-file/officehonor/"+timestamp+"/"+file['name'];
  65. var uploadPath="http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/"+storeAs;/*将这段字符串存到数据库即可*/
  66. var divId = "_attachment";
  67. $("#addFile"+divId).show();
  68. multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size);}
  69. }
  70. //------------------上传图片-暂弃----------------------
  71. /*function next_upload_image_button(index){
  72. $("#next_upload_file_"+index).click();
  73. }
  74. function next_upload_show_image(index){
  75. var obj =$("#next_upload_file_"+index)[0].files[0];
  76. var fileType = obj.type;
  77. var url ;
  78. if(fileType.endsWith("png")||fileType.endsWith("bmp")||fileType.endsWith("jpg")||fileType.endsWith("jpeg")||fileType.endsWith("gif")){
  79. url = window.URL.createObjectURL(obj);
  80. }else {
  81. $("#next_upload_msg").css({"color":"red"});
  82. next_close_img(index);
  83. return false ;
  84. }
  85. $("#next_upload_msg").removeAttr("style");
  86. $("#next_upload_image_"+index).attr("src",url);
  87. var length = $("#next_upload_image_div :file").length;
  88. if( index == length && length < 1 ){
  89. next_upload_image_append(index);
  90. next_add_x(index);
  91. }else if(index == length && length ==1){
  92. var span = '<span id="next_upload_close_'+index+'" class="close_ico" style="cursor:pointer; position: absolute;top:-1px;right: -1px; display:inline-block;z-index:1;color: red;" onclick="next_close_img('+index+');">x</span>';
  93. $("#next_upload_image_1").before(span);
  94. }
  95. }
  96. function next_upload_image_append(index){
  97. var div1 = "<div id='next_upload_div_"+(index+1)+"' style='float:left;position:relative;width: 57px;height: 57px;'>";
  98. var img = '<img id="next_upload_image_'+(index+1)+'" class="upload_ico" width="50px" height="50px" onclick="next_upload_image_button('+(index+1)+')" src = "${pageContext.request.contextPath}/static/uploadify/upload_ico.png" style="cursor:pointer;"/>';
  99. var input = '<input id="next_upload_file_'+(index+1)+'" type="file" style="display:none;" name="next_upload_files" onChange="next_upload_show_image('+(index+1)+')" /><br>';
  100. var div2 = "</div>";
  101. $("#next_upload_image_div").append(div1+img+input+div2);
  102. }
  103. function next_close_img(index) {
  104. $("#next_upload_div_"+index).remove();
  105. var length = $("#next_upload_image_div :file").length;
  106. if(length == 0){
  107. next_add_div();
  108. }else if(length == 1){
  109. var x = $("#next_upload_image_div").find("span").text();
  110. if("x" != x){
  111. next_add_div();
  112. }
  113. }
  114. }
  115. function next_add_x(index) {
  116. var span = '<span id="next_upload_close_'+index+'" class="close_ico" style="cursor:pointer; position: absolute;top:-1px;right: -1px; display:inline-block;z-index:1;color: red;" onclick="next_close_img('+index+');">x</span>';
  117. $("#next_upload_image_div").find("img:eq(-2)").before(span);
  118. }
  119. function next_add_div() {
  120. var next_upload_div_1 =
  121. '<div id="next_upload_div_1" style="float: left;position:relative;width: 57px;height: 57px;" >'+
  122. '<img id="next_upload_image_1" class="upload_ico" style="cursor:pointer;" src="${pageContext.request.contextPath}/static/uploadify/upload_ico.png" onclick="next_upload_image_button(1)"/>'+
  123. '<input id="next_upload_file_1" type="file" style="display:none" name="next_upload_files" onchange="next_upload_show_image(1)" /><br>'+
  124. '</div>';
  125. $("#next_upload_image_div").html("").append(next_upload_div_1);
  126. }*/
  127. /*-------------------------------*/
  128. </script>
  129. </head>
  130. <body>
  131. <div class="single-form">
  132. <div class="container view-form">
  133. <form:form id="inputForm" modelAttribute="officehonor" action="${ctx}/officehonor/officehonor/save" method="post" class="form-horizontal"><%--enctype="multipart/form-data"--%>
  134. <form:hidden path="id"/>
  135. <form:hidden path="office.id" value="<%= UserUtils.getSelectOffice().getParent().getId()%>"/>
  136. <sys:message content="${message}"/>
  137. <div class="form-group layui-row first lw8">
  138. <div class="form-group-label"><h2>基础信息</h2></div>
  139. <div class="layui-item layui-col-sm6">
  140. <label class="layui-form-label">公司名称:</label>
  141. <div class="layui-input-block">
  142. <input htmlEscape="false" readonly="true" class="form-control layui-input" value="${officehonor.companyName}"/>
  143. </div>
  144. </div>
  145. <div class="layui-item layui-col-sm6">
  146. <label class="layui-form-label">编号:</label>
  147. <div class="layui-input-block">
  148. <input htmlEscape="false" readonly="true" class="form-control layui-input" value="${officehonor.num}"/>
  149. </div>
  150. </div>
  151. <div class="layui-item layui-col-sm6">
  152. <label class="layui-form-label"><span class="require-item">*</span>荣誉类型:</label>
  153. <div class="layui-input-block">
  154. <input htmlEscape="false" readonly="true" class="form-control layui-input" value="${fns:getDictLabel(officehonor.honorType, 'honor_type','')}"/>
  155. </div>
  156. </div>
  157. <div class="layui-item layui-col-sm6">
  158. <label class="layui-form-label"><span class="require-item">*</span>荣誉名称:</label>
  159. <div class="layui-input-block">
  160. <input htmlEscape="false" readonly="true" class="form-control layui-input" value="${officehonor.name}"/>
  161. </div>
  162. </div>
  163. <div class="layui-item layui-col-sm6">
  164. <label class="layui-form-label">颁发日期:</label>
  165. <div class="layui-input-block">
  166. <input class="laydate-icondate layui-input form-control layer-date laydate-icon" name="issuedDate"
  167. value="<fmt:formatDate value="${officehonor.issuedDate}" pattern="yyyy-MM-dd"/>">
  168. </div>
  169. </div>
  170. <div class="layui-item layui-col-sm6">
  171. <label class="layui-form-label"><span class="require-item">*</span>颁布机构:</label>
  172. <div class="layui-input-block">
  173. <input htmlEscape="false" readonly="true" class="form-control layui-input" value="${officehonor.issuedAgency}"/>
  174. </div>
  175. </div>
  176. <div class="layui-item layui-col-sm6">
  177. <label class="layui-form-label">上传日期:</label>
  178. <div class="layui-input-block">
  179. <input class="laydate-icondate layui-input form-control layer-date laydate-icon" name="uploadDate"
  180. value="<fmt:formatDate value="${officehonor.uploadDate}" pattern="yyyy-MM-dd"/>">
  181. </div>
  182. </div>
  183. <div class="layui-item layui-col-sm12 with-textarea">
  184. <label class="layui-form-label">备注:</label>
  185. <div class="layui-input-block">
  186. <textarea htmlEscape="false" rows="4" readonly="true" class="form-control ">${officehonor.remarks}</textarea>
  187. </div>
  188. </div>
  189. </div>
  190. <div class="form-group layui-row">
  191. <div class="form-group-label"><h2>附件信息</h2></div>
  192. <%--<div class="layui-item nav-btns">
  193. <a id="attachment_btn" class="nav-btn nav-btn-add" title="添加附件"><i class="fa fa-plus"></i>&nbsp;添加附件</a>
  194. </div>--%>
  195. <div id="addFile_attachment" style="display: none" class="upload-progress">
  196. <span id="fileName_attachment" ></span>
  197. <b><span id="baifenbi_attachment" ></span></b>
  198. <div class="progress">
  199. <div id="jindutiao_attachment" class="progress-bar" style="width: 0%" aria-valuenow="0">
  200. </div>
  201. </div>
  202. </div>
  203. <input id="attachment_file" type="file" name="attachment_file" multiple="multiple" style="display: none;" onChange="if(this.value)insertTitle(this.value);"/>
  204. <span id="attachment_title"></span>
  205. <div class="layui-item layui-col-xs12" style="padding:0 16px;">
  206. <table id="upTable" class="table table-bordered table-condensed details">
  207. <thead>
  208. <tr>
  209. <%-- <th>序号</th>--%>
  210. <th>文件预览</th>
  211. <th>上传人</th>
  212. <th>上传时间</th>
  213. <th width="150px">操作</th>
  214. </tr>
  215. </thead>
  216. <tbody id="file_attachment">
  217. <c:forEach items="${officehonor.workAttachments}" var = "workClientAttachment" varStatus="status">
  218. <tr>
  219. <%-- <td>${status.index + 1}</td>--%>
  220. <c:choose>
  221. <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
  222. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
  223. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
  224. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
  225. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
  226. <td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}">
  227. </c:when>
  228. <c:otherwise>
  229. <c:choose>
  230. <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
  231. <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
  232. </c:when>
  233. <c:otherwise>
  234. <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%')">${workClientAttachment.attachmentName}</a></td>
  235. </c:otherwise>
  236. </c:choose>
  237. </c:otherwise>
  238. </c:choose>
  239. <td>${workClientAttachment.createBy.name}</td>
  240. <td><fmt:formatDate value="${workClientAttachment.createDate}" type="both"/></td>
  241. <td class="op-td">
  242. <div class="op-btn-box" >
  243. <a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent(encodeURIComponent('${workClientAttachment.url}'));" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
  244. <%--<c:if test="${workClientAttachment.createBy.id eq fns:getUser().id}">
  245. <a href="javascript:void(0)" onclick="deleteFileFromAliyun(this,'${ctx}/sys/workattachment/deleteFileFromAliyun?url=${workClientAttachment.url}&id=${workClientAttachment.id}&type=2','addFile')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>
  246. </c:if>--%>
  247. </div>
  248. </td>
  249. </tr>
  250. </c:forEach>
  251. </tbody>
  252. </table>
  253. </div>
  254. </div>
  255. <div class="form-group layui-row page-end"></div>
  256. </form:form>
  257. </div>
  258. </div>
  259. </body>
  260. </html>