提交 feb5263e authored 作者: matian's avatar matian

updates

上级 f79361a3
......@@ -33,11 +33,10 @@ const listOptions = computed(() => {
prop: 'start_time',
align: 'center',
computed({ row }: any) {
console.log(row.start_time, row.end_time, Date.parse(Date()), '000row.start_time')
if (row.start_time === undefined || Date.parse(Date()) > row.start_time) {
if (row.start_time === undefined) {
return '-'
} else {
return format(parseInt(row.start_time))
return format(parseInt(row.start_time) * 1000)
}
}
},
......@@ -46,10 +45,10 @@ const listOptions = computed(() => {
prop: 'end_time',
align: 'center',
computed({ row }: any) {
if (row.end_time === undefined || Date.parse(Date()) > row.end_time) {
if (row.end_time === undefined) {
return '-'
} else {
return format(parseInt(row.end_time))
return format(parseInt(row.end_time) * 1000)
}
}
},
......
......@@ -69,7 +69,8 @@ const listOptions = computed(() => {
httpRequest: getHttpRequest,
callback(data: any) {
tableData = data
tableData.list.forEach((item: any) => (item.status = '1'))
tableData.list.forEach((item: any) => (item.check_status = false))?.filter((it: any) => it.status === '1')
console.log(tableData, '0000')
return data
},
params: { tab: tabValue, status: '', authorized: '', name: '', course_id: props.course_id }
......
......@@ -12,6 +12,7 @@ import AddLecturer from '../components/stepOneComponents/AddLecturer.vue'
import AddExam from '../components/stepOneComponents/AddExam.vue'
// 添加直播
import AddLive from '../components/stepOneComponents/AddLive.vue'
import { ElMessage } from 'element-plus'
const store = useMapStore()
......@@ -127,6 +128,10 @@ const stepOneId = ref()
// 新建课件
const createCourseForm = () => {
if (isUpdate) {
if (form.lecturer_id === '') {
ElMessage.warning('请添加讲师')
return
}
updateCourse(form).then((res: any) => {
if (res.code === 0) {
// 操作第二部
......@@ -141,7 +146,10 @@ const createCourseForm = () => {
}
})
} else {
console.log(form, 'form')
if (form.lecturer_id === '') {
ElMessage.warning('请添加讲师')
return
}
createCourse(form).then((res: any) => {
if (res.code === 0) {
// 操作第二部
......@@ -191,7 +199,7 @@ const createCourseForm = () => {
/>
</el-form-item>
<el-form-item label="课程学分:" prop="credit">
<el-input v-model="form.credit" maxlength="40" />
<el-input v-model="form.credit" maxlength="2" />
</el-form-item>
</el-form>
</div>
......
<script setup lang="ts">
import { courseCopy } from '../api'
import { ElMessage } from 'element-plus'
const props: any = defineProps<{ data: object; tabIndex: string }>()
// 复制
const copyCourse = () => {
courseCopy({ id: props.data.id }).then((res: any) => {
if (res.code === 0) {
ElMessage({ message: '复制成功', type: 'success' })
}
})
}
</script>
<template>
<!-- <div>{{ props.data }}</div> -->
......@@ -18,6 +29,9 @@ const props: any = defineProps<{ data: object; tabIndex: string }>()
<router-link v-if="props.data.auth_view" :to="`/course/my/view?id=${props.data.id}`">
<div class="view-btn">查看</div>
</router-link>
<div style="min-width: 100%" v-if="props.data.auth_copy">
<div class="copy-btn" plain @click="copyCourse">复制</div>
</div>
</div>
</div>
</div>
......@@ -78,7 +92,7 @@ const props: any = defineProps<{ data: object; tabIndex: string }>()
height: 100%;
background: rgba(0, 0, 0, 0.6);
opacity: 0;
padding-top: 52px;
padding-top: 22px;
box-sizing: border-box;
.edit-btn {
width: 113px;
......@@ -88,7 +102,7 @@ const props: any = defineProps<{ data: object; tabIndex: string }>()
text-align: center;
font-size: 14px;
color: #ffffff;
margin: 0 auto 12px;
margin: 0 auto 5px;
cursor: pointer;
}
.view-btn {
......@@ -102,6 +116,17 @@ const props: any = defineProps<{ data: object; tabIndex: string }>()
margin: 0 auto;
cursor: pointer;
}
.copy-btn {
width: 113px;
line-height: 32px;
border-radius: 18px;
text-align: center;
font-size: 14px;
color: #ffffff;
margin: 5px auto;
cursor: pointer;
border: 1px solid #d3d3d3;
}
}
}
}
......
......@@ -76,7 +76,7 @@ const handleStatus = () => {
`
${
parseInt(props.data.status) === 1
? '已下线的课程将不能被关联到课程使用,确认下线该课程吗?'
? '已下线的课程将不能被共享和使用,确认下线该课程吗?'
: '确认再次上线该课程吗?'
}
`,
......
......@@ -62,7 +62,7 @@ const basicInfo = computed((): IBasicInfo[] => {
},
{
icon: 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon7.png',
label: '是否可用',
label: '是否有效',
value: '',
key: 'status_name'
},
......@@ -122,7 +122,7 @@ const basicInfo = computed((): IBasicInfo[] => {
<div class="item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon12.png" />
<div class="label">课程授权信息</div>
<div class="value">Marrywood</div>
<div class="value" v-for="(item, index) in props.data" :key="index">{{ item.department_name }}</div>
</div>
</div>
</div>
......
......@@ -24,7 +24,9 @@ const videoOptions = computed(() => {
return {
sources: [
{
src: resourceData.play_auth?.play_info_list.find((item: any) => { return item.Definition === 'SD' }).PlayURL
src: resourceData.play_auth?.play_info_list.find((item: any) => {
return item.Definition === 'SD'
}).PlayURL
}
]
}
......@@ -60,6 +62,7 @@ const changeVideo = (index: number) => {
@click="changeVideo(index)"
>
<div :class="index === videoIndex ? 'border active' : 'border'"></div>
<div class="cover-name">{{ item.name }}</div>
</div>
</div>
</div>
......@@ -67,7 +70,7 @@ const changeVideo = (index: number) => {
<style lang="scss" scoped>
.cover-box {
display: flex;
margin-bottom: 20px;
margin-bottom: 30px;
}
.cover-img {
width: 200px;
......@@ -81,8 +84,17 @@ const changeVideo = (index: number) => {
height: 100%;
box-sizing: border-box;
&.active {
border: 10px solid #aa1941;
border-top: 5px solid #aa1941;
border-left: 5px solid #aa1941;
border-right: 5px solid #aa1941;
}
}
}
.cover-name {
width: 100%;
height: 30px;
background: #aa1941;
text-align: center;
line-height: 30px;
}
</style>
......@@ -43,8 +43,8 @@ interface IResourceAll {
videoData: { cover: string; id: string }[]
courseware: { id: string; url: string }[]
lessonPlan: { id: string; url: string }[]
data: { id: string; url: string }[],
exam: any[],
data: { id: string; url: string }[]
exam: any[]
live: any[]
}
......@@ -184,23 +184,25 @@ watch(
<div class="title">{{ chapterDetails?.name }}</div>
<div class="chapter-content">
<div class="content-left">
{{ resourceData.videoData }}
<ViewDetailsVideo
v-if="Object.keys(resourceData.videoData).length"
:data="resourceData.videoData"
></ViewDetailsVideo>
<el-empty description="暂无数据" v-else/>
<el-empty description="暂无数据" v-else />
<el-tabs :lazy="true" v-model="activeName" class="demo-tabs">
<el-tab-pane label="课件" name="1">
<PreviewFiles v-for="item in resourceData.courseware" :key="item.id" :url="item.url"></PreviewFiles>
<el-empty description="暂无数据" v-if="!resourceData.courseware.length"/>
<el-empty description="暂无数据" v-if="!resourceData.courseware.length" />
</el-tab-pane>
<el-tab-pane label="教案" name="2">
<PreviewFiles :url="item.url" v-for="item in resourceData.courseware" :key="item.id"></PreviewFiles>
<el-empty description="暂无数据" v-if="!resourceData.courseware.length"/>
<el-empty description="暂无数据" v-if="!resourceData.courseware.length" />
</el-tab-pane>
<el-tab-pane label="资料" name="3">
<PreviewFiles :url="item.url" v-for="item in resourceData.courseware" :key="item.id"></PreviewFiles>
<el-empty description="暂无数据" v-if="!resourceData.courseware.length"/>
<el-empty description="暂无数据" v-if="!resourceData.courseware.length" />
</el-tab-pane>
<el-tab-pane label="考试 / 测验" name="4">
<AppList v-bind="listOptions"></AppList>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论