list-tree.html.vm 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <!DOCTYPE html>
  2. <html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
  3. <head>
  4. <th:block th:include="include :: header('${functionName}列表')" />
  5. </head>
  6. <body class="gray-bg">
  7. <div class="container-div">
  8. <div class="row">
  9. <div class="col-sm-12 search-collapse">
  10. <form id="formId">
  11. <div class="select-list">
  12. <ul>
  13. #foreach($column in $columns)
  14. #if($column.query)
  15. #set($dictType=$column.dictType)
  16. #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
  17. #set($parentheseIndex=$column.columnComment.indexOf("("))
  18. #if($parentheseIndex != -1)
  19. #set($comment=$column.columnComment.substring(0, $parentheseIndex))
  20. #else
  21. #set($comment=$column.columnComment)
  22. #end
  23. #if($column.htmlType == "input")
  24. <li>
  25. <label>${comment}:</label>
  26. <input type="text" name="${column.javaField}"/>
  27. </li>
  28. #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType)
  29. <li>
  30. <label>${comment}:</label>
  31. <select name="${column.javaField}" th:with="type=${@dict.getType('${dictType}')}">
  32. <option value="">所有</option>
  33. <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
  34. </select>
  35. </li>
  36. #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType)
  37. <li>
  38. <label>${comment}:</label>
  39. <select name="${column.javaField}">
  40. <option value="">所有</option>
  41. <option value="-1">代码生成请选择字典属性</option>
  42. </select>
  43. </li>
  44. #elseif($column.htmlType == "datetime")
  45. <li class="select-time">
  46. <label>${comment}:</label>
  47. <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[begin${AttrName}]"/>
  48. <span>-</span>
  49. <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[end${AttrName}]"/>
  50. </li>
  51. #end
  52. #end
  53. #end
  54. <li>
  55. <a class="btn btn-primary btn-rounded btn-sm" onclick="$.treeTable.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  56. <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
  57. </li>
  58. </ul>
  59. </div>
  60. </form>
  61. </div>
  62. <div class="btn-group-sm" id="toolbar" role="group">
  63. <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="${permissionPrefix}:add">
  64. <i class="fa fa-plus"></i> 新增
  65. </a>
  66. <a class="btn btn-primary" onclick="$.operate.edit()" shiro:hasPermission="${permissionPrefix}:edit">
  67. <i class="fa fa-edit"></i> 修改
  68. </a>
  69. <a class="btn btn-info" id="expandAllBtn">
  70. <i class="fa fa-exchange"></i> 展开/折叠
  71. </a>
  72. </div>
  73. <div class="col-sm-12 select-table table-striped">
  74. <table id="bootstrap-tree-table"></table>
  75. </div>
  76. </div>
  77. </div>
  78. <th:block th:include="include :: footer" />
  79. <script th:inline="javascript">
  80. var addFlag = [[${@permission.hasPermi('${permissionPrefix}:add')}]];
  81. var editFlag = [[${@permission.hasPermi('${permissionPrefix}:edit')}]];
  82. var removeFlag = [[${@permission.hasPermi('${permissionPrefix}:remove')}]];
  83. #foreach($column in $columns)
  84. #if(${column.dictType} != '')
  85. var ${column.javaField}Datas = [[${@dict.getType('${column.dictType}')}]];
  86. #end
  87. #end
  88. var prefix = ctx + "${moduleName}/${businessName}";
  89. $(function() {
  90. var options = {
  91. code: "${treeCode}",
  92. parentCode: "${treeParentCode}",
  93. expandColumn: "${expandColumn}",
  94. uniqueId: "${pkColumn.javaField}",
  95. url: prefix + "/list",
  96. createUrl: prefix + "/add/{id}",
  97. updateUrl: prefix + "/edit/{id}",
  98. removeUrl: prefix + "/remove/{id}",
  99. exportUrl: prefix + "/export",
  100. modalName: "${functionName}",
  101. columns: [{
  102. field: 'selectItem',
  103. radio: true
  104. },
  105. #foreach($column in $columns)
  106. #set($dictType=$column.dictType)
  107. #set($javaField=$column.javaField)
  108. #set($parentheseIndex=$column.columnComment.indexOf("("))
  109. #if($parentheseIndex != -1)
  110. #set($comment=$column.columnComment.substring(0, $parentheseIndex))
  111. #else
  112. #set($comment=$column.columnComment)
  113. #end
  114. #if($column.pk)
  115. #elseif($column.list && "" != $dictType)
  116. {
  117. field: '${javaField}',
  118. title: '${comment}',
  119. align: 'left',
  120. formatter: function(value, row, index) {
  121. return $.table.selectDictLabel#if($column.htmlType == "checkbox")s#end(${javaField}Datas, value);
  122. }
  123. },
  124. #elseif($column.list && "" != $javaField)
  125. {
  126. field: '${javaField}',
  127. title: '${comment}',
  128. align: 'left'
  129. },
  130. #end
  131. #end
  132. {
  133. title: '操作',
  134. align: 'center',
  135. align: 'left',
  136. formatter: function(value, row, index) {
  137. var actions = [];
  138. actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.${pkColumn.javaField} + '\')"><i class="fa fa-edit"></i>编辑</a> ');
  139. actions.push('<a class="btn btn-info btn-xs ' + addFlag + '" href="javascript:void(0)" onclick="$.operate.add(\'' + row.${pkColumn.javaField} + '\')"><i class="fa fa-plus"></i>新增</a> ');
  140. actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.${pkColumn.javaField} + '\')"><i class="fa fa-remove"></i>删除</a>');
  141. return actions.join('');
  142. }
  143. }]
  144. };
  145. $.treeTable.init(options);
  146. });
  147. </script>
  148. </body>
  149. </html>