diff --git a/src/store/department.ts b/src/store/department.ts index 3bcbbb9b..4ae0b2a4 100644 --- a/src/store/department.ts +++ b/src/store/department.ts @@ -4,6 +4,7 @@ import { defineStore } from "pinia"; type DepartmentStateType = { productId: string; optType: string | undefined; + crossPageKeys: string[]; } export const useDepartmentStore = defineStore({ @@ -13,14 +14,20 @@ export const useDepartmentStore = defineStore({ // 设备资产分配弹窗操作类型: // 1. optType === 'handle': 手动点击资产分配按钮; // 2. optType === ': 产品资产分配后, 自动弹出设备资产分配 - optType: '' + optType: '', + crossPageKeys: [], // 表格跨页多选的keys }), actions: { setProductId(value: string) { - this.productId = value + this.productId = value; }, setType(value: string | undefined) { - this.optType = value + this.optType = value; + }, + setSelectedKeys(value: string[], type?: string) { + // 分页保留选中项 + // this.crossPageKeys = type === 'pagination' ? [...new Set([...this.crossPageKeys, ...value])] : value; + this.crossPageKeys = [...new Set([...this.crossPageKeys, ...value])]; } } }) \ No newline at end of file diff --git a/src/views/system/Department/user/components/AddBindUserDialog.vue b/src/views/system/Department/user/components/AddBindUserDialog.vue index a197a3a5..45bbe673 100644 --- a/src/views/system/Department/user/components/AddBindUserDialog.vue +++ b/src/views/system/Department/user/components/AddBindUserDialog.vue @@ -33,6 +33,7 @@ :pagination="{ showSizeChanger: true, pageSizeOptions: ['10', '20', '50', '100'], + change: handlePageChange, }" /> @@ -42,6 +43,9 @@