unit.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { defineStore } from 'pinia'
  2. import { AxiosWrapper } from '@/utils/axios-wrapper'
  3. import { get } from 'lodash-es'
  4. const url = '/unit'
  5. const axios = new AxiosWrapper()
  6. export const UnitStore = defineStore('unit', () => {
  7. const query = async ({ skip = 0, limit = undefined, ...info } = {}) => {
  8. let cond = {}
  9. if (skip) cond.skip = skip
  10. if (limit) cond.limit = limit
  11. cond = { ...cond, ...info }
  12. const res = await axios.$get(`${url}`, cond)
  13. return res
  14. }
  15. const fetch = async (payload) => {
  16. const res = await axios.$get(`${url}/${payload}`)
  17. return res
  18. }
  19. const create = async (payload) => {
  20. const res = await axios.$post(`${url}`, payload)
  21. return res
  22. }
  23. const update = async (payload) => {
  24. const id = get(payload, 'id', get(payload, 'id'))
  25. const res = await axios.$post(`${url}/${id}`, payload)
  26. return res
  27. }
  28. const del = async (payload) => {
  29. const res = await axios.$delete(`${url}/${payload}`)
  30. return res
  31. }
  32. const examine = async (payload) => {
  33. const id = get(payload, 'id')
  34. const status = get(payload, 'status')
  35. const res = await axios.$post(`${url}/examine`, { id, status })
  36. return res
  37. }
  38. return {
  39. query,
  40. fetch,
  41. create,
  42. update,
  43. del,
  44. examine
  45. }
  46. })