fix: 采集器 新增离散输入寄存器、单双高低位切换
This commit is contained in:
parent
fc3d0d2d12
commit
2fbcc606e9
|
@ -30,6 +30,7 @@
|
|||
v-model:value="formData.configuration.function"
|
||||
:options="[
|
||||
{ label: '01线圈寄存器', value: 'Coils' },
|
||||
{ label: '02离散输入寄存器', value: 'DiscreteInputs' },
|
||||
{ label: '03保存寄存器', value: 'HoldingRegisters' },
|
||||
{ label: '04输入寄存器', value: 'InputRegisters' },
|
||||
]"
|
||||
|
@ -147,7 +148,8 @@
|
|||
:showImage="false"
|
||||
v-model:value="formData.accessModes"
|
||||
:options="
|
||||
formData.configuration.function === 'InputRegisters'
|
||||
formData.configuration.function === 'InputRegisters' ||
|
||||
formData.configuration.function === 'DiscreteInputs'
|
||||
? [{ label: '读', value: 'read' }]
|
||||
: [
|
||||
{ label: '读', value: 'read' },
|
||||
|
@ -289,6 +291,7 @@ const oldPointKey = props.data.pointKey;
|
|||
|
||||
const InitAddress = {
|
||||
Coils: 1,
|
||||
DiscreteInputs: 10001,
|
||||
HoldingRegisters: 40001,
|
||||
InputRegisters: 30001,
|
||||
};
|
||||
|
|
|
@ -238,6 +238,9 @@ const filterOption = (input: string, option: any) => {
|
|||
|
||||
const clickDelete = (value: string) => {
|
||||
emits('change', value);
|
||||
|
||||
// 删除时需要做同上操作 todo
|
||||
|
||||
};
|
||||
|
||||
const getTargetData = (index: number, type: string) => {
|
||||
|
|
|
@ -73,21 +73,11 @@
|
|||
{{ getTypeTooltip(formData.circuitBreaker.type) }}
|
||||
</p>
|
||||
<j-form-item
|
||||
label="双字高低位切换"
|
||||
:name="['configuration', 'endian']"
|
||||
v-if="visibleEndian"
|
||||
:rules="LeftTreeRules.endian"
|
||||
>
|
||||
<template #label>
|
||||
<span>
|
||||
高低位切换
|
||||
<j-tooltip title="统一配置所有点位的高低位切换">
|
||||
<AIcon
|
||||
type="QuestionCircleOutlined"
|
||||
style="margin-left: 2px"
|
||||
/>
|
||||
</j-tooltip>
|
||||
</span>
|
||||
</template>
|
||||
<j-card-select
|
||||
:showImage="false"
|
||||
v-model:value="formData.configuration.endian"
|
||||
|
@ -99,6 +89,41 @@
|
|||
:column="2"
|
||||
/>
|
||||
</j-form-item>
|
||||
<j-form-item
|
||||
label="单字高低位切换"
|
||||
:name="['configuration', 'endianIn']"
|
||||
v-if="visibleEndian"
|
||||
:rules="LeftTreeRules.endianIn"
|
||||
>
|
||||
<j-card-select
|
||||
:showImage="false"
|
||||
v-model:value="formData.configuration.endianIn"
|
||||
:options="[
|
||||
{ label: 'AB', value: 'BIG' },
|
||||
{ label: 'BA', value: 'LITTLE' },
|
||||
]"
|
||||
@change="changeCardSelectEndianIn"
|
||||
:column="2"
|
||||
/>
|
||||
</j-form-item>
|
||||
<div
|
||||
style="color: #616161"
|
||||
v-if="
|
||||
formData.configuration.endian ||
|
||||
formData.configuration.endianIn
|
||||
"
|
||||
>
|
||||
<p>
|
||||
当前内存布局:{{
|
||||
endianMap.get(formData.configuration.endian)
|
||||
}}{{ endianMap.get(formData.configuration.endianIn) }}
|
||||
</p>
|
||||
<p>
|
||||
只有4字节数据类型(int32、ieee754 float)
|
||||
具有4种内存布局,其它只有ABCD、DCBA两种内存布局(以双字配置为准)
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<j-form-item label="说明" name="description">
|
||||
<j-textarea
|
||||
placeholder="请输入说明"
|
||||
|
@ -150,6 +175,11 @@ const emit = defineEmits(['change']);
|
|||
const id = props.data.id;
|
||||
const formRef = ref<FormInstance>();
|
||||
|
||||
const endianMap = new Map([
|
||||
['BIG', 'AB'],
|
||||
['LITTLE', 'BA'],
|
||||
]);
|
||||
|
||||
const formData = ref({
|
||||
channelId: undefined,
|
||||
name: '',
|
||||
|
@ -157,6 +187,7 @@ const formData = ref({
|
|||
unitId: '',
|
||||
type: 'LowerFrequency',
|
||||
endian: 'BIG',
|
||||
endianIn: 'BIG',
|
||||
},
|
||||
circuitBreaker: {
|
||||
type: 'LowerFrequency',
|
||||
|
@ -203,6 +234,9 @@ const changeCardSelectType = (value: Array<string>) => {
|
|||
const changeCardSelectEndian = (value: Array<string>) => {
|
||||
formData.value.configuration.endian = value[0];
|
||||
};
|
||||
const changeCardSelectEndianIn = (value: Array<string>) => {
|
||||
formData.value.configuration.endianIn = value[0];
|
||||
};
|
||||
const getChannelNoPaging = async () => {
|
||||
channelListAll.value = Store.get('channelListAll');
|
||||
channelList.value = channelListAll.value.map((item) => ({
|
||||
|
|
|
@ -162,7 +162,12 @@ export const LeftTreeRules = {
|
|||
},
|
||||
],
|
||||
type: [{ required: true, message: '请选择处理方式', trigger: 'blur' }],
|
||||
endian: [{ required: true, message: '请选择高低位切换', trigger: 'blur' }],
|
||||
endian: [
|
||||
{ required: true, message: '请选择双字高低位切换', trigger: 'blur' },
|
||||
],
|
||||
endianIn: [
|
||||
{ required: true, message: '请选择单字高低位切换', trigger: 'blur' },
|
||||
],
|
||||
};
|
||||
|
||||
export const FormTableColumns = [
|
||||
|
|
Loading…
Reference in New Issue