diff --git a/src/api/infra/demo01/index.ts b/src/api/infra/demo01/index.ts
new file mode 100644
index 00000000..0154bc29
--- /dev/null
+++ b/src/api/infra/demo01/index.ts
@@ -0,0 +1,43 @@
+import request from '@/config/axios'
+
+export interface Demo01StudentVO {
+ id: number
+ name: string
+ description: string
+ birthday: Date
+ sex: number
+ enabled: boolean
+ avatar: string
+ video: string
+ memo: string
+}
+
+// 查询学生列表
+export const getDemo01StudentPage = async (params) => {
+ return await request.get({ url: `/infra/demo01-student/page`, params })
+}
+
+// 查询学生详情
+export const getDemo01Student = async (id: number) => {
+ return await request.get({ url: `/infra/demo01-student/get?id=` + id })
+}
+
+// 新增学生
+export const createDemo01Student = async (data: Demo01StudentVO) => {
+ return await request.post({ url: `/infra/demo01-student/create`, data })
+}
+
+// 修改学生
+export const updateDemo01Student = async (data: Demo01StudentVO) => {
+ return await request.put({ url: `/infra/demo01-student/update`, data })
+}
+
+// 删除学生
+export const deleteDemo01Student = async (id: number) => {
+ return await request.delete({ url: `/infra/demo01-student/delete?id=` + id })
+}
+
+// 导出学生 Excel
+export const exportDemo01Student = async (params) => {
+ return await request.download({ url: `/infra/demo01-student/export-excel`, params })
+}
\ No newline at end of file
diff --git a/src/api/infra/demo02/index.ts b/src/api/infra/demo02/index.ts
index b575dba4..500adde5 100644
--- a/src/api/infra/demo02/index.ts
+++ b/src/api/infra/demo02/index.ts
@@ -33,3 +33,17 @@ export const deleteDemoStudent = async (id: number) => {
export const exportDemoStudent = async (params) => {
return await request.download({ url: `/infra/demo-student/export-excel`, params })
}
+
+// 获得学生联系人列表
+export const getDemoStudentContactListByStudentId = async (studentId) => {
+ return await request.get({
+ url: `/infra/demo-student/demo-student/list-by-student-id?studentId=` + studentId
+ })
+}
+
+// 获得学生地址
+export const getDemoStudentAddressByStudentId = async (studentId) => {
+ return await request.get({
+ url: `/infra/demo-student/demo-student/get-by-student-id?studentId=` + studentId
+ })
+}
diff --git a/src/components/UploadFile/src/UploadFile.vue b/src/components/UploadFile/src/UploadFile.vue
index bba466a7..c1f3e4e2 100644
--- a/src/components/UploadFile/src/UploadFile.vue
+++ b/src/components/UploadFile/src/UploadFile.vue
@@ -144,7 +144,7 @@ watch(
} else if (isArray(props.modelValue)) {
// 情况2:字符串
files.concat(props.modelValue)
- } else if (props.modelValue === undefined) {
+ } else if (props.modelValue == null) {
// 情况3:undefined 不处理
} else {
throw new Error('不支持的 modelValue 类型')
diff --git a/src/views/infra/demo01/Demo01StudentForm.vue b/src/views/infra/demo01/Demo01StudentForm.vue
new file mode 100644
index 00000000..dfc9823d
--- /dev/null
+++ b/src/views/infra/demo01/Demo01StudentForm.vue
@@ -0,0 +1,150 @@
+
+
+
+
diff --git a/src/views/infra/demo01/index.vue b/src/views/infra/demo01/index.vue
new file mode 100644
index 00000000..fb35b561
--- /dev/null
+++ b/src/views/infra/demo01/index.vue
@@ -0,0 +1,251 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/infra/demo02/DemoStudentAddressForm.vue b/src/views/infra/demo02/DemoStudentAddressForm.vue
index af4cd8f1..6d031406 100644
--- a/src/views/infra/demo02/DemoStudentAddressForm.vue
+++ b/src/views/infra/demo02/DemoStudentAddressForm.vue
@@ -6,39 +6,107 @@
label-width="100px"
v-loading="formLoading"
>
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+ {{ dict.label }}
+
+
+
+
+
+
+ {{ dict.label }}
+
+
+
+
+
+
+
+