BOM.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441
  1. import request from '@/utils/request';
  2. import { MessageBox, Message } from 'element-ui';
  3. // 分页
  4. export async function getPage(params) {
  5. const res = await request.get(`/main/bom/page`, { params });
  6. if (res.data.code == 0) {
  7. return res.data.data;
  8. }
  9. return Promise.reject(new Error(res.data.message));
  10. }
  11. // 保存
  12. export async function bomSave(data) {
  13. const res = await request.post(`/main/bom/save`, data);
  14. if (res.data.code == 0) {
  15. return res.data.message;
  16. }
  17. return Promise.reject(new Error(res.data.message));
  18. }
  19. // 编辑
  20. export async function bomUpdate(data) {
  21. const res = await request.put(`main/bom/update`, data);
  22. if (res.data.code == 0) {
  23. return res.data.message;
  24. }
  25. return Promise.reject(new Error(res.data.message));
  26. }
  27. // 详情
  28. export async function getById(id) {
  29. const res = await request.get(`/main/bom/getById/${id}`);
  30. if (res.data.code == 0) {
  31. return res.data.data;
  32. }
  33. return Promise.reject(new Error(res.data.message));
  34. }
  35. // 删除
  36. export async function bomDelete(data) {
  37. const res = await request.delete(`/main/bom/delete`, { data });
  38. if (res.data.code == 0) {
  39. return res.data.message;
  40. }
  41. return Promise.reject(new Error(res.data.message));
  42. }
  43. // 详情分页
  44. export async function detailPage(params) {
  45. const res = await request.get(`/main/bom/detail/page`, { params });
  46. if (res.data.code == 0) {
  47. return res.data.data;
  48. }
  49. return Promise.reject(new Error(res.data.message));
  50. }
  51. //SAP-bom同步
  52. export async function syncBom() {
  53. const res = await request.get(`/sap/sync/syncBom`);
  54. if (res.data.code == 0) {
  55. return res.data.code;
  56. }
  57. return Promise.reject(new Error(res.data.message));
  58. }
  59. // 物料BOM新增- 获取版本号
  60. export async function getVersionCode(categoryId) {
  61. const res = await request.get(`/main/bom/getVersionCode/${categoryId}`);
  62. if (res.data.code == 0) {
  63. return res.data.data;
  64. }
  65. return Promise.reject(new Error(res.data.message));
  66. }
  67. // 工序列表 保存
  68. export async function saveBatch(data) {
  69. const res = await request.post(`/main/bomtask/saveBatch`, data);
  70. if (res.data.code == 0) {
  71. return res.data.message;
  72. }
  73. return Promise.reject(new Error(res.data.message));
  74. }
  75. // 工序列表
  76. export async function bomTaskList(categoryId) {
  77. const res = await request.get(`/main/bomtask/list/${categoryId}`);
  78. if (res.data.code == 0) {
  79. return res.data.data;
  80. }
  81. return Promise.reject(new Error(res.data.message));
  82. }
  83. // bom工序信息 删除
  84. export async function bomTaskDelete(data) {
  85. const res = await request.delete(`/main/bomtask/delete`, { data });
  86. if (res.data.code == 0) {
  87. return res.data.message;
  88. }
  89. return Promise.reject(new Error(res.data.message));
  90. }
  91. // 获取工序下的产品bom信息
  92. export async function getByTaskId(categoryId, taskId) {
  93. const res = await request.get(
  94. `main/category/getCategoryBomByTaskId/${categoryId}/${taskId}`
  95. );
  96. if (res.data.code == 0) {
  97. return res.data.data;
  98. }
  99. return Promise.reject(new Error(res.data.message));
  100. }
  101. // 查询BOM树
  102. export async function getBomTreeList(params) {
  103. const res = await request.get(`/main/bomCategory/getList`, { params });
  104. if (res.data.code == 0) {
  105. return res.data;
  106. }
  107. return Promise.reject(new Error(res.data.message));
  108. }
  109. // 查询BOM树 详情
  110. export async function getBomGetById(id) {
  111. const res = await request.get(`/main/bomCategory/getById/${id}`);
  112. if (res.data.code == 0) {
  113. console.log(res.data, '+++++++++++++++++++++++');
  114. return res.data;
  115. }
  116. return Promise.reject(new Error(res.data.message));
  117. }
  118. // 查询BOM 版本
  119. export async function versionList(params) {
  120. const res = await request.get(`/main/bomCategory/versionList`, { params });
  121. if (res.data.code == 0) {
  122. return res.data.data;
  123. }
  124. return Promise.reject(new Error(res.data.message));
  125. }
  126. // 新增BOM树节点
  127. export async function saveBomTreeList(data) {
  128. const res = await request.post(`/main/bomCategory/save`, data);
  129. if (res.data.code == 0) {
  130. return res.data;
  131. }
  132. return Promise.reject(new Error(res.data.message));
  133. }
  134. // 删除BOM树节点
  135. export async function deleteBomTreeList(data) {
  136. const res = await request.delete(`/main/bomCategory/delete`, { data });
  137. if (res.data.code == 0) {
  138. return res.data.message;
  139. }
  140. return Promise.reject(new Error(res.data.message));
  141. }
  142. // 保存BOM树节点
  143. export async function updateBatchBOM(data) {
  144. const res = await request.post(`/main/bomCategory/updateBatchBOM`, data);
  145. console.log(res, 'res111111111111111');
  146. if (res && res.data.code == 0) {
  147. return res.data;
  148. } else {
  149. Message.error({
  150. message: res.data.message
  151. });
  152. return false;
  153. }
  154. }
  155. // 获取产品BOM列表
  156. export async function getBomPageList(params) {
  157. const res = await request.get(`/main/bomCategory/page`, { params });
  158. if (res) {
  159. if (res.data.code == 0) {
  160. return res.data.data;
  161. }
  162. }
  163. return Promise.reject(new Error(res.data.message));
  164. }
  165. // 获取产品BOM列表
  166. export async function getBomPageCategoryId(params) {
  167. const res = await request.get(`/main/bomCategory/pageByCategoryId`, {
  168. params
  169. });
  170. if (res) {
  171. if (res.data.code == 0) {
  172. return res.data.data;
  173. }
  174. }
  175. return Promise.reject(new Error(res.data.message));
  176. }
  177. // 获取BOM明细
  178. export async function getBom(params) {
  179. const res = await request.get(`/main/bomCategory/getBom`, { params });
  180. if (res.data.code == 0) {
  181. return res.data.data;
  182. }
  183. return Promise.reject(new Error(res.data.message));
  184. }
  185. // 修改BOM属性
  186. export async function bomCategoryUpdate(data) {
  187. if(data && data.category){
  188. delete data.category;
  189. }
  190. const res = await request.post(`/main/bomCategory/update`, data);
  191. if (res.data.code == 0) {
  192. return res.data;
  193. }
  194. return Promise.reject(new Error(res.data.message));
  195. }
  196. // PBom转换 MBOM
  197. export async function convert(data) {
  198. const res = await request.post(`/main/bomCategory/convert`, data);
  199. if (res.data.code == 0) {
  200. return res.data;
  201. }
  202. return Promise.reject(new Error(res.data.message));
  203. }
  204. // PBom转换 ABOM
  205. export async function convertABom(data) {
  206. const res = await request.post(`/main/bomCategory/convertABom`, data);
  207. if (res.data.code == 0) {
  208. return res.data;
  209. }
  210. return Promise.reject(new Error(res.data.message));
  211. }
  212. //PBom转换为EBom
  213. export async function convertEBOM(data) {
  214. const res = await request.post(`/main/bomCategory/convertEBOM`, data);
  215. if (res.data.code == 0) {
  216. return res.data;
  217. }
  218. return Promise.reject(new Error(res.data.message));
  219. }
  220. // EBom转换为PBom
  221. export async function convertEBomToPBOM(data) {
  222. const res = await request.post(`/main/bomCategory/convertEBomToPBOM`, data);
  223. if (res.data.code == 0) {
  224. return res.data;
  225. }
  226. return Promise.reject(new Error(res.data.message));
  227. }
  228. // 文档
  229. export async function getBomFilePageList(params) {
  230. const res = await request.get(`/main/bomfile/page`, { params });
  231. if (res.data.code == 0) {
  232. return res.data.data;
  233. }
  234. return Promise.reject(new Error(res.data.message));
  235. }
  236. // 启用
  237. export async function startAndStop(data) {
  238. const res = await request.post(`/main/bomCategory/startAndStop`, data);
  239. if (res.data.code == 0) {
  240. return res.data;
  241. }
  242. return Promise.reject(new Error(res.data.message));
  243. }
  244. // 发布
  245. export async function bomSubmit(data) {
  246. const res = await request.post(`/bpm/bom/submit`, data);
  247. if (res && res.data.code == 0) {
  248. return res.data;
  249. }
  250. }
  251. // 嘉实医药提交
  252. export async function jsBomSubmit(data) {
  253. const res = await request.post(`/bpm/jsbom/submit`, data);
  254. if (res.data.code == 0) {
  255. return res.data;
  256. }
  257. return Promise.reject(new Error(res.data.message));
  258. }
  259. // 嘉实设备提交
  260. export async function deviceBomSubmit(data) {
  261. const res = await request.post(`/bpm/jsbom/deviceSubmit`, data);
  262. if (res.data.code == 0) {
  263. return res.data;
  264. }
  265. return Promise.reject(new Error(res.data.message));
  266. }
  267. // 新增工序
  268. export async function workingProcedureSave(data) {
  269. const res = await request.post(`/main/categoryparam/save`, data);
  270. if (res.data.code == 0) {
  271. return res.data;
  272. }
  273. return Promise.reject(new Error(res.data.message));
  274. }
  275. // 修改工序
  276. export async function workingProcedureUpdate(data) {
  277. const res = await request.put(`/main/categoryparam/update`, data);
  278. if (res.data.code == 0) {
  279. return res.data;
  280. }
  281. return Promise.reject(new Error(res.data.message));
  282. }
  283. // 修改工步
  284. export async function workingStepUpdate(data) {
  285. const res = await request.post(`/main/categoryparamstep/update`, data);
  286. if (res.data.code == 0) {
  287. return res.data;
  288. }
  289. return Promise.reject(new Error(res.data.message));
  290. }
  291. // 修改单个工步
  292. export async function workingSingleUpdate(data) {
  293. const res = await request.put(`/main/categoryparamstep/updateStepItem`, data);
  294. if (res.data.code == 0) {
  295. return res.data;
  296. }
  297. return Promise.reject(new Error(res.data.message));
  298. }
  299. // 获取工步详情
  300. export async function getStepDetailById(id) {
  301. const res = await request.get(`/main/categoryparamstep/getById/${id}`);
  302. if (res.data.code == 0) {
  303. return res.data.data;
  304. }
  305. return Promise.reject(new Error(res.data.message));
  306. }
  307. // 删除工步
  308. export async function workingStepDelete(data) {
  309. const res = await request.delete(`/main/categoryparamstep/delete`, { data });
  310. if (res.data.code == 0) {
  311. return res.data.message;
  312. }
  313. return Promise.reject(new Error(res.data.message));
  314. }
  315. // 工序列表
  316. export async function getMbomPage(params) {
  317. const res = await request.get(`/main/categoryparam/mBomPage`, { params });
  318. if (res.data.code == 0) {
  319. return res.data.data;
  320. }
  321. return Promise.reject(new Error(res.data.message));
  322. }
  323. // 通过工序获取工步列表
  324. export async function getStepListById(params) {
  325. const res = await request.get(`/main/categoryparamstep/list`, { params });
  326. if (res.data.code == 0) {
  327. return res.data.data;
  328. }
  329. return Promise.reject(new Error(res.data.message));
  330. }
  331. // 保存工步
  332. export async function workingStepSave(data) {
  333. const res = await request.post(`/main/categoryparamstep/save`, data);
  334. if (res.data.code == 0) {
  335. return res.data;
  336. }
  337. return Promise.reject(new Error(res.data.message));
  338. }
  339. // 供应商列表
  340. export async function contactList(params) {
  341. const res = await request.get(`/eom/contact/page`, { params });
  342. if (res.data.code == 0) {
  343. return res.data.data;
  344. }
  345. return Promise.reject(new Error(res.data.message));
  346. }
  347. // 更新供应商
  348. export async function saveSupplier(data) {
  349. const res = await request.post(`/eom/contactproduct/saveSupplier`, data);
  350. if (res.data.code == 0) {
  351. return res.data.data;
  352. }
  353. return Promise.reject(new Error(res.data.message));
  354. }
  355. // 删除供应商
  356. export async function deleteSupplier(data) {
  357. const res = await request.post(`/eom/contactproduct/deleteSupplier`, data);
  358. if (res.data.code == 0) {
  359. return res.data.data;
  360. }
  361. return Promise.reject(new Error(res.data.message));
  362. }
  363. // 检查bom (里面有几个草稿)
  364. export async function hasNewVersion(data) {
  365. const res = await request.post(`/main/bomCategory/hasNewVersion`, data);
  366. if (res.data.code == 0) {
  367. return res.data;
  368. }
  369. return Promise.reject(new Error(res.data.message));
  370. }
  371. export async function sourceBomVersion(data) {
  372. const res = await request.post(`/main/bomCategory/sourceBomVersion`, data);
  373. if (res.data.code == 0) {
  374. return res.data;
  375. }
  376. return Promise.reject(new Error(res.data.message));
  377. }
  378. //明细表
  379. export async function getDetailList(data) {
  380. const res = await request.post(`/main/bomCategory/importByBOMDetail`, data);
  381. if (res.data.code == 0) {
  382. return res.data;
  383. }
  384. return Promise.reject(new Error(res.data.message));
  385. }
  386. //BOM撤回
  387. export async function withdrawBom(params) {
  388. const res = await request.get(`/bpm/task/withdraw`, { params });
  389. if (res.data.code == 0) {
  390. return res.data;
  391. }
  392. return Promise.reject(new Error(res.data.message));
  393. }