提交 d910b289 authored 作者: lihuihui's avatar lihuihui

修改bug

上级 36e3fece
<script setup lang="ts">
import { Files } from '@element-plus/icons-vue'
const props: any = defineProps<{ data: object; path: string; permission?: { edit: string; view: string }, tabIndex: string }>()
const props: any = defineProps<{
data: object
path: string
permission?: { edit: string; view: string }
tabIndex: string
}>()
const fileType = ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'mp3', 'mp4', 'png', 'jpeg', 'jpg']
const bytesToSize = (bytes: number) => {
if (bytes === 0) return '0 B'
const k = 1000, // or 1024
sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
i = Math.floor(Math.log(bytes) / Math.log(k))
return (bytes / Math.pow(k, i)).toPrecision(3) + ' ' + sizes[i]
}
</script>
<template>
<div class="card-item">
......@@ -12,11 +26,14 @@ const fileType = ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'mp3', 'mp
<!-- <img src="http://iph.href.lu/265x170" /> -->
<div class="title">{{ props.data.name }}</div>
<div class="item-info">
<div class="info">文件大小:{{ props.data.size }}.M</div>
<div class="info">文件大小:{{ bytesToSize(parseInt(props.data.size)) }}</div>
<div class="info">关联次数:{{ props.data.relation_count }}</div>
<div class="info">学习人次:{{ props.data.learn_count }}人次</div>
</div>
<img :src="`https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/${props.data.type}.png`" v-if="fileType.includes(props.data.type)">
<img
:src="`https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/${props.data.type}.png`"
v-if="fileType.includes(props.data.type)"
/>
<el-icon class="item-info-icon" v-else>
<Files />
</el-icon>
......
......@@ -55,7 +55,7 @@ export function setPlatform(data: { id: string }) {
// 上下线
export function setStatus(data: { id: string }) {
return httpRequest.post('/api/resource/v1/resource/vset-status', data)
return httpRequest.post('/api/resource/v1/resource/courseware/set-status', data)
}
// 更改负责人
......
......@@ -133,12 +133,11 @@ const handlesetBelong = () => {
<div v-if="props.data.auth_department" class="btn-item" @click="handleDepartment">
{{ props.data.department_public == 0 ? '部门共享' : '取消部门共享' }}
</div>
<div v-if="props.data.platform" class="btn-item" @click="handlePlatform">
<div v-if="props.data.auth_platform" class="btn-item" @click="handlePlatform">
{{ props.data.platform_public == 0 ? '平台共享' : '取消平台共享' }}
</div>
<div
v-if="props.data.auth_status"
v-permission="'v1-resource-courseware-set-status'"
class="btn-item"
@click="handleStatus"
>
......
......@@ -66,7 +66,7 @@ const listOptions = $computed(() => {
filters: [
{
type: 'select',
prop: 'audit_status',
prop: 'status',
label: '状态',
options: store.getMapValuesByKey('system_status')
},
......
<script setup lang="ts">
const prop = defineProps(['data'])
const bytesToSize = (bytes: number) => {
if (bytes === 0) return { number: 0, unit: 'B' }
const k = 1000, // or 1024
sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
i = Math.floor(Math.log(bytes) / Math.log(k))
return { number: (bytes / Math.pow(k, i)).toPrecision(3), unit: sizes[i] }
}
</script>
<template>
<div class="statistics-list">
<div class="item" v-for="(item, index) in prop.data" :key="index">
<div class="icon"></div>
<div class="num">{{ item.number }}<span>{{ item.unit }}</span></div>
<div class="text">{{ item.text }}</div>
<template v-if="item.key === 'memory_size'">
<div class="icon"></div>
<div class="num">{{ bytesToSize(item.number).number }}<span>{{ bytesToSize(item.number).unit }}</span></div>
<div class="text">{{ item.text }}</div>
</template>
<template v-else>
<div class="icon"></div>
<div class="num">{{ item.number }}<span>{{ item.unit }}</span></div>
<div class="text">{{ item.text }}</div>
</template>
</div>
</div>
</template>
......
......@@ -11,6 +11,7 @@ const data = reactive<{ statistics: object[]; latest: object[]; hot: object[]; l
hot: [],
learn: []
})
// 所有数据
getUtilData().then(res => {
flag = true
......@@ -23,12 +24,12 @@ getUtilData().then(res => {
{ key: 'other_information_count', unit: '个', number: 0, text: '其他资料' },
{ key: 'question_count', unit: '个', number: 0, text: '题库资源' },
{ key: 'paper_count', unit: '套', number: 0, text: '试卷资源' },
{ key: 'memory_size', unit: 'GB', number: 0, text: '资源总体量' },
{ key: 'memory_size', unit: '', number: 0, text: '资源总体量' },
{ key: 'length', unit: '小时', number: 0, text: '资源总时长' },
{ key: 'learn_times', unit: '万人次', number: 0, text: '总学习人次' },
{ key: 'learn_time_length', unit: '小时', number: 0, text: '总学习时长' }
]
data.statistics = statisticsData.map(item => {
data.statistics = statisticsData.map((item: any) => {
item.number = res.data[item.key] || 0
return item
})
......
......@@ -133,7 +133,7 @@ const handlesetBelong = () => {
<div v-if="props.data.auth_department" class="btn-item" @click="handleDepartment">
{{ props.data.department_public == 0 ? '部门共享' : '取消部门共享' }}
</div>
<div v-if="props.data.platform" class="btn-item" @click="handlePlatform">
<div v-if="props.data.auth_platform" class="btn-item" @click="handlePlatform">
{{ props.data.platform_public == 0 ? '平台共享' : '取消平台共享' }}
</div>
<div
......
......@@ -66,7 +66,7 @@ const listOptions = $computed(() => {
filters: [
{
type: 'select',
prop: 'audit_status',
prop: 'status',
label: '状态',
options: store.getMapValuesByKey('system_status')
},
......
......@@ -137,7 +137,7 @@ const handlesetBelong = () => {
<div v-if="props.data.auth_department" class="btn-item" @click="handleDepartment">
{{ props.data.department_public == 0 ? '部门共享' : '取消部门共享' }}
</div>
<div v-if="props.data.platform" class="btn-item" @click="handlePlatform">
<div v-if="props.data.auth_platform" class="btn-item" @click="handlePlatform">
{{ props.data.platform_public == 0 ? '平台共享' : '取消平台共享' }}
</div>
<div v-if="props.data.auth_status" class="btn-item" @click="handleStatus">
......
......@@ -19,21 +19,30 @@ const props = defineProps({
<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-icon1.png" class="icons" />
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon1.png"
class="icons"
/>
<div class="text-box">
<div class="name">状态</div>
<div class="value active">{{ props.data?.status_name }}</div>
</div>
</div>
<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.oss-cn-beijing.aliyuncs.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/video-view-icon3.png" class="icons" />
<img
src="https://webapp-pub.oss-cn-beijing.aliyuncs.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>
......@@ -42,21 +51,30 @@ const props = defineProps({
</div>
<div class="flex-box">
<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.oss-cn-beijing.aliyuncs.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>
</div>
</div>
<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.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon5.png"
class="icons"
/>
<div class="text-box">
<div class="name">其他名称</div>
<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.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon6.png"
class="icons"
/>
<div class="text-box">
<div class="name">负责人</div>
<div class="value">{{ props.data?.belong_operator_name }}</div>
......@@ -65,14 +83,20 @@ const props = defineProps({
</div>
<div class="flex-box">
<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.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon6.png"
class="icons"
/>
<div class="text-box">
<div class="name">其他分类</div>
<div class="name">资料分类</div>
<div class="value">{{ props.data?.classification_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.oss-cn-beijing.aliyuncs.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>
......@@ -112,7 +136,7 @@ const props = defineProps({
// flex-wrap: wrap;
padding-left: 12px;
flex: 1;
.flex-box{
.flex-box {
display: flex;
justify-content: flex-start;
}
......
......@@ -67,7 +67,7 @@ const listOptions = $computed(() => {
filters: [
{
type: 'select',
prop: 'audit_status',
prop: 'status',
label: '状态',
options: store.getMapValuesByKey('system_status')
},
......
......@@ -160,10 +160,10 @@ const protocol = ref(false)
<div class="tips">文件支持格式包含:doc docx xls xlsx pdf ppt pptx mp3 mp4 png jpeg jpg,大小不超过200M</div>
</div>
</el-form-item>
<el-form-item label="其他名称:" prop="name">
<el-form-item label="资料名称:" prop="name">
<el-input maxlength="40" v-model="form.name" />
</el-form-item>
<el-form-item label="其他分类:" prop="classification">
<el-form-item label="资料分类:" prop="classification">
<el-tree-select
:render-after-expand="false"
:props="defaultProps"
......
......@@ -135,7 +135,7 @@ const handlesetBelong = () => {
<div v-if="props.data.auth_department" class="btn-item" @click="handleDepartment">
{{ props.data.department_public == 0 ? '部门共享' : '取消部门共享' }}
</div>
<div v-if="props.data.platform" class="btn-item" @click="handlePlatform">
<div v-if="props.data.auth_platform" class="btn-item" @click="handlePlatform">
{{ props.data.platform_public == 0 ? '平台共享' : '取消平台共享' }}
</div>
<div
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论