index.ts 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { ListController } from "@/controllers/ListController";
  2. import { defineStore } from "pinia";
  3. import { request } from "../../objects";
  4. import loading from "@/components/Provider/Loading";
  5. import { message } from "ant-design-vue";
  6. export const useArticle = defineStore("article", {
  7. state: () => ({
  8. listController: new ListController(request),
  9. }),
  10. getters: {},
  11. actions: {
  12. initArticle() {
  13. this.listController.setCrudPrefix("/article");
  14. },
  15. async addOrUpdateArticle(item: any) {
  16. loading.show("保存中");
  17. let res = {} as any;
  18. if (item._id) {
  19. res = await this.listController.saveItem(item);
  20. } else {
  21. res = await this.listController.addItem(item);
  22. }
  23. loading.hidden();
  24. if (res.errorNo != 200) {
  25. message.success("保存失败");
  26. return;
  27. }
  28. message.success("保存成功");
  29. },
  30. async getArticleDetail(item: any) {
  31. const res = await this.listController.itemDetail(item._id);
  32. if (res.errorNo != 200) {
  33. message.warn("未查询到数据!");
  34. return;
  35. }
  36. return res.result;
  37. },
  38. },
  39. });