课程一级分类添加
# 一、后端实现
# 1、controller
SubjectAdminController
@ApiOperation(value = "新增一级分类")
@PostMapping("save-level-one")
public R saveLevelOne(
@ApiParam(name = "subject", value = "课程分类对象", required = true)
@RequestBody Subject subject){
boolean result = subjectService.saveLevelOne(subject);
if(result){
return R.ok();
}else{
return R.error().message("删除失败");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 2、service
接口 SubjectService
boolean saveLevelOne(Subject subject);
1
2
2
实现 SubjectServiceImpl
@Override
public boolean saveLevelOne(Subject subject) {
Subject subjectLevelOne = this.getByTitle(subject.getTitle());
if(subjectLevelOne == null){
return super.save(subject);
}
return false;
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 二、前端实现
# 1、api
src/api/subject.js
saveLevelOne(subject) {
return request({
url: `${api_name}/save-level-one`,
method: 'post',
data: subject
})
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 2、组件模板
sec/views/edu/subject/list.vue
按钮
<el-button type="text" @click="dialogFormVisible = true">添加一级分类</el-button>
1
表单
<el-dialog :visible.sync="dialogFormVisible" title="添加分类">
<el-form :model="subject" label-width="120px">
<el-form-item label="分类标题">
<el-input v-model="subject.title"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="appendLevelOne()">确 定</el-button>
</div>
</el-dialog>
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 3、组件js
sec/views/edu/subject/list.vue
定义表单数据
dialogFormVisible: false,
subject: {
title: '',
parentId: ''
}
1
2
3
4
5
2
3
4
5
保存方法
appendLevelOne() {
subject.saveLevelOne(this.subject).then(response => {
this.$message({
type: 'success',
message: '保存成功!'
})
this.dialogFormVisible = false// 如果保存成功则关闭对话框
this.fetchNodeList()// 刷新列表
}).catch((response) => {
// console.log(response)
this.$message({
type: 'error',
message: '保存失败'
})
})
},
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
编辑 (opens new window)
上次更新: 2024/06/15, 15:12:25