修改导出数据结果
This commit is contained in:
parent
3d6d4d7d7d
commit
d0e5969a71
@ -66,3 +66,19 @@ export function getByScenario(queryParams:any){
|
|||||||
params: queryParams
|
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 { onMounted, ref, nextTick } from "vue";
|
||||||
import { ElForm, ElMessage, ElMessageBox, selectEmits } from "element-plus";
|
import { ElForm, ElMessage, ElMessageBox, selectEmits } from "element-plus";
|
||||||
import Page from '@/components/Pagination/page.vue'
|
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 apiUrl = import.meta.env.VITE_APP_BASE_API; // 基础路径
|
||||||
const emit = defineEmits([ 'closeEditdevice']);
|
const emit = defineEmits([ 'closeEditdevice']);
|
||||||
|
|
||||||
@ -72,15 +72,30 @@ onMounted(() => {
|
|||||||
getScenarioResults()
|
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>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="editdevice-box">
|
<div class="editdevice-box">
|
||||||
<div style="margin-bottom: 10px;display: flex;justify-content: flex-end;">
|
<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" @click="exportExportsClick">导出</el-button>
|
||||||
<el-button type="primary">导出</el-button>
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-table :data="scenarioResultData" style="width: 100%; height: calc(100vh - 315px);margin-bottom: 10px;" border
|
<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">
|
<script setup lang="ts">
|
||||||
import { onMounted, ref, nextTick } from "vue";
|
import { onMounted, ref, nextTick } from "vue";
|
||||||
import { ElForm, ElMessage, ElMessageBox } from "element-plus";
|
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 { getActiveAlgorithms } from "@/api/business/scenario";
|
||||||
import ConditionModel from '@/views/component/scenario/condition.vue'
|
import ConditionModel from '@/views/component/scenario/condition.vue'
|
||||||
import { simRun,simulationRun } from "@/api/business/project";
|
import { simRun,simulationRun } from "@/api/business/project";
|
||||||
@ -424,6 +424,24 @@ function initDeviceData(){
|
|||||||
function changeSonAlgorithmType(){
|
function changeSonAlgorithmType(){
|
||||||
info.value.algorithmType = ""
|
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>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@ -542,29 +560,28 @@ function initDeviceData(){
|
|||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<el-dialog v-model="isShowCondition" :close-on-click-modal="false"
|
<el-dialog v-model="isShowCondition" :close-on-click-modal="false"
|
||||||
:modal="false" draggable :before-close="handleScenarioClose" :title="title"
|
:modal="false" draggable :before-close="handleScenarioClose" :title="title"
|
||||||
append-to-body width="1000px">
|
append-to-body width="1000px">
|
||||||
<ConditionModel v-if="isShowCondition" ref="conditionModelRef" :projectInfo="projectInfo" :scenarioId="scenarioId"
|
<ConditionModel v-if="isShowCondition" ref="conditionModelRef" :projectInfo="projectInfo" :scenarioId="scenarioId"
|
||||||
:isEdit="isEdit"
|
:isEdit="isEdit"
|
||||||
/>
|
/>
|
||||||
<div style="text-align: center;">
|
<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>
|
<el-button type="primary" @click="submitConditionClick" v-if="title == '初始条件设置'">确定</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
|
||||||
<el-dialog v-model="isShowResult" :close-on-click-modal="false"
|
<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">
|
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 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(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(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>
|
<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" @click="exportAllExportsClick">导出全部</el-button>
|
||||||
<el-button v-if="isEchartsModel == 1" style="position: absolute;right: 50px;top: 5px;" type="primary">导出全部</el-button>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<Viewx6 v-if="isShowResult && isEchartsModel == 0 " :projectId="projectInfo.projectId"
|
<Viewx6 v-if="isShowResult && isEchartsModel == 0 " :projectId="projectInfo.projectId"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user