From d41eac403ece679e9ea740a6ff8247235ed18aba Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 20 5月 2025 17:00:34 +0800
Subject: [PATCH] 22

---
 PipeLineLems/pipelinelems_web/src/utils/myHighQueryUtils.ts |  145 ++++++++++++++++++++++++++++++++++++------------
 1 files changed, 108 insertions(+), 37 deletions(-)

diff --git a/PipeLineLems/pipelinelems_web/src/utils/myHighQueryUtils.ts b/PipeLineLems/pipelinelems_web/src/utils/myHighQueryUtils.ts
index b9c1f78..52e90cc 100644
--- a/PipeLineLems/pipelinelems_web/src/utils/myHighQueryUtils.ts
+++ b/PipeLineLems/pipelinelems_web/src/utils/myHighQueryUtils.ts
@@ -1,42 +1,113 @@
 
 //楂樼骇鏌ヨ宸ュ叿鏂囦欢
 
- //淇濆瓨鏌ヨ鍊� 
- export const commonSaveCurHighQueryData=(filteredData,_curHighQueryData,queryForm,_searchFormInputAttrs)=>{ 
-  _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData }; 
-  setValueForCurHighQueryData(_curHighQueryData,queryForm,_searchFormInputAttrs); 
-} 
-    //缁欏搷搴斿紡鏌ヨ鏁版嵁璧嬪�� 
-export const setValueForCurHighQueryData=(_curHighQueryData,queryForm,_searchFormInputAttrs)=>{ 
-      _curHighQueryData.value.searchVal = queryForm.value.searchVal;  
-      _curHighQueryData.value.searchVal_FilterMode = queryForm.value.searchVal_FilterMode;   
-      _curHighQueryData.value.str_searchFormInputAttrs = _searchFormInputAttrs.value;  
-    }
-        //鍒濆鍖� queryForm
-export const initQueryForm=(queryForm,_searchFormInputAttrs,arr)=>{ 
-  queryForm.value.searchVal = '' 
-        queryForm.value.searchVal_FilterMode = arr[0]?.value || ''; 
-        queryForm.value.str_searchFormInputAttrs=_searchFormInputAttrs.value; 
+ /**
+ * 淇濆瓨褰撳墠楂樼骇鏌ヨ鏁版嵁锛屽悎骞惰繃婊ゅ悗鐨勬暟鎹苟鏇存柊鍝嶅簲寮忔煡璇㈠璞�
+ * @param {Object} filteredData - 杩囨护鍚庣殑鏌ヨ鏁版嵁瀵硅薄锛屽寘鍚敤鎴疯緭鍏ョ殑鏌ヨ鏉′欢
+ * @param {Ref<Object>} _curHighQueryData - Vue鍝嶅簲寮忓璞★紝瀛樺偍褰撳墠瀹屾暣鐨勬煡璇㈡潯浠�
+ * @param {Ref<Object>} queryForm - Vue鍝嶅簲寮忓璞★紝瀛樺偍琛ㄥ崟杈撳叆鐨勬煡璇㈡潯浠�
+ * @param {Ref<string>} _searchFormInputAttrs - Vue鍝嶅簲寮忓瓧绗︿覆锛屽瓨鍌ㄦ煡璇㈣〃鍗曠殑杈撳叆灞炴�ч厤缃�
+ * @returns {void}
+ * @example
+ * commonSaveCurHighQueryData(
+ *   { name: 'John', age: 30 },
+ *   ref({}),
+ *   ref({ searchVal: '', searchVal_FilterMode: 'contains' }),
+ *   ref('name,age,email')
+ * );
+ */
+export const commonSaveCurHighQueryData = (filteredData, _curHighQueryData, queryForm, _searchFormInputAttrs) => {
+  _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData };
+  setValueForCurHighQueryData(_curHighQueryData, queryForm, _searchFormInputAttrs);
 }
