Skip to content

Commit 579b0a7

Browse files
author
puhui999
committed
perf: 代码生成示例 erp 增加批量删除示例
1 parent 52f8db4 commit 579b0a7

File tree

7 files changed

+226
-92
lines changed

7 files changed

+226
-92
lines changed

src/api/infra/demo03-erp.js

Lines changed: 38 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import request from '@/utils/request'
33
// 创建学生
44
export function createDemo03Student(data) {
55
return request({
6-
url: '/infra/demo03-student/create',
6+
url: '/infra/demo03-student-erp/create',
77
method: 'post',
88
data: data
99
})
@@ -12,7 +12,7 @@ export function createDemo03Student(data) {
1212
// 更新学生
1313
export function updateDemo03Student(data) {
1414
return request({
15-
url: '/infra/demo03-student/update',
15+
url: '/infra/demo03-student-erp/update',
1616
method: 'put',
1717
data: data
1818
})
@@ -21,121 +21,135 @@ export function updateDemo03Student(data) {
2121
// 删除学生
2222
export function deleteDemo03Student(id) {
2323
return request({
24-
url: '/infra/demo03-student/delete?id=' + id,
24+
url: '/infra/demo03-student-erp/delete?id=' + id,
25+
method: 'delete'
26+
})
27+
}
28+
29+
/** 批量删除学生 */
30+
export function deleteDemo03StudentList(ids) {
31+
return request({
32+
url: `/infra/demo03-student-erp/delete-list?ids=${ids.join(',')}`,
2533
method: 'delete'
2634
})
2735
}
2836

2937
// 获得学生
3038
export function getDemo03Student(id) {
3139
return request({
32-
url: '/infra/demo03-student/get?id=' + id,
40+
url: '/infra/demo03-student-erp/get?id=' + id,
3341
method: 'get'
3442
})
3543
}
3644

3745
// 获得学生分页
3846
export function getDemo03StudentPage(params) {
3947
return request({
40-
url: '/infra/demo03-student/page',
48+
url: '/infra/demo03-student-erp/page',
4149
method: 'get',
4250
params
4351
})
4452
}
4553
// 导出学生 Excel
4654
export function exportDemo03StudentExcel(params) {
4755
return request({
48-
url: '/infra/demo03-student/export-excel',
56+
url: '/infra/demo03-student-erp/export-excel',
4957
method: 'get',
5058
params,
5159
responseType: 'blob'
5260
})
5361
}
5462

5563
// ==================== 子表(学生课程) ====================
56-
5764
// 获得学生课程分页
5865
export function getDemo03CoursePage(params) {
5966
return request({
60-
url: '/infra/demo03-student/demo03-course/page',
67+
url: '/infra/demo03-student-erp/demo03-course/page',
6168
method: 'get',
6269
params
6370
})
6471
}
6572
// 新增学生课程
6673
export function createDemo03Course(data) {
6774
return request({
68-
url: `/infra/demo03-student/demo03-course/create`,
75+
url: '/infra/demo03-student-erp/demo03-course/create',
6976
method: 'post',
7077
data
7178
})
7279
}
73-
7480
// 修改学生课程
7581
export function updateDemo03Course(data) {
7682
return request({
77-
url: `/infra/demo03-student/demo03-course/update`,
83+
url: '/infra/demo03-student-erp/demo03-course/update',
7884
method: 'post',
7985
data
8086
})
8187
}
82-
8388
// 删除学生课程
8489
export function deleteDemo03Course(id) {
8590
return request({
86-
url: `/infra/demo03-student/demo03-course/delete?id=` + id,
91+
url: '/infra/demo03-student-erp/demo03-course/delete?id=' + id,
92+
method: 'delete'
93+
})
94+
}
95+
/** 批量删除学生课程 */
96+
export function deleteDemo03CourseList(ids) {
97+
return request({
98+
url: `/infra/demo03-student-erp/demo03-course/delete-list?ids=${ids.join(',')}`,
8799
method: 'delete'
88100
})
89101
}
90-
91102
// 获得学生课程
92103
export function getDemo03Course(id) {
93104
return request({
94-
url: `/infra/demo03-student/demo03-course/get?id=` + id,
105+
url: '/infra/demo03-student-erp/demo03-course/get?id=' + id,
95106
method: 'get'
96107
})
97108
}
98109

99110
// ==================== 子表(学生班级) ====================
100-
101111
// 获得学生班级分页
102112
export function getDemo03GradePage(params) {
103113
return request({
104-
url: '/infra/demo03-student/demo03-grade/page',
114+
url: '/infra/demo03-student-erp/demo03-grade/page',
105115
method: 'get',
106116
params
107117
})
108118
}
109119
// 新增学生班级
110120
export function createDemo03Grade(data) {
111121
return request({
112-
url: `/infra/demo03-student/demo03-grade/create`,
122+
url: '/infra/demo03-student-erp/demo03-grade/create',
113123
method: 'post',
114124
data
115125
})
116126
}
117-
118127
// 修改学生班级
119128
export function updateDemo03Grade(data) {
120129
return request({
121-
url: `/infra/demo03-student/demo03-grade/update`,
130+
url: '/infra/demo03-student-erp/demo03-grade/update',
122131
method: 'post',
123132
data
124133
})
125134
}
126-
127135
// 删除学生班级
128136
export function deleteDemo03Grade(id) {
129137
return request({
130-
url: `/infra/demo03-student/demo03-grade/delete?id=` + id,
138+
url: '/infra/demo03-student-erp/demo03-grade/delete?id=' + id,
139+
method: 'delete'
140+
})
141+
}
142+
/** 批量删除学生班级 */
143+
export function deleteDemo03GradeList(ids) {
144+
return request({
145+
url: `/infra/demo03-student-erp/demo03-grade/delete-list?ids=${ids.join(',')}`,
131146
method: 'delete'
132147
})
133148
}
134-
135149
// 获得学生班级
136150
export function getDemo03Grade(id) {
137151
return request({
138-
url: `/infra/demo03-student/demo03-grade/get?id=` + id,
152+
url: '/infra/demo03-student-erp/demo03-grade/get?id=' + id,
139153
method: 'get'
140154
})
141155
}

src/views/infra/demo/demo03/erp/Demo03StudentForm.vue

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,19 @@
44
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="45%" v-dialogDrag append-to-body>
55
<el-form ref="formRef" :model="formData" :rules="formRules" v-loading="formLoading" label-width="100px">
66
<el-form-item label="名字" prop="name">
7-
<el-input v-model="formData.name" placeholder="请输入名字" />
7+
<el-input v-model="formData.name" placeholder="请输入名字"/>
88
</el-form-item>
99
<el-form-item label="性别" prop="sex">
1010
<el-radio-group v-model="formData.sex">
1111
<el-radio v-for="dict in this.getDictDatas(DICT_TYPE.SYSTEM_USER_SEX)"
1212
:key="dict.value" :label="parseInt(dict.value)"
13-
>{{dict.label}}</el-radio>
13+
>{{ dict.label }}
14+
</el-radio>
1415
</el-radio-group>
1516
</el-form-item>
1617
<el-form-item label="出生日期" prop="birthday">
17-
<el-date-picker clearable v-model="formData.birthday" type="date" value-format="timestamp" placeholder="选择出生日期" />
18+
<el-date-picker clearable v-model="formData.birthday" type="date" value-format="timestamp"
19+
placeholder="选择出生日期"/>
1820
</el-form-item>
1921
<el-form-item label="简介">
2022
<Editor v-model="formData.description" :min-height="192"/>
@@ -31,6 +33,7 @@
3133
<script>
3234
import * as Demo03StudentApi from '@/api/infra/demo03-erp';
3335
import Editor from '@/components/Editor';
36+
3437
export default {
3538
name: "Demo03StudentForm",
3639
components: {

src/views/infra/demo/demo03/erp/components/Demo03CourseForm.vue

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="45%" v-dialogDrag append-to-body>
55
<el-form ref="formRef" :model="formData" :rules="formRules" v-loading="formLoading" label-width="100px">
66
<el-form-item label="名字" prop="name">
7-
<el-input v-model="formData.name" placeholder="请输入名字" />
7+
<el-input v-model="formData.name" placeholder="请输入名字"/>
88
</el-form-item>
99
<el-form-item label="分数" prop="score">
10-
<el-input v-model="formData.score" placeholder="请输入分数" />
10+
<el-input v-model="formData.score" placeholder="请输入分数"/>
1111
</el-form-item>
1212
</el-form>
1313
<div slot="footer" class="dialog-footer">
@@ -20,10 +20,10 @@
2020

2121
<script>
2222
import * as Demo03StudentApi from '@/api/infra/demo03-erp';
23+
2324
export default {
2425
name: "Demo03CourseForm",
25-
components: {
26-
},
26+
components: {},
2727
data() {
2828
return {
2929
// 弹出层标题
@@ -74,7 +74,7 @@ export default {
7474
const data = this.formData;
7575
// 修改的提交
7676
if (data.id) {
77-
await Demo03StudentApi.updateDemo03Course(data);
77+
await Demo03StudentApi.updateDemo03Course(data);
7878
this.$modal.msgSuccess("修改成功");
7979
this.dialogVisible = false;
8080
this.$emit('success');
@@ -85,7 +85,7 @@ export default {
8585
this.$modal.msgSuccess("新增成功");
8686
this.dialogVisible = false;
8787
this.$emit('success');
88-
}finally {
88+
} finally {
8989
this.formLoading = false;
9090
}
9191
},

src/views/infra/demo/demo03/erp/components/Demo03CourseList.vue

Lines changed: 54 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,34 @@
44
<el-row :gutter="10" class="mb8">
55
<el-col :span="1.5">
66
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="openForm(undefined)"
7-
v-hasPermi="['infra:demo03-student:create']">新增</el-button>
7+
v-hasPermi="['infra:demo03-student:create']">新增
8+
</el-button>
9+
</el-col>
10+
<el-col :span="1.5">
11+
<el-button
12+
type="danger"
13+
plain
14+
icon="el-icon-delete"
15+
size="mini"
16+
:disabled="isEmpty(checkedIds)"
17+
@click="handleDeleteBatch"
18+
v-hasPermi="['infra:demo03-student:delete']"
19+
>
20+
批量删除
21+
</el-button>
822
</el-col>
923
</el-row>
10-
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
11-
<el-table-column label="编号" align="center" prop="id" />
12-
<el-table-column label="名字" align="center" prop="name" />
13-
<el-table-column label="分数" align="center" prop="score" />
24+
<el-table
25+
v-loading="loading"
26+
:data="list"
27+
:stripe="true"
28+
:show-overflow-tooltip="true"
29+
@selection-change="handleRowCheckboxChange"
30+
>
31+
<el-table-column type="selection" width="55"/>
32+
<el-table-column label="编号" align="center" prop="id"/>
33+
<el-table-column label="名字" align="center" prop="name"/>
34+
<el-table-column label="分数" align="center" prop="score"/>
1435
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
1536
<template v-slot="scope">
1637
<span>{{ parseTime(scope.row.createTime) }}</span>
@@ -19,29 +40,32 @@
1940
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
2041
<template v-slot="scope">
2142
<el-button size="mini" type="text" icon="el-icon-edit" @click="openForm(scope.row.id)"
22-
v-hasPermi="['infra:demo03-student:update']">修改</el-button>
43+
v-hasPermi="['infra:demo03-student:update']">修改
44+
</el-button>
2345
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
24-
v-hasPermi="['infra:demo03-student:delete']">删除</el-button>
46+
v-hasPermi="['infra:demo03-student:delete']">删除
47+
</el-button>
2548
</template>
2649
</el-table-column>
2750
</el-table>
2851
<!-- 分页组件 -->
2952
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
3053
@pagination="getList"/>
3154
<!-- 对话框(添加 / 修改) -->
32-
<Demo03CourseForm ref="formRef" @success="getList" />
55+
<Demo03CourseForm ref="formRef" @success="getList"/>
3356
</div>
3457
</template>
3558

3659
<script>
3760
import * as Demo03StudentApi from '@/api/infra/demo03-erp';
3861
import Demo03CourseForm from './Demo03CourseForm.vue';
62+
3963
export default {
4064
name: "Demo03CourseList",
4165
components: {
4266
Demo03CourseForm
4367
},
44-
props:[
68+
props: [
4569
'studentId'
4670
],// 学生编号(主表的关联字段)
4771
data() {
@@ -50,6 +74,7 @@ export default {
5074
loading: true,
5175
// 列表的数据
5276
list: [],
77+
checkedIds: [],
5378
// 列表的总页数
5479
total: 0,
5580
// 查询参数
@@ -60,11 +85,12 @@ export default {
6085
}
6186
};
6287
},
63-
watch:{/** 监听主表的关联字段的变化,加载对应的子表数据 */
64-
studentId:{
88+
watch: {
89+
/** 监听主表的关联字段的变化,加载对应的子表数据 */
90+
studentId: {
6591
handler(val) {
6692
this.queryParams.studentId = val;
67-
if (val){
93+
if (val) {
6894
this.handleQuery();
6995
}
7096
},
@@ -83,6 +109,20 @@ export default {
83109
this.loading = false;
84110
}
85111
},
112+
/** 批量删除学生 */
113+
async handleDeleteBatch() {
114+
await this.$modal.confirm('是否确认删除?')
115+
try {
116+
await Demo03StudentApi.deleteDemo03CourseList(this.checkedIds);
117+
await this.getList();
118+
this.$modal.msgSuccess("删除成功");
119+
} catch {
120+
}
121+
},
122+
handleRowCheckboxChange(records) {
123+
this.checkedIds = records.map((item) => item.id);
124+
},
125+
86126
/** 搜索按钮操作 */
87127
handleQuery() {
88128
this.queryParams.pageNo = 1;
@@ -104,7 +144,8 @@ export default {
104144
await Demo03StudentApi.deleteDemo03Course(id);
105145
await this.getList();
106146
this.$modal.msgSuccess("删除成功");
107-
} catch {}
147+
} catch {
148+
}
108149
},
109150
}
110151
};

0 commit comments

Comments
 (0)