You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

128 lines
4.4 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. <template>
  2. <section class="padding">
  3. <el-row :gutter="10">
  4. <el-col :span="24">
  5. <el-form :model="dbForm" ref="dbFormRef">
  6. <el-form-item label="数据库" :rules="{required:true,message:'此项必输',trigger:'blur'}" prop="dbOwner">
  7. <mdp-select v-model="dbForm.dbOwner" :load-fun="dataSourceList" ></mdp-select>
  8. </el-form-item>
  9. <el-form-item label="表名" :rules="{required:true,message:'此项必输',trigger:'blur'}" prop="tableNames" title="支持多个表,逗号分割">
  10. <el-input type="textarea" :rows="4" v-model="dbForm.tableNames" placeholder="支持多个表,逗号分割,如sys_user,sys_dept"></el-input>
  11. </el-form-item>
  12. <el-form-item label="删除表名前缀" prop="ignoePrefixs">
  13. <el-input v-model="dbForm.ignoePrefixs" placeholder="如 将sys_user中的sys_剔除,可填写sys_"></el-input>
  14. <div>删除表名的某些前缀 将sys_user中的sys_剔除可填写sys_</div>
  15. <div>{{dbForm.ignoePrefixs?(dbForm.tableNames+" => "+doTableNamesReplace()):""}}</div>
  16. </el-form-item>
  17. <el-form-item label="包名" :rules="{required:true,message:'此项必输',trigger:'blur'}" prop="javaPackage">
  18. <el-input v-model="dbForm.javaPackage" placeholder="举例 com.mdp.sys"></el-input>
  19. <div>包名直接作为java文件存放目录页面文件存放的目录也由包名解析而来 举例 com.mdp.sys</div>
  20. <div>java目录{{getJavaDir()}}</div>
  21. <div>页面文件目录{{getPageDir()}}</div>
  22. </el-form-item>
  23. <el-form-item label="页面文件目录过滤规则" prop="pathFilter">
  24. <el-input v-model="dbForm.pathFilter" placeholder="比如 com."></el-input>
  25. <div>包名中如果不想某些字符作为页面文件目录此处填写需要过滤的字符比如 com.</div>
  26. </el-form-item>
  27. <el-form-item label="属性注解" prop="printTableField">
  28. <el-checkbox v-model="dbForm.printTableField">是否打印@TableField到实体属性上</el-checkbox>
  29. <div>如果字段命名非常不规范如字段名为userId,_userid,userid_等无法由驼峰命名转换回来的字段需要通过注解标明真实的字段名</div>
  30. </el-form-item>
  31. </el-form>
  32. </el-col>
  33. </el-row>
  34. <el-row class="footer">
  35. <el-button type="primary" @click="genCode">确定</el-button>
  36. </el-row>
  37. </section>
  38. </template>
  39. <script>
  40. import {dataSourceList} from '@/api/mdp/lcode/dev'
  41. export default {
  42. computed: {
  43. },
  44. props:{
  45. },
  46. watch: {
  47. },
  48. data() {
  49. return {
  50. dbForm:{
  51. tableNames:'',
  52. dbOwner:'',
  53. javaPackage:'',
  54. pathFilter:'',
  55. ignoePrefixs:'',
  56. printTableField:false,
  57. }
  58. }
  59. },//end data
  60. methods: {
  61. dataSourceList,
  62. genCode(){
  63. this.$refs['dbFormRef'].validate(valid=>{
  64. if(valid){
  65. var url=`${this.$mdp.getApiBase()}/lcode/mdp/dev/code/gen?tableNames=${this.dbForm.tableNames}&dbOwner=${this.dbForm.dbOwner}&javaPackage=${this.dbForm.javaPackage}&pathFilter=${this.dbForm.pathFilter}&ignoePrefixs=${this.dbForm.ignoePrefixs}&printTableField=${this.dbForm.printTableField}`
  66. location.href=this.$mdp.replaceUrl(url)
  67. }else{
  68. this.$notify.error("表单验证不通过")
  69. }
  70. })
  71. },
  72. doTableNamesReplace(){
  73. var tableNames=this.dbForm.tableNames;
  74. var ignoePrefixs=this.dbForm.ignoePrefixs;
  75. if(tableNames && tableNames.length>0){
  76. return tableNames.split(",").map(k=>{
  77. if(k.indexOf(ignoePrefixs)==0){
  78. return k.substr(ignoePrefixs.length)
  79. }else{
  80. return k
  81. }
  82. }).join(",")
  83. }else{
  84. return this.dbForm.tableNames
  85. }
  86. },
  87. getJavaDir(){
  88. if(this.dbForm.javaPackage && this.dbForm.javaPackage.length>0){
  89. return this.dbForm.javaPackage.split(".").join("/")
  90. }else{
  91. return ""
  92. }
  93. },
  94. getPageDir(){
  95. if(this.dbForm.javaPackage && this.dbForm.javaPackage.length>0){
  96. if(this.dbForm.pathFilter && this.dbForm.pathFilter.length>0){
  97. if(this.dbForm.javaPackage.indexOf(this.dbForm.pathFilter)==0){
  98. var p=this.dbForm.javaPackage.substr(this.dbForm.pathFilter.length)
  99. return p.split(".").join("/")
  100. }else{
  101. return this.dbForm.javaPackage.split(".").join("/")
  102. }
  103. }else{
  104. return this.dbForm.javaPackage.split(".").join("/")
  105. }
  106. }else{
  107. return ""
  108. }
  109. }
  110. },//end method
  111. components: {
  112. },
  113. mounted() {
  114. }//end mounted
  115. }
  116. </script>
  117. <style rel="stylesheet/scss" lang="scss" scoped>
  118. </style>