修改辽宁反馈问题

This commit is contained in:
guanj
2026-06-23 21:27:15 +08:00
parent ed60e2b7f3
commit 070e404bbb
20 changed files with 2369 additions and 2260 deletions

View File

@@ -4,12 +4,8 @@
<template v-slot:select>
<el-form-item label="运行状态">
<el-select v-model="tableStore.table.params.lineRunFlag" clearable placeholder="请选择运行状态">
<el-option
v-for="item in runFlagList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
<el-option v-for="item in runFlagList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="筛选数据">
@@ -40,14 +36,8 @@
</div>
</template>
<div class="mb5" style="height: 40px">
<el-segmented
style="height: 100%"
v-model="segmented"
:props="props"
:options="segmentedList"
block
@change="tableStore.index()"
>
<el-segmented style="height: 100%" v-model="segmented" :props="props" :options="segmentedList"
block @change="tableStore.index()">
<template #default="scope">
<div>
<div>{{ scope.item.name }}</div>
@@ -61,8 +51,8 @@
segmented == 'Power_Network'
? '区域'
: segmented == 'Manufacturer'
? '终端厂家'
: '电网标志'
? '终端厂家'
: '电网标志'
}}
</span>
<span style="width: 90px">终端总数</span>
@@ -77,33 +67,21 @@
{{ o.name }}
</span>
<!-- 终端总数 -->
<span
style="width: 90px; color: #388e3c"
class="text text-style"
@click="renderTable(o.list, o.name + '_')"
>
<span style="width: 90px; color: #388e3c" class="text text-style"
@click="renderTable(o.list, o.name + '_')">
{{ o.count }}
</span>
<!-- -->
<span
style="flex: 1; color: #388e3c"
class="text"
:class="` ${o.integrity < 90 ? 'text-red' : ''}`"
>
<span style="flex: 1; color: #388e3c" class="text"
:class="` ${o.integrity < 90 ? 'text-red' : ''}`">
{{ o.integrity }}
</span>
<span
style="width: 80px; color: #388e3c"
:class="` ${o.online < 90 ? 'text-red' : ''}`"
class="text"
>
<span style="width: 80px; color: #388e3c" :class="` ${o.online < 90 ? 'text-red' : ''}`"
class="text">
{{ o.online }}
</span>
<span
style="width: 80px; color: #388e3c"
:class="` ${o.qualified > 10 ? 'text-red' : ''}`"
class="text"
>
<span style="width: 80px; color: #388e3c" :class="` ${o.qualified > 10 ? 'text-red' : ''}`"
class="text">
{{ o.qualified }}
</span>
</div>
@@ -120,13 +98,8 @@
<!--表格-->
<div :style="{ height: tableStore.table.height }" v-loading="loading">
<vxe-table
height="auto"
:data="dataList.slice((pageNum - 1) * pageSize, pageNum * pageSize)"
v-bind="defaultAttribute"
ref="tableRef"
:scroll-y="{ enabled: true }"
>
<vxe-table height="auto" :data="dataList.slice((pageNum - 1) * pageSize, pageNum * pageSize)"
v-bind="defaultAttribute" ref="tableRef" :scroll-y="{ enabled: true }">
<vxe-column type="seq" title="序号" width="80px">
<template #default="{ rowIndex }">
<span>
@@ -146,19 +119,16 @@
<vxe-column field="ip" title="终端IP" :formatter="formatter" width="120px"></vxe-column>
<vxe-column field="runFlag" title="运行状态" width="100px">
<template #default="{ row }">
<el-tag
:type="
row.runFlag == '运'
? 'success'
: row.runFlag == '停运'
<el-tag :type="row.runFlag == '运行'
? 'success'
: row.runFlag == '运'
? 'danger'
: row.runFlag == '检修'
? 'warning'
: row.runFlag == '调试'
? 'warning'
: 'danger'
"
>
? 'warning'
: row.runFlag == '调试'
? 'warning'
: 'danger'
">
{{ row.runFlag }}
</el-tag>
</template>
@@ -169,14 +139,9 @@
</vxe-table>
</div>
<div class="table-pagination">
<el-pagination
v-model:currentPage="pageNum"
v-model:page-size="pageSize"
:page-sizes="[10, 20, 50, 100, 200]"
background
layout="sizes,total, ->, prev, pager, next, jumper"
:total="dataList.length"
></el-pagination>
<el-pagination v-model:currentPage="pageNum" v-model:page-size="pageSize"
:page-sizes="[10, 20, 50, 100, 200]" background
layout="sizes,total, ->, prev, pager, next, jumper" :total="dataList.length"></el-pagination>
</div>
</el-card>
</div>
@@ -187,7 +152,7 @@
import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
import TableHeader from '@/components/table/header/index.vue'
import { onMounted, provide, ref } from 'vue'
import { onMounted, provide, ref, nextTick } from 'vue'
import { defaultAttribute } from '@/components/table/defaultAttribute'
import { useDictData } from '@/stores/dictData'
import { mainHeight } from '@/utils/layout'
@@ -273,7 +238,7 @@ const tableStore = new TableStore({
if (tableStore.table.params.statisticalType.name == '终端厂家') {
return k.count != 0
} else {
return !k.citName.includes('上送')
return !k.name.includes('上送')
}
})
// 合并子集数据 并去重
@@ -465,15 +430,9 @@ const onExport = () => {
})
}
onMounted(() => {
// TableHeaderRef.value.setDatePicker([
// { label: '年份', value: 1 },
// { label: '季度', value: 2 },
// { label: '月份', value: 3 }
// ])
// 加载数据
tableStore.index()
nextTick(() => {
TableHeaderRef.value?.onComSearch()
})
})
tableStore.table.params.name = ''
@@ -482,14 +441,17 @@ provide('tableStore', tableStore)
<style lang="scss" scoped>
.card-list {
display: flex;
.monitoringPoints {
width: 460px;
position: relative;
.statistics {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 10px;
.divBox {
width: 215x;
height: 70px;
@@ -500,33 +462,41 @@ provide('tableStore', tableStore)
font-size: 40px;
margin-right: 5px;
}
.divBox_title {
font-weight: 550;
}
.divBox_num {
font-size: 20px;
font-weight: 550;
margin-left: auto;
font-family: AlimamaDongFangDaKai;
}
align-items: center;
// text-align: center;
border-radius: 5px;
&:nth-child(1) {
background-color: #eef8f0;
}
&:nth-child(2) {
background-color: #fff6ed;
}
&:nth-child(3) {
background-color: #e5f8f6;
}
}
}
}
.detail {
flex: 1;
}
.abnormal {
width: 100%;
background-color: #f3f6f9;
@@ -535,9 +505,11 @@ provide('tableStore', tableStore)
// justify-content: space-between;
align-items: center;
padding: 5px 0px 5px 10px;
.iconDiv {
display: flex;
align-items: center;
div {
width: 4px;
height: 18px;
@@ -545,6 +517,7 @@ provide('tableStore', tableStore)
background-color: var(--el-color-primary);
}
}
.text {
font-weight: 700;
font-size: 16px;
@@ -555,6 +528,7 @@ provide('tableStore', tableStore)
}
}
}
.header {
display: flex;
text-align: center;
@@ -562,40 +536,50 @@ provide('tableStore', tableStore)
font-weight: 700;
padding: 5px;
}
:deep(.el-card__header) {
padding: 10px;
span {
font-weight: 600;
}
}
:deep(.el-card__body) {
padding: 10px;
}
.iconFont {
font-size: 18px;
display: inline-block;
vertical-align: middle;
}
.form {
position: relative;
.form_but {
position: absolute;
right: -22px;
}
}
.card-header {
font-size: 16px;
}
:deep(.table_name) {
color: var(--el-color-primary);
cursor: pointer;
text-underline-offset: 4px;
}
.echartTitle {
display: flex;
justify-content: space-between;
font-size: 14px;
font-weight: 600;
div:nth-child(2) {
font-size: 16px;
color: #ff6600;
@@ -605,20 +589,25 @@ provide('tableStore', tableStore)
:deep(.el-segmented__item-selected, ) {
clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%);
}
:deep(.el-segmented__item, ) {
clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%);
position: relative;
}
:deep(.el-segmented) {
clip-path: polygon(4% 0, 100% 0, 96% 100%, 0 100%);
}
.text-red {
color: #ff9100 !important;
}
.text-style {
cursor: pointer;
text-decoration: underline;
}
.segmentedIcon {
position: absolute;
top: 1px;
@@ -631,6 +620,7 @@ provide('tableStore', tableStore)
color: #fff;
border-radius: 8px;
}
.table-pagination {
height: 58px;
box-sizing: border-box;