Files
nuttyreading-master-html/src/views/modules/course/courseChapter.vue
始于初见 298edb2c53 1、课程加图片
2、新增运营标签绑定课程
2024-04-19 10:34:01 +08:00

253 lines
7.9 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<!-- <el-form-item label="课程目录章节名称">
<el-input v-model="query.keywords" placeholder="课程目录章节名称" clearable></el-input>
</el-form-item> -->
<el-form-item>
<el-button @click="pageIndex = 1;getDataList()">查询</el-button>
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
</el-form-item>
</el-form>
<el-table :data="dataList" border v-loading="dataListLoading"
style="width: 100%;">
<el-table-column prop="title" header-align="center" align="center" label="章节名称">
</el-table-column>
<el-table-column prop="createTime" header-align="center" align="center" label="创建日期">
</el-table-column>
<el-table-column header-align="center" align="center" label="图片">
<template slot-scope="scope">
<img v-if="scope.row.imgUrl != ''" :src="scope.row.imgUrl" width="70" height="100" class="tableImg" />
</template>
</el-table-column>
<el-table-column prop="content" header-align="center" align="center" label="内容">
</el-table-column>
<el-table-column fixed="right" header-align="center" align="center" width="250" label="操作">
<template slot-scope="scope">
<div>
<router-link :to="{path: 'course-courseVideo' , query:{ id : scope.row.id , pageIndex} }">
<el-button type="text" size="small">视频管理</el-button>
</router-link>
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row)">修改</el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
</div>
</template>
</el-table-column>
</el-table>
<el-pagination @size-change="sizeChangeHandle" @current-change="currentChangeHandle" :current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]" :page-size="pageSize" :total="totalPage"
style="padding: 30px 0; text-align: center;" layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
</div>
</template>
<script>
import AddOrUpdate from './chapter-add-or-update'
export default {
data() {
return {
dataForm: {
key: ''
},
query:{
type:'',
categoryId:'',
sociologyId:'',
keywords:''
},
dataList: [],
delFlag: false,
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
components: {
AddOrUpdate
},
activated() {
this.courseid = this.$route.query.courseid;
this.catalogue_id = this.$route.query.id;
console.log('111', this.courseid)
console.log('222', this.catalogue_id)
if(this.$route.query.upPageInde != null){
this.pageIndex = this.$route.query.upPageIndex;
console.log(this.pageIndex)
}
this.getDataList()
},
methods: {
// 获取数据列表
getDataList() {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/master/course/getCourseCatalogueChapterList'),
method: 'post',
data: this.$http.adornData({
'id': this.catalogue_id,
'page': this.pageIndex,
'limit': this.pageSize,
// "type": this.query.type||0, //类型0全部1医学2国学
// "categoryId": this.query.categoryId, //医学类型id当type为1时为必填项;为0时代表全部
// "sociologyId": this.query.sociologyId, //国学类型id,当type为2时为必填项为0代表全部
// "keywords": this.query.keywords //关键字
})
}).then(({ data }) => {
if (data && data.code === 0) {
this.dataList = data.page.records
this.totalPage = data.page.total
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
// 每页数
sizeChangeHandle(val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
// 当前页
currentChangeHandle(val) {
this.pageIndex = val
this.getDataList()
},
// 多选
selectionChangeHandle(val) {
this.dataListSelections = val
},
// 新增 / 修改
addOrUpdateHandle(row) {
console.log('row1', row)
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(row, this.catalogue_id, this.courseid)
})
},
// 删除
deleteHandle(id) {
// var ids = id ? [id] : this.dataListSelections.map(item => {
// return item.id
// })
this.$confirm(`确定对[id=${id}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/master/course/delCourseCatalogueChapter'),
method: 'post',
data: this.$http.adornData({
'id': id
})
}).then(({ data }) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
})
},
// 开关变化
SwitchChange(event) {
/*点击时他会自动把你绑定的值变更,直接去请求数据就可以了*/
var parms = {
delFlag: event.delFlag,
id: event.id
}
this.$http({
url: this.$http.adornUrl('/book/book/update'),
method: 'post',
data: parms
}).then(res => {
this.$message({
message: '成功',
type: 'success'
})
this.loading = false
this.getDataList()
}).catch(error => {
this.loading = false
console.log(error)
})
console.log(event)
},
chapterHandle(id, row) {
if (row.novel == '') {
this.$alert('请上传电子书文件后在进行此操作', '提示', {
confirmButtonText: '好的',
});
return false
}
this.$http({
url: this.$http.adornUrl('/book/book/getChapter'),
method: 'get',
params: this.$http.adornParams({
'id':id
})
}).then(res => {
this.$message({
message: '成功',
type: 'success'
})
this.loading = false
this.getDataList()
})
},
contentHandle(id){
this.$http({
url: this.$http.adornUrl('/book/bookchaptercontent/getBookVoices'),
method: 'get',
params: this.$http.adornParams({
'id':id
})
}).then(res => {
this.$message({
message: '成功',
type: 'success'
})
this.loading = false
this.getDataList()
})
},
voicesHandle(id){
//allVoices
this.$http({
// url: this.$http.adornUrl('/book/bookchaptercontent/allVoices'),
url: this.$http.adornUrl('/book/bookchaptercontent/AllVOices'),
method: 'get',
params: this.$http.adornParams({
'id':id
})
}).then(res => {
console.log('book/bookchaptercontent/AllVOices')
this.$message({
message: '成功',
type: 'success'
})
this.loading = false
this.getDataList()
})
}
}
}
</script>