form-list.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551
  1. <!-- include 'fc-header' -->
  2. <!-- include 'fc-leftWrap' -->
  3. <div class="warp-content">
  4. <div class="container">
  5. <div class="page-header">
  6. <a href="<!-- if isset({{dingzhi}}) --><!-- if {{itemid}} != 0 -->{{rootUrl}}addreport/1/item/{{itemid}}<!-- else -->{{rootUrl}}addreport/1<!-- endif --><!-- else -->{{rootUrl}}addreport<!-- endif -->" class="btn btn-success pull-right">添加新报表</a>
  7. <h2><i class="glyphicon glyphicon-list"></i>&nbsp;报表库</h2>
  8. </div>
  9. <div class="page-nav clearfix">
  10. <ul class="nav nav-tabs">
  11. <li role="presentation" <!-- if !isset({{dingzhi}}) -->class="active"<!-- endif -->><a href="{{rootUrl}}reportlist">通用报表</a></li>
  12. <li role="presentation" <!-- if isset({{dingzhi}}) -->class="active"<!-- endif -->><a href="{{rootUrl}}reportlist/1">定制报表</a></li>
  13. </ul>
  14. </div>
  15. <input type="hidden" value="<!-- if isset({{dingzhi}}) -->{{dingzhi}}<!-- endif -->" id="listtype">
  16. <!-- if !isset({{dingzhi}}) -->
  17. <div class="page-nav clearfix">
  18. <div class="form-group">
  19. <div class="row">
  20. <div class="col-xs-2">
  21. <select class="form-control" id="areaselect2">
  22. <option value="0">筛选区域</option>
  23. <option value="3" <!-- if isset({{area}}) && {{area}} == 3 -->selected<!-- endif -->>通用</option>
  24. <option value="1" <!-- if isset({{area}}) && {{area}} == 1 -->selected<!-- endif -->>全国</option>
  25. <option value="2" <!-- if isset({{area}}) && {{area}} == 2 -->selected<!-- endif -->>广东</option>
  26. </select>
  27. </div>
  28. <div class="col-xs-3">
  29. <select class="form-control" id="cateselect2">
  30. <option value="0">筛选类别</option>
  31. <!-- if isset({{catelist}}) && !empty({{catelist}}) -->
  32. <!-- loop catelist -->
  33. <option value="{{catelist' value.cateid}}" <!-- if {{catelist' value.cateid}} == {{cateid}} -->selected<!-- endif -->>{{catelist' value.catename}}</option>
  34. <!-- endloop -->
  35. <!-- endif -->
  36. </select>
  37. </div>
  38. <div class="col-xs-2 col-md-offset-5">
  39. <select class="form-control" id="sort">
  40. <option value="time">按更新时间</option>
  41. <option value="edit" <!-- if isset({{sort}}) && {{sort}} == 'edit' -->selected<!-- endif -->>按编辑时间</option>
  42. <option value="report" <!-- if isset({{sort}}) && {{sort}} == 'report' -->selected<!-- endif -->>按报表名称</option>
  43. </select>
  44. </div>
  45. </div>
  46. </div>
  47. </div>
  48. <!--通用报表列表-->
  49. <table class="table table-hover">
  50. <thead>
  51. <tr>
  52. <th>区域</th>
  53. <th>类别</th>
  54. <th>报表名</th>
  55. <th>最新版本</th>
  56. <th>最新编辑</th>
  57. <th>历史版本</th>
  58. <th>操作</th>
  59. </tr>
  60. </thead>
  61. <tbody>
  62. <!-- if isset({{reportlist}}) && !empty({{reportlist}}) -->
  63. <!-- loop reportlist -->
  64. <tr>
  65. <td><!-- if {{reportlist' value.areacate}} == 1 -->全国<!-- elseif {{reportlist' value.areacate}} == 2 -->广东<!-- else -->通用<!-- endif --></td>
  66. <td>{{reportlist' value.catename}}</td>
  67. <td>{{reportlist' value.reportname}}</td>
  68. <td>{{reportlist' value.edittime}}</td>
  69. <td><!-- if !empty({{reportlist' value.lastedit}}) -->{{formatDate(reportlist' value.lastedit)}}<!-- endif --> {{reportlist' value.lastuser}}</td>
  70. <td><a href="{{rootUrl}}versionlist/{{reportlist' value.reportid}}">{{reportlist' value.versionnum}}</a></td>
  71. <td><a href="#edit-form" class="btn btn-xs" data-toggle="modal" onclick='editNormalreport("{{reportlist' value.reportid}}","{{reportlist' value.cateid}}","{{reportlist' value.parentid}}","{{reportlist' value.reportname}}","{{reportlist' value.areacate}}");'>编辑</a><a class="btn btn-xs text-danger" href="#delform" data-toggle="modal" onclick='delreport("{{reportlist' value.reportname}}","{{reportlist' value.reportid}}");'>删除</a></td>
  72. </tr>
  73. <!-- endloop -->
  74. <!-- endif -->
  75. </tbody>
  76. </table>
  77. <!--通用报表列表-->
  78. <!-- else -->
  79. <!--定制报表列表-->
  80. <div class="page-nav clearfix">
  81. <div class="form-group">
  82. <div class="row">
  83. <div class="col-xs-3">
  84. <select class="form-control" id="itemselect2">
  85. <option value="0">筛选项目</option>
  86. <!-- if isset({{itemlist}}) && !empty({{itemlist}}) -->
  87. <!-- loop itemlist -->
  88. <option value="{{itemlist' value.itemid}}" <!-- if {{itemlist' value.itemid}} == {{itemid}} -->selected<!-- endif -->>{{itemlist' value.itemname}}</option>
  89. <!-- endloop -->
  90. <!-- endif -->
  91. </select>
  92. </div>
  93. <div class="col-xs-2" data-toggle="tooltip" data-placement="left">
  94. <!-- if !empty({{itemid}}) --><a href="#sharekey" class="btn btn-link" data-toggle="modal"><i class="glyphicon glyphicon-link"></i> 领取码</a><!-- endif -->
  95. </div>
  96. <div class="col-xs-2 col-md-offset-5">
  97. <select class="form-control" id="sort">
  98. <option value="time">按更新时间</option>
  99. <option value="edit" <!-- if isset({{sort}}) && {{sort}} == 'edit' -->selected<!-- endif -->>按编辑时间</option>
  100. <option value="report" <!-- if isset({{sort}}) && {{sort}} == 'report' -->selected<!-- endif -->>按报表名称</option>
  101. </select>
  102. </div>
  103. </div>
  104. </div>
  105. </div>
  106. <table class="table table-hover">
  107. <thead>
  108. <tr>
  109. <th>项目</th>
  110. <th>类别</th>
  111. <th>报表名</th>
  112. <th>最新版本</th>
  113. <th>最新编辑</th>
  114. <th>历史版本</th>
  115. <th>操作</th>
  116. </tr>
  117. </thead>
  118. <tbody>
  119. <!-- if isset({{reportlist}}) && !empty({{reportlist}}) -->
  120. <!-- loop reportlist -->
  121. <tr>
  122. <td>{{reportlist' value.itemname}}</td>
  123. <td>{{reportlist' value.catename}}</td>
  124. <td>{{reportlist' value.reportname}}</td>
  125. <td>{{reportlist' value.edittime}}</td>
  126. <td><!-- if !empty({{reportlist' value.lastedit}}) != '0' -->{{formatDate(reportlist' value.lastedit)}}<!-- endif --> {{reportlist' value.lastuser}}</td>
  127. <td><a href="{{rootUrl}}versionlist/{{reportlist' value.reportid}}">{{reportlist' value.versionnum}}</a></td>
  128. <td><a href="#edit-form" class="btn btn-xs" data-toggle="modal" onclick='edititemreport("{{reportlist' value.reportname}}","{{reportlist' value.reportid}}","{{reportlist' value.itemid}}","{{reporlist' value.parentid}}","{{reportlist' value.cateid}}");'>编辑</a><a class="btn btn-xs text-danger" href="#delform" data-toggle="modal" onclick='delreport("{{reportlist' value.reportname}}","{{reportlist' value.reportid}}","{{reportlist' value.itemid}}");'>删除</a></td>
  129. </tr>
  130. <!-- endloop -->
  131. <!-- endif -->
  132. </tbody>
  133. </table>
  134. <!--定制报表列表-->
  135. <!-- endif -->
  136. <!--翻页-->
  137. <nav>
  138. <ul class="pagination">
  139. {{pager}}
  140. </ul>
  141. </nav>
  142. </div>
  143. </div>
  144. <!-- if isset({{dingzhi}}) && !empty({{itemid}}) -->
  145. <!--弹框-领取码-->
  146. <div class="modal fade " tabindex="-1" role="dialog" aria-hidden="true" id="sharekey">
  147. <div class="modal-dialog ">
  148. <div class="modal-content">
  149. <div class="modal-header">
  150. <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
  151. <h4 class="modal-title" >定制报表领取码</h4>
  152. </div>
  153. <div class="modal-body">
  154. <p class="text-center">{{item.itemname}}</p>
  155. <h1 class="text-center"><span class="label label-default">{{item.code}}</span></h1>
  156. </div>
  157. <div class="modal-footer">
  158. </div>
  159. </div>
  160. </div>
  161. </div>
  162. <!--弹框-结束-->
  163. <!-- endif -->
  164. <!--弹框-删除报表-->
  165. <div class="modal fade " tabindex="-1" role="dialog" aria-hidden="true" id="delform">
  166. <div class="modal-dialog ">
  167. <div class="modal-content">
  168. <div class="modal-header">
  169. <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
  170. <h4 class="modal-title" >删除报表</h4>
  171. </div>
  172. <div class="modal-body">
  173. <h3 class="text-center" id="deltext">是否删除 <b></b> ?</h3>
  174. <input id="delcate" value="<!-- if isset({{cateid}}) -->{{cateid}}<!-- endif -->" type="hidden">
  175. <input id="delitem" value="<!-- if isset({{itemid}}) -->{{itemid}}<!-- endif -->" type="hidden">
  176. <input id="delpindex" value="<!-- if isset({{pindex}}) -->{{pindex}}<!-- endif -->" type="hidden">
  177. <input id="delarea" value="<!-- if isset({{area}}) -->{{area}}<!-- endif -->" type="hidden">
  178. <input id="delsort" value="<!-- if isset({{sort}}) -->{{sort}}<!-- endif -->" type="hidden">
  179. </div>
  180. <div class="modal-footer">
  181. <a type="button" class="btn btn-danger" href="#" id="delbtn">确认删除</a>
  182. </div>
  183. </div>
  184. </div>
  185. </div>
  186. <!--弹框-结束-->
  187. <!--编辑报表-->
  188. <div class="modal fade " tabindex="-1" role="dialog" aria-hidden="true" id="edit-form">
  189. <div class="modal-dialog ">
  190. <div class="modal-content">
  191. <div class="modal-header">
  192. <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
  193. <h4 class="modal-title" >编辑报表</h4>
  194. </div>
  195. <form method="post" action="/setreport" onsubmit="return judgeSubmit();">
  196. <div class="modal-body">
  197. <input type="hidden" name="reportid" value="" id="reportid">
  198. <!-- if isset({{pindex}}) --><input type="hidden" name="pindex" value="{{pindex}}"><!-- endif -->
  199. <!-- if isset({{cateid}}) --><input type="hidden" name="cateid" value="{{cateid}}"><!-- endif -->
  200. <!-- if isset({{itemid}}) --><input type="hidden" name="itemid" value="{{itemid}}"><!-- endif -->
  201. <!-- if isset({{area}}) --><input type="hidden" name="area" value="{{area}}"><!-- endif -->
  202. <!-- if isset({{sort}}) --><input type="hidden" name="sort" value="{{sort}}"><!-- endif -->
  203. <!-- if !isset({{dingzhi}}) -->
  204. <!--通用报表信息-->
  205. <div class="form-group">
  206. <label>区域</label>
  207. <div class="row">
  208. <div class="col-xs-4">
  209. <select class="form-control input-sm" name="areaselect" id="areaselect">
  210. <option value="3">通用</option>
  211. <option value="1">全国</option>
  212. <option value="2">广东</option>
  213. </select>
  214. </div>
  215. </div>
  216. </div>
  217. <div class="form-group ">
  218. <label>报表类别</label>
  219. <div class="row">
  220. <div class="col-xs-4">
  221. <select class="form-control input-sm" name="parentselect" id="parentselect">
  222. <option value="0">选择类别</option>
  223. <!-- if isset({{cateparentlist}}) && !empty({{cateparentlist}}) -->
  224. <!-- loop cateparentlist -->
  225. <option value="{{cateparentlist' value.cateid}}">{{cateparentlist' value.catename}}</option>
  226. <!-- endloop -->
  227. <!-- endif -->
  228. </select>
  229. </div>
  230. <div class="col-xs-4 hidden">
  231. <select class="form-control input-sm" name="cateselect" id="cateselect">
  232. </select>
  233. </div>
  234. <div class="col-xs-2"><a href="{{rootUrl}}catelist" class="btn btn-link" target="_blank">类别管理</a></div>
  235. </div>
  236. </div>
  237. <div class="form-group">
  238. <label>报表名</label>
  239. <div class="row">
  240. <div class="col-xs-6">
  241. <input type="text" class="form-control input-sm" placeholder="" name="reportname" id="reportname">
  242. </div>
  243. </div>
  244. </div>
  245. <!--通用报表信息-->
  246. <!-- else -->
  247. <!--定制报表信息-->
  248. <div class="form-group ">
  249. <label>所在项目</label>
  250. <div class="row">
  251. <div class="col-xs-6">
  252. <select class="form-control input-sm" name="itemselect" id="itemselect">
  253. <option value="0">选择项目</option>
  254. <!-- if isset({{itemlist}}) && !empty({{itemlist}}) -->
  255. <!-- loop itemlist -->
  256. <option value="{{itemlist' value.itemid}}">{{itemlist' value.itemname}}</option>
  257. <!-- endloop -->
  258. <!-- endif -->
  259. </select>
  260. </div>
  261. <div class="col-xs-3"><a href="{{rootUrl}}itemlist" class="btn btn-link" target="_blank">项目管理</a></div>
  262. </div>
  263. </div>
  264. <div class="form-group">
  265. <label>报表类别</label>
  266. <div class="row">
  267. <div class="col-xs-4">
  268. <select class="form-control input-sm" name="parentselect" id="parentselect">
  269. <option value="0">选择类别</option>
  270. <!-- if isset({{cateparentlist}}) && !empty({{cateparentlist}}) -->
  271. <!-- loop cateparentlist -->
  272. <option value="{{cateparentlist' value.cateid}}">{{cateparentlist' value.catename}}</option>
  273. <!-- endloop -->
  274. <!-- endif -->
  275. </select>
  276. </div>
  277. <div class="col-xs-4 hidden">
  278. <select class="form-control input-sm" name="cateselect" id="cateselect">
  279. </select>
  280. </div>
  281. <div class="col-xs-2"><a href="{{rootUrl}}catelist/1<!-- if !empty({{itemid}}) -->/item/{{itemid}}<!-- endif -->" class="btn btn-link" target="_blank" id="category">类别管理</a></div>
  282. </div>
  283. </div>
  284. <div class="form-group">
  285. <label>报表名</label>
  286. <div class="row">
  287. <div class="col-xs-6">
  288. <input type="text" class="form-control input-sm" placeholder="" name="reportname" id="reportname">
  289. </div>
  290. </div>
  291. </div>
  292. <!--定制报表信息-->
  293. <!-- endif -->
  294. </div>
  295. <div class="modal-footer">
  296. <button type="submit" class="btn btn-success">保存</button>
  297. </div>
  298. </form>
  299. </div>
  300. </div>
  301. </div>
  302. <!--编辑报表-->
  303. <script>
  304. function judgeSubmit(){
  305. if($('#itemselect').val() == '0'){
  306. alert('请选择项目');
  307. return false;
  308. }
  309. if($('#parentselect').val() == '0'){
  310. alert('请选择类别');
  311. return false;
  312. }
  313. if($('input[name="reportname"]').val() == ''){
  314. alert('请输入报表名');
  315. return false;
  316. }
  317. }
  318. function editNormalreport(id,catid,pid,name,area){
  319. $('#reportid').val(id);
  320. $('#reportname').val(name);
  321. $('#areaselect').val(area);
  322. if(pid != 0){
  323. getajaxchild(pid);
  324. $('#cateselect option').each(function(){
  325. if($(this).val() == catid){
  326. $(this).prop('selected',true);
  327. }else{
  328. $(this).prop('selected',false);
  329. }
  330. });
  331. $('#cateselect').parent().removeClass('hidden');
  332. $('#parentselect option').each(function(){
  333. if($(this).val() == pid){
  334. $(this).prop('selected',true);
  335. }else{
  336. $(this).prop('selected',false);
  337. }
  338. });
  339. }else{
  340. $('#cateselect').parent().addClass('hidden');
  341. $('#parentselect option').each(function(){
  342. if($(this).val() == catid){
  343. $(this).prop('selected',true);
  344. }else{
  345. $(this).prop('selected',false);
  346. }
  347. });
  348. }
  349. }
  350. function edititemreport(name,id,itemid,pid,cid){
  351. $('#category').attr('href','/catelist/1/item/'+itemid);
  352. $('#reportid').val(id);
  353. $('#reportname').val(name);
  354. $('#itemselect option').each(function(){
  355. if($(this).val() == itemid){
  356. $(this).prop('selected',true);
  357. }else{
  358. $(this).prop('selected',false);
  359. }
  360. });
  361. getajaxparent(itemid);
  362. if(pid != 0){
  363. getajaxchild(pid);
  364. $('#cateselect option').each(function(){
  365. if($(this).val() == cid){
  366. $(this).prop('selected',true);
  367. }else{
  368. $(this).prop('selected',false);
  369. }
  370. });
  371. $('#cateselect').parent().removeClass('hidden');
  372. $('#parentselect option').each(function(){
  373. if($(this).val() == pid){
  374. $(this).prop('selected',true);
  375. }else{
  376. $(this).prop('selected',false);
  377. }
  378. });
  379. }else{
  380. $('#cateselect').parent().addClass('hidden');
  381. $('#parentselect option').each(function(){
  382. if($(this).val() == catid){
  383. $(this).prop('selected',true);
  384. }else{
  385. $(this).prop('selected',false);
  386. }
  387. });
  388. }
  389. }
  390. function delreport(name,id,itemid) {
  391. $('#deltext b').text(name);
  392. $('#delitem').val(itemid);
  393. var href = '{{rootUrl}}deletereport/'+id;
  394. if($('#delitem').val() != ''){
  395. href += '/item/'+$('#delitem').val();
  396. } else if($('#delcate').val() != ''){
  397. href += '/cate/'+$('#delcate').val();
  398. }
  399. if($('#delarea').val() != ''){
  400. href += '/area/'+ $('#delarea').val();
  401. }
  402. if($('#delsort').val() != 'time'){
  403. href += '/sort/'+ $('#delsort').val();
  404. }
  405. if($('#delpindex').val() != ''){
  406. href += '/page/'+$('#delpindex').val();
  407. }
  408. $('#delbtn').attr('href',href);
  409. }
  410. $(function(){
  411. $('#itemselect2').change(function(){
  412. var href = '/reportlist/1';
  413. if($(this).val() != 0){
  414. href += '/item/'+$(this).val();
  415. }
  416. if($('#sort').val() != 'time'){
  417. href += '/sort/'+$('#sort').val();
  418. }
  419. window.location.href = href;
  420. });
  421. $('#cateselect2').change(function(){
  422. var href = '/reportlist';
  423. if($(this).val() != 0){
  424. href += '/cate/'+$(this).val();
  425. }
  426. if($('#areaselect2').val() != 0){
  427. href += '/area/'+$('#areaselect2').val();
  428. }
  429. if($('#sort').val() != 'time'){
  430. href += '/sort/'+$('#sort').val();
  431. }
  432. window.location.href = href;
  433. });
  434. $('#areaselect2').change(function(){
  435. var href = '/reportlist';
  436. if($('#cateselect2').val() != 0){
  437. href += '/cate/'+$('#cateselect2').val();
  438. }
  439. if($(this).val() != 0){
  440. href += '/area/'+$(this).val();
  441. }
  442. if($('#sort').val() != 'time'){
  443. href += '/sort/'+$('#sort').val();
  444. }
  445. window.location.href = href;
  446. });
  447. $('#sort').change(function(){
  448. var href = '/reportlist';
  449. if($('#listtype').val() != ''){
  450. href += '/1';
  451. if($('#itemselect2').val() != 0){
  452. href += '/item/'+$('#itemselect2').val();
  453. }
  454. }else{
  455. if($('#cateselect2').val() != 0){
  456. href += '/cate/'+$('#cateselect2').val();
  457. }
  458. if($('#areaselect2').val() != 0){
  459. href += '/area/'+$('#areaselect2').val();
  460. }
  461. }
  462. if($(this).val() != 'time'){
  463. href += '/sort/'+$(this).val();
  464. }
  465. window.location.href = href;
  466. });
  467. $('#itemselect').change(function(){
  468. var itemid = $(this).val();
  469. if(itemid != 0){
  470. $('#category').prop('href','/catelist/1/item/'+itemid);
  471. }else{
  472. $('#category').prop('href','/catelist/1');
  473. }
  474. getajaxparent(itemid);
  475. });
  476. $('#parentselect').change(function(){
  477. var parentid = $(this).val();
  478. getajaxchild(parentid);
  479. });
  480. });
  481. function getajaxchild(parentid){
  482. $.ajax({
  483. type: 'get',
  484. url : '/getcatechild?parentid='+parentid,
  485. async: false,
  486. dataType: 'json',
  487. success: function(result){
  488. var data = result;
  489. if(data.code != 200){
  490. $('#cateselect').parent().addClass('hidden');
  491. $('#cateselect').html('');
  492. }else{
  493. var html = '';
  494. $.each(data.childlist, function(k,v){
  495. html +='<option value="' + v.cateid + '">' + v.catename + '</option>';
  496. });
  497. $('#cateselect').html(html);
  498. $('#cateselect').parent().removeClass('hidden');
  499. }
  500. }
  501. })
  502. }
  503. function getajaxparent(itemid){
  504. $.ajax({
  505. type: 'get',
  506. url : '/getcateparentbyitem?itemid='+itemid,
  507. async: false,
  508. dataType: 'json',
  509. success: function(result){
  510. var data = result;
  511. if(data.code == 200){
  512. var html = '<option value="0">选择类别</option>';
  513. $.each(data.parentlist, function(k,v){
  514. html +='<option value="' + v.cateid + '">' + v.catename + '</option>';
  515. });
  516. $('#parentselect').html(html);
  517. $('#cateselect').parent().addClass('hidden');
  518. $('#cateselect').html('');
  519. }else{
  520. var html = '<option value="0">选择类别</option>';
  521. $('#parentselect').html(html);
  522. $('#cateselect').parent().addClass('hidden');
  523. $('#cateselect').html('');
  524. }
  525. }
  526. })
  527. }
  528. </script>
  529. </body>