| | |
| | | import request from "../utils/request"; |
| | | import * as Common from "../utils/common"; |
| | | |
| | | // 出库历史单与入库历史单共用 asnOrderLog 接口,仅前端 resource 不同 |
| | | const getApiResource = (resource) => (resource === "outStockOrderLog" ? "asnOrderLog" : resource); |
| | | |
| | | const MyDataProvider = { |
| | | // *** https://marmelab.com/react-admin/DataProviderWriting.html *** |
| | | |
| | | // get a list of records based on sort, filter, and pagination |
| | | getList: async (resource, params) => { |
| | | // console.log("getList", resource, params); |
| | | const apiResource = getApiResource(resource); |
| | | const _params = Common.integrateParams(params); |
| | | const res = await request.post(resource + "/page", _params); |
| | | const res = await request.post(apiResource + "/page", _params); |
| | | const { code, msg, data } = res.data; |
| | | if (code === 200) { |
| | | return Promise.resolve({ |
| | |
| | | |
| | | // get a single record by id |
| | | getOne: async (resource, params) => { |
| | | // console.log("getOne", resource, params); |
| | | const res = await request.get(resource + "/" + params.id); |
| | | const apiResource = getApiResource(resource); |
| | | const res = await request.get(apiResource + "/" + params.id); |
| | | const { code, msg, data } = res.data; |
| | | if (code === 200) { |
| | | return Promise.resolve({ |
| | |
| | | |
| | | // get a list of records based on an array of ids |
| | | getMany: async (resource, params) => { |
| | | |
| | | if (resource === "user") { |
| | | await new Promise((r) => setTimeout(r, 1000)); |
| | | } |
| | | const res = await request.post(resource + "/many/" + params.ids); |
| | | const apiResource = getApiResource(resource); |
| | | const res = await request.post(apiResource + "/many/" + params.ids); |
| | | const { code, msg, data } = res.data; |
| | | if (code === 200) { |
| | | return Promise.resolve({ |
| | |
| | | |
| | | // create a record |
| | | create: async (resource, params) => { |
| | | const res = await request.post(resource + "/save", params?.data); |
| | | const apiResource = getApiResource(resource); |
| | | const res = await request.post(apiResource + "/save", params?.data); |
| | | const { code, msg, data } = res.data; |
| | | if (code === 200) { |
| | | return Promise.resolve({ |
| | |
| | | |
| | | // update a record based on a patch |
| | | update: async (resource, params) => { |
| | | const res = await request.post(resource + "/update", { |
| | | const apiResource = getApiResource(resource); |
| | | const res = await request.post(apiResource + "/update", { |
| | | id: params.id, |
| | | ...params.data, |
| | | }); |
| | |
| | | |
| | | // update a list of records based on an array of ids and a common patch |
| | | updateMany: async (resource, params) => { |
| | | console.log("updateMany", resource, params); |
| | | const apiResource = getApiResource(resource); |
| | | const res = await request.post( |
| | | resource + "/update/many", |
| | | apiResource + "/update/many", |
| | | params.ids.map((id) => ({ id, ...params.data })), |
| | | ); |
| | | const { code, msg, data } = res.data; |
| | |
| | | |
| | | // delete a record by id |
| | | delete: async (resource, params) => { |
| | | console.log("delete", resource, params); |
| | | const res = await request.post(resource + "/remove/" + [params.id]); |
| | | const apiResource = getApiResource(resource); |
| | | const res = await request.post(apiResource + "/remove/" + [params.id]); |
| | | const { code, msg, data } = res.data; |
| | | if (code === 200) { |
| | | return Promise.resolve({ |
| | |
| | | |
| | | // delete a list of records based on an array of ids |
| | | deleteMany: async (resource, params) => { |
| | | console.log("deleteMany", resource, params); |
| | | const res = await request.post(resource + "/remove/" + params?.ids); |
| | | const apiResource = getApiResource(resource); |
| | | const res = await request.post(apiResource + "/remove/" + params?.ids); |
| | | const { code, msg, data } = res.data; |
| | | if (code === 200) { |
| | | return Promise.resolve({ |
| | |
| | | |
| | | // export excel from all data |
| | | export: async (resource, params) => { |
| | | const apiResource = getApiResource(resource); |
| | | const _params = Common.integrateParams(params); |
| | | try { |
| | | const res = await request.post(`${resource}/export`, _params, { |
| | | const res = await request.post(`${apiResource}/export`, _params, { |
| | | responseType: "blob", |
| | | }); |
| | | return res; |