Kevin's blog Kevin's blog
首页
  • Java基础
  • Java高级
  • MySQL
  • JDBC
  • Java 8新特性
  • 原生Servlet
  • 延迟队列
  • 分布式事务
  • ActiveMQ
  • Elasticsearch
  • Stream API
  • Redis 实战(黑马程序员)
  • Redis 课程(尚硅谷)
  • Redis数据类型和常用命令
  • 版本控制
  • Spring Framework
  • Spring MVC Framework
  • MyBatis Framework
  • MyBatis Plus Framework
  • Spring Boot Framework
  • 韩顺平 Spring Boot Framework
  • 在线教育
  • 谷粒商城 - 分布式基础 高级 集群
  • 谷粒商城 - 详细开发文档
  • docker基础
  • docker-compose容器编排
  • docker swarm集群管理
  • Vue2基础
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Kevin

Java系统笔记
首页
  • Java基础
  • Java高级
  • MySQL
  • JDBC
  • Java 8新特性
  • 原生Servlet
  • 延迟队列
  • 分布式事务
  • ActiveMQ
  • Elasticsearch
  • Stream API
  • Redis 实战(黑马程序员)
  • Redis 课程(尚硅谷)
  • Redis数据类型和常用命令
  • 版本控制
  • Spring Framework
  • Spring MVC Framework
  • MyBatis Framework
  • MyBatis Plus Framework
  • Spring Boot Framework
  • 韩顺平 Spring Boot Framework
  • 在线教育
  • 谷粒商城 - 分布式基础 高级 集群
  • 谷粒商城 - 详细开发文档
  • docker基础
  • docker-compose容器编排
  • docker swarm集群管理
  • Vue2基础
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 项目 在线教育

    • 项目简介

    • Mybatis Plus入门

    • 课程中心微服务搭建

    • 前后端分离相关知识

    • 后台管理系统前端页面的搭建

    • 整合阿里云OSS文件上传

    • 使用POI实现Excel导入导出

    • 整合POI实现课程类目管理

      • 前端页面的实现
      • 课程分类管理接口
      • 分类列表展示
      • 课程分类删除
      • 课程一级分类添加
      • 课程二级分类添加
        • 一、后端实现
          • 1、controller
          • 2、service
        • 二、前端实现
          • 1、api
          • 2、组件模板
          • 3、组件js
    • 课程基本信息管理

    • 课程章节信息管理

    • 课程课时管理

    • 使用阿里云视频点播

    • 媒资管理

    • spring cloud服务发现和服务调用

    • 整合ECharts实现统计分析

    • 服务端渲染NUXT

    • 整合阿里云播放器

    • 微服务安全

    • 整合微信登录

    • spring cloud zuul 微服务网关在项目中的应用

    • 总结

  • 项目 谷粒商城

  • 项目 谷粒商城详细开发文档

  • Project
  • 项目 在线教育
  • 整合POI实现课程类目管理
zhihuanwang
2023-09-25
目录

课程二级分类添加

# 一、后端实现

# 1、controller

SubjectAdminController
@ApiOperation(value = "新增二级分类")
@PostMapping("save-level-two")
public R saveLevelTwo(
    @ApiParam(name = "subject", value = "课程分类对象", required = true)
    @RequestBody Subject subject){

    boolean result = subjectService.saveLevelTwo(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、service

接口 SubjectService
boolean saveLevelTwo(Subject subject);
1
2

实现 SubjectServiceImpl

@Override
public boolean saveLevelTwo(Subject subject) {
    Subject subjectLevelTwo = this.getSubByTitle(subject.getTitle(), subject.getParentId());
    if(subjectLevelTwo == null){
        return this.save(subject);
    }else{
        throw new GuliException(20001, "类别已存在");
    }
}
1
2
3
4
5
6
7
8
9

# 二、前端实现

# 1、api

src/api/edu/subject.js

  saveLevelTwo(subject) {
    return request({
      url: `${api_name}/save-level-two`,
      method: 'post',
      data: subject
    })
  }
1
2
3
4
5
6
7

# 2、组件模板

sec/views/edu/subject/list.vue

按钮

<el-button
            v-if="node.level == 1"
            type="text"
            size="mini"
            @click="() => {dialogFormVisible = true; subject.parentId = data.id}">添加二级分类</el-button>
1
2
3
4
5

表单:

修改弹出表单的确定按钮绑定的事件

<el-button type="primary" @click="append()">确 定</el-button>
1

# 3、组件js

sec/views/edu/subject/list.vue

添加方法 append

append(data) {
    if (!this.subject.parentId) {
        this.appendLevelOne()
    } else {
        this.appendLevelTwo()
    }
},
1
2
3
4
5
6
7

保存方法

appendLevelTwo() {
    subject.saveLevelTwo(this.subject).then(response => {
        this.$message({
            type: 'success',
            message: '保存成功!'
        })
        this.dialogFormVisible = false// 如果保存成功则关闭对话框
        this.fetchNodeList()// 刷新列表
        this.subject.title = ''// 重置类别标题
        this.subject.parentId = '' // 重置表单parentId
    }).catch((response) => {
        // console.log(response)
        this.$message({
            type: 'error',
            message: response.data.message
        })
    })
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
编辑 (opens new window)
上次更新: 2024/06/15, 15:12:25
课程一级分类添加
课程发布表单-步骤导航

← 课程一级分类添加 课程发布表单-步骤导航→

最近更新
01
04.Spring Boot 韩顺平
10-12
02
day14
08-29
03
day09
08-29
更多文章>
Theme by Vdoing | Copyright © 2019-2025 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式