modelEntity.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  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('数据列表')" />
  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. <div class="select-list">
  11. <div class="form-group">
  12. <div class="col-sm-12">
  13. <p class="form-control-static" th:attr="style='color:#333'" th:text="'模型名称 :' + ${modelProject.modelName}"></p>
  14. </div>
  15. <div class="col-sm-12">
  16. <p class="form-control-static" th:attr="style='color:#333'" th:text="'模型描述 :' + ${modelProject.modelRemark}"></p>
  17. </div>
  18. </div>
  19. </div>
  20. </div>
  21. <div class="col-sm-12 search-collapse">
  22. <form id="formId">
  23. <input type="hidden" id="projectId" name="projectId" th:value="${modelProject.id}">
  24. <input type="hidden" id="versionId" name="versionId" value="0">
  25. <div class="select-list">
  26. <ul>
  27. <li>
  28. <label>表名称:</label>
  29. <input type="text" name="entityName"/>
  30. </li>
  31. <li>
  32. <label>表逻辑名:</label>
  33. <input type="text" name="entityCode"/>
  34. </li>
  35. <li>
  36. <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  37. <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
  38. </li>
  39. </ul>
  40. </div>
  41. </form>
  42. </div>
  43. <div class="btn-group-sm" id="toolbar" role="group">
  44. <a class="btn btn-success" onclick="add()" shiro:hasPermission="model:modelEntity:add">
  45. <i class="fa fa-plus"></i> 添加
  46. </a>
  47. <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="model:modelEntity:edit">
  48. <i class="fa fa-edit"></i> 修改
  49. </a>
  50. <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="model:modelEntity:remove">
  51. <i class="fa fa-remove"></i> 删除
  52. </a>
  53. <!-- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="model:modelEntity:export">-->
  54. <!-- <i class="fa fa-download"></i> 导出-->
  55. <!-- </a>-->
  56. <a class="btn btn-warning" onclick="importTable()" shiro:hasPermission="model:modelEntity:import">
  57. <i class="fa fa-upload"></i> 从数据库导入
  58. </a>
  59. <a class="btn btn-primary" onclick="$.table.importExcel()" shiro:hasPermission="model:modelEntity:import">
  60. <i class="fa fa-edit"></i> 从文件导入
  61. </a>
  62. <a class="btn btn-danger" onclick="closeItem()">
  63. <i class="fa fa-reply-all"></i> 关闭
  64. </a>
  65. </div>
  66. <div class="col-sm-12 select-table table-striped">
  67. <table id="bootstrap-table"
  68. data-use-row-attr-func="true"
  69. data-reorderable-rows="true"></table>
  70. </div>
  71. </div>
  72. </div>
  73. <th:block th:include="include :: footer" />
  74. <th:block th:include="include :: bootstrap-table-reorder-rows-js" />
  75. <!-- 导入区域 -->
  76. <script id="importTpl" type="text/template">
  77. <form enctype="multipart/form-data" class="mt20 mb10">
  78. <div class="col-xs-offset-1">
  79. <input type="hidden" id="prjId" name="prjId" th:value="${modelProject.id}">
  80. <input type="file" id="file" name="file"/>
  81. <div class="mt10 pt5">
  82. 点击这里<a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i class="fa fa-file-excel-o"></i> 下载模板</a>文件
  83. </div>
  84. <p class="pull-left mt10 text-danger">
  85. 提示:仅允许导入“xls”或“xlsx”格式文件!
  86. </p>
  87. </div>
  88. </form>
  89. </script>
  90. <script th:inline="javascript">
  91. var addFlag = [[${@permission.hasPermi('model:modelEntity:add')}]];
  92. var editFlag = [[${@permission.hasPermi('model:modelEntity:edit')}]];
  93. var removeFlag = [[${@permission.hasPermi('model:modelEntity:remove')}]];
  94. var modelFieldFlag = [[${@permission.hasPermi('model:modelField:view')}]];
  95. var prefix = ctx + "model/modelEntity";
  96. $(function() {
  97. var options = {
  98. url: prefix + "/list",
  99. createUrl: prefix + "/add/{id}",
  100. updateUrl: prefix + "/edit/{id}",
  101. removeUrl: prefix + "/remove",
  102. exportUrl: prefix + "/export",
  103. importUrl: prefix + "/importExpress",
  104. importTemplateUrl: prefix + "/importTemplate",
  105. modalName: "数据",
  106. pagination: true,
  107. showSearch: true,
  108. showRefresh: true,
  109. showToggle: true,
  110. showColumns: true,
  111. uniqueId: "id",
  112. sortName: "entitySort",
  113. sortOrder: "asc",
  114. onReorderRow: function (data) {
  115. saveSorted(JSON.stringify(data))
  116. return true;
  117. },
  118. // sidePagination: "client",
  119. columns: [{
  120. checkbox: true
  121. },
  122. {
  123. field: 'id',
  124. title: '主键',
  125. visible: false
  126. },
  127. {
  128. field: 'projectId',
  129. title: '模型对象ID',
  130. visible: false
  131. },
  132. {
  133. field: 'versionId',
  134. title: '版本id',
  135. visible: false
  136. },
  137. {
  138. field: 'entityName',
  139. title: '表名称'
  140. },
  141. {
  142. field: 'entityCode',
  143. title: '表逻辑名'
  144. },
  145. {
  146. field: 'remark',
  147. title: '描述'
  148. },
  149. {
  150. field: 'parentVersionId',
  151. title: '基版本id',
  152. visible: false
  153. },
  154. {
  155. title: '操作',
  156. align: 'left',
  157. formatter: function(value, row, index) {
  158. var actions = [];
  159. actions.push('<a class="btn btn-warning btn-xs ' + modelFieldFlag + '" href="javascript:void(0)" onclick="modelField(\'' + row.projectId + '\',\'' + row.id + '\')"><i class="fa fa-list"></i> 字段列表 </a> ');
  160. actions.push('<a class="btn btn-success btn-xs ' + addFlag + '" href="javascript:void(0)" onclick="copy(\'' + row.id + '\',\'' + row.entityName + '\')"><i class="fa fa-edit"></i>复制</a> ');
  161. actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
  162. actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
  163. return actions.join('');
  164. }
  165. }]
  166. };
  167. $.table.init(options);
  168. });
  169. /*新增数据*/
  170. function add() {
  171. var projectId = $("#projectId").val();
  172. $.operate.add(projectId);
  173. }
  174. /*复制表结构*/
  175. function copy(id,entityName) {
  176. $.modal.open("复制" + entityName, prefix + "/copy/"+ id);
  177. }
  178. /** 字段列表 */
  179. function modelField(projectId, entityId) {
  180. var data = $("#bootstrap-table").bootstrapTable('getRowByUniqueId', entityId);
  181. var url = ctx + "model/modelField?projectId=" + projectId + "&entityId=" + entityId + "&versionId=0";
  182. $.modal.openTab(data.entityCode+"["+data.entityName+"]", url);
  183. }
  184. // 从数据库导入
  185. function importTable() {
  186. var projectId = $("#projectId").val();
  187. var checkFlag = false;
  188. var config = {
  189. url: prefix + "/importTableCheck",
  190. type: "post",
  191. dataType: "json",
  192. data: {
  193. "projectId": projectId
  194. },
  195. success: function(result) {
  196. if (result.code == web_status.SUCCESS) {
  197. openImportTable();
  198. } else if (result.code == web_status.WARNING) {
  199. $.modal.alertWarning(result.msg);
  200. } else {
  201. $.modal.alertError(result.msg);
  202. }
  203. }
  204. };
  205. $.ajax(config);
  206. }
  207. function openImportTable() {
  208. var projectId = $("#projectId").val();
  209. var importTableUrl = prefix + "/importTable/"+projectId;
  210. $.modal.open("从数据库导入", importTableUrl);
  211. }
  212. function saveSorted(data) {
  213. var table = $("#bootstrap-table").bootstrapTable('getOptions');
  214. var pageSize = table.pageSize;
  215. var pageNumber = table.pageNumber;
  216. var sortParams = {
  217. "pageSize": pageSize,
  218. "pageNumber": pageNumber,
  219. "sortData": data
  220. };
  221. $.ajax({
  222. url: prefix + "/sort",
  223. type: "post",
  224. dataType: "json",
  225. data: {
  226. params: sortParams
  227. },
  228. beforeSend: function () {
  229. $.modal.loading("正在处理中,请稍后...");
  230. $.modal.disable();
  231. },
  232. success: function(result) {
  233. if (result.code == web_status.SUCCESS) {
  234. $.table.search();
  235. $.modal.msgSuccess(result.msg)
  236. } else if (result.code == web_status.WARNING) {
  237. $.modal.alertWarning(result.msg)
  238. } else {
  239. $.modal.alertError(result.msg);
  240. }
  241. $.modal.closeLoading();
  242. $.modal.enable();
  243. }
  244. })
  245. }
  246. </script>
  247. </body>
  248. </html>