qsh 2 weeks ago
parent ff25185517
commit 9e9c7b27b0
  1. 21
      src/api/gds/course.js
  2. 133
      src/views/GDS/course/index.vue

@ -0,0 +1,21 @@
import request from '@/config/axios'
// 创建
export const createCourse = (data) => {
return request.post({ url: '/admin-api/applet/sinology/lesson/create', data, isSubmitForm: true })
}
// 修改
export const updateCourse = (data) => {
return request.put({ url: '/admin-api/applet/sinology/lesson/update', data })
}
// 分页
export const getCoursePage = (params) => {
return request.get({ url: '/admin-api/applet/sinology/lesson/page', params })
}
// 删除
export const deleteCourse = (lessonId) => {
return request.delete({ url: '/admin-api/applet/sinology/lesson/delete', params: { lessonId } })
}

@ -0,0 +1,133 @@
<template>
<div>
<el-form :inline="true" label-width="0" @submit.prevent>
<el-form-item>
<el-input
v-model="queryParams.lessonName"
placeholder="请输入课程标题"
clearable
style="width: 400px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-input
v-model="queryParams.author"
placeholder="请输入作者"
clearable
style="width: 400px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery" v-hasPermi="['GDS:course:search']">
搜索
</el-button>
<el-button type="primary" @click="handleAdd" v-hasPermi="['GDS:course:add']">
新增
</el-button>
</el-form-item>
</el-form>
<el-table
v-loading="loading"
:data="tableList"
highlight-current-row
max-height="calc(100vh - 320px)"
>
<el-table-column type="index" width="55" align="center" />
<el-table-column label="课程标题" align="left" prop="lessonName" min-width="140" />
<el-table-column label="章节简介" align="center" prop="introduction" width="100" />
<el-table-column label="图片" align="center" width="100">
<template #default="{ row }">
<el-image
v-if="row.image"
:src="getShowImg(row)"
:preview-src-list="[getShowImg(row)]"
:lazy="true"
style="width: 90px"
preview-teleported
/>
</template>
</el-table-column>
<el-table-column label="作者" align="center" prop="author" min-width="100" />
<el-table-column label="创建时间" align="center" prop="createTime" min-width="100" />
<el-table-column label="发布时间" align="center" prop="publicTime" min-width="100" />
<el-table-column label="浏览数" align="center" prop="chapterName" min-width="100" />
<el-table-column label="点赞数" align="center" prop="chapterName" min-width="100" />
<el-table-column label="收藏数" align="center" prop="chapterName" min-width="100" />
<el-table-column label="操作" align="center" width="140">
<template #default="scope">
<el-button
type="primary"
link
@click="handleEdit(scope.row)"
v-hasPermi="['GDS:course:edit']"
>
修改
</el-button>
<el-button
type="primary"
link
@click="handleDelete(scope.row)"
v-hasPermi="['GDS:course:delete']"
>
删除
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
style="margin-bottom: 0"
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script setup>
import * as CourseApi from '@/api/gds/course'
const tableList = ref([])
const total = ref(0)
const loading = ref(false)
const queryParams = ref({
pageNo: 1,
pageSize: 20,
lessonName: undefined,
author: undefined
})
function handleQuery() {
queryParams.value.pageNo = 1
getList()
}
async function getList() {
try {
loading.value = true
const data = await CourseApi.getCoursePage(queryParams.value)
tableList.value = data.list
total.value = data.total
loading.value = false
} finally {
loading.value = false
}
}
function getShowImg(row) {
return row.image.includes('http')
? row.image
: `https://ss-cloud.ahduima.com/sinology/pic/${row.image}`
}
onMounted(() => {
getList()
})
</script>
<style lang="scss" scoped></style>
Loading…
Cancel
Save