project.ts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. import moment from 'moment';
  2. import { request } from 'umi';
  3. //获取项目列表
  4. export async function getProjectList(
  5. params: any,
  6. ) {
  7. const response = await request(`/api/v2/project`, {
  8. params: params,
  9. });
  10. let nowDate = new Date();
  11. (response.data.list || []).map((item: Api.IProject) => {
  12. let type;
  13. if (!item.EndDate) {
  14. type = 2;
  15. } else {
  16. type = nowDate >= new Date(item.EndDate) ? 2 : 1;
  17. }
  18. item.type = type;
  19. });
  20. return response;
  21. }
  22. export async function getDeviceRealData(params: any) {
  23. return request(`/api/v1/jinke-cloud/device/current-data`, {
  24. method: 'POST',
  25. body: params,
  26. });
  27. }
  28. export async function getDeviceRealDataByTime(params: any) {
  29. return request(`/api/v1/jinke-cloud/db/device/history-data`, {
  30. method: 'GET',
  31. params,
  32. });
  33. }
  34. export async function queryFormCell(
  35. projectId: string | number,
  36. formName: string,
  37. ) {
  38. const res = await request(
  39. `/api/v1/api/v1/runtime_form/cell/to/chart/${projectId}/${formName}`,
  40. );
  41. return res;
  42. }
  43. const CACHE: any = {};
  44. // 查询图表对应的表单数据-最新数据
  45. export async function queryFormCurrentData(params: any) {
  46. const { projectId, formName, titles } = params;
  47. if (!CACHE[formName]) {
  48. const resCell = await queryFormCell(projectId, formName);
  49. CACHE[formName] = resCell.data || [];
  50. }
  51. let cells = titles.map((t: string) => {
  52. let cell = CACHE[formName].find((item: any) => item.title == t);
  53. return cell;
  54. });
  55. const { data } = await request(
  56. `/api/v1/runtime_form/chart/current/${projectId}/${formName}`,
  57. );
  58. return cells.map((item: any) => ({
  59. key: item.cell_key,
  60. value: data[item.cell_key],
  61. title: item.title,
  62. }));
  63. }
  64. export async function queryFormHistoryData2(params: any) {
  65. const { data } = await request(`/api/v1/jinke-cloud/db/device/form-chart`, {
  66. method: 'POST',
  67. body: params,
  68. });
  69. return Object.keys(data).map((key) => {
  70. let [tableName, title] = key.split('|');
  71. let dataValue = data[key];
  72. return {
  73. name: title,
  74. data: dataValue.map((item: any) => ({
  75. htime: moment(item.time).format('YYYY-MM-DD HH:mm:ss'),
  76. val: item.key,
  77. })),
  78. };
  79. });
  80. }
  81. //获取当前项目详情
  82. export async function queryProjectById(params: any) {
  83. return request(`/api/v2/project/detail/${params.ID}`);
  84. }
  85. //获取当前项目角色列表
  86. export async function queryProjectRole(params: any) {
  87. return request(`/api/v2/project/roles/get`, { params });
  88. }
  89. export async function addProjectUserV2(param: any) {
  90. return request(`/api/v2/project/user`, {
  91. method: 'POST',
  92. data: param,
  93. });
  94. }
  95. export async function queryUserList(Id: any) {
  96. return request(`/api/v1/user/project/${Id}`);
  97. }
  98. export async function updateProject(params = {}) {
  99. return request(`/api/v1/project/update`, {
  100. method: 'PUT',
  101. data: params,
  102. });
  103. }
  104. export async function removeProjectUser(params: any) {
  105. return request(`/api/v1/project/user/${params.ProjectId}/${params.UserId}`, { method: 'DELETE' });
  106. }
  107. export async function queryScreenShort(data: any) {
  108. return request(`/api/v1/project-file/${data.projectId}/33/-1`);
  109. }
  110. export async function deleteScreenShort(data: any) {
  111. return request(`/api/v1/project-file/${data.id}`, { method: 'DELETE' });
  112. }