소스 검색

perf(components): 优化“协议内容”组件协议参数表格

1. 支持对识别结果进行过滤
wangcong 2 달 전
부모
커밋
6b5d3dd978
3개의 변경된 파일15개의 추가작업 그리고 0개의 파일을 삭제
  1. 4 0
      src/i18n/locales/zh.json
  2. 1 0
      src/types/index.ts
  3. 10 0
      src/views/setup-protocol/ProtocolContent.vue

+ 4 - 0
src/i18n/locales/zh.json

@@ -398,7 +398,11 @@
     "readContinuousAddrLength": "最大连读长度",
     "readTimeout": "读取超时时间",
     "recognitionResult": "识别结果",
+    "recognizeFailed": "无法识别",
+    "recognizeMultipleResults": "多个结果",
+    "recognizeNull": "自定义/标准",
     "recognizeProgress": "识别中",
+    "recognizeSuccess": "识别成功",
     "recognizeTip": "预计 {time} 秒后完成识别",
     "recognizing": "正在识别......",
     "selectConfigMethod": "选择配置方式",

+ 1 - 0
src/types/index.ts

@@ -230,6 +230,7 @@ export interface ProtocolParamSearchParams extends PageParams {
   baseInfoId: number;
   paramCode?: string;
   paramName?: string;
+  recognizeResult?: string[];
 }
 
 export type ProtocolStandardParamData = PageData<ProtocolStandardParam>;

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

@@ -217,6 +217,7 @@ const pageParams = ref<PageParams>({
 });
 
 const { isLoading, handleRequest } = useRequest();
+let recognizeResult: string[] = [];
 
 const getCurrentProtocolParams = () => {
   handleRequest(async () => {
@@ -231,6 +232,7 @@ const getCurrentProtocolParams = () => {
       baseInfoId: id,
       paramName: paramNameOrCode.value,
       paramCode: paramNameOrCode.value,
+      recognizeResult,
     });
 
     paramList.value = records;
@@ -245,6 +247,7 @@ const handleParamNameOrCodeChange = debounce(() => {
 }, 300);
 
 const handleParamTableChange: TableProps['onChange'] = (pagination, filters, sorter) => {
+  recognizeResult = (filters.recognizeResult as string[] | null) || [];
   pageParams.value.pageIndex = pagination.current || 1;
   pageParams.value.pageSize = pagination.pageSize || 10;
 
@@ -550,9 +553,16 @@ defineExpose({
         data-index="recognizeResult"
         :width="110"
         :sorter="true"
+        :filters="[
+          { text: $t('setupProtocol.recognizeSuccess'), value: ProtocolRecognitionResult.Success },
+          { text: $t('setupProtocol.recognizeMultipleResults'), value: ProtocolRecognitionResult.MultipleResults },
+          { text: $t('setupProtocol.recognizeFailed'), value: ProtocolRecognitionResult.Unrecognized },
+          { text: $t('setupProtocol.recognizeNull'), value: '-' },
+        ]"
       >
         <template #default="{ record }">
           <div
+            v-if="record.recognizeResult"
             :class="[
               'protocol-recognize-result',
               {