绘制用户二级评估、参数字典维护页面

This commit is contained in:
GGJ
2025-03-31 20:53:59 +08:00
parent d29b9c819d
commit 3c84c41d35
10 changed files with 871 additions and 10 deletions

View File

@@ -0,0 +1,113 @@
<template>
<div class="mt10">
<TableHeader :showReset="false" ref="TableHeaderRef" showExport>
<template #select>
<el-form-item label="谐波原名称">
<el-input v-model="tableStore.table.params.searchValue" clearable placeholder="请输入关键字" />
</el-form-item>
</template>
<template #operation>
<el-button type="primary" icon="el-icon-Plus">新增</el-button>
<el-button type="primary" icon="el-icon-Delete">删除</el-button>
<el-button type="primary" icon="el-icon-Download">模版下载</el-button>
<el-button type="primary" icon="el-icon-Upload">导入</el-button>
</template>
</TableHeader>
<Table ref="tableRef"></Table>
</div>
</template>
<script setup lang="ts">
import TableStore from '@/utils/tableStore'
import TableHeader from '@/components/table/header/index.vue'
import Table from '@/components/table/index.vue'
import { mainHeight } from '@/utils/layout'
import { ref, reactive, onMounted } from 'vue'
const tableStore = new TableStore({
url: '/user-boot/dept/deptTree',
method: 'POST',
publicHeight: 115,
column: [
{
width: '60',
type: 'checkbox'
},
{
title: '序号',
width: 80,
field: 'name',
formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ title: '导线型号', field: 'userName', minWidth: '130' },
{ title: '线缆类型', field: 'harmonic2', minWidth: '80' },
{ title: '正序电阻R1(Ω/km)', field: 'harmonic3', minWidth: '80' },
{ title: '正序电抗X1(Ω/km)', field: 'harmonic4', minWidth: '80' },
{ title: '正序电纳Y(S/km)', field: 'harmonic5', minWidth: '80' },
{ title: '零序电阻R0(Ω/km)', field: 'harmonic6', minWidth: '80' },
{ title: '零序电纳Y0(Ω/km)', field: 'harmonic7', minWidth: '80' },
{
title: '操作',
minWidth: '180',
fixed: 'right',
render: 'buttons',
buttons: [
{
name: 'edit',
title: '编辑',
type: 'primary',
icon: 'el-icon-Open',
render: 'basicButton',
click: row => {}
},
{
name: 'edit',
title: '查看',
type: 'primary',
icon: 'el-icon-Open',
render: 'basicButton',
click: row => {}
}
]
}
],
loadCallback: () => {
setTimeout(() => {
tableStore.table.data = [
{
userName: 'LGJ-220-35kV',
harmonic2: '架空',
harmonic3: '0.33',
harmonic4: '2.42',
harmonic5: '2.42',
harmonic6: '1.25',
harmonic7: '2.42',
harmonic8: '1.25',
harmonic9: '2.42'
},
{
userName: 'LGJ-220-35kV',
harmonic2: '电缆',
harmonic3: '0.33',
harmonic4: '2.42',
harmonic5: '2.42',
harmonic6: '1.25',
harmonic7: '2.42',
harmonic8: '1.25',
harmonic9: '2.42'
},
]
}, 0)
}
})
provide('tableStore', tableStore)
tableStore.table.params.searchValue = ''
onMounted(() => {
tableStore.index()
})
</script>
<style lang="scss" scoped></style>

View File

