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

修改bug

上级 36e3fece
<script setup lang="ts"> <script setup lang="ts">
import { Files } from '@element-plus/icons-vue' 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 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> </script>
<template> <template>
<div class="card-item"> <div class="card-item">
...@@ -12,11 +26,14 @@ const fileType = ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'mp3', 'mp ...@@ -12,11 +26,14 @@ const fileType = ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'mp3', 'mp
<!-- <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 }}.M</div> <div class="info">文件大小:{{ bytesToSize(parseInt(props.data.size)) }}</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>
<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> <el-icon class="item-info-icon" v-else>
<Files /> <Files />
</el-icon> </el-icon>
......
...@@ -55,7 +55,7 @@ export function setPlatform(data: { id: string }) { ...@@ -55,7 +55,7 @@ export function setPlatform(data: { id: string }) {
// 上下线 // 上下线
export function setStatus(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 = () => { ...@@ -133,12 +133,11 @@ const handlesetBelong = () => {
<div v-if="props.data.auth_department" class="btn-item" @click="handleDepartment"> <div v-if="props.data.auth_department" class="btn-item" @click="handleDepartment">
{{ props.data.department_public == 0 ? '部门共享' : '取消部门共享' }} {{ props.data.department_public == 0 ? '部门共享' : '取消部门共享' }}
</div> </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 ? '平台共享' : '取消平台共享' }} {{ props.data.platform_public == 0 ? '平台共享' : '取消平台共享' }}
</div> </div>
<div <div
v-if="props.data.auth_status" v-if="props.data.auth_status"
v-permission="'v1-resource-courseware-set-status'"
class="btn-item" class="btn-item"
@click="handleStatus" @click="handleStatus"
> >
......
...@@ -66,7 +66,7 @@ const listOptions = $computed(() => { ...@@ -66,7 +66,7 @@ const listOptions = $computed(() => {
filters: [ filters: [
{ {
type: 'select', type: 'select',
prop: 'audit_status', prop: 'status',
label: '状态', label: '状态',
options: store.getMapValuesByKey('system_status') options: store.getMapValuesByKey('system_status')
}, },
......
<script setup lang="ts"> <script setup lang="ts">
const prop = defineProps(['data']) 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> </script>
<template> <template>
<div class="statistics-list"> <div class="statistics-list">
<div class="item" v-for="(item, index) in prop.data" :key="index"> <div class="item" v-for="(item, index) in prop.data" :key="index">
<div class="icon"></div> <template v-if="item.key === 'memory_size'">
<div class="num">{{ item.number }}<span>{{ item.unit }}</span></div> <div class="icon"></div>
<div class="text">{{ item.text }}</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>
</div> </div>
</template> </template>
......
...@@ -11,6 +11,7 @@ const data = reactive<{ statistics: object[]; latest: object[]; hot: object[]; l ...@@ -11,6 +11,7 @@ const data = reactive<{ statistics: object[]; latest: object[]; hot: object[]; l
hot: [], hot: [],
learn: [] learn: []
}) })
// 所有数据 // 所有数据
getUtilData().then(res => { getUtilData().then(res => {
flag = true flag = true
...@@ -23,12 +24,12 @@ getUtilData().then(res => { ...@@ -23,12 +24,12 @@ getUtilData().then(res => {
{ key: 'other_information_count', unit: '个', number: 0, text: '其他资料' }, { key: 'other_information_count', unit: '个', number: 0, text: '其他资料' },
{ key: 'question_count', unit: '个', number: 0, text: '题库资源' }, { key: 'question_count', unit: '个', number: 0, text: '题库资源' },
{ key: 'paper_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: 'length', unit: '小时', number: 0, text: '资源总时长' },
{ key: 'learn_times', unit: '万人次', number: 0, text: '总学习人次' }, { key: 'learn_times', unit: '万人次', number: 0, text: '总学习人次' },
{ key: 'learn_time_length', 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 item.number = res.data[item.key] || 0
return item return item
}) })
......
...@@ -133,7 +133,7 @@ const handlesetBelong = () => { ...@@ -133,7 +133,7 @@ const handlesetBelong = () => {
<div v-if="props.data.auth_department" class="btn-item" @click="handleDepartment"> <div v-if="props.data.auth_department" class="btn-item" @click="handleDepartment">
{{ props.data.department_public == 0 ? '部门共享' : '取消部门共享' }} {{ props.data.department_public == 0 ? '部门共享' : '取消部门共享' }}
</div> </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 ? '平台共享' : '取消平台共享' }} {{ props.data.platform_public == 0 ? '平台共享' : '取消平台共享' }}
</div> </div>
<div <div
......
...@@ -66,7 +66,7 @@ const listOptions = $computed(() => { ...@@ -66,7 +66,7 @@ const listOptions = $computed(() => {
filters: [ filters: [
{ {
type: 'select', type: 'select',
prop: 'audit_status', prop: 'status',
label: '状态', label: '状态',
options: store.getMapValuesByKey('system_status') options: store.getMapValuesByKey('system_status')
}, },
......
...@@ -137,7 +137,7 @@ const handlesetBelong = () => { ...@@ -137,7 +137,7 @@ const handlesetBelong = () => {
<div v-if="props.data.auth_department" class="btn-item" @click="handleDepartment"> <div v-if="props.data.auth_department" class="btn-item" @click="handleDepartment">
{{ props.data.department_public == 0 ? '部门共享' : '取消部门共享' }} {{ props.data.department_public == 0 ? '部门共享' : '取消部门共享' }}
</div> </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 ? '平台共享' : '取消平台共享' }} {{ props.data.platform_public == 0 ? '平台共享' : '取消平台共享' }}
</div> </div>
<div v-if="props.data.auth_status" class="btn-item" @click="handleStatus"> <div v-if="props.data.auth_status" class="btn-item" @click="handleStatus">
......
...@@ -19,21 +19,30 @@ const props = defineProps({ ...@@ -19,21 +19,30 @@ const props = defineProps({
<div class="info-items"> <div class="info-items">
<div class="flex-box"> <div class="flex-box">
<div class="i-items"> <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="text-box">
<div class="name">状态</div> <div class="name">状态</div>
<div class="value active">{{ props.data?.status_name }}</div> <div class="value active">{{ props.data?.status_name }}</div>
</div> </div>
</div> </div>
<div class="i-items"> <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="text-box">
<div class="name">创建者</div> <div class="name">创建者</div>
<div class="value">{{ props.data?.created_operator_name }}</div> <div class="value">{{ props.data?.created_operator_name }}</div>
</div> </div>
</div> </div>
<div class="i-items"> <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="text-box">
<div class="name">创建时间</div> <div class="name">创建时间</div>
<div class="value">{{ props.data?.created_time }}</div> <div class="value">{{ props.data?.created_time }}</div>
...@@ -42,21 +51,30 @@ const props = defineProps({ ...@@ -42,21 +51,30 @@ const props = defineProps({
</div> </div>
<div class="flex-box"> <div class="flex-box">
<div class="i-items"> <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="text-box">
<div class="name">更新时间</div> <div class="name">更新时间</div>
<div class="value">{{ props.data?.updated_time }}</div> <div class="value">{{ props.data?.updated_time }}</div>
</div> </div>
</div> </div>
<div class="i-items"> <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="text-box">
<div class="name">其他名称</div> <div class="name">资料名称</div>
<div class="value">{{ props.data?.name }}</div> <div class="value">{{ props.data?.name }}</div>
</div> </div>
</div> </div>
<div class="i-items"> <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="text-box">
<div class="name">负责人</div> <div class="name">负责人</div>
<div class="value">{{ props.data?.belong_operator_name }}</div> <div class="value">{{ props.data?.belong_operator_name }}</div>
...@@ -65,14 +83,20 @@ const props = defineProps({ ...@@ -65,14 +83,20 @@ const props = defineProps({
</div> </div>
<div class="flex-box"> <div class="flex-box">
<div class="i-items"> <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="text-box">
<div class="name">其他分类</div> <div class="name">资料分类</div>
<div class="value">{{ props.data?.classification_name || '暂无' }}</div> <div class="value">{{ props.data?.classification_name || '暂无' }}</div>
</div> </div>
</div> </div>
<div class="i-items" style="align-items: flex-start"> <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="text-box">
<div class="name">知识点</div> <div class="name">知识点</div>
<div class="value">{{ props.data?.knowledge_points || '暂无' }}</div> <div class="value">{{ props.data?.knowledge_points || '暂无' }}</div>
...@@ -112,7 +136,7 @@ const props = defineProps({ ...@@ -112,7 +136,7 @@ const props = defineProps({
// flex-wrap: wrap; // flex-wrap: wrap;
padding-left: 12px; padding-left: 12px;
flex: 1; flex: 1;
.flex-box{ .flex-box {
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
} }
......
...@@ -67,7 +67,7 @@ const listOptions = $computed(() => { ...@@ -67,7 +67,7 @@ const listOptions = $computed(() => {
filters: [ filters: [
{ {
type: 'select', type: 'select',
prop: 'audit_status', prop: 'status',
label: '状态', label: '状态',
options: store.getMapValuesByKey('system_status') options: store.getMapValuesByKey('system_status')
}, },
......
...@@ -160,10 +160,10 @@ const protocol = ref(false) ...@@ -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 class="tips">文件支持格式包含:doc docx xls xlsx pdf ppt pptx mp3 mp4 png jpeg jpg,大小不超过200M</div>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="其他名称:" prop="name"> <el-form-item label="资料名称:" prop="name">
<el-input maxlength="40" 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
:render-after-expand="false" :render-after-expand="false"
:props="defaultProps" :props="defaultProps"
......
...@@ -135,7 +135,7 @@ const handlesetBelong = () => { ...@@ -135,7 +135,7 @@ const handlesetBelong = () => {
<div v-if="props.data.auth_department" class="btn-item" @click="handleDepartment"> <div v-if="props.data.auth_department" class="btn-item" @click="handleDepartment">
{{ props.data.department_public == 0 ? '部门共享' : '取消部门共享' }} {{ props.data.department_public == 0 ? '部门共享' : '取消部门共享' }}
</div> </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 ? '平台共享' : '取消平台共享' }} {{ props.data.platform_public == 0 ? '平台共享' : '取消平台共享' }}
</div> </div>
<div <div
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论