From 792236ef78c2cdd3a989fb40a7f2e2487c4e17b6 Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期三, 26 十一月 2025 17:06:11 +0800
Subject: [PATCH] 添加各个设备基础可配置参数
---
mes-web/src/views/device/DeviceConfigForm.vue | 49 +++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 43 insertions(+), 6 deletions(-)
diff --git a/mes-web/src/views/device/DeviceConfigForm.vue b/mes-web/src/views/device/DeviceConfigForm.vue
index 5b6f7e6..f751fbc 100644
--- a/mes-web/src/views/device/DeviceConfigForm.vue
+++ b/mes-web/src/views/device/DeviceConfigForm.vue
@@ -4,12 +4,13 @@
<div class="search-section">
<el-form :model="searchForm" :inline="true" class="search-form">
<el-form-item label="璁惧绫诲瀷">
- <el-select v-model="searchForm.deviceType" placeholder="閫夋嫨璁惧绫诲瀷" clearable>
- <el-option label="PLC鎺у埗鍣�" value="PLC鎺у埗鍣�" />
- <el-option label="浼犳劅鍣�" value="浼犳劅鍣�" />
- <el-option label="鎵ц鍣�" value="鎵ц鍣�" />
- <el-option label="鎺у埗鍣�" value="鎺у埗鍣�" />
- <el-option label="閲囬泦鍣�" value="閲囬泦鍣�" />
+ <el-select v-model="searchForm.deviceType" placeholder="閫夋嫨璁惧绫诲瀷" clearable :loading="deviceTypesLoading">
+ <el-option
+ v-for="type in deviceTypes"
+ :key="type"
+ :label="type"
+ :value="type"
+ />
</el-select>
</el-form-item>
<el-form-item label="璁惧鐘舵��">
@@ -250,6 +251,10 @@
const deviceList = ref([])
const selectedDevices = ref([])
+// 璁惧绫诲瀷鍒楄〃
+const deviceTypes = ref([])
+const deviceTypesLoading = ref(false)
+
// 鎼滅储琛ㄥ崟
const searchForm = reactive({
deviceType: '',
@@ -272,6 +277,37 @@
const emit = defineEmits(['device-selected', 'refresh-statistics'])
// 鏂规硶瀹氫箟
+// 鍔犺浇璁惧绫诲瀷鍒楄〃
+const loadDeviceTypes = async () => {
+ if (deviceTypes.value.length > 0) {
+ // 濡傛灉宸茬粡鍔犺浇杩囷紝涓嶅啀閲嶅鍔犺浇
+ return
+ }
+ // 鎵�鏈夋敮鎸佺殑璁惧绫诲瀷锛堢‘淇濆寘鍚墍鏈夋湁閰嶇疆缁勪欢鐨勭被鍨嬶級
+ const supportedTypes = ['澶ц溅璁惧', '澶х悊鐗囩', '鍗ц浆绔嬫壂鐮�', '鍗ц浆绔�']
+
+ try {
+ deviceTypesLoading.value = true
+ const res = await deviceConfigApi.getDeviceTypes()
+ if (res?.data && Array.isArray(res.data)) {
+ // 鍚堝苟鏁版嵁搴撲腑鐨勭被鍨嬪拰鏀寔鐨勭被鍨嬶紝鍘婚噸骞舵帓搴�
+ const dbTypes = res.data
+ const allTypes = [...new Set([...supportedTypes, ...dbTypes])].sort()
+ deviceTypes.value = allTypes
+ } else {
+ // 濡傛灉API杩斿洖澶辫触锛屼娇鐢ㄩ粯璁ょ被鍨�
+ deviceTypes.value = supportedTypes
+ console.warn('鑾峰彇璁惧绫诲瀷鍒楄〃澶辫触锛屼娇鐢ㄩ粯璁ょ被鍨�')
+ }
+ } catch (error) {
+ console.error('鍔犺浇璁惧绫诲瀷鍒楄〃澶辫触:', error)
+ // 澶辫触鏃朵娇鐢ㄩ粯璁ょ被鍨�
+ deviceTypes.value = supportedTypes
+ } finally {
+ deviceTypesLoading.value = false
+ }
+}
+
const loadDeviceList = async () => {
try {
tableLoading.value = true
@@ -502,6 +538,7 @@
// 缁勪欢鎸傝浇鏃跺姞杞芥暟鎹�
onMounted(() => {
+ loadDeviceTypes()
loadDeviceList()
})
</script>
--
Gitblit v1.8.0