r-project-section-files.html 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483
  1. <!DOCTYPE html>
  2. <html lang=zh-cn>
  3. <head>
  4. <meta charset=utf-8>
  5. <title>纵横计量支付系统</title>
  6. <meta name=description content=计量支付>
  7. <meta name=copyright content=smartcost.com.cn>
  8. <link rel=stylesheet href={{rootUrl}}global/css/fixedheadertable.css>
  9. <link rel=stylesheet href="{{rootUrl}}global/css/bootstrap.css">
  10. <link rel=stylesheet href="{{rootUrl}}global/css/style.css">
  11. <script src="{{rootUrl}}global/js/jquery-1.9.1.min.js"></script>
  12. <script src="{{rootUrl}}global/js/bootstrap.js"></script>
  13. <script src="{{rootUrl}}global/js/jl.js"></script>
  14. <script src={{rootUrl}}global/js/jquery.fixedheadertable.js></script>
  15. </head>
  16. <body>
  17. <!-- include "top" -->
  18. <div class="wrapContent">
  19. <!-- include "left" -->
  20. <div class="mainContainer">
  21. <!--内容-->
  22. <div class="mainContent">
  23. <div class="title clearfix">
  24. <ul class="nav nav-pills">
  25. <li class="dropdown"><a title="返回" href="{{rootUrl}}rproject/{{currproArray.pid}}/section"><span
  26. class="closePanel" aria-hidden="true" data-icon="Z"></span></a></li>
  27. <li class="dropdown">
  28. <a href="{{rootUrl}}rproject/{{currproArray.pid}}/section" data-toggle="dropdown" class="dropdown-toggle">
  29. {{currproArray.pname}}<b class="caret"></b>
  30. </a>
  31. <ul class="dropdown-menu">
  32. <!-- loop allproArray -->
  33. <li><a href="{{rootUrl}}rproject/{{allproArray' value.pid}}/section">{{allproArray' value.pname}}</a></li>
  34. <!-- endloop -->
  35. </ul>
  36. </li>
  37. <li class="dropdown">
  38. <a href="{{rootUrl}}rproject/{{currproArray.pid}}/section" data-toggle="dropdown"
  39. class="dropdown-toggle">
  40. {{currconArray.stname}}<b class="caret"></b>
  41. </a>
  42. <ul class="dropdown-menu">
  43. <!-- loop allconArray -->
  44. <li><a href="{{rootUrl}}rproject/{{currproArray.pid}}/section">{{allconArray' value.stname}}</a></li>
  45. <!-- endloop -->
  46. </ul>
  47. </li>
  48. <li class="dropdown">
  49. <a href="{{rootUrl}}rproject/{{currproArray.pid}}/section" data-toggle="dropdown"
  50. class="dropdown-toggle">
  51. {{curractmeasureArray.pmname}}<b class="caret"></b>
  52. </a>
  53. <ul class="dropdown-menu">
  54. <!-- loop allactmeasureArray -->
  55. <li>
  56. <a href="{{rootUrl}}rproject/{{currproArray.pid}}/section/{{allactmeasureArray' value.pmid}}/files">{{allactmeasureArray' value.pmname}}</a></li>
  57. <!-- endloop -->
  58. <!-- <li class="divider"></li>
  59. <li><a href="#">共18标段,查看更多</a></li>-->
  60. </ul>
  61. </li>
  62. </ul>
  63. </div>
  64. <!--导航-->
  65. <ul class="nav nav-tabs">
  66. <li>
  67. <a href="{{rootUrl}}rproject/{{pid}}/section/{{pmid}}/detail">标段概况</a>
  68. </li>
  69. <li class="active"><a href="{{rootUrl}}rproject/{{pid}}/section/{{pmid}}/files">附件</a></li>
  70. <!-- if {{imediateSwitch}} == 1 --><li><a href="{{rootUrl}}rproject/{{pid}}/section/{{pmid}}/intermediate">中间计量草图</a></li><!-- endif -->
  71. <!-- if {{mpid}}>0 -->
  72. <li>
  73. <a href="{{rootUrl}}rproject/{{pid}}/section/{{pmid}}/report/{{mpid}}">审批</a>
  74. </li>
  75. <!-- endif -->
  76. </ul>
  77. <!--导航-->
  78. <!--筛选工具-->
  79. <br>
  80. <div class="clearfix">
  81. <form class="row">
  82. <div class="col-sm-2">
  83. <select class="form-control" id="numpname" class="span2">
  84. <option value="0">不限期数</option>
  85. <!-- loop groupArray -->
  86. <option <!-- if {{num}} == {{groupArray' value.numpname}} --> selected <!-- endif -->
  87. value="{{groupArray' value.numpname}}">第{{ToChinaseNum(groupArray' value.numpname)}}期
  88. </option>
  89. <!-- endloop -->
  90. </select>
  91. </div>
  92. <div class="col-sm-2">
  93. <select class="form-control" id="uploaduser" class="span2">
  94. <option value="0">上传者</option>
  95. <!-- loop owneridArray -->
  96. <option <!-- if {{userid}} == {{owneridArray' value.ownerid}} --> selected <!-- endif -->
  97. value="{{owneridArray' value.ownerid}}">{{owneridArray' value.name}}</option>
  98. <!-- endloop -->
  99. </select>
  100. </div>
  101. <a href="/rproject/{{pid}}/section/{{pmid}}/files/recover" class="fR">附件回收站</a>
  102. </form>
  103. </div>
  104. <!--筛选工具-->
  105. <!--文件管理-->
  106. <div class="filesWrap">
  107. <div class="filesList">
  108. <table class="table table-striped table-hover">
  109. <thead>
  110. <tr>
  111. <th width="">文件名</th>
  112. <th width="">期</th>
  113. <!--<th width="">节点</th>-->
  114. <th width="">上传者</th>
  115. <th width="">上传时间</th>
  116. <th width="40">操作</th>
  117. </tr>
  118. </thead>
  119. <tbody>
  120. <!-- loop itemMeasureArray -->
  121. <tr id="tr_{{itemMeasureArray' value.imnid}}">
  122. <td width=""><span class="fileico ico-jpg"></span><a
  123. fileext="{{itemMeasureArray' value.fileext}}"
  124. imnid="{{itemMeasureArray' value.imnid}}"
  125. iaid="{{itemMeasureArray' value.iaid}}"
  126. filename="{{itemMeasureArray' value.filename}}"
  127. realname="{{itemMeasureArray' value.realname}}"
  128. intime="{{formatDate(itemMeasureArray' value.intime,'Y-m-d')}}"
  129. tips="{{itemMeasureArray' value.tips}}"
  130. href="#"
  131. numpname="第{{ToChinaseNum(itemMeasureArray' value.numpname)}}期"
  132. id="fname_{{itemMeasureArray' value.imnid}}">{{itemMeasureArray' value.filename}}.{{itemMeasureArray' value.fileext}}</a></td>
  133. <td>第{{ToChinaseNum(itemMeasureArray' value.numpname)}}期</td>
  134. <!--<td>{{itemMeasureArray' value.pmname}}</td>-->
  135. <td width="">{{itemMeasureArray' value.realname}}</td>
  136. <td width="">{{formatDate(itemMeasureArray' value.intime,'Y-m-d')}}</td>
  137. <td>
  138. <div class="btn-group">
  139. <a imnid="{{itemMeasureArray' value.imnid}}"
  140. id="dropdown_{{itemMeasureArray' value.imnid}}"
  141. class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
  142. <span class="caret"></span>
  143. </a>
  144. <ul class="dropdown-menu">
  145. <!--<li><a><i class="icon-eye-open"></i>&nbsp;预览</a></li>-->
  146. <!-- if {{itemMeasureArray' value.ownerid}} == {{user.userid}} -->
  147. <li><a href="#file-edit" data-toggle="modal"><i class="icon-pencil"></i>&nbsp;编辑</a>
  148. </li>
  149. <!-- endif -->
  150. <li><a id="down_{{itemMeasureArray' value.imnid}}" iaid="{{itemMeasureArray' value.iaid}}"><i class="icon-download-alt"></i>&nbsp;下载</a></li>
  151. </ul>
  152. </div>
  153. </td>
  154. </tr>
  155. <!-- endloop -->
  156. </tbody>
  157. </table>
  158. <nav aria-label="Page navigation">
  159. <ul class="pagination">
  160. {{pager}}
  161. </ul>
  162. </nav>
  163. </div>
  164. <div class="filesDetail" style="display: none;">
  165. <table class="table table-striped">
  166. <thead>
  167. <tr>
  168. <th colspan="4">文件详情</th>
  169. </tr>
  170. </thead>
  171. <tr>
  172. <th width="60">文件名</th>
  173. <td colspan="3" id="fn"> K0+800-K1+000图纸</td>
  174. </tr>
  175. <tr>
  176. <th width="60">格式</th>
  177. <td id="fileico"><span class="fileico ico-jpg"></span>.jpg</td>
  178. <th width="60">所在期</th>
  179. <td id="numpname2">第二期</td>
  180. </tr>
  181. <tr>
  182. <th width="60">上传者</th>
  183. <td id="realname">陈工</td>
  184. <th width="60">上传时间</th>
  185. <td id="intime">2014-11-20 14:20</td>
  186. </tr>
  187. <tr>
  188. <th width="60">备注/描述</th>
  189. <td colspan="3" id="tips">内容内容内容内容</td>
  190. </tr>
  191. <tr>
  192. <th width="60">更多操作</th>
  193. <td colspan="3">
  194. <!--<button class="btn btn-mini btn-primary" type="button" href="#file-replace"-->
  195. <!--data-toggle="modal"><i class="icon-retweet icon-white"></i>替换-->
  196. <!--</button>-->
  197. <!--<button class="btn btn-mini btn-info" id="historyAtt" type="button" href="#file-history"-->
  198. <!--data-toggle="modal"><i class="icon-time icon-white"></i>历史版本-->
  199. <!--</button>-->
  200. <!--&nbsp;&nbsp;&nbsp;&nbsp;-->
  201. <button id="del"
  202. imnid="" class="btn btn-mini btn-danger"
  203. type="button"
  204. data-toggle="modal"><i class="icon-remove icon-white"></i>删除
  205. </button>
  206. </td>
  207. </tr>
  208. </table>
  209. </div>
  210. </div>
  211. <!--文件管理-->
  212. </div>
  213. <!--内容-->
  214. </div>
  215. </div>
  216. <!-- 编辑弹出 -->
  217. <div id="file-edit" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
  218. aria-hidden="true">
  219. <div class="modal-dialog">
  220. <div class="modal-content">
  221. <div class="modal-header">
  222. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  223. <h4 class="modal-title">文件编辑</h4>
  224. </div>
  225. <div class="modal-body">
  226. <div class="form">
  227. <form class="form-horizontal">
  228. <input type="hidden" id="upimnid" name="upimnid" value=""/>
  229. <div class="form-group">
  230. <label class="control-label col-sm-3">文件名称</label>
  231. <div class="col-sm-8">
  232. <input class="form-control" name="upfilename" id="upfilename" type="text"/>
  233. </div>
  234. </div>
  235. <div class="form-group">
  236. <label class="control-label col-sm-3">备注/描述</label>
  237. <div class="col-sm-8">
  238. <textarea class="form-control" name="upfiledesc" id="upfiledesc"></textarea>
  239. </div>
  240. </div>
  241. </form>
  242. </div>
  243. </div>
  244. <div class="modal-footer">
  245. <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
  246. <button id="updateFileDesc" class="btn btn-primary">确定修改</button>
  247. </div>
  248. </div>
  249. </div>
  250. </div>
  251. <!-- 编辑弹出 -->
  252. <!-- 替换弹出 -->
  253. <div id="file-replace" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
  254. aria-hidden="true">
  255. <div class="modal-dialog">
  256. <div class="modal-content">
  257. <div class="modal-header">
  258. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  259. <h4 class="modal-title">文件替换</h4>
  260. </div>
  261. <div class="modal-body">
  262. <div class="form">
  263. <form class="form-horizontal">
  264. <input type="hidden" name="fid" value="0" id="fid"/>
  265. <div class="form-group">
  266. <label class="control-label col-sm-3">选择文件</label>
  267. <div class="col-sm-8">
  268. <input name="file" id="file" type="file">
  269. <span class="help-block">替换新文件后,所有已下挂该文件的清单都将更新。</span>
  270. </div>
  271. </div>
  272. </form>
  273. </div>
  274. </div>
  275. <div class="modal-footer">
  276. <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
  277. <button id="btreplacefile" class="btn btn-primary">确定替换</button>
  278. </div>
  279. </div>
  280. </div>
  281. </div>
  282. <!-- 替换弹出 -->
  283. <!-- 删除弹出 -->
  284. <div id="file-del" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
  285. aria-hidden="true">
  286. <div class="modal-dialog">
  287. <div class="modal-content">
  288. <div class="modal-header">
  289. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  290. <h4 class="modal-title">文件删除</h4>
  291. </div>
  292. <div class="modal-body">
  293. <h5 class="text-success">文件删除成功,您可以在附件回收站恢复它。</h5>
  294. </div>
  295. <div class="modal-footer">
  296. <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
  297. </div>
  298. </div>
  299. </div>
  300. </div>
  301. </div>
  302. <!-- 删除弹出 -->
  303. <!-- 历史版本弹出 -->
  304. <div id="file-history" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
  305. aria-hidden="true">
  306. <div class="modal-dialog">
  307. <div class="modal-content">
  308. <input type="hidden" name="iaid" value="0" id="iaid"/>
  309. <div class="modal-header">
  310. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  311. <h4 class="modal-title">历史版本</h4>
  312. </div>
  313. <div id="historyHTML" class="modal-body">
  314. </div>
  315. <div class="modal-footer">
  316. <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
  317. </div>
  318. </div>
  319. </div>
  320. </div>
  321. </div>
  322. <!-- 历史版本1弹出 -->
  323. <script type="text/javascript">autoFlashHeight();</script>
  324. <script type="text/javascript">
  325. $(document).ready(function () {
  326. $("a[id^='fname_']").click(function () {
  327. var fileext = $(this).attr('fileext');
  328. var filename = $(this).attr('filename');
  329. var realname = $(this).attr('realname');
  330. var intime = $(this).attr('intime');
  331. var tips = $(this).attr('tips');
  332. var numpname = $(this).attr('numpname');
  333. var imnid = $(this).attr('imnid');
  334. var iaid = $(this).attr('iaid');
  335. $("#fn").html(filename);
  336. $("#fileico").html(fileext);
  337. $("#realname").html(realname);
  338. $("#intime").html(intime);
  339. $("#tips").html(tips);
  340. $("#numpname2").html(numpname);
  341. $(".filesDetail").show();
  342. $("#fid").val(imnid);
  343. $("#iaid").val(iaid);
  344. });
  345. $("a[id^='dropdown_']").click(function () {
  346. var imnid = $(this).attr('imnid');
  347. $("#upimnid").val(imnid);
  348. });
  349. $("#del").click(function () {
  350. var imnid = $("#fid").val();
  351. $.ajax({
  352. type: "POST",
  353. dataType: "json",
  354. cache: false,
  355. data: {"imnid": imnid, "optype": 'del'},
  356. url: "/rproject/{{pid}}/section/{{pmid}}/files",
  357. success: function (data) {
  358. if (data['status'] == 1) {
  359. $('#file-del').modal('show');
  360. $('#file-del').on('shown.bs.modal',function () {
  361. // window.location.href = "{{rootUrl}}rproject/{{pid}}/section/{{pmid}}/files";
  362. $('#tr_' + imnid).remove();
  363. });
  364. }
  365. }
  366. });
  367. });
  368. $("#updateFileDesc").click(function () {
  369. var upfilename = $("#upfilename").val();
  370. var upfiledesc = $("#upfiledesc").val();
  371. var imnid = $("#upimnid").val();
  372. $.ajax({
  373. url: "/rproject/{{pid}}/section/{{pmid}}/files",
  374. type: "post",
  375. dataType: "json",
  376. cache: false,
  377. data: {"upimnid": imnid, "filename": upfilename, "filedesc": upfiledesc},
  378. success: function (data) {
  379. if (data['status'] == 1) {
  380. window.location.href = "{{rootUrl}}rproject/{{pid}}/section/{{pmid}}/files";
  381. }
  382. }
  383. });
  384. });
  385. $("#btreplacefile").click(function () {
  386. var file_data = $('#file').prop('files')[0];
  387. var form_data = new FormData();
  388. form_data.append('file', file_data);
  389. form_data.append('optype', 'replace');
  390. var imnid = $("#fid").val();
  391. form_data.append('imnid', imnid);
  392. $.ajax({
  393. type: "POST",
  394. dataType: "text",
  395. cache: false,
  396. contentType: false,
  397. data: form_data,
  398. url: "/rproject/{{pid}}/section/{{pmid}}/files",
  399. processData: false,
  400. success: function (data) {
  401. if (data['status'] == 1) {
  402. window.location.href = "{{rootUrl}}rproject/{{pid}}/section/{{pmid}}/files";
  403. }
  404. }
  405. });
  406. });
  407. $("#historyAtt").click(function () {
  408. var iaid = $("#iaid").val();
  409. $("#historyHTML").html('');
  410. $.ajax({
  411. type: "POST",
  412. dataType: "json",
  413. cache: false,
  414. data: {"iaid": iaid},
  415. url: "/rproject/section/" + iaid + "/file",
  416. success: function (data) {
  417. $("#historyHTML").html(data['html']);
  418. }
  419. });
  420. });
  421. $("#numpname").change(function () {
  422. var localurl = window.location.href;
  423. var page = localurl.indexOf("page/");
  424. var user = localurl.indexOf("user/");
  425. var num = localurl.indexOf("num/");
  426. if($(this).val() > 0){
  427. if (num != "-1") {
  428. var nowurl = localurl.replace(/num\/\d+/, "num/" + $(this).val());
  429. window.location.href = nowurl;
  430. }else {
  431. if (page == "-1") {
  432. var url = window.location.href + "/num/" + $(this).val() + "/page/1";
  433. window.location.href = url;
  434. }else{
  435. var url = window.location.href + "/num/" + $(this).val();
  436. window.location.href = url;
  437. }
  438. }
  439. }else{
  440. var nowurl = localurl.replace(/\/num\/\d+\/page\/1/,'');
  441. var nowurl = localurl.replace(/\/num\/\d+/,'');
  442. window.location.href = nowurl;
  443. }
  444. });
  445. $("#uploaduser").change(function () {
  446. var localurl = window.location.href;
  447. var page = localurl.indexOf("page/");
  448. var user = localurl.indexOf("user/");
  449. var num = localurl.indexOf("num/");
  450. if($(this).val() > 0){
  451. if (user != "-1") {
  452. var nowurl = localurl.replace(/user\/\d+/, "user/" + $(this).val());
  453. window.location.href = nowurl;
  454. }else {
  455. if (page == "-1") {
  456. var url = window.location.href + "/user/" + $(this).val() + "/page/1";
  457. window.location.href = url;
  458. }else{
  459. var url = window.location.href + "/user/" + $(this).val();
  460. window.location.href = url;
  461. }
  462. }
  463. }else{
  464. var nowurl = localurl.replace(/\/user\/\d+\/page\/1/,'');
  465. var nowurl = localurl.replace(/\/user\/\d+/,'');
  466. window.location.href = nowurl;
  467. }
  468. });
  469. $("a[id^='down_']").click(function () {
  470. var iaid = $(this).attr('iaid');
  471. window.location.href = "{{rootUrl}}rproject/section/get/" + iaid + "/attachment";
  472. });
  473. });
  474. </script>
  475. </body>