workload.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import request from "./request";
  2. import moment from "moment";
  3. import { unix } from "moment";
  4. function queryWorkType(params) {
  5. return request(`v2/workload/type/info`, "GET", params, true);
  6. }
  7. export async function queryAllWorkType() {
  8. uni.showLoading();
  9. try {
  10. const { data } = await queryWorkType();
  11. let allType = {};
  12. for (let i = 0; i < data.length; i++) {
  13. let item = data[i];
  14. allType[item.id] = item;
  15. let { data: subData } = await queryWorkType({ parent_id: item.id });
  16. item.children = subData;
  17. subData.forEach((item) => {
  18. allType[item.id] = item;
  19. });
  20. }
  21. return { typeList: data, allType };
  22. } catch (error) {
  23. console.log(error);
  24. // return { typeList: [], allType: [] };
  25. } finally {
  26. uni.hideLoading();
  27. }
  28. }
  29. /**
  30. *
  31. + pageSize:每页记录数
  32. + currentPage:当前页
  33. + project_id:项目id
  34. + user_id:用户id
  35. + dep_id:部门id
  36. + type_id:工作分项id
  37. + audit_status:审核状态
  38. + s_time:开始时间
  39. + e_time:结束时间
  40. */
  41. // 查询本人工时列表
  42. export async function queryWorkHours(params = {}) {
  43. params.pageSize = 9999;
  44. const res = await request(`v2/workload/record`, "GET", params);
  45. const { list } = res.data;
  46. var data = {};
  47. list.forEach((item) => {
  48. var day = moment(item.ts).format("YYYY-MM-DD");
  49. item.day = day;
  50. if (!data[day]) data[day] = [];
  51. data[day].push(item);
  52. });
  53. return data;
  54. }
  55. // 查询可审核工时
  56. export async function queryAuthWorkHours(params = {}) {
  57. params.pageSize = 9999;
  58. const res = await request(`v2/workload/list/auth`, "GET", params);
  59. const { list } = res.data;
  60. var data = {};
  61. list.forEach((item) => {
  62. var day = moment(item.ts).format("YYYY-MM-DD");
  63. item.day = day;
  64. if (!data[day]) data[day] = [];
  65. data[day].push(item);
  66. });
  67. return data;
  68. }
  69. export async function queryProject(data) {
  70. const res = await request(`v2/workload/project`, "GET", data);
  71. return res.data.list.map(item => ({
  72. ...item,
  73. fullName: `${item.Name}(${item.Code})`
  74. }));
  75. }
  76. /** id,status,desc */
  77. export async function authWorkload(data) {
  78. return await request(`v2/workload/auths`, "POST", data);
  79. }
  80. export async function addWorkHours(data) {
  81. return await request(`v2/workload/record`, "POST", data);
  82. }
  83. export async function addAuthWorkHours(data) {
  84. return await request(`v2/workload/records`, "POST", data);
  85. }