@@ -0,0 +1,185 @@
<template>
<div class="mt10">
<TableHeader :showReset="false" ref="TableHeaderRef" showExport>
<template #select>
<el-form-item label="谐波原名称">
<el-input v-model="tableStore.table.params.searchValue" clearable placeholder="请输入关键字" />
</el-form-item>
</template>
<template #operation>
<el-button type="primary" icon="el-icon-Plus">新增</el-button>
<el-button type="primary" icon="el-icon-Delete">删除</el-button>
<el-button type="primary" icon="el-icon-Download">模版下载</el-button>
<el-button type="primary" icon="el-icon-Upload">导入</el-button>
</template>
</TableHeader>
<Table ref="tableRef"></Table>
</div>
</template>
<script setup lang="ts">
import TableStore from '@/utils/tableStore'
import TableHeader from '@/components/table/header/index.vue'
import Table from '@/components/table/index.vue'
import { mainHeight } from '@/utils/layout'
import { ref, reactive, onMounted } from 'vue'
const tableStore = new TableStore({
url: '/user-boot/dept/deptTree',
method: 'POST',
publicHeight: 115,
column: [
{
width: '60',
type: 'checkbox'
},
{
title: '序号',
width: 80,
field: 'name',
formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ title: '谐波原名称', field: 'userName', minWidth: '130' },
{ title: '谐波2次', field: 'harmonic2', minWidth: '80' },
{ title: '谐波3次', field: 'harmonic3', minWidth: '80' },
{ title: '谐波4次', field: 'harmonic4', minWidth: '80' },
{ title: '谐波5次', field: 'harmonic5', minWidth: '80' },
{ title: '谐波6次', field: 'harmonic6', minWidth: '80' },
{ title: '谐波7次', field: 'harmonic7', minWidth: '80' },
{ title: '谐波8次', field: 'harmonic8', minWidth: '80' },
{ title: '谐波9次', field: 'harmonic9', minWidth: '80' },
{ title: '谐波10次', field: 'harmonic10', minWidth: '80' },
{ title: '谐波11次', field: 'harmonic11', minWidth: '80' },
{ title: '谐波12次', field: 'harmonic12', minWidth: '80' },
{ title: '谐波13次', field: 'harmonic13', minWidth: '80' },
{ title: '谐波14次', field: 'harmonic14', minWidth: '80' },
{ title: '谐波15次', field: 'harmonic15', minWidth: '80' },
{ title: '谐波16次', field: 'harmonic16', minWidth: '80' },
{ title: '谐波17次', field: 'harmonic17', minWidth: '80' },
{ title: '谐波18次', field: 'harmonic18', minWidth: '80' },
{ title: '谐波19次', field: 'harmonic19', minWidth: '80' },
{ title: '谐波20次', field: 'harmonic20', minWidth: '80' },
{ title: '谐波21次', field: 'harmonic21', minWidth: '80' },
{ title: '谐波22次', field: 'harmonic22', minWidth: '80' },
{ title: '谐波23次', field: 'harmonic23', minWidth: '80' },
{ title: '谐波24次', field: 'harmonic24', minWidth: '80' },
{ title: '谐波25次', field: 'harmonic25', minWidth: '80' },
{ title: '谐波26次', field: 'harmonic26', minWidth: '80' },
{ title: '谐波27次', field: 'harmonic27', minWidth: '80' },
{ title: '谐波28次', field: 'harmonic28', minWidth: '80' },
{ title: '谐波29次', field: 'harmonic29', minWidth: '80' },
{ title: '谐波30次', field: 'harmonic30', minWidth: '80' },
{ title: '谐波31次', field: 'harmonic31', minWidth: '80' },
{ title: '谐波32次', field: 'harmonic32', minWidth: '80' },
{ title: '谐波33次', field: 'harmonic33', minWidth: '80' },
{ title: '谐波34次', field: 'harmonic34', minWidth: '80' },
{ title: '谐波35次', field: 'harmonic35', minWidth: '80' },
{ title: '谐波36次', field: 'harmonic36', minWidth: '80' },
{ title: '谐波37次', field: 'harmonic37', minWidth: '80' },
{ title: '谐波38次', field: 'harmonic38', minWidth: '80' },
{ title: '谐波39次', field: 'harmonic39', minWidth: '80' },
{ title: '谐波40次', field: 'harmonic40', minWidth: '80' },
{ title: '谐波41次', field: 'harmonic41', minWidth: '80' },
{ title: '谐波42次', field: 'harmonic42', minWidth: '80' },
{ title: '谐波43次', field: 'harmonic43', minWidth: '80' },
{ title: '谐波44次', field: 'harmonic44', minWidth: '80' },
{ title: '谐波45次', field: 'harmonic45', minWidth: '80' },
{ title: '谐波46次', field: 'harmonic46', minWidth: '80' },
{ title: '谐波47次', field: 'harmonic47', minWidth: '80' },
{ title: '谐波48次', field: 'harmonic48', minWidth: '80' },
{ title: '谐波49次', field: 'harmonic49', minWidth: '80' },
{ title: '谐波50次', field: 'harmonic50', minWidth: '80' },
{
title: '操作',
minWidth: '180',
fixed: 'right',
render: 'buttons',
buttons: [
{
name: 'edit',
title: '编辑',
type: 'primary',
icon: 'el-icon-Open',
render: 'basicButton',
click: row => {}
},
{
name: 'edit',
title: '查看',
type: 'primary',
icon: 'el-icon-Open',
render: 'basicButton',
click: row => {}
}
]
}
],
loadCallback: () => {
setTimeout(() => {
tableStore.table.data = [{
userName:'六脉整流',
harmonic2:'1.25',
harmonic3:'0.63',
harmonic4:'1.25',
harmonic5:'0.63',
harmonic6:'1.25',
harmonic7:'0.63',
harmonic8:'1.25',
harmonic9:'0.63',
harmonic10:'1.25',
harmonic11:'0.63',
harmonic12:'1.25',
harmonic13:'0.63',
harmonic14:'1.25',
harmonic15:'0.63',
harmonic16:'1.25',
harmonic17:'0.63',
harmonic18:'1.25',
harmonic19:'0.63',
harmonic20:'1.25',
harmonic21:'0.63',
harmonic22:'1.25',
harmonic23:'0.63',
harmonic24:'1.25',
harmonic25:'0.63',
harmonic26:'1.25',
harmonic27:'0.63',
harmonic28:'1.25',
harmonic29:'0.63',
harmonic30:'1.25',
harmonic31:'0.63',
harmonic32:'1.25',
harmonic33:'0.63',
harmonic34:'1.25',
harmonic35:'0.63',
harmonic36:'1.25',
harmonic37:'0.63',
harmonic38:'1.25',
harmonic39:'0.63',
harmonic40:'1.25',
harmonic41:'0.63',
harmonic42:'1.25',
harmonic43:'0.63',
harmonic44:'1.25',
harmonic45:'0.63',
harmonic46:'1.25',
harmonic47:'0.63',
harmonic48:'1.25',
harmonic49:'0.63',
harmonic50:'1.25',
}]
}, 0)
}
})
provide('tableStore', tableStore)
tableStore.table.params.searchValue = ''
onMounted(() => {
tableStore.index()
})
</script>
<style lang="scss" scoped></style>

