Skip to content

Commit 40b1522

Browse files
committed
代码生成:增加 crud 单表示例
1 parent 4565656 commit 40b1522

File tree

4 files changed

+90
-151
lines changed

4 files changed

+90
-151
lines changed

src/api/infra/demo/demo01/index.ts

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import request from '@/config/axios'
2+
3+
export interface Demo01ContactVO {
4+
id: number
5+
name: string
6+
sex: number
7+
birthday: Date
8+
description: string
9+
avatar: string
10+
}
11+
12+
// 查询示例联系人分页
13+
export const getDemo01ContactPage = async (params) => {
14+
return await request.get({ url: `/infra/demo01-contact/page`, params })
15+
}
16+
17+
// 查询示例联系人详情
18+
export const getDemo01Contact = async (id: number) => {
19+
return await request.get({ url: `/infra/demo01-contact/get?id=` + id })
20+
}
21+
22+
// 新增示例联系人
23+
export const createDemo01Contact = async (data: Demo01ContactVO) => {
24+
return await request.post({ url: `/infra/demo01-contact/create`, data })
25+
}
26+
27+
// 修改示例联系人
28+
export const updateDemo01Contact = async (data: Demo01ContactVO) => {
29+
return await request.put({ url: `/infra/demo01-contact/update`, data })
30+
}
31+
32+
// 删除示例联系人
33+
export const deleteDemo01Contact = async (id: number) => {
34+
return await request.delete({ url: `/infra/demo01-contact/delete?id=` + id })
35+
}
36+
37+
// 导出示例联系人 Excel
38+
export const exportDemo01Contact = async (params) => {
39+
return await request.download({ url: `/infra/demo01-contact/export-excel`, params })
40+
}

src/api/infra/demo01/index.ts

Lines changed: 0 additions & 43 deletions
This file was deleted.

src/views/infra/demo01/Demo01StudentForm.vue renamed to src/views/infra/demo/demo01/Demo01ContactForm.vue

