editTableGroup.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml"
  3. xmlns:th="http://www.thymeleaf.org" lang="zh-CN">
  4. <div class="container-fluid">
  5. <div class="container">
  6. <form id="tableGroupModifyForm" class="form-horizontal" role="form" method="post">
  7. <!-- 标题 -->
  8. <div class="row text-center">
  9. <h3>[[${mapping?.name}]]</h3>
  10. <p>&nbsp;</p>
  11. </div>
  12. <!-- 驱动信息面板 -->
  13. <div class="row">
  14. <div class="panel panel-default">
  15. <div class="panel-body">
  16. <div class="row">
  17. <div class="col-md-4">
  18. <div class="row">
  19. <div class="col-md-4 text-right">
  20. <img draggable="false" class="dbsyncer_img" th:src="@{'/img/'+ ${mapping?.sourceConnector?.config?.connectorType} + '.png'}">
  21. </div>
  22. <div class="col-md-8">
  23. <p class="driver_break_word">[[${mapping?.sourceConnector?.name}]]</p>
  24. <p>数据源表:[[${tableGroup?.sourceTable?.name}]]</p>
  25. </div>
  26. </div>
  27. </div>
  28. <div class="col-md-4 text-center">
  29. <div class="row-fluid">
  30. <div class="span4"><span class="fa fa-arrow-right fa-3x"></span></div>
  31. </div>
  32. </div>
  33. <div class="col-md-4">
  34. <div class="row">
  35. <div class="col-md-4 text-right">
  36. <img draggable="false" class="dbsyncer_img" th:src="@{'/img/'+ ${mapping?.targetConnector?.config?.connectorType} + '.png'}">
  37. </div>
  38. <div class="col-md-8">
  39. <p class="driver_break_word">[[${mapping?.targetConnector?.name}]]</p>
  40. <p>目标源表:[[${tableGroup?.targetTable?.name}]]</p>
  41. </div>
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. </div>
  47. </div>
  48. <!-- 驱动配置操作 -->
  49. <div class="form-group">
  50. <div class="row">
  51. <div class="col-sm-10"></div>
  52. <div class="col-md-2 text-right">
  53. <button id="tableGroupBackBtn" th:mappingId="${mapping?.id}" type="button" class="btn btn-default">
  54. <span class="fa fa-reply"></span>返回
  55. </button>
  56. <button id="tableGroupSubmitBtn" th:mappingId="${mapping?.id}" type="button" class="btn btn-primary">
  57. <span class="fa fa-save"></span>保存
  58. </button>
  59. </div>
  60. </div>
  61. </div>
  62. <!-- 基本配置区域 -->
  63. <div class="row">
  64. <div class="panel-group">
  65. <div class="panel panel-success">
  66. <div class="panel-heading">
  67. <h4 class="panel-title">
  68. <u data-toggle="collapse" class="dbsyncer_pointer" href="#tableGroupBaseConfig">基本配置</u>
  69. </h4>
  70. </div>
  71. <div id="tableGroupBaseConfig" class="panel-body panel-collapse collapse in">
  72. <!-- 表映射映射 -->
  73. <p class="text-muted">映射关系</p>
  74. <div class="row">
  75. <!-- 数据源表字段配置 -->
  76. <div class="col-md-5">
  77. <label class="col-sm-3 control-label text-right">数据源表字段</label>
  78. <div class="col-sm-9">
  79. <select id="sourceFieldMapping" class="form-control select-control">
  80. <option value="">无</option>
  81. <option th:each="c,s:${tableGroup?.sourceTable?.column}" th:value="${c?.name}" th:text="${c?.name} +' (' + ${c?.typeName} +')'" />
  82. </select>
  83. </div>
  84. </div>
  85. <!-- 中间图标 -->
  86. <div class="col-md-2 text-center">
  87. <span class="fa fa-angle-double-right fa-2x"></span>
  88. </div>
  89. <!-- 目标源表字段配置 -->
  90. <div class="col-md-5">
  91. <div class="form-group">
  92. <label class="col-sm-3 control-label text-right">目标源表字段</label>
  93. <div class="col-sm-9">
  94. <select id="targetFieldMapping" class="form-control select-control">
  95. <option value="">无</option>
  96. <option th:each="c,s:${tableGroup?.targetTable?.column}" th:value="${c?.name}" th:text="${c?.name} +' (' + ${c?.typeName} +')'" />
  97. </select>
  98. </div>
  99. </div>
  100. </div>
  101. </div>
  102. <div class="form-group">
  103. <div class="row">
  104. <div class="col-md-10"></div>
  105. <div class="col-md-2 text-right">
  106. <button id="fieldMappingDelBtn" type="button" class="btn btn-default" disabled="disabled">
  107. <span class="fa fa-remove"></span>删除
  108. </button>
  109. <button id="fieldMappingAddBtn" type="button" class="btn btn-primary">
  110. <span class="fa fa-plus"></span>添加
  111. </button>
  112. </div>
  113. </div>
  114. </div>
  115. <div class="form-group">
  116. <table class="table table-hover">
  117. <thead>
  118. <tr>
  119. <th>数据源表字段</th>
  120. <th>目标源表字段</th>
  121. <th>目标源主键</th>
  122. <th><input type="checkbox" class="fieldMappingDeleteCheckboxAll" /></th>
  123. </tr>
  124. </thead>
  125. <tbody id="fieldMappingList">
  126. <tr title='双击设置/取消主键' th:each="f,s:${tableGroup?.fieldMapping}">
  127. <td>[[${f?.source?.name}]]</td>
  128. <td>[[${f?.target?.name}]]</td>
  129. <td><i th:if="${f?.target?.pk}" title="主键" class="fa fa-key fa-fw fa-rotate-90 text-warning"></i></td>
  130. <td><input th:id="'fieldIndex_'+${s.index + 1}" type="checkbox" class="fieldMappingDeleteCheckbox" /></td>
  131. </tr>
  132. </tbody>
  133. </table>
  134. </div>
  135. <!-- 隐藏表单值 -->
  136. <div class="form-group hidden">
  137. <input name="id" class="form-control" type="text" th:value="${tableGroup?.id}"/>
  138. <input id="fieldMapping" name="fieldMapping" class="form-control" type="text"/>
  139. </div>
  140. </div>
  141. </div>
  142. </div>
  143. </div>
  144. <!-- 高级配置区域 -->
  145. <div class="row">
  146. <div class="panel-group">
  147. <div class="panel panel-default">
  148. <div class="panel-heading">
  149. <h4 class="panel-title">
  150. <u data-toggle="collapse" class="dbsyncer_pointer" href="#tableGroupSuperConfig" title="该配置只对当前映射关系生效, 上一级的高级配置将失效">高级配置</u>
  151. </h4>
  152. </div>
  153. <div id="tableGroupSuperConfig" class="panel-body panel-collapse collapse">
  154. <!-- 参数配置 -->
  155. <div th:replace="mapping/editParameter :: content"></div>
  156. <!-- 过滤条件 -->
  157. <div th:replace="mapping/editFilter :: content"></div>
  158. <!-- 转换配置 -->
  159. <div th:replace="mapping/editConvert :: content"></div>
  160. <!-- 插件配置 -->
  161. <div th:replace="mapping/editPlugin :: content"></div>
  162. </div>
  163. </div>
  164. </div>
  165. </div>
  166. </form>
  167. </div>
  168. </div>
  169. <script th:src="@{/js/mapping/editTableGroup.js}"></script>
  170. <script th:src="@{/js/mapping/editParam.js}"></script>
  171. <script th:src="@{/js/mapping/editFilterAndConvert.js}"></script>
  172. </html>