联调承载能力评估

This commit is contained in:
GGJ
2024-04-02 16:43:18 +08:00
parent fe60893e89
commit 60462b0086
24 changed files with 674 additions and 422 deletions

View File

@@ -9,36 +9,29 @@
></PointTree>
</pane>
<pane style="background: #fff" :style="height">
<TableHeader ref="TableHeaderRef" datePicker>
<TableHeader ref="TableHeaderRef" datePicker :show-search="false">
<template v-slot:select>
<el-form-item label="模板策略">
<el-select v-model="Template" @change="changetype" placeholder="请选择模版" value-key="id">
<el-option
v-for="item in templatePolicy"
:key="item.id"
:label="item.name"
:value="item"
></el-option>
</el-select>
<el-input v-model="tableStore.table.params.crmName" placeholder="请输入客户名称" />
</el-form-item>
<el-form-item label="报表类型:">
<el-select
:disabled="true"
v-model="reportForm"
:popper-append-to-body="false"
placeholder="请选择报表类型"
>
<el-option
v-for="item in reportFormList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
<el-input v-model="tableStore.table.params.reportNumber" placeholder="请输入报告编号" />
</el-form-item>
</template>
<template #operation>
<el-button icon="el-icon-Download" type="primary" @click="exportEvent">导出excel</el-button>
<el-upload
:show-file-list="false"
ref="uploadRef"
action=""
:limit="1"
:on-change="choose"
:auto-upload="false"
>
<template #trigger>
<el-button icon="el-icon-Upload" type="primary" class="mr10">上传接线图</el-button>
</template>
</el-upload>
<el-button icon="el-icon-Download" type="primary" @click="exportEvent">生成</el-button>
</template>
</TableHeader>
<div class="box">
@@ -63,8 +56,8 @@ import PointTree from '@/components/tree/pqs/pointTree.vue'
import TableHeader from '@/components/table/header/index.vue'
import { useDictData } from '@/stores/dictData'
import { mainHeight } from '@/utils/layout'
import { getTemplateByDept } from '@/api/harmonic-boot/luckyexcel'
import { exportModel } from '@/api/process-boot/reportForms'
import { genFileId, ElMessage } from 'element-plus'
defineOptions({
name: 'harmonic-boot/xieboReport'
})
@@ -74,12 +67,10 @@ const dictData = useDictData()
const TableHeaderRef = ref()
const dotList: any = ref({})
const Template: any = ref({})
const reportForm: any = ref('')
const templatePolicy: any = ref([])
const uploadList: any = ref([])
const tableStore = new TableStore({
url: '/harmonic-boot/customReport/getCustomReport',
url: '',
method: 'POST',
column: [],
beforeSearchFun: () => {},
@@ -93,23 +84,46 @@ onMounted(() => {
size.value = Math.round((180 / dom.offsetHeight) * 100)
}
})
getTemplateByDept({ id: dictData.state.area[0].id }).then((res: any) => {
templatePolicy.value = res.data
Template.value = res.data[0]
reportForm.value = res.data[0]?.reportForm
})
const changetype = (val: any) => {
reportForm.value = val.reportForm
}
const handleNodeClick = (data: any, node: any) => {
if (data.level == 6) {
dotList.value = data
tableStore.index()
}
dotList.value = data
}
// 上传
const choose = (files: any) => {
uploadList.value - files
}
// 生成
const exportEvent = () => {
if (dotList.value.level != 6) {
return ElMessage.warning('请选择监测点进行报告生成!')
}
ElMessage('生成报告中...')
let form = new FormData()
form.append('lineIndex', dotList.value.id)
form.append('name', dotList.value.name)
form.append('crmName', tableStore.table.params.crmName)
form.append('reportNumber', tableStore.table.params.reportNumber)
form.append('type', '0')
form.append('startTime', tableStore.table.params.startTime)
form.append('endTime', tableStore.table.params.endTime)
dotList.value.forEach(item => {
form.append('file', item)
})
const exportEvent = () => {}
exportModel(form).then((res: any) => {
let blob = new Blob([res], {
type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=UTF-8'
})
// createObjectURL(blob); //创建下载的链接
const url = window.URL.createObjectURL(blob)
const link = document.createElement('a') // 创建a标签
link.href = url
link.download = dotList.value.name // 设置下载的文件名
document.body.appendChild(link)
link.click() //执行下载
document.body.removeChild(link)
})
}
</script>
<style lang="scss">
.splitpanes.default-theme .splitpanes__pane {