|
@@ -40,27 +40,27 @@
|
|
|
</el-row>
|
|
</el-row>
|
|
|
</el-card>
|
|
</el-card>
|
|
|
<el-card shadow="hover" :style="{ marginTop: '10px', height: '60px' }">
|
|
<el-card shadow="hover" :style="{ marginTop: '10px', height: '60px' }">
|
|
|
- <el-form ref="queryFormRef" :model="queryParams" :inline="true" label-width="40px">
|
|
|
|
|
- <el-form-item label="名称" prop="originalName">
|
|
|
|
|
- <el-input v-model="queryParams.originalName" placeholder="请输入文件名" clearable style="width: 150px" />
|
|
|
|
|
|
|
+ <el-form ref="queryFormRef" :model="queryParams" :inline="true" label-width="0px">
|
|
|
|
|
+ <el-form-item label="" prop="originalName">
|
|
|
|
|
+ <el-input v-model="queryParams.originalName" placeholder="请输入文件名" clearable style="width: 120px" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="类型" prop="type">
|
|
|
|
|
- <el-select v-model="queryParams.type" style="width: 150px" placeholder="请选择类型" clearable>
|
|
|
|
|
|
|
+ <el-form-item label="" prop="type">
|
|
|
|
|
+ <el-select v-model="queryParams.type" style="width: 120px" placeholder="请选择类型" clearable>
|
|
|
<el-option v-for="dict in smsb_source_type" :key="dict.value" :label="dict.label" :value="dict.value" />
|
|
<el-option v-for="dict in smsb_source_type" :key="dict.value" :label="dict.label" :value="dict.value" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="分类" prop="tag">
|
|
|
|
|
- <el-select v-model="queryParams.tag" style="width: 150px" placeholder="请选择分类" clearable>
|
|
|
|
|
|
|
+ <el-form-item label="" prop="tag">
|
|
|
|
|
+ <el-select v-model="queryParams.tag" style="width: 120px" placeholder="请选择分类" clearable>
|
|
|
<el-option v-for="dict in smsb_source_classify" :key="dict.value" :label="dict.label"
|
|
<el-option v-for="dict in smsb_source_classify" :key="dict.value" :label="dict.label"
|
|
|
:value="dict.value" />
|
|
:value="dict.value" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="目录" prop="treeId">
|
|
|
|
|
|
|
+ <el-form-item label="" prop="treeId">
|
|
|
<el-tree-select v-model="queryParams.treeId" :data="sourceTreeOptions"
|
|
<el-tree-select v-model="queryParams.treeId" :data="sourceTreeOptions"
|
|
|
:props="{ value: 'id', label: 'name', children: 'children' }" value-key="id" placeholder="请选择归属目录"
|
|
:props="{ value: 'id', label: 'name', children: 'children' }" value-key="id" placeholder="请选择归属目录"
|
|
|
check-strictly @change="handleQuery" style="width: 200px" clearable />
|
|
check-strictly @change="handleQuery" style="width: 200px" clearable />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="时间" style="width: 250px">
|
|
|
|
|
|
|
+ <el-form-item label="" style="width: 250px">
|
|
|
<el-date-picker v-model="dateRangeCreateTime" value-format="YYYY-MM-DD HH:mm:ss" type="daterange"
|
|
<el-date-picker v-model="dateRangeCreateTime" value-format="YYYY-MM-DD HH:mm:ss" type="daterange"
|
|
|
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
|
|
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
|
|
|
:default-time="[new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 1, 1, 23, 59, 59)]"></el-date-picker>
|
|
:default-time="[new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 1, 1, 23, 59, 59)]"></el-date-picker>
|
|
@@ -88,19 +88,19 @@
|
|
|
<el-card shadow="never">
|
|
<el-card shadow="never">
|
|
|
<div class="table-content">
|
|
<div class="table-content">
|
|
|
<el-table v-loading="loading" :data="minioDataList" @selection-change="handleSelectionChange">
|
|
<el-table v-loading="loading" :data="minioDataList" @selection-change="handleSelectionChange">
|
|
|
- <el-table-column type="selection" width="55" align="center" />
|
|
|
|
|
|
|
+ <el-table-column label="" align="left" width="5" />
|
|
|
<el-table-column label="资源" align="left" prop="keyName" width="200" :show-overflow-tooltip="true" />
|
|
<el-table-column label="资源" align="left" prop="keyName" width="200" :show-overflow-tooltip="true" />
|
|
|
- <el-table-column label="类型" align="center" prop="type" width="120">
|
|
|
|
|
|
|
+ <el-table-column label="类型" align="center" prop="type" width="80">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
<dict-tag :options="smsb_source_type" :value="scope.row.type" />
|
|
<dict-tag :options="smsb_source_type" :value="scope.row.type" />
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="原名" align="left" prop="originalName" width="150" :show-overflow-tooltip="true" />
|
|
|
|
|
- <el-table-column label="大小" align="left" prop="size" />
|
|
|
|
|
- <el-table-column label="分辨率" align="left" prop="resolution" />
|
|
|
|
|
- <el-table-column label="码率(kbps)" align="left" prop="codeRate" />
|
|
|
|
|
- <el-table-column label="时长" align="left" prop="durationStr" />
|
|
|
|
|
- <el-table-column label="预览" align="center" prop="screenshot">
|
|
|
|
|
|
|
+ <el-table-column label="文件名" align="left" prop="originalName" :show-overflow-tooltip="true" />
|
|
|
|
|
+ <el-table-column label="大小" align="center" prop="size" width="100" :show-overflow-tooltip="true" />
|
|
|
|
|
+ <el-table-column label="分辨率" align="center" prop="resolution" width="100" :show-overflow-tooltip="true" />
|
|
|
|
|
+ <el-table-column label="码率(kbps)" align="center" prop="codeRate" width="100" :show-overflow-tooltip="true" />
|
|
|
|
|
+ <el-table-column label="时长" align="center" prop="durationStr" width="100" :show-overflow-tooltip="true" />
|
|
|
|
|
+ <el-table-column label="预览" align="center" prop="screenshot" width="100">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
<div v-if="scope.row.type === 1">
|
|
<div v-if="scope.row.type === 1">
|
|
|
<!-- 图片类型 -->
|
|
<!-- 图片类型 -->
|
|
@@ -116,23 +116,23 @@
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="转码" align="center" prop="transState">
|
|
|
|
|
|
|
+ <el-table-column label="转码" align="center" prop="transState" width="100" :show-overflow-tooltip="true">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
<dict-tag :options="smsb_trans_result" :value="scope.row.transState" />
|
|
<dict-tag :options="smsb_trans_result" :value="scope.row.transState" />
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="分类" align="center" prop="tag">
|
|
|
|
|
|
|
+ <el-table-column label="分类" align="center" prop="tag" width="100" >
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
<dict-tag :options="smsb_source_classify" :value="scope.row.tag" />
|
|
<dict-tag :options="smsb_source_classify" :value="scope.row.tag" />
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="创建人" align="left" prop="createUser" />
|
|
|
|
|
- <el-table-column label="创建时间" align="left" prop="createTime" width="180">
|
|
|
|
|
|
|
+ <el-table-column label="创建人" align="left" prop="createUser" width="120" :show-overflow-tooltip="true"/>
|
|
|
|
|
+ <el-table-column label="创建时间" align="left" prop="createTime" width="160" :show-overflow-tooltip="true">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
|
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
|
|
|
|
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="120">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
<!-- <el-tooltip content="修改" placement="top">
|
|
<!-- <el-tooltip content="修改" placement="top">
|
|
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['source:minioData:edit']"></el-button>
|
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['source:minioData:edit']"></el-button>
|
|
@@ -258,13 +258,16 @@
|
|
|
|
|
|
|
|
<script setup name="MinioData" lang="ts">
|
|
<script setup name="MinioData" lang="ts">
|
|
|
import SmsbFileUploader from '@/components/SmsbFileUpload/SmsbFileUploader.vue';
|
|
import SmsbFileUploader from '@/components/SmsbFileUpload/SmsbFileUploader.vue';
|
|
|
-import { listMinioData, getMinioData, delMinioData, addMinioData, updateMinioData, fileStatistics } from '@/api/smsb/source/minioData';
|
|
|
|
|
-import { MinioDataVO, MinioDataQuery, MinioDataForm } from '@/api/smsb/source/minioData_type';
|
|
|
|
|
-import { listSourceTree } from '@/api/smsb/source/sourceTree';
|
|
|
|
|
-import { listMinioTransRecord } from '@/api/smsb/source/transRecord';
|
|
|
|
|
-import { MinioTransRecordQuery, MinioTransRecordVO } from '@/api/smsb/source/transRecord_type';
|
|
|
|
|
-import { ItemQuery, ItemVO } from '@/api/smsb/source/item_type';
|
|
|
|
|
-import { itemListByFileId } from '@/api/smsb/source/item';
|
|
|
|
|
|
|
+import {delMinioData, fileStatistics, getMinioData, listMinioData} from '@/api/smsb/source/minioData';
|
|
|
|
|
+import {MinioDataForm, MinioDataQuery, MinioDataVO} from '@/api/smsb/source/minioData_type';
|
|
|
|
|
+import {listSourceTree} from '@/api/smsb/source/sourceTree';
|
|
|
|
|
+import {listMinioTransRecord} from '@/api/smsb/source/transRecord';
|
|
|
|
|
+import {MinioTransRecordQuery, MinioTransRecordVO} from '@/api/smsb/source/transRecord_type';
|
|
|
|
|
+import {ItemQuery, ItemVO} from '@/api/smsb/source/item_type';
|
|
|
|
|
+import {itemListByFileId} from '@/api/smsb/source/item';
|
|
|
|
|
+/** 提交按钮 */
|
|
|
|
|
+// 通过ref访问SmsbFileUploader实例
|
|
|
|
|
+import {ref as vueRef} from 'vue';
|
|
|
|
|
|
|
|
type SourceTreeOption = {
|
|
type SourceTreeOption = {
|
|
|
id: number;
|
|
id: number;
|
|
@@ -272,8 +275,16 @@ type SourceTreeOption = {
|
|
|
children?: SourceTreeOption[];
|
|
children?: SourceTreeOption[];
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
|
|
|
-const { smsb_source_classify, smsb_source_type, smsb_trans_type, smsb_trans_progress, smsb_trans_result, smsb_item_type, smsb_split_screen } =
|
|
|
|
|
|
|
+const {proxy} = getCurrentInstance() as ComponentInternalInstance;
|
|
|
|
|
+const {
|
|
|
|
|
+ smsb_source_classify,
|
|
|
|
|
+ smsb_source_type,
|
|
|
|
|
+ smsb_trans_type,
|
|
|
|
|
+ smsb_trans_progress,
|
|
|
|
|
+ smsb_trans_result,
|
|
|
|
|
+ smsb_item_type,
|
|
|
|
|
+ smsb_split_screen
|
|
|
|
|
+} =
|
|
|
toRefs<any>(
|
|
toRefs<any>(
|
|
|
proxy?.useDict(
|
|
proxy?.useDict(
|
|
|
'smsb_source_classify',
|
|
'smsb_source_classify',
|
|
@@ -429,6 +440,7 @@ const handleQuery = () => {
|
|
|
|
|
|
|
|
/** 重置按钮操作 */
|
|
/** 重置按钮操作 */
|
|
|
const resetQuery = () => {
|
|
const resetQuery = () => {
|
|
|
|
|
+ dateRangeCreateTime.value = ['', ''];
|
|
|
queryFormRef.value?.resetFields();
|
|
queryFormRef.value?.resetFields();
|
|
|
handleQuery();
|
|
handleQuery();
|
|
|
};
|
|
};
|
|
@@ -471,9 +483,6 @@ const handleUse = async (row?: MinioDataVO) => {
|
|
|
getItemListByFileId();
|
|
getItemListByFileId();
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** 提交按钮 */
|
|
|
|
|
-// 通过ref访问SmsbFileUploader实例
|
|
|
|
|
-import { ref as vueRef } from 'vue';
|
|
|
|
|
const fileUploaderRef = vueRef();
|
|
const fileUploaderRef = vueRef();
|
|
|
|
|
|
|
|
const submitForm = () => {
|
|
const submitForm = () => {
|
|
@@ -529,7 +538,11 @@ const getFileStatistics = async () => {
|
|
|
videoNum.value = res.data.videoNum;
|
|
videoNum.value = res.data.videoNum;
|
|
|
otherNum.value = res.data.otherNum;
|
|
otherNum.value = res.data.otherNum;
|
|
|
};
|
|
};
|
|
|
-
|
|
|
|
|
|
|
+watch(() => dialog.visible, (newValue) => {
|
|
|
|
|
+ if (!newValue) {
|
|
|
|
|
+ getList();
|
|
|
|
|
+ }
|
|
|
|
|
+});
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
|
getList();
|
|
getList();
|
|
|
getTreeselect();
|
|
getTreeselect();
|