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> |