From a3a2b238a2626ef8744e7a135f9ca2e2fbb5184c Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 21 5月 2025 10:17:36 +0800
Subject: [PATCH] 优化

---
 PipeLineLems/pipelinelems_web/src/widgets/WorkPlan/Controllers/WorkPlanQueryDrawer.tsx |  366 +++++++++++++++------------------------------------
 1 files changed, 110 insertions(+), 256 deletions(-)

diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkPlan/Controllers/WorkPlanQueryDrawer.tsx b/PipeLineLems/pipelinelems_web/src/widgets/WorkPlan/Controllers/WorkPlanQueryDrawer.tsx
index 5ba5020..0b8f33a 100644
--- a/PipeLineLems/pipelinelems_web/src/widgets/WorkPlan/Controllers/WorkPlanQueryDrawer.tsx
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkPlan/Controllers/WorkPlanQueryDrawer.tsx
@@ -20,6 +20,8 @@
   FILTER_MODE_OPTIONS_NUM, 
   FILTER_MODE_OPTIONS_BOOL 
 } from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions'; 
+// 寮曞叆鍏叡琛ㄥ崟宸ュ叿鏂囦欢  
+import { collectFormDataForHighQuery,onResetForHighSelect,onResetForHighQuery } from '@/utils/myformUtils'; 
 import {  
   BOOLEAN_OPTIONS 
 } from '@/utils/commonOptionConstants'; 
