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 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); }) }) } export default { groupByCraftType, groupByCraftTypeByAttendance, subdeptsUsersList, attendanceUbiDataList, milestoneList, costOutputSelectYearAndMonth };