Преглед на файлове

fix(views): 修复配置协议修改参数时可能覆盖客户参数名称的问题

wangcong преди 3 седмици
родител
ревизия
003ba2ce4e
променени са 3 файла, в които са добавени 10 реда и са изтрити 2 реда
  1. 3 1
      src/views/setup-protocol/CustomParams.vue
  2. 5 0
      src/views/setup-protocol/ProtocolContent.vue
  3. 2 1
      src/views/setup-protocol/SelectStandardParams.vue

+ 3 - 1
src/views/setup-protocol/CustomParams.vue

@@ -180,7 +180,9 @@ onMounted(() => {
 });
 
 const handleParamNameChange = () => {
-  customParamsForm.paramName = customParamsForm.gatewayParamName;
+  if (isAddParams.value) {
+    customParamsForm.paramName = customParamsForm.gatewayParamName;
+  }
 };
 
 const handleReadWriteTypeChange = (_value: SelectValue, option: DefaultOptionType) => {

+ 5 - 0
src/views/setup-protocol/ProtocolContent.vue

@@ -317,6 +317,7 @@ const handleProtocolCandidateChange = (value: SelectValue, params: ProtocolParam
   handleRequest(async () => {
     const paramInfo = await getProtocolStandardParam(value as number);
     selectedParamId.value = params.id;
+    selectedParamName.value = params.paramName;
     selectStandardParamsRef.value?.setIsAddParams(false);
     selectStandardParamsRef.value?.setParamsForm(paramInfo);
     selectStandardParamsRef.value?.setSelectedParams(paramInfo);
@@ -365,11 +366,13 @@ const addCustomParams = () => {
 };
 
 const addStandardParams = () => {
+  selectedParamName.value = '';
   selectStandardParamsRef.value?.setIsAddParams(true);
   selectStandardParamsRef.value?.showView();
 };
 
 const selectedParamId = ref<number>();
+const selectedParamName = ref<string>('');
 
 const changeToCustomParams = (params: ProtocolParamInfo) => {
   selectedParamId.value = params.id;
@@ -384,6 +387,7 @@ const changeToCustomParams = (params: ProtocolParamInfo) => {
 
 const changeToStandardParams = (params: ProtocolParamInfo) => {
   selectedParamId.value = params.id;
+  selectedParamName.value = params.paramName;
   selectStandardParamsRef.value?.setIsAddParams(false);
   selectStandardParamsRef.value?.showView();
 };
@@ -899,6 +903,7 @@ defineExpose({
       ref="selectStandardParams"
       :protocol-id="info.id"
       :param-id="selectedParamId"
+      :param-name="selectedParamName"
       :is-modbus-rtu-protocol="isModbusRtuProtocol"
       :is-modbus-tcp-protocol="isModbusTcpProtocol"
       :is-s7-protocol="isS7Protocol"

+ 2 - 1
src/views/setup-protocol/SelectStandardParams.vue

@@ -19,6 +19,7 @@ import type { FormRules, PageParams, ProtocolParamInfo, ProtocolStandardParam }
 interface Props {
   protocolId?: number;
   paramId?: number;
+  paramName?: string;
   isModbusRtuProtocol?: boolean;
   isModbusTcpProtocol?: boolean;
   isS7Protocol?: boolean;
@@ -282,7 +283,7 @@ const handleFormOk = () => {
           ...standardParamsForm,
           baseInfoId: props.protocolId,
           platformProtocolInfoId: standardParam.id,
-          paramName: standardParam.platformParamName,
+          paramName: props.paramName || standardParam.platformParamName,
         };
 
         if (isAddParams.value) {