提交 edf416e8 authored 作者: 王鹏飞's avatar 王鹏飞
上级 391bf525
......@@ -6,9 +6,9 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>统一资源管理平台</title>
<script src="https://webapp-pub.ezijing.com/plugins/tinymce@6/tinymce.min.js"></script>
<script src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/lib/aliyun-upload-sdk/lib/es6-promise.min.js"></script>
<script src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/lib/aliyun-upload-sdk/lib/aliyun-oss-sdk-6.17.1.min.js"></script>
<script src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/lib/aliyun-upload-sdk/aliyun-upload-sdk-1.5.3.min.js"></script>
<script src="https://webapp-pub.ezijing.com/center_resource/lib/aliyun-upload-sdk/lib/es6-promise.min.js"></script>
<script src="https://webapp-pub.ezijing.com/center_resource/lib/aliyun-upload-sdk/lib/aliyun-oss-sdk-6.17.1.min.js"></script>
<script src="https://webapp-pub.ezijing.com/center_resource/lib/aliyun-upload-sdk/aliyun-upload-sdk-1.5.3.min.js"></script>
</head>
<body>
<div id="app"></div>
......
......@@ -23,7 +23,7 @@ export function getSignature() {
// 图片上传
export function uploadFile(data: Record<string, any>) {
return httpRequest
.post('https://webapp-pub.oss-cn-beijing.aliyuncs.com', data, {
.post('https://webapp-pub.ezijing.com', data, {
withCredentials: false,
headers: { 'Content-Type': 'multipart/form-data' }
})
......
......@@ -101,7 +101,7 @@ const handlePreview: UploadProps['onPreview'] = uploadFile => {
<template>
<el-upload
action="https://webapp-pub.oss-cn-beijing.aliyuncs.com"
action="https://webapp-pub.ezijing.com"
:data="uploadData"
:show-file-list="showFileList"
:before-upload="handleBeforeUpload"
......@@ -110,8 +110,7 @@ const handlePreview: UploadProps['onPreview'] = uploadFile => {
:on-preview="handlePreview"
:on-success="handleSuccess"
:file-list="fileList"
class="uploader"
>
class="uploader">
<template v-if="showFileList">
<template v-if="$attrs['list-type'] === 'picture-card'">
<el-icon><Plus /></el-icon>
......
......@@ -9,7 +9,7 @@ const prop = defineProps({
})
const item = {
url: 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/%E7%B4%AB%E8%8D%86%E6%95%99%E8%82%B2%E7%94%A8%E6%88%B7%E5%85%A5%E9%A9%BB%E5%8F%8A%E7%BD%91%E7%BB%9C%E6%95%99%E5%AD%A6%E8%B5%84%E6%BA%90%E5%8D%8F%E8%AE%AE(1).docx'
url: 'https://webapp-pub.ezijing.com/center_resource/%E7%B4%AB%E8%8D%86%E6%95%99%E8%82%B2%E7%94%A8%E6%88%B7%E5%85%A5%E9%A9%BB%E5%8F%8A%E7%BD%91%E7%BB%9C%E6%95%99%E5%AD%A6%E8%B5%84%E6%BA%90%E5%8D%8F%E8%AE%AE(1).docx'
}
const emit = defineEmits(['change'])
......
......@@ -24,7 +24,7 @@ const dialogVisible = ref(false)
</div>
</section>
<div class="manual-btn" @click="dialogVisible = true">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/course.png" />
</div>
<el-dialog v-model="dialogVisible" title="使用手册" width="852px">
<PreviewFiles url="https://webapp-pub.ezijing.com/upload/admin/05e3fa93d5760e6909a1a0244f545133.doc"></PreviewFiles>
......
......@@ -77,31 +77,19 @@ const swiperItemHandle = (url: string) => {
<UploadImg accept=".jpg,.jpeg,.gif,.png" v-model="courseCover"></UploadImg>
<div class="list">
<div class="item">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/upload-video-icon.png"
class="icon"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/upload-video-icon.png" class="icon" />
<div class="text">该图片作为课程的封面图,用于课程封面显示</div>
</div>
<div class="item">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/upload-video-icon.png"
class="icon"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/upload-video-icon.png" class="icon" />
<div class="text">支持jpg/jpeg/gif/png格式</div>
</div>
<div class="item">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/upload-video-icon.png"
class="icon"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/upload-video-icon.png" class="icon" />
<div class="text">支持小于4M,最好宽240*高175*及以上尺寸</div>
</div>
<div class="item">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/upload-video-icon.png"
class="icon"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/upload-video-icon.png" class="icon" />
<div class="text">可以自己上传图片,也可以从下面这些图片中选择使用</div>
</div>
</div>
......@@ -115,16 +103,14 @@ const swiperItemHandle = (url: string) => {
:autoplay="false"
arrow="never"
trigger="click"
ref="swiper"
>
ref="swiper">
<el-carousel-item v-for="(item, index) in swiperCovers" :key="index" class="cover-list">
<div
@click="swiperItemHandle(cItem.url)"
:key="cItem.id"
v-for="cItem in item"
:style="`background-image:url(${cItem.url})`"
class="cover-list_item"
></div>
class="cover-list_item"></div>
</el-carousel-item>
</el-carousel>
</div>
......
......@@ -79,7 +79,7 @@ const handlePreview: UploadProps['onPreview'] = uploadFile => {
<template>
<el-upload
action="https://webapp-pub.oss-cn-beijing.aliyuncs.com"
action="https://webapp-pub.ezijing.com"
:data="uploadData"
:show-file-list="false"
:before-upload="handleBeforeUpload"
......@@ -88,8 +88,7 @@ const handlePreview: UploadProps['onPreview'] = uploadFile => {
:on-preview="handlePreview"
:on-success="handleSuccess"
:file-list="fileList"
class="uploader"
>
class="uploader">
<el-button type="primary">选择本地图片</el-button>
</el-upload>
</template>
......
......@@ -223,8 +223,7 @@ const addVideoList = function () {
draggable
:before-close="handleCancel"
size="60%"
:title="`添加${props.btnInfo.btn_name}`"
>
:title="`添加${props.btnInfo.btn_name}`">
<div class="video-head">
<el-tabs @tab-change="tabChange" v-model="tabValue">
<el-tab-pane label="我的资源" name="1"></el-tab-pane>
......@@ -232,12 +231,8 @@ const addVideoList = function () {
<el-tab-pane label="公开资源" name="3"></el-tab-pane>
</el-tabs>
<div class="video-head-icon" @click="changeCard">
<img
v-if="!isCard"
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/change_card.png"
alt=""
/>
<img v-else src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/change_list.png" alt="" />
<img v-if="!isCard" src="https://webapp-pub.ezijing.com/center_resource/change_card.png" alt="" />
<img v-else src="https://webapp-pub.ezijing.com/center_resource/change_list.png" alt="" />
</div>
</div>
<AppList @selection-change="select" v-bind="listOptions" ref="appList">
......@@ -253,8 +248,7 @@ const addVideoList = function () {
display: block;
height: 83px;
background-size: cover;
background-image: url(${row.cover});`"
></div>
background-image: url(${row.cover});`"></div>
</div>
</template>
<template #filter-type="{ params }">
......@@ -265,8 +259,7 @@ const addVideoList = function () {
:props="defaultProps"
v-model="params.classification"
:data="selectTree"
:default-expanded-keys="selectTree.length ? [selectTree[0]?.id] : []"
/>
:default-expanded-keys="selectTree.length ? [selectTree[0]?.id] : []" />
</template>
<template #body="{ data }" v-if="isCard">
<div class="card-list" v-if="data.length">
......@@ -281,8 +274,7 @@ const addVideoList = function () {
:tabIndex="tabValue"
:data="item"
:path="path"
@add="handleAdd"
>
@add="handleAdd">
<el-checkbox @change="checkboxSelect" v-model="item.check_status"></el-checkbox>
</CardListItem>
</div>
......
......@@ -64,7 +64,7 @@ const form = reactive<Record<string, any>>({
classification: '',
credit: '',
source: '2',
cover: 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-cover.png',
cover: 'https://webapp-pub.ezijing.com/center_resource/course-cover.png',
lecturer_id: '',
teacher_id: '',
represent: '',
......@@ -196,7 +196,6 @@ getMajorList({ name: '', 'per-page': '100' }).then((res: any) => {
const handleInformation = (val: any) => {
form.information_id = val.map((item: any) => item.id).toString()
}
</script>
<template>
......@@ -230,22 +229,26 @@ const handleInformation = (val: any) => {
:data="selectTree"
node-key="id"
:default-expanded-keys="selectTree.length ? [selectTree[0]?.id] : []"
placeholder="请选择课程分类"
/>
placeholder="请选择课程分类" />
</el-form-item>
<el-form-item label="课程学分" prop="credit">
<el-input v-model="form.credit" maxlength="3" />
</el-form-item>
<el-form-item label="适用专业" prop="specialty_id">
<el-select v-model="form.specialty_id" placeholder="请选择适用专业" style="width: 100%" clearable multiple v-permission="'v1-course-search-specialty'">
<el-select
v-model="form.specialty_id"
placeholder="请选择适用专业"
style="width: 100%"
clearable
multiple
v-permission="'v1-course-search-specialty'">
<!-- :remote-method="handleMajorList" -->
<el-option
v-for="(item, index) in majorList"
:key="index"
:label="item.name"
:value="item.id"
></el-option>
:value="item.id"></el-option>
</el-select>
</el-form-item>
</el-form>
......@@ -256,8 +259,7 @@ const handleInformation = (val: any) => {
:model="form"
:rules="rules"
label-suffix=":"
style="width: 100%; margin-top: 30px"
>
style="width: 100%; margin-top: 30px">
<el-form-item label="课程助教" prop="teacher_id">
<!-- 添加助教 -->
<AddAssistant v-model="form.teachers" style="width: 100%"></AddAssistant>
......@@ -293,8 +295,7 @@ const handleInformation = (val: any) => {
:data="information"
style="width: 100%"
:id="id"
@information="handleInformation"
></AddCourseData>
@information="handleInformation"></AddCourseData>
</el-form-item>
</el-form>
</div>
......
......@@ -78,33 +78,33 @@ const bytesToSize = (bytes: number) => {
margin-top: 20px;
// &:nth-child(1) {
// .icon {
// background-image: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-icon1.png);
// background-image: url(https://webapp-pub.ezijing.com/center_resource/home-icon1.png);
// }
// }
&:nth-child(1) {
.icon {
background-image: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-icon2.png);
background-image: url(https://webapp-pub.ezijing.com/center_resource/home-icon2.png);
}
}
&:nth-child(2) {
.icon {
background-image: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-icon3.png);
background-image: url(https://webapp-pub.ezijing.com/center_resource/home-icon3.png);
}
}
&:nth-child(3) {
.icon {
background-image: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-icon4.png);
background-image: url(https://webapp-pub.ezijing.com/center_resource/home-icon4.png);
}
}
&:nth-child(4) {
.icon {
background-image: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-icon8.png);
background-image: url(https://webapp-pub.ezijing.com/center_resource/home-icon8.png);
}
}
&:nth-child(5) {
.icon {
background-image: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-icon9.png);
background-image: url(https://webapp-pub.ezijing.com/center_resource/home-icon9.png);
}
}
.icon {
......
......@@ -154,14 +154,14 @@ const handleDetail = (row: any) => {
<div class="bottom-info">
<div class="other-info">
<div class="item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon11.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/course-view-icon11.png" />
<div>
<div class="label">课程所属部门</div>
<div class="value">{{ props.data.organ_id_name }}</div>
</div>
</div>
<div class="item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon12.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/course-view-icon12.png" />
<div>
<div class="label">课程公开信息</div>
<div class="value">
......@@ -175,7 +175,7 @@ const handleDetail = (row: any) => {
</div>
</div>
<div class="item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon15.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/course-view-icon15.png" />
<div>
<div class="label">课程授权信息</div>
<div class="value_list" v-if="props.data.auth_departments && props.data.auth_departments.length > 0">
......@@ -234,8 +234,7 @@ const handleDetail = (row: any) => {
inline-prompt
style="--el-switch-on-color: #aa1941"
@click="handleChangeStatus(row)"
:disabled="!checkPermission('v1-course-set-course-information-can-download')"
>
:disabled="!checkPermission('v1-course-set-course-information-can-download')">
</el-switch>
</template>
<template #table-operate="{ row }">
......
......@@ -16,42 +16,42 @@ interface IBasicInfo {
const basicInfo = computed((): IBasicInfo[] => {
const basicList = [
{
icon: 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon1.png',
icon: 'https://webapp-pub.ezijing.com/center_resource/course-view-icon1.png',
label: '课程类型',
value: '',
key: 'online_type_name',
border: '1'
},
{
icon: 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon5.png',
icon: 'https://webapp-pub.ezijing.com/center_resource/course-view-icon5.png',
label: '选课类型',
value: '',
key: 'elective_type_name',
border: '1'
},
{
icon: 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon3.png',
icon: 'https://webapp-pub.ezijing.com/center_resource/course-view-icon3.png',
label: '课程学分',
value: '',
key: 'credit',
border: '1'
},
{
icon: 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon13.png',
icon: 'https://webapp-pub.ezijing.com/center_resource/course-view-icon13.png',
label: '负责人',
value: '',
key: 'belong_operator_name',
border: '1'
},
{
icon: 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon8.png',
icon: 'https://webapp-pub.ezijing.com/center_resource/course-view-icon8.png',
label: '创建时间',
value: '',
key: 'created_time',
border: '0'
},
{
icon: 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon2.png',
icon: 'https://webapp-pub.ezijing.com/center_resource/course-view-icon2.png',
label: '课程分类',
value: '',
key: 'classification_name',
......@@ -59,28 +59,28 @@ const basicInfo = computed((): IBasicInfo[] => {
},
{
icon: 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon14.png',
icon: 'https://webapp-pub.ezijing.com/center_resource/course-view-icon14.png',
label: '适用专业',
value: '',
key: 'specialty',
border: '1'
},
{
icon: 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon7.png',
icon: 'https://webapp-pub.ezijing.com/center_resource/course-view-icon7.png',
label: '是否有效',
value: '',
key: 'status_name',
border: '1'
},
{
icon: 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon6.png',
icon: 'https://webapp-pub.ezijing.com/center_resource/course-view-icon6.png',
label: '更新人',
value: '',
key: 'updated_operator_name',
border: '1'
},
{
icon: 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon9.png',
icon: 'https://webapp-pub.ezijing.com/center_resource/course-view-icon9.png',
label: '更新时间',
value: '',
key: 'updated_time',
......@@ -113,9 +113,7 @@ const statusStyle = (item: any) => {
<template>
<div class="top-info">
<div class="cover">
<img
:src="props.data.cover || 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course_default.png'"
/>
<img :src="props.data.cover || 'https://webapp-pub.ezijing.com/center_resource/course_default.png'" />
<el-popover trigger="hover" placement="right">
<div v-html="props.data.name"></div>
<template #reference>
......@@ -133,8 +131,7 @@ const statusStyle = (item: any) => {
class="item"
v-for="item in basicInfo"
:key="item.key"
:style="item.border === '1' ? 'border-right:1px dashed #BFBFBF' : 'border-right:none'"
>
:style="item.border === '1' ? 'border-right:1px dashed #BFBFBF' : 'border-right:none'">
<img :src="item.icon" />
<div class="item-right">
<div class="label">{{ item.label }}</div>
......
......@@ -88,12 +88,8 @@ const changeCard = () => {
<el-tab-pane label="公开课程" name="3"></el-tab-pane>
</el-tabs>
<div class="video-head-icon" @click="changeCard">
<img
v-if="!isCard"
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/change_card.png"
alt=""
/>
<img v-else src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/change_list.png" alt="" />
<img v-if="!isCard" src="https://webapp-pub.ezijing.com/center_resource/change_card.png" alt="" />
<img v-else src="https://webapp-pub.ezijing.com/center_resource/change_list.png" alt="" />
</div>
</div>
<div class="video-tool-btn">
......@@ -114,8 +110,7 @@ const changeCard = () => {
display: block;
height: 83px;
background-size: cover;
background-image: url(${row.cover});`"
></div>
background-image: url(${row.cover});`"></div>
</div>
</template>
<template v-if="tabValue == '3' && isAdmin" #filter-department="{ params }">
......
......@@ -11,28 +11,28 @@ const props = defineProps({
<div class="center-video-box">
<div class="right-statistics">
<div class="stat-item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/view-vicon1.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/view-vicon1.png" />
<div class="content">
<div class="unit">{{ props.data?.project_count }}<span></span></div>
<div class="tag">使用项目/学校</div>
</div>
</div>
<div class="stat-item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/view-vicon2.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/view-vicon2.png" />
<div class="content">
<div class="unit">{{ props.data?.course_count }}<span></span></div>
<div class="tag">使用课程</div>
</div>
</div>
<div class="stat-item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/view-vicon3.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/view-vicon3.png" />
<div class="content">
<div class="unit">{{ props.data?.learn_count }}<span>人次</span></div>
<div class="tag">累计学习人次</div>
</div>
</div>
<div class="stat-item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/view-vicon4.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/view-vicon4.png" />
<div class="content">
<div class="unit">{{ props.data?.learn_time_count }}<span>分钟</span></div>
<div class="tag">累计学习时长</div>
......
......@@ -14,9 +14,8 @@ const fileType = ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'mp3', 'mp
<div class="video-img">
<img
style="width: 80px"
:src="`https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/detail-${props.data?.type}.png`"
v-if="fileType.includes(props.data?.type)"
/>
:src="`https://webapp-pub.ezijing.com/center_resource/detail-${props.data?.type}.png`"
v-if="fileType.includes(props.data?.type)" />
<el-icon class="item-info-icon" v-else>
<Files />
</el-icon>
......@@ -24,30 +23,21 @@ const fileType = ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'mp3', 'mp
<div class="info-items">
<div class="flex-box">
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon5.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon5.png" class="icons" />
<div class="text-box">
<div class="name">课件名称</div>
<div class="value">{{ props.data?.name }}</div>
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon6.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon6.png" class="icons" />
<div class="text-box">
<div class="name">课件分类</div>
<div class="value">{{ props.data?.classification_name || '暂无' }}</div>
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon1.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon1.png" class="icons" />
<div class="text-box">
<div class="name">状态</div>
<div :class="props.data?.status == '1' ? 'value active' : 'value inactive'">
......@@ -56,10 +46,7 @@ const fileType = ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'mp3', 'mp
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon3.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon3.png" class="icons" />
<div class="text-box">
<div class="name">创建时间</div>
<div class="value">{{ props.data?.created_time }}</div>
......@@ -68,40 +55,28 @@ const fileType = ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'mp3', 'mp
</div>
<div class="flex-box">
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon12.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon12.png" class="icons" />
<div class="text-box">
<div class="name">创建者</div>
<div class="value">{{ props.data?.created_operator_name }}</div>
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon13.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/course-view-icon13.png" class="icons" />
<div class="text-box">
<div class="name">负责人</div>
<div class="value">{{ props.data?.belong_operator_name }}</div>
</div>
</div>
<div class="i-items" style="align-items: flex-start">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon8.png" class="icons" />
<div class="text-box">
<div class="name">知识点</div>
<div class="value">{{ props.data?.knowledge_points || '暂无' }}</div>
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon4.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon4.png" class="icons" />
<div class="text-box">
<div class="name">更新时间</div>
<div class="value">{{ props.data?.updated_time }}</div>
......
......@@ -99,20 +99,15 @@ const typeFilter = () => {
<el-tab-pane label="公开资源" name="3"></el-tab-pane>
</el-tabs>
<div class="video-head-icon" @click="changeCard">
<img
v-if="!isCard"
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/change_card.png"
alt=""
/>
<img v-else src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/change_list.png" alt="" />
<img v-if="!isCard" src="https://webapp-pub.ezijing.com/center_resource/change_card.png" alt="" />
<img v-else src="https://webapp-pub.ezijing.com/center_resource/change_list.png" alt="" />
</div>
</div>
<div class="video-tool-btn">
<router-link
v-if="tabValue === '1'"
v-permission="'v1-resource-courseware-create'"
to="/resource/courseware/update"
>
to="/resource/courseware/update">
<el-button type="primary" round>新建课件资源</el-button>
</router-link>
</div>
......@@ -126,8 +121,7 @@ const typeFilter = () => {
:props="defaultProps"
v-model="params.classification"
:data="selectTree"
:default-expanded-keys="selectTree.length ? [selectTree[0]?.id] : []"
/>
:default-expanded-keys="selectTree.length ? [selectTree[0]?.id] : []" />
</template>
<template v-if="tabValue == '3' && isAdmin" #filter-department="{ params }">
<div class="name" style="font-size: 14px; color: #606266; padding-right: 12px">部门:</div>
......@@ -155,8 +149,7 @@ const typeFilter = () => {
v-for="(item, index) in data"
:data="item"
:key="index"
:tabIndex="tabValue"
></CardListItem>
:tabIndex="tabValue"></CardListItem>
</div>
<!-- <el-empty v-else description="暂无数据" /> -->
</template>
......
......@@ -19,7 +19,7 @@ const listOptions = {
{ label: '资源类型', slots: 'table-type', align: 'center' },
{ label: '所在部门', prop: 'organ_id_name', align: 'center' },
{ label: '更新人', prop: 'created_operator_name', align: 'center' },
{ label: '操作', slots: 'table-operate', align: 'center' , fixed: 'right'}
{ label: '操作', slots: 'table-operate', align: 'center', fixed: 'right' }
],
data: prop.data.map((item: any) => {
item.name = `${item.name.slice(0, 10)}...`
......@@ -93,17 +93,17 @@ const viewDetails = (row: { id: string; resource_type: string }) => {
&.active1 {
width: 20px;
height: 26px;
background: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-ranking1.png);
background: url(https://webapp-pub.ezijing.com/center_resource/home-ranking1.png);
}
&.active2 {
width: 20px;
height: 26px;
background: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-ranking2.png);
background: url(https://webapp-pub.ezijing.com/center_resource/home-ranking2.png);
}
&.active3 {
width: 20px;
height: 26px;
background: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-ranking3.png);
background: url(https://webapp-pub.ezijing.com/center_resource/home-ranking3.png);
}
}
.table-type {
......
......@@ -89,17 +89,17 @@ const viewDetails = (row: { id: string; auth_view: boolean; resource_type: strin
&.active1 {
width: 20px;
height: 26px;
background: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-ranking1.png);
background: url(https://webapp-pub.ezijing.com/center_resource/home-ranking1.png);
}
&.active2 {
width: 20px;
height: 26px;
background: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-ranking2.png);
background: url(https://webapp-pub.ezijing.com/center_resource/home-ranking2.png);
}
&.active3 {
width: 20px;
height: 26px;
background: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-ranking3.png);
background: url(https://webapp-pub.ezijing.com/center_resource/home-ranking3.png);
}
}
.table-type {
......
......@@ -90,17 +90,17 @@ const viewDetails = (row: { id: string; resource_type: string }) => {
&.active1 {
width: 20px;
height: 26px;
background: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-ranking1.png);
background: url(https://webapp-pub.ezijing.com/center_resource/home-ranking1.png);
}
&.active2 {
width: 20px;
height: 26px;
background: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-ranking2.png);
background: url(https://webapp-pub.ezijing.com/center_resource/home-ranking2.png);
}
&.active3 {
width: 20px;
height: 26px;
background: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-ranking3.png);
background: url(https://webapp-pub.ezijing.com/center_resource/home-ranking3.png);
}
}
.table-type {
......
......@@ -53,48 +53,48 @@ const bytesToSize = (bytes: number) => {
margin-top: 20px;
&:nth-child(1) {
.icon {
background-image: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-icon1.png);
background-image: url(https://webapp-pub.ezijing.com/center_resource/home-icon1.png);
}
}
&:nth-child(2) {
.icon {
background-image: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-icon2.png);
background-image: url(https://webapp-pub.ezijing.com/center_resource/home-icon2.png);
}
}
&:nth-child(3) {
.icon {
background-image: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-icon3.png);
background-image: url(https://webapp-pub.ezijing.com/center_resource/home-icon3.png);
}
}
&:nth-child(4) {
.icon {
background-image: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-icon4.png);
background-image: url(https://webapp-pub.ezijing.com/center_resource/home-icon4.png);
}
}
&:nth-child(5) {
.icon {
background-image: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-icon5.png);
background-image: url(https://webapp-pub.ezijing.com/center_resource/home-icon5.png);
}
}
&:nth-child(6) {
.icon {
background-image: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-icon6.png);
background-image: url(https://webapp-pub.ezijing.com/center_resource/home-icon6.png);
}
}
&:nth-child(7) {
.icon {
background-image: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-icon7.png);
background-image: url(https://webapp-pub.ezijing.com/center_resource/home-icon7.png);
}
}
&:nth-child(8) {
.icon {
background-image: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-icon8.png);
background-image: url(https://webapp-pub.ezijing.com/center_resource/home-icon8.png);
}
}
&:nth-child(9) {
.icon {
background-image: url(https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/home-icon9.png);
background-image: url(https://webapp-pub.ezijing.com/center_resource/home-icon9.png);
}
}
.icon {
......
......@@ -11,28 +11,28 @@ const props = defineProps({
<div class="center-video-box">
<div class="right-statistics">
<div class="stat-item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/view-vicon1.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/view-vicon1.png" />
<div class="content">
<div class="unit">{{ props.data?.project_count }}<span></span></div>
<div class="tag">使用项目/学校</div>
</div>
</div>
<div class="stat-item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/view-vicon2.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/view-vicon2.png" />
<div class="content">
<div class="unit">{{ props.data?.course_count }}<span></span></div>
<div class="tag">使用课程</div>
</div>
</div>
<div class="stat-item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/view-vicon3.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/view-vicon3.png" />
<div class="content">
<div class="unit">{{ props.data?.learn_count }}<span>人次</span></div>
<div class="tag">累计学习人次</div>
</div>
</div>
<div class="stat-item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/view-vicon4.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/view-vicon4.png" />
<div class="content">
<div class="unit">{{ props.data?.learn_time_count }}<span>分钟</span></div>
<div class="tag">累计学习时长</div>
......
......@@ -15,9 +15,8 @@ const fileType = ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'mp3', 'mp
<div class="video-img">
<img
style="width: 80px"
:src="`https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/detail-${props.data?.type}.png`"
v-if="fileType.includes(props.data?.type)"
/>
:src="`https://webapp-pub.ezijing.com/center_resource/detail-${props.data?.type}.png`"
v-if="fileType.includes(props.data?.type)" />
<el-icon class="item-info-icon" v-else>
<Files />
</el-icon>
......@@ -25,30 +24,21 @@ const fileType = ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'mp3', 'mp
<div class="info-items">
<div class="flex-box">
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon5.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon5.png" class="icons" />
<div class="text-box">
<div class="name">教案名称</div>
<div class="value">{{ props.data?.name }}</div>
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon6.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon6.png" class="icons" />
<div class="text-box">
<div class="name">教案分类</div>
<div class="value">{{ props.data?.classification_name || '暂无' }}</div>
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon1.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon1.png" class="icons" />
<div class="text-box">
<div class="name">状态</div>
<div :class="props.data?.status == '1' ? 'value active' : 'value inactive'">
......@@ -57,10 +47,7 @@ const fileType = ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'mp3', 'mp
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon3.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon3.png" class="icons" />
<div class="text-box">
<div class="name">创建时间</div>
<div class="value">{{ props.data?.created_time }}</div>
......@@ -69,40 +56,28 @@ const fileType = ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'mp3', 'mp
</div>
<div class="flex-box">
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon12.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon12.png" class="icons" />
<div class="text-box">
<div class="name">创建者</div>
<div class="value">{{ props.data?.created_operator_name }}</div>
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon13.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/course-view-icon13.png" class="icons" />
<div class="text-box">
<div class="name">负责人</div>
<div class="value">{{ props.data?.belong_operator_name }}</div>
</div>
</div>
<div class="i-items" style="align-items: flex-start">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon8.png" class="icons" />
<div class="text-box">
<div class="name">知识点</div>
<div class="value">{{ props.data?.knowledge_points || '暂无' }}</div>
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon4.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon4.png" class="icons" />
<div class="text-box">
<div class="name">更新时间</div>
<div class="value">{{ props.data?.updated_time }}</div>
......
......@@ -99,20 +99,15 @@ const typeFilter = () => {
<el-tab-pane label="公开资源" name="3"></el-tab-pane>
</el-tabs>
<div class="video-head-icon" @click="changeCard">
<img
v-if="!isCard"
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/change_card.png"
alt=""
/>
<img v-else src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/change_list.png" alt="" />
<img v-if="!isCard" src="https://webapp-pub.ezijing.com/center_resource/change_card.png" alt="" />
<img v-else src="https://webapp-pub.ezijing.com/center_resource/change_list.png" alt="" />
</div>
</div>
<div class="video-tool-btn">
<router-link
v-if="tabValue === '1'"
v-permission="'v1-resource-lesson-plan-create'"
to="/resource/lessonplan/update"
>
to="/resource/lessonplan/update">
<el-button type="primary" round>新建教案资源</el-button>
</router-link>
</div>
......@@ -126,8 +121,7 @@ const typeFilter = () => {
:props="defaultProps"
v-model="params.classification"
:data="selectTree"
:default-expanded-keys="selectTree.length ? [selectTree[0]?.id] : []"
/>
:default-expanded-keys="selectTree.length ? [selectTree[0]?.id] : []" />
</template>
<template v-if="tabValue == '3' && isAdmin" #filter-department="{ params }">
<div class="name" style="font-size: 14px; color: #606266; padding-right: 12px">部门:</div>
......@@ -155,8 +149,7 @@ const typeFilter = () => {
path="/resource/lessonplan"
v-for="(item, index) in data"
:data="item"
:key="index"
></CardListItem>
:key="index"></CardListItem>
</div>
<!-- <el-empty v-else description="暂无数据" /> -->
</template>
......
......@@ -11,28 +11,28 @@ const props = defineProps({
<div class="center-video-box">
<div class="right-statistics">
<div class="stat-item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/view-vicon1.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/view-vicon1.png" />
<div class="content">
<div class="unit">{{ props.data?.project_count }}<span></span></div>
<div class="tag">使用项目/学校</div>
</div>
</div>
<div class="stat-item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/view-vicon2.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/view-vicon2.png" />
<div class="content">
<div class="unit">{{ props.data?.course_count }}<span></span></div>
<div class="tag">使用课程</div>
</div>
</div>
<div class="stat-item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/view-vicon3.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/view-vicon3.png" />
<div class="content">
<div class="unit">{{ props.data?.learn_count }}<span>人次</span></div>
<div class="tag">累计学习人次</div>
</div>
</div>
<div class="stat-item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/view-vicon4.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/view-vicon4.png" />
<div class="content">
<div class="unit">{{ props.data?.learn_time_count }}<span>分钟</span></div>
<div class="tag">累计学习时长</div>
......
......@@ -15,9 +15,8 @@ const fileType = ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'mp3', 'mp
<div class="video-img">
<img
style="width: 80px"
:src="`https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/detail-${props.data?.type}.png`"
v-if="fileType.includes(props.data?.type)"
/>
:src="`https://webapp-pub.ezijing.com/center_resource/detail-${props.data?.type}.png`"
v-if="fileType.includes(props.data?.type)" />
<el-icon class="item-info-icon" v-else>
<Files />
</el-icon>
......@@ -25,30 +24,21 @@ const fileType = ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'mp3', 'mp
<div class="info-items">
<div class="flex-box">
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon5.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon5.png" class="icons" />
<div class="text-box">
<div class="name">资料名称</div>
<div class="value">{{ props.data?.name }}</div>
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon6.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon6.png" class="icons" />
<div class="text-box">
<div class="name">资料分类</div>
<div class="value">{{ props.data?.classification_name || '暂无' }}</div>
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon1.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon1.png" class="icons" />
<div class="text-box">
<div class="name">状态</div>
<div :class="props.data?.status == '1' ? 'value active' : 'value inactive'">
......@@ -57,10 +47,7 @@ const fileType = ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'mp3', 'mp
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon3.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon3.png" class="icons" />
<div class="text-box">
<div class="name">创建时间</div>
<div class="value">{{ props.data?.created_time }}</div>
......@@ -69,40 +56,28 @@ const fileType = ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'mp3', 'mp
</div>
<div class="flex-box">
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon12.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon12.png" class="icons" />
<div class="text-box">
<div class="name">创建者</div>
<div class="value">{{ props.data?.created_operator_name }}</div>
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon13.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/course-view-icon13.png" class="icons" />
<div class="text-box">
<div class="name">负责人</div>
<div class="value">{{ props.data?.belong_operator_name }}</div>
</div>
</div>
<div class="i-items" style="align-items: flex-start">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon8.png" class="icons" />
<div class="text-box">
<div class="name">知识点</div>
<div class="value">{{ props.data?.knowledge_points || '暂无' }}</div>
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon4.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon4.png" class="icons" />
<div class="text-box">
<div class="name">更新时间</div>
<div class="value">{{ props.data?.updated_time }}</div>
......
......@@ -100,20 +100,15 @@ const typeFilter = () => {
<el-tab-pane label="公开资源" name="3"></el-tab-pane>
</el-tabs>
<div class="video-head-icon" @click="changeCard">
<img
v-if="!isCard"
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/change_card.png"
alt=""
/>
<img v-else src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/change_list.png" alt="" />
<img v-if="!isCard" src="https://webapp-pub.ezijing.com/center_resource/change_card.png" alt="" />
<img v-else src="https://webapp-pub.ezijing.com/center_resource/change_list.png" alt="" />
</div>
</div>
<div class="video-tool-btn">
<router-link
v-if="tabValue === '1'"
v-permission="'v1-resource-other-information-create'"
to="/resource/other/update"
>
to="/resource/other/update">
<el-button type="primary" round>新建其他资源</el-button>
</router-link>
</div>
......@@ -127,8 +122,7 @@ const typeFilter = () => {
:props="defaultProps"
v-model="params.classification"
:data="selectTree"
:default-expanded-keys="selectTree.length ? [selectTree[0]?.id] : []"
/>
:default-expanded-keys="selectTree.length ? [selectTree[0]?.id] : []" />
</template>
<template v-if="tabValue == '3' && isAdmin" #filter-department="{ params }">
<div class="name" style="font-size: 14px; color: #606266; padding-right: 12px">部门:</div>
......@@ -156,8 +150,7 @@ const typeFilter = () => {
path="/resource/other"
v-for="(item, index) in data"
:data="item"
:key="index"
></CardListItem>
:key="index"></CardListItem>
</div>
<!-- <el-empty v-else description="暂无数据" /> -->
</template>
......
......@@ -79,7 +79,7 @@ const handlePreview: UploadProps['onPreview'] = uploadFile => {
<template>
<el-upload
action="https://webapp-pub.oss-cn-beijing.aliyuncs.com"
action="https://webapp-pub.ezijing.com"
:data="uploadData"
:show-file-list="false"
:before-upload="handleBeforeUpload"
......@@ -88,8 +88,7 @@ const handlePreview: UploadProps['onPreview'] = uploadFile => {
:on-preview="handlePreview"
:on-success="handleSuccess"
:file-list="fileList"
class="uploader"
>
class="uploader">
<el-button type="primary">选择本地图片</el-button>
</el-upload>
</template>
......
......@@ -17,28 +17,28 @@ const videoOptions = $computed(() => {
<div class="center-video-box">
<div class="right-statistics">
<div class="stat-item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/view-vicon1.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/view-vicon1.png" />
<div class="content">
<div class="unit">{{ data.project_count }}<span></span></div>
<div class="tag">使用项目/学校</div>
</div>
</div>
<div class="stat-item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/view-vicon2.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/view-vicon2.png" />
<div class="content">
<div class="unit">{{ data.course_count }}<span></span></div>
<div class="tag">使用课程</div>
</div>
</div>
<div class="stat-item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/view-vicon3.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/view-vicon3.png" />
<div class="content">
<div class="unit">{{ data.learn_count }}<span>人次</span></div>
<div class="tag">累计学习人次</div>
</div>
</div>
<div class="stat-item">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/view-vicon4.png" />
<img src="https://webapp-pub.ezijing.com/center_resource/view-vicon4.png" />
<div class="content">
<div class="unit">{{ data.learn_time_count }}<span>分钟</span></div>
<div class="tag">累计学习时长</div>
......
......@@ -9,8 +9,7 @@ const props = defineProps(['data'])
<div
v-if="props.data.cover != ''"
class="img"
:style="`width: 210px;height: 140px;background-size: cover;background-image: url(${props.data.cover});`"
></div>
:style="`width: 210px;height: 140px;background-size: cover;background-image: url(${props.data.cover});`"></div>
<el-icon v-else :size="200" color="#ccc">
<PictureFilled></PictureFilled>
</el-icon>
......@@ -20,30 +19,21 @@ const props = defineProps(['data'])
<div class="info-items">
<div class="flex-box">
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon5.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon5.png" class="icons" />
<div class="text-box">
<div class="name">视频名称</div>
<div class="value">{{ props.data.name }}</div>
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon7.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon7.png" class="icons" />
<div class="text-box">
<div class="name">视频分类</div>
<div class="value">{{ props.data.classification_name || '暂无' }}</div>
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon1.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon1.png" class="icons" />
<div class="text-box">
<div class="name">状态</div>
<div :class="props.data.status == '1' ? 'value active' : 'value inactive'">
......@@ -52,10 +42,7 @@ const props = defineProps(['data'])
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon3.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon3.png" class="icons" />
<div class="text-box">
<div class="name">创建时间</div>
<div class="value">{{ props.data.created_time }}</div>
......@@ -64,40 +51,28 @@ const props = defineProps(['data'])
</div>
<div class="flex-box">
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon12.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon12.png" class="icons" />
<div class="text-box">
<div class="name">创建者</div>
<div class="value">{{ props.data.created_operator_name }}</div>
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/course-view-icon13.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/course-view-icon13.png" class="icons" />
<div class="text-box">
<div class="name">负责人</div>
<div class="value">{{ props.data.belong_operator_name }}</div>
</div>
</div>
<div class="i-items" style="align-items: flex-start">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon8.png" class="icons" />
<div class="text-box">
<div class="name">知识点</div>
<div class="value">{{ props.data?.knowledge_points || '暂无' }}</div>
</div>
</div>
<div class="i-items">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon4.png"
class="icons"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/video-view-icon4.png" class="icons" />
<div class="text-box">
<div class="name">更新时间</div>
<div class="value">{{ props.data.updated_time }}</div>
......
......@@ -109,12 +109,8 @@ const handleBatchImport = () => {
<el-tab-pane label="公开资源" name="3"></el-tab-pane>
</el-tabs>
<div class="video-head-icon" @click="changeCard">
<img
v-if="!isCard"
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/change_card.png"
alt=""
/>
<img v-else src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/change_list.png" alt="" />
<img v-if="!isCard" src="https://webapp-pub.ezijing.com/center_resource/change_card.png" alt="" />
<img v-else src="https://webapp-pub.ezijing.com/center_resource/change_list.png" alt="" />
</div>
</div>
<div class="video-tool-btn">
......@@ -122,8 +118,7 @@ const handleBatchImport = () => {
v-if="tabValue === '1'"
to="/resource/video/update"
target="_blank"
v-permission="'v1-resource-video-create'"
>
v-permission="'v1-resource-video-create'">
<el-button type="primary" round>新建视频资源</el-button>
</router-link>
<el-button v-if="tabValue === '1'" type="primary" round @click="handleBatchImport" style="margin-left: 20px"
......@@ -143,8 +138,7 @@ const handleBatchImport = () => {
display: block;
height: 83px;
background-size: cover;
background-image: url(${row.cover});`"
></div>
background-image: url(${row.cover});`"></div>
</div>
</template>
<template #filter-type="{ params }">
......@@ -155,8 +149,7 @@ const handleBatchImport = () => {
:props="defaultProps"
v-model="params.classification"
:data="selectTree"
:default-expanded-keys="selectTree.length ? [selectTree[0]?.id] : []"
/>
:default-expanded-keys="selectTree.length ? [selectTree[0]?.id] : []" />
</template>
<template v-if="tabValue == '3' && isAdmin" #filter-department="{ params }">
<div class="name" style="font-size: 14px; color: #606266; padding-right: 12px">部门:</div>
......
......@@ -176,8 +176,7 @@ const changeProtocol = (data: any) => {
v-model="form.data.classification"
:data="selectTree"
node-key="id"
:default-expanded-keys="selectTree.length ? [selectTree[0]?.id] : []"
/>
:default-expanded-keys="selectTree.length ? [selectTree[0]?.id] : []" />
</el-form-item>
<el-form-item label="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;知识点:">
<el-input
......@@ -185,8 +184,7 @@ const changeProtocol = (data: any) => {
v-model="form.data.knowledge_points"
:rows="2"
type="textarea"
maxlength="100"
/>
maxlength="100" />
</el-form-item>
<el-form-item label="&nbsp;&nbsp;视频封面:">
<div class="video-cover">
......@@ -200,31 +198,19 @@ const changeProtocol = (data: any) => {
<UploadImg accept=".jpg,.jpeg,.gif,.png" v-model="form.data.cover"></UploadImg>
<div class="list">
<div class="item">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/upload-video-icon.png"
class="icon"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/upload-video-icon.png" class="icon" />
<div class="text">该图片作为视频的封面图,用于视频封面显示</div>
</div>
<div class="item">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/upload-video-icon.png"
class="icon"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/upload-video-icon.png" class="icon" />
<div class="text">支持jpg/jpeg/gif/png格式</div>
</div>
<div class="item">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/upload-video-icon.png"
class="icon"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/upload-video-icon.png" class="icon" />
<div class="text">支持小于4M,最好宽240*高175*及以上尺寸</div>
</div>
<div class="item">
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/upload-video-icon.png"
class="icon"
/>
<img src="https://webapp-pub.ezijing.com/center_resource/upload-video-icon.png" class="icon" />
<div class="text">可以自己上传图片,也可以从下面这些图片中选择使用</div>
</div>
</div>
......@@ -238,16 +224,14 @@ const changeProtocol = (data: any) => {
:autoplay="false"
arrow="never"
trigger="click"
ref="swiper"
>
ref="swiper">
<el-carousel-item v-for="(item, index) in swiperCovers" :key="index" class="cover-list">
<div
@click="swiperItemHandle(cItem.url)"
:key="cItem.id"
v-for="cItem in item"
:style="`background-image:url(${cItem.url})`"
class="cover-list_item"
></div>
class="cover-list_item"></div>
</el-carousel-item>
</el-carousel>
</div>
......
......@@ -79,13 +79,13 @@ const handleGetItemFloor = (val: any) => {
// 用户标签图片
const imgUrl = computed(() => {
if (props.firstFloor?.tag === '学者') {
return 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/xz.png'
return 'https://webapp-pub.ezijing.com/center_resource/xz.png'
} else if (props.firstFloor?.tag === '大师') {
return 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/ds.png'
return 'https://webapp-pub.ezijing.com/center_resource/ds.png'
} else if (props.firstFloor?.tag === '智者') {
return 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/zz.png'
return 'https://webapp-pub.ezijing.com/center_resource/zz.png'
} else if (props.firstFloor?.tag === '学徒') {
return 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/xt.png'
return 'https://webapp-pub.ezijing.com/center_resource/xt.png'
}
})
// 图片预览
......@@ -121,8 +121,7 @@ const getContent = (val: any) => {
<div class="left_logo_txt">楼主</div>
<img
:src="props.firstFloor?.avatar || 'https://webapp-pub.ezijing.com/center_resource/avatar.png'"
class="left_avatar"
/>
class="left_avatar" />
<div class="left_floor">{{ props.firstFloor?.floor }}</div>
<div class="left_name">{{ props.firstFloor?.name }}</div>
<div class="left_remark" v-if="props.firstFloor?.tag !== '老师'">
......@@ -149,8 +148,7 @@ const getContent = (val: any) => {
<template v-for="(it, index) in props.firstFloor?.files" :key="index">
<div
class="files_img"
v-if="it?.name.includes('.png') || it?.name.includes('.jpg') || it?.name.includes('.jpeg')"
>
v-if="it?.name.includes('.png') || it?.name.includes('.jpg') || it?.name.includes('.jpeg')">
<el-image :src="it?.url" :preview-src-list="previewList" :initial-index="4" fit="cover" />
<div class="img_txt">查看大图</div>
</div>
......@@ -171,8 +169,7 @@ const getContent = (val: any) => {
<img
:src="item.avatar || 'https://webapp-pub.ezijing.com/center_resource/avatar.png'"
alt=""
class="top_img"
/>
class="top_img" />
<div class="top_name" v-if="item.floor_id !== item.reply_id">
{{ item.from_name }}&nbsp;回复 &nbsp;<span style="color: #3571e0">{{ item.to_name }}</span>
......@@ -210,8 +207,7 @@ const getContent = (val: any) => {
:autosize="{ minRows: 4, maxRows: 6 }"
type="textarea"
style="width: 100%"
:placeholder="postItem.to_name ? `回复@${postItem.from_name}:` : ''"
/>
:placeholder="postItem.to_name ? `回复@${postItem.from_name}:` : ''" />
<el-button class="input_btn" type="primary" @click="handleReplySubmit">发表回复</el-button>
</div>
</div>
......
......@@ -83,8 +83,7 @@ const backToTop = () => {
:key="index"
:firstFloor="item"
:discussionId="discussionId"
@update="handleFresh"
/>
@update="handleFresh" />
<el-pagination
class="pagination"
v-model:currentPage="currentPage"
......@@ -93,12 +92,11 @@ const backToTop = () => {
:page-sizes="[5, 10, 20, 30, 50]"
:total="totalFloor"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
>
@current-change="handleCurrentChange">
</el-pagination>
</div>
<div class="to_top" @click="backToTop">
<img src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/to_top.png" alt="" class="top_img" />
<img src="https://webapp-pub.ezijing.com/center_resource/to_top.png" alt="" class="top_img" />
<div class="top_txt">
<div>返回</div>
<div>顶部</div>
......@@ -109,8 +107,7 @@ const backToTop = () => {
v-model:isShowReplyDialog="isShowReplyDialog"
v-if="isShowReplyDialog"
:discussionId="discussionId"
@create="handleGetFirstFloor"
/>
@create="handleGetFirstFloor" />
</template>
<style lang="scss" scoped>
.card {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论