File manager - Edit - /home/autoph/public_html/projects/ahg-hr/assets/index.83c4c14f.js
Back
import{w as L,L as T}from"./index.be1999c0.js";import{B as E}from"./index.745adf76.js";import{r as D,a as R,s as S,b as G,c as M}from"./data.43707dde.js";import{C as O}from"./index.5d782773.js";import{e as x}from"./employee-data.01b78c5e.js";import{_ as A,o as d,b as c,d as e,c as B,w as u,r as g,m as v,h as f,t as h,e as m,F as w,j as k,f as p,p as N,v as H}from"./index.e4c005b4.js";import{R as F}from"./ReportService.b82fd583.js";import{I as j}from"./index.71128300.js";import"./logo-black.7c15feb3.js";import"./logo-white.b04c5a89.js";import"./transition.285c675a.js";import"./EmployeeService.b8076965.js";/* empty css */import"./vue-cleave.min.727763e7.js";import"./es.string.replace.f24ad3a8.js";const J="/assets/loader.d74e932c.svg",z={name:"LoaderElement",data(){return{isLoading:!1}},mounted(){document.onreadystatechange=()=>{document.readyState==="complete"&&(this.isLoading=!0)}}},V={class:"h-20 w-20 mx-auto"};function P(o,t,r,a,s,n){return d(),c("div",V,t[0]||(t[0]=[e("img",{src:J,alt:""},null,-1)]))}const W=A(z,[["render",P]]);const K={mixins:[L],components:{Icon:j,pageLoader:W,Layout:T,Card:O,Button:E},data(){return{avg_age:0,gender_ratio:0,retention_rate:0,chartSeries:[],radarChart:D,radarChartDark:R,genderSeries:[{name:"Male",data:[100,64,81,60,42,42]},{name:"Female",data:[65,46,42,25,58,63]}],employeeData:x,index:null,activeStatus:null,employees:[],state:{chartType1:"bar",showTable1:!1,chartType2:"bar",showTable2:!1,chartIsLoading:!1},statistics:[{name:S,title:"New Hires",count:"25",bg:"bg-cyan-400 dark:bg-slate-900 ",chart:!0},{name:G,title:"New Regularization",count:"28",bg:"bg-success-400 dark:bg-slate-900 ",chart:!0},{name:M,title:"New Promotion",count:"18",bg:"bg-purple-300 dark:bg-slate-900 ",chart:!0},{name:M,title:"New Clearance",count:"28",bg:"bg-rose-400 dark:bg-slate-900",chart:!0}],series:[],chartOptions:{chart:{type:"bar"},plotOptions:{bar:{horizontal:!1,columnWidth:"55%",endingShape:"rounded"}},dataLabels:{enabled:!1},stroke:{show:!0,width:2,colors:["transparent"]},xaxis:{categories:[]},yaxis:{title:{text:"Number of Employees"}},fill:{opacity:1},tooltip:{y:{formatter:function(o){return o+" employees"}}}},selectedChartType:"gender",selectedCompany:"",companies:["ABC Corporation","XYZ Inc.","Global Solutions","Tech Innovations"],selectedCompany2:"",chartOptions2:{chart:{type:"bar"},xaxis:{categories:[]},title:{text:"Employee Hires and Resignations per Month (2024)",align:"center"}},series2:[]}},computed:{computeGenderTableData(){const o=Array.from({length:38},()=>0),t=Array.from({length:38},()=>0);return this.employees.forEach(r=>{const a=r.Age-23;r.Gender==="Male"?o[a]++:t[a]++}),o.map((r,a)=>({age:a+23,male:o[a],female:t[a]}))},computeCompanyTableData(){const o=this.companies,t=Array.from({length:38},()=>Array(o.length).fill(0));return this.employees.forEach(r=>{if(this.selectedCompany&&r.Company!==this.selectedCompany)return;const a=r.Age-23,s=o.indexOf(r.Company);s!==-1&&t[a][s]++}),t.map((r,a)=>{const s={age:a+23};return o.forEach((n,i)=>{s[n]=r[i]}),s})},chartData2(){const o=this.selectedCompany?x.employees.filter(a=>a.company===this.selectedCompany):x.employees,r=["January","February","March","April","May"].map(a=>({month:a,hired:0,resigned:0}));return o.forEach(a=>{const s=new Date(a.date).getMonth();a.action==="Hired"?r[s].hired++:a.action==="Resigned"&&r[s].resigned++}),r}},created(){this.generateEmployees(),this.updateChartData(),this.updateChartData2()},mounted(){this.getGenderChartReport()},methods:{async getGenderChartReport(){this.state.chartIsLoading=!0;const o=await F.GenerateAgeDistributionByGender(),t=o.data.data.sort((i,b)=>i.year-b.year),r=o.data.summary,a=t.map(i=>parseInt(i.male_total)),s=t.map(i=>parseInt(i.female_total));console.log("summaryData",r),console.log("sortedData",t);const n=t.map(i=>parseInt(i.year));D.chartOptions.xaxis.categories=n,console.log("yearData",n),this.avg_age=r.average_age.overall_avg_age+" years",this.gender_ratio=r.average_gender_ratio.male_percent+"% (Male) : "+r.average_gender_ratio.female_percent+"% (Female)",this.retention_rate=r.average_retention_rate_percent,this.chartSeries=[{name:"Male",data:a},{name:"Female",data:s}],this.state.chartIsLoading=!1,console.log("chartSeries",this.chartSeries)},switchChart2(o){o=="table"?this.state.showTable2=!0:(this.state.showTable2=!1,this.chartOptions2.chart.type=o,this.state.chartType2=o)},generateEmployees(){const o=["John Doe","Jane Smith","Michael Brown","Emily Davis","Sarah Wilson","David Johnson","Linda Garcia","James Miller","Robert Martinez","Patricia Lee","Charles White","Maria Harris","Thomas Clark","Barbara Lewis","Christopher Walker","Jessica Young","Daniel Hall","Karen Allen","Kevin King","Laura Scott"],t=this.companies,r=["Admin","Sales","Marketing","Human Resource","MIS","Legal","Operations"],a=["Male","Female"];for(let s=1;s<=500;s++){const n={EmployeeID:s,Name:o[Math.floor(Math.random()*o.length)],Age:Math.floor(Math.random()*38)+23,Gender:a[Math.floor(Math.random()*a.length)],Company:t[Math.floor(Math.random()*t.length)],Department:r[Math.floor(Math.random()*r.length)]};this.employees.push(n)}},updateChartData(){this.selectedChartType==="gender"?this.generateChartDataByGender():this.generateChartDataByCompany()},generateChartDataByGender(){const o=Array.from({length:38},(a,s)=>s+23),t=Array(38).fill(0),r=Array(38).fill(0);this.employees.forEach(a=>{const s=a.Age-23;a.Gender==="Male"?t[s]++:r[s]++}),this.series=[{name:"Male",data:t},{name:"Female",data:r}],this.chartOptions.xaxis.categories=o},generateChartDataByCompany(){const o=Array.from({length:38},(a,s)=>s+23),t=this.companies,r=t.map(()=>Array(38).fill(0));this.employees.forEach(a=>{if(this.selectedCompany&&a.Company!==this.selectedCompany)return;const s=a.Age-23,n=t.indexOf(a.Company);n!==-1&&r[n][s]++}),this.series=t.map((a,s)=>({name:a,data:r[s]})),this.chartOptions.xaxis.categories=o},computeGenderTableData(){const o=Array.from({length:38},()=>0),t=Array.from({length:38},()=>0);return this.employees.forEach(r=>{const a=r.Age-23;r.Gender==="Male"?o[a]++:t[a]++}),o.map((r,a)=>({age:a+23,male:o[a],female:t[a]}))},computeCompanyTableData(){const o=this.companies,t=Array.from({length:38},()=>Array(o.length).fill(0));return this.employees.forEach(r=>{if(this.selectedCompany&&r.Company!==this.selectedCompany)return;const a=r.Age-23,s=o.indexOf(r.Company);s!==-1&&t[a][s]++}),t.map((r,a)=>{const s={age:a+23};return o.forEach((n,i)=>{s[n]=r[i]}),s})},updateChartData2(){const o=x.employees.filter(s=>this.selectedCompany2?s.company===this.selectedCompany2:!0),t=[],r=[],a=["January","February","March","April","May"];a.forEach((s,n)=>{t[n]=0,r[n]=0}),o.forEach(s=>{const n=new Date(s.date).getMonth();s.action==="Hired"?t[n]+=1:s.action==="Resigned"&&(r[n]+=1)}),this.chartOptions2.xaxis.categories=a,this.series2=[{name:"Hired",data:t},{name:"Resigned",data:r}]}}},U={class:"min-h-screen bg-gradient-to-br from-slate-50 via-blue-50 to-indigo-100 dark:from-slate-900 dark:via-slate-800 dark:to-indigo-900"},Y={class:"max-w-9xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},Q={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6 mb-8"},X={class:"relative z-10 flex items-center justify-between"},Z={class:"flex-1"},q={class:"text-sm font-medium text-slate-600 dark:text-slate-400 mb-1"},$={class:"text-2xl font-bold text-slate-900 dark:text-white"},ee={class:"flex-shrink-0 ml-4"},te={class:"w-16 h-16 rounded-xl bg-gradient-to-br from-indigo-500 to-purple-600 flex items-center justify-center"},se={class:"grid grid-cols-1 xl:grid-cols-3 gap-8"},ae={class:"xl:col-span-2"},re={class:"p-6"},oe={key:0},ne={key:1},le={class:"space-y-6"},ie={class:"bg-white dark:bg-slate-800 rounded-2xl p-6 shadow-lg border border-slate-200 dark:border-slate-700"},de={class:"space-y-4"},ce={class:"flex items-center justify-between"},he={class:"font-semibold text-slate-900 dark:text-white"},me={key:0},pe={class:"flex items-center justify-between"},ge={class:"font-semibold text-slate-900 dark:text-white"},xe={key:0},ue={class:"flex items-center justify-between"},fe={class:"font-semibold text-green-600 dark:text-green-400"},be={key:0},ye={class:"mt-8"},_e={class:"p-6 border-b border-slate-200 dark:border-slate-700"},ve={class:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4"},we={class:"flex flex-col sm:flex-row gap-3"},ke={class:"flex items-center space-x-2"},Ce=["value"],De={class:"flex rounded-lg border border-slate-300 dark:border-slate-600 overflow-hidden"},Me={class:"p-6"},Ae={key:0,class:"overflow-x-auto"},Ie={class:"w-full"},Le={class:"py-3 px-4 text-slate-900 dark:text-white font-medium"},Te={class:"py-3 px-4"},Ee={class:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-300"},Re={class:"py-3 px-4"},Se={class:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-300"},Ge={key:1,class:"h-80"};function Oe(o,t,r,a,s,n){const i=g("apexchart"),b=g("pageLoader"),C=g("Card"),y=g("Icon"),I=g("Layout");return d(),B(I,null,{default:u(()=>[e("div",U,[e("div",Y,[t[20]||(t[20]=e("div",{class:"mb-8"},[e("h1",{class:"text-3xl font-bold text-slate-900 dark:text-white mb-2"}," Employee Analytics Dashboard "),e("p",{class:"text-slate-600 dark:text-slate-400"}," Real-time insights into your workforce dynamics ")],-1)),e("div",Q,[(d(!0),c(w,null,v(s.statistics,(l,_)=>(d(),c("div",{key:_,class:f(["group relative overflow-hidden rounded-2xl p-6 transition-all duration-300 hover:scale-105 hover:shadow-xl",[l.bg,"bg-white dark:bg-slate-800 border border-slate-200 dark:border-slate-700 shadow-lg hover:shadow-2xl"]])},[t[6]||(t[6]=e("div",{class:"absolute inset-0 bg-gradient-to-r from-transparent via-white/5 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300"},null,-1)),e("div",X,[e("div",Z,[e("p",q,h(l.title),1),e("p",$,h(l.count),1),t[5]||(t[5]=e("div",{class:"mt-2 flex items-center text-xs"},[e("span",{class:"inline-flex items-center px-2 py-1 rounded-full text-xs font-medium bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-300"}," +12% vs last month ")],-1))]),e("div",ee,[e("div",te,[m(i,{type:"area",height:"48",width:"48",options:l.name.chartOptions,series:l.name.series,class:"text-white"},null,8,["options","series"])])])])],2))),128))]),e("div",se,[e("div",ae,[m(C,{title:"Employee Age Distribution by Gender",class:"h-full bg-white dark:bg-slate-800 rounded-2xl shadow-lg border border-slate-200 dark:border-slate-700 overflow-hidden"},{header:u(()=>t[7]||(t[7]=[e("div",{class:"flex items-center justify-between p-6 border-b border-slate-200 dark:border-slate-700"},[e("h3",{class:"text-lg font-semibold text-slate-900 dark:text-white"}),e("div",{class:"flex items-center space-x-2"},[e("div",{class:"w-3 h-3 rounded-full bg-blue-500"}),e("span",{class:"text-sm text-slate-600 dark:text-slate-400"},"Live Data")])],-1)])),default:u(()=>[e("div",re,[s.state.chartIsLoading?(d(),c("div",oe,[m(b)])):(d(),c("div",ne,[m(i,{type:"radar",height:"400",options:this.$store.themeSettingsStore.isDark?s.radarChartDark.chartOptions:s.radarChart.chartOptions,series:s.chartSeries},null,8,["options","series"])]))])]),_:1})]),e("div",le,[e("div",ie,[t[11]||(t[11]=e("h4",{class:"text-lg font-semibold text-slate-900 dark:text-white mb-4"},"Quick Stats",-1)),e("div",de,[e("div",ce,[t[8]||(t[8]=e("span",{class:"text-slate-600 dark:text-slate-400"},"Avg Age",-1)),e("span",he,[s.state.chartIsLoading?(d(),c("div",me,[m(y,{icon:"svg-spinners:6-dots-scale-middle"})])):k("",!0),p(" "+h(s.state.chartIsLoading?"":s.avg_age),1)])]),e("div",pe,[t[9]||(t[9]=e("span",{class:"text-slate-600 dark:text-slate-400"},"Gender Ratio",-1)),e("span",ge,[s.state.chartIsLoading?(d(),c("div",xe,[m(y,{icon:"svg-spinners:6-dots-scale-middle"})])):k("",!0),p(" "+h(s.state.chartIsLoading?"":s.gender_ratio),1)])]),e("div",ue,[t[10]||(t[10]=e("span",{class:"text-slate-600 dark:text-slate-400"},"Retention Rate",-1)),e("span",fe,[s.state.chartIsLoading?(d(),c("div",be,[m(y,{icon:"svg-spinners:6-dots-scale-middle"})])):k("",!0),p(" "+h(s.state.chartIsLoading?"":s.retention_rate),1)])])])]),t[12]||(t[12]=e("div",{class:"bg-white dark:bg-slate-800 rounded-2xl p-6 shadow-lg border border-slate-200 dark:border-slate-700"},[e("h4",{class:"text-lg font-semibold text-slate-900 dark:text-white mb-4"},"Recent Activity"),e("div",{class:"space-y-3"},[e("div",{class:"flex items-start space-x-3"},[e("div",{class:"w-2 h-2 rounded-full bg-green-500 mt-2"}),e("div",null,[e("p",{class:"text-sm text-slate-900 dark:text-white"},"5 new hires this week"),e("p",{class:"text-xs text-slate-600 dark:text-slate-400"},"2 hours ago")])]),e("div",{class:"flex items-start space-x-3"},[e("div",{class:"w-2 h-2 rounded-full bg-blue-500 mt-2"}),e("div",null,[e("p",{class:"text-sm text-slate-900 dark:text-white"},"Updated salary ranges"),e("p",{class:"text-xs text-slate-600 dark:text-slate-400"},"1 day ago")])]),e("div",{class:"flex items-start space-x-3"},[e("div",{class:"w-2 h-2 rounded-full bg-yellow-500 mt-2"}),e("div",null,[e("p",{class:"text-sm text-slate-900 dark:text-white"},"Performance reviews due"),e("p",{class:"text-xs text-slate-600 dark:text-slate-400"},"3 days ago")])])])],-1))])]),e("div",ye,[m(C,{class:"bg-white dark:bg-slate-800 rounded-2xl shadow-lg border border-slate-200 dark:border-slate-700 overflow-hidden"},{default:u(()=>[e("div",_e,[e("div",ve,[t[18]||(t[18]=e("h3",{class:"text-lg font-semibold text-slate-900 dark:text-white"}," Hiring & Resignation Trends ",-1)),e("div",we,[e("div",ke,[t[14]||(t[14]=e("label",{class:"text-sm font-medium text-slate-700 dark:text-slate-300"}," Company: ",-1)),N(e("select",{"onUpdate:modelValue":t[0]||(t[0]=l=>s.selectedCompany2=l),onChange:t[1]||(t[1]=(...l)=>n.updateChartData2&&n.updateChartData2(...l)),class:"px-3 py-2 text-sm border border-slate-300 dark:border-slate-600 rounded-lg bg-white dark:bg-slate-700 text-slate-900 dark:text-white focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 transition-colors"},[t[13]||(t[13]=e("option",{value:""},"All Companies",-1)),(d(!0),c(w,null,v(s.companies,l=>(d(),c("option",{key:l,value:l},h(l),9,Ce))),128))],544),[[H,s.selectedCompany2]])]),e("div",De,[e("button",{type:"button",onClick:t[2]||(t[2]=l=>n.switchChart2("bar")),class:f(["px-3 py-2 text-sm font-medium transition-all duration-200",s.state.chartType2==="bar"&&!s.state.showTable2?"bg-indigo-600 text-white shadow-sm":"bg-white dark:bg-slate-700 text-slate-700 dark:text-slate-300 hover:bg-slate-50 dark:hover:bg-slate-600"])},t[15]||(t[15]=[e("i",{class:"fas fa-chart-bar mr-1"},null,-1),p(" Bar ")]),2),e("button",{type:"button",onClick:t[3]||(t[3]=l=>n.switchChart2("line")),class:f(["px-3 py-2 text-sm font-medium transition-all duration-200 border-l border-slate-300 dark:border-slate-600",s.state.chartType2==="line"&&!s.state.showTable2?"bg-indigo-600 text-white shadow-sm":"bg-white dark:bg-slate-700 text-slate-700 dark:text-slate-300 hover:bg-slate-50 dark:hover:bg-slate-600"])},t[16]||(t[16]=[e("i",{class:"fas fa-chart-line mr-1"},null,-1),p(" Line ")]),2),e("button",{type:"button",onClick:t[4]||(t[4]=l=>n.switchChart2("table")),class:f(["px-3 py-2 text-sm font-medium transition-all duration-200 border-l border-slate-300 dark:border-slate-600",s.state.showTable2?"bg-indigo-600 text-white shadow-sm":"bg-white dark:bg-slate-700 text-slate-700 dark:text-slate-300 hover:bg-slate-50 dark:hover:bg-slate-600"])},t[17]||(t[17]=[e("i",{class:"fas fa-table mr-1"},null,-1),p(" Table ")]),2)])])])]),e("div",Me,[s.state.showTable2?(d(),c("div",Ae,[e("table",Ie,[t[19]||(t[19]=e("thead",null,[e("tr",{class:"border-b border-slate-200 dark:border-slate-700"},[e("th",{class:"text-left py-3 px-4 font-semibold text-slate-900 dark:text-white"},"Month"),e("th",{class:"text-left py-3 px-4 font-semibold text-slate-900 dark:text-white"},"Hired"),e("th",{class:"text-left py-3 px-4 font-semibold text-slate-900 dark:text-white"},"Resigned")])],-1)),e("tbody",null,[(d(!0),c(w,null,v(n.chartData2,(l,_)=>(d(),c("tr",{key:_,class:"border-b border-slate-100 dark:border-slate-800 hover:bg-slate-50 dark:hover:bg-slate-700/50 transition-colors"},[e("td",Le,h(l.month),1),e("td",Te,[e("span",Ee,h(l.hired),1)]),e("td",Re,[e("span",Se,h(l.resigned),1)])]))),128))])])])):(d(),c("div",Ge,[m(i,{type:s.state.chartType2,options:s.chartOptions2,series:s.series2,height:"100%"},null,8,["type","options","series"])]))])]),_:1})])])])]),_:1})}const Ze=A(K,[["render",Oe],["__scopeId","data-v-75128fc5"]]);export{Ze as default};
| ver. 1.4 |
.
| PHP 8.1.32 | Generation time: 0.05 |
proxy
|
phpinfo
|
Settings