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