step3.html.php 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. <div id='mainContent' class='main-content'>
  2. <div class="display-content">
  3. <div class="cell">
  4. <div class='panel panel-position panel-padding'>
  5. <div class='panel-heading'>
  6. <div class='panel-title ptitle'>
  7. <?php echo $pivot->name;?>
  8. <?php if(common::hasPriv('pivot', 'export')):?>
  9. <a href="#" class="btn btn-link design-export pull-right hidden" data-toggle="modal" data-target="#export"><?php echo '<i class="icon-export muted"> </i>' . $lang->export;?></a>
  10. <?php endif;?>
  11. </div>
  12. </div>
  13. <div class="panel-body">
  14. <div id="datagridSpanExample3" class="datagrid">
  15. <div class='panel-body clear-padding clear-overflow'>
  16. <div id='filterContent' class='filterContent'>
  17. <div id="filterItems"></div>
  18. <div id='queryButton3' class='queryButton'>
  19. <button type="button" onclick='queryFilter()' class="btn btn-secondary save-step"><?php echo $lang->pivot->query;?></button>
  20. </div>
  21. </div>
  22. </div>
  23. </div>
  24. </div>
  25. </div>
  26. </div>
  27. </div>
  28. <div class="config-content" id="sidebar">
  29. <div class="cell">
  30. <div class='panel panel-settings'>
  31. <div class='border-bottom filter-padding'>
  32. <div class='panel-title'>
  33. <?php echo $lang->pivot->filter;?>
  34. </div>
  35. <div class="create-action pull-right filter-add">
  36. <?php echo '<button type="button" class="btn btn-info add-filter" onclick="addFilter()"><i class="icon icon-plus"></i> ' . $lang->pivot->resultFilter . '</button>';?>
  37. </div>
  38. </div>
  39. <div class='panel-heading auto-scroll'>
  40. <div class='panel-body clear-padding'>
  41. <form method='post' id='filterForm' class="form-ajax"></form>
  42. <p id='query-tip' class='panel-body-child'>
  43. <span class='text-muted'><?php echo $lang->pivot->noQueryTip;?></span>
  44. <?php echo '<button type="button" class="btn btn-info add-filter" onclick="addFilter()"><i class="icon icon-plus"></i> ' . $lang->pivot->resultFilter . '</button>';?>
  45. </p>
  46. </div>
  47. </div>
  48. </div>
  49. <div class='panel pull-bottom'>
  50. <div class='panel-heading'>
  51. <div class='panel-footer'>
  52. <?php echo '<button type="button" class="btn btn-secondary btn-save-setting" onclick="queryFilter()">' . $lang->pivot->saveSetting . '</button>';?>
  53. <?php echo '<button type="button" class="btn btn-primary btn-next-step" onclick="nextStep()">' . $lang->pivot->nextStep . '</button>';?>
  54. </div>
  55. </div>
  56. </div>
  57. </div>
  58. </div>
  59. </div>
  60. <template id="queryFilterBlockTpl">
  61. <div class='filter filter-{index}' data-index='{index}'>
  62. <div class="filter-header">
  63. <div class='filter-heading'>
  64. <div class='filter-title'>
  65. <span><?php echo $lang->pivot->queryFilter . $lang->hyphen;?><span class='filter-name-span'>{filterName}</span></span>
  66. </div>
  67. </div>
  68. </div>
  69. <div class="filter-body">
  70. <form class="not-watch">
  71. <table class="table table-form table-margin">
  72. <tbody>
  73. <tr>
  74. <th class='filter-width filter-thpadding'><?php echo $lang->pivot->varCode;?></th>
  75. <td class='filter-tdpadding'><?php echo html::input('field', '{field}', "class='form-control' onchange='methods.step3.query.changeVar(this, this.value)'");?></td>
  76. </tr>
  77. <tr>
  78. <th class='filter-width filter-thpadding'><?php echo $lang->pivot->type;?></th>
  79. <td class='filter-tdpadding'><?php echo html::select('type', $lang->dataview->varFilter->requestTypeList, '{type}', "class='form-control picker-select' onchange='methods.step3.query.changeType(this, this.value)'");?></td>
  80. </tr>
  81. <tr>
  82. <th class='filter-width filter-thpadding'><?php echo $lang->pivot->varLabel;?></th>
  83. <td class='required filter-tdpadding'>
  84. <?php echo html::input('name', '{filterName}', "class='form-control' onchange='changeName(this, this.value)'");?>
  85. </td>
  86. </tr>
  87. <tr class='default-line'>
  88. <th class='filter-width filter-thpadding'><?php echo $lang->pivot->default;?></th>
  89. <td class='filter-tdpadding'>
  90. <span class="default-block hidden"><?php echo html::input('default', '', "class='form-control form-input' onchange='methods.step3.query.changeDefault(this, this.value)'")?></span>
  91. <span class="default-block hidden"><?php echo html::input('default', '', "class='form-control form-date' onchange='methods.step3.query.changeDefault(this, this.value)'")?></span>
  92. <span class="default-block hidden"><?php echo html::input('default', '', "class='form-control form-datetime' onchange='methods.step3.query.changeDefault(this, this.value)'")?></span>
  93. <span class="default-block hidden"><?php echo html::select('default', '', '', "class='form-control form-select' onchange='methods.step3.query.changeDefault(this, this.value)'");?></span>
  94. </td>
  95. </tr>
  96. </tbody>
  97. </table>
  98. </form>
  99. </div>
  100. </div>
  101. </template>
  102. <template id="resultFilterBlockTpl">
  103. <div class='filter filter-{index}'>
  104. <div class="filter-header">
  105. <div class='filter-heading'>
  106. <div class='filter-title'>
  107. <span><?php echo $lang->pivot->resultFilter . $lang->hyphen;?><span class="filter-name-span">{filterName}</span></span>
  108. <div class="close-action pull-right">
  109. <button type="button" class="remove-filter close" onclick="removeFilter({index})"><i class='icon icon-minus'></i></button>
  110. </div>
  111. </div>
  112. </div>
  113. </div>
  114. <div class="filter-body">
  115. <form class="not-watch">
  116. <table class="table table-form table-margin">
  117. <tbody>
  118. <tr>
  119. <th class='filter-width filter-thpadding'><?php echo $lang->pivot->type;?></th>
  120. <td class='filter-tdpadding'>{type}</td>
  121. </tr>
  122. <tr>
  123. <th class='filter-width filter-thpadding'><?php echo $lang->pivot->field;?></th>
  124. <td class='filter-tdpadding'>{fieldSelect}</td>
  125. </tr>
  126. <tr class='saveAs {saveAsClass}'>
  127. <th class='filter-width filter-thpadding'><?php echo $lang->pivot->showAs;?></th>
  128. <td class='filter-tdpadding'>{saveAs}</td>
  129. </tr>
  130. <tr class='default-line'>
  131. <th class='filter-width filter-thpadding'><?php echo $lang->pivot->default;?></th>
  132. <td class='filter-tdpadding'>{defaultControl}</td>
  133. </tr>
  134. <tr>
  135. <th class='filter-width filter-thpadding'><?php echo $lang->pivot->filterName;?></th>
  136. <td class='required filter-tdpadding'>
  137. <?php echo html::input('name', '{filterName}', "class='form-control' onchange='changeName(this, this.value)'");?>
  138. </td>
  139. </tr>
  140. </tbody>
  141. </table>
  142. </form>
  143. </div>
  144. </div>
  145. </template>
  146. <template id='queryFilterItemTpl'>
  147. <div class='filter-item filter-item-{index} input-group' data-index='{index}'>
  148. <span class='field-name input-group-addon'>{name}</span>
  149. <div class="default-block hidden"><?php echo html::input('default', '', "class='form-control form-input '")?></div>
  150. <div class="default-block hidden"><?php echo html::input('default', '', "class='form-control form-date '")?></div>
  151. <div class="default-block hidden"><?php echo html::input('default', '', "class='form-control form-datetime '")?></div>
  152. <div class="default-block hidden"><?php echo html::select('default', '', '', "class='form-control form-select multiple'");?></div>
  153. </div>
  154. </template>
  155. <template id='resultFilterItemTpl'>
  156. <div class='filter-item filter-item-{index} input-group' data-index='{index}'>
  157. <span class='field-name input-group-addon'>{name}</span>
  158. {search}
  159. </div>
  160. </template>
  161. <script>
  162. function queryFilter()
  163. {
  164. setSearchFilters();
  165. apply();
  166. }
  167. function setSearchFilters()
  168. {
  169. var pivot = DataStorage.clone('pivot');
  170. pivot.searchFilters = JSON.parse(JSON.stringify(pivot.filters));
  171. if(DataStorage.isQueryFilter())
  172. {
  173. pivot.filters.forEach(function(filter, index)
  174. {
  175. var find = $('#step' + DataStorage.step + 'Content #filterItems').find('.filter-item-' + index + ' .form-' + filter.type);
  176. if(find.length != 0) pivot.searchFilters[index].default = find.val();
  177. });
  178. }
  179. else
  180. {
  181. pivot.filters.forEach(function(filter, index)
  182. {
  183. var filterItem = $('#step' + DataStorage.step + 'Content #filterItems').find('.filter-item-' + index);
  184. var type = filter.type;
  185. if(type == 'input')
  186. {
  187. var find = filterItem.find(' .form-' + type);
  188. if(find.length != 0) pivot.searchFilters[index].default = find.val();
  189. }
  190. else if(type == 'select')
  191. {
  192. var find = filterItem.find(' .form-' + type);
  193. if(find.length != 0) pivot.searchFilters[index].default = find.data('zui.picker').getValue();
  194. }
  195. else if(type == 'date' || type == 'datetime')
  196. {
  197. var begin = filterItem.find('.form-' + type + '.default-begin');
  198. var end = filterItem.find('.form-' + type + '.default-end');
  199. pivot.searchFilters[index].default =
  200. {
  201. "begin": begin.length != 0 ? begin.val() : filter.default.begin,
  202. "end": end.length != 0 ? end.val() : filter.default.end
  203. };
  204. }
  205. });
  206. }
  207. DataStorage.pivot = pivot;
  208. }
  209. </script>
  210. <script><?php include('../../js/filter.js');?></script>