修改导出数据结果
This commit is contained in:
parent
3d6d4d7d7d
commit
d0e5969a71
@ -66,3 +66,19 @@ export function getByScenario(queryParams:any){
|
||||
params: queryParams
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// 导出全部结果
|
||||
export function exportAllExports(scenarioId:any,deviceId:any){
|
||||
let url = '/scenario-results/export/by-scenario?scenarioId='+scenarioId
|
||||
if(deviceId != null){
|
||||
url = '/scenario-results/export/by-scenario?scenarioId='+scenarioId + '&deviceId='+deviceId
|
||||
}
|
||||
return request({
|
||||
url: url ,
|
||||
method: 'get',
|
||||
responseType: 'arraybuffer'
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ export default {
|
||||
import { onMounted, ref, nextTick } from "vue";
|
||||
import { ElForm, ElMessage, ElMessageBox, selectEmits } from "element-plus";
|
||||
import Page from '@/components/Pagination/page.vue'
|
||||
import { getByScenario } from "@/api/business/scenario";
|
||||
import { getByScenario,exportAllExports } from "@/api/business/scenario";
|
||||
const apiUrl = import.meta.env.VITE_APP_BASE_API; // 基础路径
|
||||
const emit = defineEmits([ 'closeEditdevice']);
|
||||
|
||||
@ -72,15 +72,30 @@ onMounted(() => {
|
||||
getScenarioResults()
|
||||
|
||||
});
|
||||
function downloadFile(obj :any, name :any, suffix :any) {
|
||||
const url = window.URL.createObjectURL(new Blob([obj]))
|
||||
const link = document.createElement('a')
|
||||
link.style.display = 'none'
|
||||
link.href = url
|
||||
const fileName = name.trim() + '.' + suffix
|
||||
link.setAttribute('download', fileName)
|
||||
document.body.appendChild(link)
|
||||
link.click()
|
||||
document.body.removeChild(link)
|
||||
}
|
||||
|
||||
function exportExportsClick(){
|
||||
exportAllExports(props.scenarioId,props.deviceId).then((response:any) => {
|
||||
debugger
|
||||
downloadFile(response, '结果数据' , 'xlsx')
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="editdevice-box">
|
||||
<div style="margin-bottom: 10px;display: flex;justify-content: flex-end;">
|
||||
<a :href="apiUrl + '/scenario-results/export/by-scenario?scenarioId='+props.scenarioId+'&deviceId='+props.deviceId" target="_blank" rel="noopener noreferrer">
|
||||
<el-button type="primary">导出</el-button>
|
||||
</a>
|
||||
<el-button type="primary" @click="exportExportsClick">导出</el-button>
|
||||
</div>
|
||||
|
||||
<el-table :data="scenarioResultData" style="width: 100%; height: calc(100vh - 315px);margin-bottom: 10px;" border
|
||||
|
||||
@ -7,7 +7,7 @@ export default {
|
||||
<script setup lang="ts">
|
||||
import { onMounted, ref, nextTick } from "vue";
|
||||
import { ElForm, ElMessage, ElMessageBox } from "element-plus";
|
||||
import { searchScenariosLsit,addScenarios,updateScenarios,deleteScenarios,deleteBatchScenarios} from "@/api/business/scenario";
|
||||
import { searchScenariosLsit,addScenarios,updateScenarios,deleteScenarios,deleteBatchScenarios,exportAllExports} from "@/api/business/scenario";
|
||||
import { getActiveAlgorithms } from "@/api/business/scenario";
|
||||
import ConditionModel from '@/views/component/scenario/condition.vue'
|
||||
import { simRun,simulationRun } from "@/api/business/project";
|
||||
@ -424,6 +424,24 @@ function initDeviceData(){
|
||||
function changeSonAlgorithmType(){
|
||||
info.value.algorithmType = ""
|
||||
}
|
||||
|
||||
function downloadFile(obj :any, name :any, suffix :any) {
|
||||
const url = window.URL.createObjectURL(new Blob([obj]))
|
||||
const link = document.createElement('a')
|
||||
link.style.display = 'none'
|
||||
link.href = url
|
||||
const fileName = name.trim() + '.' + suffix
|
||||
link.setAttribute('download', fileName)
|
||||
document.body.appendChild(link)
|
||||
link.click()
|
||||
document.body.removeChild(link)
|
||||
}
|
||||
|
||||
function exportAllExportsClick(){
|
||||
exportAllExports(scenarioId.value,null).then((response:any) => {
|
||||
downloadFile(response, '全部设备结果数据' , 'xlsx')
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@ -542,29 +560,28 @@ function initDeviceData(){
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog v-model="isShowCondition" :close-on-click-modal="false"
|
||||
:modal="false" draggable :before-close="handleScenarioClose" :title="title"
|
||||
<el-dialog v-model="isShowCondition" :close-on-click-modal="false"
|
||||
:modal="false" draggable :before-close="handleScenarioClose" :title="title"
|
||||
append-to-body width="1000px">
|
||||
<ConditionModel v-if="isShowCondition" ref="conditionModelRef" :projectInfo="projectInfo" :scenarioId="scenarioId"
|
||||
:isEdit="isEdit"
|
||||
/>
|
||||
/>
|
||||
<div style="text-align: center;">
|
||||
<el-button @click="handleScenarioClose">取消</el-button>
|
||||
<el-button @click="handleScenarioClose">取消</el-button>
|
||||
<el-button type="primary" @click="submitConditionClick" v-if="title == '初始条件设置'">确定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
<el-dialog v-model="isShowResult" :close-on-click-modal="false"
|
||||
:modal="false" draggable :before-close="handleResultClose" :title="title"
|
||||
:modal="false" draggable :before-close="handleResultClose" :title="title"
|
||||
append-to-body width="calc(100% - 100px)" class="resultmodel-dialog-box">
|
||||
<div style="position: relative; display: flex; margin-bottom: 0px; border-bottom: 1px solid #e5e5e5;padding-bottom: 5px;padding-top: 10px;padding-left: 10px;">
|
||||
<div @click="changeShowResult(0)" class="adddevice_navigation_left" :class="{'adddevice_navigation_activeleft':isEchartsModel == 0}">图形化</div>
|
||||
<div @click="changeShowResult(1)" class="adddevice_navigation_right" :class="{'adddevice_navigation_activeright':isEchartsModel == 1}">列表</div>
|
||||
<div @click="changeShowResult(2)" class="adddevice_navigation_right" :class="{'adddevice_navigation_activeright':isEchartsModel == 2}">图形</div>
|
||||
<a :href="apiUrl + '/scenario-results/export/by-scenario?scenarioId='+scenarioId" target="_blank" rel="noopener noreferrer">
|
||||
<el-button v-if="isEchartsModel == 1" style="position: absolute;right: 50px;top: 5px;" type="primary">导出全部</el-button>
|
||||
</a>
|
||||
<el-button v-if="isEchartsModel == 1" style="position: absolute;right: 50px;top: 5px;" type="primary" @click="exportAllExportsClick">导出全部</el-button>
|
||||
|
||||
|
||||
</div>
|
||||
<Viewx6 v-if="isShowResult && isEchartsModel == 0 " :projectId="projectInfo.projectId"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user