UNPKG

@cdwx/system

Version:

成都文宣业务类服务模块组件库

81 lines (80 loc) 2.38 kB
import { ElMessageBox as g, ElMessage as f } from "element-plus"; import { ref as o } from "vue"; /* empty css */ /* empty css */ function y(r) { const t = o(i()), c = o(v()), u = o([]); function i() { return { pageSize: r.defaultPageSize || 10, currentPage: 1, total: 0 }; } function v() { return { ...r.defaultSearchParams }; } async function n() { if (r.api) try { const { data: e = [], page: a } = await r.api({ ...c.value, currentPage: t.value.currentPage, pageSize: t.value.pageSize }); e.length === 0 && a && a.currentPage > 1 ? (t.value.currentPage -= 1, n()) : (u.value = e, t.value = a || i()); } catch { u.value = []; } } function h(e) { const a = i(); return t.value.pageSize = e.pageSize || a.pageSize, t.value.currentPage = e.currentPage || a.currentPage, n(); } function P(e) { return c.value = { ...c.value, ...e }, n(); } function s(e, a) { c.value = { ...c.value, [e]: a }; } return { pageInfo: t, searchParams: c, tableData: u, setSearchParam: s, turnPage: h, search: P, getData: n, remove: (e, a, S, l = "") => { r.removeApi && g.confirm(`确认要删除${l}${e[a]}”?`, "提示").then(async () => { if (r.removeApi) try { await r.removeApi(String(e[S])), f.success(`删除${l}${e[a]}”成功`), u.value.length === 1 && t.value.currentPage > 1 && (t.value.currentPage -= 1), await n(); } catch { } }).catch(() => { }); }, removeBatch: (e, a = "") => { r.removeBatchApi && g.confirm(`请确认要删除${a}选中的数据吗?`, "提示").then(async () => { if (r.removeBatchApi) try { await r.removeBatchApi(e), f.success("删除成功"), u.value.length === e.length && t.value.currentPage > 1 && (t.value.currentPage -= 1), await n(); } catch { } }).catch(() => { }); } }; } export { y as useSearchTable };