View File

@@ -0,0 +1,100 @@
<template>
<div class="mt10">
<TableHeader :showReset="false" ref="TableHeaderRef" showExport>
<template #select>
<el-form-item label="谐波原名称">
<el-input v-model="tableStore.table.params.searchValue" clearable placeholder="请输入关键字" />
</el-form-item>
</template>
<template #operation>
<el-button type="primary" icon="el-icon-Plus">新增</el-button>
<el-button type="primary" icon="el-icon-Delete">删除</el-button>
<el-button type="primary" icon="el-icon-Download">模版下载</el-button>
<el-button type="primary" icon="el-icon-Upload">导入</el-button>
</template>
</TableHeader>
<Table ref="tableRef"></Table>
</div>
</template>
<script setup lang="ts">
import TableStore from '@/utils/tableStore'
import TableHeader from '@/components/table/header/index.vue'
import Table from '@/components/table/index.vue'
import { mainHeight } from '@/utils/layout'
import { ref, reactive, onMounted } from 'vue'
const tableStore = new TableStore({
url: '/user-boot/dept/deptTree',
method: 'POST',
publicHeight: 115,
column: [
{
width: '60',
type: 'checkbox'
},
{
title: '序号',
width: 80,
field: 'name',
formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ title: '符合类型', field: 'userName', minWidth: '130' },
{ title: '启动方式', field: 'harmonic2', minWidth: '80' },
{ title: '启动容量倍数', field: 'harmonic3', minWidth: '80' },
{
title: '操作',
minWidth: '180',
fixed: 'right',
render: 'buttons',
buttons: [
{
name: 'edit',
title: '编辑',
type: 'primary',
icon: 'el-icon-Open',
render: 'basicButton',
click: row => {}
},
{
name: 'edit',
title: '查看',
type: 'primary',
icon: 'el-icon-Open',
render: 'basicButton',
click: row => {}
}
]
}
],
loadCallback: () => {
setTimeout(() => {
tableStore.table.data = [
{
userName: '电机',
harmonic2: '直接启动',
harmonic3: '4',
},
{
userName: '电机',
harmonic2: '软启动',
harmonic3: '3',
}
]
}, 0)
}
})
provide('tableStore', tableStore)
tableStore.table.params.searchValue = ''
onMounted(() => {
tableStore.index()
})
</script>
<style lang="scss" scoped></style>

