|
@@ -3,7 +3,7 @@
|
|
|
<Header />
|
|
|
<div class="manage-root-contain">
|
|
|
<nav-menu class="manage-root-contain-left" :activeMenuIndex="activeMenuIndex" v-if="stepIndex!==1"></nav-menu>
|
|
|
- <course-list-nav class="manage-root-contain-left" v-else :data="courseList" activeMenuIndex="1"></course-list-nav>
|
|
|
+ <course-list-nav class="manage-root-contain-left" v-else :treeData="courseList" activeMenuIndex="1" :emptyQustion="emptyQustion" :getItemInfo="getItemInfo" :getCourseInfo="getCourseInfo" :itemsId="itemsId"></course-list-nav>
|
|
|
<div class="manage-root-contain-right">
|
|
|
<breadcrumb :breadcrumbList="breadcrumbList" class="breadcrumb-box"></breadcrumb>
|
|
|
<div class="create-top">
|
|
@@ -28,45 +28,39 @@
|
|
|
</div>
|
|
|
<div class="create-bottom">
|
|
|
<el-form :model="organizeForm" :rules="rulesOrganize" ref="organizeForm" label-width="100px" class="registerForm" v-if="stepIndex===0">
|
|
|
- <el-form-item label="课程封面" prop="avatar">
|
|
|
- <el-upload
|
|
|
- class="avatar-uploader"
|
|
|
- action="https://jsonplaceholder.typicode.com/posts/"
|
|
|
- :show-file-list="false"
|
|
|
- :on-success="handleAvatarSuccess"
|
|
|
- :before-upload="beforeAvatarUpload">
|
|
|
- <el-image v-if="organizeForm.avatar" :src="organizeForm.avatar" fit="contain"></el-image>
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon">Upload</i>
|
|
|
- </el-upload>
|
|
|
+ <el-form-item label="课程封面" prop="cover_image_url">
|
|
|
+ <upload :datafileList="organizeForm.cover_image_list" :changeFillId="handleAvatarSuccess" :fileName="'cover'" :showList="true" uploadType="image" :filleNumber="1" v-if="!organizeForm.cover_image_url" />
|
|
|
+ <div class="cover-box" v-else @mouseover="Imagemouseover('coverFlag',true)" @mouseout="Imagemouseover('coverFlag',false)">
|
|
|
+ <el-image :src="organizeForm.cover_image_url" fit="contain" style="max-width:200px;max-height:200px;"></el-image>
|
|
|
+ <p v-show="coverFlag" @click="handleDeleteFile('cover',0)"><i class="el-icon-delete"></i></p>
|
|
|
+ </div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="课程名称" prop="title">
|
|
|
- <el-input v-model="organizeForm.title" placeholder="请输入课程名称"></el-input>
|
|
|
+ <el-input v-model="organizeForm.title" placeholder="请输入课程名称" @blur="handleTrim('organizeForm','title')"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="类型" prop="courseType">
|
|
|
- <el-radio-group v-model="organizeForm.courseType">
|
|
|
- <el-radio label="video">视频课</el-radio>
|
|
|
- <el-radio label="audio">音频课</el-radio>
|
|
|
+ <el-radio-group v-model="organizeForm.courseType" :disabled="id?true:false">
|
|
|
+ <el-radio :label="0">视频课</el-radio>
|
|
|
+ <el-radio :label="1">音频课</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="机构" prop="orgName">
|
|
|
- <el-select v-model="organizeForm.orgName" placeholder="请选择">
|
|
|
+ <el-select v-model="organizeForm.orgName" filterable placeholder="请选择">
|
|
|
<el-option
|
|
|
- v-for="item in $orgType"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- :disabled="item.disabled">
|
|
|
+ v-for="item in orgList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="教师" prop="teacher">
|
|
|
- <el-select v-model="organizeForm.teacher" multiple placeholder="请选择">
|
|
|
+ <el-select v-model="organizeForm.teacher" multiple filterable allow-create default-first-option placeholder="请选择">
|
|
|
<el-option
|
|
|
- v-for="item in $orgType"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- :disabled="item.disabled">
|
|
|
+ v-for="(item,i) in teacherList"
|
|
|
+ :key="item+i"
|
|
|
+ :label="item"
|
|
|
+ :value="item">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -80,21 +74,19 @@
|
|
|
<el-select v-model="organizeForm.study" placeholder="请选择">
|
|
|
<el-option
|
|
|
v-for="item in $orgType"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- :disabled="item.disabled">
|
|
|
+ :key="item.study_phase"
|
|
|
+ :label="item.study_phase_name"
|
|
|
+ :value="item.study_phase">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="标签" prop="tabs">
|
|
|
<el-select v-model="organizeForm.tabs" multiple filterable allow-create default-first-option placeholder="请选择">
|
|
|
<el-option
|
|
|
- v-for="item in $orgType"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- :disabled="item.disabled">
|
|
|
+ v-for="(item,i) in tabsList"
|
|
|
+ :key="item+i"
|
|
|
+ :label="item"
|
|
|
+ :value="item">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -122,21 +114,23 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div v-if="stepIndex===1">
|
|
|
+ <div class="common-title-box" style="margin-bottom:32px">
|
|
|
+ <h3>{{itemsId?'编辑课节':'创建课节'}}</h3>
|
|
|
+ </div>
|
|
|
<el-form :model="createCourseForm" :rules="rulesCreateCourse" ref="createCourseForm" label-width="100px" class="registerForm">
|
|
|
<el-form-item label="课节名称" prop="title">
|
|
|
- <el-input v-model="createCourseForm.title" placeholder="请输入课节名称"></el-input>
|
|
|
+ <el-input v-model="createCourseForm.title" placeholder="请输入课节名称" @blur="handleTrim('createCourseForm','title')"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="教师" prop="teacher">
|
|
|
<el-radio-group v-model="createCourseForm.teacher">
|
|
|
- <el-radio label="1">张老师</el-radio>
|
|
|
- <el-radio label="2">李老师</el-radio>
|
|
|
+ <el-radio :label="itemO" v-for="(itemO,indexO) in organizeForm.teacher" :key="indexO"></el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="课程视频" prop="videoResource" v-if="organizeForm.courseType==='video'">
|
|
|
- <upload :datafileList="createCourseForm.videoResource" uploadType="mp4" :filleNumber="1" />
|
|
|
+ <el-form-item label="课程视频" prop="videoResource" v-if="organizeForm.courseType===0">
|
|
|
+ <upload :datafileList="createCourseForm.videoResource" :changeFillId="handleAvatarSuccess" :fileName="'courseVideo'" uploadType="mp4" :filleNumber="1" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="课程音频" prop="audioResource" v-else>
|
|
|
- <upload :datafileList="createCourseForm.audioResource" uploadType="mp3" :filleNumber="1" />
|
|
|
+ <upload :datafileList="createCourseForm.audioResource" :changeFillId="handleAvatarSuccess" :fileName="'courseAudio'" uploadType="mp3" :filleNumber="1" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="课节信息" prop="intro">
|
|
|
<Editor
|
|
@@ -146,10 +140,10 @@
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="课节资源" prop="resource">
|
|
|
- <upload :datafileList="createCourseForm.resource" tips="支持上传图片、文档、音频、视频等资料,单个最大200MB,总共不超1GB,支持预览功能" />
|
|
|
+ <upload :datafileList="createCourseForm.resource" :changeFillId="handleAvatarSuccess" :fileName="'courseResource'" :filleNumber="99" tips="支持上传图片、文档、音频、视频等资料,单个最大200MB,总共不超1GB,支持预览功能" />
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-button size="small" @click="onCancel('createCourseForm')">取消</el-button>
|
|
|
+ <!-- <el-button size="small" @click="onCancel('createCourseForm')">取消</el-button> -->
|
|
|
<el-button type="primary" size="small" @click="handleSaveCourse('createCourseForm')"><svg-icon icon-class="save-line"></svg-icon> 保存</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
@@ -199,6 +193,7 @@ import "tinymce/plugins/preview";
|
|
|
import "tinymce/plugins/contextmenu";
|
|
|
import "tinymce/plugins/textcolor";
|
|
|
import "tinymce/plugins/colorpicker";
|
|
|
+import { getLogin } from "@/api/ajax";
|
|
|
|
|
|
export default {
|
|
|
//import引入的组件需要注入到对象中才能使用
|
|
@@ -265,12 +260,13 @@ export default {
|
|
|
],
|
|
|
id:this.$route.query.id?this.$route.query.id:'',
|
|
|
stepIndex:0, // 步骤索引
|
|
|
- newPwdFlag: false, // 查看新密码
|
|
|
- comfirmPwdFlag: false, // 查看确认密码
|
|
|
+ coverFlag: false,
|
|
|
organizeForm:{
|
|
|
- avatar: '',
|
|
|
+ cover_image_url: '',
|
|
|
+ cover_image_list: [],
|
|
|
+ cover_image_id: null,
|
|
|
title: '',
|
|
|
- courseType: 'video',
|
|
|
+ courseType: 0,
|
|
|
orgName: '',
|
|
|
teacher: [],
|
|
|
validity:'',
|
|
@@ -285,7 +281,7 @@ export default {
|
|
|
{ required: true, message: '请输入课程名称', trigger: 'blur' }
|
|
|
],
|
|
|
orgName: [
|
|
|
- { required: true, message: '请输入机构', trigger: 'change' }
|
|
|
+ { required: true, message: '请选择机构', trigger: 'change' }
|
|
|
],
|
|
|
courseType: [
|
|
|
{ required: true, message: '请选择类型', trigger: 'change' }
|
|
@@ -306,28 +302,14 @@ export default {
|
|
|
{ required: true, validator: validatePrice, trigger: 'blur' },
|
|
|
],
|
|
|
},
|
|
|
- courseList:[
|
|
|
- {
|
|
|
- id:'123',
|
|
|
- title:'第一节 新高考趋势分析',
|
|
|
- index: '1'
|
|
|
- },
|
|
|
- {
|
|
|
- id:'123',
|
|
|
- title:'第二节 英语阅读宏观技能',
|
|
|
- index: '2'
|
|
|
- },
|
|
|
- {
|
|
|
- id:'123',
|
|
|
- title:'第三节 英语阅读微观技能',
|
|
|
- index: '3'
|
|
|
- },
|
|
|
- ],
|
|
|
+ courseList:[],
|
|
|
createCourseForm:{
|
|
|
title:'',
|
|
|
- teacher:'1',
|
|
|
+ teacher:'',
|
|
|
videoResource:[],
|
|
|
audioResource:[],
|
|
|
+ file_id:'',
|
|
|
+ file_url:'',
|
|
|
intro:'',
|
|
|
resource:[]
|
|
|
},
|
|
@@ -346,6 +328,11 @@ export default {
|
|
|
],
|
|
|
},
|
|
|
init: null,
|
|
|
+ orgList:[],
|
|
|
+ teacherList:['李老师','赵老师'],
|
|
|
+ tabsList:['中英双语','少儿必读'],
|
|
|
+ recordedId: null, // 录播课id
|
|
|
+ itemsId: null, // 课节id
|
|
|
}
|
|
|
},
|
|
|
//计算属性 类似于data概念
|
|
@@ -363,21 +350,25 @@ export default {
|
|
|
if(type=='-'){
|
|
|
if(this.stepIndex>0) this.stepIndex--
|
|
|
}else{
|
|
|
- if(this.stepIndex<2) this.stepIndex++
|
|
|
+ if(this.stepIndex===0){
|
|
|
+ this.$refs['organizeForm'].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ this.handleAddCourse()
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }else if(this.stepIndex===1){
|
|
|
+ this.stepIndex++
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
- // 级联选择器
|
|
|
- handleCity(value){
|
|
|
- console.log(value)
|
|
|
- },
|
|
|
- changeIcon(flag){
|
|
|
- this[flag] = !this[flag]
|
|
|
- },
|
|
|
// 返回列表
|
|
|
handleback(){
|
|
|
localStorage.setItem("pageNumber",1)
|
|
|
this.$router.push({
|
|
|
- path: "/live_course",
|
|
|
+ path: "/recorded_course",
|
|
|
query: {
|
|
|
|
|
|
},
|
|
@@ -385,37 +376,222 @@ export default {
|
|
|
},
|
|
|
//继续创建
|
|
|
handleCreate(){
|
|
|
- this.$router.replace('/createLive')
|
|
|
+ this.$router.replace({
|
|
|
+ path: "/createRecorded",
|
|
|
+ query: {
|
|
|
+
|
|
|
+ },
|
|
|
+ })
|
|
|
location.reload()
|
|
|
},
|
|
|
handleChange(value) {
|
|
|
// console.log(value)
|
|
|
},
|
|
|
- handleAvatarSuccess(res, file) {
|
|
|
- this.organizeForm.avatar = URL.createObjectURL(file.raw);
|
|
|
- },
|
|
|
- beforeAvatarUpload(file) {
|
|
|
- const isLt2M = file.size / 1024 / 1024 < 2;
|
|
|
- if (!isLt2M) {
|
|
|
- this.$message.error('上传头像图片大小不能超过 2MB!');
|
|
|
+ handleAvatarSuccess(fileList,name) {
|
|
|
+ if(name==='cover'){
|
|
|
+ this.organizeForm.cover_image_list = fileList
|
|
|
+ this.organizeForm.cover_image_id = fileList[0].response&&fileList[0].response.file_info_list&&fileList[0].response.file_info_list[0]?fileList[0].response.file_info_list[0].file_id:''
|
|
|
+ this.organizeForm.cover_image_url = fileList[0].response&&fileList[0].response.file_info_list&&fileList[0].response.file_info_list[0]?fileList[0].response.file_info_list[0].file_url:''
|
|
|
+ }else if(name==='courseVideo'){
|
|
|
+ this.createCourseForm.videoResource = fileList
|
|
|
+ this.createCourseForm.file_id = fileList[0].response&&fileList[0].response.file_info_list&&fileList[0].response.file_info_list[0]?fileList[0].response.file_info_list[0].file_id:''
|
|
|
+ this.createCourseForm.file_url = fileList[0].response&&fileList[0].response.file_info_list&&fileList[0].response.file_info_list[0]?fileList[0].response.file_info_list[0].file_url:''
|
|
|
+ }else if(name==='courseAudio'){
|
|
|
+ this.createCourseForm.audioResource = fileList
|
|
|
+ this.createCourseForm.file_id = fileList[0].response&&fileList[0].response.file_info_list&&fileList[0].response.file_info_list[0]?fileList[0].response.file_info_list[0].file_id:''
|
|
|
+ this.createCourseForm.file_url = fileList[0].response&&fileList[0].response.file_info_list&&fileList[0].response.file_info_list[0]?fileList[0].response.file_info_list[0].file_url:''
|
|
|
+ }else if(name==='courseResource'){
|
|
|
+ this.createCourseForm.resource = fileList
|
|
|
}
|
|
|
- return isLt2M;
|
|
|
},
|
|
|
// 取消 恢复到修改前状态
|
|
|
onCancel(formName){
|
|
|
this.$refs[formName].resetFields();
|
|
|
},
|
|
|
+ emptyQustion(formName){
|
|
|
+ this.itemsId = null
|
|
|
+ this.$refs[formName].resetFields();
|
|
|
+ },
|
|
|
// 保存课节
|
|
|
handleSaveCourse(formName){
|
|
|
this.$refs[formName].validate((valid) => {
|
|
|
if (valid) {
|
|
|
- alert('submit!');
|
|
|
+ let MethodName = "/CourseServer/Manager/LBCourseManager/AddCSItemToLBCourse";
|
|
|
+ let form = this.createCourseForm
|
|
|
+ let resource_file_id_list = []
|
|
|
+ form.resource.forEach(item => {
|
|
|
+ if(item.response&&item.response.file_info_list&&item.response.file_info_list[0]){
|
|
|
+ resource_file_id_list.push(item.response.file_info_list[0].file_id)
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ let data = {
|
|
|
+ name: form.title,
|
|
|
+ teacher_name: form.teacher,
|
|
|
+ file_id: form.file_id,
|
|
|
+ intro: form.intro,
|
|
|
+ resource_file_id_list: resource_file_id_list
|
|
|
+ }
|
|
|
+ if(this.itemsId){
|
|
|
+ MethodName = "/CourseServer/Manager/LBCourseManager/UpdateLBCourseCSItem";
|
|
|
+ data.id = this.itemsId
|
|
|
+ }else{
|
|
|
+ data.course_id = this.id?this.id:this.recordedId
|
|
|
+ }
|
|
|
+ getLogin(MethodName, data)
|
|
|
+ .then((res) => {
|
|
|
+ if(res.status===1){
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '保存成功!'
|
|
|
+ });
|
|
|
+ if(res.id){
|
|
|
+ this.itemsId = res.id
|
|
|
+ }
|
|
|
+ this.getCourseInfo()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.loading = false
|
|
|
+ });
|
|
|
} else {
|
|
|
- console.log('error submit!!');
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
- }
|
|
|
+ },
|
|
|
+ Imagemouseover(item,flag) {
|
|
|
+ this[item] = flag
|
|
|
+ },
|
|
|
+ handleDeleteFile(item,i) {
|
|
|
+ this.$confirm("确定删除吗?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ }).then(() => {
|
|
|
+ if(item==='cover'){
|
|
|
+ this.organizeForm.cover_image_list.splice(i, 1);
|
|
|
+ this.organizeForm.cover_image_url = ''
|
|
|
+ this.organizeForm.cover_image_id = null
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 查询机构列表
|
|
|
+ getOrgList(){
|
|
|
+ let MethodName = "/OrgServer/Manager/PageQuery/PageQueryOrgList";
|
|
|
+ let data = {
|
|
|
+ name: '',
|
|
|
+ type: -1,
|
|
|
+ status: 1,
|
|
|
+ area_id: '',
|
|
|
+ creator_id: '',
|
|
|
+ page_capacity:50,
|
|
|
+ cur_page:1
|
|
|
+ }
|
|
|
+ getLogin(MethodName, data)
|
|
|
+ .then((res) => {
|
|
|
+ if(res.status===1){
|
|
|
+ this.orgList = res.org_list
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 创建录播课
|
|
|
+ handleAddCourse(){
|
|
|
+ let MethodName = "/CourseServer/Manager/LBCourseManager/AddLBCourse";
|
|
|
+ let form = this.organizeForm
|
|
|
+ let data = {
|
|
|
+ cover_image_id: form.cover_image_id,
|
|
|
+ name: form.title,
|
|
|
+ study_phase: form.study,
|
|
|
+ type: form.courseType,
|
|
|
+ org_id: form.orgName,
|
|
|
+ teacher_name_list:form.teacher,
|
|
|
+ label_name_list: form.tabs,
|
|
|
+ effective_month_count: form.validity*1,
|
|
|
+ price: form.price,
|
|
|
+ price_discount: form.currentPrice,
|
|
|
+ intro: form.intro
|
|
|
+ }
|
|
|
+ if(this.id){
|
|
|
+ MethodName = "/CourseServer/Manager/LBCourseManager/UpdateLBCourse"
|
|
|
+ data.id = this.id
|
|
|
+ }
|
|
|
+ getLogin(MethodName, data)
|
|
|
+ .then((res) => {
|
|
|
+ if(res.status===1){
|
|
|
+ this.recordedId = res.id
|
|
|
+ this.stepIndex++
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.loading = false
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 去掉前后空格
|
|
|
+ handleTrim(form,fild){
|
|
|
+ this[form][fild] = this[form][fild].trim()
|
|
|
+ },
|
|
|
+ // 获取课程信息
|
|
|
+ getCourseInfo(){
|
|
|
+ let MethodName = "/CourseServer/Manager/LBCourseManager/GetLBCourseInfo";
|
|
|
+ let data = {
|
|
|
+ id: this.id,
|
|
|
+ is_contain_cs_item:'true'
|
|
|
+ }
|
|
|
+ getLogin(MethodName, data)
|
|
|
+ .then((res) => {
|
|
|
+ if(res.status===1){
|
|
|
+ this.courseList = res.cs_item_list
|
|
|
+ let form = this.organizeForm
|
|
|
+ form.cover_image_id = res.lb_course.cover_image_id
|
|
|
+ form.cover_image_url = res.lb_course.cover_image_url
|
|
|
+ form.cover_image_list.push[{
|
|
|
+ id: res.lb_course.cover_image_id
|
|
|
+ }]
|
|
|
+ form.title = res.lb_course.name
|
|
|
+ form.study = res.lb_course.study_phase
|
|
|
+ form.courseType = res.lb_course.type
|
|
|
+ form.orgName = res.lb_course.org_id
|
|
|
+ form.teacher = res.lb_course.teacher_name_list
|
|
|
+ form.tabs = res.lb_course.label_name_list
|
|
|
+ form.validity = res.lb_course.effective_month_count
|
|
|
+ form.price = res.lb_course.price
|
|
|
+ form.currentPrice = res.lb_course.price_discount
|
|
|
+ form.intro = res.lb_course.intro
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.loading = false
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 获取课节信息
|
|
|
+ getItemInfo(id){
|
|
|
+ this.itemsId = id
|
|
|
+ let MethodName = "/CourseServer/Manager/LBCourseManager/GetLBCourseCSItemInfo";
|
|
|
+ let data = {
|
|
|
+ id: id
|
|
|
+ }
|
|
|
+ getLogin(MethodName, data)
|
|
|
+ .then((res) => {
|
|
|
+ if(res.status===1){
|
|
|
+ let form = this.createCourseForm
|
|
|
+ form.title = res.lb_course_cs_item.name
|
|
|
+ form.teacher = res.lb_course_cs_item.teacher_name
|
|
|
+ form.file_id = res.lb_course_cs_item.file_id
|
|
|
+ form.file_url = res.lb_course_cs_item.file_url
|
|
|
+ form.audioResource = [{
|
|
|
+ id:res.lb_course_cs_item.file_id,
|
|
|
+ name:'123'
|
|
|
+ }]
|
|
|
+ form.intro = res.lb_course_cs_item.intro
|
|
|
+ form.resource = res.resource_file_list
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.loading = false
|
|
|
+ });
|
|
|
+ },
|
|
|
},
|
|
|
//生命周期 - 创建完成(可以访问当前this实例)
|
|
|
created() {
|
|
@@ -426,6 +602,7 @@ export default {
|
|
|
}
|
|
|
if(this.id){
|
|
|
obj.text = '编辑课程'
|
|
|
+ this.getCourseInfo()
|
|
|
}
|
|
|
this.breadcrumbList.push(obj)
|
|
|
let lang_url = "";
|
|
@@ -451,6 +628,7 @@ export default {
|
|
|
"preview bold italic underline strikethrough | fontsizeselect | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist | outdent indent blockquote | undo redo | link unlink image code | removeformat",
|
|
|
branding: false,
|
|
|
}; //富文本初始化
|
|
|
+ this.getOrgList()
|
|
|
},
|
|
|
//生命周期 - 挂载完成(可以访问DOM元素)
|
|
|
mounted() {
|
|
@@ -498,6 +676,25 @@ export default {
|
|
|
line-height: 20px;
|
|
|
}
|
|
|
}
|
|
|
+.cover-box{
|
|
|
+ position: relative;
|
|
|
+ width: 200px;
|
|
|
+ height: 200px;
|
|
|
+ p{
|
|
|
+ position: absolute;
|
|
|
+ bottom: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 100%;
|
|
|
+ height: 200px;
|
|
|
+ line-height: 200px;
|
|
|
+ font-size: 20px;
|
|
|
+ text-align: center;
|
|
|
+ cursor: pointer;
|
|
|
+ background: rgba(0, 0, 0, 0.3);
|
|
|
+ color: #F2F3F5;
|
|
|
+ margin: 0;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|
|
|
|
|
|
<style lang="scss">
|