學成在線--20.新增課程(最后完善)

文章目錄

  • 一.效果展示
  • 二.服務端
    • 1.Api接口
    • 2.Dao
    • 3.Service
    • 4.Controller
  • 三.前端
    • 1.頁面完善
      • 1)創建course_add.vue頁面
      • 2)course_add.vue頁面路由
      • 3)course_list.vue中添加鏈接
    • 2.查詢數據字典
      • 1)視圖中代碼
      • 2)定義Api方法
      • 3)在視圖中獲取數據字典
      • 4)效果
    • 3.查詢課程分類
      • 1)視圖中代碼
      • 2)定義Api方法
      • 3)在視圖中獲取課程分類
      • 4)如何獲取選擇的分類
      • 5)效果
    • 4.新增課程保存提交
      • 1)定義Api方法
      • 2)在course_add.vue 調用api提交課程信息
      • 3)測試

一.效果展示

在這里插入圖片描述

二.服務端

1.Api接口

創建新增課程接口:
文件位置:xcEduService01\xc-service-api\src\main\java\com\xuecheng\api\course\CourseControllerApi.java

@Api(value = "課程管理",description = "課程管理",tags = {"課程管理"})
public interface CourseControllerApi {@ApiOperation("添加課程基礎信息")public AddCourseResult addCourseBase(CourseBase courseBase);
}

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) {//課程狀態默認為未發布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)創建course_add.vue頁面

在teach前端工程的course模塊下創建course_add.vue頁面
文件位置:xc-ui-pc-teach\src\module\course\page\course_add.vue

<template><div><el‐form :model="courseForm" label‐width="80px" :rules="courseRules" ref="courseForm"><el‐form‐item label="課程名稱" prop="name"><el‐input v‐model="courseForm.name" auto‐complete="off" ></el‐input></el‐form‐item><el‐form‐item label="適用人群" prop="users"><el‐input type="textarea" v‐model="courseForm.users" auto‐complete="off" ></el‐input></el‐form‐item><el‐form‐item label="課程分類" prop="categoryActive"><el‐cascaderexpand‐trigger="hover":options="categoryList"v‐model="categoryActive":props="props"></el‐cascader></el‐form‐item><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="學習模式" 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><el‐form‐item label="課程介紹" prop="description"><el‐input type="textarea" v‐model="courseForm.description" ></el‐input></el‐form‐item></el‐form><div slot="footer" class="dialog‐footer"><el‐button type="primary" @click.native="save" >提交</el‐button></div></div>
</template><script>import * as courseApi from '../api/course';import utilApi from '../../../common/utils';import * as systemApi from '../../../base/api/system';export default {data() {return {studymodelList:[],gradeList:[],props: {value: 'id',label:'label',children:'children'},categoryList: [],categoryActive:[],courseForm: {id:'',name: '',users: '',grade:'',studymodel:'',mt:'',st:'',description: ''},courseRules: {name: [{required: true, message: '請輸入課程名稱', trigger: 'blur'}],category: [{required: true, message: '請選擇課程分類', trigger: 'blur'}],grade: [{required: true, message: '請選擇課程等級', trigger: 'blur'}],studymodel: [{required: true, message: '請選擇學習模式', trigger: 'blur'}]}}},methods: {save () {},created(){},mounted(){}}}
</script><style scoped></style>

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

<router‐link class="mui‐tab‐item" :to="{path:'/course/add/base'}"><el‐button type="text" class="button" >新增課程</el‐button>
</router‐link>

2.查詢數據字典

課程添加頁面中課程等級、學習模式需要從數據字典中查詢信息。

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>&nbsp;&nbsp;</b></el-form-item><el-form-item label="學習模式" 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方法

數據字典查詢為公用方法,所以定義在/base/api/system.js中
文件位置:xc-ui-pc-teach\src\base\api\system.js

let sysConfig = require('@/../config/sysConfig')
let apiUrl = sysConfig.xcApiUrlPre;/*數據字典 */export const sys_getDictionary= dType => {return http.requestQuickGet(apiUrl+'/sys/dictionary/get/'+dType)
}

3)在視圖中獲取數據字典

在mounted鉤子中定義方法如下:
文件位置:xc-ui-pc-teach\src\module\course\page\course_add.vue

//查詢數據字典字典
systemApi.sys_getDictionary('201').then((res) => {this.studymodelList = res.dvalue;
});
systemApi.sys_getDictionary('200').then((res) => {this.gradeList = res.dvalue;
});

