提交 97263a6e authored 作者: lihuihui's avatar lihuihui

修改bug

上级 91f76947
...@@ -8,7 +8,7 @@ import 'video.js/dist/video-js.css' ...@@ -8,7 +8,7 @@ import 'video.js/dist/video-js.css'
const DEFAULT_OPTIONS = { const DEFAULT_OPTIONS = {
controls: true, controls: true,
autoplay: true, autoplay: false,
fluid: true fluid: true
} }
......
...@@ -11,7 +11,7 @@ const props: any = defineProps<{ data: object, path: string, permission?: { edit ...@@ -11,7 +11,7 @@ const props: any = defineProps<{ data: object, path: string, permission?: { edit
<!-- <img src="http://iph.href.lu/265x170" /> --> <!-- <img src="http://iph.href.lu/265x170" /> -->
<div class="title">{{ props.data.name }}</div> <div class="title">{{ props.data.name }}</div>
<div class="item-info"> <div class="item-info">
<div class="info">文件大小:{{ props.data.size }}{{ props.data.size_name[1] }}</div> <div class="info">文件大小:{{ props.data.size }}.M</div>
<div class="info">关联次数:{{ props.data.relation_count }}</div> <div class="info">关联次数:{{ props.data.relation_count }}</div>
<div class="info">学习人次:{{ props.data.learn_count }}人次</div> <div class="info">学习人次:{{ props.data.learn_count }}人次</div>
</div> </div>
......
...@@ -63,9 +63,10 @@ const props = defineProps({ ...@@ -63,9 +63,10 @@ const props = defineProps({
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png" class="icons" /> <img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png" class="icons" />
<div class="text-box"> <div class="text-box">
<div class="name">知识点</div> <div class="name">知识点</div>
<div class="textarea-box" style="min-width:500px;"> <div class="value">{{ props.data?.knowledge_points || '暂无' }}</div>
<!-- <div class="textarea-box" style="min-width:500px;">
{{ props.data?.knowledge_points || '暂无' }} {{ props.data?.knowledge_points || '暂无' }}
</div> </div> -->
</div> </div>
</div> </div>
</div> </div>
......
...@@ -50,7 +50,14 @@ const listOptions = $computed(() => { ...@@ -50,7 +50,14 @@ const listOptions = $computed(() => {
} }
], ],
columns: [ columns: [
{ label: '课件标题', prop: 'name' }, {
label: '课件标题',
prop: 'name',
align: 'center',
computed: (row: any) => {
return row.row.name.length > 10 ? `${row.row.name.slice(0, 10)}...` : row.row.name
}
},
{ label: '课件分类', prop: 'classification_name', align: 'center' }, { label: '课件分类', prop: 'classification_name', align: 'center' },
{ label: '知识点', prop: 'knowledge_points', align: 'center' }, { label: '知识点', prop: 'knowledge_points', align: 'center' },
{ label: '资源状态', prop: 'status_name', align: 'center' }, { label: '资源状态', prop: 'status_name', align: 'center' },
......
...@@ -136,7 +136,7 @@ const protocol = ref(false) ...@@ -136,7 +136,7 @@ const protocol = ref(false)
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="课件名称:" prop="name"> <el-form-item label="课件名称:" prop="name">
<el-input v-model="form.name" /> <el-input maxlength="40" v-model="form.name" />
</el-form-item> </el-form-item>
<el-form-item label="课件分类:" prop="classification"> <el-form-item label="课件分类:" prop="classification">
<el-tree-select <el-tree-select
...@@ -148,7 +148,7 @@ const protocol = ref(false) ...@@ -148,7 +148,7 @@ const protocol = ref(false)
/> />
</el-form-item> </el-form-item>
<el-form-item label="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;知识点:"> <el-form-item label="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;知识点:">
<el-input v-model="form.knowledge_points" :rows="2" type="textarea" /> <el-input maxlength="100" v-model="form.knowledge_points" :rows="2" type="textarea" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="protocol-box"> <div class="protocol-box">
......
<script setup lang="ts"> <script setup lang="ts">
const prop = defineProps(['data']) import { checkPermission } from '@/utils/permission'
import { ElMessage } from 'element-plus'
const prop = defineProps({
data: {
type: Array,
default: () => []
}
})
const router = useRouter()
const listOptions = { const listOptions = {
columns: [ columns: [
{ label: '排名', slots: 'table-ranking', align: 'center' }, { label: '排名', slots: 'table-ranking', align: 'center' },
...@@ -10,28 +21,51 @@ const listOptions = { ...@@ -10,28 +21,51 @@ const listOptions = {
{ label: '更新人', prop: 'created_operator_name', align: 'center' }, { label: '更新人', prop: 'created_operator_name', align: 'center' },
{ label: '操作', slots: 'table-operate', align: 'center' } { label: '操作', slots: 'table-operate', align: 'center' }
], ],
data: prop.data data: prop.data.map((item: any) => {
item.name = `${item.name.slice(0, 10)}...`
return item
})
} }
const resourceType = (name: string, isGetPath: boolean) => { const resourceType = (name: string, isGetPath: number) => {
let path = {} let path = {}
if (isGetPath) { if (isGetPath === 1) {
path = { path = {
'视频': '/resource/video/view', '视频': '/resource/video/view',
'课件': '/resource/courseware/view', '课件': '/resource/courseware/view',
'教案': '/resource/lessonplan/view', '教案': '/resource/lessonplan/view',
'其他资料': '/resource/other/view' '其他资料': '/resource/other/view'
} }
} else { } else if (isGetPath === 2) {
path = { path = {
'视频': 1, '视频': 1,
'课件': 2, '课件': 2,
'教案': 3, '教案': 3,
'其他资料': 4 '其他资料': 4
} }
} else {
path = {
'视频': 'v1-resource-video-view',
'课件': 'v1-resource-courseware-view',
'教案': 'v1-resource-lesson-plan-view',
'其他资料': 'v1-resource-other-information-view'
}
} }
return path[name] return path[name]
} }
const viewDetails = (row: { id: string, resource_type: string }) => {
if (checkPermission(resourceType(row.resource_type, 3))) {
router.push({
path: resourceType(row.resource_type, 1),
query: {
id: row.id
}
})
} else {
ElMessage('暂无权限查阅')
}
}
</script> </script>
<template> <template>
<AppList v-bind="listOptions" ref="appList" border stripe> <AppList v-bind="listOptions" ref="appList" border stripe>
...@@ -42,18 +76,17 @@ const resourceType = (name: string, isGetPath: boolean) => { ...@@ -42,18 +76,17 @@ const resourceType = (name: string, isGetPath: boolean) => {
<div :class="`table-relation active${row.index}`">{{ row.relation }}<span></span></div> <div :class="`table-relation active${row.index}`">{{ row.relation }}<span></span></div>
</template> </template>
<template #table-type="{ row }"> <template #table-type="{ row }">
<div :class="`table-type active${resourceType(row.resource_type, false)}`">{{ row.resource_type }}</div> <div :class="`table-type active${resourceType(row.resource_type, 2)}`">{{ row.resource_type }}</div>
</template> </template>
<template #table-operate="{ row }"> <template #table-operate="{ row }">
<el-space> <el-space>
<router-link :to="`${resourceType(row.resource_type, true)}?id=${row.id}`"> <el-button
<el-button @click="viewDetails(row)"
style="color: #399EE8;" style="color: #399EE8;"
type="primary" type="primary"
link link
>查阅</el-button >查阅</el-button
> >
</router-link>
</el-space> </el-space>
</template> </template>
</AppList> </AppList>
......
<script setup lang="ts"> <script setup lang="ts">
const prop = defineProps(['data']) import { checkPermission } from '@/utils/permission'
import { ElMessage } from 'element-plus'
const router = useRouter()
const prop = defineProps({
data: {
type: Array,
default: () => []
}
})
const listOptions = { const listOptions = {
columns: [ columns: [
{ label: '排名', slots: 'table-ranking', align: 'center' }, { label: '排名', slots: 'table-ranking', align: 'center' },
...@@ -10,28 +21,51 @@ const listOptions = { ...@@ -10,28 +21,51 @@ const listOptions = {
{ label: '更新时间', prop: 'updated_time', align: 'center' }, { label: '更新时间', prop: 'updated_time', align: 'center' },
{ label: '操作', slots: 'table-operate', align: 'center' } { label: '操作', slots: 'table-operate', align: 'center' }
], ],
data: prop.data data: prop.data.map((item: any) => {
item.name = item.name.length > 10 ? `${item.name.slice(0, 10)}...` : item.name
return item
})
} }
const resourceType = (name: string, isGetPath: boolean) => { const resourceType = (name: string, isGetPath: number) => {
let path = {} let path = {}
if (isGetPath) { if (isGetPath === 1) {
path = { path = {
'视频': '/resource/video/view', '视频': '/resource/video/view',
'课件': '/resource/courseware/view', '课件': '/resource/courseware/view',
'教案': '/resource/lessonplan/view', '教案': '/resource/lessonplan/view',
'其他资料': '/resource/other/view' '其他资料': '/resource/other/view'
} }
} else { } else if (isGetPath === 2) {
path = { path = {
'视频': 1, '视频': 1,
'课件': 2, '课件': 2,
'教案': 3, '教案': 3,
'其他资料': 4 '其他资料': 4
} }
} else {
path = {
'视频': 'v1-resource-video-view',
'课件': 'v1-resource-courseware-view',
'教案': 'v1-resource-lesson-plan-view',
'其他资料': 'v1-resource-other-information-view'
}
} }
return path[name] return path[name]
} }
const viewDetails = (row: { id: string, resource_type: string }) => {
if (checkPermission(resourceType(row.resource_type, 3))) {
router.push({
path: resourceType(row.resource_type, 1),
query: {
id: row.id
}
})
} else {
ElMessage('暂无权限查阅')
}
}
</script> </script>
<template> <template>
<AppList v-bind="listOptions" ref="appList" border stripe> <AppList v-bind="listOptions" ref="appList" border stripe>
...@@ -39,18 +73,19 @@ const resourceType = (name: string, isGetPath: boolean) => { ...@@ -39,18 +73,19 @@ const resourceType = (name: string, isGetPath: boolean) => {
<div :class="`table-ranking active${row.index}`">{{ row.index <= 3 ? '' : row.index }}</div> <div :class="`table-ranking active${row.index}`">{{ row.index <= 3 ? '' : row.index }}</div>
</template> </template>
<template #table-type="{ row }"> <template #table-type="{ row }">
<div :class="`table-type active${resourceType(row.resource_type, false)}`">{{ row.resource_type }}</div> <div :class="`table-type active${resourceType(row.resource_type, 2)}`">{{ row.resource_type }}</div>
</template> </template>
<template #table-operate="{ row }"> <template #table-operate="{ row }">
<el-space> <el-space>
<router-link :to="`${resourceType(row.resource_type, true)}?id=${row.id}`"> <!-- <router-link :to="`${resourceType(row.resource_type, true)}?id=${row.id}`"> -->
<el-button <el-button
style="color: #399EE8;" @click="viewDetails(row)"
type="primary" style="color: #399EE8;"
link type="primary"
>查阅</el-button link
> >查阅</el-button
</router-link> >
<!-- </router-link> -->
</el-space> </el-space>
</template> </template>
</AppList> </AppList>
......
<script setup lang="ts"> <script setup lang="ts">
const prop = defineProps(['data']) import { checkPermission } from '@/utils/permission'
import { ElMessage } from 'element-plus'
const router = useRouter()
const prop = defineProps({
data: {
type: Array,
default: () => []
}
})
const listOptions = { const listOptions = {
columns: [ columns: [
{ label: '排名', slots: 'table-ranking', align: 'center' }, { label: '排名', slots: 'table-ranking', align: 'center' },
...@@ -10,28 +21,51 @@ const listOptions = { ...@@ -10,28 +21,51 @@ const listOptions = {
{ label: '更新时间', prop: 'updated_time', align: 'center' }, { label: '更新时间', prop: 'updated_time', align: 'center' },
{ label: '操作', slots: 'table-operate', align: 'center' } { label: '操作', slots: 'table-operate', align: 'center' }
], ],
data: prop.data data: prop.data.map((item: any) => {
item.name = `${item.name.slice(0, 10)}...`
return item
})
} }
const resourceType = (name: string, isGetPath: boolean) => { const resourceType = (name: string, isGetPath: number) => {
let path = {} let path = {}
if (isGetPath) { if (isGetPath === 1) {
path = { path = {
'视频': '/resource/video/view', '视频': '/resource/video/view',
'课件': '/resource/courseware/view', '课件': '/resource/courseware/view',
'教案': '/resource/lessonplan/view', '教案': '/resource/lessonplan/view',
'其他资料': '/resource/other/view' '其他资料': '/resource/other/view'
} }
} else { } else if (isGetPath === 2) {
path = { path = {
'视频': 1, '视频': 1,
'课件': 2, '课件': 2,
'教案': 3, '教案': 3,
'其他资料': 4 '其他资料': 4
} }
} else {
path = {
'视频': 'v1-resource-video-view',
'课件': 'v1-resource-courseware-view',
'教案': 'v1-resource-lesson-plan-view',
'其他资料': 'v1-resource-other-information-view'
}
} }
return path[name] return path[name]
} }
const viewDetails = (row: { id: string, resource_type: string }) => {
if (checkPermission(resourceType(row.resource_type, 3))) {
router.push({
path: resourceType(row.resource_type, 1),
query: {
id: row.id
}
})
} else {
ElMessage('暂无权限查阅')
}
}
</script> </script>
<template> <template>
<AppList v-bind="listOptions" ref="appList" border stripe> <AppList v-bind="listOptions" ref="appList" border stripe>
...@@ -39,18 +73,17 @@ const resourceType = (name: string, isGetPath: boolean) => { ...@@ -39,18 +73,17 @@ const resourceType = (name: string, isGetPath: boolean) => {
<div :class="`table-ranking active${row.index}`">{{ row.index <= 3 ? '' : row.index }}</div> <div :class="`table-ranking active${row.index}`">{{ row.index <= 3 ? '' : row.index }}</div>
</template> </template>
<template #table-type="{ row }"> <template #table-type="{ row }">
<div :class="`table-type active${resourceType(row.resource_type, false)}`">{{ row.resource_type }}</div> <div :class="`table-type active${resourceType(row.resource_type, 2)}`">{{ row.resource_type }}</div>
</template> </template>
<template #table-operate="{ row }"> <template #table-operate="{ row }">
<el-space> <el-space>
<router-link :to="`${resourceType(row.resource_type, true)}?id=${row.id}`"> <el-button
<el-button @click="viewDetails(row)"
style="color: #399EE8;" style="color: #399EE8;"
type="primary" type="primary"
link link
>查阅</el-button >查阅</el-button
> >
</router-link>
</el-space> </el-space>
</template> </template>
</AppList> </AppList>
......
...@@ -5,7 +5,7 @@ import Hottest from '../components/Hottest.vue' ...@@ -5,7 +5,7 @@ import Hottest from '../components/Hottest.vue'
import RecentLearning from '../components/RecentLearning.vue' import RecentLearning from '../components/RecentLearning.vue'
import { getUtilData } from '../api' import { getUtilData } from '../api'
let flag = $ref(false) let flag = $ref(false)
const data = reactive<{statistics: object[], latest: object[], hot: object[], learn: object[] }>({ const data = reactive<{ statistics: object[]; latest: object[]; hot: object[]; learn: object[] }>({
statistics: [], statistics: [],
latest: [], latest: [],
hot: [], hot: [],
...@@ -14,7 +14,7 @@ const data = reactive<{statistics: object[], latest: object[], hot: object[], le ...@@ -14,7 +14,7 @@ const data = reactive<{statistics: object[], latest: object[], hot: object[], le
// 所有数据 // 所有数据
getUtilData().then(res => { getUtilData().then(res => {
flag = true flag = true
let { latest = [], hot = [], learn = [] }: { latest: object[], hot: object[], learn: object[] } = res.data let { latest = [], hot = [], learn = [] }: { latest: object[]; hot: object[]; learn: object[] } = res.data
if (learn === null) learn = [] if (learn === null) learn = []
// 统计资源数据整合 // 统计资源数据整合
const statisticsData = [ const statisticsData = [
...@@ -36,16 +36,18 @@ getUtilData().then(res => { ...@@ -36,16 +36,18 @@ getUtilData().then(res => {
data.latest = latest.map((item: any, index: number) => { data.latest = latest.map((item: any, index: number) => {
item.index = index + 1 item.index = index + 1
return item return item
}) }) || []
// 最热资源 // 最热资源
data.hot = hot.map((item: any, index: number) => { data.hot =
item.index = index + 1 hot.map((item: any, index: number) => {
return item item.index = index + 1
}) return item
data.learn = learn.map((item: any, index: number) => { }) || []
item.index = index + 1 data.learn =
return item learn.map((item: any, index: number) => {
}) item.index = index + 1
return item
}) || []
}) })
</script> </script>
<template> <template>
......
...@@ -63,9 +63,10 @@ const props = defineProps({ ...@@ -63,9 +63,10 @@ const props = defineProps({
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png" class="icons" /> <img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png" class="icons" />
<div class="text-box"> <div class="text-box">
<div class="name">知识点</div> <div class="name">知识点</div>
<div class="textarea-box" style="min-width:500px;"> <div class="value">{{ props.data?.knowledge_points || '暂无' }}</div>
<!-- <div class="textarea-box" style="min-width:500px;">
{{ props.data?.knowledge_points || '暂无' }} {{ props.data?.knowledge_points || '暂无' }}
</div> </div> -->
</div> </div>
</div> </div>
</div> </div>
......
...@@ -50,7 +50,14 @@ const listOptions = $computed(() => { ...@@ -50,7 +50,14 @@ const listOptions = $computed(() => {
} }
], ],
columns: [ columns: [
{ label: '教案标题', prop: 'name' }, {
label: '教案标题',
prop: 'name',
align: 'center',
computed: (row: any) => {
return row.row.name.length > 10 ? `${row.row.name.slice(0, 10)}...` : row.row.name
}
},
{ label: '教案分类', prop: 'classification_name', align: 'center' }, { label: '教案分类', prop: 'classification_name', align: 'center' },
{ label: '知识点', prop: 'knowledge_points', align: 'center' }, { label: '知识点', prop: 'knowledge_points', align: 'center' },
{ label: '资源状态', prop: 'status_name', align: 'center' }, { label: '资源状态', prop: 'status_name', align: 'center' },
......
...@@ -136,13 +136,13 @@ const protocol = ref(false) ...@@ -136,13 +136,13 @@ const protocol = ref(false)
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="教案名称:" prop="name"> <el-form-item label="教案名称:" prop="name">
<el-input v-model="form.name" /> <el-input maxlength="40" v-model="form.name" />
</el-form-item> </el-form-item>
<el-form-item label="教案分类:" prop="classification"> <el-form-item label="教案分类:" prop="classification">
<el-tree-select :props="defaultProps" style="width: 100%" v-model="form.classification" :data="selectTree" /> <el-tree-select :props="defaultProps" style="width: 100%" v-model="form.classification" :data="selectTree" />
</el-form-item> </el-form-item>
<el-form-item label="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;知识点:"> <el-form-item label="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;知识点:">
<el-input v-model="form.knowledge_points" :rows="2" type="textarea" /> <el-input maxlength="100" v-model="form.knowledge_points" :rows="2" type="textarea" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="protocol-box"> <div class="protocol-box">
......
...@@ -63,9 +63,10 @@ const props = defineProps({ ...@@ -63,9 +63,10 @@ const props = defineProps({
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png" class="icons" /> <img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png" class="icons" />
<div class="text-box"> <div class="text-box">
<div class="name">知识点</div> <div class="name">知识点</div>
<div class="textarea-box" style="min-width:500px;"> <div class="value">{{ props.data?.knowledge_points || '暂无' }}</div>
<!-- <div class="textarea-box" style="min-width:500px;">
{{ props.data?.knowledge_points || '暂无' }} {{ props.data?.knowledge_points || '暂无' }}
</div> </div> -->
</div> </div>
</div> </div>
</div> </div>
......
...@@ -51,7 +51,14 @@ const listOptions = $computed(() => { ...@@ -51,7 +51,14 @@ const listOptions = $computed(() => {
} }
], ],
columns: [ columns: [
{ label: '课件标题', prop: 'name' }, {
label: '其他标题',
prop: 'name',
align: 'center',
computed: (row: any) => {
return row.row.name.length > 10 ? `${row.row.name.slice(0, 10)}...` : row.row.name
}
},
{ label: '课件分类', prop: 'classification_name', align: 'center' }, { label: '课件分类', prop: 'classification_name', align: 'center' },
{ label: '知识点', prop: 'knowledge_points', align: 'center' }, { label: '知识点', prop: 'knowledge_points', align: 'center' },
{ label: '资源状态', prop: 'status_name', align: 'center' }, { label: '资源状态', prop: 'status_name', align: 'center' },
......
...@@ -136,13 +136,13 @@ const protocol = ref(false) ...@@ -136,13 +136,13 @@ const protocol = ref(false)
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="其他名称:" prop="name"> <el-form-item label="其他名称:" prop="name">
<el-input v-model="form.name" /> <el-input maxlength="40" v-model="form.name" />
</el-form-item> </el-form-item>
<el-form-item label="其他分类:" prop="classification"> <el-form-item label="其他分类:" prop="classification">
<el-tree-select :props="defaultProps" style="width: 100%" v-model="form.classification" :data="selectTree" /> <el-tree-select :props="defaultProps" style="width: 100%" v-model="form.classification" :data="selectTree" />
</el-form-item> </el-form-item>
<el-form-item label="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;知识点:"> <el-form-item label="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;知识点:">
<el-input v-model="form.knowledge_points" :rows="2" type="textarea" /> <el-input maxlength="100" v-model="form.knowledge_points" :rows="2" type="textarea" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="protocol-box"> <div class="protocol-box">
......
...@@ -8,7 +8,7 @@ const videoOptions = $computed(() => { ...@@ -8,7 +8,7 @@ const videoOptions = $computed(() => {
<template> <template>
<div class="center-video-box"> <div class="center-video-box">
<div style=" width:812px; height:433px;padding-bottom: 20px;"> <div style=" width:812px; height:433px;padding-bottom: 20px;">
<AppVideoPlayer :options="videoOptions"></AppVideoPlayer> <AppVideoPlayer style="width:812px; height:433px;" :options="videoOptions"></AppVideoPlayer>
</div> </div>
<div class="right-statistics"> <div class="right-statistics">
<div class="stat-item"> <div class="stat-item">
......
...@@ -62,9 +62,7 @@ ...@@ -62,9 +62,7 @@
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png" class="icons"> <img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png" class="icons">
<div class="text-box"> <div class="text-box">
<div class="name">知识点</div> <div class="name">知识点</div>
<div class="textarea-box"> <div class="value">{{ props.data?.knowledge_points || '暂无' }}</div>
{{ props.data.knowledge_points }}
</div>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -51,7 +51,14 @@ const listOptions = $computed(() => { ...@@ -51,7 +51,14 @@ const listOptions = $computed(() => {
} }
], ],
columns: [ columns: [
{ label: '视频标题', prop: 'name', align: 'center' }, {
label: '视频标题',
prop: 'name',
align: 'center',
computed: (row: any) => {
return row.row.name.length > 10 ? `${row.row.name.slice(0, 10)}...` : row.row.name
}
},
{ label: '视频分类', prop: 'classification_name', align: 'center' }, { label: '视频分类', prop: 'classification_name', align: 'center' },
{ label: '知识点', prop: 'knowledge_points', align: 'center' }, { label: '知识点', prop: 'knowledge_points', align: 'center' },
{ label: '封面', slots: 'table-cover', width: 150, align: 'center' }, { label: '封面', slots: 'table-cover', width: 150, align: 'center' },
......
...@@ -38,27 +38,17 @@ const defaultProps = { ...@@ -38,27 +38,17 @@ const defaultProps = {
let swiperCovers: [{ id: string; url: string }[]] = $ref([[]]) let swiperCovers: [{ id: string; url: string }[]] = $ref([[]])
// 获取封面 // 获取封面
getCoverList().then(res => { getCoverList().then(res => {
let arr: object[] = []
const filtersData = res.data.list.filter((i:any) => i.type === '1') const filtersData = res.data.list.filter((i:any) => i.type === '1')
swiperCovers = filtersData.reduce((a: any, b: any, index: number) => { let index = 0
if (index === 0) { while(index < filtersData.length) {
arr.push(b) swiperCovers.push(filtersData.slice(index, index += 8));
a.push(arr) }
} else {
if (index % 8 === 0) {
arr = []
a.push(arr)
} else {
arr.push(b)
}
}
return a
}, [])
swiperCovers.forEach((item: any, index: number) => { swiperCovers.forEach((item: any, index: number) => {
if (item.length === 0) { if (item.length === 0) {
swiperCovers.splice(index, 1) swiperCovers.splice(index, 1)
} }
}) })
console.log(swiperCovers, '123')
}) })
// 获取swiper 自定义左右切换按钮 // 获取swiper 自定义左右切换按钮
let swiper = ref() let swiper = ref()
...@@ -145,7 +135,7 @@ const uploadVideo = (data: any) => { ...@@ -145,7 +135,7 @@ const uploadVideo = (data: any) => {
<UploadVideo @upload="uploadVideo"></UploadVideo> <UploadVideo @upload="uploadVideo"></UploadVideo>
</el-form-item> </el-form-item>
<el-form-item label="视频名称:" prop="name"> <el-form-item label="视频名称:" prop="name">
<el-input v-model="form.data.name" /> <el-input v-model="form.data.name" maxlength="40" />
</el-form-item> </el-form-item>
<el-form-item label="视频分类:" prop="classification"> <el-form-item label="视频分类:" prop="classification">
<el-tree-select <el-tree-select
...@@ -156,7 +146,7 @@ const uploadVideo = (data: any) => { ...@@ -156,7 +146,7 @@ const uploadVideo = (data: any) => {
/> />
</el-form-item> </el-form-item>
<el-form-item label="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;知识点:"> <el-form-item label="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;知识点:">
<el-input v-model="form.data.knowledge_points" :rows="2" type="textarea" /> <el-input v-model="form.data.knowledge_points" :rows="2" type="textarea" maxlength="100" />
</el-form-item> </el-form-item>
<el-form-item label="&nbsp;&nbsp;视频封面:"> <el-form-item label="&nbsp;&nbsp;视频封面:">
<div class="video-cover"> <div class="video-cover">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论