-
+
+
@@ -19,8 +26,8 @@
v-loading="loading"
:row-config="{ isCurrent: true, isHover: true }"
:columnConfig="{ resizable: true }"
- @current-change="currentChangeEvent"
- style="z-index: 0;"
+ @cell-click="currentChangeEvent"
+ style="z-index: 0"
>
@@ -28,6 +35,11 @@
+
+
+ {{ row.powerFlag == 0 ? '电网侧' : '非电网侧' }}
+
+
@@ -40,9 +52,10 @@ import { defaultAttribute } from '@/components/table/defaultAttribute'
import { Close } from '@element-plus/icons-vue'
const emit = defineEmits(['flyTo'])
const value = ref('')
-const tableRef=ref()
+const tableRef = ref()
const dataList = ref([])
const loading = ref(false)
+const powerFlag = ref('0')
const open = (data: any) => {
dataList.value = []
loading.value = true
@@ -99,11 +112,11 @@ function filterDataByKeyword(data, keyword) {
})
})
}
-const currentChangeEvent=()=>{
+const currentChangeEvent = () => {
// tableRef.value.getCurrentRecord()
- console.log("🚀 ~ currentChangeEvent ~ tableRef.value.getCurrentRecord():", tableRef.value.getCurrentRecord())
- let data=tableRef.value.getCurrentRecord()
- emit('flyTo',{ coordinate: [data.lng, data.lat] }, 16)
+ console.log('🚀 ~ currentChangeEvent ~ tableRef.value.getCurrentRecord():', tableRef.value.getCurrentRecord())
+ let data = tableRef.value.getCurrentRecord()
+ emit('flyTo', { coordinate: [data.lng, data.lat] }, 16)
}
const show = ref(false)
diff --git a/src/views/pqs/qualityInspeection/panorama/components/details/stand.vue b/src/views/pqs/qualityInspeection/panorama/components/details/stand.vue
index 83536d0d..dc309bdd 100644
--- a/src/views/pqs/qualityInspeection/panorama/components/details/stand.vue
+++ b/src/views/pqs/qualityInspeection/panorama/components/details/stand.vue
@@ -496,7 +496,7 @@ const jump = () => {
name: 'harmonic-boot/qydetailedAnalysis/pollutionReport',
query: {
type: '2',
- statisticalType:contaminate.value,
+ statisticalType: contaminate.value,
t: Date.now()
}
})
@@ -536,5 +536,7 @@ defineExpose({ open })
.text-style {
cursor: pointer;
text-decoration: underline;
+ text-decoration-color: var(--el-color-primary);
+ text-underline-offset: 4px;
}
diff --git a/src/views/pqs/qualityInspeection/panorama/components/details/transientDetails.vue b/src/views/pqs/qualityInspeection/panorama/components/details/transientDetails.vue
index 3efa7ae4..bc7725bc 100644
--- a/src/views/pqs/qualityInspeection/panorama/components/details/transientDetails.vue
+++ b/src/views/pqs/qualityInspeection/panorama/components/details/transientDetails.vue
@@ -1,7 +1,14 @@
-
+
@@ -16,6 +23,8 @@ import MyEChart from '@/components/echarts/MyEchart.vue'
import { useDictData } from '@/stores/dictData'
import { defaultAttribute } from '@/components/table/defaultAttribute'
import { getEventDetailByList } from '@/api/device-boot/panorama'
+import { useRouter } from 'vue-router'
+const router = useRouter()
const dictData = useDictData()
const dialogVisible: any = ref(false)
const list = dictData.getBasicData('Event_Statis')
@@ -30,6 +39,19 @@ const open = async (row: any, name: string, type: string) => {
dialogVisible.value = true
}
+const currentChangeEvent = (row: any) => {
+ router.push({
+ name: 'Descentsystem/transientList',
+ query: {
+ type: '1',
+ name:row.row.lineName,
+ dicData: types.value,
+ t: Date.now()
+ }
+ })
+}
+// 跳转暂态列表
+
// 查看详情
defineExpose({ open })
diff --git a/src/views/pqs/qualityInspeection/panorama/components/line/info.vue b/src/views/pqs/qualityInspeection/panorama/components/line/info.vue
index eed3f7c2..56386e7c 100644
--- a/src/views/pqs/qualityInspeection/panorama/components/line/info.vue
+++ b/src/views/pqs/qualityInspeection/panorama/components/line/info.vue
@@ -5,9 +5,9 @@
{{ dropList.gdName }}_{{ dropList.bdName }}_{{ dropList.lineName }}
最新数据时间:
- {{ dropList.updateTime }}
+ {{ dropList.updateTime }}
统计日期:
-
+
{{ getTimeOfTheMonth('3')[0] + '至' + getTimeOfTheMonth('3')[1] }}
@@ -88,7 +88,7 @@
-
+
告警明细
@@ -107,11 +107,11 @@
-->
-
+
-
+
- {{ row.avg == 3.14159 ? '/' : Math.floor(row.avg * 100) / 100 }}
+ {{ Math.floor(row.avg * 100) / 100 }}
@@ -190,7 +190,6 @@ import {
} from '@/api/device-boot/panorama'
import { formatter } from 'element-plus'
-
const emit = defineEmits(['back'])
const dropList: any = ref({})
const TargetData: any = ref({})
@@ -382,8 +381,7 @@ const open = async (id: string) => {
searchBeginTime: datePickerRef.value.timeValue[0],
searchEndTime: datePickerRef.value.timeValue[1],
searchState: 0,
- lineRunFlag: 0,
-
+ lineRunFlag: 0
}).then((res: any) => {
// dropList.value.assessData = res.data.assessLevel
evaluationData.value = [
@@ -398,19 +396,40 @@ const open = async (id: string) => {
xz: res.data.vdevLimit
},
{
- targetName: '电压总谐波畸变率',
- avg: res.data.udevData,
- xz: res.data.uaberranceLimit
+ targetName: '谐波电流',
+ avg: res.data.iharmData,
+ xz: res.data.iharmLimit
},
{
- targetName: '三相电压不平衡度',
- avg: res.data.unbalanceData,
- xz: res.data.unbalanceLimit
+ targetName: '负序电流',
+ avg: res.data.inegData,
+ xz: res.data.inegLimit
+ },
+ {
+ targetName: '间谐波电压',
+ avg: res.data.inuharmData,
+ xz: res.data.inuharmLimit
+ },
+
+ {
+ targetName: '电压总谐波畸变率',
+ avg: res.data.uaberranceData,
+ xz: res.data.uaberranceLimit
},
{
targetName: '闪变',
avg: res.data.flickerData,
xz: res.data.flickerLimit
+ },
+ {
+ targetName: '谐波电压',
+ avg: res.data.uharmData,
+ xz: res.data.uharmLimit
+ },
+ {
+ targetName: '三相电压不平衡度',
+ avg: res.data.unbalanceData,
+ xz: res.data.unbalanceLimit
}
]
})
@@ -770,7 +789,7 @@ defineExpose({ open })
.iconBox {
display: flex;
-align-items: center;
+ align-items: center;
span {
display: inline-block;
width: 3px;
@@ -808,5 +827,7 @@ align-items: center;
.text-style {
cursor: pointer;
text-decoration: underline;
+ text-decoration-color: var(--el-color-primary);
+ text-underline-offset: 4px;
}
diff --git a/src/views/pqs/qualityInspeection/panorama/components/mapL.vue b/src/views/pqs/qualityInspeection/panorama/components/mapL.vue
index c12ec397..16cc450f 100644
--- a/src/views/pqs/qualityInspeection/panorama/components/mapL.vue
+++ b/src/views/pqs/qualityInspeection/panorama/components/mapL.vue
@@ -118,7 +118,7 @@
{{ linList[0].lineNumOne || 0 }}
告警:
-
+
{{ linList[0].lineNumTwo || 0 }}
)
diff --git a/src/views/pqs/qualityInspeection/panorama/components/mapR.vue b/src/views/pqs/qualityInspeection/panorama/components/mapR.vue
index f5317ec7..c9da1767 100644
--- a/src/views/pqs/qualityInspeection/panorama/components/mapR.vue
+++ b/src/views/pqs/qualityInspeection/panorama/components/mapR.vue
@@ -4,34 +4,7 @@
-
- 区域污染水平评估
-
-
-
-
-
- 无污染:0
-
- 轻微污染:(0 , 100]
-
- 轻度污染:(100 , 1000]
-
- 中度污染:(1000 , 10000]
-
- 重度污染:(10000
-
-
-
-
+
稳态电能质量水平评估
详情
@@ -41,29 +14,33 @@
-
+

+ 区域污染水平评估
+
+
+
+
+
+ 无污染:0
+
+ 轻微污染:(0 , 100]
+
+ 轻度污染:(100 , 1000]
+
+ 中度污染:(1000 , 10000]
+
+ 重度污染:(10000
+
+
+
@@ -89,16 +66,16 @@
-
+
+
@@ -386,10 +363,10 @@ const open = (e: number) => {
techniqueRef.value.open(formRow.value)
}
}
-const changeHeat = (e:any) => {
+const changeHeat = (e: any) => {
emit('changeHeat', e)
}
-const setColor = (val:any) => {
+const setColor = (val: any) => {
return val == 3.14159
? ''
: val > 10000
@@ -404,7 +381,7 @@ const setColor = (val:any) => {
? '#00B07D'
: ''
}
-const setVal = (val:any) => {
+const setVal = (val: any) => {
return val == 3.14159
? '/'
: val > 10000
@@ -511,14 +488,15 @@ defineExpose({ info, show })
cursor: pointer;
color: #757575;
}
- .WarningFilled {
- width: 12px;
- font-weight: 500;
- cursor: pointer;
- }
+}
+.WarningFilled {
+ width: 12px;
+ font-weight: 500;
+ cursor: pointer;
}
.TJTop {
display: flex;
+ align-items: center;
img {
height: 1.2rem;
width: 1.2rem;
@@ -526,7 +504,7 @@ defineExpose({ info, show })
}
}
.evaluate {
- margin: 10px 0;
+ margin: 5px 0 10px 0;
display: flex;
justify-content: space-around;
text-align: center;
diff --git a/src/views/pqs/qualityInspeection/panorama/index.vue b/src/views/pqs/qualityInspeection/panorama/index.vue
index 401a7abf..e618bcb0 100644
--- a/src/views/pqs/qualityInspeection/panorama/index.vue
+++ b/src/views/pqs/qualityInspeection/panorama/index.vue
@@ -115,11 +115,11 @@ const changeValue = (e: any) => {
}
// 热力图开关
const changeHeat = (e: boolean) => {
- console.log("🚀 ~ changeHeat ~ e:", e)
+ console.log('🚀 ~ changeHeat ~ e:', e)
mapRef.value.changeHeat(e)
- if(e){
- mapRef.value.flyTo({ coordinate: [116.84428600000001, 40.57707185292256] }, 6.409267680647425)
+ if (e) {
+ mapRef.value.flyTo({ coordinate: [116.84428600000001, 40.57707185292256] }, 6.409267680647425)
}
}
//点击监测点详情
@@ -218,9 +218,10 @@ const reset = () => {
changeValue({ data: dictData.state.area[0] })
}
onMounted(() => {
- // info()
- changeValue({ data: dictData.state.area[0] })
- // aaa()
+ nextTick(() => {
+ // datePickerRef.value.setTheDate(1)
+ changeValue({ data: dictData.state.area[0] })
+ })
})
diff --git a/src/views/pqs/runManage/assessment/components/assess/index.vue b/src/views/pqs/runManage/assessment/components/assess/index.vue
index d05d8629..42011df8 100644
--- a/src/views/pqs/runManage/assessment/components/assess/index.vue
+++ b/src/views/pqs/runManage/assessment/components/assess/index.vue
@@ -3,10 +3,10 @@
{
})
// 添加树组件的引用
-const assessTreeRef = ref(null)
+const AssessTreeRef = ref()
// 控制树组件当前高亮的节点key
const currentTreeKey = ref(null)
// 保存上一次真正有效的节点key(子节点)
@@ -308,6 +308,44 @@ const handleNodeClick = (data: any, node: any) => {
infoLoading.value = true
outcomeLoading.value = true
}
+const setId = (id: any) => {
+ setTimeout(() => {
+ lastValidNodeKey.value = id
+ currentTreeKey.value = lastValidNodeKey.value
+ dotList.value = findNodeByTreeId(AssessTreeRef.value?.tree, id)?.name || {}
+ currentNodeName.value = findNodeByTreeId(AssessTreeRef.value?.tree, id)?.name || '' //data?.name || ''
+ currentNodeId.value = id
+ AssessTreeRef.value?.scrollToNode(id)
+ }, 100)
+}
+/**
+ * 递归查找树形结构中匹配treeId的节点对象
+ * @param {Array} treeData - 树形结构数据(数组)
+ * @param {string} targetTreeId - 要查找的treeId
+ * @returns {object|null} 匹配的节点对象(未找到返回null)
+ */
+const findNodeByTreeId = (treeData: any, id: any) => {
+ // 遍历每一个顶层节点
+ for (const node of treeData) {
+ // 1. 当前节点匹配,直接返回
+ if (node.id === id) {
+ return node
+ }
+ // 2. 当前节点有子节点,递归查找子节点
+ if (node.children && Array.isArray(node.children) && node.children.length > 0) {
+ const foundNode: any = findNodeByTreeId(node.children, id)
+ // 子节点中找到则返回(终止递归)
+ if (foundNode) {
+ return foundNode
+ }
+ }
+ }
+ // 遍历完所有节点未找到,返回null
+ return null
+}
+defineExpose({
+ setId
+})
diff --git a/src/views/pqs/supervise/interfere/components/undocumented/index.vue b/src/views/pqs/supervise/interfere/components/undocumented/index.vue
index 8203acbf..ea0b2af7 100644
--- a/src/views/pqs/supervise/interfere/components/undocumented/index.vue
+++ b/src/views/pqs/supervise/interfere/components/undocumented/index.vue
@@ -56,6 +56,7 @@ import { cancelFormData, getUserReportById } from '@/api/supervision-boot/interf
import { ElMessage, ElMessageBox } from 'element-plus'
import { useAdminInfo } from '@/stores/adminInfo'
import { deleteUserReport } from '@/api/supervision-boot/delete/index'
+
//获取登陆用户姓名和部门
const adminInfo = useAdminInfo()
const dictData = useDictData()
@@ -76,7 +77,7 @@ const tableStore = new TableStore({
url: '/supervision-boot/userReport/getUserReport',
publicHeight: 65,
method: 'POST',
- filename:'未建档用户档案录入管理',
+ filename: '未建档用户档案录入管理',
column: [
{
width: '60',
@@ -232,6 +233,26 @@ const tableStore = new TableStore({
click: row => {
cancelLeave(row)
}
+ },
+ {
+ name: 'cancel',
+ title: '二级评估',
+ type: 'primary',
+ icon: 'el-icon-Open',
+ render: 'basicButton',
+ disabled: row => {
+ return row.secondAssessmentId == null
+ },
+ click: row => {
+ push({
+ name: 'runManage/assessment',
+ query: {
+ type: '2',
+ secondAssessmentId:row.secondAssessmentId,
+ t: Date.now()
+ }
+ })
+ }
}
]
}
diff --git a/src/views/pqs/voltageSags/monitoringPoint/transientList/index.vue b/src/views/pqs/voltageSags/monitoringPoint/transientList/index.vue
index f607a2b5..de4a864e 100644
--- a/src/views/pqs/voltageSags/monitoringPoint/transientList/index.vue
+++ b/src/views/pqs/voltageSags/monitoringPoint/transientList/index.vue
@@ -166,10 +166,17 @@ watch(
let type = (route.query.type as string) || 'null'
if (type == 'null') {
} else if (type == '1') {
- setTimeout(() => {
- tableStore.table.params.searchValue = (route.query.name as string) || ''
- tableStore.index()
- },500)
+ setTimeout(() => {
+ tableStore.table.params.searchValue = (route.query.name as string) || ''
+ if (route.query.dicData) {
+ tableStore.table.params.dicData = triggerType.filter(item =>
+ item.name.includes(route.query.dicData as string)
+ )[0]?.id
+ } else {
+ tableStore.table.params.dicData = ''
+ }
+ tableStore.index()
+ }, 500)
}
}
},