4)效果

在這里插入圖片描述

3.查詢課程分類

課程添加頁面中課程分類采用Cascader組件完成。
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

/*查詢課程分類 */
export const category_findlist= () => {
return http.requestQuickGet(apiUrl+'/category/list')
}

3)在視圖中獲取課程分類

在mounted鉤子中定義
文件位置:xc-ui-pc-teach\src\module\course\page\course_add.vue

//取課程分類
courseApi.category_findlist({}).then((res) => {
this.categoryList = res.children;
});

4)如何獲取選擇的分類

用戶在選擇課程分類后,所選分類ID綁定到categoryActive(數組)中,選擇了一級、二級分類,分別存儲在categoryActive數組的第一個、第二個元素中。

5)效果

在這里插入圖片描述

4.新增課程保存提交

1)定義Api方法

在前端定義請求服務端添加課程的api的方法,在course模塊中定義方法如下:
文件位置:xc-ui-pc-teach\src\module\course\api\course.js

/*添加課程基礎信息*/
export const addCourseBase = params => {return http.requestPost(apiUrl+'/course/coursebase/add',params)
}

2)在course_add.vue 調用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("提交成功")//跳轉到我的課程this.$router.push({ path: '/course/list'})}else{this.$message.error(res.message)}})}},

3)測試

注意:將course_base表中的company_id改為非必填,待認證功能開發完成再修改為必填
測試流程:
1、進入我的課程,點擊“新增課程”打開新增課程頁面
2、輸入課程信息,點擊提交

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452163.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452163.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452163.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

http協議工作流程

用戶單機鼠標后所發生的事件過程如下&#xff1a; &#xff08;1&#xff09;瀏覽器分析鏈接所指向頁面的URL。 &#xff08;2&#xff09;瀏覽器向DNS服務器請求解析URL的IP地址。 &#xff08;3&#xff09;域名系統DNS解析出URL對應的IP地址。 &#xff08;4&#xff09…

html里面表格問題

表格問題匯總&#xff1a; 現代網站中表格的用武之地已經很少了&#xff0c;但是一些框架&#xff0c;如bootstorp還是會用到的&#xff0c;所以還是需要了解掌握。本隨筆只涉及開發過程中遇到的表格問題&#xff0c;不做其他拓展。 1、caption代表的是表格元素的標題。至于標題…

利用Underscore求數組的交集、并集和差集

1 數組交集函數——intersection 數組的交集是指包含多個數組中的共同元素的一個數組&#xff0c;求數組的交集就是找出給定數組中的共有元素。 下面實現一個求兩個數組交集的函數。 判斷數組是夠包含指定值&#xff0c;使用Array.indexOf就可以。所以我們可以遍歷第一個參數數…

RT-Thread簡介

RT-Thread簡介 RT-Thread是一款完全由國內團隊開發維護的嵌入式實時操作系統&#xff08;RTOS&#xff09;&#xff0c;具有完全的自主知識產權。 經過16個年頭的沉淀&#xff0c;伴隨著物聯網的興起&#xff0c;它正演變成一個功能強大、組件豐富的物聯網操作系統。 RT-Thre…

調用第三方API ,實現手機號碼歸屬地及運營商查詢

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 運行結果&#xff1a; 中國電信 西雙版納 西雙版納,中國電信 代碼&#xff1a; import java.io.BufferedReader; import java.io.I…

學成在線--21.課程信息修改

文章目錄一.需求分析二.課程管理導航頁面1.定義course_manage.vue為課程管理頁面2.創建各個信息管理頁面3.創建路由三.服務端1.Api接口1&#xff09;根據課程ID查詢課程信息2&#xff09;修改課程信息2.Dao3.Service4.Controller四.前端1. 完成course_baseinfo.vue頁面2.API方法…

HTTP協議特點

&#xff08;一&#xff09;HTTP協議是無狀態的。也就是說&#xff0c;同一個客戶第二次訪問同一個服務器上的頁面時&#xff0c;服務器的響應與第一次被訪問時相同。服務器不記得訪問過得這個用戶&#xff0c;也不記得為這個客戶服務過多少次。 &#xff08;二&#xff09;HT…

C#曲線分析平臺的制作(四,highcharts+ajax加載后臺數據)

