object1.ts 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. import { statusObj } from "@/utils/dataChange";
  2. import http from "@/utils/http";
  3. import { message } from "antd";
  4. import store, { AppDispatch } from "..";
  5. /**
  6. * 藏品登记页面点击新增
  7. */
  8. export const object1AddAPI = (data?: any) => {
  9. return http.post("cms/register/save", { ...data });
  10. };
  11. /**
  12. * 藏品登记页面上传封面图和附件
  13. */
  14. // 上传附件的进度条
  15. const UpAsyncLodingDom: any = document.querySelector("#UpAsyncLoding");
  16. const progressDom: any = document.querySelector("#progress");
  17. export const object1AddUpFileAPI = (data: any) => {
  18. UpAsyncLodingDom.style.opacity = 1;
  19. return http.post("cms/register/goods/file/upload", data, {
  20. timeout:30000,
  21. // 显示进度条
  22. onUploadProgress: (e: any) => {
  23. const complete = (e.loaded / e.total) * 100 || 0;
  24. progressDom.style.width = complete + "%";
  25. },
  26. });
  27. };
  28. /**
  29. * 里面的一条藏品添加
  30. */
  31. export const goodsSonAddAPI = (data: any, id: any) => {
  32. return async (dispatch: AppDispatch) => {
  33. const res: any = await http.post("cms/register/goods/save", data);
  34. if (res.code === 0) {
  35. const oldData = store.getState().loginStore.goodsTableList;
  36. message.success("操作成功!");
  37. let newData;
  38. if (id) {
  39. // 是编辑 覆盖之前的数据
  40. newData = oldData.map((v: any) => {
  41. if (v.id === id) return res.data;
  42. else return v;
  43. });
  44. } else newData = [res.data, ...oldData]; // 是新增,在前面添加一条数据
  45. dispatch({ type: "login/setGoodsSonList", payload: newData });
  46. }
  47. };
  48. };
  49. /**
  50. * 获取藏品登记列表信息
  51. */
  52. export const getObject1List = (data: any) => {
  53. return async (dispatch: AppDispatch) => {
  54. // 获取列表数据
  55. const res: any = await http.post("cms/register/pageList", data);
  56. const list = res.data.records;
  57. list.forEach((v: any) => {
  58. v.statusTxt = statusObj[v.status];
  59. });
  60. const obj = {
  61. list,
  62. total: res.data.total,
  63. };
  64. dispatch({ type: "object1/getList", payload: obj });
  65. };
  66. };
  67. /**
  68. * 获取藏品登记列表顶部数字信息
  69. */
  70. export const getObject1ListNum = () => {
  71. return async (dispatch: AppDispatch) => {
  72. // 获取统计数据
  73. const res: any = await http.get("cms/register/countByStatus");
  74. const data = [
  75. { id: null, name: "全部", num: res.data.all ? res.data.all : 0 },
  76. { id: 0, name: "待办理", num: res.data[0] ? res.data[0] : 0 },
  77. { id: 1, name: "待审核", num: res.data[1] ? res.data[1] : 0 },
  78. { id: 2, name: "审核不通过", num: res.data[2] ? res.data[2] : 0 },
  79. { id: 3, name: "已完成", num: res.data[3] ? res.data[3] : 0 },
  80. ];
  81. dispatch({ type: "object1/getListNum", payload: data });
  82. };
  83. };
  84. /**
  85. * 删除外层表格数据
  86. */
  87. export const object1DelAPI = (id: number) => {
  88. return http.get(`cms/register/remove/${id}`);
  89. };
  90. /**
  91. * 通过id获取信息
  92. */
  93. export const object1infoOutAPI = (id: number) => {
  94. return http.get(`cms/register/detail/${id}`);
  95. };
  96. /**
  97. * 通过id获取表格信息
  98. */
  99. export const getObj1InfoTableAPI2 = (id: number) => {
  100. return http.get(`cms/register/goods/list/${id}`);
  101. };
  102. /**
  103. * 通过id获取表格信息
  104. */
  105. export const getObj1InfoTableAPI = (id: number) => {
  106. return async (dispatch: AppDispatch) => {
  107. // 获取统计数据
  108. const res: any = await http.get(`cms/register/goods/list/${id}`);
  109. dispatch({ type: "login/setGoodsSonList", payload: res.data });
  110. };
  111. };
  112. /**
  113. * 删除里面的表格藏品 s
  114. */
  115. export const delInTablesAPI = (ids: string) => {
  116. return http.get(`cms/register/goods/removes/${ids}`);
  117. };
  118. /**
  119. * 删除最里面的附件或者封面图 s
  120. */
  121. export const delInfileAPI = (ids: string) => {
  122. return http.get(`cms/register/goods/file/dels/${ids}`);
  123. };
  124. /**
  125. * 通过id获取里面的藏品详情
  126. */
  127. export const getInfoInAPI = (id: number) => {
  128. return http.get(`cms/register/goods/detail/${id}`);
  129. };
  130. /**
  131. * 审核藏品信息
  132. */
  133. export const auditObject1API = (data: any) => {
  134. return http.post("cms/register/audit", data);
  135. };