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/demo/demo03/inner/components/Demo03GradeForm.vue | 72 ++++++++++++++++++++++++++++++++++++
1 files changed, 72 insertions(+), 0 deletions(-)
diff --git a/src/views/infra/demo/demo03/inner/components/Demo03GradeForm.vue b/src/views/infra/demo/demo03/inner/components/Demo03GradeForm.vue
new file mode 100644
index 0000000..a15bf51
--- /dev/null
+++ b/src/views/infra/demo/demo03/inner/components/Demo03GradeForm.vue
@@ -0,0 +1,72 @@
+<template>
+ <el-form
+ ref="formRef"
+ :model="formData"
+ :rules="formRules"
+ label-width="100px"
+ v-loading="formLoading"
+ >
+ <el-form-item label="鍚嶅瓧" prop="name">
+ <el-input v-model="formData.name" placeholder="璇疯緭鍏ュ悕瀛�" />
+ </el-form-item>
+ <el-form-item label="鐝富浠�" prop="teacher">
+ <el-input v-model="formData.teacher" placeholder="璇疯緭鍏ョ彮涓讳换" />
+ </el-form-item>
+ </el-form>
+</template>
+<script setup lang="ts">
+import { Demo03StudentApi } from '@/api/infra/demo/demo03/inner'
+
+const props = defineProps<{
+ studentId: number // 瀛︾敓缂栧彿锛堜富琛ㄧ殑鍏宠仈瀛楁锛�
+}>()
+const formLoading = ref(false) // 琛ㄥ崟鐨勫姞杞戒腑
+const formData = ref<any>({})
+const formRules = reactive({
+ studentId: [{ required: true, message: '瀛︾敓缂栧彿涓嶈兘涓虹┖', trigger: 'blur' }],
+ name: [{ required: true, message: '鍚嶅瓧涓嶈兘涓虹┖', trigger: 'blur' }],
+ teacher: [{ required: true, message: '鐝富浠讳笉鑳戒负绌�', trigger: 'blur' }]
+})
+const formRef = ref() // 琛ㄥ崟 Ref
+
+/** 鐩戝惉涓昏〃鐨勫叧鑱斿瓧娈电殑鍙樺寲锛屽姞杞藉搴旂殑瀛愯〃鏁版嵁 */
+watch(
+ () => props.studentId,
+ async (val) => {
+ // 1. 閲嶇疆琛ㄥ崟
+ formData.value = {
+ id: undefined,
+ studentId: undefined,
+ name: undefined,
+ teacher: undefined
+ }
+ // 2. val 闈炵┖锛屽垯鍔犺浇鏁版嵁
+ if (!val) {
+ return
+ }
+ try {
+ formLoading.value = true
+ const data = await Demo03StudentApi.getDemo03GradeByStudentId(val)
+ if (!data) {
+ return
+ }
+ formData.value = data
+ } finally {
+ formLoading.value = false
+ }
+ },
+ { immediate: true }
+)
+
+/** 琛ㄥ崟鏍¢獙 */
+const validate = () => {
+ return formRef.value.validate()
+}
+
+/** 琛ㄥ崟鍊� */
+const getData = () => {
+ return formData.value
+}
+
+defineExpose({ validate, getData })
+</script>
--
Gitblit v1.8.0