From dfcd7292930616dfa36207cd23ebbb7a99813178 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 20 5月 2025 18:14:03 +0800
Subject: [PATCH] //将抽屉强制挂载到 body 元素上,确保样式隔离和滚动行为正常,不受嵌套页面的影响
---
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