datacollect.ejs 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <% include ./sub_menu.ejs %>
  2. <div class="panel-content">
  3. <div class="panel-title">
  4. <div class="title-main">
  5. <h2>决策大屏
  6. <a href="#power" data-toggle="modal" data-target="#power" class="btn btn-primary btn-sm pull-right">权限管理</a>
  7. <a href="javascript:void(0);" id="tenderBtn" class="btn btn-primary btn-sm pull-right mr-1">标段管理</a>
  8. </h2>
  9. </div>
  10. </div>
  11. <div class="content-wrap">
  12. <div class="c-body">
  13. <div class="sjs-height-0">
  14. <nav class="nav nav-tabs m-3" id="tablist" role="tablist">
  15. <% for (let i = 1; i <= 2; i++) { %>
  16. <a class="nav-item nav-link<% if ((ctx.session.sessionProject.dataCollect === 0 && i === 1) || ctx.session.sessionProject.dataCollect === i) { %> active<% } %>" data-datacollect="<%- i %>" data-toggle="tab" href="#shujudaping-<%- i %>" role="tab">
  17. 决策大屏<%- ctx.helper.transFormToChinese(i) %><% if (ctx.helper._.indexOf(projectData.data_collect_pages, i.toString()) !== -1) { %>(已开启<% if (i === ctx.session.sessionProject.dataCollect) { %>、默认<% } %>)<% } %></a>
  18. <% } %>
  19. <div class="ml-auto">
  20. <!--<div class="form-check form-check-inline">-->
  21. <!--<input class="form-check-input" type="checkbox" id="show-datacollect" value="option1" <% if (ctx.session.sessionProject.dataCollect) { %>checked<% } %>>-->
  22. <!--<label class="form-check-label" for="show-datacollect">数据大屏显示</label>-->
  23. <!--</div>-->
  24. <div class="d-inline-block form-group form-check mt-2">
  25. <div class="custom-control custom-switch">
  26. <input type="checkbox" class="custom-control-input" id="show_datacollect" <% if (ctx.session.sessionProject.dataCollect !== 0) { %>checked<% } %>>
  27. <label class="custom-control-label" for="show_datacollect">开启<i class="fa fa-question-circle text-primary" data-placement="bottom" data-toggle="tooltip" data-original-title="开启后,在决策大屏模块显示"></i></label>
  28. </div>
  29. </div>
  30. <div class="d-inline-block form-group form-check mt-2">
  31. <div class="custom-control custom-switch">
  32. <input type="checkbox" class="custom-control-input" id="default_datacollect" <% if (ctx.session.sessionProject.dataCollect !== 0) { %>checked<% } %>>
  33. <label class="custom-control-label" for="default_datacollect">默认<i class="fa fa-question-circle text-primary" data-placement="bottom" data-toggle="tooltip" data-original-title="决策大屏第一个显示"></i></label>
  34. </div>
  35. </div>
  36. </div>
  37. </nav>
  38. <div class="tab-content m-3">
  39. <% for (let i = 1; i <= 2; i++) { %>
  40. <div id="shujudaping-<%- i %>" class="tab-pane<% if ((ctx.session.sessionProject.dataCollect === 0 && i === 1) || ctx.session.sessionProject.dataCollect === i) { %> active<% } %>"><img src="/public/images/juecedaping0<%- i %>.png" width="100%"></div>
  41. <% } %>
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. </div>
  47. <script src="/public/js/setting_datacollect_tender.js"></script>
  48. <script src="/public/js/PinYinOrder.bundle.js"></script>
  49. <script src="/public/js/tender_showhide.js"></script>
  50. <script src="/public/js/shares/tender_list_order.js"></script>
  51. <script>
  52. let dataCollectPages = JSON.parse(unescape('<%- escape(JSON.stringify(projectData.data_collect_pages)) %>'));
  53. let dataCollect = parseInt('<%- ctx.session.sessionProject.dataCollect %>');
  54. const category = JSON.parse(unescape('<%- escape(JSON.stringify(categoryData)) %>'));
  55. const tenders = JSON.parse(unescape('<%- escape(JSON.stringify(tenders)) %>'));
  56. let dcTenders = JSON.parse(unescape('<%- escape(JSON.stringify(dcTenders)) %>'));
  57. let addDataCollect = JSON.parse(unescape('<%- escape(JSON.stringify(ctx.session.sessionProject.page_show.addDataCollect)) %>'));
  58. $(function () {
  59. autoFlashHeight();
  60. // 开启及关闭展示
  61. $('#show_datacollect').change(function () {
  62. const activePage = $('#tablist').find('.active').data('datacollect').toString();
  63. if ($(this).is(':checked')) {
  64. dataCollectPages.push(activePage);
  65. dataCollectPages.sort();
  66. if (dataCollect === 0) {
  67. dataCollect = parseInt(activePage);
  68. $('#default_datacollect').prop('checked', true);
  69. }
  70. } else {
  71. dataCollectPages.map((val, i) => {
  72. if (val === activePage) {
  73. dataCollectPages.splice(i, 1);
  74. }
  75. });
  76. if (dataCollectPages.length === 0) {
  77. dataCollect = 0;
  78. } else if (dataCollectPages.length !== 0 && dataCollect === parseInt(activePage)){
  79. dataCollect = parseInt(dataCollectPages[0]);
  80. }
  81. $('#default_datacollect').prop('checked', false);
  82. }
  83. postData('/setting/datacollect/save', { type: 'show', data_collect_pages: dataCollectPages, data_collect: dataCollect }, function (result) {
  84. updateTab();
  85. })
  86. });
  87. $('#default_datacollect').change(function () {
  88. const activePage = $('#tablist').find('.active').data('datacollect').toString();
  89. if ($(this).is(':checked')) {
  90. dataCollect = parseInt(activePage);
  91. $('#show_datacollect').prop('checked', true);
  92. if (_.indexOf(dataCollectPages, activePage) === -1) {
  93. dataCollectPages.push(activePage);
  94. dataCollectPages.sort();
  95. }
  96. } else {
  97. if (dataCollectPages.length === 1) {
  98. dataCollect = 0;
  99. dataCollectPages = [];
  100. $('#show_datacollect').prop('checked', false);
  101. } else {
  102. dataCollect = parseInt(dataCollectPages[0]) === dataCollect ? parseInt(dataCollectPages[1]) : parseInt(dataCollectPages[0]);
  103. }
  104. }
  105. updateTab();
  106. postData('/setting/datacollect/save', { type: 'show', data_collect_pages: dataCollectPages, data_collect: dataCollect }, function (result) {
  107. updateTab();
  108. })
  109. })
  110. function updateTab() {
  111. for (let i = 1; i <= 2; i++) {
  112. let msg = '';
  113. if (_.indexOf(dataCollectPages, i.toString()) !== -1) {
  114. msg = '(已开启' + (i=== dataCollect ? '、默认' : '') + ')' ;
  115. }
  116. $('#tablist a').eq(i-1).text('决策大屏' + transFormToChinese(i) + msg);
  117. }
  118. }
  119. $('#tablist a').click(function () {
  120. const page = parseInt($(this).data('datacollect'));
  121. if (_.indexOf(dataCollectPages, page.toString()) !== -1) {
  122. $('#show_datacollect').prop('checked', true);
  123. } else {
  124. $('#show_datacollect').prop('checked', false);
  125. }
  126. if (page === dataCollect) {
  127. $('#default_datacollect').prop('checked', true);
  128. } else {
  129. $('#default_datacollect').prop('checked', false);
  130. }
  131. });
  132. })
  133. </script>