学成在线--20.新增课程(最后完善)
文章目錄
- 一.效果展示
 - 二.服務(wù)端
 - 1.Api接口
 - 2.Dao
 - 3.Service
 - 4.Controller
 
- 三.前端
 - 1.頁面完善
 - 1)創(chuàng)建course_add.vue頁面
 - 2)course_add.vue頁面路由
 - 3)course_list.vue中添加鏈接
 
- 2.查詢數(shù)據(jù)字典
 - 1)視圖中代碼
 - 2)定義Api方法
 - 3)在視圖中獲取數(shù)據(jù)字典
 - 4)效果
 
- 3.查詢課程分類
 - 1)視圖中代碼
 - 2)定義Api方法
 - 3)在視圖中獲取課程分類
 - 4)如何獲取選擇的分類
 - 5)效果
 
- 4.新增課程保存提交
 - 1)定義Api方法
 - 2)在course_add.vue 調(diào)用api提交課程信息
 - 3)測試
 
一.效果展示
二.服務(wù)端
1.Api接口
創(chuàng)建新增課程接口:
 文件位置:xcEduService01\xc-service-api\src\main\java\com\xuecheng\api\course\CourseControllerApi.java
2.Dao
文件位置:xcEduService01\xc-service-manage-course\src\main\java\com\xuecheng\manage_course\dao\CourseBaseRepository.java
public interface CourseBaseRepository extends JpaRepository<CourseBase, String> { }3.Service
文件位置:xcEduService01\xc-service-manage-course\src\main\java\com\xuecheng\manage_course\service\addCourseBase.java
//添加課程提交 @Transactional public AddCourseResult addCourseBase(CourseBase courseBase) {//課程狀態(tài)默認(rèn)為未發(fā)布courseBase.setStatus("202001");courseBaseRepository.save(courseBase);return new AddCourseResult(CommonCode.SUCCESS,courseBase.getId()); }4.Controller
文件位置:xcEduService01\xc-service-manage-course\src\main\java\com\xuecheng\manage_course\controller\CourseController.java
@Override @PostMapping("/coursebase/add") public AddCourseResult addCourseBase(@RequestBody CourseBase courseBase) {return courseService.addCourseBase(courseBase); }三.前端
1.頁面完善
1)創(chuàng)建course_add.vue頁面
在teach前端工程的course模塊下創(chuàng)建course_add.vue頁面
 文件位置:xc-ui-pc-teach\src\module\course\page\course_add.vue
2)course_add.vue頁面路由
文件位置:xc-ui-pc-teach\src\module\course\router\index.js
import course_add from '@/module/course/page/course_add.vue'; { path: '/course/add/base', name: '添加課程',component: course_add,hidden: true },3)course_list.vue中添加鏈接
在我的課程頁面course_list.vue中添加“新增課程”鏈接
 文件位置:xc-ui-pc-teach\src\module\course\page\course_list.vue
2.查詢數(shù)據(jù)字典
課程添加頁面中課程等級、學(xué)習(xí)模式需要從數(shù)據(jù)字典中查詢信息。
1)視圖中代碼
文件位置:xc-ui-pc-teach\src\module\course\page\course_add.vue
<el-form-item label="課程等級" prop="grade"><b v-for="grade in gradeList"><el-radio v-model="courseForm.grade" :label="grade.sdId" >{{grade.sdName}}</el-radio>  </b></el-form-item><el-form-item label="學(xué)習(xí)模式" prop="studymodel"><b v-for="studymodel_v in studymodelList"><el-radio v-model="courseForm.studymodel" :label="studymodel_v.sdId" >{{studymodel_v.sdName}}</el-radio></b></el-form-item>2)定義Api方法
數(shù)據(jù)字典查詢?yōu)楣梅椒?#xff0c;所以定義在/base/api/system.js中
 文件位置:xc-ui-pc-teach\src\base\api\system.js
3)在視圖中獲取數(shù)據(jù)字典
在mounted鉤子中定義方法如下:
 文件位置:xc-ui-pc-teach\src\module\course\page\course_add.vue
4)效果
3.查詢課程分類
課程添加頁面中課程分類采用Cascader組件完成。
 
1)視圖中代碼
文件位置:xc-ui-pc-teach\src\module\course\page\course_add.vue
<el‐form‐item label="課程分類" prop="categoryActive"><el‐cascaderexpand‐trigger="hover":options="categoryList"v‐model="categoryActive":props="props"></el‐cascader> </el‐form‐item>2)定義Api方法
在本模塊的course.js中定義
 文件位置:xc-ui-pc-teach\src\module\course\api\course.js
3)在視圖中獲取課程分類
在mounted鉤子中定義
 文件位置:xc-ui-pc-teach\src\module\course\page\course_add.vue
4)如何獲取選擇的分類
用戶在選擇課程分類后,所選分類ID綁定到categoryActive(數(shù)組)中,選擇了一級、二級分類,分別存儲在categoryActive數(shù)組的第一個(gè)、第二個(gè)元素中。
5)效果
4.新增課程保存提交
1)定義Api方法
在前端定義請求服務(wù)端添加課程的api的方法,在course模塊中定義方法如下:
 文件位置:xc-ui-pc-teach\src\module\course\api\course.js
2)在course_add.vue 調(diào)用api提交課程信息
文件位置:xc-ui-pc-teach\src\module\course\page\course_add.vue
methods: {//新增課程提交save () {//處理課程分類// 選擇課程分類存儲到categoryActivethis.courseForm.mt= this.categoryActive[0]//大分類this.courseForm.st= this.categoryActive[1]//小分類courseApi.addCourseBase(this.courseForm).then(res=>{if(res.success){this.$message.success("提交成功")//跳轉(zhuǎn)到我的課程this.$router.push({ path: '/course/list'})}else{this.$message.error(res.message)}})}},3)測試
注意:將course_base表中的company_id改為非必填,待認(rèn)證功能開發(fā)完成再修改為必填
 測試流程:
 1、進(jìn)入我的課程,點(diǎn)擊“新增課程”打開新增課程頁面
 2、輸入課程信息,點(diǎn)擊提交
總結(jié)
以上是生活随笔為你收集整理的学成在线--20.新增课程(最后完善)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 家谱宗族网站源码_云码宗谱网络家谱软件
 - 下一篇: UnityVS(2012)安装教程