Lines changed: 29 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -10,46 +10,30 @@
1010
<el-form-item label="名字" prop="name">
1111
<el-input v-model="formData.name" placeholder="请输入名字" />
1212
</el-form-item>
13-
<el-form-item label="简介" prop="description">
14-
<el-input v-model="formData.description" type="textarea" placeholder="请输入简介" />
15-
</el-form-item>
16-
<el-form-item label="出生日期" prop="birthday">
17-
<el-date-picker
18-
v-model="formData.birthday"
19-
type="date"
20-
value-format="x"
21-
placeholder="选择出生日期"
22-
/>
23-
</el-form-item>
2413
<el-form-item label="性别" prop="sex">
25-
<el-select v-model="formData.sex" placeholder="请选择性别">
26-
<el-option
27-
v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)"
28-
:key="dict.value"
29-
:label="dict.label"
30-
:value="dict.value"
31-
/>
32-
</el-select>
33-
</el-form-item>
34-
<el-form-item label="是否有效" prop="enabled">
35-
<el-radio-group v-model="formData.enabled">
14+
<el-radio-group v-model="formData.sex">
3615
<el-radio
37-
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
16+
v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)"
3817
:key="dict.value"
3918
:label="dict.value"
4019
>
4120
{{ dict.label }}
4221
</el-radio>
4322
</el-radio-group>
4423
</el-form-item>
45-
<el-form-item label="头像">
46-
<UploadImg v-model="formData.avatar" />
24+
<el-form-item label="出生年" prop="birthday">
25+
<el-date-picker
26+
v-model="formData.birthday"
27+
type="date"
28+
value-format="x"
29+
placeholder="选择出生年"
30+
/>
4731
</el-form-item>
48-
<el-form-item label="附件" prop="video">
49-
<UploadFile v-model="formData.video" />
32+
<el-form-item label="简介" prop="description">
33+
<Editor v-model="formData.description" height="150px" />
5034
</el-form-item>
51-
<el-form-item label="备注" prop="memo">
52-
<Editor v-model="formData.memo" height="150px" />
35+
<el-form-item label="头像" prop="avatar">
36+
<UploadImg v-model="formData.avatar" />
5337
</el-form-item>
5438
</el-form>
5539
<template #footer>
@@ -59,8 +43,8 @@
5943
</Dialog>
6044
</template>
6145
<script setup lang="ts">
62-
import { getIntDictOptions, getStrDictOptions, getBoolDictOptions, DICT_TYPE } from '@/utils/dict'
63-
import * as Demo01StudentApi from '@/api/infra/demo01'
46+
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
47+
import * as Demo01ContactApi from '@/api/infra/demo/demo01'
6448
6549
const { t } = useI18n() // 国际化
6650
const message = useMessage() // 消息弹窗
@@ -72,21 +56,16 @@ const formType = ref('') // 表单的类型:create - 新增;update - 修改
7256
const formData = ref({
7357
id: undefined,
7458
name: undefined,
75-
description: undefined,
76-
birthday: undefined,
7759
sex: undefined,
78-
enabled: undefined,
79-
avatar: undefined,
80-
video: undefined,
81-
memo: undefined
60+
birthday: undefined,
61+
description: undefined,
62+
avatar: undefined
8263
})
8364
const formRules = reactive({
8465
name: [{ required: true, message: '名字不能为空', trigger: 'blur' }],
85-
birthday: [{ required: true, message: '出生日期不能为空', trigger: 'blur' }],
86-
sex: [{ required: true, message: '性别不能为空', trigger: 'change' }],
87-
enabled: [{ required: true, message: '是否有效不能为空', trigger: 'blur' }],
88-
avatar: [{ required: true, message: '头像不能为空', trigger: 'blur' }],
89-
memo: [{ required: true, message: '备注不能为空', trigger: 'blur' }]
66+
sex: [{ required: true, message: '性别不能为空', trigger: 'blur' }],
67+
birthday: [{ required: true, message: '出生年不能为空', trigger: 'blur' }],
68+
description: [{ required: true, message: '简介不能为空', trigger: 'blur' }]
9069
})
9170
const formRef = ref() // 表单 Ref
9271
@@ -100,7 +79,7 @@ const open = async (type: string, id?: number) => {
10079
if (id) {
10180
formLoading.value = true
10281
try {
103-
formData.value = await Demo01StudentApi.getDemo01Student(id)
82+
formData.value = await Demo01ContactApi.getDemo01Contact(id)
10483
} finally {
10584
formLoading.value = false
10685
}
@@ -116,12 +95,12 @@ const submitForm = async () => {
11695
// 提交请求
11796
formLoading.value = true
11897
try {
119-
const data = formData.value as unknown as Demo01StudentApi.Demo01StudentVO
98+
const data = formData.value as unknown as Demo01ContactApi.Demo01ContactVO
12099
if (formType.value === 'create') {
121-
await Demo01StudentApi.createDemo01Student(data)
100+
await Demo01ContactApi.createDemo01Contact(data)
122101
message.success(t('common.createSuccess'))
123102
} else {
124-
await Demo01StudentApi.updateDemo01Student(data)
103+
await Demo01ContactApi.updateDemo01Contact(data)
125104
message.success(t('common.updateSuccess'))
126105
}
127106
dialogVisible.value = false
@@ -137,14 +116,11 @@ const resetForm = () => {
137116
formData.value = {
138117
id: undefined,
139118
name: undefined,
140-
description: undefined,
141-
birthday: undefined,
142119
sex: undefined,
143-
enabled: undefined,
144-
avatar: undefined,
145-
video: undefined,
146-
memo: undefined
120+
birthday: undefined,
121+
description: undefined,
122+
avatar: undefined
147123
}
148124
formRef.value?.resetFields()
149125
}
150-
</script>
126+
</script>

0 commit comments

Comments
 (0)