-    //鑾峰彇楂樼骇鏌ヨ寮瑰嚭妗嗙殑鏌ヨ鍊� 
-    export   const commonGetHighQueryForm=(extraParams,queryForm,_searchFormInputAttrs)=>{ 
-      // 杩囨护鎺� undefined 鐨勫�� 
-      let filteredData = Object.assign( 
-        {}, 
-        ...Object.entries(extraParams).map(([key, value]) => 
-          value !== undefined ? { [key]: value } : {} 
-        ) 
-      ) 
-      //缁勫悎妯$硦鏌ヨ 
-      filteredData.searchVal = queryForm.value.searchVal 
-      filteredData.searchVal_FilterMode = queryForm.value.searchVal_FilterMode  
-      filteredData.str_searchFormInputAttrs =_searchFormInputAttrs.value; 
-      return filteredData; 
-    }  
 
-    // 鏂扮増鐨勬煡璇㈠脊鍑烘鍏抽棴鏂规硶 
-    export   const GetFilteredData = (extraParams,queryForm,_searchFormInputAttrs,_curHighQueryData) => { 
-      let filteredData = commonGetHighQueryForm(extraParams,queryForm,_searchFormInputAttrs); 
-      commonSaveCurHighQueryData(filteredData,_curHighQueryData,queryForm,_searchFormInputAttrs); 
-      return filteredData;
-    } 
\ No newline at end of file
+/**
+ * 涓哄搷搴斿紡鏌ヨ鏁版嵁瀵硅薄璁剧疆鍩虹鏌ヨ鍊�
+ * @param {Ref<Object>} _curHighQueryData - Vue鍝嶅簲寮忓璞★紝瀛樺偍褰撳墠瀹屾暣鐨勬煡璇㈡潯浠�
+ * @param {Ref<Object>} queryForm - Vue鍝嶅簲寮忓璞★紝瀛樺偍琛ㄥ崟杈撳叆鐨勬煡璇㈡潯浠�
+ * @param {Ref<string>} _searchFormInputAttrs - Vue鍝嶅簲寮忓瓧绗︿覆锛屽瓨鍌ㄦ煡璇㈣〃鍗曠殑杈撳叆灞炴�ч厤缃�
+ * @returns {void}
+ * @example
+ * setValueForCurHighQueryData(
+ *   ref({}),
+ *   ref({ searchVal: 'test', searchVal_FilterMode: 'equals' }),
+ *   ref('name,age')
+ * );
+ * // _curHighQueryData.value 灏嗗寘鍚� searchVal, searchVal_FilterMode 鍜� str_searchFormInputAttrs
+ */
+export const setValueForCurHighQueryData = (_curHighQueryData, queryForm, _searchFormInputAttrs) => {
+  _curHighQueryData.value.searchVal = queryForm.value.searchVal;
+  _curHighQueryData.value.searchVal_FilterMode = queryForm.value.searchVal_FilterMode;
+  _curHighQueryData.value.str_searchFormInputAttrs = _searchFormInputAttrs.value;
+}
+
+/**
+ * 鍒濆鍖栨煡璇㈣〃鍗曪紝璁剧疆榛樿鍊�
+ * @param {Ref<Object>} queryForm - Vue鍝嶅簲寮忓璞★紝瀛樺偍琛ㄥ崟杈撳叆鐨勬煡璇㈡潯浠�
+ * @param {Ref<string>} _searchFormInputAttrs - Vue鍝嶅簲寮忓瓧绗︿覆锛屽瓨鍌ㄦ煡璇㈣〃鍗曠殑杈撳叆灞炴�ч厤缃�
+ * @param {Array<Object>} arr - 杩囨护妯″紡閫夐」鏁扮粍锛屾瘡涓�夐」鍖呭惈value鍜宭abel灞炴��
+ * @returns {void}
+ * @example
+ * initQueryForm(
+ *   ref({}),
+ *   ref('name,age'),
+ *   [{ value: 'contains', label: '鍖呭惈' }, { value: 'equals', label: '绛変簬' }]
+ * );
+ * // queryForm.value 灏嗚鍒濆鍖栦负 { searchVal: '', searchVal_FilterMode: 'contains', str_searchFormInputAttrs: 'name,age' }
+ */
+export const initQueryForm = (queryForm, _searchFormInputAttrs, arr) => {
+  queryForm.value.searchVal = '';
+  queryForm.value.searchVal_FilterMode = arr[0]?.value || '';
+  queryForm.value.str_searchFormInputAttrs = _searchFormInputAttrs.value;
+}
+
+/**
+ * 鑾峰彇楂樼骇鏌ヨ寮瑰嚭妗嗙殑鏌ヨ鍊硷紝杩囨护鏃犳晥鏁版嵁骞剁粍鍚堝畬鏁存煡璇㈡潯浠�
+ * @param {Object} extraParams - 棰濆鐨勬煡璇㈠弬鏁板璞★紝鍙兘鍖呭惈鐗规畩鏌ヨ鏉′欢
+ * @param {Ref<Object>} queryForm - Vue鍝嶅簲寮忓璞★紝瀛樺偍琛ㄥ崟杈撳叆鐨勬煡璇㈡潯浠�
+ * @param {Ref<string>} _searchFormInputAttrs - Vue鍝嶅簲寮忓瓧绗︿覆锛屽瓨鍌ㄦ煡璇㈣〃鍗曠殑杈撳叆灞炴�ч厤缃�
+ * @returns {Object} 缁勫悎鍚庣殑鏈夋晥鏌ヨ鏁版嵁瀵硅薄
+ * @example
+ * const queryData = commonGetHighQueryForm(
+ *   { status: 'active', category: 'books' },
+ *   ref({ searchVal: 'javascript', searchVal_FilterMode: 'contains' }),
+ *   ref('title,author')
+ * );
+ * // 杩斿洖 { status: 'active', category: 'books', searchVal: 'javascript', searchVal_FilterMode: 'contains', str_searchFormInputAttrs: 'title,author' }
+ */
+export const commonGetHighQueryForm = (extraParams, queryForm, _searchFormInputAttrs) => {
+  // 杩囨护鎺� undefined 鐨勫��
+  let filteredData = Object.assign(
+    {},
+    ...Object.entries(extraParams).map(([key, value]) =>
+      value !== undefined ? { [key]: value } : {}
+    )
+  );
+  // 缁勫悎妯$硦鏌ヨ
+  filteredData.searchVal = queryForm.value.searchVal;
+  filteredData.searchVal_FilterMode = queryForm.value.searchVal_FilterMode;
+  filteredData.str_searchFormInputAttrs = _searchFormInputAttrs.value;
+  return filteredData;
+}
+
+/**
+ * 鏂扮増鐨勬煡璇㈠脊鍑烘鍏抽棴鏂规硶锛岃幏鍙栬繃婊ゆ暟鎹苟淇濆瓨鍒板搷搴斿紡瀵硅薄
+ * @param {Object} extraParams - 棰濆鐨勬煡璇㈠弬鏁板璞★紝鍙兘鍖呭惈鐗规畩鏌ヨ鏉′欢
+ * @param {Ref<Object>} queryForm - Vue鍝嶅簲寮忓璞★紝瀛樺偍琛ㄥ崟杈撳叆鐨勬煡璇㈡潯浠�
+ * @param {Ref<string>} _searchFormInputAttrs - Vue鍝嶅簲寮忓瓧绗︿覆锛屽瓨鍌ㄦ煡璇㈣〃鍗曠殑杈撳叆灞炴�ч厤缃�
+ * @param {Ref<Object>} _curHighQueryData - Vue鍝嶅簲寮忓璞★紝瀛樺偍褰撳墠瀹屾暣鐨勬煡璇㈡潯浠�
+ * @returns {Object} 缁勫悎鍚庣殑鏈夋晥鏌ヨ鏁版嵁瀵硅薄
+ * @example
+ * const queryData = GetFilteredData(
+ *   { type: 'article' },
+ *   ref({ searchVal: 'news', searchVal_FilterMode: 'startsWith' }),
+ *   ref('title,content'),
+ *   ref({})
+ * );
+ * // 杩斿洖鏈夋晥鏌ヨ鏁版嵁骞舵洿鏂� _curHighQueryData
+ */
+export const GetFilteredData = (extraParams, queryForm, _searchFormInputAttrs, _curHighQueryData) => {
+  let filteredData = commonGetHighQueryForm(extraParams, queryForm, _searchFormInputAttrs);
+  commonSaveCurHighQueryData(filteredData, _curHighQueryData, queryForm, _searchFormInputAttrs);
+  return filteredData;
+}    
\ No newline at end of file

--
Gitblit v1.9.3