import { defineStore } from "pinia"; import { queryInfo, add, edit, del, batchDelete, } from "@/api/system/permission/index"; import { ElMessage } from "element-plus"; export const usePermissionStore = defineStore("permission", { state: () => ({ tableData: [], total: 0, pageNum: 1, pageSize: 10, loading: false, dialogFormVisible: false, dialogEditFormVisible: false, }), actions: { async queryData(params) { this.loading = true; try { const { data } = await queryInfo(params); this.tableData = data.list; this.total = data.total; } finally { this.loading = false; } }, addPermission(data) { return new Promise((resolve, reject) => { add(data) .then(({ code }) => { if (code === 200) { ElMessage.success("角色添加成功"); this.queryData({ pageNum: this.pageNum, pageSize: this.pageSize, }); resolve(); } }) .catch((error) => { reject(error); }); }); }, editPermission(data) { return new Promise((resolve, reject) => { edit(data) .then(() => { this.queryData({ pageNum: this.pageNum, pageSize: this.pageSize }); resolve(); }) .catch((error) => { reject(error); }); }); }, deletePermission(params) { return new Promise((resolve, reject) => { del(params) .then(({ code }) => { if (code == 200) { ElMessage.success("删除成功"); this.queryData({ pageNum: this.pageNum, pageSize: this.pageSize, }); } resolve(); }) .catch((error) => { reject(error); }); }); }, batchDeletePermission(params) { return new Promise((resolve, reject) => { batchDelete(params) .then(({ code }) => { if (code == 200) { ElMessage.success("批量删除成功"); this.queryData({ pageNum: this.pageNum, pageSize: this.pageSize, }); } resolve(); }) .catch((error) => { reject(error); }); }); }, }, });