2 lines
7.6 KiB
JavaScript
2 lines
7.6 KiB
JavaScript
import{d as Q,G as le,r as S,a as oe,w as J,o as ae,b as ce,D as ie,c as G,e as a,f as i,g as l,F as h,j as m,z as w,t as g,n as de,k as K,i as R,h as F,S as re,T as ue,E as _e,d8 as fe,q as ve,s as he,_ as me}from"./index-ccab2584.js";import{_ as ge}from"./notData-cf10628e.js";const D=I=>(ve("data-v-22189ffa"),I=I(),he(),I),pe={class:"main-box"},ye={class:"gantt-box"},Se={class:"header"},xe={class:"left-content"},ke={class:"label"},be=D(()=>l("div",{class:"right-content"},"\u5907\u6CE8\uFF1A\u66F4\u65B0\uFF08\u8FDB\u5EA6\u586B\u62A5\uFF09\u5185\u5BB9\u540E\u8BE5\u7518\u7279\u56FE\u5C06\u81EA\u52A8\u66F4\u65B0",-1)),Te={key:0,class:"gantt-chart"},Le={class:"thead"},we={class:"row"},De=D(()=>l("div",{class:"td fixed_1"},"\u5206\u90E8\u5206\u9879\u5DE5\u7A0B\u540D\u79F0",-1)),Ee=D(()=>l("div",{class:"td fixed_2"},"\u5F00\u59CB\u65E5\u671F",-1)),Ae=D(()=>l("div",{class:"td fixed_3",style:{"border-right":"1px solid #cbd1df"}},"\u5B8C\u6210\u65E5\u671F",-1)),Ie={class:"date"},Me={class:"month"},Ce={class:"days"},Ge={class:"tbody"},qe={class:"row"},ze=["onClick"],Be={class:"td fixed_2"},Re={class:"td fixed_3"},Fe={class:"grids"},Ve=["onMouseenter"],We={class:"children"},Ne={class:"td fixed_1"},Oe={class:"td fixed_2"},He={class:"td fixed_3"},Pe={class:"grids"},Ue=["onMouseenter"],Xe={class:"status"},Ye={class:"charger"},$e={key:1,class:"no-data"},je=D(()=>l("img",{src:ge,alt:"notData"},null,-1)),Je=D(()=>l("div",null,"\u6682\u65E0\u6570\u636E",-1)),Ke=[je,Je],Qe=Q({name:"ProjectSupervisionRecord"}),Ze=Q({...Qe,setup(I){const p=le(),k=S(p.activeType),b=S(""),Z=oe([{label:"\u672A\u5F00\u59CB",color:"#35e5fd"},{label:"\u8FDB\u884C\u4E2D",color:"#f1d520"},{label:"\u5DF2\u5B8C\u6210",color:"#4fd389"},{label:"\u903E\u671F",color:"#F80840"}]),V=S(["#35e5fd","#f1d520","#4fd389","#F80840"]),T=S([]),x=[],ee=async()=>{(k.value=="eng"||k.value=="project")&&(b.value=p.activeSn),O(),_e.success("\u9875\u9762\u5DF2\u66F4\u65B0")},W=(e,t)=>{if(e){const n=t.split("@|@"),c={refData:t,item:e};if(x.length==0){const o=[];o.push(c);const d={name:n[0],itemS:o};x.push(d)}else{let o=!0;for(let d=0;d<x.length;d++){const s=x[d];if(s.name===n){o=!1,s.itemS.push(c);break}}if(o){const d=[];d.push(c);const s={name:n[0],itemS:d};x.push(s)}}}},N=S(0),M=S(0),y=S(9999),q=S({display:"none",left:0,top:0}),z=S({day:0,name:""}),O=async()=>{let e={};if(k.value=="eng"?e.engineeringSn=b.value:k.value=="project"&&(e.projectSn=b.value),e.engineeringSn||e.projectSn){const t=await fe(e);if(t){const n=H(t.result);T.value=n}}else T.value=[];setTimeout(function(){U()},300)},H=e=>(e.map(t=>{t.gantts=[],t.delay=0,t.children&&t.children.length>0&&H(t.children)}),e);J(()=>p.activeSn,e=>{b.value=p.activeSn,ee()}),J(()=>p.activeType,e=>{k.value=p.activeType}),ae(()=>{k.value=p.activeType,b.value=p.activeSn}),ce(()=>{O()});const P=e=>{let{planStartTime:t,planEndTime:n,name:c}=e;const o=t.split("-"),d=n.split("-");let s=null,u=null;const r=!(o[2]%2);if(r){const v=o[2]-1;o[2]=v<10?"0"+v:v,t=o.join("-")}if(d[2]%2,!(d[2]%2)){const v=d[2]-1;d[2]=v<10?"0"+v:v,n=d.join("-")}x.length;for(let v=0;v<x.length;v++){const E=x[v];if(E.name===c)for(let A=0;A<E.itemS.length;A++){const j=E.itemS[A];j.refData===c+"@|@"+t&&(s=E.itemS[A].item),j.refData===c+"@|@"+n&&(u=E.itemS[A].item)}}const _=s.offsetLeft,f=u.offsetWidth,ne=u.offsetLeft-_+f;return{left:_+"px",width:ne+"px"}},U=()=>{const e=t=>{t.map(n=>{let{planEndTime:c,name:o,gantts:d}=n;const s=P(n);if(s.background=V.value[n.state-1],d?d.push(s):n.gantts=[s],n.delay){const u=X(c,1),r=X(c,n.delay),_=P({planStartTime:u,planEndTime:r,name:o});_.background=V.value[3],d.push(_)}n.children&&e(n.children)})};e(T.value)},X=(e,t)=>{const n=new Date(e).getTime()+(t+1)*1e3*60*60*24;return new Date(n).toISOString().replace(/-/g,"-").slice(0,10)},B=e=>{const t=e.split("-")[0],n=+e.split("-")[1],c=[1,3,5,7,8,10,12],o=[4,6,9,11],d=[2];let s=0;switch(!0){case c.includes(n):s=31;break;case o.includes(n):s=30;break;case d.includes(n):s=t%4?28:29;break}return(()=>{const u=new Array(s).fill(0).map((r,_)=>{let f=_+1,L=e+(f<10?"-0"+f:"-"+f);return{num:f,date:L}}).filter(r=>r.num%2);return s===28?u.push({num:28,date:e+"-28"}):s===30&&u.push({num:30,date:e+"-30"}),u})()},te=e=>{y.value,e===y.value?y.value=9999:y.value=e,setTimeout(function(){U()},300)},se=e=>{M.value&&clearTimeout(M.value),M.value=setTimeout(()=>{N.value=e.target.scrollLeft,M.value=null},100);const t=document.querySelectorAll(".fixed_1"),n=document.querySelectorAll(".fixed_2"),c=document.querySelectorAll(".fixed_3");t[0],t.length;for(let o=0;o<t.length;o++)t[o].style.left=e.target.scrollLeft+"px";for(let o=0;o<n.length;o++)n[o].style.left=e.target.scrollLeft+"px";for(let o=0;o<c.length;o++)c[o].style.left=e.target.scrollLeft+"px"},Y=(e,t)=>{if(t.state==4||t.state==5||t.state==6){const{clientX:n,clientY:c}=e,o=n-380,d=c-200;q.value={left:o+N.value+"px",top:d+"px",display:"block"},z.value={day:t.slippage,name:t.commander}}},$=()=>{q.value.display="none"},C=ie(()=>{let e=[];const t=n=>{n.map(c=>{e.push(c.planStartTime),e.push(c.planEndTime),c.children&&t(c.children)})};return t(T.value),e=e.map(n=>n.slice(0,7)).sort(),e=[...new Set(e)],e});return(e,t)=>{const n=G("caret-bottom"),c=G("el-icon"),o=G("caret-right"),d=G("el-tooltip");return a(),i("div",pe,[l("div",ye,[l("div",Se,[l("div",xe,[(a(!0),i(h,null,m(Z,(s,u)=>(a(),i("div",{class:"item",key:u},[l("div",{class:"color-block",style:w({background:s.color})},null,4),l("div",ke,g(s.label),1)]))),128))]),be]),T.value.length>0?(a(),i("div",Te,[l("div",{class:"table",onScroll:se},[l("div",Le,[l("div",we,[De,Ee,Ae,(a(!0),i(h,null,m(C.value,s=>(a(),i("div",{class:"td",key:s},[l("div",Ie,[l("div",Me,g(s),1),l("div",Ce,[(a(!0),i(h,null,m(B(s),u=>(a(),i("div",{class:"day",key:u.num},g(u.num),1))),128))])])]))),128))])]),l("div",Ge,[(a(!0),i(h,null,m(T.value,(s,u)=>(a(),i("div",{class:de(["row-groups",{open:y.value===u}]),key:s.name},[l("div",qe,[l("div",{class:"td fixed_1",onClick:r=>te(u),style:{color:"#333333","padding-left":"25px"}},[y.value===u&&s.children.length>0?(a(),K(c,{key:0,size:"16",style:w({visibility:y.value===u&&s.children.length>0?"visible":"hidden"})},{default:R(()=>[F(n)]),_:2},1032,["style"])):(a(),K(c,{key:1,size:"16",style:w({visibility:y.value!=u&&s.children.length>0?"visible":"hidden"})},{default:R(()=>[F(o)]),_:2},1032,["style"])),F(d,{effect:"dark",content:s.name,placement:"top-start"},{default:R(()=>[l("span",null,g(s.name),1)]),_:2},1032,["content"])],8,ze),l("div",Be,g(s.planStartTime),1),l("div",Re,g(s.planEndTime),1),(a(!0),i(h,null,m(C.value,r=>(a(),i("div",{class:"td",key:r+"grid-date"},[l("div",Fe,[(a(!0),i(h,null,m(B(r),_=>(a(),i("div",{class:"grid",key:"grid"+_.num,ref_for:!0,ref:f=>W(f,s.name+"@|@"+_.date)}))),128))])]))),128)),(a(!0),i(h,null,m(s.gantts,(r,_)=>(a(),i("div",{class:"progress",style:w(r),key:_,onMouseenter:f=>Y(f,s),onMouseleave:$},null,44,Ve))),128))]),re(l("div",We,[(a(!0),i(h,null,m(s.children,r=>(a(),i("div",{class:"row",key:"child-"+r.name},[l("div",Ne,g(r.name),1),l("div",Oe,g(r.planStartTime),1),l("div",He,g(r.planEndTime),1),(a(!0),i(h,null,m(C.value,_=>(a(),i("div",{class:"td",key:_+"grid-date"},[l("div",Pe,[(a(!0),i(h,null,m(B(_),f=>(a(),i("div",{class:"grid",key:"grid"+f.num,ref_for:!0,ref:L=>W(L,r.name+"@|@"+f.date)}))),128))])]))),128)),(a(!0),i(h,null,m(r.gantts,(_,f)=>(a(),i("div",{class:"progress",style:w(_),key:f,onMouseenter:L=>Y(L,r),onMouseleave:$},null,44,Ue))),128))]))),128))],512),[[ue,y.value===u]])],2))),128))]),l("div",{class:"tooltips",style:w(q.value)},[l("div",Xe,"\u5DF2\u903E\u671F"+g(z.value.day)+"\u5929",1),l("div",Ye,"\u8D1F\u8D23\u4EBA\uFF1A"+g(z.value.name),1)],4)],32)])):(a(),i("div",$e,Ke))])])}}});const st=me(Ze,[["__scopeId","data-v-22189ffa"]]);export{st as default};
|