sen
1 天以前 5abcde36961125cbf436f91b8c17610a6b5f8308
ui/admin-ui3/src/hooks/usePagePlus.ts
@@ -43,6 +43,7 @@
            params = opts.getBeginListFunc!(params)
        }
        pageF.loading = true;
        const queryParams = filterEmptyParams(opts.queryParams.value);
        opts.getListApi!({ 
            pageNum: page.currentPage, 
            pageSize: page.pageSize, 
@@ -61,6 +62,7 @@
     * 2. 新增:手动触发搜索逻辑 (用于回车搜索)
     */
    const manualSearch = () => {
        if (!opts.queryParams || !opts.queryParams.value) return; // 容错处理
        opts.page.currentPage = 1; // 回车搜索默认切回第一页
        if (opts.handleQueryFunc) {
            opts.handleQueryFunc();
@@ -95,7 +97,15 @@
    /** 清空搜索回调方法 */
    const searchReset = () => {
        opts.queryParams.value = {}; // 修改为操作 .value
     //   opts.queryParams = {}; // 修改为操作 .value
     // ✅ 正确写法:清空 ref 内部的值
    if (opts.queryParams && opts.queryParams.value) {
        // 方案 A:直接清空对象内部属性
        Object.keys(opts.queryParams.value).forEach(key => {
            delete opts.queryParams.value[key];
        });
      }
        if (opts.handleQueryFunc) {
            opts.handleQueryFunc();
        }
@@ -163,7 +173,58 @@
    const sizeChange = (pageSize: number) => {
        opts.page.pageSize = pageSize;
    }
      /**
     * 导出
     */
    const handleExport =()=>{
        const queryParams = filterEmptyParams(opts.queryParams.value);
        opts.exportApi!( opts.queryParams.value);
    }
    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 +234,9 @@
        selectionChange,
        rowSave,
        rowUpdate,
        handleExport,
        handleDelete,
        handleUpdate,
        rowDel,
        refreshChange,
        currentChange,