officequalifyView.jsp 16 KB

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