Showing
2 changed files
with
25 additions
and
1 deletions
@@ -53,6 +53,26 @@ export const createModbusValueInput = (objectModel: Tsl): FormSchema => { | @@ -53,6 +53,26 @@ export const createModbusValueInput = (objectModel: Tsl): FormSchema => { | ||
53 | const { valueRange } = specs as Specs | 53 | const { valueRange } = specs as Specs |
54 | const { max, min } = valueRange || {} | 54 | const { max, min } = valueRange || {} |
55 | 55 | ||
56 | + if (extensionDesc?.originalDataType === OriginalDataTypeEnum.BOOLEAN) { | ||
57 | + const options = [ | ||
58 | + { label: '闭合', value: parseInt('FF00', 16) }, | ||
59 | + { label: '断开', value: parseInt('0000', 16) }, | ||
60 | + ] | ||
61 | + | ||
62 | + return { | ||
63 | + field: identifier, | ||
64 | + label: functionName, | ||
65 | + component: ComponentEnum.SELECT, | ||
66 | + componentProps: () => { | ||
67 | + return { | ||
68 | + options, | ||
69 | + placeholder: `请选择${functionName}`, | ||
70 | + getPopupContainer: () => document.body, | ||
71 | + } | ||
72 | + }, | ||
73 | + } | ||
74 | + } | ||
75 | + | ||
56 | const isStringType = extensionDesc?.originalDataType === OriginalDataTypeEnum.STRING | 76 | const isStringType = extensionDesc?.originalDataType === OriginalDataTypeEnum.STRING |
57 | return { | 77 | return { |
58 | field: identifier, | 78 | field: identifier, |
1 | import { OriginalDataTypeEnum } from '@/enums/objectModelEnum' | 1 | import { OriginalDataTypeEnum } from '@/enums/objectModelEnum' |
2 | import { useParseOriginalDataType } from '@/hooks/business/useParseOriginalDataType' | 2 | import { useParseOriginalDataType } from '@/hooks/business/useParseOriginalDataType' |
3 | 3 | ||
4 | +export function getBoolValueByStatus(status: boolean) { | ||
5 | + return status ? parseInt('FF00', 16) : parseInt('0000', 16) | ||
6 | +} | ||
7 | + | ||
4 | export function useBaseConversion() { | 8 | export function useBaseConversion() { |
5 | function DecTo32Float(number: number) { | 9 | function DecTo32Float(number: number) { |
6 | const arr = new Uint8Array(4) | 10 | const arr = new Uint8Array(4) |
@@ -143,7 +147,7 @@ export function useBaseConversion() { | @@ -143,7 +147,7 @@ export function useBaseConversion() { | ||
143 | let result: number[] | 147 | let result: number[] |
144 | 148 | ||
145 | if (type === OriginalDataTypeEnum.BOOLEAN) { | 149 | if (type === OriginalDataTypeEnum.BOOLEAN) { |
146 | - result = [value] | 150 | + result = [getBoolValueByStatus(!!value)] |
147 | } | 151 | } |
148 | else if (type === OriginalDataTypeEnum.BITS) { | 152 | else if (type === OriginalDataTypeEnum.BITS) { |
149 | const { bitMask = 0 } = additional || {} | 153 | const { bitMask = 0 } = additional || {} |