在上一篇博客&#xff1a;C#曲線分析平臺的制作&#xff08;三&#xff0c;三層構架echarts顯示&#xff09;中已經完成了后臺的三層構架的簡單搭建&#xff0c;為實現后面的拓展應用開發和review 改寫提供了方便。而在曲線分析平臺中&#xff0c;往往有要求時間軸聯動功能&…

國際C語言混亂代碼大賽結果公布

國際C語言混亂代碼大賽&#xff08;IOCCC, The International Obfuscated C Code Contest&#xff09;是一項國際編程賽事&#xff0c;從1984年開始&#xff0c;每年舉辦一次&#xff08;1997年、1999年、2002年、2003年和2006年例外&#xff09;。目的是寫出最有創意的最讓人難…

JDBC連接數據庫(一)

原文地址http://www.cnblogs.com/hongten/archive/2011/03/29/1998311.html JDBC連接數據庫 創建一個以JDBC連接數據庫的程序&#xff0c;包含7個步驟&#xff1a; 1、加載JDBC驅動程序&#xff1a; 在連接數據庫之前&#xff0c;首先要加載想要連接的數據庫的驅動到JVM…

eclipse加速之禁用 JS、jsp 等文件的語法驗證

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 去除eclipse的JS驗證&#xff1a; 將windows->preference->Java Script->Validator->Errors/Warnings-> Enable Javascr…

學成在線--22.課程營銷

文章目錄一.需求分析二.數據模型三.服務端1.Api接口1&#xff09;查詢課程營銷信息2&#xff09;更新課程營銷信息2.Dao3.Service4.Controller四.前端1.Api 方法2.編寫 course_marketinfo.vue1&#xff09;template2&#xff09;數據對象3&#xff09;保存方法4&#xff09;在m…

電子郵件系統

&#xff08;一&#xff09;電子郵件系統的構成 1.用戶代理 用戶與電子郵件系統的接口&#xff0c;用戶代理使用戶能夠通過一個很友好的接口來發送和接收郵件&#xff0c;用戶代理就是一個運行在PC上的程序。 2 郵件服務器 郵件服務器的功能是發送和接收郵件&#xff0c;同…

面向對象的接口類 以及鴨子類型

1.接口類,抽象類. 2.鴨子類型(Python多態)(Python三大特性之一)Python封裝 1.接口類和抽象類只是在工作中書寫的一種規范. class QQ: def pay(self,money): print("使用QQ支付%s"%money) class Ali: def pay(self,money): print("使用支付寶支付%s"%money…

mysql查看binlog日志內容

2019獨角獸企業重金招聘Python工程師標準>>> &#xff08;一&#xff09; binlog介紹 binlog,即二進制日志,它記錄了數據庫上的所有改變&#xff0c;并以二進制的形式保存在磁盤中&#xff1b; 它可以用來查看數據庫的變更歷史、數據庫增量備份和恢復、Mysql的復制&…

架構師:我們需要頂層設計

架構師&#xff1a;我們需要頂層設計背景&#xff1a; 某公司&#xff0c;建立的程序又被推倒&#xff0c;外人覺得很奇怪&#xff0c;這個程序的主管非常敬業&#xff0c;關注到了程序每一個細節&#xff0c;甚至包括每一個按鈕的文字和位置。這個主管很委屈&#xff0c;他說…

文件傳輸協議FTP

文件傳輸協議FTP提供交互式的訪問&#xff0c;允許客戶指明文件的類型和格式&#xff0c;并允許文件具有存取權限。它屏蔽了個計算機系統的細節&#xff0c;因而適合于在異構網絡中任意計算機之間傳輸文件。它提供不同種類主機系統之間的文件傳輸能力&#xff0c;可以提供用戶對…

Centos7安裝Docker教程

1.首先安裝必要依賴&#xff1a; sudo yum install -y yum-utils device-mapper-persistent-data lvm22.然后添加倉庫源&#xff1a; sudo sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3.最后安裝 Docker&#xff…

String.format() 方法用法解說

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 String chargeFlowUrl _AGENT_URL "?agentAccount" _AGENT_ACCOUNT "&sequence%s &phone%s &iceUrl%s &…

Choose unique values for the 'webAppRootKey' context-param in your web.xml files! 錯誤的解決

大意是Log4jConfigListener在獲取webapp.root值時&#xff0c;被后一context的值替換掉了&#xff0c;所以要在各個項目的web.xml中配置不同的webAppRootKey值&#xff0c;隨即在其中一個web.xml中添加&#xff1a; <context-param> <param-name>webAppRootKey<…