全局修改国网字段

This commit is contained in:
GGJ
2024-11-21 08:56:04 +08:00
parent e53a3dd8dd
commit 5b0e94cf68
15 changed files with 1375 additions and 2278 deletions

View File

@@ -13,4 +13,11 @@ export function getSteadyQualifyCensus(data:any) {
method: "post", method: "post",
data: data, data: data,
}); });
}
export function IntegrityIcon(data:any) {
return createAxios({
url: "/device-boot/LineIntegrityData/getIntegrityIcon",
method: "post",
data: data,
});
} }

View File

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB

View File

@@ -46,254 +46,7 @@ const treeRef = ref()
const loadData = () => { const loadData = () => {
let nodeKey = '' let nodeKey = ''
// tree.value = [
// {
// id: '5699e5916a18a6381e1ac92da5bd2628',
// name: '国家电网公司',
// pid: '0',
// sort: 201,
// code: '123456789',
// specialType: null,
// area: '0',
// areaName: '中国',
// state: 1,
// type: 0,
// remark: '国家电网公司',
// children: [
// {
// id: '0d52f9f6e43ec0ee83013cd32da93f66',
// name: '国网河北电力有限公司',
// pid: '5699e5916a18a6381e1ac92da5bd2628',
// sort: 200,
// code: '13B9B47F1E483324E05338297A0A0595',
// specialType: null,
// area: '130000000000',
// areaName: '河北',
// state: 1,
// type: 1,
// remark: '国网河北省电力公司',
// children: [
// {
// id: '3c9e6eea884a3ab5c891122f13715e4b',
// name: '国网石家庄供电公司',
// pid: '0d52f9f6e43ec0ee83013cd32da93f66',
// sort: 0,
// code: '13B9B47F1F223324E05338297A0A0595',
// specialType: null,
// area: '130100000000',
// areaName: '石家庄',
// state: 1,
// type: 1,
// remark: '国网石家庄供电公司',
// children: [
// {
// id: '8590eba00eb6ab38ef2d06805602e0ce',
// name: '国网石家庄供电公司本部',
// pid: '3c9e6eea884a3ab5c891122f13715e4b',
// sort: 80,
// code: '13B9B47F1F773324E05338297A0A0595',
// specialType: 1,
// area: '0',
// areaName: '中国',
// state: 1,
// type: 1,
// remark: '',
// children: []
// }
// ]
// },
// {
// id: '17439407bfee299b7e38f2e54a8f6d28',
// name: '国网沧州供电公司',
// pid: '0d52f9f6e43ec0ee83013cd32da93f66',
// sort: 1,
// code: '13B9B47F2C183324E05338297A0A0595',
// specialType: null,
// area: '130900000000',
// areaName: '沧州',
// state: 1,
// type: 1,
// remark: '国网沧州供电公司',
// children: [
// {
// id: 'c8efb47ecb20fbf342eba4665f45f2f6',
// name: '国网沧州供电公司本部',
// pid: '17439407bfee299b7e38f2e54a8f6d28',
// sort: 34,
// code: '13B9B47F2C803324E05338297A0A0595',
// specialType: 1,
// area: '0',
// areaName: '中国',
// state: 1,
// type: 1,
// remark: '',
// children: []
// }
// ]
// },
// {
// id: '15737b8ed8cb70602163c41918bde12d',
// name: '国网邢台供电公司',
// pid: '0d52f9f6e43ec0ee83013cd32da93f66',
// sort: 2,
// code: '13B9B47F25A73324E05338297A0A0595',
// specialType: null,
// area: '130500000000',
// areaName: '邢台',
// state: 1,
// type: 1,
// remark: '国网邢台供电公司',
// children: [
// {
// id: '694288d464a23da82e42727f3d8fd432',
// name: '国网邢台供电公司本部',
// pid: '15737b8ed8cb70602163c41918bde12d',
// sort: 7,
// code: '13B9B47F27F63324E05338297A0A0595',
// specialType: 1,
// area: '0',
// areaName: '中国',
// state: 1,
// type: 1,
// remark: '',
// children: []
// }
// ]
// },
// {
// id: '193980db73494188de052479c4e37d46',
// name: '国网保定供电公司',
// pid: '0d52f9f6e43ec0ee83013cd32da93f66',
// sort: 3,
// code: '13B9B47F2EEB3324E05338297A0A0595',
// specialType: null,
// area: '130600000000',
// areaName: '保定',
// state: 1,
// type: 1,
// remark: '国网保定供电公司',
// children: [
// {
// id: '2d1904c1187f751e4387e3351839dc6d',
// name: '国网保定供电公司本部',
// pid: '193980db73494188de052479c4e37d46',
// sort: 42,
// code: '13B9B47F2F173324E05338297A0A0595',
// specialType: 1,
// area: '0',
// areaName: '中国',
// state: 1,
// type: 1,
// remark: '',
// children: []
// }
// ]
// },
// {
// id: '2adc64baf2308725c4e91105b3186b21',
// name: '国网衡水供电公司',
// pid: '0d52f9f6e43ec0ee83013cd32da93f66',
// sort: 4,
// code: '13B9B47F23B83324E05338297A0A0595',
// specialType: null,
// area: '131100000000',
// areaName: '衡水',
// state: 1,
// type: 1,
// remark: '国网衡水供电公司',
// children: [
// {
// id: 'd3d4b1c41c6115ec9aff0362f5c41930',
// name: '国网衡水供电公司本部',
// pid: '2adc64baf2308725c4e91105b3186b21',
// sort: 65,
// code: '13B9B47F251C3324E05338297A0A0595',
// specialType: 1,
// area: '0',
// areaName: '中国',
// state: 1,
// type: 1,
// remark: '',
// children: []
// }
// ]
// },
// {
// id: 'dda5d903c9ad44979d3d50e9c83cf564',
// name: '国网邯郸供电公司',
// pid: '0d52f9f6e43ec0ee83013cd32da93f66',
// sort: 5,
// code: '13B9B47F28CA3324E05338297A0A0595',
// specialType: null,
// area: '130400000000',
// areaName: '邯郸',
// state: 1,
// type: 1,
// remark: '国网邯郸供电公司',
// children: [
// {
// id: '33e1b89c5963a73f355713f85ad3b3c4',
// name: '国网邯郸供电公司本部',
// pid: 'dda5d903c9ad44979d3d50e9c83cf564',
// sort: 97,
// code: '13B9B47F2BAE3324E05338297A0A0595',
// specialType: 1,
// area: '0',
// areaName: '中国',
// state: 1,
// type: 1,
// remark: '',
// children: []
// }
// ]
// },
// {
// id: 'a3069759b0b6072c99cf9a7af6c162e9',
// name: '国网河北超高压公司',
// pid: '0d52f9f6e43ec0ee83013cd32da93f66',
// sort: 9,
// code: '13B9B47F1E4F3324E05338297A0A0595',
// specialType: 1,
// area: '130000000000',
// areaName: '河北',
// state: 1,
// type: 1,
// remark: '河北超高压公司',
// children: [
// {
// id: 'd3de780cba5813b0c089a6fe1ecdae25',
// name: '国网河北超高压公司本部',
// pid: 'a3069759b0b6072c99cf9a7af6c162e9',
// sort: 0,
// code: '13B9B47F1E813324E05338297A0A0595',
// specialType: 1,
// area: '130000000000',
// areaName: '河北',
// state: 1,
// type: 1,
// remark: '',
// children: []
// }
// ]
// }
// ]
// }
// ]
// }
// ]
// existMonitorDeptTree().then(res => {
// console.log(res)
// // nodeKey = res.data[0].children[0].children[0].children[0].children[0].children[0].id
// // emit('init', res.data[0].children[0].children[0].children[0].children[0].children[0])
// tree.value = res.data
// if (nodeKey) {
// nextTick(() => {
// treeRef.value.treeRef.setCurrentKey(nodeKey)
// // treeRef.value.treeRef.setExpandedKeys(nodeKey)
// })
// }
// })
} }
const tactics = (deptId, grade) => { const tactics = (deptId, grade) => {
emit('tactics', deptId, grade) emit('tactics', deptId, grade)

View File

@@ -4,6 +4,67 @@
<el-scrollbar class="layout-mode-style-scrollbar"> <el-scrollbar class="layout-mode-style-scrollbar">
<el-form ref="formRef" :model="configStore.layout"> <el-form ref="formRef" :model="configStore.layout">
<div class="layout-mode-styles-box"> <div class="layout-mode-styles-box">
<el-divider border-style="dashed">布局方式</el-divider>
<div class="layout-mode-box-style">
<el-row class="layout-mode-box-style-row" :gutter="10">
<el-col :span="12">
<div
@click="setLayoutMode('Default')"
class="layout-mode-style default"
:class="configStore.layout.layoutMode == 'Default' ? 'active' : ''"
>
<div class="layout-mode-style-box">
<div class="layout-mode-style-aside"></div>
<div class="layout-mode-style-container-box">
<div class="layout-mode-style-header"></div>
<div class="layout-mode-style-container"></div>
</div>
</div>
<div class="layout-mode-style-name">默认</div>
</div>
</el-col>
<el-col :span="12">
<div
@click="setLayoutMode('Classic')"
class="layout-mode-style classic"
:class="configStore.layout.layoutMode == 'Classic' ? 'active' : ''"
>
<div class="layout-mode-style-box">
<div class="layout-mode-style-aside"></div>
<div class="layout-mode-style-container-box">
<div class="layout-mode-style-header"></div>
<div class="layout-mode-style-container"></div>
</div>
</div>
<div class="layout-mode-style-name">经典</div>
</div>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<div
@click="setLayoutMode('Streamline')"
class="layout-mode-style streamline"
:class="configStore.layout.layoutMode == 'Streamline' ? 'active' : ''"
>
<div class="layout-mode-style-box">
<div class="layout-mode-style-container-box">
<div class="layout-mode-style-header"></div>
<div class="layout-mode-style-container"></div>
</div>
</div>
<div class="layout-mode-style-name">单栏</div>
</div>
</el-col>
</el-row>
</div>
<el-divider border-style="dashed">全局</el-divider> <el-divider border-style="dashed">全局</el-divider>
<div class="layout-config-global"> <div class="layout-config-global">
<el-form-item label="后台页面切换动画"> <el-form-item label="后台页面切换动画">

View File

@@ -4,12 +4,8 @@
<Logo /> <Logo />
</div> </div>
<el-scrollbar ref="horizontalMenusRef" class="horizontal-menus-scrollbar"> <el-scrollbar ref="horizontalMenusRef" class="horizontal-menus-scrollbar">
<el-menu <el-menu class="menu-horizontal" mode="horizontal" :default-active="state.defaultActive"
class="menu-horizontal" :key="state.menuKey">
mode="horizontal"
:default-active="state.defaultActive"
:key="state.menuKey"
>
<MenuTree :extends="{ position: 'horizontal', level: 1 }" :menus="menus" /> <MenuTree :extends="{ position: 'horizontal', level: 1 }" :menus="menus" />
</el-menu> </el-menu>
</el-scrollbar> </el-scrollbar>
@@ -77,15 +73,21 @@ onBeforeRouteUpdate(to => {
background-color: var(--ba-bg-color-overlay); background-color: var(--ba-bg-color-overlay);
border-bottom: solid 1px var(--el-color-info-light-8); border-bottom: solid 1px var(--el-color-info-light-8);
} }
.menu-horizontal-logo { .menu-horizontal-logo {
background-color: var(--el-color-primary);
width: 180px; width: 180px;
&:hover { &:hover {
background-color: v-bind('config.getColorVal("headerBarHoverBackground")'); background-color: v-bind('config.getColorVal("headerBarHoverBackground")');
} }
} }
.horizontal-menus-scrollbar { .horizontal-menus-scrollbar {
height: 60px;
flex: 1; flex: 1;
} }
.menu-horizontal { .menu-horizontal {
border: none; border: none;
--el-menu-bg-color: v-bind('config.getColorVal("menuBackground")'); --el-menu-bg-color: v-bind('config.getColorVal("menuBackground")');
@@ -102,9 +104,11 @@ onBeforeRouteUpdate(to => {
text-align: center; text-align: center;
flex-shrink: 0; flex-shrink: 0;
} }
.is-active .icon { .is-active .icon {
color: var(--el-menu-active-color) !important; color: var(--el-menu-active-color) !important;
} }
.el-menu-item.is-active { .el-menu-item.is-active {
background-color: v-bind('config.getColorVal("menuActiveBackground")'); background-color: v-bind('config.getColorVal("menuActiveBackground")');
} }

View File

@@ -39,14 +39,14 @@
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>
</el-dropdown> </el-dropdown>
<!-- <div @click="configStore.setLayout('showDrawer', true)" class="nav-menu-item"> <div @click="configStore.setLayout('showDrawer', true)" class="nav-menu-item">
<Icon <Icon
:color="configStore.getColorVal('headerBarTabColor')" :color="configStore.getColorVal('headerBarTabColor')"
class="nav-menu-icon" class="nav-menu-icon"
name="fa fa-cogs" name="fa fa-cogs"
size="18" size="18"
/> />
</div> --> </div>
<Config /> <Config />
<PopupPwd ref="popupPwd" /> <PopupPwd ref="popupPwd" />
<AdminInfo ref="popupAdminInfo" /> <AdminInfo ref="popupAdminInfo" />
@@ -131,9 +131,10 @@ const handleCommand = (key: string) => {
} }
.nav-menus { .nav-menus {
height: 60px;
display: flex; display: flex;
align-items: center; align-items: center;
height: 100%; // height: 100%;
margin-left: auto; margin-left: auto;
background-color: v-bind('configStore.getColorVal("headerBarBackground")'); background-color: v-bind('configStore.getColorVal("headerBarBackground")');

View File

@@ -12,7 +12,7 @@ export const useConfig = defineStore(
// 是否收缩布局(小屏终端) // 是否收缩布局(小屏终端)
shrink: false, shrink: false,
// 后台布局方式,可选值<Default|Classic|Streamline|Double> // 后台布局方式,可选值<Default|Classic|Streamline|Double>
layoutMode: 'Classic', layoutMode: 'Streamline',
// 后台主页面切换动画,可选值<slide-right|slide-left|el-fade-in-linear|el-fade-in|el-zoom-in-center|el-zoom-in-top|el-zoom-in-bottom> // 后台主页面切换动画,可选值<slide-right|slide-left|el-fade-in-linear|el-fade-in|el-zoom-in-center|el-zoom-in-top|el-zoom-in-bottom>
mainAnimation: 'slide-right', mainAnimation: 'slide-right',
// 是否暗黑模式 // 是否暗黑模式

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -13,10 +13,8 @@
<div v-for="(item, i) in list" class="cardBox" :style="i == 1 ? 'flex:1.3' : ''"> <div v-for="(item, i) in list" class="cardBox" :style="i == 1 ? 'flex:1.3' : ''">
<div class="card"> <div class="card">
<span style="cursor: pointer" @click="GridDiagram(i)">{{ item.title }}</span> <span style="cursor: pointer" @click="GridDiagram(i)">{{ item.title }}</span>
<span <span :style="`color: ${item.color[0]}; cursor:pointer`"
:style="`color: ${item.color[0]}; cursor:pointer`" @click="LookMap(item.list[4].numOneList, item.list[4].numTwoList, 0)">
@click="LookMap(item.list[4].numOneList, item.list[4].numTwoList, 0)"
>
{{ item.list[4].numOne }} {{ item.list[4].numOne }}
</span> </span>
</div> </div>
@@ -25,10 +23,8 @@
<!-- 监测规模 列表 --> <!-- 监测规模 列表 -->
<div> <div>
<div class="vcl mt5"> <div class="vcl mt5">
<p <p v-for="(item, i) in vList"
v-for="(item, i) in vList" :style="i == 0 ? 'width: 60px' : i == 5 ? 'width: 32px' : 'flex:1'">
:style="i == 0 ? 'width: 60px' : i == 5 ? 'width: 32px' : 'flex:1'"
>
{{ item }} {{ item }}
</p> </p>
</div> </div>
@@ -75,11 +71,8 @@
<img src="@/assets/img/TJ.png" /> <img src="@/assets/img/TJ.png" />
{{ item.title }} {{ item.title }}
</div> </div>
<div <div class="card-Box" :style="`height:calc((${boxHeight.height} - 50px )/ 3);`"
class="card-Box" v-for="val in item.children">
:style="`height:calc((${boxHeight.height} - 50px )/ 3);`"
v-for="val in item.children"
>
<div> <div>
<span class="line"></span> <span class="line"></span>
<span class="vol">{{ val.title }}</span> <span class="vol">{{ val.title }}</span>
@@ -136,12 +129,8 @@
</div> </div>
</div> </div>
<img <img class="imgL" :style="show ? 'transform: rotate(0deg);' : 'transform: rotate(180deg);'"
class="imgL" @click="show = !show" src="@/assets/img/QH.png" />
:style="show ? 'transform: rotate(0deg);' : 'transform: rotate(180deg);'"
@click="show = !show"
src="@/assets/img/QH.png"
/>
<!-- 变电站详情 --> <!-- 变电站详情 -->
<stand ref="standRef" /> <stand ref="standRef" />
@@ -299,7 +288,7 @@ const countList: any = ref([
] ]
}, },
{ {
title: '上送网', title: '上送网公司',
children: [{ title: '电网侧监测点', num: 0, onLineNum: 0, integrityRate: 0 }] children: [{ title: '电网侧监测点', num: 0, onLineNum: 0, integrityRate: 0 }]
} }
]) ])
@@ -318,7 +307,7 @@ const linList: any = ref([
title: ['电能质量指标', '未超标', '超标'] title: ['电能质量指标', '未超标', '超标']
} }
]) ])
const vList = ['', '500kV', '220kV', '110kV', '35kV', ] const vList = ['', '500kV', '220kV', '110kV', '35kV',]
const formRow: any = ref({}) const formRow: any = ref({})
const height = mainHeight(30) const height = mainHeight(30)
const boxHeight = mainHeight(290, 2) const boxHeight = mainHeight(290, 2)
@@ -403,7 +392,7 @@ const LookMap = (coutList: object, alarmList: object, key?: any) => {
const GridDiagram = (k: any) => { const GridDiagram = (k: any) => {
emit('GridDiagram', k, 3) emit('GridDiagram', k, 3)
} }
onMounted(() => {}) onMounted(() => { })
defineExpose({ info, show }) defineExpose({ info, show })
</script> </script>
@@ -430,40 +419,48 @@ defineExpose({ info, show })
flex: 1; flex: 1;
align-items: center; align-items: center;
font-size: 16px; font-size: 16px;
span:nth-child(2) { span:nth-child(2) {
font-weight: 550; font-weight: 550;
} }
} }
} }
.vcl { .vcl {
display: flex; display: flex;
border-bottom: 2px solid #fff; border-bottom: 2px solid #fff;
background-color: #edededc0; background-color: #edededc0;
border-radius: 5px; border-radius: 5px;
font-size: 14px; font-size: 14px;
p { p {
text-align: center; text-align: center;
margin: 6px; margin: 6px;
line-height: 30px; line-height: 30px;
} }
.numOne { .numOne {
flex: 1; flex: 1;
font-weight: 550; font-weight: 550;
cursor: pointer; cursor: pointer;
} }
&:nth-child(1) { &:nth-child(1) {
background-color: #fff; background-color: #fff;
} }
&:nth-child(2) { &:nth-child(2) {
.numOne { .numOne {
color: #00bff5; color: #00bff5;
} }
} }
&:nth-child(3) { &:nth-child(3) {
.numOne { .numOne {
color: #008000; color: #008000;
} }
} }
&:nth-child(4) { &:nth-child(4) {
.numOne { .numOne {
color: #0000ff; color: #0000ff;
@@ -482,9 +479,11 @@ defineExpose({ info, show })
font-weight: 550; font-weight: 550;
display: flex; display: flex;
align-items: center; align-items: center;
span:nth-child(1) { span:nth-child(1) {
cursor: pointer; cursor: pointer;
} }
.info { .info {
font-weight: normal; font-weight: normal;
display: flex; display: flex;
@@ -492,6 +491,7 @@ defineExpose({ info, show })
cursor: pointer; cursor: pointer;
color: #757575; color: #757575;
} }
img { img {
height: 1.2rem; height: 1.2rem;
width: 1.2rem; width: 1.2rem;
@@ -512,6 +512,7 @@ defineExpose({ info, show })
border-radius: 10px; border-radius: 10px;
min-height: 60px; min-height: 60px;
max-height: 120px; max-height: 120px;
.line { .line {
display: inline-block; display: inline-block;
width: 0.5rem; width: 0.5rem;
@@ -521,6 +522,7 @@ defineExpose({ info, show })
margin-right: 5px; margin-right: 5px;
margin-bottom: 2px; margin-bottom: 2px;
} }
.num { .num {
margin-left: 10px; margin-left: 10px;
display: grid; display: grid;
@@ -535,10 +537,12 @@ defineExpose({ info, show })
} }
} }
} }
.BoxA { .BoxA {
display: grid; display: grid;
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr; grid-template-rows: 1fr 1fr;
// grid-template-rows: 80px; // grid-template-rows: 80px;
.num { .num {
margin-left: 10px; margin-left: 10px;
@@ -562,23 +566,29 @@ defineExpose({ info, show })
.show { .show {
width: 0px; width: 0px;
transition: all 0.3s ease; transition: all 0.3s ease;
.boxLeft { .boxLeft {
padding: 0; padding: 0;
} }
} }
.noshow { .noshow {
width: 25%; width: 25%;
transition: all 0.3s ease; transition: all 0.3s ease;
.boxLeft { .boxLeft {
padding: 10px 10px 10px 10px; padding: 10px 10px 10px 10px;
} }
} }
:deep(.el-card) { :deep(.el-card) {
--el-card-padding: 10px !important; --el-card-padding: 10px !important;
} }
:deep(.el-table thead) { :deep(.el-table thead) {
color: #000; color: #000;
} }
:deep(.el-dialog__body) { :deep(.el-dialog__body) {
max-height: none !important; max-height: none !important;
} }

View File

@@ -13,10 +13,8 @@
<div v-for="(item, i) in list" class="cardBox" :style="i == 1 ? 'flex:1.3' : ''"> <div v-for="(item, i) in list" class="cardBox" :style="i == 1 ? 'flex:1.3' : ''">
<div class="card"> <div class="card">
<span style="cursor: pointer" @click="GridDiagram(i)">{{ item.title }}</span> <span style="cursor: pointer" @click="GridDiagram(i)">{{ item.title }}</span>
<span <span :style="`color: ${item.color[0]}; cursor:pointer`"
:style="`color: ${item.color[0]}; cursor:pointer`" @click="LookMap(item.list[4].numOneList, item.list[4].numTwoList, 0)">
@click="LookMap(item.list[4].numOneList, item.list[4].numTwoList, 0)"
>
{{ item.list[4].numOne }} {{ item.list[4].numOne }}
</span> </span>
</div> </div>
@@ -25,10 +23,8 @@
<!-- 监测规模 列表 --> <!-- 监测规模 列表 -->
<div> <div>
<div class="vcl mt5"> <div class="vcl mt5">
<p <p v-for="(item, i) in vList"
v-for="(item, i) in vList" :style="i == 0 ? 'width: 60px' : i == 5 ? 'width: 32px' : 'flex:1'">
:style="i == 0 ? 'width: 60px' : i == 5 ? 'width: 32px' : 'flex:1'"
>
{{ item }} {{ item }}
</p> </p>
</div> </div>
@@ -52,10 +48,8 @@
<p class="numOne" @click="LookMap(item.list[3].numOneList, item.list[3].numTwoList, 0)"> <p class="numOne" @click="LookMap(item.list[3].numOneList, item.list[3].numTwoList, 0)">
{{ item.list[3].numOne }} {{ item.list[3].numOne }}
</p> </p>
<p <p style="font-size: 12px; width: 32px; cursor: pointer; color: var(--el-color-primary)"
style="font-size: 12px; width: 32px; cursor: pointer; color: var(--el-color-primary)" @click.stop="open(i)">
@click.stop="open(i)"
>
详情 详情
</p> </p>
</div> </div>
@@ -75,11 +69,8 @@
<img src="@/assets/img/TJ.png" /> <img src="@/assets/img/TJ.png" />
{{ item.title }} {{ item.title }}
</div> </div>
<div <div class="card-Box" :style="`height:calc((${boxHeight.height} - 50px )/ 3);`"
class="card-Box" v-for="val in item.children">
:style="`height:calc((${boxHeight.height} - 50px )/ 3);`"
v-for="val in item.children"
>
<div> <div>
<span class="line"></span> <span class="line"></span>
<span class="vol">{{ val.title }}</span> <span class="vol">{{ val.title }}</span>
@@ -136,12 +127,8 @@
</div> </div>
</div> </div>
<img <img class="imgL" :style="show ? 'transform: rotate(0deg);' : 'transform: rotate(180deg);'"
class="imgL" @click="show = !show" src="@/assets/img/QH.png" />
:style="show ? 'transform: rotate(0deg);' : 'transform: rotate(180deg);'"
@click="show = !show"
src="@/assets/img/QH.png"
/>
<div class="legeng"> <div class="legeng">
<div v-for="item in legengList"> <div v-for="item in legengList">
<span :style="`background-color: ${item.color};`"></span> <span :style="`background-color: ${item.color};`"></span>
@@ -305,7 +292,7 @@ const countList: any = ref([
] ]
}, },
{ {
title: '上送网', title: '上送网公司',
children: [{ title: '电网侧监测点', num: 0, onLineNum: 0, integrityRate: 0 }] children: [{ title: '电网侧监测点', num: 0, onLineNum: 0, integrityRate: 0 }]
} }
]) ])
@@ -431,7 +418,7 @@ const LookMap = (coutList: object, alarmList: object, key?: any) => {
const GridDiagram = (k: any) => { const GridDiagram = (k: any) => {
emit('GridDiagram', k) emit('GridDiagram', k)
} }
onMounted(() => {}) onMounted(() => { })
defineExpose({ info, show }) defineExpose({ info, show })
</script> </script>
@@ -458,40 +445,48 @@ defineExpose({ info, show })
flex: 1; flex: 1;
align-items: center; align-items: center;
font-size: 16px; font-size: 16px;
span:nth-child(2) { span:nth-child(2) {
font-weight: 550; font-weight: 550;
} }
} }
} }
.vcl { .vcl {
display: flex; display: flex;
border-bottom: 2px solid #fff; border-bottom: 2px solid #fff;
background-color: #edededc0; background-color: #edededc0;
border-radius: 5px; border-radius: 5px;
font-size: 14px; font-size: 14px;
p { p {
text-align: center; text-align: center;
margin: 6px; margin: 6px;
line-height: 30px; line-height: 30px;
} }
.numOne { .numOne {
flex: 1; flex: 1;
font-weight: 550; font-weight: 550;
cursor: pointer; cursor: pointer;
} }
&:nth-child(1) { &:nth-child(1) {
background-color: #fff; background-color: #fff;
} }
&:nth-child(2) { &:nth-child(2) {
.numOne { .numOne {
color: #00bff5; color: #00bff5;
} }
} }
&:nth-child(3) { &:nth-child(3) {
.numOne { .numOne {
color: #008000; color: #008000;
} }
} }
&:nth-child(4) { &:nth-child(4) {
.numOne { .numOne {
color: #0000ff; color: #0000ff;
@@ -510,9 +505,11 @@ defineExpose({ info, show })
font-weight: 550; font-weight: 550;
display: flex; display: flex;
align-items: center; align-items: center;
span:nth-child(1) { span:nth-child(1) {
cursor: pointer; cursor: pointer;
} }
.info { .info {
font-weight: normal; font-weight: normal;
display: flex; display: flex;
@@ -520,6 +517,7 @@ defineExpose({ info, show })
cursor: pointer; cursor: pointer;
color: #757575; color: #757575;
} }
img { img {
height: 1.2rem; height: 1.2rem;
width: 1.2rem; width: 1.2rem;
@@ -540,6 +538,7 @@ defineExpose({ info, show })
border-radius: 10px; border-radius: 10px;
min-height: 60px; min-height: 60px;
max-height: 120px; max-height: 120px;
.line { .line {
display: inline-block; display: inline-block;
width: 0.5rem; width: 0.5rem;
@@ -549,6 +548,7 @@ defineExpose({ info, show })
margin-right: 5px; margin-right: 5px;
margin-bottom: 2px; margin-bottom: 2px;
} }
.num { .num {
margin-left: 10px; margin-left: 10px;
display: grid; display: grid;
@@ -563,10 +563,12 @@ defineExpose({ info, show })
} }
} }
} }
.BoxA { .BoxA {
display: grid; display: grid;
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr; grid-template-rows: 1fr 1fr;
// grid-template-rows: 80px; // grid-template-rows: 80px;
.num { .num {
margin-left: 10px; margin-left: 10px;
@@ -590,26 +592,33 @@ defineExpose({ info, show })
.show { .show {
width: 0px; width: 0px;
transition: all 0.3s ease; transition: all 0.3s ease;
.boxLeft { .boxLeft {
padding: 0; padding: 0;
} }
} }
.noshow { .noshow {
width: 25%; width: 25%;
transition: all 0.3s ease; transition: all 0.3s ease;
.boxLeft { .boxLeft {
padding: 10px 10px 10px 10px; padding: 10px 10px 10px 10px;
} }
} }
:deep(.el-card) { :deep(.el-card) {
--el-card-padding: 10px !important; --el-card-padding: 10px !important;
} }
:deep(.el-table thead) { :deep(.el-table thead) {
color: #000; color: #000;
} }
:deep(.el-dialog__body) { :deep(.el-dialog__body) {
max-height: none !important; max-height: none !important;
} }
.legeng { .legeng {
position: absolute; position: absolute;
padding: 5px; padding: 5px;
@@ -623,10 +632,12 @@ defineExpose({ info, show })
display: grid; display: grid;
line-height: 22px; line-height: 22px;
grid-template-rows: auto; grid-template-rows: auto;
div { div {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
span:nth-child(1) { span:nth-child(1) {
display: inline-block; display: inline-block;
height: 10px; height: 10px;

View File

@@ -7,7 +7,7 @@
.Icon { .Icon {
width: 30px; width: 30px;
height: 30px; height: 30px;
background-image: url('@/assets/icons/网.svg'); background-image: url('@/assets/icons/网公司.svg');
} }
.el-input__icon { .el-input__icon {
font-size: 20px; font-size: 20px;

View File

@@ -4,13 +4,8 @@
<DatePicker ref="datePickerRef" style="display: none" theCurrentTime /> <DatePicker ref="datePickerRef" style="display: none" theCurrentTime />
<el-form :inline="true" :model="form" class="demo-form-inline"> <el-form :inline="true" :model="form" class="demo-form-inline">
<el-form-item> <el-form-item>
<Area <Area ref="areaRef" :show-all-levels="false" v-model="form.orgNo" style="width: 100px"
ref="areaRef" @changeValue="changeValue" />
:show-all-levels="false"
v-model="form.orgNo"
style="width: 100px"
@changeValue="changeValue"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-select v-model="form.isUpToGrid" style="width: 100px" @change="info"> <el-select v-model="form.isUpToGrid" style="width: 100px" @change="info">
@@ -26,14 +21,8 @@
</div> </div>
<!-- 地图 --> <!-- 地图 -->
<Map <Map v-if="VITE_FLAG" ref="mapRef" @changeValue="changeValue" :lineInfo="lineInfo" @drop="drop"
v-if="VITE_FLAG" @show="infoShow" />
ref="mapRef"
@changeValue="changeValue"
:lineInfo="lineInfo"
@drop="drop"
@show="infoShow"
/>
<div v-show="lineInfo"> <div v-show="lineInfo">
<!-- 省级 --> <!-- 省级 -->
<div v-show="control == 1"> <div v-show="control == 1">
@@ -89,7 +78,7 @@ const options: any = ref([
id: 0 id: 0
}, },
{ {
name: '上送网', name: '上送网公司',
id: 1 id: 1
} }
]) ])
@@ -221,6 +210,7 @@ onMounted(() => {
left: calc(50% + 45px); left: calc(50% + 45px);
z-index: 1; z-index: 1;
.el-select { .el-select {
min-width: 100px; min-width: 100px;
@@ -229,6 +219,7 @@ onMounted(() => {
border-radius: 8px; border-radius: 8px;
} }
} }
.Icon { .Icon {
height: 46px; height: 46px;
width: 46px; width: 46px;
@@ -237,24 +228,29 @@ onMounted(() => {
text-align: center; text-align: center;
line-height: 50px; line-height: 50px;
cursor: pointer; cursor: pointer;
.fa-refresh { .fa-refresh {
color: var(--el-color-primary) !important; color: var(--el-color-primary) !important;
} }
} }
.el-input__wrapper { .el-input__wrapper {
height: 46px; height: 46px;
border-radius: 8px; border-radius: 8px;
} }
.el-form-item { .el-form-item {
margin-right: 15px; margin-right: 15px;
} }
} }
.mapL { .mapL {
position: absolute; position: absolute;
top: 10px; top: 10px;
// z-index: 1; // z-index: 1;
left: 10px; left: 10px;
} }
.mapR { .mapR {
position: absolute; position: absolute;
top: 10px; top: 10px;
@@ -266,10 +262,12 @@ onMounted(() => {
margin: 10px 0 0 0; margin: 10px 0 0 0;
position: relative; position: relative;
} }
.el-button:focus { .el-button:focus {
color: var(--color); color: var(--color);
background-color: #fff; background-color: #fff;
} }
.el-button:hover { .el-button:hover {
color: var(--el-color-white); color: var(--el-color-white);
border-color: var(--el-button-hover-bg-color); border-color: var(--el-button-hover-bg-color);

View File

@@ -1,38 +1,13 @@
<template> <template>
<el-dialog <el-dialog v-model="dialogFormVisible" :title="title" width="65%" :append-to-body="true" :before-close="close"
v-model="dialogFormVisible" :close-on-click-modal="false" :lazy="true" draggable>
:title="title"
width="65%"
:append-to-body="true"
:before-close="close"
:close-on-click-modal="false"
:lazy="true"
draggable
>
<!--监测点信息录入 基础信息+监测点信息 监测点信息要有用户名称用户状态 --> <!--监测点信息录入 基础信息+监测点信息 监测点信息要有用户名称用户状态 -->
<el-form <el-form :model="form" :validate-on-rule-change="false" :scroll-to-error="true" :rules="rules" ref="ruleFormRef"
:model="form" label-width="auto" label-position="right" class="form-two">
:validate-on-rule-change="false"
:scroll-to-error="true"
:rules="rules"
ref="ruleFormRef"
label-width="auto"
label-position="right"
class="form-two"
>
<div class="fixed_upload" v-if="false"> <div class="fixed_upload" v-if="false">
<el-upload <el-upload v-model:file-list="form.lineFilePath" ref="uploadRef" action="" accept=".xls,.xlsx"
v-model:file-list="form.lineFilePath" :limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
ref="uploadRef" :on-progress="uploadFileName('lineFilePath')" :on-remove="removeFile">
action=""
accept=".xls,.xlsx"
:limit="1"
:on-exceed="handleExceed"
:on-change="choose"
:auto-upload="false"
:on-progress="uploadFileName('lineFilePath')"
:on-remove="removeFile"
>
<template #trigger> <template #trigger>
<el-button type="primary">监测点台账信息</el-button> <el-button type="primary">监测点台账信息</el-button>
</template> </template>
@@ -43,89 +18,41 @@
<el-input v-model="form.reporterName" autocomplete="off" placeholder="请输入填报人" :disabled="true" /> <el-input v-model="form.reporterName" autocomplete="off" placeholder="请输入填报人" :disabled="true" />
</el-form-item> </el-form-item>
<el-form-item v-if="false" for="-" label="填报日期:" prop="reportDate"> <el-form-item v-if="false" for="-" label="填报日期:" prop="reportDate">
<el-date-picker <el-date-picker style="width: 100%" v-model="form.reportDate" :disabled="true" type="date"
style="width: 100%" format="YYYY-MM-DD" value-format="YYYY-MM-DD" placeholder="请选择填报日期" />
v-model="form.reportDate"
:disabled="true"
type="date"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
placeholder="请选择填报日期"
/>
</el-form-item> </el-form-item>
<el-form-item v-if="false" for="-" label="填报部门:" prop="orgId"> <el-form-item v-if="false" for="-" label="填报部门:" prop="orgId">
<el-input v-model="form.orgName" :disabled="true" autocomplete="off" /> <el-input v-model="form.orgName" :disabled="true" autocomplete="off" />
</el-form-item> </el-form-item>
<el-form-item v-if="false" for="-" label="工程投产日期:" prop="expectedProductionDate"> <el-form-item v-if="false" for="-" label="工程投产日期:" prop="expectedProductionDate">
<el-date-picker <el-date-picker style="width: 100%" v-model="form.expectedProductionDate" type="date"
style="width: 100%" format="YYYY-MM-DD" value-format="YYYY-MM-DD" :disabled="true" :disabled-date="disabledDate"
v-model="form.expectedProductionDate" placeholder="请选择工程投产日期" />
type="date"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
:disabled="true"
:disabled-date="disabledDate"
placeholder="请选择工程投产日期"
/>
</el-form-item> </el-form-item>
<el-form-item v-if="false" for="-" label="所在地市:" prop="city"> <el-form-item v-if="false" for="-" label="所在地市:" prop="city">
<el-select <el-select v-model="form.city" clearable style="width: 100%" :disabled="true" placeholder="请选择所在地市">
v-model="form.city" <el-option v-for="item in areaOptionList" :key="item.id" :label="item.name"
clearable :value="item.id"></el-option>
style="width: 100%"
:disabled="true"
placeholder="请选择所在地市"
>
<el-option
v-for="item in areaOptionList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-if="false" for="-" label="用户状态:" prop="userStatus"> <el-form-item v-if="false" for="-" label="用户状态:" prop="userStatus">
<el-select v-model="form.userStatus" placeholder="请选择用户状态" :disabled="true" style="width: 100%"> <el-select v-model="form.userStatus" placeholder="请选择用户状态" :disabled="true" style="width: 100%">
<el-option <el-option v-for="(item, index) in userStateList" :label="item.name" :value="item.id"
v-for="(item, index) in userStateList" :disabled="item.name != '建设'" :key="index" />
:label="item.name"
:value="item.id"
:disabled="item.name != '建设'"
:key="index"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item for="-" label="关联干扰源:" prop="userName"> <el-form-item for="-" label="关联干扰源:" prop="userName">
<el-select <el-select v-model="form.userName" clearable style="width: 100%" placeholder="请选择关联干扰源"
v-model="form.userName" @change="changeUserName">
clearable <el-option v-for="(item, index) in userNameList" :key="index" :label="item.projectName"
style="width: 100%" :value="item.id"></el-option>
placeholder="请选择关联干扰源"
@change="changeUserName"
>
<el-option
v-for="(item, index) in userNameList"
:key="index"
:label="item.projectName"
:value="item.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item for="-" label="关联终端:" prop="monitoringTerminalCode"> <el-form-item for="-" label="关联终端:" prop="monitoringTerminalCode">
<el-select <el-select v-model="form.monitoringTerminalCode" clearable style="width: 100%" filterable
v-model="form.monitoringTerminalCode" placeholder="请选择关联终端" @change="changeDevice">
clearable <el-option v-for="(item, index) in monitoringTerminalList" :key="index"
style="width: 100%" :label="item.monitoringTerminalCode" :value="item.id"></el-option>
filterable
placeholder="请选择关联终端"
@change="changeDevice"
>
<el-option
v-for="(item, index) in monitoringTerminalList"
:key="index"
:label="item.monitoringTerminalCode"
:value="item.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item for="-" label="接入母线:" prop="connectedBus"> <el-form-item for="-" label="接入母线:" prop="connectedBus">
@@ -133,12 +60,8 @@
</el-form-item> </el-form-item>
<el-form-item for="-" label="监测点运行状态:" prop="operationStatus"> <el-form-item for="-" label="监测点运行状态:" prop="operationStatus">
<el-select v-model="form.operationStatus" placeholder="请选择运行状态"> <el-select v-model="form.operationStatus" placeholder="请选择运行状态">
<el-option <el-option v-for="(item, index) in operationStatusList" :label="item.name" :value="item.id"
v-for="(item, index) in operationStatusList" :key="index" />
:label="item.name"
:value="item.id"
:key="index"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item for="-" label="监测点名称:" prop="lineName"> <el-form-item for="-" label="监测点名称:" prop="lineName">
@@ -146,136 +69,69 @@
</el-form-item> </el-form-item>
<!-- {{ voltageLevelList[2].value * 10 }}:{{ 1 }} --> <!-- {{ voltageLevelList[2].value * 10 }}:{{ 1 }} -->
<el-form-item for="-" label="监测点电压等级:" prop="voltageLevel"> <el-form-item for="-" label="监测点电压等级:" prop="voltageLevel">
<el-select <el-select v-model="form.voltageLevel" clearable style="width: 100%" placeholder="请选择监测点电压等级" filterable
v-model="form.voltageLevel" @change="changevoltageDeviationLimit">
clearable <el-option v-for="item in voltageLevelList" :key="item.id" :label="item.name"
style="width: 100%" :value="item.id"></el-option>
placeholder="请选择监测点电压等级"
filterable
@change="changevoltageDeviationLimit"
>
<el-option
v-for="item in voltageLevelList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item for="-" label="PT变比" prop="pt1"> <el-form-item for="-" label="PT变比" prop="pt1">
<el-input <el-input style="width: 48%" v-model="form.pt1" autocomplete="off" placeholder="请输入PT变比"
style="width: 48%" oninput="value=value.replace(/[^0-9.]/g,'')" />
v-model="form.pt1" <el-input style="width: 48%" v-model="form.pt2" autocomplete="off" placeholder="请输入PT变比"
autocomplete="off" oninput="value=value.replace(/[^0-9.]/g,'')" />
placeholder="请输入PT变比"
oninput="value=value.replace(/[^0-9.]/g,'')"
/>
<el-input
style="width: 48%"
v-model="form.pt2"
autocomplete="off"
placeholder="请输入PT变比"
oninput="value=value.replace(/[^0-9.]/g,'')"
/>
</el-form-item> </el-form-item>
<el-form-item for="-" label="CT变比" prop="ct1"> <el-form-item for="-" label="CT变比" prop="ct1">
<el-input <el-input v-model="form.ct1" style="width: 48%" autocomplete="off"
v-model="form.ct1" oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="请输入CT变比" />
style="width: 48%" <el-input v-model="form.ct2" style="width: 48%" autocomplete="off"
autocomplete="off" oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="请输入CT变比" />
oninput="value=value.replace(/[^0-9.]/g,'')"
placeholder="请输入CT变比"
/>
<el-input
v-model="form.ct2"
style="width: 48%"
autocomplete="off"
oninput="value=value.replace(/[^0-9.]/g,'')"
placeholder="请输入CT变比"
/>
</el-form-item> </el-form-item>
<el-form-item for="-" label="短路容量:" prop="shortCapacity"> <el-form-item for="-" label="短路容量:" prop="shortCapacity">
<el-input <el-input v-model="form.shortCapacity" autocomplete="off" oninput="value=value.replace(/[^\-?\d.]/g,'')
v-model="form.shortCapacity"
autocomplete="off"
oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.') .replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" .replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入短路容量">
placeholder="请输入短路容量"
>
<template #append>MVA</template> <template #append>MVA</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item for="-" label="协议容量:" prop="dealCapacity"> <el-form-item for="-" label="协议容量:" prop="dealCapacity">
<el-input <el-input v-model="form.dealCapacity" autocomplete="off" oninput="value=value.replace(/[^\-?\d.]/g,'')
v-model="form.dealCapacity"
autocomplete="off"
oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.') .replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" .replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入协议容量">
placeholder="请输入协议容量"
>
<template #append>MVA</template> <template #append>MVA</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item for="-" label="终端容量:" prop="devCapacity"> <el-form-item for="-" label="终端容量:" prop="devCapacity">
<el-input <el-input v-model="form.devCapacity" autocomplete="off" oninput="value=value.replace(/[^\-?\d.]/g,'')
v-model="form.devCapacity"
autocomplete="off"
oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.') .replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" .replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入终端容量">
placeholder="请输入终端容量"
>
<template #append>MVA</template> <template #append>MVA</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item for="-" label="基准容量:" prop="standardCapacity"> <el-form-item for="-" label="基准容量:" prop="standardCapacity">
<el-input <el-input v-model="form.standardCapacity" autocomplete="off" oninput="value=value.replace(/[^\-?\d.]/g,'')
v-model="form.standardCapacity"
autocomplete="off"
oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.') .replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" .replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入基准容量">
placeholder="请输入基准容量"
>
<template #append>MVA</template> <template #append>MVA</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item for="-" label="干扰源类型:" prop="loadType"> <el-form-item for="-" label="干扰源类型:" prop="loadType">
<el-select <el-select v-model="form.loadType" style="width: 100%" placeholder="请选择干扰源类型" @change="changeLoadType">
v-model="form.loadType" <el-option v-for="item in loadTypeList" :key="item.id" :label="item.name"
style="width: 100%" :value="item.id"></el-option>
placeholder="请选择干扰源类型"
@change="changeLoadType"
>
<el-option
v-for="item in loadTypeList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item for="-" label="干扰源类别:" prop="businessType"> <el-form-item for="-" label="干扰源类别:" prop="businessType">
<el-select v-model="form.businessType" style="width: 100%" placeholder="请选择干扰源类别"> <el-select v-model="form.businessType" style="width: 100%" placeholder="请选择干扰源类别">
<el-option <el-option v-for="item in businessTypeList" :key="item.id" :label="item.name"
v-for="item in businessTypeList" :value="item.id"></el-option>
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item for="-" label="接线方式:"> <el-form-item for="-" label="接线方式:">
<el-select v-model="form.ptType" clearable style="width: 100%" placeholder="请选择接线方式"> <el-select v-model="form.ptType" clearable style="width: 100%" placeholder="请选择接线方式">
<el-option <el-option v-for="item in ptTypeList" :key="item.id" :label="item.name"
v-for="item in ptTypeList" :value="item.id"></el-option>
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item for="-" label="线路号:"> <el-form-item for="-" label="线路号:">
@@ -291,25 +147,17 @@
</el-form-item> </el-form-item>
<el-form-item for="-" label="测量间隔:" prop="timeInterval"> <el-form-item for="-" label="测量间隔:" prop="timeInterval">
<el-select v-model="form.timeInterval" placeholder="请选择测量间隔"> <el-select v-model="form.timeInterval" placeholder="请选择测量间隔">
<el-option <el-option v-for="(item, index) in timeIntervalList" :label="item.name" :value="item.id"
v-for="(item, index) in timeIntervalList" :key="index" />
:label="item.name"
:value="item.id"
:key="index"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item for="-" label="上送网编码:"> <el-form-item for="-" label="上送网公司编码:">
<el-input v-model="form.lineId" autocomplete="off" placeholder="请输入上送网编码" /> <el-input v-model="form.lineId" autocomplete="off" placeholder="请输入上送网公司编码" />
</el-form-item> </el-form-item>
<el-form-item for="-" label="监测点性质:" prop="pointNature"> <el-form-item for="-" label="监测点性质:" prop="pointNature">
<el-select v-model="form.pointNature" placeholder="请选择监测点性质"> <el-select v-model="form.pointNature" placeholder="请选择监测点性质">
<el-option <el-option v-for="(item, index) in pointNatureList" :label="item.name" :value="item.id"
v-for="(item, index) in pointNatureList" :key="index" />
:label="item.name"
:value="item.id"
:key="index"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item for="-" label="是否参与统计:" prop="isStatistical"> <el-form-item for="-" label="是否参与统计:" prop="isStatistical">
@@ -331,18 +179,9 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item for="-" label="主接线图:" prop="mainWiringDiagram" class="uploadFile"> <el-form-item for="-" label="主接线图:" prop="mainWiringDiagram" class="uploadFile">
<el-upload <el-upload v-model:file-list="form.mainWiringDiagram" ref="uploadRef" action="" :accept="acceptType"
v-model:file-list="form.mainWiringDiagram" :limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
ref="uploadRef" :on-progress="uploadFileName('mainWiringDiagram')" :on-remove="removeFile">
action=""
:accept="acceptType"
:limit="1"
:on-exceed="handleExceed"
:on-change="choose"
:auto-upload="false"
:on-progress="uploadFileName('mainWiringDiagram')"
:on-remove="removeFile"
>
<template #trigger> <template #trigger>
<el-button type="primary">上传文件</el-button> <el-button type="primary">上传文件</el-button>
</template> </template>
@@ -352,8 +191,8 @@
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button @click="close()">取消</el-button> <el-button @click="close()">取消</el-button>
<el-button type="primary" @click="confirmForm(true)" :loading="loading" >保存</el-button> <el-button type="primary" @click="confirmForm(true)" :loading="loading">保存</el-button>
<el-button type="primary" @click="confirmForm(false)" :loading="loading" >提交审批</el-button> <el-button type="primary" @click="confirmForm(false)" :loading="loading">提交审批</el-button>
</div> </div>
</template> </template>
</el-dialog> </el-dialog>
@@ -890,7 +729,7 @@ const rules = ref({
lineId: [ lineId: [
{ {
required: true, required: true,
message: '请输入上送网编码', message: '请输入上送网公司编码',
trigger: 'blur' trigger: 'blur'
} }
], ],
@@ -1003,12 +842,12 @@ const open = async (row: any) => {
res.data.mainWiringDiagram.length == 0 res.data.mainWiringDiagram.length == 0
? [] ? []
: JSON.parse( : JSON.parse(
JSON.stringify([ JSON.stringify([
{ {
name: res.data.mainWiringDiagram.split('/')[2] name: res.data.mainWiringDiagram.split('/')[2]
} }
]) ])
) )
}) })
} else { } else {
resendId.value = '' resendId.value = ''
@@ -1022,7 +861,7 @@ const close = () => {
dialogFormVisible.value = false dialogFormVisible.value = false
emits('onSubmit') emits('onSubmit')
} }
onMounted(() => {}) onMounted(() => { })
watch( watch(
() => projectList.value, () => projectList.value,
@@ -1119,7 +958,7 @@ const confirmForm = async (flag: boolean) => {
} else { } else {
// 先判断提交终端信息与监测点信息 // 先判断提交终端信息与监测点信息
// 提交监测点信息 // 提交监测点信息
ruleFormRef.value.validate(async(valid) => { ruleFormRef.value.validate(async (valid) => {
if (valid) { if (valid) {
//整理上传文件的数据 //整理上传文件的数据
//处理填报日期时间格式 //处理填报日期时间格式
@@ -1158,7 +997,7 @@ const confirmForm = async (flag: boolean) => {
}) })
} else { } else {
confirmFormData.id = resendId.value confirmFormData.id = resendId.value
await updateMointorPointFormData(confirmFormData).then(res => { await updateMointorPointFormData(confirmFormData).then(res => {
if (res.code == 'A0000') { if (res.code == 'A0000') {
ElMessage({ ElMessage({
message: '重新发起成功', message: '重新发起成功',

View File

@@ -67,7 +67,7 @@
<el-descriptions-item label="PT变比"> <el-descriptions-item label="PT变比">
{{ detailData.pt1 }}{{ detailData.pt2 ? '/' + detailData.pt2 : '' }} {{ detailData.pt1 }}{{ detailData.pt2 ? '/' + detailData.pt2 : '' }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="上送网编码"> <el-descriptions-item label="上送网公司编码">
{{ detailData.lineId }} {{ detailData.lineId }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="测量间隔"> <el-descriptions-item label="测量间隔">
@@ -269,6 +269,7 @@ onMounted(() => {
// position: absolute !important; // position: absolute !important;
// top: 20px !important; // top: 20px !important;
} }
.elView { .elView {
cursor: pointer; cursor: pointer;
margin-right: 10px; margin-right: 10px;