@@ -101,6 +103,84 @@
                    } 
                 }, 
                 { 
+                   label: '绠℃缂栫爜', 
+                   prop: 'pipeSpecCode', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ娈电紪鐮�', 
+                   highSelectAttrs:{ 
+                     prop: 'pipeSpecCode_FilterMode', 
+                     el: 'select',  
+                     placeholder: '璇烽�夋嫨',  
+                     options:FILTER_MODE_OPTIONS_STRING 
+                   } 
+                }, 
+                { 
+                   label: '绠℃鍚嶇О', 
+                   prop: 'pipeSectionName', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ娈靛悕绉�', 
+                   highSelectAttrs:{ 
+                     prop: 'pipeSectionName_FilterMode', 
+                     el: 'select',  
+                     placeholder: '璇烽�夋嫨',  
+                     options:FILTER_MODE_OPTIONS_STRING 
+                   } 
+                }, 
+                { 
+                   label: '绠℃鍨嬪彿', 
+                   prop: 'pipeSpecMode', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ョ娈靛瀷鍙�', 
+                   highSelectAttrs:{ 
+                     prop: 'pipeSpecMode_FilterMode', 
+                     el: 'select',  
+                     placeholder: '璇烽�夋嫨',  
+                     options:FILTER_MODE_OPTIONS_STRING 
+                   } 
+                }, 
+                { 
+                   label: '宸ュ簭鍚嶇О', 
+                   prop: 'processName', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ伐搴忓悕绉�', 
+                   highSelectAttrs:{ 
+                     prop: 'processName_FilterMode', 
+                     el: 'select',  
+                     placeholder: '璇烽�夋嫨',  
+                     options:FILTER_MODE_OPTIONS_STRING 
+                   } 
+                }, 
+                { 
+                   label: '鑸瑰彿', 
+                   prop: 'shipNumber', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ヨ埞鍙�', 
+                   highSelectAttrs:{ 
+                     prop: 'shipNumber_FilterMode', 
+                     el: 'select',  
+                     placeholder: '璇烽�夋嫨',  
+                     options:FILTER_MODE_OPTIONS_STRING 
+                   } 
+                }, 
+                { 
+                   label: '椤圭洰鍙�', 
+                   prop: 'projectNumber', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ラ」鐩彿', 
+                   highSelectAttrs:{ 
+                     prop: 'projectNumber_FilterMode', 
+                     el: 'select',  
+                     placeholder: '璇烽�夋嫨',  
+                     options:FILTER_MODE_OPTIONS_STRING 
+                   } 
+                }, 
+                { 
                    label: '璁″垝鐘舵��', 
                    prop: 'workPlanStatus', 
                    el: 'select', 
@@ -128,6 +208,19 @@
                      el: 'select',  
                      placeholder: '璇烽�夋嫨',  
                      options:FILTER_MODE_OPTIONS_BOOL 
+                   } 
+                }, 
+                { 
+                   label: '宸ヨ壓娴佸悜缂栧彿', 
+                   prop: 'processRouteNumber', 
+                   el: 'input', 
+                   //disabled: disabled, 
+                   placeholder: '璇疯緭鍏ュ伐鑹烘祦鍚戠紪鍙�', 
+                   highSelectAttrs:{ 
+                     prop: 'processRouteNumber_FilterMode', 
+                     el: 'select',  
+                     placeholder: '璇烽�夋嫨',  
+                     options:FILTER_MODE_OPTIONS_STRING 
                    } 
                 }, 
                 { 
@@ -437,45 +530,6 @@
                    } 
                 }, 
                 { 
-                   label: '鑸瑰彿', 
-                   prop: 'shipNumber', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ヨ埞鍙�', 
-                   highSelectAttrs:{ 
-                     prop: 'shipNumber_FilterMode', 
-                     el: 'select',  
-                     placeholder: '璇烽�夋嫨',  
-                     options:FILTER_MODE_OPTIONS_STRING 
-                   } 
-                }, 
-                { 
-                   label: '椤圭洰鍙�', 
-                   prop: 'projectNumber', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ラ」鐩彿', 
-                   highSelectAttrs:{ 
-                     prop: 'projectNumber_FilterMode', 
-                     el: 'select',  
-                     placeholder: '璇烽�夋嫨',  
-                     options:FILTER_MODE_OPTIONS_STRING 
-                   } 
-                }, 
-                { 
-                   label: '宸ュ簭鍚嶇О', 
-                   prop: 'processName', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ伐搴忓悕绉�', 
-                   highSelectAttrs:{ 
-                     prop: 'processName_FilterMode', 
-                     el: 'select',  
-                     placeholder: '璇烽�夋嫨',  
-                     options:FILTER_MODE_OPTIONS_STRING 
-                   } 
-                }, 
-                { 
                    label: '绠′欢缂栫爜', 
                    prop: 'pipeFittingCode', 
                    el: 'input', 
@@ -496,32 +550,6 @@
                    placeholder: '璇疯緭鍏ラ『搴忓彿', 
                    highSelectAttrs:{ 
                      prop: 'preSerialNumber_FilterMode', 
-                     el: 'select',  
-                     placeholder: '璇烽�夋嫨',  
-                     options:FILTER_MODE_OPTIONS_STRING 
-                   } 
-                }, 
-                { 
-                   label: '绠℃缂栫爜', 
-                   prop: 'pipeSpecCode', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ョ娈电紪鐮�', 
-                   highSelectAttrs:{ 
-                     prop: 'pipeSpecCode_FilterMode', 
-                     el: 'select',  
-                     placeholder: '璇烽�夋嫨',  
-                     options:FILTER_MODE_OPTIONS_STRING 
-                   } 
-                }, 
-                { 
-                   label: '绠℃鍚嶇О', 
-                   prop: 'pipeSectionName', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ョ娈靛悕绉�', 
-                   highSelectAttrs:{ 
-                     prop: 'pipeSectionName_FilterMode', 
                      el: 'select',  
                      placeholder: '璇烽�夋嫨',  
                      options:FILTER_MODE_OPTIONS_STRING 
@@ -579,19 +607,6 @@
                    placeholder: '璇疯緭鍏ユ潗璐�', 
                    highSelectAttrs:{ 
                      prop: 'material_FilterMode', 
-                     el: 'select',  
-                     placeholder: '璇烽�夋嫨',  
-                     options:FILTER_MODE_OPTIONS_STRING 
-                   } 
-                }, 
-                { 
-                   label: '宸ヨ壓娴佸悜缂栧彿', 
-                   prop: 'processRouteNumber', 
-                   el: 'input', 
-                   //disabled: disabled, 
-                   placeholder: '璇疯緭鍏ュ伐鑹烘祦鍚戠紪鍙�', 
-                   highSelectAttrs:{ 
-                     prop: 'processRouteNumber_FilterMode', 
                      el: 'select',  
                      placeholder: '璇烽�夋嫨',  
                      options:FILTER_MODE_OPTIONS_STRING 
@@ -733,93 +748,11 @@
     const check = isEqual(initiateData.value, data) 
     return check 
   } 
-  const commonGetFormData=()=>{ 
-    const data = { 
-      taskCode: formData.value.taskCode || '', 
-taskCode_FilterMode: formData.value.taskCode_FilterMode || '', 
-workPlanStatus: formData.value.workPlanStatus || '', 
-workPlanStatus_FilterMode: formData.value.workPlanStatus_FilterMode || '', 
-callMaterialStatus: formData.value.callMaterialStatus || '', 
-callMaterialStatus_FilterMode: formData.value.callMaterialStatus_FilterMode || '', 
-dataIdentifier: formData.value.dataIdentifier || '', 
-dataIdentifier_FilterMode: formData.value.dataIdentifier_FilterMode || '', 
-materialMode: formData.value.materialMode || '', 
-materialMode_FilterMode: formData.value.materialMode_FilterMode || '', 
-length: formData.value.length || '', 
-length_FilterMode: formData.value.length_FilterMode || '', 
-markingContent: formData.value.markingContent || '', 
-markingContent_FilterMode: formData.value.markingContent_FilterMode || '', 
-markingPosition: formData.value.markingPosition || '', 
-markingPosition_FilterMode: formData.value.markingPosition_FilterMode || '', 
-cuttingPosition: formData.value.cuttingPosition || '', 
-cuttingPosition_FilterMode: formData.value.cuttingPosition_FilterMode || '', 
-quantity: formData.value.quantity || '', 
-quantity_FilterMode: formData.value.quantity_FilterMode || '', 
-flangeThickness: formData.value.flangeThickness || '', 
-flangeThickness_FilterMode: formData.value.flangeThickness_FilterMode || '', 
-flangeInnerDiameter: formData.value.flangeInnerDiameter || '', 
-flangeInnerDiameter_FilterMode: formData.value.flangeInnerDiameter_FilterMode || '', 
-weldingHeatInput: formData.value.weldingHeatInput || '', 
-weldingHeatInput_FilterMode: formData.value.weldingHeatInput_FilterMode || '', 
-pipeAllowableStress: formData.value.pipeAllowableStress || '', 
-pipeAllowableStress_FilterMode: formData.value.pipeAllowableStress_FilterMode || '', 
-pipeDiameter: formData.value.pipeDiameter || '', 
-pipeDiameter_FilterMode: formData.value.pipeDiameter_FilterMode || '', 
-pipeWallThickness: formData.value.pipeWallThickness || '', 
-pipeWallThickness_FilterMode: formData.value.pipeWallThickness_FilterMode || '', 
-factoryCode: formData.value.factoryCode || '', 
-factoryCode_FilterMode: formData.value.factoryCode_FilterMode || '', 
-productCode: formData.value.productCode || '', 
-productCode_FilterMode: formData.value.productCode_FilterMode || '', 
-workstationCode: formData.value.workstationCode || '', 
-workstationCode_FilterMode: formData.value.workstationCode_FilterMode || '', 
-equipmentCode: formData.value.equipmentCode || '', 
-equipmentCode_FilterMode: formData.value.equipmentCode_FilterMode || '', 
-prodLineCode: formData.value.prodLineCode || '', 
-prodLineCode_FilterMode: formData.value.prodLineCode_FilterMode || '', 
-shipNumber: formData.value.shipNumber || '', 
-shipNumber_FilterMode: formData.value.shipNumber_FilterMode || '', 
-projectNumber: formData.value.projectNumber || '', 
-projectNumber_FilterMode: formData.value.projectNumber_FilterMode || '', 
-processName: formData.value.processName || '', 
-processName_FilterMode: formData.value.processName_FilterMode || '', 
-pipeFittingCode: formData.value.pipeFittingCode || '', 
-pipeFittingCode_FilterMode: formData.value.pipeFittingCode_FilterMode || '', 
-preSerialNumber: formData.value.preSerialNumber || '', 
-preSerialNumber_FilterMode: formData.value.preSerialNumber_FilterMode || '', 
-pipeSpecCode: formData.value.pipeSpecCode || '', 
-pipeSpecCode_FilterMode: formData.value.pipeSpecCode_FilterMode || '', 
-pipeSectionName: formData.value.pipeSectionName || '', 
-pipeSectionName_FilterMode: formData.value.pipeSectionName_FilterMode || '', 
-outerDiameter: formData.value.outerDiameter || '', 
-outerDiameter_FilterMode: formData.value.outerDiameter_FilterMode || '', 
-thickness: formData.value.thickness || '', 
-thickness_FilterMode: formData.value.thickness_FilterMode || '', 
-material: formData.value.material || '', 
-material_FilterMode: formData.value.material_FilterMode || '', 
-processRouteNumber: formData.value.processRouteNumber || '', 
-processRouteNumber_FilterMode: formData.value.processRouteNumber_FilterMode || '', 
-plannedStartTime: formData.value.plannedStartTime || '', 
-plannedEndTime: formData.value.plannedEndTime || '', 
-teamInfo: formData.value.teamInfo || '', 
-teamInfo_FilterMode: formData.value.teamInfo_FilterMode || '', 
-timestamp: formData.value.timestamp || '', 
-timestamp_FilterMode: formData.value.timestamp_FilterMode || '', 
-creationTime: formData.value.creationTime || '', 
-lastModificationTime: formData.value.lastModificationTime || '', 
-creatorName: formData.value.creatorName || '', 
-creatorName_FilterMode: formData.value.creatorName_FilterMode || '', 
-lastModifierName: formData.value.lastModifierName || '', 
-lastModifierName_FilterMode: formData.value.lastModifierName_FilterMode || '', 
-remark: formData.value.remark || '', 
-remark_FilterMode: formData.value.remark_FilterMode || '',  
-    } 
-    return data; 
-  } 
+ 
   const onClose = (done: () => void) => { 
     if (visible.value) { 
       visible.value = false 
-      const data =commonGetFormData(); 
+      const data =collectFormDataForHighQuery(formItems,formData);  
       ctx.emit('close', data) 
     } 
   } 
@@ -827,101 +760,22 @@
    * 纭鏌ヨ 
    */ 
   const onConfirmQuery = async () => { 
-    const data =commonGetFormData(); 
+    const data =collectFormDataForHighQuery(formItems,formData);  
     ctx.emit('confirmQuery', data) 
   } 
-  /**  
-   * 閲嶇疆鍏叡select鏌ヨ  
-   */  
-  const onResetForHighSelect = async () => {  
-    formData.value.taskCode_FilterMode = 1 
-formData.value.workPlanStatus_FilterMode = 2 
-formData.value.callMaterialStatus_FilterMode = 2 
-formData.value.dataIdentifier_FilterMode = 1 
-formData.value.materialMode_FilterMode = 1 
-formData.value.length_FilterMode = 2 
-formData.value.markingContent_FilterMode = 1 
-formData.value.markingPosition_FilterMode = 2 
-formData.value.cuttingPosition_FilterMode = 2 
-formData.value.quantity_FilterMode = 2 
-formData.value.flangeThickness_FilterMode = 2 
-formData.value.flangeInnerDiameter_FilterMode = 2 
-formData.value.weldingHeatInput_FilterMode = 1 
-formData.value.pipeAllowableStress_FilterMode = 1 
-formData.value.pipeDiameter_FilterMode = 2 
-formData.value.pipeWallThickness_FilterMode = 2 
-formData.value.factoryCode_FilterMode = 1 
-formData.value.productCode_FilterMode = 1 
-formData.value.workstationCode_FilterMode = 1 
-formData.value.equipmentCode_FilterMode = 1 
-formData.value.prodLineCode_FilterMode = 1 
-formData.value.shipNumber_FilterMode = 1 
-formData.value.projectNumber_FilterMode = 1 
-formData.value.processName_FilterMode = 1 
-formData.value.pipeFittingCode_FilterMode = 1 
-formData.value.preSerialNumber_FilterMode = 1 
-formData.value.pipeSpecCode_FilterMode = 1 
-formData.value.pipeSectionName_FilterMode = 1 
-formData.value.outerDiameter_FilterMode = 2 
-formData.value.thickness_FilterMode = 2 
-formData.value.material_FilterMode = 1 
-formData.value.processRouteNumber_FilterMode = 1 
-formData.value.teamInfo_FilterMode = 1 
-formData.value.timestamp_FilterMode = 1 
-formData.value.creatorName_FilterMode = 1 
-formData.value.lastModifierName_FilterMode = 1 
-formData.value.remark_FilterMode = 1  
-  }  
-  /** 
-   * 閲嶇疆鏌ヨ 
-   */ 
-  const onReset = async () => { 
-    formData.value = {} 
-    onResetForHighSelect();//閲嶇疆鍏叡select鏌ヨ  
-    formData.value.taskCode = '' 
-formData.value.workPlanStatus = '' 
-formData.value.callMaterialStatus = '' 
-formData.value.dataIdentifier = '' 
-formData.value.materialMode = '' 
-formData.value.length = '' 
-formData.value.markingContent = '' 
-formData.value.markingPosition = '' 
-formData.value.cuttingPosition = '' 
-formData.value.quantity = '' 
-formData.value.flangeThickness = '' 
-formData.value.flangeInnerDiameter = '' 
-formData.value.weldingHeatInput = '' 
-formData.value.pipeAllowableStress = '' 
-formData.value.pipeDiameter = '' 
-formData.value.pipeWallThickness = '' 
-formData.value.factoryCode = '' 
-formData.value.productCode = '' 
-formData.value.workstationCode = '' 
-formData.value.equipmentCode = '' 
-formData.value.prodLineCode = '' 
-formData.value.shipNumber = '' 
-formData.value.projectNumber = '' 
-formData.value.processName = '' 
-formData.value.pipeFittingCode = '' 
-formData.value.preSerialNumber = '' 
-formData.value.pipeSpecCode = '' 
-formData.value.pipeSectionName = '' 
-formData.value.outerDiameter = '' 
-formData.value.thickness = '' 
-formData.value.material = '' 
-formData.value.processRouteNumber = '' 
-formData.value.plannedStartTime = '' 
-formData.value.plannedEndTime = '' 
-formData.value.teamInfo = '' 
-formData.value.timestamp = '' 
-formData.value.creationTime = '' 
-formData.value.lastModificationTime = '' 
-formData.value.creatorName = '' 
-formData.value.lastModifierName = '' 
-formData.value.remark = ''  
-    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 
-    ctx.emit('restQuery'); 
-  } 
+    /** 
+    * 閲嶇疆鏌ヨ - 浼樺寲鐗� 
+    */ 
+    const onReset = async () => { 
+        // 1. 娓呯┖鎵�鏈夊熀纭�瀛楁锛堜笉鍖呭惈杩囨护妯″紡瀛楁锛�,搴旂敤鍩虹瀛楁鍒濆鍊�   
+        onResetForHighQuery(formItems,formData); 
+   
+        // 2. 浣跨敤鍘熸湁鏂规硶閲嶇疆杩囨护妯″紡瀛楁 
+        onResetForHighSelect(formItems,formData); 
+   
+        // 3. 鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢 
+        ctx.emit('restQuery'); 
+    } 
  
   const updateCheckData = () => { 
     initiateData.value = { 
@@ -954,7 +808,7 @@
  
   } 
   commonQueryEnumForFrom() 
-  onResetForHighSelect();//閲嶇疆鍏叡select鏌ヨ  
+  onResetForHighSelect(formItems,formData);//閲嶇疆鍏叡select鏌ヨ   
   /** 
    * 寮圭獥鎵撳紑鑾峰彇璇︽儏 
    */ 

--
Gitblit v1.9.3