From f76b96c26b878840ecc80b79d1e28e477d5573e6 Mon Sep 17 00:00:00 2001 From: suerprisePlus <15810472099@163.com> Date: 星期一, 01 七月 2024 18:10:25 +0800 Subject: [PATCH] 模型发布管理 添加 --- src/views/iot/modelLibrary/index.vue | 61 +++++++++++++++++++++++++++--- 1 files changed, 54 insertions(+), 7 deletions(-) diff --git a/src/views/iot/modelLibrary/index.vue b/src/views/iot/modelLibrary/index.vue index c657efc..a8e4aec 100644 --- a/src/views/iot/modelLibrary/index.vue +++ b/src/views/iot/modelLibrary/index.vue @@ -43,7 +43,8 @@ v-hasPermi="['iot:modelLibrary:add']">淇敼</el-button> --> <!-- <el-button size="small" type="danger" style="padding: 5px" icon="el-icon-delete" v-hasPermi="['iot:modelLibrary:remove']">鍒犻櫎</el-button> --> - <el-button size="small" @click="setModelLibraryExport(scope.row)" type="warning" style="padding: 5px" icon="el-icon-download" + <el-button size="small" @click="setModelLibraryExport(scope.row)" type="warning" + style="padding: 5px" icon="el-icon-download" v-hasPermi="['iot:modelLibrary:export']">涓嬭浇</el-button> <!-- <el-button size="small" type="success" style="padding: 5px" icon="el-icon-monitor">棰勮</el-button> --> @@ -91,6 +92,8 @@ <el-button>鍙� 娑�</el-button> </div> </el-dialog> + <iframe id="downFrame" ref="myIfream" src="" + style="display: none; border: 0; padding: 0; height: 0; width: 0"></iframe> </div> </template> @@ -103,9 +106,15 @@ modelSelectMappers, modelInsertFiles, modelDeleteMetas, - modelDownloadFile + modelDownloadFile, + modelDownloadetaReq, } from '@/api/iot/modelLibrary'; +import { saveAs } from 'file-saver' import configTools from '../../../assets/js/configTools'; +import { getToken } from "@/utils/auth"; +import $ from 'jquery' +import axios from 'axios'; +import request from '@/utils/request'; export default { name: 'modelLibirary', dicts: ['iot_model_library_type'], @@ -149,7 +158,8 @@ type: [{ required: true, message: '璇烽�夋嫨妯″瀷绫诲埆', trigger: 'change' }], path: [{ required: true, message: '璇烽�夋嫨闇�瑕佷笂浼犵殑妯″瀷鏂囦欢', trigger: 'change' }], }, - multipleSelection: [] + multipleSelection: [], + headers: { Authorization: "Bearer " + getToken() }, }; }, created() { @@ -225,10 +235,43 @@ } }) }, - setModelLibraryExport(row){ - modelDownloadFile({guid:row.guid}).then((response)=>{ - - }) + setModelLibraryExport(row) { + modelDownloadetaReq({ ids: [row.id] }).then((response) => { + if (response.code == 200) { + this.setModelDownloadFile(response.msg) + } else { + this.$message(response.msg); + } + }) + }, + setModelDownloadFile(res) { + const url = process.env.VUE_APP_BASE_API + "model/downloadFile?&guid=" + res + axios.get(url, { + headers: { + "Authorization": "Bearer " + getToken(), + "Content-Type": "application/x-www-form-urlencoded", + }, + responseType: "blob", + }).then(response => { + if (!response.headers) return + var elink = document.createElement('a'); + // 浣跨敤鍚庣鎻愪緵鐨勬枃浠跺悕 鍛藉悕 + const fileName = response.headers['content-disposition'].split("''")[1]; + console.log(fileName); + elink.style.display = 'none'; + // 鏂囦欢涓嬭浇鍦板潃璧嬪�� + elink.href = window.URL.createObjectURL(response.data); + let str = fileName; + if (fileName.indexOf("UTF-8''") > -1) { + str = fileName.replace("UTF-8''", '') + } + elink.download = str; + elink.click(); + this.$message({ + message: '鏂囦欢瀵煎嚭鎴愬姛', + type: 'success' + }); + }) }, // 娣诲姞涓夌淮妯″瀷 setModelLibraryAdd() { @@ -241,8 +284,12 @@ this.title = ''; this.setFromRest(); document.getElementById('fileInput').value = ""; + this.selectMappers = null; }, setSsubmitForm(formName) { + if (!this.selectMappers) { + this.$message('涓夌淮妯″瀷鏈笂浼犳棤娉曟柊澧�'); + } this.$refs[formName].validate((valid) => { if (valid) { this.setModelInsertFiles(this.selectMappers) -- Gitblit v1.9.3