View File

@@ -0,0 +1,114 @@
<template>
<div class="mt10">
<TableHeader :showReset="false" ref="TableHeaderRef" showExport>
<template #select>
<el-form-item label="谐波原名称">
<el-input v-model="tableStore.table.params.searchValue" clearable placeholder="请输入关键字" />
</el-form-item>
</template>
<template #operation>
<el-button type="primary" icon="el-icon-Plus">新增</el-button>
<el-button type="primary" icon="el-icon-Delete">删除</el-button>
<el-button type="primary" icon="el-icon-Download">模版下载</el-button>
<el-button type="primary" icon="el-icon-Upload">导入</el-button>
</template>
</TableHeader>
<Table ref="tableRef"></Table>
</div>
</template>
<script setup lang="ts">
import TableStore from '@/utils/tableStore'
import TableHeader from '@/components/table/header/index.vue'
import Table from '@/components/table/index.vue'
import { mainHeight } from '@/utils/layout'
import { ref, reactive, onMounted } from 'vue'
const tableStore = new TableStore({
url: '/user-boot/dept/deptTree',
method: 'POST',
publicHeight: 115,
column: [
{
width: '60',
type: 'checkbox'
},
{
title: '序号',
width: 80,
field: 'name',
formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ title: '型号', field: 'userName', minWidth: '130' },
{ title: '额定容量(kVA)', field: 'harmonic2', minWidth: '80' },
{ title: '高压制额定电压(kV)', field: 'harmonic3', minWidth: '80' },
{ title: '低压侧额定电压(kV)', field: 'harmonic4', minWidth: '80' },
{ title: '联结组标号', field: 'harmonic5', minWidth: '80' },
{ title: '空载损耗(kW)', field: 'harmonic6', minWidth: '80' },
{ title: '空载电流(A)', field: 'harmonic7', minWidth: '80' },
{ title: '短路阻抗(%)', field: 'harmonic8', minWidth: '80' },
{
title: '操作',
minWidth: '180',
fixed: 'right',
render: 'buttons',
buttons: [
{
name: 'edit',
title: '编辑',
type: 'primary',
icon: 'el-icon-Open',
render: 'basicButton',
click: row => {}
},
{
name: 'edit',
title: '查看',
type: 'primary',
icon: 'el-icon-Open',
render: 'basicButton',
click: row => {}
}
]
}
],
loadCallback: () => {
setTimeout(() => {
tableStore.table.data = [
{
userName: 'LGJ-220-35kV',
harmonic2: '架空',
harmonic3: '0.33',
harmonic4: '2.42',
harmonic5: '2.42',
harmonic6: '1.25',
harmonic7: '2.42',
harmonic8: '1.25',
harmonic9: '2.42'
},
{
userName: 'LGJ-220-35kV',
harmonic2: '电缆',
harmonic3: '0.33',
harmonic4: '2.42',
harmonic5: '2.42',
harmonic6: '1.25',
harmonic7: '2.42',
harmonic8: '1.25',
harmonic9: '2.42'
},
]
}, 0)
}
})
provide('tableStore', tableStore)
tableStore.table.params.searchValue = ''
onMounted(() => {
tableStore.index()
})
</script>
<style lang="scss" scoped></style>

View File

@@ -0,0 +1,24 @@
<template>
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane label="谐波源特性" name="1"><HarmonicWave v-if="activeName == '1'" /></el-tab-pane>
<el-tab-pane label="线缆类型" name="2"><cable v-if="activeName == '2'" /></el-tab-pane>
<el-tab-pane label="变压器参数" name="3"><transformer v-if="activeName == '3'" /></el-tab-pane>
<el-tab-pane label="冲击负荷参数" name="4"><load v-if="activeName == '4'" /></el-tab-pane>
</el-tabs>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import type { TabsPaneContext } from 'element-plus'
import HarmonicWave from './components/harmonicWave.vue'
import cable from './components/cable.vue'
import transformer from './components/transformer.vue'
import load from './components/load.vue'
const activeName = ref('1')
const handleClick = (tab: TabsPaneContext, event: Event) => {
console.log(tab, event)
}
</script>
<style></style>