datasource.data.ts 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. import { BasicColumn, FormSchema } from '/@/components/Table';
  2. const dbDriverMap = {
  3. // MySQL 数据库
  4. '1': { dbDriver: 'com.mysql.jdbc.Driver' },
  5. //MySQL5.7+ 数据库
  6. '4': { dbDriver: 'com.mysql.cj.jdbc.Driver' },
  7. // Oracle
  8. '2': { dbDriver: 'oracle.jdbc.OracleDriver' },
  9. // SQLServer 数据库
  10. '3': { dbDriver: 'com.microsoft.sqlserver.jdbc.SQLServerDriver' },
  11. // marialDB 数据库
  12. '5': { dbDriver: 'org.mariadb.jdbc.Driver' },
  13. // postgresql 数据库
  14. '6': { dbDriver: 'org.postgresql.Driver' },
  15. // 达梦 数据库
  16. '7': { dbDriver: 'dm.jdbc.driver.DmDriver' },
  17. // 人大金仓 数据库
  18. '8': { dbDriver: 'com.kingbase8.Driver' },
  19. // 神通 数据库
  20. '9': { dbDriver: 'com.oscar.Driver' },
  21. // SQLite 数据库
  22. '10': { dbDriver: 'org.sqlite.JDBC' },
  23. // DB2 数据库
  24. '11': { dbDriver: 'com.ibm.db2.jcc.DB2Driver' },
  25. // Hsqldb 数据库
  26. '12': { dbDriver: 'org.hsqldb.jdbc.JDBCDriver' },
  27. // Derby 数据库
  28. '13': { dbDriver: 'org.apache.derby.jdbc.ClientDriver' },
  29. // H2 数据库
  30. '14': { dbDriver: 'org.h2.Driver' },
  31. // 其他数据库
  32. '15': { dbDriver: '' },
  33. };
  34. const dbUrlMap = {
  35. // MySQL 数据库
  36. '1': { dbUrl: 'jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false' },
  37. //MySQL5.7+ 数据库
  38. '4': {
  39. dbUrl:
  40. 'jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai',
  41. },
  42. // Oracle
  43. '2': { dbUrl: 'jdbc:oracle:thin:@127.0.0.1:1521:ORCL' },
  44. // SQLServer 数据库
  45. '3': { dbUrl: 'jdbc:sqlserver://127.0.0.1:1433;SelectMethod=cursor;DatabaseName=jeecgboot' },
  46. // Mariadb 数据库
  47. '5': { dbUrl: 'jdbc:mariadb://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useSSL=false' },
  48. // Postgresql 数据库
  49. '6': { dbUrl: 'jdbc:postgresql://127.0.0.1:5432/jeecg-boot' },
  50. // 达梦 数据库
  51. '7': { dbUrl: 'jdbc:dm://127.0.0.1:5236/?jeecg-boot&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8' },
  52. // 人大金仓 数据库
  53. '8': { dbUrl: 'jdbc:kingbase8://127.0.0.1:54321/jeecg-boot' },
  54. // 神通 数据库
  55. '9': { dbUrl: 'jdbc:oscar://192.168.1.125:2003/jeecg-boot' },
  56. // SQLite 数据库
  57. '10': { dbUrl: 'jdbc:sqlite://opt/test.db' },
  58. // DB2 数据库
  59. '11': { dbUrl: 'jdbc:db2://127.0.0.1:50000/jeecg-boot' },
  60. // Hsqldb 数据库
  61. '12': { dbUrl: 'jdbc:hsqldb:hsql://127.0.0.1/jeecg-boot' },
  62. // Derby 数据库
  63. '13': { dbUrl: 'jdbc:derby://127.0.0.1:1527/jeecg-boot' },
  64. // H2 数据库
  65. '14': { dbUrl: 'jdbc:h2:tcp://127.0.0.1:8082/jeecg-boot' },
  66. // 其他数据库
  67. '15': { dbUrl: '' },
  68. };
  69. export const columns: BasicColumn[] = [
  70. {
  71. title: '数据源名称',
  72. dataIndex: 'name',
  73. width: 200,
  74. align: 'left',
  75. },
  76. {
  77. title: '数据库类型',
  78. dataIndex: 'dbType_dictText',
  79. width: 200,
  80. },
  81. {
  82. title: '驱动类',
  83. dataIndex: 'dbDriver',
  84. width: 200,
  85. },
  86. {
  87. title: '数据源地址',
  88. dataIndex: 'dbUrl',
  89. },
  90. {
  91. title: '用户名',
  92. dataIndex: 'dbUsername',
  93. width: 200,
  94. },
  95. ];
  96. export const searchFormSchema: FormSchema[] = [
  97. {
  98. field: 'name',
  99. label: '数据源名称',
  100. component: 'Input',
  101. colProps: { span: 8 },
  102. },
  103. {
  104. field: 'dbType',
  105. label: '数据库类型',
  106. component: 'JDictSelectTag',
  107. colProps: { span: 8 },
  108. componentProps: () => {
  109. return {
  110. dictCode: 'database_type',
  111. };
  112. },
  113. },
  114. ];
  115. export const formSchema: FormSchema[] = [
  116. {
  117. field: 'id',
  118. label: 'id',
  119. component: 'Input',
  120. show: false,
  121. },
  122. {
  123. field: 'code',
  124. label: '数据源编码',
  125. component: 'Input',
  126. required: true,
  127. dynamicDisabled: ({ values }) => {
  128. return !!values.id;
  129. },
  130. },
  131. {
  132. field: 'name',
  133. label: '数据源名称',
  134. component: 'Input',
  135. required: true,
  136. },
  137. {
  138. field: 'dbType',
  139. label: '数据库类型',
  140. component: 'JDictSelectTag',
  141. required: true,
  142. componentProps: ({ formModel }) => {
  143. return {
  144. dictCode: 'database_type',
  145. onChange: (e: any) => {
  146. formModel = Object.assign(formModel, dbDriverMap[e], dbUrlMap[e]);
  147. },
  148. };
  149. },
  150. },
  151. {
  152. field: 'dbDriver',
  153. label: '驱动类',
  154. required: true,
  155. component: 'Input',
  156. },
  157. {
  158. field: 'dbUrl',
  159. label: '数据源地址',
  160. required: true,
  161. component: 'Input',
  162. },
  163. {
  164. field: 'dbUsername',
  165. label: '用户名',
  166. required: true,
  167. component: 'Input',
  168. },
  169. {
  170. field: 'dbPassword',
  171. label: '密码',
  172. required: true,
  173. component: 'InputPassword',
  174. slot: 'pwd',
  175. },
  176. {
  177. field: 'remark',
  178. label: '备注',
  179. component: 'InputTextArea',
  180. },
  181. ];