index.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. import { defineStore } from "pinia";
  2. import {
  3. queryInfo,
  4. add,
  5. edit,
  6. del,
  7. batchDelete,
  8. } from "@/api/system/permission/index";
  9. import { ElMessage } from "element-plus";
  10. export const usePermissionStore = defineStore("permission", {
  11. state: () => ({
  12. tableData: [],
  13. total: 0,
  14. pageNum: 1,
  15. pageSize: 10,
  16. loading: false,
  17. dialogFormVisible: false,
  18. dialogEditFormVisible: false,
  19. }),
  20. actions: {
  21. async queryData(params) {
  22. this.loading = true;
  23. try {
  24. const { data } = await queryInfo(params);
  25. this.tableData = data.list;
  26. this.total = data.total;
  27. } finally {
  28. this.loading = false;
  29. }
  30. },
  31. addPermission(data) {
  32. return new Promise((resolve, reject) => {
  33. add(data)
  34. .then(({ code }) => {
  35. if (code === 200) {
  36. ElMessage.success("角色添加成功");
  37. this.queryData({
  38. pageNum: this.pageNum,
  39. pageSize: this.pageSize,
  40. });
  41. resolve();
  42. }
  43. })
  44. .catch((error) => {
  45. reject(error);
  46. });
  47. });
  48. },
  49. editPermission(data) {
  50. return new Promise((resolve, reject) => {
  51. edit(data)
  52. .then(() => {
  53. this.queryData({ pageNum: this.pageNum, pageSize: this.pageSize });
  54. resolve();
  55. })
  56. .catch((error) => {
  57. reject(error);
  58. });
  59. });
  60. },
  61. deletePermission(params) {
  62. return new Promise((resolve, reject) => {
  63. del(params)
  64. .then(({ code }) => {
  65. if (code == 200) {
  66. ElMessage.success("删除成功");
  67. this.queryData({
  68. pageNum: this.pageNum,
  69. pageSize: this.pageSize,
  70. });
  71. }
  72. resolve();
  73. })
  74. .catch((error) => {
  75. reject(error);
  76. });
  77. });
  78. },
  79. batchDeletePermission(params) {
  80. return new Promise((resolve, reject) => {
  81. batchDelete(params)
  82. .then(({ code }) => {
  83. if (code == 200) {
  84. ElMessage.success("批量删除成功");
  85. this.queryData({
  86. pageNum: this.pageNum,
  87. pageSize: this.pageSize,
  88. });
  89. }
  90. resolve();
  91. })
  92. .catch((error) => {
  93. reject(error);
  94. });
  95. });
  96. },
  97. },
  98. });