From ab389a5a6b329b15a655340ba7b87bce7fd7871d Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期三, 24 十二月 2025 17:16:19 +0800
Subject: [PATCH] 添加新增设备自动生成编码
---
mes-web/src/views/device/DeviceEditDialog.vue | 45 ++++++++++++++++++++++++++++++++++++---------
1 files changed, 36 insertions(+), 9 deletions(-)
diff --git a/mes-web/src/views/device/DeviceEditDialog.vue b/mes-web/src/views/device/DeviceEditDialog.vue
index ad6668c..63123c5 100644
--- a/mes-web/src/views/device/DeviceEditDialog.vue
+++ b/mes-web/src/views/device/DeviceEditDialog.vue
@@ -31,12 +31,16 @@
</el-form-item>
<el-form-item label="璁惧缂栫爜" prop="deviceCode">
- <el-input
- v-model="deviceForm.deviceCode"
- placeholder="璇疯緭鍏ヨ澶囩紪鐮�"
- maxlength="50"
- :disabled="isEdit"
- />
+ <template v-if="isEdit">
+ <el-input
+ v-model="deviceForm.deviceCode"
+ maxlength="50"
+ disabled
+ />
+ </template>
+ <template v-else>
+ <el-tag type="info">淇濆瓨鍚庤嚜鍔ㄧ敓鎴�</el-tag>
+ </template>
</el-form-item>
<el-form-item label="璁惧绫诲瀷" prop="deviceType">
@@ -373,7 +377,8 @@
description: '',
isPrimary: false,
enabled: true,
- extraParams: null
+ extraParams: null,
+ projectId: 1
})
const deviceForm = reactive(getDefaultForm())
@@ -382,14 +387,35 @@
const isEdit = computed(() => !!props.deviceData)
// 琛ㄥ崟楠岃瘉瑙勫垯
+const validateDeviceCode = async (rule, value, callback) => {
+ if (!value) {
+ // 鍏佽鐣欑┖锛屽悗鍙拌嚜鍔ㄧ敓鎴�
+ return callback()
+ }
+ try {
+ const res = await deviceConfigApi.checkCode(
+ value.trim(),
+ isEdit.value ? props.deviceData?.id : null
+ )
+ if (res?.data === true) {
+ callback(new Error('璁惧缂栫爜宸插瓨鍦紝璇锋洿鎹�'))
+ } else {
+ callback()
+ }
+ } catch (err) {
+ console.error('妫�鏌ヨ澶囩紪鐮佸け璐�', err)
+ callback(new Error('璁惧缂栫爜鏍¢獙澶辫触锛岃绋嶅悗閲嶈瘯'))
+ }
+}
+
const deviceRules = {
deviceName: [
{ required: true, message: '璇疯緭鍏ヨ澶囧悕绉�', trigger: 'blur' },
{ min: 1, max: 50, message: '璁惧鍚嶇О闀垮害鍦� 1 鍒� 50 涓瓧绗�', trigger: 'blur' }
],
deviceCode: [
- { required: true, message: '璇疯緭鍏ヨ澶囩紪鐮�', trigger: 'blur' },
- { pattern: /^[A-Z0-9_]+$/, message: '璁惧缂栫爜鍙兘鍖呭惈澶у啓瀛楁瘝銆佹暟瀛楀拰涓嬪垝绾�', trigger: 'blur' }
+ { pattern: /^[A-Z0-9_]+$/, message: '璁惧缂栫爜鍙兘鍖呭惈澶у啓瀛楁瘝銆佹暟瀛楀拰涓嬪垝绾�', trigger: 'blur' },
+ { validator: validateDeviceCode, trigger: 'blur' }
],
deviceType: [
{ required: true, message: '璇烽�夋嫨璁惧绫诲瀷', trigger: 'change' }
@@ -771,6 +797,7 @@
isPrimary: deviceForm.isPrimary,
enabled: deviceForm.enabled,
description: deviceForm.description,
+ projectId: deviceForm.projectId,
configJson: configJsonValue, // 淇濆瓨閰嶇疆鍙傛暟JSON
extraParams: JSON.stringify(extraObj)
}
--
Gitblit v1.8.0