import request from "@/utils/request"; import { tryToJson } from "../utils/tools"; import $dt from "dayjs"; const groupByCraftType = (data) => { return request({ url: "/manage/proProjectInfoSubdeptsUsers/groupByCraftType", method: "get", params: data, }); }; const groupByCraftTypeByAttendance = (data) => { return request({ url: "/manage/proProjectInfoSubdeptsUsers/groupByCraftTypeByAttendance", method: "get", params: data, }); }; const subdeptsUsersList = (data) => { return request({ url: "/manage/proProjectInfoSubdeptsUsers/list", method: "get", params: data, }); }; const attendanceUbiDataList = (data) => { return request({ url: "/manage/attendanceUbiData/list", method: "get", params: data, }); }; const photographyList = (proId) => { return request({ url: "/manage/photography/finaList/" + proId, method: "get", }); }; const updateItemState = (it) => { let dt0 = +$dt($dt(new Date()).format("YYYY-MM-DD")); //当时时间 let dt1 = it.planStartDate ? +$dt(it.planStartDate) : 0; //计划开始 let dt2 = it.planEndDate ? +$dt(it.planEndDate) : 0; //计划结束 let dt3 = it.startDate ? +$dt(it.startDate) : 0; //实际开始 let dt4 = it.endDate ? +$dt(it.endDate) : 0; //实际结束 if (!it.planStartDate) { return; } if (it.endDate) { if (!it.planEndDate) { it.finish = "正常完成"; it.finishState = 3; return; } if (dt4 > dt2) { it.finish = "逾期完成"; it.finishState = 1; } else { it.finish = "正常完成"; it.finishState = 3; } return; } if (it.startDate) { if (!it.planEndDate) { it.finish = "进行中"; it.finishState = 2; return; } if (dt2 < dt0) { it.finish = "逾期" + (dt0 - dt2) / 3600 / 1000 / 24 + "天"; it.finishState = 1; } else { it.finish = "进行中"; it.finishState = 2; } return; } if (!it.startDate) { it.finish = "未开始"; it.finishState = 4; } }; const milestoneList = (data) => { return new Promise((resolve) => { return request({ url: "/manage/milestone/list", method: "get", params: data, }).then((d) => { let tmps = (d.rows || []).map((it) => { it.nodeText = it.nodeName || ""; it.planStartDate = it.scheduledStart; it.planEndDate = it.scheduledEnd; it.startDate = it.actualStart; it.endDate = it.actualEnd; updateItemState(it); return it; }); resolve(tmps); }); }); }; const costOutputSelectYearAndMonth = (data) => { return new Promise((reslove) => { let data2 = { ...data }; let y = data2.year; let m = data2.month - 1; if (m == 0) { m = 12; y--; } data2.year = y; data2.month = m; var ajaxs = [ request({ url: `/manage/costOutput/selectYearAndMonth`, method: "post", data: data, }), request({ url: `/manage/costOutput/selectYearAndMonth`, method: "post", data: data2, }), ]; axios.all(ajaxs).then((res) => { let d = res[0]; const getValue = (tmps, type) => { let objs = tmps.filter((d) => d.costType == type); return objs.length > 0 ? objs[0] : {}; }; let tmps = (d.data || []).map((it) => { it.money = it.money ? it.money / 10000.0 : 0; return it; }); let y = data.year; let m = data.month; //if(m==0){ // m=12; // y--; //} let tmps2 = (res[1].data || []).map((it) => { it.money = it.money ? it.money / 10000.0 : 0; return it; }); let curM = tmps.filter( (it) => it.costType == 9 && it.year == y && it.month == m ); curM = curM.length > 0 ? curM[0] : {}; let totalObjs = tmps.filter((it) => it.costType == 9); let total = 0; totalObjs.forEach((it) => { if (it.money) { total += it.money; } }); let yearObjs = tmps.filter((it) => it.costType == 9 && it.year == y); let totalY = 0; yearObjs.forEach((it) => { if (it.money) { totalY += it.money; } }); let obj = { totalInv: getValue(tmps, 1).money || 0, //总投资 curYear: getValue(tmps, 2).money || 0, //年总投资 contract1: getValue(tmps, 3).money || 0, //合同金额 contract2: getValue(tmps, 4).money || 0, //合同支付金额 contract3: getValue(tmps, 5).money || 0, //合同挂账金额 safety1: getValue(tmps, 6).money || 0, //安措金额 safety2: getValue(tmps, 7).money || 0, //安措支付金额 safety3: getValue(tmps, 8).money || 0, //安措挂账金额 curMonth: curM.money || 0, //当月投资 totalMonth: total, //开累投资 totalYear: totalY, //本年完成 }; reslove(obj); }); }); }; const groupByComany = (data) => { return request({ url: `/manage/bgscreen/attendance/groupByComany`, data: data, method: "post", }); }; const groupAllByComany = (data) => { return request({ url: `/manage/bgscreen/attendance/groupAllByComany`, data: data, method: "post", }); }; // 查询劳务实名制管理列表 const listAttendance = (query) => { return request({ url: "/manage/bgscreen/attendance/list", method: "get", params: query, }); }; const groupByWorkerState = (data) => { return request({ url: "/manage/bgscreen/attendance/groupByWorkerState", method: "get", params: data, }); }; const queryWorkerByState = (data) => { return request({ url: "/manage/bgscreen/attendance/queryWorkerByState", method: "get", params: data, }); }; export default { groupByCraftType, groupByCraftTypeByAttendance, subdeptsUsersList, attendanceUbiDataList, photographyList, milestoneList, costOutputSelectYearAndMonth, groupByComany, groupAllByComany, listAttendance, groupByWorkerState, queryWorkerByState, };