project_completion_report.html 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <!--#include file="common/_header.html"-->
  5. <style>
  6. .center {
  7. text-align: center !important;
  8. }
  9. </style>
  10. <title>项目完成情况</title>
  11. </head>
  12. <body>
  13. <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页 <span class="c-gray en">&gt;</span> 项目信息 <span
  14. class="c-gray en">&gt;</span> 项目完成情况 <a class="btn btn-success radius r"
  15. style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新"><i
  16. class="Hui-iconfont">&#xe68f;</i></a></nav>
  17. <div class="page-container">
  18. <div class="container mb-10">
  19. <form>
  20. <div class="row mb-10">
  21. <input type="text" class="input-text" style="width: 250px" placeholder="输入项目名称" id="projectName"
  22. name="projectName">
  23. <select class="select-box" style="width: 250px" id="parkId" name="parkId">
  24. <option value="">--选择园区--</option>
  25. </select>
  26. <select class="select-box" style="width: 250px" id="status">
  27. <option value="">--选择阶段--</option>
  28. <option value="1">项目履约转办</option>
  29. <option value="2">项目开工建设</option>
  30. <option value="3">项目建成投产</option>
  31. </select>
  32. <input placeholder="输入开始时间" id="startDate" name="startDate" class="input-text" style="width:100px;"
  33. onfocus="WdatePicker({dateFmt:'yyyy-MM',readOnly:true})" />
  34. <input placeholder="输入结束时间" id="endDate" name="endDate" class="input-text" style="width:100px;"
  35. onfocus="WdatePicker({dateFmt:'yyyy-MM',readOnly:true})" />
  36. <button id="btnSearch" type="submit" class="btn btn-success" id="" name=""><i
  37. class="Hui-iconfont">&#xe665;</i> 查询</button>
  38. <button id="btnReset" type="reset" class="btn btn-default"><i class="Hui-iconfont">&#xe68f;</i>
  39. 重置</button>
  40. </div>
  41. </form>
  42. </div>
  43. <div class="cl pd-5 bg-1 bk-gray" id="hid1">
  44. <span class="l">
  45. <a href="javascript:downloadReport();" class="btn btn-primary radius">导出</a>
  46. </span>
  47. </div>
  48. <table id="projectList" class="table table-border table-bordered table-bg" style="width:100%;">
  49. <thead>
  50. <tr>
  51. <th scope="col" colspan="18">列表</th>
  52. </tr>
  53. <tr class="text-c">
  54. <th width="25"><input type="checkbox" name="" value=""></th>
  55. <th width="40">园区</th>
  56. <th width="150">项目名称</th>
  57. <th width="90">项目签约时间</th>
  58. <th width="150">计划投资</th>
  59. <th width="130">选址位于</th>
  60. <th width="130">用地面积</th>
  61. <th width="130">相关情况</th>
  62. <th width="130">相关乡镇场</th>
  63. <th width="130">项目秘书</th>
  64. <th width="130">包联领导</th>
  65. <th width="130">责任单位</th>
  66. <th width="130">项目方所属管理员</th>
  67. <th width="130">联系电话</th>
  68. <th width="130">当前阶段</th>
  69. <th width="130">履约时间</th>
  70. <th width="130">开工时间</th>
  71. <th width="100">投产时间</th>
  72. </tr>
  73. </thead>
  74. <tbody>
  75. </tbody>
  76. </table>
  77. </div>
  78. <!--#include file="common/_footer.html"-->
  79. <!--请在下方写此页面业务相关的脚本-->
  80. <script type="text/javascript" src="lib/My97DatePicker/4.8/WdatePicker.js"></script>
  81. <script type="text/javascript" src="lib/datatables/1.10.0/jquery.dataTables.min.js"></script>
  82. <script type="text/javascript" src="lib/laypage/1.2/laypage.js"></script>
  83. <script type="text/javascript" src="scripts/global.js"></script>
  84. <script type="text/javascript">
  85. var path = global_backend_url;
  86. var uploadPath = file_upload_url;
  87. $(document).ready(function () {
  88. var loadingIndex = -1;
  89. $('#projectList').dataTable({
  90. ajax: {
  91. url: global_backend_url + "/project/completionReport",
  92. type: 'post',
  93. // 'beforeSend': function (request) {
  94. // request.setRequestHeader("Authorization", sessionStorage.getItem("token"));
  95. // },
  96. dataFilter: function (responseText) {
  97. if (loadingIndex != -1) {
  98. top.layer.close(loadingIndex);
  99. }
  100. var jsonData = JSON.parse(responseText);
  101. // 处理返回json
  102. if (jsonData.result) {
  103. return JSON.stringify(jsonData.data);
  104. }
  105. else {
  106. processError(jsonData);
  107. return null;
  108. }
  109. },
  110. data: function (searchParams) {
  111. // 查询json
  112. searchParams["projectName"] = $("#projectName").val();
  113. searchParams["status"] = $("#status").val();
  114. searchParams["parkId"] = $("#parkId").val();
  115. searchParams["startDate"] = $("#startDate").val();
  116. searchParams["endDate"] = $("#endDate").val();
  117. var status = $("#status").val();
  118. if(status=="1"||status=="2"||status=="3"){
  119. var startDate = $("#startDate").val();
  120. var endDate = $("#endDate").val();
  121. if(startDate==null||startDate==""||endDate==null||endDate==""){
  122. layer.msg("选择阶段后,起止时间不能为空!");
  123. return;
  124. }
  125. }
  126. loadingIndex = top.layer.load(0, { shade: [0.1, '#fff'] });
  127. }
  128. },
  129. serverSide: true,
  130. searching: false,
  131. ordering: false,
  132. columns: [
  133. { "data": "id" },
  134. { "data": "park.title" },
  135. { "data": "title" },
  136. { "data": "startTime" },
  137. { "data": "size" },
  138. { "data": "address" },
  139. { "data": "landScale" },
  140. { "data": "detail" },
  141. { "data": "townshipAdminName" },
  142. { "data": "secretaryAdmin.realName" },
  143. { "data": "leaderAdmin.realName" },
  144. { "data": "unit" },
  145. { "data": "projectAdmin.realName" },
  146. { "data": "projectAdmin.tel" },
  147. { "data": "processName" },
  148. { "data": "timeNode1" },
  149. { "data": "timeNode2" },
  150. { "data": "timeNode3" }
  151. ],
  152. columnDefs: [
  153. {
  154. targets: 0,
  155. sClass: 'center',
  156. bSortable: false,
  157. render: function (data, type, row) {
  158. return '<input type="checkbox" name="checkItems" value="' + data + '">';
  159. }
  160. }
  161. ]
  162. });
  163. $("#checkAll").change(function () {
  164. var checked = $(this).is(':checked');
  165. $("input[name='checkItems']").each(function () {
  166. $(this).attr("checked", checked);
  167. });
  168. });
  169. $("#btnSearch").click(function () {
  170. event.preventDefault();
  171. var table = $('#projectList').DataTable();
  172. table.ajax.reload();
  173. });
  174. getParkList("");
  175. });
  176. function getParkList(parkId) {
  177. $.post(path + "/park/allList", function (json) {
  178. if (json.result) {
  179. $.each(json.data, function (index, obj) {
  180. if (parkId != "") {
  181. if (obj.parkId == parkId) {
  182. $("#parkId").append("<option value='" + obj.parkId + "' selected>" + obj.title + "</option>")
  183. } else {
  184. $("#parkId").append("<option value='" + obj.parkId + "'>" + obj.title + "</option>")
  185. }
  186. }
  187. else {
  188. $("#parkId").append("<option value='" + obj.parkId + "'>" + obj.title + "</option>")
  189. }
  190. })
  191. }
  192. else {
  193. layer.msg(json.message);
  194. }
  195. }, "json")
  196. }
  197. function downloadReport() {
  198. loadingIndex = top.layer.load(0, { shade: [0.1, '#fff'] });
  199. var projectName = $("#projectName").val();
  200. var status = $("#status").val();
  201. var parkId = $("#parkId").val();
  202. var startDate = $("#startDate").val();
  203. var endDate = $("#endDate").val();
  204. $.post(path + "/project/exportCompletionXls", { projectName: projectName, status: status, parkId: parkId, startDate: startDate, endDate: endDate }, function (json) {
  205. if (json.result) {
  206. if (loadingIndex != -1) {
  207. top.layer.close(loadingIndex);
  208. }
  209. window.open(uploadPath + json.data);
  210. }
  211. else {
  212. layer.msg(json.message);
  213. }
  214. }, "json")
  215. }
  216. </script>
  217. </body>
  218. </html>