workload.js 2.4 KB

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