sen
2026-03-31 758841f36b85716da1c179deef106d2c99503afd
ui/admin-ui3/src/hooks/usePagePlus.ts
@@ -43,10 +43,11 @@
            params = opts.getBeginListFunc!(params)
        }
        pageF.loading = true;
        const queryParams = filterEmptyParams(opts.queryParams.value);
        opts.getListApi!({ 
            pageNum: page.currentPage, 
            pageSize: page.pageSize, 
            ...Object.assign(params ? params : {}, opts.queryParams.value)
            ...Object.assign(params ? params : {}, queryParams)
        }).then((res: any) => {
            tableData.value = res.rows || [];
            pageF.loading = false;
@@ -95,7 +96,7 @@
    /** 清空搜索回调方法 */
    const searchReset = () => {
        opts.queryParams.value = {}; // 修改为操作 .value
        opts.queryParams = {}; // 修改为操作 .value
        if (opts.handleQueryFunc) {
            opts.handleQueryFunc();
        }
@@ -163,7 +164,58 @@
    const sizeChange = (pageSize: number) => {
        opts.page.pageSize = pageSize;
    }
      /**
     * 导出
     */
    const handleExport =()=>{
        const queryParams = filterEmptyParams(opts.queryParams.value);
        opts.exportApi!(queryParams);
    }
    const handleDelete  = () =>{
        if ( !(pageF?.ids)|| pageF?.ids?.length === 0) {
            ElMessage({
                message: "请选择至少一条数据!",
                type: 'warning'
            })
            return;
        }
        ElMessageBox.confirm("确定将选择数据删除?", '系统提示', {confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning'}).then(() => {
            return opts.deleteApi!(pageF?.ids);
        }).then(() => {
            onLoad(opts.page);
            ElMessage({
                message: "删除成功!",
                type: 'success'
            })
        });
    }
  const handleUpdate = ()=>{
        if ( !(pageF?.ids)|| pageF?.ids?.length === 0) {
            ElMessage({
                message: "请选择至少一条数据!",
                type: 'warning'
            })
            return;
        }
        if(opts.handleUpdateFunc){
            opts.handleUpdateFunc!()
        }
    }
    /**
 * 过滤空字符串参数
 */
const filterEmptyParams = (params: any) => {
    const result: any = {};
    for (const key in params) {
        const val = params[key];
        // 过滤空字符串、null、undefined
        if (val !== '' && val !== null && val !== undefined) {
            result[key] = val;
        }
    }
    return result;
};
    return {
        pageF,
        tableData,
@@ -173,6 +225,9 @@
        selectionChange,
        rowSave,
        rowUpdate,
        handleExport,
        handleDelete,
        handleUpdate,
        rowDel,
        refreshChange,
        currentChange,