service.ts 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. /*
  2. * @Author: code4eat awesomedema@gmail.com
  3. * @Date: 2022-12-21 11:13:51
  4. * @LastEditors: code4eat awesomedema@gmail.com
  5. * @LastEditTime: 2023-08-11 11:03:45
  6. * @FilePath: /BudgetManaSystem/src/pages/budgetMana/monthlyInfoCheck/service.ts
  7. * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  8. */
  9. import { request } from '@@/plugin-request';
  10. import axios from 'axios';
  11. //获取树结构单元数据
  12. export type getTreeDataRespType = {
  13. code: number,
  14. name: string,
  15. map: boolean,
  16. parentCode: string,
  17. unitType?: string,
  18. child: getTreeDataRespType[]
  19. }
  20. export const getTreeData = (computeDate: string, type: string) => {
  21. return request<getTreeDataRespType[]>('/performance/secondSetting/getSecondDataUnitList', {
  22. method: 'GET',
  23. params: { computeDate, type }
  24. })
  25. }
  26. //获取人员数据核定
  27. export type GetSecondaryDistriComputeParams = {
  28. computeDate: string; //核算年月
  29. unitCode: string; //核算单元代码
  30. current: number;
  31. pageSize: number;
  32. }
  33. export const getSecondaryDistriComputeTableData = (params: GetSecondaryDistriComputeParams) => {
  34. return request('/performance/secondSetting/getSecondDataList', {
  35. method: 'GET',
  36. params: { ...params }
  37. })
  38. }
  39. //保存编辑后结果
  40. export const save = (data: any) => {
  41. return request('/performance/secondSetting/saveSecondData', {
  42. method: 'POST',
  43. data
  44. })
  45. }
  46. //获取当前提交状态
  47. export const getCurrentCommitStatusReq = (params: {
  48. computeDate: string,
  49. unitCode: string
  50. }) => {
  51. return request('/performance/secondSetting/getSubmitStatus', {
  52. method: 'GET',
  53. params: params
  54. })
  55. }
  56. //提交请求
  57. export type CommitRequestParamsType = {
  58. computeDate: string,
  59. unitCode: string,
  60. submit: string
  61. }
  62. export const commitRequest = (data: CommitRequestParamsType) => {
  63. return request('/performance/secondSetting/secondSubmit', {
  64. method: 'POST',
  65. params: data
  66. })
  67. }
  68. //获取数据
  69. export const getDataByBtn = (computeDate: string, unitCode: string) => {
  70. return request('/performance/secondSetting/getAutoSecondData', {
  71. method: 'GET',
  72. params: { computeDate, unitCode }
  73. })
  74. }
  75. //导出excel模板
  76. export const downloadTemplateReq = (computeDate: string, unitCode: string) => {
  77. let path = '/gateway/performance/secondSetting/exportSecondData';
  78. const userData = localStorage.getItem('userData');
  79. const { token = '' } = JSON.parse(userData as any);
  80. axios({
  81. method: 'get',
  82. url: path,
  83. responseType: 'blob',
  84. headers: { token },
  85. params: { computeDate, unitCode }
  86. })
  87. .then(function (response) {
  88. //console.log({ 'chunk': response });
  89. const filename = decodeURI(response.headers["content-disposition"]);
  90. const objectUrl = URL.createObjectURL(
  91. new Blob([response.data], {
  92. type: 'application/vnd.ms-excel',
  93. })
  94. )
  95. const link = document.createElement('a')
  96. // 设置导出的文件名称
  97. link.download = `${filename}` + '.xls'
  98. link.style.display = 'none'
  99. link.href = objectUrl
  100. link.click()
  101. document.body.appendChild(link)
  102. });
  103. }
  104. //导入数据
  105. export const importExcelData = (data: any) => {
  106. return request('/performance/secondSetting/importSecondData', {
  107. method: 'POST',
  108. data: data
  109. })
  110. }
  111. //根据项目code获取评级列表
  112. export const getPingjiListByCode = (secondItemCode:string) => {
  113. return request<any[]>('/performance/secondSetting/getItemLevel', {
  114. method: 'GET',
  115. params: { secondItemCode }
  116. });
  117. }
  118. //保存工作量
  119. export const saveWorkLang = (data:{computeDate:string,unitCode:string,empNo:string,code:string,value:number}) => {
  120. return request('/performance/secondSetting/saveEmpWorkload', {
  121. method: 'POST',
  122. params:{...data}
  123. });
  124. }