workBidProjectkbAudit.jsp 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705
  1. <%@ page contentType="text/html;charset=UTF-8" %>
  2. <%@ include file="/webpage/include/taglib.jsp"%>
  3. <html>
  4. <head>
  5. <title>投标项目管理</title>
  6. <meta name="decorator" content="default"/>
  7. <script type="text/javascript">
  8. var validateForm;
  9. function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
  10. $('#flag').val('yes');
  11. if(validateForm.form()){
  12. if($("#file_attachment_4 tr").length==0){
  13. top.layer.alert('请上传开标附件!', {icon: 0});
  14. return;
  15. }
  16. $("#inputForm").submit();
  17. return true;
  18. }
  19. return false;
  20. }
  21. $(document).ready(function() {
  22. validateForm = $("#inputForm").validate({
  23. submitHandler: function(form){
  24. loading('正在提交,请稍等...');
  25. form.submit();
  26. },
  27. errorContainer: "#messageBox",
  28. errorPlacement: function(error, element) {
  29. $("#messageBox").text("输入有误,请先更正。");
  30. if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
  31. error.appendTo(element.parent().parent());
  32. } else {
  33. error.insertAfter(element);
  34. }
  35. }
  36. });
  37. laydate.render({
  38. elem: '#registrationDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
  39. event: 'focus' //响应事件。如果没有传入event,则按照默认的click
  40. });
  41. laydate.render({
  42. elem: '#bidDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
  43. event: 'focus' //响应事件。如果没有传入event,则按照默认的click
  44. });
  45. laydate.render({
  46. elem: '#trialDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
  47. event: 'focus' //响应事件。如果没有传入event,则按照默认的click
  48. });
  49. laydate.render({
  50. elem: '#purchaseDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
  51. event: 'focus' //响应事件。如果没有传入event,则按照默认的click
  52. });
  53. laydate.render({
  54. elem: '#refundDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
  55. event: 'focus' //响应事件。如果没有传入event,则按照默认的click
  56. });
  57. laydate.render({
  58. elem: '#giveDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
  59. event: 'focus' //响应事件。如果没有传入event,则按照默认的click
  60. });
  61. $("#attachment_btn").click(function () {
  62. $("#attachment_file").click();
  63. });
  64. $("#attachment_2_btn").click(function () {
  65. $("#attachment_2_file").click();
  66. });
  67. $("#attachment_3_btn").click(function () {
  68. $("#attachment_3_file").click();
  69. });
  70. $("#attachment_4_btn").click(function () {
  71. $("#attachment_4_file").click();
  72. });
  73. /*var isExt = "${workBidProject.isExt}";
  74. if(isExt==0){
  75. $("#contact").show();
  76. $("#btnAdd1").hide();
  77. //$("#btnAdd2").show();
  78. $("#extContact").hide();
  79. }else{
  80. $("#extContact").show();
  81. $("#btnAdd1").show();
  82. //$("#btnAdd2").hide();
  83. $("#contact").hide();
  84. }*/
  85. });
  86. function insertTitle(tValue){
  87. var list = "${workBidProject.workAttachments}";
  88. var size = (list.split('url')).length-1;
  89. var files = $("#attachment_file")[0].files; for(var i = 0;i<files.length;i++) { var file = files[i];
  90. var attachmentId = "";
  91. var attachmentFlag = "95";
  92. console.log(file);
  93. var timestamp=new Date().getTime();
  94. var storeAs = "attachment-file/workBidProject/"+timestamp+"/"+file['name'];
  95. var uploadPath="http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/"+storeAs;/*将这段字符串存到数据库即可*/
  96. var divId = "_attachment";
  97. $("#addFile"+divId).show();
  98. multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size);}
  99. }
  100. function insertTitle2(tValue){
  101. var list = "${workBidProject.workAttachmentsprice}";
  102. var size = (list.split('url')).length-1;
  103. var files = $("#attachment_2_file")[0].files; for(var i = 0;i<files.length;i++) { var file = files[i];
  104. var attachmentId = "";
  105. var attachmentFlag = "96";
  106. console.log(file);
  107. var timestamp=new Date().getTime();
  108. var storeAs = "attachment-file/workBidProject/"+timestamp+"/"+file['name'];
  109. var uploadPath="http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/"+storeAs;/*将这段字符串存到数据库即可*/
  110. var divId = "_attachment_2";
  111. $("#addFile"+divId).show();
  112. multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size);}
  113. }
  114. function insertTitle3(tValue){
  115. var list = "${workBidProject.workAttachmentsbid}";
  116. var size = (list.split('url')).length-1;
  117. var files = $("#attachment_3_file")[0].files; for(var i = 0;i<files.length;i++) { var file = files[i];
  118. var attachmentId = "";
  119. var attachmentFlag = "97";
  120. console.log(file);
  121. var timestamp=new Date().getTime();
  122. var storeAs = "attachment-file/workBidProject/"+timestamp+"/"+file['name'];
  123. var uploadPath="http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/"+storeAs;/*将这段字符串存到数据库即可*/
  124. var divId = "_attachment_3";
  125. $("#addFile"+divId).show();
  126. multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size);}
  127. }
  128. function insertTitle4(tValue){
  129. var list = "${workBidProject.workAttachmentsopenbid}";
  130. var size = (list.split('url')).length-1;
  131. var files = $("#attachment_4_file")[0].files; for(var i = 0;i<files.length;i++) { var file = files[i];
  132. var attachmentId = "";
  133. var attachmentFlag = "98";
  134. console.log(file);
  135. var timestamp=new Date().getTime();
  136. var storeAs = "attachment-file/workBidProject/"+timestamp+"/"+file['name'];
  137. var uploadPath="http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/"+storeAs;/*将这段字符串存到数据库即可*/
  138. var divId = "_attachment_4";
  139. $("#addFile"+divId).show();
  140. multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size);}
  141. }
  142. /*function addRow(list, idx, workClientLinkmanTpl, row) {
  143. $(list).append(Mustache.render(workClientLinkmanTpl, {
  144. idx: idx, delBtn: true, row: row
  145. }));
  146. $(list + idx).find("select").each(function () {
  147. $(this).val($(this).attr("data-value"));
  148. });
  149. $(list + idx).find("input[type='checkbox'], input[type='radio']").each(function () {
  150. var ss = $(this).attr("data-value").split(',');
  151. for (var i = 0; i < ss.length; i++) {
  152. if ($(this).val() == ss[i]) {
  153. $(this).attr("checked", "checked");
  154. }
  155. }
  156. });
  157. }*/
  158. function delRow(obj, prefix){
  159. var id = $(prefix+"_id");
  160. var delFlag = $(prefix+"_delFlag");
  161. if (id.val() == ""){
  162. $(obj).parent().parent().remove();
  163. }else if(delFlag.val() == "0"){
  164. delFlag.val("1");
  165. $(obj).parent().parent().hide();
  166. $(obj).html("&divide;").attr("title", "撤回删除");
  167. $(obj).parent().parent().addClass("error");
  168. }else if(delFlag.val() == "1"){
  169. delFlag.val("0");
  170. $(obj).html("&times;").attr("title", "删除");
  171. $(obj).parent().parent().removeClass("error");
  172. }
  173. }
  174. </script>
  175. </head>
  176. <body>
  177. <div class="single-form">
  178. <div class="container">
  179. <form:form id="inputForm" modelAttribute="workBidProject" action="${ctx}/workbidproject/workBidProject/saveAudit" method="post" class="form-horizontal">
  180. <form:hidden path="id"/>
  181. <form:hidden path="home"/>
  182. <form:hidden path="act.taskId"/>
  183. <form:hidden path="act.taskName"/>
  184. <form:hidden path="act.taskDefKey"/>
  185. <form:hidden path="act.procInsId"/>
  186. <form:hidden path="act.procDefId"/>
  187. <form:hidden id="flag" path="act.flag"/>
  188. <div class="form-group layui-row first lw16">
  189. <div class="form-group-label"><h2>基础信息</h2></div>
  190. <div class="layui-item layui-col-sm6">
  191. <label class="layui-form-label"><span class="require-item">*</span>投标名称:</label>
  192. <div class="layui-input-block">
  193. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${workBidProject.projectName}"/>
  194. </div>
  195. </div>
  196. <div class="layui-item layui-col-sm6">
  197. <label class="layui-form-label">投标编号:</label>
  198. <div class="layui-input-block">
  199. <div class="input-group">
  200. <input path="projectNumber" htmlEscape="false" readonly="true" class="form-control layui-input" value="${workBidProject.projectNumber}"/>
  201. <span class="input-group-btn">
  202. <label class="form-status"><c:choose><c:when test="${not empty workBidProject.status}">${fns:getDictLabel(workBidProject.status, 'audit_state', '')}</c:when><c:otherwise>新添</c:otherwise></c:choose></label>
  203. </span>
  204. </div>
  205. </div>
  206. </div>
  207. <div class="layui-item layui-col-sm6">
  208. <label class="layui-form-label"><span class="require-item">*</span>工程分类:</label>
  209. <div class="layui-input-block">
  210. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${fns:getMainDictLabel(workBidProject.projectType, 'contract_type', '')}"/>
  211. </div>
  212. </div>
  213. <div class="layui-item layui-col-sm6">
  214. <label class="layui-form-label">类型说明:</label>
  215. <div class="layui-input-block">
  216. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${workBidProject.typeExplain}"/>
  217. </div>
  218. </div>
  219. <div class="layui-item layui-col-sm6">
  220. <label class="layui-form-label">项目来源:</label>
  221. <div class="layui-input-block">
  222. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${fns:getMainDictLabel(workBidProject.projectSource, 'bidProjectSource', '')}"/>
  223. </div>
  224. </div>
  225. <div class="layui-item layui-col-sm6">
  226. <label class="layui-form-label">来源说明:</label>
  227. <div class="layui-input-block">
  228. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${workBidProject.sourceExplain}"/>
  229. </div>
  230. </div>
  231. <div class="layui-item layui-col-sm6">
  232. <label class="layui-form-label">项目规模:</label>
  233. <div class="layui-input-block">
  234. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${workBidProject.projectScale}"/>
  235. </div>
  236. </div>
  237. <div class="layui-item layui-col-sm6">
  238. <label class="layui-form-label">规模类型:</label>
  239. <div class="layui-input-block">
  240. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${fns:getMainDictLabel(workBidProject.scaleType, 'scale_type', '')}"/>
  241. </div>
  242. </div>
  243. <div class="layui-item layui-col-sm6">
  244. <label class="layui-form-label">规模单位:</label>
  245. <div class="layui-input-block">
  246. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${fns:getMainDictLabel(workBidProject.scaleUnit, 'scale_unit', '')}"/>
  247. </div>
  248. </div>
  249. <div class="layui-item layui-col-sm6">
  250. <label class="layui-form-label">投资额(万元):</label>
  251. <div class="layui-input-block">
  252. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="<fmt:formatNumber value="${workBidProject.investMoney}" pattern="#,#00.00"/>"/>
  253. </div>
  254. </div>
  255. <div class="layui-item layui-col-sm6">
  256. <label class="layui-form-label">是否外部招标单位:</label>
  257. <div class="layui-input-block">
  258. <c:choose>
  259. <c:when test="${workBidProject.isExt == '1'}">
  260. <input htmlEscape="false" readonly="true" class="form-control layui-input" value="系统外招标单位" />
  261. </c:when>
  262. <c:otherwise>
  263. <input htmlEscape="false" readonly="true" class="form-control layui-input" value="系统内招标单位" />
  264. </c:otherwise>
  265. </c:choose>
  266. </div>
  267. </div>
  268. <div class="layui-item layui-col-sm6">
  269. <label class="layui-form-label"><span class="require-item">*</span>招标单位:</label>
  270. <div class="layui-input-block with-icon">
  271. <c:choose>
  272. <c:when test="${workBidProject.isExt == '1'}">
  273. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${workBidProject.extCompany}"/>
  274. </c:when>
  275. <c:otherwise>
  276. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${workBidProject.bidCompany.name}"/>
  277. </c:otherwise>
  278. </c:choose>
  279. </div>
  280. </div>
  281. <div class="layui-item layui-col-sm6">
  282. <label class="layui-form-label">招标编号:</label>
  283. <div class="layui-input-block">
  284. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${workBidProject.bidNumber}"/>
  285. </div>
  286. </div>
  287. <div class="layui-item layui-col-sm6">
  288. <label class="layui-form-label">所属部门:</label>
  289. <div class="layui-input-block">
  290. <input htmlEscape="false" readonly="true" class="form-control layui-input" value="${workBidProject.officeName}"/>
  291. </div>
  292. </div>
  293. </div>
  294. <div class="form-group layui-row">
  295. <div class="form-group-label"><h2>联系人</h2></div>
  296. <div class="layui-item layui-col-xs12 form-table-container" >
  297. <table id="contentTable2" class="table table-bordered table-condensed details no-bottom-margin">
  298. <thead>
  299. <tr>
  300. <th width="18%"><span class="require-item">*</span>联系人姓名</th>
  301. <th width="13%">部门</th>
  302. <th width="13%">职务</th>
  303. <th width="13%">QQ</th>
  304. <th width="16%"><span class="require-item">*</span>联系方式1</th>
  305. <th width="16%">联系方式2</th>
  306. <th width="13%">E-mail</th>
  307. </tr>
  308. </thead>
  309. <tbody id="workClientLinkmanList">
  310. <c:forEach items="${workBidProject.workClientLinkmanList}" var="workClientLinkman" varStatus="status">
  311. <tr>
  312. <td>${workClientLinkman.name}</td>
  313. <td>${workClientLinkman.office}</td>
  314. <td>${workClientLinkman.position}</td>
  315. <td>${workClientLinkman.qq}</td>
  316. <td>${workClientLinkman.linkPhone}</td>
  317. <td>${workClientLinkman.linkMobile}</td>
  318. <td>${workClientLinkman.email}</td>
  319. </tr>
  320. </c:forEach>
  321. <c:if test="${empty workBidProject.workClientLinkmanList}">
  322. <tr>
  323. <td colspan="8">暂无数据</td>
  324. </tr>
  325. </c:if>
  326. </tbody>
  327. </table>
  328. </div>
  329. </div>
  330. <div class="form-group layui-row">
  331. <div class="form-group-label"><h2>招标代理机构</h2></div>
  332. <div class="layui-item layui-col-xs12 form-table-container" >
  333. <table id="contentTable3" class="table table-bordered table-condensed details no-bottom-margin">
  334. <thead>
  335. <tr>
  336. <th width="20%"><span class="require-item">*</span>机构名称</th>
  337. <th width="20%">姓名</th>
  338. <th width="20%"><span class="require-item">*</span>联系人电话</th>
  339. <th width="20%">QQ</th>
  340. <th width="22%">E-mail</th>
  341. </tr>
  342. </thead>
  343. <tbody id="workClientLinkmanLists">
  344. <c:forEach items="${workBidProject.workClientLinkmanLists}" var="workClientLinkman" varStatus="status">
  345. <tr>
  346. <td>${workClientLinkman.office}</td>
  347. <td>${workClientLinkman.name}</td>
  348. <td>${workClientLinkman.linkPhone}</td>
  349. <td>${workClientLinkman.qq}</td>
  350. <td>${workClientLinkman.email}</td>
  351. </tr>
  352. </c:forEach>
  353. <c:if test="${empty workBidProject.workClientLinkmanList}">
  354. <tr>
  355. <td colspan="8">暂无数据</td>
  356. </tr>
  357. </c:if>
  358. </tbody>
  359. </table>
  360. </div>
  361. </div>
  362. <div class="form-group layui-row lw16">
  363. <div class="form-group-label"><h2>投标详情</h2></div>
  364. <div class="layui-item layui-col-sm6">
  365. <label class="layui-form-label">报名日期:</label>
  366. <div class="layui-input-block">
  367. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="<fmt:formatDate value="${workBidProject.registrationDate}" pattern="yyyy-MM-dd"/>"/>
  368. </div>
  369. </div>
  370. <div class="layui-item layui-col-sm6">
  371. <label class="layui-form-label"><span class="require-item">*</span>投标日期:</label>
  372. <div class="layui-input-block">
  373. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="<fmt:formatDate value="${workBidProject.bidDate}" pattern="yyyy-MM-dd"/>"/>
  374. </div>
  375. </div>
  376. <div class="layui-item layui-col-sm6">
  377. <label class="layui-form-label">资审日期:</label>
  378. <div class="layui-input-block">
  379. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="<fmt:formatDate value="${workBidProject.trialDate}" pattern="yyyy-MM-dd"/>"/>
  380. </div>
  381. </div>
  382. <div class="layui-item layui-col-sm6">
  383. <label class="layui-form-label">资格审查:</label>
  384. <div class="layui-input-block">
  385. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${fns:getDictLabel(workBidProject.trialType, 'trial_type', '')}"/>
  386. </div>
  387. </div>
  388. <div class="layui-item layui-col-sm6">
  389. <label class="layui-form-label">文件费用(元):</label>
  390. <div class="layui-input-block">
  391. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="<fmt:formatNumber value="${workBidProject.documentCost}" pattern="#,#00.00"/>"/>
  392. </div>
  393. </div>
  394. <div class="layui-item layui-col-sm6">
  395. <label class="layui-form-label">投标保证金(元):</label>
  396. <div class="layui-input-block">
  397. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="<fmt:formatNumber value="${workBidProject.bidBond}" pattern="#,#00.00"/>"/>
  398. </div>
  399. </div>
  400. <div class="layui-item layui-col-sm6">
  401. <label class="layui-form-label">投标保证金形式:</label>
  402. <div class="layui-input-block">
  403. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${fns:getMainDictLabel(workBidProject.bondStyle, 'bond_style', '')}"/>
  404. </div>
  405. </div>
  406. <div class="layui-item layui-col-sm6">
  407. <label class="layui-form-label">投标保证金交付时间:</label>
  408. <div class="layui-input-block with-icon">
  409. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="<fmt:formatDate value="${workBidProject.giveDate}" pattern="yyyy-MM-dd"/>"/>
  410. </div>
  411. </div>
  412. <div class="layui-item layui-col-sm6">
  413. <label class="layui-form-label">投标保证金退还时间:</label>
  414. <div class="layui-input-block">
  415. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="<fmt:formatDate value="${workBidProject.refundDate}" pattern="yyyy-MM-dd"/>"/>
  416. </div>
  417. </div>
  418. <div class="layui-item layui-col-sm6">
  419. <label class="layui-form-label">项目协作部门:</label>
  420. <div class="layui-input-block with-icon">
  421. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${workBidProject.office.name}"/>
  422. </div>
  423. </div>
  424. <div class="layui-item layui-col-sm6">
  425. <label class="layui-form-label">是否联合体投标:</label>
  426. <div class="layui-input-block">
  427. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${fns:getDictLabel(workBidProject.isBid, 'is_bid', '')}"/>
  428. </div>
  429. </div>
  430. <div class="layui-item layui-col-sm6">
  431. <label class="layui-form-label">业务类型:</label>
  432. <div class="layui-input-block">
  433. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${fns:getMainDictLabel(workBidProject.businessType, 'business_type', '')}"/>
  434. </div>
  435. </div>
  436. <div class="layui-item layui-col-sm12">
  437. <label class="layui-form-label">对外协作单位:</label>
  438. <div class="layui-input-block">
  439. <input htmlEscape="false" readonly="true" class="form-control required layui-input" value="${workBidProject.subcontractCompany}"/>
  440. </div>
  441. </div>
  442. <div class="layui-item layui-col-sm12 with-textarea">
  443. <label class="layui-form-label"><span class="require-item">*</span>项目概况:</label>
  444. <div class="layui-input-block">
  445. <textarea htmlEscape="false" rows="4" readonly="true" class="form-control ">${workBidProject.projectSituation}</textarea>
  446. </div>
  447. </div>
  448. <div class="layui-item layui-col-sm12 with-textarea">
  449. <label class="layui-form-label">服务内容:</label>
  450. <div class="layui-input-block">
  451. <textarea htmlEscape="false" rows="4" readonly="true" class="form-control ">${workBidProject.serviceContent}</textarea>
  452. </div>
  453. </div>
  454. <div class="layui-item layui-col-sm12 with-textarea">
  455. <label class="layui-form-label">备注信息:</label>
  456. <div class="layui-input-block">
  457. <textarea htmlEscape="false" rows="4" readonly="true" class="form-control ">${workBidProject.remarks}</textarea>
  458. </div>
  459. </div>
  460. </div>
  461. <div class="form-group layui-row">
  462. <div class="form-group-label"><h2>投标附件信息</h2></div>
  463. <div class="layui-item layui-col-xs12" style="padding:0 16px;">
  464. <table id="upTable" class="table table-bordered table-condensed details">
  465. <thead>
  466. <tr>
  467. <th>文件预览</th>
  468. <th>上传人</th>
  469. <th>上传时间</th>
  470. <th width="150px">操作</th>
  471. </tr>
  472. </thead>
  473. <tbody id="file_attachment">
  474. <c:forEach items="${workBidProject.workAttachments}" var = "workClientAttachment" varStatus="status">
  475. <tr>
  476. <%-- <td>${status.index + 1}</td>--%>
  477. <c:choose>
  478. <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
  479. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
  480. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
  481. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
  482. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
  483. <td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}"></td>
  484. </c:when>
  485. <c:otherwise>
  486. <c:choose>
  487. <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
  488. <td><a href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
  489. </c:when>
  490. <c:otherwise>
  491. <td><a href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%')">${workClientAttachment.attachmentName}</a></td>
  492. </c:otherwise>
  493. </c:choose>
  494. </c:otherwise>
  495. </c:choose>
  496. <td>${workClientAttachment.createBy.name}</td>
  497. <td><fmt:formatDate value="${workClientAttachment.createDate}" type="both"/></td>
  498. <td class="op-td">
  499. <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>
  500. </td>
  501. </tr>
  502. </c:forEach>
  503. </tbody>
  504. </table>
  505. </div>
  506. </div>
  507. <div class="form-group layui-row">
  508. <div class="form-group-label"><h2>价格附件信息</h2></div>
  509. <div class="layui-item layui-col-xs12" style="padding:0 16px;">
  510. <table id="upTable2" class="table table-bordered table-condensed details">
  511. <thead>
  512. <tr>
  513. <%-- <th>序号</th>--%>
  514. <th>文件名称</th>
  515. <th>上传人</th>
  516. <th>上传时间</th>
  517. <th width="150px">操作</th>
  518. </tr>
  519. </thead>
  520. <tbody id="file_attachment_2">
  521. <c:forEach items="${workBidProject.workAttachmentsprice}" var = "workClientAttachment" varStatus="status">
  522. <tr>
  523. <c:choose>
  524. <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
  525. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
  526. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
  527. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
  528. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
  529. <td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}"></td>
  530. </c:when>
  531. <c:otherwise>
  532. <c:choose>
  533. <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
  534. <td><a href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
  535. </c:when>
  536. <c:otherwise>
  537. <td><a href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%')">${workClientAttachment.attachmentName}</a></td>
  538. </c:otherwise>
  539. </c:choose>
  540. </c:otherwise>
  541. </c:choose>
  542. <td>${workClientAttachment.createBy.name}</td>
  543. <td><fmt:formatDate value="${workClientAttachment.createDate}" type="both"/></td>
  544. <td class="op-td">
  545. <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>
  546. </td>
  547. </tr>
  548. </c:forEach>
  549. </tbody>
  550. </table>
  551. </div>
  552. </div>
  553. <div class="form-group layui-row">
  554. <div class="form-group-label"><h2>招投标附件信息</h2></div>
  555. <div class="layui-item layui-col-xs12" style="padding:0 16px;">
  556. <table id="upTable3" class="table table-bordered table-condensed details">
  557. <thead>
  558. <tr>
  559. <%-- <th>序号</th>--%>
  560. <th>文件名称</th>
  561. <th>上传人</th>
  562. <th>上传时间</th>
  563. <th width="150px">操作</th>
  564. </tr>
  565. </thead>
  566. <tbody id="file_attachment_3">
  567. <c:forEach items="${workBidProject.workAttachmentsbid}" var = "workClientAttachment" varStatus="status">
  568. <tr>
  569. <%-- <td>${status.index + 1}</td>--%>
  570. <c:choose>
  571. <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
  572. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
  573. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
  574. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
  575. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
  576. <td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}"></td>
  577. </c:when>
  578. <c:otherwise>
  579. <c:choose>
  580. <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
  581. <td><a href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
  582. </c:when>
  583. <c:otherwise>
  584. <td><a href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%')">${workClientAttachment.attachmentName}</a></td>
  585. </c:otherwise>
  586. </c:choose>
  587. </c:otherwise>
  588. </c:choose>
  589. <td>${workClientAttachment.createBy.name}</td>
  590. <td><fmt:formatDate value="${workClientAttachment.createDate}" type="both"/></td>
  591. <td class="op-td">
  592. <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>
  593. </td>
  594. </tr>
  595. </c:forEach>
  596. </tbody>
  597. </table>
  598. </div>
  599. </div>
  600. <div class="form-group layui-row">
  601. <div class="form-group-label"><h2>开标附件信息</h2></div>
  602. <div class="layui-item nav-btns">
  603. <a id="attachment_4_btn" class="nav-btn nav-btn-add" title="添加附件"><i class="fa fa-plus"></i>&nbsp;添加附件</a>
  604. </div>
  605. <div id="addFile_attachment_4" style="display: none" class="upload-progress">
  606. <span id="fileName_attachment_4" ></span>
  607. <b><span id="baifenbi_attachment_4" ></span></b>
  608. <div class="progress">
  609. <div id="jindutiao_attachment_4" class="progress-bar" style="width: 0%" aria-valuenow="0">
  610. </div>
  611. </div>
  612. </div>
  613. <input id="attachment_4_file" type="file" name="attachment_file4" multiple="multiple" style="display: none;" onChange="if(this.value)insertTitle4(this.value);"/>
  614. <span id="attachment_title_4"></span>
  615. <div class="layui-item layui-col-xs12" style="padding:0 16px;">
  616. <table id="upTable4" class="table table-bordered table-condensed details">
  617. <thead>
  618. <tr>
  619. <%-- <th>序号</th>--%>
  620. <th>文件名称</th>
  621. <th>上传人</th>
  622. <th>上传时间</th>
  623. <th width="150px">操作</th>
  624. </tr>
  625. </thead>
  626. <tbody id="file_attachment_4">
  627. <c:forEach items="${workBidProject.workAttachmentsopenbid}" var = "workClientAttachment" varStatus="status">
  628. <tr>
  629. <%-- <td>${status.index + 1}</td>--%>
  630. <c:choose>
  631. <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
  632. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
  633. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
  634. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
  635. or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
  636. <td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}"></td>
  637. </c:when>
  638. <c:otherwise>
  639. <c:choose>
  640. <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
  641. <td><a href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
  642. </c:when>
  643. <c:otherwise>
  644. <td><a href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%')">${workClientAttachment.attachmentName}</a></td>
  645. </c:otherwise>
  646. </c:choose>
  647. </c:otherwise>
  648. </c:choose>
  649. <td>${workClientAttachment.createBy.name}</td>
  650. <td><fmt:formatDate value="${workClientAttachment.createDate}" type="both"/></td>
  651. <td class="op-td">
  652. <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>
  653. <c:if test="${workClientAttachment.createBy.id eq fns:getUser().id}">
  654. <a href="javascript:void(0)" onclick="deleteFileFromAliyun(this,'${ctx}/sys/workattachment/deleteFileFromAliyun?url=${workClientAttachment.url}&id=${workClientAttachment.id}&type=2','addFile_attachment','_attachment_4')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>
  655. </c:if>
  656. </td>
  657. </tr>
  658. </c:forEach>
  659. </tbody>
  660. </table>
  661. </div>
  662. </div>
  663. <div class="form-group layui-row">
  664. <div class="form-group-label"><h2>审批意见</h2></div>
  665. <div class="layui-item layui-col-sm12 with-textarea">
  666. <label class="layui-form-label">审批意见:</label>
  667. <div class="layui-input-block">
  668. <form:textarea path="act.comment" class="form-control" rows="4" maxlength="127" />
  669. <input type="file" name="upload_files" style="display: none;">
  670. </div>
  671. </div>
  672. </div>
  673. <div class="form-group layui-row">
  674. <div class="form-group-label"><h2>审批流程</h2></div>
  675. <div class="layui-item layui-col-xs12 form-table-container" >
  676. <act:flowChart procInsId="${workBidProject.act.procInsId}"/>
  677. <act:histoicFlow procInsId="${workBidProject.act.procInsId}"/>
  678. </div>
  679. </div>
  680. <div class="form-group layui-row page-end"></div>
  681. </form:form>
  682. </div>
  683. </div>
  684. </body>
  685. </html>