Showing
2 changed files
with
24 additions
and
6 deletions
@@ -16281,17 +16281,17 @@ class HandleDataInteraction { | @@ -16281,17 +16281,17 @@ class HandleDataInteraction { | ||
16281 | } | 16281 | } |
16282 | 16282 | ||
16283 | if (commandType == enumCommandType.MODBUS) { | 16283 | if (commandType == enumCommandType.MODBUS) { |
16284 | - value = Number(data[enumActionEl.CUSTOM_TCP_COMMAND]) | 16284 | + value = data[enumActionEl.CUSTOM_TCP_COMMAND] |
16285 | 16285 | ||
16286 | let { method, deviceCode, zoomFactor } = additional || {} | 16286 | let { method, deviceCode, zoomFactor } = additional || {} |
16287 | zoomFactor = zoomFactor ? zoomFactor : 1 | 16287 | zoomFactor = zoomFactor ? zoomFactor : 1 |
16288 | + | ||
16288 | const validate = new Validate([ | 16289 | const validate = new Validate([ |
16289 | { value: deviceCode, required: true, message: '未找到设备地址码' }, | 16290 | { value: deviceCode, required: true, message: '未找到设备地址码' }, |
16290 | { value: method, required: true, message: '未找到Modbus命令操作类型' }, | 16291 | { value: method, required: true, message: '未找到Modbus命令操作类型' }, |
16291 | - { value, required: true, message: '下发值不是一个数字', validator(value) { return !isNaN(value) } }, | ||
16292 | - { value, required: true, message: '下发值是必填项' }, | 16292 | + { value, message: '下发值不是一个数字', validator(value) { return value != '' && !isNaN(value) } }, |
16293 | ...(method == '05' ? [{ value, message: '下发类型必须为0或1', validator(value) { return value == 0 || value == 1 } }] : []), | 16293 | ...(method == '05' ? [{ value, message: '下发类型必须为0或1', validator(value) { return value == 0 || value == 1 } }] : []), |
16294 | - ...(method == '06' ? [{ value, message: `下发类型必须为整型,缩放因子为${zoomFactor}`, validator(value) { return !isNaN(value) && getNumberFloatPart(value) * zoomFactor % 1 === 0 } }, { value: Number(value) * zoomFactor, message: `最大值不能超过65535,缩放因子为${zoomFactor}`, validator(value) { return Number(value) <= parseInt('ffff', 16) } }] : []), | 16294 | + ...(method == '06' ? [{ value, message: `下发类型必须为整型,缩放因子为${zoomFactor}`, validator(value) { return !isNaN(value) && getNumberFloatPart(Number(value)) * zoomFactor % 1 === 0 } }, { value: Number(value) * zoomFactor, message: `最大值不能超过65535,缩放因子为${zoomFactor}`, validator(value) { return Number(value) <= parseInt('ffff', 16) } }] : []), |
16295 | ...(method == '16' ? [{ value, message: '下发类型精确到两位小数', validator(value) { return /^-?\d+(\.\d{0,2})?$/.test(Math.floor(Number(value)) * zoomFactor + getNumberFloatPart(Number(value)) * zoomFactor) } }] : []) | 16295 | ...(method == '16' ? [{ value, message: '下发类型精确到两位小数', validator(value) { return /^-?\d+(\.\d{0,2})?$/.test(Math.floor(Number(value)) * zoomFactor + getNumberFloatPart(Number(value)) * zoomFactor) } }] : []) |
16296 | ]) | 16296 | ]) |
16297 | 16297 | ||
@@ -16301,7 +16301,7 @@ class HandleDataInteraction { | @@ -16301,7 +16301,7 @@ class HandleDataInteraction { | ||
16301 | 16301 | ||
16302 | if (method == '16') { | 16302 | if (method == '16') { |
16303 | const hexValue = UseLayUi.numberToHex(value).split(' ').join('') | 16303 | const hexValue = UseLayUi.numberToHex(value).split(' ').join('') |
16304 | - value = [parseInt(hexValue.slice(0, 4), 16), parseInt(hexValue.slice(4, 8), 16)] | 16304 | + value = value ? [parseInt(hexValue.slice(0, 4), 16), parseInt(hexValue.slice(4, 8), 16)] : [0, 0] |
16305 | } | 16305 | } |
16306 | 16306 | ||
16307 | if (validate.begin()) flag = true | 16307 | if (validate.begin()) flag = true |
@@ -17316,7 +17316,8 @@ class Validate { | @@ -17316,7 +17316,8 @@ class Validate { | ||
17316 | begin() { | 17316 | begin() { |
17317 | for (const rule of this.list) { | 17317 | for (const rule of this.list) { |
17318 | const { required, value, message, validator } = rule | 17318 | const { required, value, message, validator } = rule |
17319 | - if (required && !value) { | 17319 | + |
17320 | + if (required && (value === null || value === undefined || value === '')) { | ||
17320 | UseLayUi.topErrorMsg(message) | 17321 | UseLayUi.topErrorMsg(message) |
17321 | return false | 17322 | return false |
17322 | } | 17323 | } |
src/main/webapp/js/grapheditor/test.html
0 → 100644
1 | +<!DOCTYPE html> | ||
2 | +<html lang="en"> | ||
3 | + | ||
4 | +<head> | ||
5 | + <meta charset="UTF-8"> | ||
6 | + <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
7 | + <title>Document</title> | ||
8 | +</head> | ||
9 | + | ||
10 | +<body> | ||
11 | + <script> | ||
12 | + const value = /^-?\d+(\.\d{0,2})?$/.test(1.2) | ||
13 | + console.log(value) | ||
14 | + </script> | ||
15 | +</body> | ||
16 | + | ||
17 | +</html> |