diff --git a/src/api/cs-device-boot/frontManagement.ts b/src/api/cs-device-boot/frontManagement.ts new file mode 100644 index 0000000..7f9c5a1 --- /dev/null +++ b/src/api/cs-device-boot/frontManagement.ts @@ -0,0 +1,56 @@ +import createAxios from '@/utils/request' + +// 新增前置机 +export function addNode(data: any) { + return createAxios({ + url: '/cs-device-boot/node/addNode', + method: 'post', + data: data + }) +} + +//修改前置机 +export function updateNode(data: any) { + return createAxios({ + url: '/cs-device-boot/node/updateNode', + method: 'put', + data: data + }) +} + + +//删除前置机 +export function delNode(data: any) { + return createAxios({ + url: '/cs-device-boot/node/delNode', + method: 'post', + params: { id: data } + }) +} + +//查询前置-进程-设备-设备树 +export function nodeDeviceTree(data: any) { + return createAxios({ + url: '/cs-device-boot/node/getProcessNoAndDeviceById', + method: 'get', + params: data + }) +} + +//重启前置机进程 +export function restartProcess(data: any) { + return createAxios({ + url: '/cs-device-boot/node/restartProcess', + method: 'post', + params: data + }) +} + +//更新进程号 +export function updateProcess(data: any) { + return createAxios({ + url: '/cs-device-boot/node/updateDevProcessNo', + method: 'post', + params: data + }) +} \ No newline at end of file diff --git a/src/components/tree/govern/cloudDeviceEntryTree.vue b/src/components/tree/govern/cloudDeviceEntryTree.vue index 9d23c35..4c0a88d 100644 --- a/src/components/tree/govern/cloudDeviceEntryTree.vue +++ b/src/components/tree/govern/cloudDeviceEntryTree.vue @@ -29,7 +29,6 @@ const width = ref('') const info = (selectedNodeId?: string) => { - console.log('tree.value:', selectedNodeId); tree.value = [] let arr1: any[] = [] getCldTree().then(res => { diff --git a/src/views/govern/cloudDeviceEntry/index.vue b/src/views/govern/cloudDeviceEntry/index.vue index a23d680..a92c564 100644 --- a/src/views/govern/cloudDeviceEntry/index.vue +++ b/src/views/govern/cloudDeviceEntry/index.vue @@ -69,6 +69,7 @@ label-width="120px" :inline="true" ref="mainForm" + > @@ -180,6 +185,7 @@ -
+
@@ -366,11 +373,12 @@
-
+
@@ -714,12 +722,10 @@ const nodeDataList=ref() const nodeEventList=ref() const nodeClick = (e: anyObj, data: any) => { - console.log(e, data) nodeDataList.value = data nodeEventList.value = e treeClickCount.value++ if (treeClickCount.value > 2) return - if (treeClickCount.value > 2) return if (treeClickCount.value == 1) { if (pageStatus.value == 2 || pageStatus.value == 3) { if (pageStatus.value == 3 || pageStatus.value == 2) { @@ -749,12 +755,54 @@ const nodeClick = (e: anyObj, data: any) => { }else if(nodeData.value.level == 4){ //监测点 nodeLevel.value = 4 } - + // 根据节点层级清理不需要的数据 + cleanUnnecessaryData() /**不是根节点请求数据 */ queryNodeContent() treeClickCount.value = 0 } + +/** + * 根据当前节点层级清理不需要的数据 + */ +const cleanUnnecessaryData = () => { + // 根据当前节点层级清理不需要的数据 + switch(nodeLevel.value) { + case 0: // 根节点 + // 清理所有数据 + projectInfoList.value = [] + deviceInfoList.value = [] + lineInfoList.value = [] + break + case 1: // 工程节点 + // 清理设备和监测点数据 + deviceInfoList.value = [] + lineInfoList.value = [] + break + case 2: // 项目节点 + // 清理监测点数据 + lineInfoList.value = [] + break + case 3: // 设备节点 + // 不清理任何数据 + break + case 4: // 监测点节点 + // 不清理任何数据 + break + } + + // 重置tab索引 + if (nodeLevel.value < 2) { + deviceIndex.value = '0' + } + if (nodeLevel.value < 3) { + busBarIndex.value = '0' + } + if (nodeLevel.value < 4) { + lineIndex.value = '0' + } +} const getparentsNode = (node: any) => { // 检查node是否存在以及是否有parent属性 if (!node || !node.parent) { @@ -818,6 +866,10 @@ const add = () => { engineeringParam.value.description = '' engineeringParam.value.name = '' engineeringParam.value.province = '' + // 清理其他层级数据 + projectInfoList.value = [] + deviceInfoList.value = [] + lineInfoList.value = [] break case 1: // 新增项目,添加一个新的项目tab // 添加一个新的空项目到projectInfoList @@ -827,6 +879,9 @@ const add = () => { description: '' }) deviceIndex.value = (projectInfoList.value.length - 1).toString() + // 清理设备和监测点数据 + deviceInfoList.value = [] + lineInfoList.value = [] break case 2: // 新增设备,添加一个新的设备tab // 添加一个新的空设备到deviceInfoList @@ -842,6 +897,8 @@ const add = () => { sort: 0 }) busBarIndex.value = (deviceInfoList.value.length - 1).toString() + // 清理监测点数据 + lineInfoList.value = [] break case 3: // 新增监测点,添加一个新的监测点tab // 添加一个新的空监测点到lineInfoList @@ -943,7 +1000,7 @@ const updateProjectFunc = (id: any) => { message: '修改项目成功' }) pageStatus.value = 1 - TerminalRef.value.info() + treedata() }) } /** @@ -1037,7 +1094,7 @@ const updateLineFunc = (id: any) => { message: '修改监测点成功' }) pageStatus.value = 1 - TerminalRef.value.info() + treedata() }) } @@ -1088,14 +1145,13 @@ const remove = () => { case 2: // 项目层级 // 删除项目后选中工程节点 const engineeringId = nodeData.value.pids ? nodeData.value.pids.split(',')[1] : null - console.log(engineeringId) deleteProject(nodeData.value.id,'','','', 0).then((res: any) => { ElMessage({ type: 'success', message: res.message }) reaseStatus() - + console.log('engineeringId',engineeringId) if (engineeringId) { setTimeout(() => { treedata(engineeringId) @@ -1159,74 +1215,85 @@ const remove = () => { } // 下一步 const next = async () => { - // 在新增模式下(pageStatus == 2)保存当前数据并创建下一个层级的Tab - switch (nodeLevel.value) { - case 0: // 工程层级,下一步创建项目Tab - // 保存当前工程信息到临时存储 - tempAllLevelData.value.engineering = { ...engineeringParam.value } - - // 创建新的项目Tab - projectInfoList.value.push({ - name: '', - area: '', - description: '', - }) - deviceIndex.value = (projectInfoList.value.length - 1).toString() - nextfalg.value = false - nodeLevel.value = 1 - break - case 1: // 项目层级,下一步创建设备Tab - // 保存当前项目信息到临时存储 - const currentProject = { ...projectInfoList.value[deviceIndex.value] } - tempAllLevelData.value.projects[deviceIndex.value] = currentProject - - // 创建新的设备Tab - deviceInfoList.value.push({ - name: '', - devModel: '', - devType: '', - devAccessMethod: 'CLD', - mac: '', - ndid: '', - nodeId: '', - cntractNo: '', - sort: 0 - }) - busBarIndex.value = (deviceInfoList.value.length - 1).toString() - nextfalg.value = false - nodeLevel.value = 2 - break - case 2: // 设备层级,下一步创建监测点Tab - // 保存当前设备信息到临时存储 - const currentDevice = { ...deviceInfoList.value[busBarIndex.value] } - tempAllLevelData.value.devices[busBarIndex.value] = currentDevice - - // 创建新的监测点Tab - lineInfoList.value.push({ - name: '', - lineNo: 1, - conType: 0, - lineInterval: 1, - ptRatio: 0, - pt2Ratio: 0, - ctRatio: 0, - ct2Ratio: 0, - volGrade: '', - devMac: '', - }) - lineIndex.value = (lineInfoList.value.length - 1).toString() - nextfalg.value = false - nodeLevel.value = 3 - break - case 3: // 监测点层级 - // 保存当前监测点信息到临时存储 - const currentLine = { ...lineInfoList.value[lineIndex.value] } - tempAllLevelData.value.lines[lineIndex.value] = currentLine - - nextfalg.value = true - nodeLevel.value = 4 - break - } + console.log('mainForm',mainForm.value.validate) + await mainForm.value?.validate((valid: boolean) => { + console.log('valid', valid) + if (valid) { + + } + }) + +} + +const executeNextStep = () => { + // 在新增模式下(pageStatus == 2)保存当前数据并创建下一个层级的Tab + switch (nodeLevel.value) { + case 0: // 工程层级,下一步创建项目Tab + // 保存当前工程信息到临时存储 + tempAllLevelData.value.engineering = { ...engineeringParam.value } + + // 创建新的项目Tab + projectInfoList.value.push({ + name: '', + area: '', + description: '', + }) + deviceIndex.value = (projectInfoList.value.length - 1).toString() + nextfalg.value = false + nodeLevel.value = 1 + break + case 1: // 项目层级,下一步创建设备Tab + // 保存当前项目信息到临时存储 + const currentProject = { ...projectInfoList.value[deviceIndex.value] } + tempAllLevelData.value.projects[deviceIndex.value] = currentProject + + // 创建新的设备Tab + deviceInfoList.value.push({ + name: '', + devModel: '', + devType: '', + devAccessMethod: 'CLD', + mac: '', + ndid: '', + nodeId: '', + cntractNo: '', + sort: 0 + }) + busBarIndex.value = (deviceInfoList.value.length - 1).toString() + nextfalg.value = false + nodeLevel.value = 2 + break + case 2: // 设备层级,下一步创建监测点Tab + // 保存当前设备信息到临时存储 + const currentDevice = { ...deviceInfoList.value[busBarIndex.value] } + tempAllLevelData.value.devices[busBarIndex.value] = currentDevice + + // 创建新的监测点Tab + lineInfoList.value.push({ + name: '', + lineNo: 1, + conType: 0, + lineInterval: 1, + ptRatio: 0, + pt2Ratio: 0, + ctRatio: 0, + ct2Ratio: 0, + volGrade: '', + devMac: '', + }) + lineIndex.value = (lineInfoList.value.length - 1).toString() + nextfalg.value = false + nodeLevel.value = 3 + break + case 3: // 监测点层级 + // 保存当前监测点信息到临时存储 + const currentLine = { ...lineInfoList.value[lineIndex.value] } + tempAllLevelData.value.lines[lineIndex.value] = currentLine + + nextfalg.value = true + nodeLevel.value = 4 + break + } } // 撤销 @@ -1823,8 +1890,8 @@ const handleDeviceTabsEdit = (targetName: any, action: any) => { cancelButtonText: '取消', type: 'warning' }).then(() => { - // 如果是编辑现有项目 - if (pageStatus.value === 3 && projectInfoList.value[deviceIndex.value]?.id) { + // 删除项目 + if (projectInfoList.value[deviceIndex.value]?.id) { deleteProject( projectInfoList.value[deviceIndex.value].id, projectInfoList.value[deviceIndex.value].name, @@ -1845,7 +1912,8 @@ const handleDeviceTabsEdit = (targetName: any, action: any) => { // 重置相关索引 busBarIndex.value = '0' lineIndex.value = '0' - TerminalRef.value.info() + pageStatus.value = 1 + treedata() }) } else { // 如果是新增模式下删除未保存的项目 @@ -1895,7 +1963,7 @@ const handleBusBarTabsEdit = (targetName: any, action: any) => { type: 'warning' }).then(() => { // 如果是编辑现有设备 - if (pageStatus.value === 3 && deviceInfoList.value[busBarIndex.value]?.id) { + if ( deviceInfoList.value[busBarIndex.value]?.id) { deleteEquipment(deviceInfoList.value[busBarIndex.value].id).then((res: any) => { ElMessage({ type: 'success', @@ -1908,7 +1976,8 @@ const handleBusBarTabsEdit = (targetName: any, action: any) => { ? (deviceInfoList.value.length - 1).toString() : '0' lineIndex.value = '0' - TerminalRef.value.info() + pageStatus.value = 1 + treedata() }) } else { // 如果是新增模式下删除未保存的设备 @@ -1958,8 +2027,8 @@ const handleLineTabsEdit = (targetName: any, action: any) => { type: 'warning' }).then(() => { // 如果是编辑现有监测点 - if (pageStatus.value === 3 && lineInfoList.value[lineIndex.value]?.id) { - deleteLine(lineInfoList.value[lineIndex.value].id).then((res: any) => { + if (lineInfoList.value[lineIndex.value]?.lineId) { + deleteLine(lineInfoList.value[lineIndex.value].lineId).then((res: any) => { ElMessage({ type: 'success', message: res.message @@ -1970,7 +2039,8 @@ const handleLineTabsEdit = (targetName: any, action: any) => { lineIndex.value = lineInfoList.value.length ? (lineInfoList.value.length - 1).toString() : '0' - TerminalRef.value.info() + pageStatus.value = 1 + treedata() }) } else { // 如果是新增模式下删除未保存的监测点 @@ -1991,6 +2061,7 @@ const handleLineTabsEdit = (targetName: any, action: any) => { }) } } + const tabChange = (type: string) => { if (type == 'deviceIndex') { busBarIndex.value = '0' @@ -2006,6 +2077,9 @@ const treedata = (selectedNodeId?: string) => { } else { TerminalRef.value.info(); } + + titleList.value = [] + titleList.value.unshift('在线设备') } /** * 重置初始状态 diff --git a/src/views/govern/device/control/index.vue b/src/views/govern/device/control/index.vue index fcab29b..7c3c54f 100644 --- a/src/views/govern/device/control/index.vue +++ b/src/views/govern/device/control/index.vue @@ -983,10 +983,8 @@ const getRealDataMqttMsg = async () => { // JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message)))) // ) let obj = JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message)))) - // console.log("🚀 ~ mqttRef.value.on ~ obj:", obj) - if (lineId.value != obj.lineId && adminInfo.userIndex != obj.userId) return - // console.log("🚀 ~ mqttRef.value.on ~ obj:", obj) - // console.log("🚀 ~ mqttRef.value.on ~ formInline.dataLevel:", obj.dataLevel, formInline.dataLevel) + + if (lineId.value != obj.lineId || adminInfo.userIndex != obj.userId) return //处理mqtt数据 1转2除 2转1乘 //如果消息返回值是二次值,下拉框是二次值只需要单位换算 除以1000 @@ -1101,6 +1099,7 @@ const getRealDataMqttMsg = async () => { } if (obj.hasOwnProperty('pA') && obj.hasOwnProperty('pB')) { mqttMessage.value = obj + //更新实时数据主页面值 realTimeFlag.value && realTimeRef.value && realTimeRef.value.setRealData(mqttMessage.value) tableLoading.value = false diff --git a/src/views/govern/device/control/tabs/event.vue b/src/views/govern/device/control/tabs/event.vue index c937821..9810580 100644 --- a/src/views/govern/device/control/tabs/event.vue +++ b/src/views/govern/device/control/tabs/event.vue @@ -56,6 +56,7 @@ const tableStore: any = new TableStore({ title: '持续时间(s)', minWidth: 100, formatter: (row: any) => { + console.log('row.cellValue', row.cellValue) row.cellValue = row.cellValue ? row.cellValue.toFixed(2) : '/' return row.cellValue }, sortable: true @@ -65,7 +66,8 @@ const tableStore: any = new TableStore({ title: '暂降(聚升)幅值(%)', width: 100, formatter: (row: any) => { - row.cellValue = row.cellValue + '' ? row.cellValue.toFixed(2) : '/' + //row.cellValue = row.cellValue + '' ? row.cellValue.toFixed(2) : '/' + row.cellValue = row.cellValue != null ? Number(row.cellValue).toFixed(2) : '/' if (String(row.cellValue).split('.')[1] == '00') { row.cellValue = String(row.cellValue).split('.')[0] } diff --git a/src/views/govern/setting/frontManagement/index.vue b/src/views/govern/setting/frontManagement/index.vue new file mode 100644 index 0000000..1160d80 --- /dev/null +++ b/src/views/govern/setting/frontManagement/index.vue @@ -0,0 +1,593 @@ + + + +