program.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. import request, { tenantRequest } from '@/utils/request'
  2. import {
  3. add,
  4. update,
  5. del,
  6. submit,
  7. resolve,
  8. messageSend,
  9. addStatus,
  10. addStatusScope,
  11. addTenant
  12. } from './base'
  13. export function getProgramsByQuery (query) {
  14. const { pageNum: currentPage, pageSize: pageCount, ...params } = query
  15. return tenantRequest({
  16. url: '/item/listByPage',
  17. method: 'POST',
  18. data: addStatus({
  19. currentPage, pageCount,
  20. ...params
  21. })
  22. })
  23. }
  24. export function getPrograms (query) {
  25. return getProgramsByQuery(addStatusScope(query))
  26. }
  27. export function addProgram (data) {
  28. return add({
  29. url: '/item/add',
  30. method: 'POST',
  31. data: addTenant(data)
  32. }, tenantRequest)
  33. }
  34. export function deleteProgram ({ id, name }) {
  35. return del({
  36. url: '/item/delete',
  37. method: 'DELETE',
  38. params: { id }
  39. }, name)
  40. }
  41. export function updateProgram ({ id, duration, itemJsonStr, keyNameList, base64, status }) {
  42. const formData = new FormData()
  43. const result = /^data:(.+);base64,(.+)$/.exec(base64)
  44. if (result) {
  45. const binaryString = atob(result[2])
  46. const length = binaryString.length
  47. const mine = new Uint8Array(length)
  48. for (let i = 0; i < length; i++) {
  49. mine[i] = binaryString.charCodeAt(i)
  50. }
  51. formData.append('file', new Blob([mine], { type: result[1] }))
  52. }
  53. formData.append('id', id)
  54. formData.append('duration', duration)
  55. formData.append('itemJsonStr', itemJsonStr)
  56. formData.append('keyNameList', JSON.stringify(keyNameList))
  57. formData.append('status', status)
  58. return request({
  59. url: '/item/update',
  60. method: 'POST',
  61. data: formData,
  62. timeout: 0,
  63. custom: true
  64. }).then(({ data }) => data)
  65. }
  66. export function updateProgramName (data) {
  67. return update({
  68. url: '/item/updateItemName',
  69. method: 'POST',
  70. data
  71. })
  72. }
  73. export function getProgram (id, options) {
  74. return request({
  75. url: `/item/getById/${id}`,
  76. method: 'GET',
  77. ...options
  78. })
  79. }
  80. export function submitProgram ({ id, name }) {
  81. return submit({
  82. url: '/item/submit',
  83. method: 'GET',
  84. params: { id }
  85. }, name)
  86. }
  87. export function resolveProgram ({ id, name }) {
  88. return resolve({
  89. url: '/item/reviewed',
  90. method: 'GET',
  91. params: { id }
  92. }, name)
  93. }
  94. export function rejectProgram ({ id }, reason) {
  95. return messageSend({
  96. url: '/item/reject',
  97. method: 'GET',
  98. params: { id },
  99. data: { reason }
  100. }, '驳回')
  101. }
  102. export function copyProgram (program) {
  103. return messageSend({
  104. url: '/item/copy',
  105. method: 'POST',
  106. data: addTenant(program)
  107. }, '复制', tenantRequest)
  108. }