program.js 2.5 KB

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