import { ref } from "vue"; import type { IObject, PageContentInstance, PageModalInstance, PageSearchInstance, } from "./types"; function usePage() { const searchRef = ref(); const contentRef = ref(); const addModalRef = ref(); const editModalRef = ref(); // 搜索 function handleQueryClick(queryParams: IObject) { const filterParams = contentRef.value?.getFilterParams(); contentRef.value?.fetchPageData({ ...queryParams, ...filterParams }, true); } // 重置 function handleResetClick(queryParams: IObject) { const filterParams = contentRef.value?.getFilterParams(); contentRef.value?.fetchPageData({ ...queryParams, ...filterParams }, true); } // 新增 function handleAddClick() { //显示添加表单 addModalRef.value?.setModalVisible(); } // 编辑 function handleEditClick(row: IObject) { //显示编辑表单 根据数据进行填充 editModalRef.value?.setModalVisible(row); } // 表单提交 function handleSubmitClick() { //根据检索条件刷新列表数据 const queryParams = searchRef.value?.getQueryParams(); contentRef.value?.fetchPageData(queryParams, true); } // 导出 function handleExportClick() { // 根据检索条件导出数据 const queryParams = searchRef.value?.getQueryParams(); contentRef.value?.exportPageData(queryParams); } // 搜索显隐 function handleSearchClick() { searchRef.value?.toggleVisible(); } // 涮选数据 function handleFilterChange(filterParams: IObject) { const queryParams = searchRef.value?.getQueryParams(); contentRef.value?.fetchPageData({ ...queryParams, ...filterParams }, true); } return { searchRef, contentRef, addModalRef, editModalRef, handleQueryClick, handleResetClick, handleAddClick, handleEditClick, handleSubmitClick, handleExportClick, handleSearchClick, handleFilterChange, }; } export default usePage;