index.js 2.4 KB

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