|
@@ -7,7 +7,7 @@ import { useDictData } from '@/hooks/dict-data';
|
|
import { useRequest } from '@/hooks/request';
|
|
import { useRequest } from '@/hooks/request';
|
|
import { t } from '@/i18n';
|
|
import { t } from '@/i18n';
|
|
import { batchDeleleProtocolParam, getProtocolParamList } from '@/api';
|
|
import { batchDeleleProtocolParam, getProtocolParamList } from '@/api';
|
|
-import { DictCode } from '@/constants';
|
|
|
|
|
|
+import { DictCode, ProtocolType } from '@/constants';
|
|
|
|
|
|
import CustomParams from './CustomParams.vue';
|
|
import CustomParams from './CustomParams.vue';
|
|
import SelectStandardParams from './SelectStandardParams.vue';
|
|
import SelectStandardParams from './SelectStandardParams.vue';
|
|
@@ -29,6 +29,18 @@ const { dictData: readContinuousAddr, getDictData: getReadContinuousAddr } = use
|
|
const { dictData: byteOrderList, getDictData: getByteOrderList } = useDictData(DictCode.ByteOrder);
|
|
const { dictData: byteOrderList, getDictData: getByteOrderList } = useDictData(DictCode.ByteOrder);
|
|
const { dictData: addrOrderList, getDictData: getAddrOrderList } = useDictData(DictCode.AddrOrder);
|
|
const { dictData: addrOrderList, getDictData: getAddrOrderList } = useDictData(DictCode.AddrOrder);
|
|
|
|
|
|
|
|
+const isModbusRtuProtocol = computed(() => {
|
|
|
|
+ return props.info.protocolType?.includes(ProtocolType.ModbusRTU);
|
|
|
|
+});
|
|
|
|
+
|
|
|
|
+const isModbusTcpProtocol = computed(() => {
|
|
|
|
+ return props.info.protocolType?.includes(ProtocolType.ModbusTCP);
|
|
|
|
+});
|
|
|
|
+
|
|
|
|
+const isS7Protocol = computed(() => {
|
|
|
|
+ return props.info.protocolType?.includes(ProtocolType.S7);
|
|
|
|
+});
|
|
|
|
+
|
|
const formRef = ref<FormInstance>();
|
|
const formRef = ref<FormInstance>();
|
|
|
|
|
|
const rules = computed<FormRules<ProtocolBaseInfo>>(() => {
|
|
const rules = computed<FormRules<ProtocolBaseInfo>>(() => {
|
|
@@ -283,7 +295,7 @@ defineExpose({
|
|
</ASelect>
|
|
</ASelect>
|
|
</AFormItem>
|
|
</AFormItem>
|
|
</ACol>
|
|
</ACol>
|
|
- <ACol :span="6">
|
|
|
|
|
|
+ <ACol v-if="isModbusRtuProtocol" :span="6">
|
|
<AFormItem :label="$t('setupProtocol.dataBit')" name="dataBit">
|
|
<AFormItem :label="$t('setupProtocol.dataBit')" name="dataBit">
|
|
<ARadioGroup v-model:value="info.dataBit">
|
|
<ARadioGroup v-model:value="info.dataBit">
|
|
<ARadio :value="5">5</ARadio>
|
|
<ARadio :value="5">5</ARadio>
|
|
@@ -293,7 +305,7 @@ defineExpose({
|
|
</ARadioGroup>
|
|
</ARadioGroup>
|
|
</AFormItem>
|
|
</AFormItem>
|
|
</ACol>
|
|
</ACol>
|
|
- <ACol :span="6">
|
|
|
|
|
|
+ <ACol v-if="isModbusRtuProtocol" :span="6">
|
|
<AFormItem :label="$t('setupProtocol.parityBit')" name="parityBit">
|
|
<AFormItem :label="$t('setupProtocol.parityBit')" name="parityBit">
|
|
<ARadioGroup v-model:value="info.parityBit">
|
|
<ARadioGroup v-model:value="info.parityBit">
|
|
<ARadio value="N">N</ARadio>
|
|
<ARadio value="N">N</ARadio>
|
|
@@ -302,7 +314,7 @@ defineExpose({
|
|
</ARadioGroup>
|
|
</ARadioGroup>
|
|
</AFormItem>
|
|
</AFormItem>
|
|
</ACol>
|
|
</ACol>
|
|
- <ACol :span="6">
|
|
|
|
|
|
+ <ACol v-if="isModbusRtuProtocol" :span="6">
|
|
<AFormItem :label="$t('setupProtocol.stopBit')" name="stopBit">
|
|
<AFormItem :label="$t('setupProtocol.stopBit')" name="stopBit">
|
|
<ARadioGroup v-model:value="info.stopBit">
|
|
<ARadioGroup v-model:value="info.stopBit">
|
|
<ARadio value="1">1</ARadio>
|
|
<ARadio value="1">1</ARadio>
|
|
@@ -311,7 +323,7 @@ defineExpose({
|
|
</ARadioGroup>
|
|
</ARadioGroup>
|
|
</AFormItem>
|
|
</AFormItem>
|
|
</ACol>
|
|
</ACol>
|
|
- <ACol :span="6">
|
|
|
|
|
|
+ <ACol v-if="isModbusRtuProtocol" :span="6">
|
|
<AFormItem :label="$t('setupProtocol.baudRate')" name="baudRate">
|
|
<AFormItem :label="$t('setupProtocol.baudRate')" name="baudRate">
|
|
<ASelect v-model:value="info.baudRate" class="protocol-input" :placeholder="$t('common.plzSelect')">
|
|
<ASelect v-model:value="info.baudRate" class="protocol-input" :placeholder="$t('common.plzSelect')">
|
|
<ASelectOption v-for="item in baudRateList" :key="item.dictValueId" :value="Number(item.dictValue)">
|
|
<ASelectOption v-for="item in baudRateList" :key="item.dictValueId" :value="Number(item.dictValue)">
|
|
@@ -380,7 +392,7 @@ defineExpose({
|
|
/>
|
|
/>
|
|
</AFormItem>
|
|
</AFormItem>
|
|
</ACol>
|
|
</ACol>
|
|
- <ACol :span="6">
|
|
|
|
|
|
+ <ACol v-if="!isS7Protocol" :span="6">
|
|
<AFormItem :label="$t('setupProtocol.readContinuousAddr')" name="readContinuousAddr">
|
|
<AFormItem :label="$t('setupProtocol.readContinuousAddr')" name="readContinuousAddr">
|
|
<ASwitch
|
|
<ASwitch
|
|
v-model:checked="info.readContinuousAddr"
|
|
v-model:checked="info.readContinuousAddr"
|
|
@@ -392,7 +404,7 @@ defineExpose({
|
|
/>
|
|
/>
|
|
</AFormItem>
|
|
</AFormItem>
|
|
</ACol>
|
|
</ACol>
|
|
- <ACol :span="6">
|
|
|
|
|
|
+ <ACol v-if="!isS7Protocol" :span="6">
|
|
<AFormItem :label="$t('setupProtocol.readContinuousAddrLength')" name="readContinuousAddrLength">
|
|
<AFormItem :label="$t('setupProtocol.readContinuousAddrLength')" name="readContinuousAddrLength">
|
|
<AInputNumber
|
|
<AInputNumber
|
|
v-model:value="info.readContinuousAddrLength"
|
|
v-model:value="info.readContinuousAddrLength"
|
|
@@ -404,8 +416,8 @@ defineExpose({
|
|
</AFormItem>
|
|
</AFormItem>
|
|
</ACol>
|
|
</ACol>
|
|
</ARow>
|
|
</ARow>
|
|
- <div class="protocol-label advanced-label">{{ $t('common.advancedSettings') }}</div>
|
|
|
|
- <ARow :gutter="[4, 30]">
|
|
|
|
|
|
+ <div v-if="!isS7Protocol" class="protocol-label advanced-label">{{ $t('common.advancedSettings') }}</div>
|
|
|
|
+ <ARow v-if="!isS7Protocol" :gutter="[4, 30]">
|
|
<ACol :span="6">
|
|
<ACol :span="6">
|
|
<AFormItem :label="$t('setupProtocol.byteOrder')" name="byteOrder">
|
|
<AFormItem :label="$t('setupProtocol.byteOrder')" name="byteOrder">
|
|
<ASelect
|
|
<ASelect
|
|
@@ -530,7 +542,13 @@ defineExpose({
|
|
/>
|
|
/>
|
|
<ATableColumn :title="$t('setupProtocol.protocolParamFields.decimalPlaces')" data-index="decimalPlace" />
|
|
<ATableColumn :title="$t('setupProtocol.protocolParamFields.decimalPlaces')" data-index="decimalPlace" />
|
|
</ATable>
|
|
</ATable>
|
|
- <CustomParams ref="customParams" :protocol-id="info.id" />
|
|
|
|
|
|
+ <CustomParams
|
|
|
|
+ ref="customParams"
|
|
|
|
+ :protocol-id="info.id"
|
|
|
|
+ :is-modbus-rtu-protocol="isModbusTcpProtocol"
|
|
|
|
+ :is-modbus-tcp-protocol="isModbusTcpProtocol"
|
|
|
|
+ :is-s7-protocol="isS7Protocol"
|
|
|
|
+ />
|
|
<SelectStandardParams ref="selectStandardParams" :protocol-id="info.id" />
|
|
<SelectStandardParams ref="selectStandardParams" :protocol-id="info.id" />
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|