From 853454a102cbfca55b1f1e145c5a40b4febac079 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Tue, 10 Feb 2026 14:59:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/common/api.ts | 4 + .../jeecg/components/JUpload/JUploadMP3.vue | 601 +++++++++++++++++ .../jeecg/components/JUpload/JUploadMP4.vue | 626 ++++++++++++++++++ .../NuResourcesManagement.data.ts | 4 +- .../NuResourcesManagementList.vue | 71 ++ .../components/NuResourcesManagementForm.vue | 6 +- 6 files changed, 1308 insertions(+), 4 deletions(-) create mode 100644 src/components/Form/src/jeecg/components/JUpload/JUploadMP3.vue create mode 100644 src/components/Form/src/jeecg/components/JUpload/JUploadMP4.vue diff --git a/src/api/common/api.ts b/src/api/common/api.ts index d5d9637..e3f536f 100644 --- a/src/api/common/api.ts +++ b/src/api/common/api.ts @@ -18,6 +18,7 @@ enum Api { getNuList = '/iot/tplink/cameraInfo/nuList', //后期调整 getOrgInfo = '/api/common/getOrgInfo',//根据机构编码获取机构信息 queryUpBizPrefix = '/api/sysUtils/queryUpBizPrefix', + uploadPre = '/sys/common/upload/pre', } /** @@ -28,6 +29,9 @@ export const getNuList = (params) => { return defHttp.get({ url: Api.getNuList, params }); }; +export const uploadPre = (params) => { + return defHttp.post({ url: Api.uploadPre, params }, { isTransformResponse: false }); +}; /** * 上传父路径 */ diff --git a/src/components/Form/src/jeecg/components/JUpload/JUploadMP3.vue b/src/components/Form/src/jeecg/components/JUpload/JUploadMP3.vue new file mode 100644 index 0000000..891f31b --- /dev/null +++ b/src/components/Form/src/jeecg/components/JUpload/JUploadMP3.vue @@ -0,0 +1,601 @@ + + + + + diff --git a/src/components/Form/src/jeecg/components/JUpload/JUploadMP4.vue b/src/components/Form/src/jeecg/components/JUpload/JUploadMP4.vue new file mode 100644 index 0000000..6e69742 --- /dev/null +++ b/src/components/Form/src/jeecg/components/JUpload/JUploadMP4.vue @@ -0,0 +1,626 @@ + + + + + diff --git a/src/views/resourcesManagement/NuResourcesManagement.data.ts b/src/views/resourcesManagement/NuResourcesManagement.data.ts index 1b2b085..8de205b 100644 --- a/src/views/resourcesManagement/NuResourcesManagement.data.ts +++ b/src/views/resourcesManagement/NuResourcesManagement.data.ts @@ -24,13 +24,13 @@ export const columns: BasicColumn[] = [ title: '附件', align: "center", dataIndex: 'filePath', - customRender: render.renderImage, + // customRender: render.renderImage, }, { title: '选中图片', align: "center", dataIndex: 'checkPicPath', - customRender: render.renderImage, + // customRender: render.renderImage, }, { title: '备注', diff --git a/src/views/resourcesManagement/NuResourcesManagementList.vue b/src/views/resourcesManagement/NuResourcesManagementList.vue index c393b23..707d4a2 100644 --- a/src/views/resourcesManagement/NuResourcesManagementList.vue +++ b/src/views/resourcesManagement/NuResourcesManagementList.vue @@ -44,8 +44,43 @@ + + + + + + + + + + @@ -62,6 +97,7 @@ import { useUserStore } from '/@/store/modules/user'; import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; import JSelectMultiple from '/@/components/Form/src/jeecg/components/JSelectMultiple.vue'; + import { getFileAccessHttpUrl } from '/@/utils/common/compUtils'; const formRef = ref(); const queryParam = reactive({}); @@ -109,6 +145,41 @@ // 高级查询配置 const superQueryConfig = reactive(superQuerySchema); +const showVideoModal = ref(false); // 控制模态框显示 +const videoUrl = ref(''); // 视频 URL +const videoPlayer = ref(null); +const openVideoModal = (url) => { + videoUrl.value = url; + showVideoModal.value = true; +}; +// 关闭视频模态框 +const closeVideoModal = () => { + if (videoPlayer.value) { + videoPlayer.value.pause(); // 暂停视频播放 + videoPlayer.value.currentTime = 0; // 可选:将播放进度重置到开始 + } + showVideoModal.value = false; + videoUrl.value = ''; +}; + +const showAudioModal = ref(false); // 控制音频模态框显示 +const audioUrl = ref(''); // 音频 URL +const audioPlayer = ref(null); + +// 打开音频模态框 +const openAudioModal = (url) => { + audioUrl.value = url; + showAudioModal.value = true; +}; +// 关闭音频模态框 +const closeAudioModal = () => { + if (audioPlayer.value) { + audioPlayer.value.pause(); // 暂停音频播放 + audioPlayer.value.currentTime = 0; // 可选:重置播放进度 + } + showAudioModal.value = false; + audioUrl.value = ''; +}; /** * 高级查询事件 */ diff --git a/src/views/resourcesManagement/components/NuResourcesManagementForm.vue b/src/views/resourcesManagement/components/NuResourcesManagementForm.vue index 3cc594f..c043018 100644 --- a/src/views/resourcesManagement/components/NuResourcesManagementForm.vue +++ b/src/views/resourcesManagement/components/NuResourcesManagementForm.vue @@ -31,12 +31,12 @@ - + - + @@ -63,6 +63,8 @@ import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; import JImageUpload from '/@/components/Form/src/jeecg/components/JImageUpload.vue'; import JUpload from '/@/components/Form/src/jeecg/components/JUpload/JUpload.vue'; +import JUploadMp3 from '/@/components/Form/src/jeecg/components/JUpload/JUploadMp3.vue'; +import JUploadMp4 from '/@/components/Form/src/jeecg/components/JUpload/JUploadMp4.vue'; import { getValueType } from '/@/utils'; import { saveOrUpdate } from '../NuResourcesManagement.api'; import { Form } from 'ant-design-vue';