From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目

---
 src/views/infra/codegen/components/BasicInfoForm.vue |   87 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 87 insertions(+), 0 deletions(-)

diff --git a/src/views/infra/codegen/components/BasicInfoForm.vue b/src/views/infra/codegen/components/BasicInfoForm.vue
new file mode 100644
index 0000000..1859300
--- /dev/null
+++ b/src/views/infra/codegen/components/BasicInfoForm.vue
@@ -0,0 +1,87 @@
+<template>
+  <el-form ref="formRef" :model="formData" :rules="rules" label-width="120px">
+    <el-row>
+      <el-col :span="12">
+        <el-form-item label="琛ㄥ悕绉�" prop="tableName">
+          <el-input v-model="formData.tableName" placeholder="璇疯緭鍏ヤ粨搴撳悕绉�" />
+        </el-form-item>
+      </el-col>
+      <el-col :span="12">
+        <el-form-item label="琛ㄦ弿杩�" prop="tableComment">
+          <el-input v-model="formData.tableComment" placeholder="璇疯緭鍏�" />
+        </el-form-item>
+      </el-col>
+      <el-col :span="12">
+        <el-form-item prop="className">
+          <template #label>
+            <span>
+              瀹炰綋绫诲悕绉�
+              <el-tooltip
+                content="榛樿鍘婚櫎琛ㄥ悕鐨勫墠缂�銆傚鏋滃瓨鍦ㄩ噸澶嶏紝鍒欓渶瑕佹墜鍔ㄦ坊鍔犲墠缂�锛岄伩鍏� MyBatis 鎶� Alias 閲嶅鐨勯棶棰樸��"
+                placement="top"
+              >
+                <Icon class="" icon="ep:question-filled" />
+              </el-tooltip>
+            </span>
+          </template>
+          <el-input v-model="formData.className" placeholder="璇疯緭鍏�" />
+        </el-form-item>
+      </el-col>
+      <el-col :span="12">
+        <el-form-item label="浣滆��" prop="author">
+          <el-input v-model="formData.author" placeholder="璇疯緭鍏�" />
+        </el-form-item>
+      </el-col>
+      <el-col :span="24">
+        <el-form-item label="澶囨敞" prop="remark">
+          <el-input v-model="formData.remark" :rows="3" type="textarea" />
+        </el-form-item>
+      </el-col>
+    </el-row>
+  </el-form>
+</template>
+<script lang="ts" setup>
+import * as CodegenApi from '@/api/infra/codegen'
+import { PropType } from 'vue'
+
+defineOptions({ name: 'InfraCodegenBasicInfoForm' })
+
+const props = defineProps({
+  table: {
+    type: Object as PropType<Nullable<CodegenApi.CodegenTableVO>>,
+    default: () => null
+  }
+})
+
+const formRef = ref()
+const formData = ref({
+  tableName: '',
+  tableComment: '',
+  className: '',
+  author: '',
+  remark: ''
+})
+const rules = reactive({
+  tableName: [required],
+  tableComment: [required],
+  className: [required],
+  author: [required]
+})
+
+/** 鐩戝惉 table 灞炴�э紝澶嶅埗缁� formData 灞炴�� */
+watch(
+  () => props.table,
+  (table) => {
+    if (!table) return
+    formData.value = table
+  },
+  {
+    deep: true,
+    immediate: true
+  }
+)
+
+defineExpose({
+  validate: async () => unref(formRef)?.validate()
+})
+</script>

--
Gitblit v1.8.0