admin.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179
  1. import request from '@/utils/request'
  2. // 用户管理
  3. export function getUserList(params) {
  4. return request({
  5. url: '/api/admin/users',
  6. method: 'post',
  7. data: params
  8. })
  9. }
  10. export function getUserDetail(id) {
  11. return request({
  12. url: `/api/admin/users/${id}`,
  13. method: 'post'
  14. })
  15. }
  16. export function updateUser(id, data) {
  17. return request({
  18. url: `/api/admin/users/${id}`,
  19. method: 'put',
  20. data
  21. })
  22. }
  23. export function deleteUser(id) {
  24. return request({
  25. url: `/api/admin/users/${id}`,
  26. method: 'delete'
  27. })
  28. }
  29. export function resetUserPassword(id, password) {
  30. return request({
  31. url: `/api/admin/users/${id}/reset-password`,
  32. method: 'post',
  33. data: { password }
  34. })
  35. }
  36. // 家庭管理
  37. export function getFamilyList(params) {
  38. return request({
  39. url: '/api/admin/families',
  40. method: 'post',
  41. data: params
  42. })
  43. }
  44. export function getFamilyDetail(id) {
  45. return request({
  46. url: `/api/admin/families/${id}`,
  47. method: 'post'
  48. })
  49. }
  50. export function updateFamily(id, data) {
  51. return request({
  52. url: `/api/admin/families/${id}`,
  53. method: 'put',
  54. data
  55. })
  56. }
  57. export function deleteFamily(id) {
  58. return request({
  59. url: `/api/admin/families/${id}`,
  60. method: 'delete'
  61. })
  62. }
  63. export function getFamilyMembers(id) {
  64. return request({
  65. url: `/api/admin/families/${id}/members`,
  66. method: 'post'
  67. })
  68. }
  69. // 任务模板管理
  70. export function getTaskTemplateList(params) {
  71. return request({
  72. url: '/api/admin/task-templates',
  73. method: 'post',
  74. data: params
  75. })
  76. }
  77. export function createTaskTemplate(data) {
  78. return request({
  79. url: '/api/admin/task-templates/create',
  80. method: 'post',
  81. data
  82. })
  83. }
  84. export function updateTaskTemplate(id, data) {
  85. return request({
  86. url: `/api/admin/task-templates/${id}`,
  87. method: 'put',
  88. data
  89. })
  90. }
  91. export function deleteTaskTemplate(id) {
  92. return request({
  93. url: `/api/admin/task-templates/${id}`,
  94. method: 'delete'
  95. })
  96. }
  97. // 孩子管理
  98. export function getChildrenList(params) {
  99. return request({
  100. url: '/api/admin/children',
  101. method: 'post',
  102. data: params
  103. })
  104. }
  105. export function getChildDetail(id) {
  106. return request({
  107. url: `/api/admin/children/${id}`,
  108. method: 'post'
  109. })
  110. }
  111. export function updateChild(id, data) {
  112. return request({
  113. url: `/api/admin/children/${id}`,
  114. method: 'put',
  115. data
  116. })
  117. }
  118. export function deleteChild(id) {
  119. return request({
  120. url: `/api/admin/children/${id}`,
  121. method: 'delete'
  122. })
  123. }
  124. export function adjustChildPoints(id, data) {
  125. return request({
  126. url: `/api/admin/children/${id}/adjust-points`,
  127. method: 'post',
  128. data
  129. })
  130. }
  131. // 任务管理
  132. export function getTasksList(params) {
  133. return request({
  134. url: '/api/admin/tasks',
  135. method: 'post',
  136. data: params
  137. })
  138. }
  139. export function getTaskStats() {
  140. return request({
  141. url: '/api/admin/tasks/stats',
  142. method: 'post'
  143. })
  144. }
  145. // 奖励管理
  146. export function getRewardsList(params) {
  147. return request({
  148. url: '/api/admin/rewards',
  149. method: 'post',
  150. data: params
  151. })
  152. }
  153. export function getRewardTemplates() {
  154. return request({
  155. url: '/api/admin/rewards/templates',
  156. method: 'post'
  157. })
  158. }
  159. export function createRewardTemplate(data) {
  160. return request({
  161. url: '/api/admin/rewards/create',
  162. method: 'post',
  163. data
  164. })
  165. }
  166. export function deleteRewardTemplate(id) {
  167. return request({
  168. url: `/api/admin/rewards/templates/${id}`,
  169. method: 'delete'
  170. })
  171. }
  172. export function updateRewardTemplate(id, data) {
  173. return request({
  174. url: `/api/admin/rewards/templates/${id}`,
  175. method: 'put',
  176. data
  177. })
  178. }
  179. export function approveReward(id, data) {
  180. return request({
  181. url: `/api/admin/rewards/${id}/approve`,
  182. method: 'post',
  183. data
  184. })
  185. }
  186. // 积分管理
  187. export function getPointsLogs(params) {
  188. return request({
  189. url: '/api/admin/points/logs',
  190. method: 'post',
  191. data: params
  192. })
  193. }
  194. export function getPointsStats() {
  195. return request({
  196. url: '/api/admin/points/stats',
  197. method: 'post'
  198. })
  199. }
  200. // ========== 心愿管理 API(新版) ==========
  201. // 获取心愿列表
  202. export function getWishesList(params) {
  203. return request({
  204. url: '/api/wishes',
  205. method: 'get',
  206. params
  207. })
  208. }
  209. // 获取待处理列表(家长)
  210. export function getPendingWishes(familyId) {
  211. return request({
  212. url: '/api/wishes/pending',
  213. method: 'get',
  214. params: { familyId }
  215. })
  216. }
  217. // 获取心愿详情
  218. export function getWishDetail(id) {
  219. return request({
  220. url: `/api/wishes/${id}`,
  221. method: 'get'
  222. })
  223. }
  224. // 家长定价
  225. export function setWishPrice(id, pointsRequired) {
  226. return request({
  227. url: `/api/wishes/${id}/set-price`,
  228. method: 'put',
  229. data: { pointsRequired }
  230. })
  231. }
  232. // 家长拒绝心愿
  233. export function rejectWish(id, reason) {
  234. return request({
  235. url: `/api/wishes/${id}/reject`,
  236. method: 'put',
  237. data: { reason }
  238. })
  239. }
  240. // 家长审批兑换
  241. export function approveWishExchange(id, approved, reason) {
  242. return request({
  243. url: `/api/wishes/${id}/approve-exchange`,
  244. method: 'put',
  245. data: { approved, reason }
  246. })
  247. }
  248. // 家长标记已购买
  249. export function markWishFulfilled(id) {
  250. return request({
  251. url: `/api/wishes/${id}/fulfill`,
  252. method: 'put'
  253. })
  254. }
  255. // 取消心愿
  256. export function deleteWish(id, reason) {
  257. return request({
  258. url: `/api/wishes/${id}`,
  259. method: 'delete',
  260. data: { reason }
  261. })
  262. }
  263. // ========== 成长规划师相关 API ==========
  264. // 获取成长规划师关联的家庭列表
  265. export function getTeacherFamilies() {
  266. return request({
  267. url: '/api/admin/teacher/families',
  268. method: 'post'
  269. })
  270. }
  271. // 获取成长规划师发布的任务模板
  272. export function getTeacherTaskTemplates() {
  273. return request({
  274. url: '/api/admin/teacher/task-templates',
  275. method: 'post'
  276. })
  277. }
  278. // 成长规划师创建任务模板
  279. export function createTeacherTaskTemplate(data) {
  280. return request({
  281. url: '/api/admin/teacher/task-templates/create',
  282. method: 'post',
  283. data
  284. })
  285. }
  286. // 成长规划师删除任务模板
  287. export function deleteTeacherTaskTemplate(id) {
  288. return request({
  289. url: `/api/admin/teacher/task-templates/${id}`,
  290. method: 'delete'
  291. })
  292. }
  293. // 获取指定家庭的任务列表
  294. export function getTeacherFamilyTasks(familyId, params) {
  295. return request({
  296. url: `/api/admin/teacher/families/${familyId}/tasks`,
  297. method: 'post',
  298. data: params
  299. })
  300. }
  301. // 获取指定家庭的奖励列表
  302. export function getTeacherFamilyRewards(familyId, params) {
  303. return request({
  304. url: `/api/admin/teacher/families/${familyId}/rewards`,
  305. method: 'post',
  306. data: params
  307. })
  308. }
  309. // ========== 成长规划师审核 API ==========
  310. // 获取成长规划师审核列表
  311. export function getGuideApplications(params) {
  312. return request({
  313. url: '/api/admin/guide/applications',
  314. method: 'post',
  315. data: params
  316. })
  317. }
  318. // 通过成长规划师审核
  319. export function approveGuide(userId) {
  320. return request({
  321. url: `/api/admin/guide/approve/${userId}`,
  322. method: 'post'
  323. })
  324. }
  325. // 拒绝成长规划师审核
  326. export function rejectGuide(userId, reason) {
  327. return request({
  328. url: `/api/admin/guide/reject/${userId}`,
  329. method: 'post',
  330. data: { reason }
  331. })
  332. }
  333. // 获取待审核成长规划师数量
  334. export function getPendingGuideCount() {
  335. return request({
  336. url: '/api/admin/guide/pending-count',
  337. method: 'post'
  338. })
  339. }
  340. export function getPendingPackageCount() {
  341. return request({
  342. url: '/api/admin/package/pending-count',
  343. method: 'post'
  344. })
  345. }
  346. // 管理员个人信息
  347. export function updateAdminInfo(data) {
  348. return request({
  349. url: '/api/admin-auth/update-info',
  350. method: 'post',
  351. data
  352. })
  353. }
  354. // ========== 管理后台仪表盘汇总 API ==========
  355. export function getDashboardStats() {
  356. return request({
  357. url: '/api/stats/dashboard',
  358. method: 'post'
  359. })
  360. }
  361. export function getRevenueStats() {
  362. return request({
  363. url: '/api/stats/revenue',
  364. method: 'post'
  365. })
  366. }
  367. export function getMembershipStats() {
  368. return request({
  369. url: '/api/stats/membership',
  370. method: 'post'
  371. })
  372. }
  373. export function getTrendStats() {
  374. return request({
  375. url: '/api/stats/trend',
  376. method: 'post'
  377. })
  378. }
  379. // ========== 商品管理 API ==========
  380. export function getProductList(params) {
  381. return request({
  382. url: '/api/admin/product/list',
  383. method: 'post',
  384. data: params
  385. })
  386. }
  387. export function reviewProduct(productId, data) {
  388. return request({
  389. url: '/api/admin/product/review',
  390. method: 'post',
  391. data: { productId, ...data }
  392. })
  393. }
  394. export function shelveProduct(productId, data) {
  395. return request({
  396. url: '/api/admin/product/shelve',
  397. method: 'post',
  398. data: { productId, ...data }
  399. })
  400. }
  401. export function getProduct(id) {
  402. return request({
  403. url: '/api/admin/product/detail',
  404. method: 'post',
  405. data: { productId: id }
  406. })
  407. }
  408. export function createProduct(data) {
  409. return request({
  410. url: '/api/admin/product/create',
  411. method: 'post',
  412. data
  413. })
  414. }
  415. export function updateProduct(data) {
  416. return request({
  417. url: '/api/admin/product/update',
  418. method: 'post',
  419. data
  420. })
  421. }
  422. export function deleteProduct(id) {
  423. return request({
  424. url: '/api/admin/product/delete',
  425. method: 'post',
  426. data: { productId: id }
  427. })
  428. }
  429. // ========== SKU 管理 API ==========
  430. export function getProductSkuList(productId) {
  431. return request({
  432. url: '/api/admin/product/sku/list',
  433. method: 'post',
  434. data: { productId }
  435. })
  436. }
  437. export function createProductSku(data) {
  438. return request({
  439. url: '/api/admin/product/sku/create',
  440. method: 'post',
  441. data
  442. })
  443. }
  444. export function updateProductSku(data) {
  445. return request({
  446. url: '/api/admin/product/sku/update',
  447. method: 'post',
  448. data
  449. })
  450. }
  451. export function deleteProductSku(id) {
  452. return request({
  453. url: '/api/admin/product/sku/delete',
  454. method: 'post',
  455. data: { id }
  456. })
  457. }
  458. // ========== 分类管理 API ==========
  459. export function getCategoryTree(includeDisabled) {
  460. return request({
  461. url: '/api/admin/shop/category/tree',
  462. method: 'post',
  463. data: { includeDisabled }
  464. })
  465. }
  466. export function createCategory(data) {
  467. return request({
  468. url: '/api/admin/shop/category/create',
  469. method: 'post',
  470. data
  471. })
  472. }
  473. export function updateCategory(data) {
  474. return request({
  475. url: '/api/admin/shop/category/update',
  476. method: 'post',
  477. data
  478. })
  479. }
  480. export function deleteCategory(id) {
  481. return request({
  482. url: '/api/admin/shop/category/delete',
  483. method: 'post',
  484. data: { id }
  485. })
  486. }
  487. export function toggleCategory(id) {
  488. return request({
  489. url: '/api/admin/shop/category/toggle',
  490. method: 'post',
  491. data: { id }
  492. })
  493. }
  494. // ========== 订单管理 API ==========
  495. export function getOrderList(params) {
  496. return request({
  497. url: '/api/admin/product/order/list',
  498. method: 'post',
  499. data: params
  500. })
  501. }
  502. export function getOrderDetail(orderNo) {
  503. return request({
  504. url: '/api/admin/product/order/detail',
  505. method: 'post',
  506. data: { orderNo }
  507. })
  508. }
  509. export function shipOrder(orderNo, trackingNumber, expressCompany) {
  510. return request({
  511. url: '/api/admin/product/order/ship',
  512. method: 'post',
  513. data: { orderNo, trackingNumber, expressCompany }
  514. })
  515. }
  516. export function closeOrder(orderNo) {
  517. return request({
  518. url: '/api/admin/product/order/close',
  519. method: 'post',
  520. data: { orderNo }
  521. })
  522. }
  523. export function approveRefund(orderNo) {
  524. return request({
  525. url: '/api/admin/product/order/refund/approve',
  526. method: 'post',
  527. data: { orderNo }
  528. })
  529. }
  530. export function rejectRefund(orderNo, reason) {
  531. return request({
  532. url: '/api/admin/product/order/refund/reject',
  533. method: 'post',
  534. data: { orderNo, reason }
  535. })
  536. }
  537. // ========== 系统配置 API ==========
  538. export function getSysConfigList(params) {
  539. return request({
  540. url: '/api/admin/config/list',
  541. method: 'post',
  542. data: params
  543. })
  544. }
  545. export function createSysConfig(data) {
  546. return request({
  547. url: '/api/admin/config/update',
  548. method: 'post',
  549. data: { configKey: data.configKey, configValue: data.configValue }
  550. })
  551. }
  552. export function updateSysConfig(id, data) {
  553. return request({
  554. url: '/api/admin/config/update',
  555. method: 'post',
  556. data: { configKey: data.configKey, configValue: data.configValue }
  557. })
  558. }
  559. export function deleteSysConfig(id) {
  560. return request({
  561. url: `/api/admin/config/delete/${id}`,
  562. method: 'delete'
  563. })
  564. }
  565. // ========== 分佣裂变系统 API ==========
  566. export function getWithdrawalList(params) {
  567. return request({
  568. url: '/api/admin/commission/withdrawals',
  569. method: 'post',
  570. data: params
  571. })
  572. }
  573. export function auditWithdrawal(requestId, status, remark) {
  574. return request({
  575. url: '/api/admin/commission/audit',
  576. method: 'post',
  577. data: { requestId, status, remark }
  578. })
  579. }
  580. export function updateProductProfitRate(productId, profitRate) {
  581. return request({
  582. url: '/api/admin/commission/update-profit-rate',
  583. method: 'post',
  584. data: { productId, profitRate }
  585. })
  586. }
  587. // ========== 教育体系管理 API ==========
  588. export function getEducationSystems() {
  589. return request({
  590. url: '/api/admin/education-systems/list',
  591. method: 'post'
  592. })
  593. }
  594. export function getAllEducationSystems() {
  595. return request({
  596. url: '/api/admin/education-systems/all',
  597. method: 'post'
  598. })
  599. }
  600. export function createEducationSystem(data) {
  601. return request({
  602. url: '/api/admin/education-systems/create',
  603. method: 'post',
  604. data
  605. })
  606. }
  607. export function updateEducationSystem(data) {
  608. return request({
  609. url: '/api/admin/education-systems/update',
  610. method: 'post',
  611. data
  612. })
  613. }
  614. export function deleteEducationSystem(id) {
  615. return request({
  616. url: '/api/admin/education-systems/delete',
  617. method: 'post',
  618. data: { id }
  619. })
  620. }
  621. // ========== 星座配置管理 API ==========
  622. export function listZodiacConfigs() {
  623. return request({
  624. url: '/api/admin/zodiac-config/list',
  625. method: 'post'
  626. })
  627. }
  628. export function createZodiacConfig(data) {
  629. return request({
  630. url: '/api/admin/zodiac-config/create',
  631. method: 'post',
  632. data
  633. })
  634. }
  635. export function updateZodiacConfig(data) {
  636. return request({
  637. url: '/api/admin/zodiac-config/update',
  638. method: 'post',
  639. data
  640. })
  641. }
  642. export function deleteZodiacConfig(id) {
  643. return request({
  644. url: '/api/admin/zodiac-config/delete',
  645. method: 'post',
  646. data: { id }
  647. })
  648. }
  649. // ========== 八字配置管理 API ==========
  650. export function listBaziConfigs() {
  651. return request({
  652. url: '/api/admin/bazi-config/list',
  653. method: 'post'
  654. })
  655. }
  656. export function createBaziConfig(data) {
  657. return request({
  658. url: '/api/admin/bazi-config/create',
  659. method: 'post',
  660. data
  661. })
  662. }
  663. export function updateBaziConfig(data) {
  664. return request({
  665. url: '/api/admin/bazi-config/update',
  666. method: 'post',
  667. data
  668. })
  669. }
  670. export function deleteBaziConfig(id) {
  671. return request({
  672. url: '/api/admin/bazi-config/delete',
  673. method: 'post',
  674. data: { id }
  675. })
  676. }
  677. // ========== 血型配置管理 API ==========
  678. export function listBloodTypeConfigs() {
  679. return request({
  680. url: '/api/admin/blood-type-config/list',
  681. method: 'post'
  682. })
  683. }
  684. export function createBloodTypeConfig(data) {
  685. return request({
  686. url: '/api/admin/blood-type-config/create',
  687. method: 'post',
  688. data
  689. })
  690. }
  691. export function updateBloodTypeConfig(data) {
  692. return request({
  693. url: '/api/admin/blood-type-config/update',
  694. method: 'post',
  695. data
  696. })
  697. }
  698. export function deleteBloodTypeConfig(id) {
  699. return request({
  700. url: '/api/admin/blood-type-config/delete',
  701. method: 'post',
  702. data: { id }
  703. })
  704. }
  705. // 关系类型管理
  706. export function listRelationshipTypes() {
  707. return request({
  708. url: '/api/admin/relationship-type/list',
  709. method: 'post'
  710. })
  711. }
  712. export function saveRelationshipType(data) {
  713. return request({
  714. url: '/api/admin/relationship-type/save',
  715. method: 'post',
  716. data
  717. })
  718. }
  719. export function deleteRelationshipType(id) {
  720. return request({
  721. url: '/api/admin/relationship-type/delete',
  722. method: 'post',
  723. data: { id }
  724. })
  725. }
  726. // ========== 虚拟服务商团队管理 API ==========
  727. export function listVirtualTeams(params) {
  728. return request({
  729. url: '/api/admin/virtual-team/list',
  730. method: 'post',
  731. data: params
  732. })
  733. }
  734. export function createVirtualTeam(data) {
  735. return request({
  736. url: '/api/admin/virtual-team/create',
  737. method: 'post',
  738. data
  739. })
  740. }
  741. export function updateVirtualTeam(data) {
  742. return request({
  743. url: '/api/admin/virtual-team/update',
  744. method: 'post',
  745. data
  746. })
  747. }
  748. export function toggleVirtualTeam(id) {
  749. return request({
  750. url: '/api/admin/virtual-team/toggle',
  751. method: 'post',
  752. data: { id }
  753. })
  754. }
  755. export function getVirtualTeamMembers(systemId) {
  756. return request({
  757. url: '/api/admin/virtual-team/members',
  758. method: 'post',
  759. data: { systemId }
  760. })
  761. }
  762. export function addVirtualTeamMember(data) {
  763. return request({
  764. url: '/api/admin/virtual-team/add-member',
  765. method: 'post',
  766. data
  767. })
  768. }
  769. export function removeVirtualTeamMember(id) {
  770. return request({
  771. url: '/api/admin/virtual-team/remove-member',
  772. method: 'post',
  773. data: { id }
  774. })
  775. }
  776. export function updateVirtualTeamMember(data) {
  777. return request({
  778. url: '/api/admin/virtual-team/update-member',
  779. method: 'post',
  780. data
  781. })
  782. }
  783. export function getVirtualTeamTree(systemId) {
  784. return request({
  785. url: '/api/admin/virtual-team/tree',
  786. method: 'post',
  787. data: { systemId }
  788. })
  789. }
  790. export function searchUsers(params) {
  791. return request({
  792. url: '/api/admin/user/search',
  793. method: 'post',
  794. data: params
  795. })
  796. }
  797. // ========== 情绪告警管理 API ==========
  798. export function getEmotionAlertList(params) {
  799. return request({
  800. url: '/api/mind/alert/admin/list',
  801. method: 'post',
  802. data: params
  803. })
  804. }
  805. export function resolveEmotionAlert(alertId) {
  806. return request({
  807. url: '/api/mind/alert/resolve',
  808. method: 'post',
  809. data: { alertId, source: 'checkin' }
  810. })
  811. }
  812. // ========== 食材管理 API ==========
  813. export function getFoodList(params) {
  814. return request({
  815. url: '/api/admin/foods/list',
  816. method: 'post',
  817. data: params
  818. })
  819. }
  820. export function createFood(data) {
  821. return request({
  822. url: '/api/admin/foods/create',
  823. method: 'post',
  824. data
  825. })
  826. }
  827. export function updateFood(data) {
  828. return request({
  829. url: '/api/admin/foods/update',
  830. method: 'post',
  831. data
  832. })
  833. }
  834. export function deleteFood(id) {
  835. return request({
  836. url: '/api/admin/foods/delete',
  837. method: 'post',
  838. data: { id }
  839. })
  840. }
  841. export function getFoodDetail(id) {
  842. return request({
  843. url: '/api/admin/foods/detail',
  844. method: 'post',
  845. data: { id }
  846. })
  847. }
  848. export function saveFoodMonths(id, months) {
  849. return request({
  850. url: '/api/admin/foods/saveMonths',
  851. method: 'post',
  852. data: { id, months }
  853. })
  854. }
  855. // 供应商体系管理
  856. export function getSupplySystemList(params) {
  857. return request({
  858. url: '/api/admin/supply-system/list',
  859. method: 'post',
  860. data: params || {}
  861. })
  862. }
  863. export function getSupplySystemDetail(id) {
  864. return request({
  865. url: '/api/admin/supply-system/detail',
  866. method: 'post',
  867. data: { id }
  868. })
  869. }
  870. export function createSupplySystem(data) {
  871. return request({
  872. url: '/api/admin/supply-system/create',
  873. method: 'post',
  874. data
  875. })
  876. }
  877. export function updateSupplySystem(data) {
  878. return request({
  879. url: '/api/admin/supply-system/update',
  880. method: 'post',
  881. data
  882. })
  883. }
  884. export function toggleSupplySystemStatus(id) {
  885. return request({
  886. url: '/api/admin/supply-system/toggle-status',
  887. method: 'post',
  888. data: { id }
  889. })
  890. }
  891. export function listAllSupplySystems() {
  892. return request({
  893. url: '/api/admin/supply-system/list-all',
  894. method: 'post'
  895. })
  896. }
  897. export function getSupplySystemMembers(systemId) {
  898. return request({
  899. url: '/api/admin/supply-system/member/list',
  900. method: 'post',
  901. data: { systemId }
  902. })
  903. }
  904. export function addSupplySystemMember(systemId, userId) {
  905. return request({
  906. url: '/api/admin/supply-system/member/add',
  907. method: 'post',
  908. data: { systemId, userId }
  909. })
  910. }
  911. export function removeSupplySystemMember(memberId) {
  912. return request({
  913. url: '/api/admin/supply-system/member/remove',
  914. method: 'post',
  915. data: { memberId }
  916. })
  917. }
  918. export function changeSupplySystemMemberRole(memberId, role) {
  919. return request({
  920. url: '/api/admin/supply-system/member/change-role',
  921. method: 'post',
  922. data: { memberId, role }
  923. })
  924. }
  925. // 结算管理
  926. export function getSupplySettlementList(params) {
  927. return request({
  928. url: '/api/admin/supply-settlement/list',
  929. method: 'post',
  930. data: params || {}
  931. })
  932. }
  933. export function getSupplySettlementDetail(id) {
  934. return request({
  935. url: '/api/admin/supply-settlement/detail',
  936. method: 'post',
  937. data: { id }
  938. })
  939. }
  940. export function getSupplySettlementDetailItems(settlementId) {
  941. return request({
  942. url: '/api/admin/supply-settlement/detail-items',
  943. method: 'post',
  944. data: { settlementId }
  945. })
  946. }
  947. export function createSupplySettlement(systemId, periodStart, periodEnd, remark) {
  948. return request({
  949. url: '/api/admin/supply-settlement/create',
  950. method: 'post',
  951. data: { systemId, periodStart, periodEnd, remark }
  952. })
  953. }
  954. export function confirmSupplySettlement(id) {
  955. return request({
  956. url: '/api/admin/supply-settlement/confirm',
  957. method: 'post',
  958. data: { id }
  959. })
  960. }
  961. // ========== 供应商管理 (supplier_admin) ==========
  962. export function getSupplyManageList(params) {
  963. return request({
  964. url: '/api/admin/supply-manage/list',
  965. method: 'post',
  966. data: params
  967. })
  968. }
  969. export function getSupplyManageDetail(params) {
  970. return request({
  971. url: '/api/admin/supply-manage/detail',
  972. method: 'post',
  973. data: params
  974. })
  975. }
  976. export function createSupplyManage(params) {
  977. return request({
  978. url: '/api/admin/supply-manage/create',
  979. method: 'post',
  980. data: params
  981. })
  982. }
  983. export function updateSupplyManage(params) {
  984. return request({
  985. url: '/api/admin/supply-manage/update',
  986. method: 'post',
  987. data: params
  988. })
  989. }
  990. export function deleteSupplyManage(params) {
  991. return request({
  992. url: '/api/admin/supply-manage/delete',
  993. method: 'post',
  994. data: params
  995. })
  996. }
  997. export function addSupplierRole(params) {
  998. return request({
  999. url: '/api/admin/supply-manage/add-role',
  1000. method: 'post',
  1001. data: params
  1002. })
  1003. }
  1004. export function removeSupplierRole(params) {
  1005. return request({
  1006. url: '/api/admin/supply-manage/remove-role',
  1007. method: 'post',
  1008. data: params
  1009. })
  1010. }
  1011. export function adjustSupplyTier(params) {
  1012. return request({
  1013. url: '/api/admin/supply-manage/adjust-tier',
  1014. method: 'post',
  1015. data: params
  1016. })
  1017. }