From 1d890be85d650e3ddced95a316cbc52b0f0e77c3 Mon Sep 17 00:00:00 2001 From: sheng <905537351@qq.com> Date: Tue, 23 Jun 2026 16:31:42 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E8=BF=81=E7=A7=BBSCADA=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scada-manage/device-gather-management.js | 10 + src/api/scada-manage/edge-manager.js | 108 ++++++ src/api/scada-manage/workshop-config.js | 19 + src/api/scada-manage/workshop-point.js | 25 ++ src/locales/en.json | 344 +++++++++++++++++- src/locales/zh-chs.json | 344 +++++++++++++++++- src/router/modules/scada-management.js | 23 ++ src/router/routes.js | 4 +- .../scada_configure/index.vue | 198 ++++++++++ 9 files changed, 1072 insertions(+), 3 deletions(-) create mode 100644 src/api/scada-manage/device-gather-management.js create mode 100644 src/api/scada-manage/edge-manager.js create mode 100644 src/api/scada-manage/workshop-config.js create mode 100644 src/api/scada-manage/workshop-point.js create mode 100644 src/router/modules/scada-management.js create mode 100644 src/views/scada_manage/basic_configuration/scada_configure/index.vue diff --git a/src/api/scada-manage/device-gather-management.js b/src/api/scada-manage/device-gather-management.js new file mode 100644 index 00000000..a5084019 --- /dev/null +++ b/src/api/scada-manage/device-gather-management.js @@ -0,0 +1,10 @@ +import { request } from '@/api/_service' + +const BASE = 'scada_manage/device_gather_management/management/' + +export function getDeviceGatherManagementAll (data) { + return request({ url: BASE + 'all', method: 'post', data: { method: 'scada_manage_device_gather_management_management_all', platform: 'background', ...data } }) +} +export function deviceDataExportTask (data) { + return request({ url: BASE + 'device_data_export_task', method: 'post', data: { method: 'scada_manage_device_gather_management_management_device_data_export_task', platform: 'background', ...data } }) +} diff --git a/src/api/scada-manage/edge-manager.js b/src/api/scada-manage/edge-manager.js new file mode 100644 index 00000000..ae9b5294 --- /dev/null +++ b/src/api/scada-manage/edge-manager.js @@ -0,0 +1,108 @@ +import axios from 'axios' +import { request } from '@/api/_service' + +const EDGE_BASE = process.env.VUE_APP_HSLSERVER_API +const EDGE_PASSWORD = process.env.VUE_APP_HSLSERVER_PASSWORD + +function edgeUrl (query = '') { + return query ? `${EDGE_BASE}?${query}` : EDGE_BASE +} + +export function edgeGet (url) { + return axios({ method: 'get', url }).then(res => res.data) +} + +export function edgePost (url, data) { + return axios({ method: 'post', url, data }).then(res => res.data) +} + +export function addNode (data) { return edgePost(EDGE_BASE, data) } +export function updateNode (data) { return edgePost(EDGE_BASE, data) } +export function removeNode (data) { return edgePost(EDGE_BASE, data) } + +export function getQueryNode (data = {}) { + const params = new URLSearchParams() + params.set('query', 'nodes') + params.set('currentPage', data.currentPage || data.page_no || 1) + params.set('pageSize', data.pageSize || data.page_size || 10) + params.set('working_subclass', data.working_subclass || '') + params.set('category', data.categoryName || data.category || '') + return edgeGet(edgeUrl(params.toString())) +} + +export function getQueryWorkingSubclasses (data = {}) { + const params = new URLSearchParams() + params.set('query', 'working_subclasses') + if (data.device_code) params.set('device_code', data.device_code) + return edgeGet(edgeUrl(params.toString())) +} + +export function getQueryCodes (workingSubclass, deviceCode) { + const params = new URLSearchParams() + params.set('query', 'codes') + params.set('working_subclass', workingSubclass || '') + if (deviceCode) params.set('device_code', deviceCode) + return edgeGet(edgeUrl(params.toString())) +} + +export function getNodeValue () { return edgeGet(edgeUrl('query=nodes_value')) } +export function getNodeAll () { return edgeGet(edgeUrl('query=nodes_all')) } + +export function getNodeMappingDeviceList (data = {}) { + const params = new URLSearchParams() + params.set('query', 'node_mapping_device_list') + if (data.page_no !== undefined) params.set('currentPage', data.page_no) + if (data.page_size !== undefined) params.set('pageSize', data.page_size) + if (data.scada_data_capture_node_code) params.set('scada_data_capture_node_code', data.scada_data_capture_node_code) + if (data.device_code) params.set('device_code', data.device_code) + return edgeGet(edgeUrl(params.toString())) +} + +export function addNodeMappingDevice (data) { return edgePost(EDGE_BASE, data) } +export function editNodeMappingDevice (data) { return edgePost(EDGE_BASE, data) } +export function delNodeMappingDevice (data) { return edgePost(EDGE_BASE, data) } + +export function getExecLog (data = {}) { + const params = new URLSearchParams() + params.set('query', 'get_exec_log') + params.set('page_no', data.page_no || 1) + params.set('page_size', data.page_size || 10) + if (data.create_date) params.set('create_date', data.create_date) + if (data.command) params.set('command', data.command) + if (data.server_name) params.set('server_name', data.server_name) + if (data.device_name) params.set('device_name', data.device_name) + return edgeGet(edgeUrl(params.toString())) +} + +export function getQueryNodeData (data = {}) { + const params = new URLSearchParams() + params.set('query', 'node_data') + params.set('startRow', data.startRow || 0) + params.set('endRow', data.endRow || 50) + params.set('working_subclass', data.workingSubclass || data.working_subclass || '') + params.set('wipCode', data.wipCode || '') + params.set('start_time', data.startTime || '') + params.set('end_time', data.endTime || '') + params.set('dedup', data.dedup === undefined ? 1 : data.dedup) + if (data.code) params.set('code', Array.isArray(data.code) ? data.code.join(',') : data.code) + if (data.device_code) params.set('device_code', data.device_code) + return edgeGet(edgeUrl(params.toString())) +} + +export function queryServers () { return request({ url: `${EDGE_BASE}?query=servers` }) } +export function addServer (data) { return request({ url: EDGE_BASE, method: 'post', data }) } +export function updateServer (data) { return request({ url: EDGE_BASE, method: 'post', data }) } +export function removeServer (data) { return request({ url: EDGE_BASE, method: 'post', data }) } +export function setServerExec (data) { return request({ url: EDGE_BASE, method: 'post', data }) } + +export function verifyServer (url) { + return request({ auth: { username: 'admin', password: EDGE_PASSWORD }, method: 'post', url: `${url}/Admin/ServerSettingsRequest` }) +} + +export function modifyServer (url, data) { + return request({ auth: { username: 'admin', password: EDGE_PASSWORD }, method: 'post', url: `${url}/Admin/ServerSettingsModify`, data }) +} + +export function getServeDeviceMonitoring (url) { + return request({ auth: { username: 'admin', password: EDGE_PASSWORD }, url: `${url}/Edge/DeviceData?data=/` }) +} diff --git a/src/api/scada-manage/workshop-config.js b/src/api/scada-manage/workshop-config.js new file mode 100644 index 00000000..00c1df97 --- /dev/null +++ b/src/api/scada-manage/workshop-config.js @@ -0,0 +1,19 @@ +import { request } from '@/api/_service' + +const BASE = 'scada_manage/workshop/config/' + +export function getWorkshopConfigAll (data) { + return request({ url: BASE + 'all', method: 'get', params: { method: 'scada_manage_workshop_config_all', platform: 'background', ...data } }) +} +export function getWorkshopConfigList (data) { + return request({ url: BASE + 'list', method: 'get', params: { method: 'scada_manage_workshop_config_list', platform: 'background', ...data } }) +} +export function createWorkshopConfig (data) { + return request({ url: BASE + 'create', method: 'post', data: { method: 'scada_manage_workshop_config_create', platform: 'background', ...data } }) +} +export function editWorkshopConfig (data) { + return request({ url: BASE + 'edit', method: 'put', data: { method: 'scada_manage_workshop_config_edit', platform: 'background', ...data } }) +} +export function deleteWorkshopConfig (data) { + return request({ url: BASE + 'delete', method: 'delete', data: { method: 'scada_manage_workshop_config_delete', platform: 'background', ...data } }) +} diff --git a/src/api/scada-manage/workshop-point.js b/src/api/scada-manage/workshop-point.js new file mode 100644 index 00000000..8348db0a --- /dev/null +++ b/src/api/scada-manage/workshop-point.js @@ -0,0 +1,25 @@ +import { request } from '@/api/_service' + +const BASE = 'scada_manage/workshop/point/' + +export function getWorkshopPointAll (data) { + return request({ url: BASE + 'all', method: 'get', params: { method: 'scada_manage_workshop_point_all', platform: 'background', ...data } }) +} +export function getWorkshopPointList (data) { + return request({ url: BASE + 'list', method: 'get', params: { method: 'scada_manage_workshop_point_list', platform: 'background', ...data } }) +} +export function createWorkshopPoint (data) { + return request({ url: BASE + 'create', method: 'post', data: { method: 'scada_manage_workshop_point_create', platform: 'background', ...data } }) +} +export function editWorkshopPoint (data) { + return request({ url: BASE + 'edit', method: 'put', data: { method: 'scada_manage_workshop_point_edit', platform: 'background', ...data } }) +} +export function deleteWorkshopPoint (data) { + return request({ url: BASE + 'delete', method: 'delete', data: { method: 'scada_manage_workshop_point_delete', platform: 'background', ...data } }) +} +export function importExcel (data) { + return request({ url: BASE + 'import', method: 'post', data: { method: 'scada_manage_workshop_point_delete', platform: 'background', ...data } }) +} +export function getWorkshopNodeAll (data) { + return request({ url: BASE + 'node_all', method: 'get', data: { method: 'scada_manage_workshop_point_node_all', platform: 'background', ...data } }) +} diff --git a/src/locales/en.json b/src/locales/en.json index 641b7a2c..d83c14fd 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -4877,7 +4877,349 @@ "sample_value": "Sample Value" } } - }, + , + "scada_manage": { + "basic_configuration": { + "scada_configure": { + "search": "Search", + "reset": "Reset", + "query": "Query", + "add": "Add", + "edit": "Edit", + "delete": "Delete", + "operation": "Operation", + "confirm": "Confirm", + "cancel": "Cancel", + "tip": "Tip", + "confirm_delete": "Confirm this operation?", + "operation_success": "Operation succeeded", + "please_select": "Please select records", + "sort": "No.", + "code": "Code", + "name": "Name", + "remark": "Remark", + "note": "Note", + "create_time": "Create Time", + "created_time": "Created Time", + "add_title": "Add", + "edit_title": "Edit", + "enter_code": "Enter code", + "enter_name": "Enter name", + "enter_remark": "Enter remark", + "type": "Type", + "data_category": "Data Category", + "working_subclass": "Process Unit", + "data_length": "Data Length", + "unit": "Unit", + "select_type": "Select type", + "select_data_category": "Select data category", + "select_working_subclass": "Select process unit", + "enter_data_length": "Enter data length", + "enter_unit": "Enter unit", + "device_status": "Device Status", + "item_id_item": "Item ID Item", + "device_data": "Device Data", + "process_data": "Process Data", + "result_data": "Result Data", + "statistical_data": "Statistical Data", + "inspection_data": "Inspection Data", + "batch_import": "Batch Import", + "download_template": "Download Template" + }, + "ems_configure": { + "search": "Search", + "reset": "Reset", + "query": "Query", + "add": "Add", + "edit": "Edit", + "delete": "Delete", + "operation": "Operation", + "confirm": "Confirm", + "cancel": "Cancel", + "tip": "Tip", + "confirm_delete": "Confirm this operation?", + "operation_success": "Operation succeeded", + "please_select": "Please select records", + "sort": "No.", + "code": "Code", + "name": "Name", + "remark": "Remark", + "note": "Note", + "create_time": "Create Time", + "created_time": "Created Time", + "add_title": "Add", + "edit_title": "Edit", + "enter_code": "Enter code", + "enter_name": "Enter name", + "enter_remark": "Enter remark", + "type": "Type", + "data_category": "Data Category", + "working_subclass": "Process Unit", + "data_length": "Data Length", + "unit": "Unit", + "select_type": "Select type", + "select_data_category": "Select data category", + "select_working_subclass": "Select process unit", + "enter_data_length": "Enter data length", + "enter_unit": "Enter unit", + "device_status": "Device Status", + "item_id_item": "Item ID Item", + "device_data": "Device Data", + "process_data": "Process Data", + "result_data": "Result Data", + "statistical_data": "Statistical Data", + "inspection_data": "Inspection Data", + "batch_import": "Batch Import", + "download_template": "Download Template", + "environmental_data": "Environmental Data" + }, + "node_mapping_device_code": { + "search": "Search", + "reset": "Reset", + "query": "Query", + "add": "Add", + "edit": "Edit", + "delete": "Delete", + "operation": "Operation", + "confirm": "Confirm", + "cancel": "Cancel", + "tip": "Tip", + "confirm_delete": "Confirm this operation?", + "operation_success": "Operation succeeded", + "please_select": "Please select records", + "sort": "No.", + "code": "Code", + "name": "Name", + "remark": "Remark", + "note": "Note", + "create_time": "Create Time", + "created_time": "Created Time", + "add_title": "Add", + "edit_title": "Edit", + "enter_code": "Enter code", + "enter_name": "Enter name", + "enter_remark": "Enter remark", + "add_mapping": "Add Mapping", + "edit_mapping": "Edit Mapping", + "node_code": "Node Code", + "enter_node_code": "Enter node code", + "node_name": "Node Name", + "mapping_device": "Mapping Device", + "device_code": "Device Code", + "select_device_code": "Select device code", + "process_unit": "Process Unit", + "select_process_unit": "Select process unit", + "data_node": "Data Node", + "select_data_node": "Select data node", + "enter_note": "Enter note" + }, + "edgeserverconfigure": { + "search": "Search", + "reset": "Reset", + "query": "Query", + "add": "Add", + "edit": "Edit", + "delete": "Delete", + "operation": "Operation", + "confirm": "Confirm", + "cancel": "Cancel", + "tip": "Tip", + "confirm_delete": "Confirm this operation?", + "operation_success": "Operation succeeded", + "please_select": "Please select records", + "sort": "No.", + "code": "Code", + "name": "Name", + "remark": "Remark", + "note": "Note", + "create_time": "Create Time", + "created_time": "Created Time", + "add_title": "Add", + "edit_title": "Edit", + "enter_code": "Enter code", + "enter_name": "Enter name", + "enter_remark": "Enter remark", + "status": "Status", + "updated": "Updated", + "changed": "Changed", + "port": "Port", + "address": "Address", + "service_name": "Service Name", + "enter_service_name": "Enter service name", + "unique_identifier": "Unique Identifier", + "unique_identifier_tip": "Returned after test succeeds", + "enter_url": "Enter service URL", + "enter_port": "Enter port", + "enter_address": "Enter binding address", + "test": "Test", + "test_success": "Test passed", + "device_configuration": "Device Configuration", + "restart_service": "Restart Service", + "confirm_restart": "Restart this service?", + "request_success": "Request succeeded and was added to queue", + "device_config_tip": "Device configuration is migrated to a drawer and can be extended here." + }, + "edgeservermonitor": { + "device_type": "Device Type", + "ip_port": "IP/Port", + "activity_time": "Activity Time", + "success_count": "Success Count", + "failure_count": "Failure Count", + "device_stop": "Stop", + "device_continue": "Start", + "request_success": "Request succeeded" + }, + "edgeserver_log": { + "search": "Search", + "reset": "Reset", + "query": "Query", + "add": "Add", + "edit": "Edit", + "delete": "Delete", + "operation": "Operation", + "confirm": "Confirm", + "cancel": "Cancel", + "tip": "Tip", + "confirm_delete": "Confirm this operation?", + "operation_success": "Operation succeeded", + "please_select": "Please select records", + "sort": "No.", + "code": "Code", + "name": "Name", + "remark": "Remark", + "note": "Note", + "create_time": "Create Time", + "created_time": "Created Time", + "add_title": "Add", + "edit_title": "Edit", + "enter_code": "Enter code", + "enter_name": "Enter name", + "enter_remark": "Enter remark", + "server_name": "Server Name", + "device_name": "Device Name", + "command": "Command", + "status": "Status", + "success": "Success", + "danger": "Failure", + "server_restart": "Restart Server", + "server_close": "Close Server", + "device_stop": "Stop Device", + "device_continue": "Continue Device", + "stop_device": "Stop Device", + "warning_device": "Warning Device" + }, + "scada_query": { + "workingsubclass": "Process Unit", + "node_code": "Node Code", + "collection_time": "Collection Time", + "to": "to", + "time_start": "Start Time", + "time_end": "End Time", + "yes": "Yes", + "no": "No", + "select_all_nodes": "Select All Nodes", + "query": "Query", + "export_excel": "Export Excel", + "export_task_created": "Export task created" + }, + "ems_query": { + "workingsubclass": "Process Unit", + "node_code": "Node Code", + "collection_time": "Collection Time", + "to": "to", + "time_start": "Start Time", + "time_end": "End Time", + "yes": "Yes", + "no": "No", + "select_all_nodes": "Select All Nodes", + "query": "Query", + "export_excel": "Export Excel", + "export_task_created": "Export task created" + } + }, + "workshop_manage": { + "workshop_config": { + "search": "Search", + "reset": "Reset", + "query": "Query", + "add": "Add", + "edit": "Edit", + "delete": "Delete", + "operation": "Operation", + "confirm": "Confirm", + "cancel": "Cancel", + "tip": "Tip", + "confirm_delete": "Confirm this operation?", + "operation_success": "Operation succeeded", + "please_select": "Please select records", + "sort": "No.", + "code": "Code", + "name": "Name", + "remark": "Remark", + "note": "Note", + "create_time": "Create Time", + "created_time": "Created Time", + "add_title": "Add", + "edit_title": "Edit", + "enter_code": "Enter code", + "enter_name": "Enter name", + "enter_remark": "Enter remark", + "building": "Building", + "floor": "Floor", + "enter_building": "Enter building", + "enter_floor": "Enter floor" + }, + "workshop_point": { + "search": "Search", + "reset": "Reset", + "query": "Query", + "add": "Add", + "edit": "Edit", + "delete": "Delete", + "operation": "Operation", + "confirm": "Confirm", + "cancel": "Cancel", + "tip": "Tip", + "confirm_delete": "Confirm this operation?", + "operation_success": "Operation succeeded", + "please_select": "Please select records", + "sort": "No.", + "code": "Code", + "name": "Name", + "remark": "Remark", + "note": "Note", + "create_time": "Create Time", + "created_time": "Created Time", + "add_title": "Add", + "edit_title": "Edit", + "enter_code": "Enter code", + "enter_name": "Enter name", + "enter_remark": "Enter remark", + "workshop_name": "Workshop", + "select_workshop": "Select workshop", + "category": "Point Type", + "select_category": "Select point type", + "workshop_area": "Workshop Area", + "single_device": "Single Device", + "offline_area": "Offline Area" + } + }, + "device_gather": { + "battery_device_gather_monitor": { + "device_type": "Device Type", + "ip_port": "IP/Port", + "activity_time": "Activity Time", + "success_count": "Success Count", + "failure_count": "Failure Count", + "device_stop": "Stop", + "device_continue": "Start", + "request_success": "Request succeeded", + "refresh": "Refresh", + "last_refresh_time": "Last Refresh Time", + "stop_device": "Stop Device" + } + } + }}, "__MENU_TEMP_BEGIN__": "===== 以下为临时菜单翻译,后续统一删除 =====", "设备类型": "Device Type", "首页": "Home", diff --git a/src/locales/zh-chs.json b/src/locales/zh-chs.json index 78c5def4..bb0491fc 100644 --- a/src/locales/zh-chs.json +++ b/src/locales/zh-chs.json @@ -4877,7 +4877,349 @@ "sample_value": "样本值" } } - }, + , + "scada_manage": { + "basic_configuration": { + "scada_configure": { + "search": "查询", + "reset": "重置", + "query": "查询", + "add": "新增", + "edit": "编辑", + "delete": "删除", + "operation": "操作", + "confirm": "确定", + "cancel": "取消", + "tip": "提示", + "confirm_delete": "确定要执行该操作吗?", + "operation_success": "操作成功", + "please_select": "请选择要操作的数据", + "sort": "序号", + "code": "编码", + "name": "名称", + "remark": "备注", + "note": "备注", + "create_time": "创建时间", + "created_time": "创建日期", + "add_title": "新增", + "edit_title": "编辑", + "enter_code": "请输入编码", + "enter_name": "请输入名称", + "enter_remark": "请输入备注", + "type": "类型", + "data_category": "数据类别", + "working_subclass": "工序单元", + "data_length": "数据长度", + "unit": "单位", + "select_type": "请选择类型", + "select_data_category": "请选择数据类别", + "select_working_subclass": "请选择工序单元", + "enter_data_length": "请输入数据长度", + "enter_unit": "请输入单位", + "device_status": "设备状态", + "item_id_item": "条码项", + "device_data": "设备数据", + "process_data": "过程数据", + "result_data": "结果数据", + "statistical_data": "统计数据", + "inspection_data": "点检数据", + "batch_import": "批量导入", + "download_template": "下载模板" + }, + "ems_configure": { + "search": "查询", + "reset": "重置", + "query": "查询", + "add": "新增", + "edit": "编辑", + "delete": "删除", + "operation": "操作", + "confirm": "确定", + "cancel": "取消", + "tip": "提示", + "confirm_delete": "确定要执行该操作吗?", + "operation_success": "操作成功", + "please_select": "请选择要操作的数据", + "sort": "序号", + "code": "编码", + "name": "名称", + "remark": "备注", + "note": "备注", + "create_time": "创建时间", + "created_time": "创建日期", + "add_title": "新增", + "edit_title": "编辑", + "enter_code": "请输入编码", + "enter_name": "请输入名称", + "enter_remark": "请输入备注", + "type": "类型", + "data_category": "数据类别", + "working_subclass": "工序单元", + "data_length": "数据长度", + "unit": "单位", + "select_type": "请选择类型", + "select_data_category": "请选择数据类别", + "select_working_subclass": "请选择工序单元", + "enter_data_length": "请输入数据长度", + "enter_unit": "请输入单位", + "device_status": "设备状态", + "item_id_item": "条码项", + "device_data": "设备数据", + "process_data": "过程数据", + "result_data": "结果数据", + "statistical_data": "统计数据", + "inspection_data": "点检数据", + "batch_import": "批量导入", + "download_template": "下载模板", + "environmental_data": "环控数据" + }, + "node_mapping_device_code": { + "search": "查询", + "reset": "重置", + "query": "查询", + "add": "新增", + "edit": "编辑", + "delete": "删除", + "operation": "操作", + "confirm": "确定", + "cancel": "取消", + "tip": "提示", + "confirm_delete": "确定要执行该操作吗?", + "operation_success": "操作成功", + "please_select": "请选择要操作的数据", + "sort": "序号", + "code": "编码", + "name": "名称", + "remark": "备注", + "note": "备注", + "create_time": "创建时间", + "created_time": "创建日期", + "add_title": "新增", + "edit_title": "编辑", + "enter_code": "请输入编码", + "enter_name": "请输入名称", + "enter_remark": "请输入备注", + "add_mapping": "新增映射", + "edit_mapping": "编辑映射", + "node_code": "节点编码", + "enter_node_code": "请输入节点编码", + "node_name": "节点名称", + "mapping_device": "映射设备", + "device_code": "设备编码", + "select_device_code": "请选择设备编码", + "process_unit": "工序单元", + "select_process_unit": "请选择工序单元", + "data_node": "数据节点", + "select_data_node": "请选择数据节点", + "enter_note": "请输入备注" + }, + "edgeserverconfigure": { + "search": "查询", + "reset": "重置", + "query": "查询", + "add": "新增", + "edit": "编辑", + "delete": "删除", + "operation": "操作", + "confirm": "确定", + "cancel": "取消", + "tip": "提示", + "confirm_delete": "确定要执行该操作吗?", + "operation_success": "操作成功", + "please_select": "请选择要操作的数据", + "sort": "序号", + "code": "编码", + "name": "名称", + "remark": "备注", + "note": "备注", + "create_time": "创建时间", + "created_time": "创建日期", + "add_title": "新增", + "edit_title": "编辑", + "enter_code": "请输入编码", + "enter_name": "请输入名称", + "enter_remark": "请输入备注", + "status": "状态", + "updated": "更新状态", + "changed": "已变更", + "port": "端口", + "address": "地址", + "service_name": "服务名称", + "enter_service_name": "请输入服务名称", + "unique_identifier": "唯一标识", + "unique_identifier_tip": "测试成功后返回采集服务唯一标识", + "enter_url": "请输入服务地址", + "enter_port": "请输入端口", + "enter_address": "请输入绑定地址", + "test": "测试", + "test_success": "测试通过", + "device_configuration": "设备配置", + "restart_service": "重启服务", + "confirm_restart": "确定要重启该服务吗?", + "request_success": "请求成功,请求动作已添加至请求队列", + "device_config_tip": "设备配置已迁移为独立抽屉,后续可在此扩展采集设备参数。" + }, + "edgeservermonitor": { + "device_type": "设备类型", + "ip_port": "IP/端口", + "activity_time": "活动时间", + "success_count": "成功次数", + "failure_count": "失败次数", + "device_stop": "暂停", + "device_continue": "启动", + "request_success": "请求成功" + }, + "edgeserver_log": { + "search": "查询", + "reset": "重置", + "query": "查询", + "add": "新增", + "edit": "编辑", + "delete": "删除", + "operation": "操作", + "confirm": "确定", + "cancel": "取消", + "tip": "提示", + "confirm_delete": "确定要执行该操作吗?", + "operation_success": "操作成功", + "please_select": "请选择要操作的数据", + "sort": "序号", + "code": "编码", + "name": "名称", + "remark": "备注", + "note": "备注", + "create_time": "创建时间", + "created_time": "创建日期", + "add_title": "新增", + "edit_title": "编辑", + "enter_code": "请输入编码", + "enter_name": "请输入名称", + "enter_remark": "请输入备注", + "server_name": "服务名称", + "device_name": "设备名称", + "command": "命令", + "status": "状态", + "success": "成功", + "danger": "失败", + "server_restart": "重启服务", + "server_close": "关闭服务", + "device_stop": "暂停设备", + "device_continue": "启动设备", + "stop_device": "停止设备", + "warning_device": "告警设备" + }, + "scada_query": { + "workingsubclass": "工序单元", + "node_code": "节点编码", + "collection_time": "采集时间", + "to": "至", + "time_start": "开始时间", + "time_end": "结束时间", + "yes": "是", + "no": "否", + "select_all_nodes": "选择全部节点", + "query": "查询", + "export_excel": "导出Excel", + "export_task_created": "导出任务已创建" + }, + "ems_query": { + "workingsubclass": "工序单元", + "node_code": "节点编码", + "collection_time": "采集时间", + "to": "至", + "time_start": "开始时间", + "time_end": "结束时间", + "yes": "是", + "no": "否", + "select_all_nodes": "选择全部节点", + "query": "查询", + "export_excel": "导出Excel", + "export_task_created": "导出任务已创建" + } + }, + "workshop_manage": { + "workshop_config": { + "search": "查询", + "reset": "重置", + "query": "查询", + "add": "新增", + "edit": "编辑", + "delete": "删除", + "operation": "操作", + "confirm": "确定", + "cancel": "取消", + "tip": "提示", + "confirm_delete": "确定要执行该操作吗?", + "operation_success": "操作成功", + "please_select": "请选择要操作的数据", + "sort": "序号", + "code": "编码", + "name": "名称", + "remark": "备注", + "note": "备注", + "create_time": "创建时间", + "created_time": "创建日期", + "add_title": "新增", + "edit_title": "编辑", + "enter_code": "请输入编码", + "enter_name": "请输入名称", + "enter_remark": "请输入备注", + "building": "楼栋", + "floor": "楼层", + "enter_building": "请输入楼栋", + "enter_floor": "请输入楼层" + }, + "workshop_point": { + "search": "查询", + "reset": "重置", + "query": "查询", + "add": "新增", + "edit": "编辑", + "delete": "删除", + "operation": "操作", + "confirm": "确定", + "cancel": "取消", + "tip": "提示", + "confirm_delete": "确定要执行该操作吗?", + "operation_success": "操作成功", + "please_select": "请选择要操作的数据", + "sort": "序号", + "code": "编码", + "name": "名称", + "remark": "备注", + "note": "备注", + "create_time": "创建时间", + "created_time": "创建日期", + "add_title": "新增", + "edit_title": "编辑", + "enter_code": "请输入编码", + "enter_name": "请输入名称", + "enter_remark": "请输入备注", + "workshop_name": "车间名称", + "select_workshop": "请选择车间", + "category": "点位类型", + "select_category": "请选择点位类型", + "workshop_area": "车间区域", + "single_device": "单设备", + "offline_area": "离线区域" + } + }, + "device_gather": { + "battery_device_gather_monitor": { + "device_type": "设备类型", + "ip_port": "IP/端口", + "activity_time": "活动时间", + "success_count": "成功次数", + "failure_count": "失败次数", + "device_stop": "暂停", + "device_continue": "启动", + "request_success": "请求成功", + "refresh": "刷新", + "last_refresh_time": "最后刷新时间", + "stop_device": "停止设备" + } + } + }}, "__MENU_TEMP_BEGIN__": "===== 以下为临时菜单翻译,后续统一删除 =====", "设备类型": "设备类型", "首页": "首页", diff --git a/src/router/modules/scada-management.js b/src/router/modules/scada-management.js new file mode 100644 index 00000000..4f1cc75b --- /dev/null +++ b/src/router/modules/scada-management.js @@ -0,0 +1,23 @@ +import layoutHeaderAside from '@/layout/header-aside' + +const meta = { auth: true } +const _import = require('@/libs/util.import.' + process.env.NODE_ENV) + +export default { + path: '/scada_manage', + component: layoutHeaderAside, + children: (pre => [ + { path: 'index', name: `${pre}index`, meta: { ...meta, cache: true, title: '采集管理', root: '/scada_manage' }, component: _import('system/function/module-index') }, + { path: 'basic_configuration/scadaconfigure', name: `${pre}basic_configuration-scadaconfigure`, meta: { ...meta, cache: true, title: 'SCADA节点配置' }, component: _import('scada_manage/basic_configuration/scada_configure') }, + { path: 'basic_configuration/scadaquery', name: `${pre}basic_configuration-scadaquery`, meta: { ...meta, cache: true, title: 'SCADA数据查询' }, component: _import('scada_manage/basic_configuration/scada_query') }, + { path: 'basic_configuration/node_mapping_device_code', name: `${pre}basic_configuration-node_mapping_device_code`, meta: { ...meta, cache: true, title: '节点设备映射' }, component: _import('scada_manage/basic_configuration/node_mapping_device_code') }, + { path: 'basic_configuration/ems_configure', name: `${pre}basic_configuration-ems_configure`, meta: { ...meta, cache: true, title: '环控节点配置' }, component: _import('scada_manage/basic_configuration/ems_configure') }, + { path: 'basic_configuration/ems_query', name: `${pre}basic_configuration-ems_query`, meta: { ...meta, cache: true, title: '环控数据查询' }, component: _import('scada_manage/basic_configuration/ems_query') }, + { path: 'workshop_manage/workshop_config', name: `${pre}workshop_manage-workshop_config`, meta: { ...meta, cache: true, title: '车间配置' }, component: _import('scada_manage/workshop_manage/workshop_config') }, + { path: 'workshop_manage/workshop_point', name: `${pre}workshop_manage-workshop_point`, meta: { ...meta, cache: true, title: '车间点位管理' }, component: _import('scada_manage/workshop_manage/workshop_point') }, + { path: 'lecpserver/edgeserverconfigure', name: `${pre}lecpserver-edgeserverconfigure`, meta: { ...meta, cache: true, title: '服务配置' }, component: _import('scada_manage/lecpserver/edgeserverconfigure') }, + { path: 'lecpserver/edgeervermonitor', name: `${pre}lecpserver-edgeervermonitor`, meta: { ...meta, cache: true, title: '服务监控' }, component: _import('scada_manage/lecpserver/edgeservermonitor') }, + { path: 'lecpserver/edgeserver_log', name: `${pre}lecpserver-edgeserver_log`, meta: { ...meta, cache: true, title: '前置服务日志' }, component: _import('scada_manage/lecpserver/edgeserver_log') }, + { path: 'device_gather/battery_device_gather_monitor', name: `${pre}device_gather-battery_device_gather_monitor`, meta: { ...meta, cache: true, title: '实时采集监控' }, component: _import('scada_manage/device_gather/battery_device_gather_monitor') } + ])('scada_manage-') +} diff --git a/src/router/routes.js b/src/router/routes.js index 82a29268..c1e48ac2 100644 --- a/src/router/routes.js +++ b/src/router/routes.js @@ -6,6 +6,7 @@ import dataPlatform from './modules/data-platform' import systemAdministration from './modules/system-administration' import equipmentManagement from './modules/equipment-management' import spcQualityManagement from './modules/spc-quality-management' +import scadaManagement from './modules/scada-management' // 由于懒加载页面太多的话会造成webpack热更新太慢,所以开发环境不使用懒加载,只有生产环境使用懒加载 const _import = require('@/libs/util.import.' + process.env.NODE_ENV) @@ -61,7 +62,8 @@ const frameIn = [ dataPlatform, systemAdministration, equipmentManagement, - spcQualityManagement + spcQualityManagement, + scadaManagement ] /** diff --git a/src/views/scada_manage/basic_configuration/scada_configure/index.vue b/src/views/scada_manage/basic_configuration/scada_configure/index.vue new file mode 100644 index 00000000..409e5eff --- /dev/null +++ b/src/views/scada_manage/basic_configuration/scada_configure/index.vue @@ -0,0 +1,198 @@ + + + From e6f373b572ef1fa8bfb17a6b746b9c71d75b423f Mon Sep 17 00:00:00 2001 From: sheng <905537351@qq.com> Date: Tue, 23 Jun 2026 16:31:54 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E8=BF=81=E7=A7=BBSCADA=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic_configuration/scada_query/index.vue | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/views/scada_manage/basic_configuration/scada_query/index.vue diff --git a/src/views/scada_manage/basic_configuration/scada_query/index.vue b/src/views/scada_manage/basic_configuration/scada_query/index.vue new file mode 100644 index 00000000..204f7fdf --- /dev/null +++ b/src/views/scada_manage/basic_configuration/scada_query/index.vue @@ -0,0 +1,21 @@ + From c3c0c86de6781dbf84204287a908ddacf0e2f24a Mon Sep 17 00:00:00 2001 From: sheng <905537351@qq.com> Date: Tue, 23 Jun 2026 16:31:54 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E6=98=A0=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../node_mapping_device_code/index.vue | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/views/scada_manage/basic_configuration/node_mapping_device_code/index.vue diff --git a/src/views/scada_manage/basic_configuration/node_mapping_device_code/index.vue b/src/views/scada_manage/basic_configuration/node_mapping_device_code/index.vue new file mode 100644 index 00000000..9a132e70 --- /dev/null +++ b/src/views/scada_manage/basic_configuration/node_mapping_device_code/index.vue @@ -0,0 +1,23 @@ + + From 27c0b75479cc67554453d9c8e7bf36b462acba0f Mon Sep 17 00:00:00 2001 From: sheng <905537351@qq.com> Date: Tue, 23 Jun 2026 16:31:54 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E7=8E=AF=E6=8E=A7?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ems_configure/index.vue | 198 ++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 src/views/scada_manage/basic_configuration/ems_configure/index.vue diff --git a/src/views/scada_manage/basic_configuration/ems_configure/index.vue b/src/views/scada_manage/basic_configuration/ems_configure/index.vue new file mode 100644 index 00000000..e821454b --- /dev/null +++ b/src/views/scada_manage/basic_configuration/ems_configure/index.vue @@ -0,0 +1,198 @@ + + + From 6e51ce95f82906a263430a5ac8d0351cad804b33 Mon Sep 17 00:00:00 2001 From: sheng <905537351@qq.com> Date: Tue, 23 Jun 2026 16:31:54 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E7=8E=AF=E6=8E=A7?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic_configuration/ems_query/index.vue | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/views/scada_manage/basic_configuration/ems_query/index.vue diff --git a/src/views/scada_manage/basic_configuration/ems_query/index.vue b/src/views/scada_manage/basic_configuration/ems_query/index.vue new file mode 100644 index 00000000..72f4f2ce --- /dev/null +++ b/src/views/scada_manage/basic_configuration/ems_query/index.vue @@ -0,0 +1,21 @@ + From 30fce5711db992a1d2011b837f46e8cc995602c4 Mon Sep 17 00:00:00 2001 From: sheng <905537351@qq.com> Date: Tue, 23 Jun 2026 16:32:15 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E8=BD=A6=E9=97=B4?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workshop_manage/workshop_config/index.vue | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/views/scada_manage/workshop_manage/workshop_config/index.vue diff --git a/src/views/scada_manage/workshop_manage/workshop_config/index.vue b/src/views/scada_manage/workshop_manage/workshop_config/index.vue new file mode 100644 index 00000000..df94858f --- /dev/null +++ b/src/views/scada_manage/workshop_manage/workshop_config/index.vue @@ -0,0 +1,28 @@ + + From 562f8fd57570f2c58f59c2a8051277bd0dbaddde Mon Sep 17 00:00:00 2001 From: sheng <905537351@qq.com> Date: Tue, 23 Jun 2026 16:32:15 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E8=BD=A6=E9=97=B4?= =?UTF-8?q?=E7=82=B9=E4=BD=8D=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workshop_manage/workshop_point/index.vue | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/views/scada_manage/workshop_manage/workshop_point/index.vue diff --git a/src/views/scada_manage/workshop_manage/workshop_point/index.vue b/src/views/scada_manage/workshop_manage/workshop_point/index.vue new file mode 100644 index 00000000..c44c46a4 --- /dev/null +++ b/src/views/scada_manage/workshop_manage/workshop_point/index.vue @@ -0,0 +1,19 @@ + + From 5b607be5757cc23e1cc9f84000d8a799d8cc00b2 Mon Sep 17 00:00:00 2001 From: sheng <905537351@qq.com> Date: Tue, 23 Jun 2026 16:32:16 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lecpserver/edgeserverconfigure/index.vue | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/views/scada_manage/lecpserver/edgeserverconfigure/index.vue diff --git a/src/views/scada_manage/lecpserver/edgeserverconfigure/index.vue b/src/views/scada_manage/lecpserver/edgeserverconfigure/index.vue new file mode 100644 index 00000000..bed0e564 --- /dev/null +++ b/src/views/scada_manage/lecpserver/edgeserverconfigure/index.vue @@ -0,0 +1,20 @@ + + From 2d96f9838b1fe5d436478821c6a7d6d0cd6456e3 Mon Sep 17 00:00:00 2001 From: sheng <905537351@qq.com> Date: Tue, 23 Jun 2026 16:32:16 +0800 Subject: [PATCH 09/11] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E7=9B=91=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scada_manage/lecpserver/edgeservermonitor/index.vue | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/views/scada_manage/lecpserver/edgeservermonitor/index.vue diff --git a/src/views/scada_manage/lecpserver/edgeservermonitor/index.vue b/src/views/scada_manage/lecpserver/edgeservermonitor/index.vue new file mode 100644 index 00000000..4364988d --- /dev/null +++ b/src/views/scada_manage/lecpserver/edgeservermonitor/index.vue @@ -0,0 +1,8 @@ + From 4b5096e67378e55f66d2cf21e3ae6ef058c07d49 Mon Sep 17 00:00:00 2001 From: sheng <905537351@qq.com> Date: Tue, 23 Jun 2026 16:32:16 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E5=89=8D=E7=BD=AE?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scada_manage/lecpserver/edgeserver_log/index.vue | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 src/views/scada_manage/lecpserver/edgeserver_log/index.vue diff --git a/src/views/scada_manage/lecpserver/edgeserver_log/index.vue b/src/views/scada_manage/lecpserver/edgeserver_log/index.vue new file mode 100644 index 00000000..351ee8de --- /dev/null +++ b/src/views/scada_manage/lecpserver/edgeserver_log/index.vue @@ -0,0 +1,9 @@ + From 8a6702f48ef9e825850e8364cc2ae3b66f5c0d61 Mon Sep 17 00:00:00 2001 From: sheng <905537351@qq.com> Date: Tue, 23 Jun 2026 16:32:16 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E5=AE=9E=E6=97=B6?= =?UTF-8?q?=E9=87=87=E9=9B=86=E7=9B=91=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../battery_device_gather_monitor/index.vue | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/views/scada_manage/device_gather/battery_device_gather_monitor/index.vue diff --git a/src/views/scada_manage/device_gather/battery_device_gather_monitor/index.vue b/src/views/scada_manage/device_gather/battery_device_gather_monitor/index.vue new file mode 100644 index 00000000..3a9763bc --- /dev/null +++ b/src/views/scada_manage/device_gather/battery_device_gather_monitor/index.vue @@ -0,0 +1,11 @@ +