suerprisePlus
2024-07-01 f76b96c26b878840ecc80b79d1e28e477d5573e6
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)