basicInfoForm.vue 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <template>
  2. <el-form ref="basicInfoForm" :model="infoForm" :rules="rules" label-width="150px">
  3. <el-row>
  4. <el-col :span="12">
  5. <el-form-item label="表名称" prop="tableName">
  6. <el-input placeholder="请输入仓库名称" v-model="infoForm.tableName" />
  7. </el-form-item>
  8. </el-col>
  9. <el-col :span="12">
  10. <el-form-item label="表描述" prop="tableComment">
  11. <el-input placeholder="请输入" v-model="infoForm.tableComment" />
  12. </el-form-item>
  13. </el-col>
  14. <el-col :span="12">
  15. <el-form-item label="实体类名称" prop="className">
  16. <el-input placeholder="请输入" v-model="infoForm.className" />
  17. </el-form-item>
  18. </el-col>
  19. <el-col :span="12">
  20. <el-form-item label="作者" prop="functionAuthor">
  21. <el-input placeholder="请输入" v-model="infoForm.functionAuthor" />
  22. </el-form-item>
  23. </el-col>
  24. <el-col :span="24">
  25. <el-form-item label="备注" prop="remark">
  26. <el-input type="textarea" :rows="3" v-model="infoForm.remark"></el-input>
  27. </el-form-item>
  28. </el-col>
  29. </el-row>
  30. </el-form>
  31. </template>
  32. <script setup lang="ts">
  33. import { PropType } from 'vue';
  34. const prop = defineProps({
  35. info: {
  36. type: Object as PropType<any>,
  37. default: () => {
  38. return {};
  39. }
  40. }
  41. });
  42. const infoForm = computed(() => prop.info)
  43. // 表单校验
  44. const rules = ref({
  45. tableName: [{ required: true, message: "请输入表名称", trigger: "blur" }],
  46. tableComment: [{ required: true, message: "请输入表描述", trigger: "blur" }],
  47. className: [{ required: true, message: "请输入实体类名称", trigger: "blur" }],
  48. functionAuthor: [{ required: true, message: "请输入作者", trigger: "blur" }]
  49. });
  50. </script>