From df1406d0f571972d033dffd6a93fb4b94febeb56 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期二, 24 六月 2025 16:46:44 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- src/views/production/components/useTableData.js | 236 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 118 insertions(+), 118 deletions(-) diff --git a/src/views/production/components/useTableData.js b/src/views/production/components/useTableData.js index ccdd846..4f48ef6 100644 --- a/src/views/production/components/useTableData.js +++ b/src/views/production/components/useTableData.js @@ -2,131 +2,131 @@ * 琛ㄦ牸鏁版嵁绠$悊缁勫悎寮忓嚱鏁� * 鎻愪緵鍒嗛〉銆佹悳绱€�侀�夋嫨绛夐�氱敤鍔熻兘 */ -import { ref, reactive } from 'vue'; -import { ElMessage, ElMessageBox } from 'element-plus'; +import {ref, reactive} from 'vue'; +import {ElMessage, ElMessageBox} from 'element-plus'; export function useTableData(apiFunction, options = {}) { - const { - pageSize = 10, - searchField = 'searchAll' - } = options; + const { + pageSize = 10, + searchField = 'searchAll' + } = options; - // 鍝嶅簲寮忔暟鎹� - const tableData = ref([]); - const loading = ref(false); - const total = ref(0); - const selectedRows = ref([]); + // 鍝嶅簲寮忔暟鎹� + const tableData = ref([]); + const loading = ref(false); + const total = ref(0); + const selectedRows = ref([]); - // 鏌ヨ鍙傛暟 - const queryParams = reactive({ - [searchField]: '', - current: 1, - size: pageSize, - }); + // 鏌ヨ鍙傛暟 + const queryParams = reactive({ + [searchField]: '', + current: 1, + size: pageSize, + }); - // 鑾峰彇鍒楄〃鏁版嵁 - const getList = async () => { - loading.value = true; - try { - const params = { - [searchField]: queryParams[searchField], - current: queryParams.current, - size: queryParams.size, - }; - console.log('鏌ヨ鍙傛暟:', params); - const res = await apiFunction(params); - tableData.value = res.data.records || []; - total.value = res.data.total || 0; - } catch (error) { - ElMessage.error('鑾峰彇鏁版嵁澶辫触'); - console.error('API閿欒:', error); - } finally { - loading.value = false; - } - }; - - // 鎼滅储 - const handleSearch = () => { - queryParams.current = 1; - getList(); - }; - - // 閲嶇疆鎼滅储 - const handleReset = () => { - queryParams[searchField] = ''; - console.log('閲嶇疆鎼滅储鍙傛暟:', queryParams); - handleSearch(); - }; - - // 鍒嗛〉澶勭悊 - const handlePageChange = ({ page, limit }) => { - if (page && page !== queryParams.current) { - queryParams.current = page; - } - if (limit && limit !== queryParams.size) { - queryParams.size = limit; - queryParams.current = 1; // 鏀瑰彉姣忛〉澶у皬鏃跺洖鍒扮涓�椤� - } - getList(); - }; - - // 琛ㄦ牸閫夋嫨澶勭悊 - const handleSelectionChange = (selection) => { - selectedRows.value = selection; - }; - - // 鎵归噺鍒犻櫎 - const deleteSelected = async (deleteFunction) => { - if (selectedRows.value.length === 0) { - ElMessage.warning('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁'); - return; - } - - try { - await ElMessageBox.confirm( - `纭鍒犻櫎閫変腑鐨� ${selectedRows.value.length} 鏉℃暟鎹悧锛焋, - '鍒犻櫎纭', - { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' + // 鑾峰彇鍒楄〃鏁版嵁 + const getList = async () => { + loading.value = true; + try { + const params = { + [searchField]: queryParams[searchField], + current: queryParams.current, + size: queryParams.size, + }; + console.log('鏌ヨ鍙傛暟:', params); + const res = await apiFunction(params); + tableData.value = res.data.records || []; + total.value = res.data.total || 0; + } catch (error) { + ElMessage.error('鑾峰彇鏁版嵁澶辫触'); + console.error('API閿欒:', error); + } finally { + loading.value = false; } - ); + }; - const ids = selectedRows.value.map(row => row.id); - await deleteFunction(ids); - - ElMessage.success('鍒犻櫎鎴愬姛'); - selectedRows.value = []; - getList(); - } catch (error) { - if (error !== 'cancel') { - ElMessage.error('鍒犻櫎澶辫触'); - console.error('鍒犻櫎閿欒:', error); - } - } - }; + // 鎼滅储 + const handleSearch = () => { + queryParams.current = 1; + getList(); + }; - // 鍒锋柊鏁版嵁 - const refresh = () => { - getList(); - }; + // 閲嶇疆鎼滅储 + const handleReset = () => { + queryParams[searchField] = ''; + console.log('閲嶇疆鎼滅储鍙傛暟:', queryParams); + handleSearch(); + }; - return { - // 鏁版嵁 - tableData, - loading, - total, - selectedRows, - queryParams, - - // 鏂规硶 - getList, - handleSearch, - handleReset, - handlePageChange, - handleSelectionChange, - deleteSelected, - refresh - }; + // 鍒嗛〉澶勭悊 + const handlePageChange = ({page, limit}) => { + if (page && page !== queryParams.current) { + queryParams.current = page; + } + if (limit && limit !== queryParams.size) { + queryParams.size = limit; + queryParams.current = 1; // 鏀瑰彉姣忛〉澶у皬鏃跺洖鍒扮涓�椤� + } + getList(); + }; + + // 琛ㄦ牸閫夋嫨澶勭悊 + const handleSelectionChange = (selection) => { + selectedRows.value = selection; + }; + + // 鎵归噺鍒犻櫎 + const deleteSelected = async (deleteFunction) => { + if (selectedRows.value.length === 0) { + ElMessage.warning('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁'); + return; + } + + try { + await ElMessageBox.confirm( + `纭鍒犻櫎閫変腑鐨� ${selectedRows.value.length} 鏉℃暟鎹悧锛焋, + '鍒犻櫎纭', + { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + } + ); + + const ids = selectedRows.value.map(row => row.id); + await deleteFunction(ids); + + ElMessage.success('鍒犻櫎鎴愬姛'); + selectedRows.value = []; + getList(); + } catch (error) { + if (error !== 'cancel') { + ElMessage.error('鍒犻櫎澶辫触'); + console.error('鍒犻櫎閿欒:', error); + } + } + }; + + // 鍒锋柊鏁版嵁 + const refresh = () => { + getList(); + }; + + return { + // 鏁版嵁 + tableData, + loading, + total, + selectedRows, + queryParams, + + // 鏂规硶 + getList, + handleSearch, + handleReset, + handlePageChange, + handleSelectionChange, + deleteSelected, + refresh + }; } -- Gitblit v1.9.3