绘制技术监督页面 联调承载能力评估
This commit is contained in:
@@ -27,18 +27,11 @@
|
||||
|
||||
<div v-loading="loading">
|
||||
<el-descriptions class="mb10" title="基础数据" :column="2" size="" border>
|
||||
<el-descriptions-item label="电压等级" label-align="center" width="25%">
|
||||
12
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="额定容量" label-align="center" width="25%">
|
||||
12
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="待评估用户" label-align="center" width="25%">
|
||||
<el-select
|
||||
v-model="user"
|
||||
placeholder="请选择待评估用户"
|
||||
size="small"
|
||||
clearable
|
||||
filterable
|
||||
style="width: 240px"
|
||||
value-key="id"
|
||||
@@ -55,24 +48,25 @@
|
||||
<el-descriptions-item label="拟接入光伏容量(MVA)" label-align="center" width="25%">
|
||||
{{ userData?.protocolCapacity }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="电压等级" label-align="center" width="25%">
|
||||
{{ voltageLevelArr.filter(item => item.id === userData?.voltage)[0]?.name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="额定容量(MVA)" label-align="center" width="25%">
|
||||
{{ lineList?.standardCapacity }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-tabs v-model="activeName" class="mb10" :style="`height: calc(${tabsHeight} / 2 + 100px)`">
|
||||
<el-tab-pane label="有功功率" name="1" class="mt10">
|
||||
<MyEChart v-if="activeName == '1'" :options="options1" />
|
||||
<MyEChart :options="options1" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="无功功率" name="2">
|
||||
<MyEChart v-if="activeName == '2'" :options="options2" />
|
||||
<MyEChart :options="options2" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="谐波电流幅值" name="3">
|
||||
<MyEChart v-if="activeName == '3'" :options="options3" />
|
||||
<MyEChart :options="options3" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="首端电压模型参数" name="4">
|
||||
<vxe-table
|
||||
v-if="activeName == '4'"
|
||||
height="auto"
|
||||
v-bind="defaultAttribute"
|
||||
:data="voltageList"
|
||||
>
|
||||
<vxe-table height="auto" v-bind="defaultAttribute" :data="voltageList">
|
||||
<vxe-column field="name" title="项别模型参数"></vxe-column>
|
||||
<vxe-column field="c" title="C"></vxe-column>
|
||||
<vxe-column field="a" title="a"></vxe-column>
|
||||
@@ -82,7 +76,7 @@
|
||||
</el-tabs>
|
||||
<div class="bottomBox">
|
||||
<el-row v-if="showAssess">
|
||||
<el-col :span="16" :style="`height: calc(${tabsHeight} / 2 - 105px)`">
|
||||
<el-col :span="16" :style="`height: calc(${tabsHeight} / 2 - 107px)`">
|
||||
<vxe-table
|
||||
style="flex: 1.5"
|
||||
v-bind="defaultAttribute"
|
||||
@@ -124,7 +118,7 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-button type="primary" icon="el-icon-Document" @click="assess" v-show="!loading">
|
||||
<el-button type="primary" icon="el-icon-Document" @click="assess" v-show="showBtn">
|
||||
承载能力评估
|
||||
</el-button>
|
||||
</div>
|
||||
@@ -153,7 +147,8 @@ import {
|
||||
queryCarryCapacityQData,
|
||||
queryCarryCapacityIData,
|
||||
carryCapacityCal,
|
||||
getExcelTemplate
|
||||
getExcelTemplate,
|
||||
getLineDetailData
|
||||
} from '@/api/advance-boot/bearingCapacity'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
const monitoringPoint = useMonitoringPoint()
|
||||
@@ -163,6 +158,7 @@ const dictData = useDictData()
|
||||
const datePickerRef = ref()
|
||||
const height = mainHeight(80).height
|
||||
const tabsHeight = mainHeight(260).height
|
||||
const voltageLevelArr = dictData.getBasicData('Dev_Voltage_Stand')
|
||||
const tableData = ref([
|
||||
{
|
||||
name: '配变首端电压',
|
||||
@@ -195,9 +191,12 @@ const tableData = ref([
|
||||
])
|
||||
const voltageList: any = ref([])
|
||||
const showAssess = ref(false)
|
||||
const loading = ref(false)
|
||||
const showBtn = ref(false)
|
||||
const flag = ref(true)
|
||||
const loading = ref(true)
|
||||
const user = ref('')
|
||||
const userList: any = ref([])
|
||||
const lineList: any = ref([])
|
||||
const options1 = ref({})
|
||||
const options2 = ref({})
|
||||
const options3 = ref({})
|
||||
@@ -233,34 +232,33 @@ const info = () => {
|
||||
])[0]?.id
|
||||
}).then(res => {
|
||||
userList.value = res.data.records
|
||||
user.value = userList.value[0] || {}
|
||||
userData.value = res.data.records[0] || {}
|
||||
})
|
||||
setTimeout(() => {
|
||||
onSubmit()
|
||||
}, 100)
|
||||
}
|
||||
|
||||
// 查询
|
||||
const onSubmit = async () => {
|
||||
if (dotList.value.level != 6) {
|
||||
return ElMessage.error('请选择线路')
|
||||
return ElMessage.warning('请选择线路')
|
||||
}
|
||||
loading.value = true
|
||||
let data: any = []
|
||||
|
||||
let form = {
|
||||
// endTime: datePickerRef.value.timeValue[1],
|
||||
// lineId: dotList.value.id,
|
||||
// startTime: datePickerRef.value.timeValue[0],
|
||||
lineId: '086c7774e30839d30fdfb0544bf776de',
|
||||
startTime: '2024-02-05',
|
||||
endTime: '2024-02-11',
|
||||
endTime: datePickerRef.value.timeValue[1],
|
||||
lineId: dotList.value.id,
|
||||
startTime: datePickerRef.value.timeValue[0],
|
||||
userId: dictData.state.area[0].id
|
||||
}
|
||||
|
||||
Promise.all([queryCarryCapacityData(form), queryCarryCapacityQData(form), queryCarryCapacityIData(form)]).then(
|
||||
res => {
|
||||
options1.value = {}
|
||||
options2.value = {}
|
||||
options3.value = {}
|
||||
voltageList.value = []
|
||||
showBtn.value = false
|
||||
Promise.all([queryCarryCapacityData(form), queryCarryCapacityQData(form), queryCarryCapacityIData(form)])
|
||||
.then(res => {
|
||||
// 有功功率
|
||||
voltageList.value = []
|
||||
|
||||
stringMap.value = res[0].data.stringMap
|
||||
p_βminMap.value = res[0].data.p_βminMap
|
||||
q_βminMap.value = res[1].data.q_βminMap
|
||||
@@ -276,10 +274,12 @@ const onSubmit = async () => {
|
||||
setEChart(1, res[0].data.data)
|
||||
setEChart(2, res[1].data.data)
|
||||
setEChart(3, res[2].data.data)
|
||||
|
||||
showBtn.value = true
|
||||
loading.value = false
|
||||
}
|
||||
)
|
||||
})
|
||||
.catch(err => {
|
||||
loading.value = false
|
||||
})
|
||||
}
|
||||
// 用户变化
|
||||
const userChange = e => {
|
||||
@@ -348,6 +348,9 @@ const setEChart = (val: any, data: any) => {
|
||||
|
||||
// 承载能力评估
|
||||
const assess = () => {
|
||||
if (dotList.value.level != 6) {
|
||||
return ElMessage.warning('请选择线路')
|
||||
}
|
||||
let ChartsList = [
|
||||
{
|
||||
name: '安全',
|
||||
@@ -371,17 +374,17 @@ const assess = () => {
|
||||
}
|
||||
]
|
||||
carryCapacityCal({
|
||||
startTime: '2024-02-05', //修改
|
||||
endTime: '2024-02-11', //修改
|
||||
endTime: datePickerRef.value.timeValue[1],
|
||||
lineId: dotList.value.id,
|
||||
startTime: datePickerRef.value.timeValue[0],
|
||||
userId: userData.value.userId, //dictData.state.area[0].id,
|
||||
i_βmax: i_βmax.value,
|
||||
lineId: '086c7774e30839d30fdfb0544bf776de', //修改
|
||||
p_βminMap: p_βminMap.value,
|
||||
q_βminMap: q_βminMap.value,
|
||||
s_T: 200, //修改
|
||||
s_pv: 200, //修改
|
||||
scale: '220', //修改
|
||||
stringMap: stringMap.value,
|
||||
userId: '49d45dc6390690874b5df064deec56c7'
|
||||
s_T: lineList.value.standardCapacity,
|
||||
s_pv: userData.value.protocolCapacity,
|
||||
scale: userData.value.voltage,
|
||||
stringMap: stringMap.value
|
||||
}).then(res => {
|
||||
tableData.value[0][`level` + res.data.utlevel] = 1
|
||||
tableData.value[1][`level` + res.data.pfTLevel] = 1
|
||||
@@ -434,7 +437,7 @@ const assess = () => {
|
||||
const exportTemplate = () => {
|
||||
getExcelTemplate().then(res => {
|
||||
let blob = new Blob([res], {
|
||||
type: "application/vnd.ms-excel;charset=UTF-8",
|
||||
type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
||||
})
|
||||
|
||||
const url = window.URL.createObjectURL(blob)
|
||||
@@ -450,7 +453,7 @@ const exportTemplate = () => {
|
||||
// 离线导入
|
||||
const choose = (e: any) => {
|
||||
if (dotList.value.level != 6) {
|
||||
return ElMessage.error('请选择线路')
|
||||
return ElMessage.warning('请选择线路')
|
||||
}
|
||||
let form = {
|
||||
endTime: datePickerRef.value.timeValue[1],
|
||||
@@ -463,8 +466,18 @@ const choose = (e: any) => {
|
||||
})
|
||||
}
|
||||
const handleNodeClick = (data: any, node: any) => {
|
||||
console.log('🚀 ~ handleNodeClick ~ data:', data)
|
||||
lineList.value = {}
|
||||
dotList.value = data
|
||||
|
||||
if (data.level == 6) {
|
||||
getLineDetailData({ id: data.id }).then((res: any) => {
|
||||
lineList.value = res.data
|
||||
})
|
||||
}
|
||||
if (flag.value) {
|
||||
onSubmit()
|
||||
flag.value = false
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
||||
Reference in New Issue
Block a user