SearchBox.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <template>
  2. <div class="app-container">
  3. <el-form :inline="true" :model="data" class="demo-form-inline">
  4. <el-form-item label="">
  5. <el-select v-model="data.table" filterable clearable placeholder="数据库表">
  6. <el-option v-for="item of table" :key="item.id" :label="item.field" :value="item.id" />
  7. </el-select>
  8. </el-form-item>
  9. <el-form-item label="">
  10. <el-input v-model="data.field" clearable placeholder="数据库表字段" />
  11. </el-form-item>
  12. <el-form-item label="">
  13. <el-input v-model="data.field_name" clearable placeholder="表字段名称" />
  14. </el-form-item>
  15. <el-form-item label="">
  16. <el-input v-model="data.dict" clearable placeholder="数据字典" />
  17. </el-form-item>
  18. <el-form-item>
  19. <el-button type="primary" @click="onSubmit">查询</el-button>
  20. </el-form-item>
  21. <el-form-item>
  22. <el-button @click="onReset">重置</el-button>
  23. </el-form-item>
  24. </el-form>
  25. </div>
  26. </template>
  27. <script>
  28. import { get_field_detail } from '@/api/dict'
  29. export default {
  30. props: {
  31. data: {
  32. type: Object,
  33. default() {
  34. return {
  35. table: '',
  36. field: '',
  37. field_name: '',
  38. dict: ''
  39. }
  40. }
  41. }
  42. },
  43. data() {
  44. return {
  45. table: []
  46. }
  47. },
  48. created() {
  49. this.getData()
  50. },
  51. methods: {
  52. getData() {
  53. get_field_detail({ field: 0 }).then(res => {
  54. const { p } = res
  55. this.table = p
  56. })
  57. },
  58. onSubmit() {
  59. this.$emit('search')
  60. },
  61. onReset() {
  62. this.$emit('reset')
  63. }
  64. }
  65. }
  66. </script>
  67. <style lang="scss" scoped>
  68. </style>