import{L as F}from"./index-bda11127.js";import"./index-3f90be0f.js";import"./index-9e4a8abd.js";import{_ as Y,r as d,M as G,o as r,c as m,g as h,e as p,f as e,a as _,N as v,W as C,d as u,G as D,I as i,J as R,H as V,K as N,L as E}from"./index-a358f54f.js";import{C as Q,E as H,D as z}from"./DeleteButton-b7f2bf03.js";import{V as j}from"./ViewButton-6341b594.js";import{I as K}from"./InfoButton-c92f7037.js";import{P as W}from"./ProcessButton-3e26454a.js";import{I as J}from"./index-88cce860.js";import{L as X}from"./Loading-1cb6137e.js";import{P as Z}from"./Pagination-fa0fe1c1.js";import{P as M}from"./PurchaseRequestItemService-df203a36.js";import{T as $}from"./index-66057be5.js";import{F as ee,l as te}from"./lodash-59abaf33.js";import{P as se}from"./process-8cdc91ba.js";import{B as oe}from"./index-1222fe77.js";import{F as re}from"./index-8a513170.js";import"./vue-cleave.min-1afbcfdc.js";import{T as ae}from"./index-650bed54.js";import{h as g}from"./moment-a9aaa855.js";import{H as le}from"./header-cca862c8.js";import{P as ie}from"./index-c4e2357f.js";import"./xhebrhsj-3148c598.js";import"./es.string.replace-057e028b.js";/* empty css */import"./CloseButton-990af356.js";import"./SubmitButton-69452d85.js";import"./UpdateButton-71f046aa.js";import"./index-e1e83151.js";import"./ApprovalMatrixService-c39031e8.js";import"./ApprovalService-44d37b6c.js";import"./CanvassService-656b1b3f.js";import"./canvassForm-0c26333e.js";import"./array-aaa830b3.js";import"./Multiselect-185a0e40.js";import"./SupplierService-082a1a8c.js";import"./file-type-pdf-a9709057.js";import"./file-type-excel-3a83eaab.js";import"./static_modal-68030a7c.js";import"./index-d8978d4e.js";import"./index-71a17b7f.js";import"./FileService-1e98a9da.js";import"./jspdf.es.min-702a9093.js";import"./index-9d2e23f7.js";import"./ProposalService-f3d1cf7c.js";import"./vue-flatpickr.min-aabba88a.js";import"./CommentSectionService-6ddd7afb.js";import"./ExecomOfficerSetupService-92589917.js";const ne={components:{Panel:ie,Layout:F,Loading:X,Pagination:Z,InputGroup:J,CreateButton:Q,EditButton:H,DeleteButton:z,ProcessButton:W,ViewButton:j,ProcessForm:se,Tooltip:$,Badge:oe,Info:K,FormModal:re,Header:le,Table:ae,FormGroup:ee},data(){return{title:"Mancom Approval",breadcrumbs:[{text:"Home",href:"/"},{text:"Transactions",href:"/transactions/purchase-requests"},{text:"Purchase Requests",active:!0}],state:{isEdit:!1,isLoading:!1,isMounted:!1,isResetError:!1,isSubmitted:!1,showModal:!1,isDeleting:!1,showRowModal:!1},mancomApprovalCount:0,rowData:{},items:[],error:[],totalItems:0,totalPages:0,columns:[{label:"#",field:"#",tdClass:"text-center w-[20px]",sortable:!1},{label:"Ref. Code",field:"reference_no"},{label:"Department",field:"department_name"},{label:"Req. Category",field:"expense_category_name"},{label:"Req. Type",field:"item_classification_name"},{label:"Description",field:"description"},{label:"Qty",field:"quantity"},{label:"Date Requested",field:"posted_at",sortable:!0},{label:"Date Needed",field:"needed_at",sortable:!0},{label:"Status",field:"status"}],perPageOptions:[{value:"10",label:"10"},{value:"50",label:"50"},{value:"100",label:"100"}],searchQuery:this.$route.query.keyword||"",serverOptions:{page:1,rowsPerPage:10,sortBy:"posted_at",sortType:"desc"},daysOptions:[7,30,60,90],filterOptions:{needed_days_togo:null,posted_days_ago:null},currentDate:g()}},watch:{serverOptions:{handler(){console.log(`perPage: ${this.serverOptions.rowsPerPage}`),this.fetchRecords()},deep:!0},searchQuery:te.debounce(function(s){this.$router.replace({query:{...this.$route.query,keyword:s}}),this.fetchRecords()},800)},computed:{perPage:function(){return this.serverOptions.rowsPerPage},activeUser:function(){return console.log("active user ..."),console.log(this.$store.userSettings.getActiveUser),this.$store.userSettings.getActiveUser??null},activeCompany:function(){return this.$store.userSettings.getActiveCompany??null},activeDealership:function(){return this.$store.userSettings.getActiveDealership??null},roleGroups:function(){return this.activeUser?this.activeUser.roles.flatMap(s=>s.group_id):null},departmentAccess:function(){return this.activeUser&&this.activeUser.department_access?this.activeUser.department_access.flatMap(s=>s.id):null},employeeInfo:function(){if(this.activeUser.employees){let s=this.activeUser.employees;return{user_id:this.activeUser.id,employee_id:this.activeUser.employee_id,company_id:s.company_id,dealership_id:s.dealer_id,department_id:s.department_id}}return null}},methods:{async fetchRecords(){this.state.isLoading=!0,this.state.isMounted=!1,this.state.showRowModal=!1,console.log("this.activeUser"),console.log(this.activeUser),await M.fetchRecords({keyword:this.searchQuery||this.$route.query.keyword||"",page:this.serverOptions.page,per_page:this.serverOptions.rowsPerPage,sortBy:this.serverOptions.sortBy,sortType:this.serverOptions.sortType,company_id:this.activeCompany,dealership_id:this.activeDealership,departments:this.departmentAccess,role_groups:this.roleGroups,employee:this.employeeInfo,user_id:this.activeUser.id,tag:"mancom-approval",posted_days_ago:this.filterOptions.posted_days_ago,needed_days_togo:this.filterOptions.needed_days_togo}).then(s=>{console.log(s),console.log("this.roleGroups"),console.log(this.roleGroups);let a=s.data.data;this.items=a.map((c,b)=>(console.log("current user role group..."),console.log(this.roleGroups),{"#":(this.serverOptions.page-1)*this.serverOptions.rowsPerPage+(b+1),...c,needed_at:g(c.needed_at).format("MMM D, YYYY"),posted_at:c.posted_at?g(c.posted_at).format("MMM D, YYYY hh:mm A"):null,overdue:this.currentDate.isAfter(g(c.needed_at)),allowed_to_act:this.roleGroups.some(t=>c.current_status.access.filter(l=>l.permission=="action").map(l=>l.role_group_id).includes(t)),approved_by_you:c.mancom_approval.find(t=>t.approved_by==this.activeUser.employee_id)?!0:null})),this.totalItems=s.data.total??0,this.mancomApprovalCount=this.totalItems,this.totalPages=s.data.last_page??0,console.log("thixisfsdre"),console.log(this.items)}).finally(()=>{this.state.isLoading=!1,this.state.isMounted=!0})},handleSort({field:s,sortOrder:a}){this.serverOptions.sortBy=s,this.serverOptions.sortType=a},handleSearch(s){this.searchQuery=s},changePage(s){this.serverOptions.page=s},updateItemsPerPage(s){this.serverOptions.rowsPerPage=s,this.serverOptions.page=1},processRecord(s){this.$refs.processModal.resetData(),this.$refs.processModal.loadRecord(s),this.$refs.processModal.state.showModal=!0,this.$refs.processModal.state.process=!0},viewRecord(s){this.$refs.processModal.resetData(),this.$refs.processModal.loadRecord(s),this.$refs.processModal.state.showModal=!0,this.$refs.processModal.state.process=!1},async deleteRecord(s){this.$swal.fire({title:"Are you sure?",text:"You want to delete this record?",icon:"warning",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes, delete it!",background:this.$store.themeSettingsStore.isDark?"#1e293b":"#fff"}).then(a=>{a.value&&(this.state.isDeleting=!0,M.remove(s).then(c=>{c.status==200&&(this.$swal.fire({title:"Great!",text:"Record has been deleted successfully.",type:"success",icon:"success",timer:2e3}),this.fetchRecords())}).catch(c=>{c.response&&c.response.status==401&&this.$swal.fire({title:"Ooops! something is wrong.",text:"Error deleting record. Please contact system administrator",type:"error",icon:"error",timer:2e3})}).finally(()=>{this.state.isDeleting=!1}))})},closeProcessModal(){this.$refs.processModal.showModal=!1},handleRowClick(s){console.log("Clicked row"),console.log(s),this.rowData=s.row,console.log("rowData"),console.log(this.rowData),this.state.showRowModal=!0},closeRowModal(){this.state.showRowModal=!1}},mounted(){const s=this.$route.query.keyword??"";console.log("KEYWORD",s),s&&(this.searchQuery=s),this.fetchRecords()}},n=s=>(N("data-v-fe709c72"),s=s(),E(),s),ce={class:"mb-4 space-y-3 text-left"},de=n(()=>e("option",null,null,-1)),pe=["value"],ue=n(()=>e("option",null,null,-1)),me=["value"],_e={key:0,class:"flex gap-1"},he={key:1,class:"grid gap-1"},fe=n(()=>e("span",{class:"text-slate-400"},"Expense Category: ",-1)),ge={class:"text-success-500"},ye=n(()=>e("span",{class:"text-slate-400"},"Item Classification: ",-1)),ve={class:"text-success-500"},be=n(()=>e("span",{class:"text-slate-400"},"Item Type: ",-1)),we={class:"text-success-500"},Pe={key:2,class:"flex gap-1"},xe={key:3,class:"flex gap-1"},Ce={key:4,class:"flex gap-1"},De={key:5,class:"flex gap-1"},Re={class:"space-y-3 p-6"},Me={class:"text-xl"},ke=n(()=>e("span",{class:"text-primary-700"},"Reference No: ",-1)),Oe={class:"text-2xl font-semibold text-primary-500"},Be={class:""},Ie=n(()=>e("span",null,"Requested by: ",-1)),Te={class:"font-bold"},Se={class:""},Ue=n(()=>e("span",null,"Company: ",-1)),qe={class:"font-bold"},Ae={class:""},Le=n(()=>e("span",null,"Dealership: ",-1)),Fe={class:"font-bold"},Ye={class:""},Ge=n(()=>e("span",null,"Department: ",-1)),Ve={class:"font-bold"},Ne={class:""},Ee=n(()=>e("span",null,"Purpose: ",-1)),Qe={class:"font-bold"},He={class:"lg:grid grid-cols-4 gap-2"},ze=n(()=>e("span",null,"Item: ",-1)),je={class:"font-bold"},Ke=n(()=>e("span",null,"Type: ",-1)),We={class:"font-bold"},Je=n(()=>e("span",null,"QTY: ",-1)),Xe={class:"font-bold"},Ze=n(()=>e("span",null,"UOM: ",-1)),$e={class:"font-bold"},et={class:"flex gap-2 justify-center border p-4 bg-primary-100 shadow"};function tt(s,a,c,b,t,l){const k=d("Header"),w=d("Loading"),P=d("FormGroup"),O=d("Tooltip"),f=d("Badge"),B=d("Pagination"),I=d("Table"),T=d("ProcessForm"),x=d("ProcessButton"),S=d("ViewButton"),U=d("Panel"),q=d("Card"),A=d("Layout"),L=G("tooltip");return r(),m(A,{breadcrumbs:t.breadcrumbs},{nocard:h(()=>[p(k,{mancomApproval:t.mancomApprovalCount},null,8,["mancomApproval"]),p(q,{noborder:""},{default:h(()=>[e("div",null,[t.state.isLoading?(r(),m(w,{key:0,searching:!0,text:"Fetching records"})):_("",!0),t.state.isDeleting?(r(),m(w,{key:1,text:"Deleting record"})):_("",!0),p(I,{headerTitle:t.title,columns:t.columns,rows:t.items,"default-sort-field":t.serverOptions.sortBy,"default-sort-order":t.serverOptions.sortType,hoverableRow:"",onRowClick:l.handleRowClick,onSort:l.handleSort,onSearch:l.handleSearch,onFilter:l.fetchRecords,"max-height":"600px",headerClass:"rounded-t bg-[url('@/assets/images/background/office-furniture.jpg')] bg-cover bg-[center] h-24",headerBgOverlayClass:"bg-yellow-50",headerTitleClass:"ml-4 rounded-lg text-slate-600 text-4xl",thClass:"py-6 bg-blue-50 font-semibold",tdClass:"py-4 px-4"},{filter:h(()=>[e("div",ce,[p(P,{label:"Requested",labelClass:"tracking-widest uppercase font-semibold"},{default:h(()=>[v(e("select",{"onUpdate:modelValue":a[0]||(a[0]=o=>t.filterOptions.posted_days_ago=o),class:"w-full bg-white p-2 rounded border border-slate-200"},[de,(r(!0),u(R,null,D(t.daysOptions,(o,y)=>(r(),u("option",{key:y,value:o},"Last "+i(o)+" days",9,pe))),128))],512),[[C,t.filterOptions.posted_days_ago]])]),_:1}),p(P,{label:"Needed At",labelClass:"tracking-widest uppercase font-semibold"},{default:h(()=>[v(e("select",{"onUpdate:modelValue":a[1]||(a[1]=o=>t.filterOptions.needed_days_togo=o),class:"w-full bg-white p-2 rounded border border-slate-200"},[ue,(r(!0),u(R,null,D(t.daysOptions,(o,y)=>(r(),u("option",{key:y,value:o},"Next "+i(o)+" days",9,me))),128))],512),[[C,t.filterOptions.needed_days_togo]])]),_:1})])]),"table-row":h(o=>[o.column.field=="name"?v((r(),u("div",_e,[p(O,{title:o.row.shortened_name,content:o.row.name,placement:"bottom",btnClass:"border-0 font-medium p-1",arrow:"",theme:"secondary-900"},null,8,["title","content"])])),[[L,o.row.name]]):_("",!0),o.column.field=="organization"?(r(),u("div",he,[e("div",null,[fe,e("span",ge,i(o.row.expense_category_name),1)]),e("div",null,[ye,e("span",ve,i(o.row.item_classification_name),1)]),e("div",null,[be,e("span",we,i(o.row.item_type_name),1)])])):_("",!0),o.column.field=="needed_at"?(r(),u("div",Pe,[e("span",{class:V({"text-red-500":o.row.overdue})},i(o.row.needed_at),3)])):_("",!0),o.column.field=="disclaimer"?(r(),u("div",xe,[o.row.disclaimer==1?(r(),m(f,{key:0,label:"Yes",badgeClass:"bg-blue-700 text-blue-700 bg-opacity-[0.12] m-1"})):(r(),m(f,{key:1,label:"No",badgeClass:"bg-red-700 text-red-700 bg-opacity-[0.12] m-1"}))])):_("",!0),o.column.field=="status"?(r(),u("div",Ce,[o.row.status==1?(r(),m(f,{key:0,label:o.row.status_name,badgeClass:"bg-amber-700 text-amber-700 bg-opacity-[0.12] m-1"},null,8,["label"])):(r(),m(f,{key:1,label:o.row.status_name,badgeClass:"bg-blue-700 text-blue-700 bg-opacity-[0.12] m-1"},null,8,["label"]))])):_("",!0),o.column.field=="action"?(r(),u("div",De)):_("",!0)]),"pagination-bottom":h(()=>[p(B,{currentPage:t.serverOptions.page,totalItems:t.totalItems,totalPages:t.totalPages,itemsPerPage:t.serverOptions.rowsPerPage,onChangePage:l.changePage,onChangeItemsPerPage:l.updateItemsPerPage,pageOptions:[5,10,20,50,100],pageNumberClass:""},null,8,["currentPage","totalItems","totalPages","itemsPerPage","onChangePage","onChangeItemsPerPage"])]),_:1},8,["headerTitle","columns","rows","default-sort-field","default-sort-order","onRowClick","onSort","onSearch","onFilter"])]),p(T,{onCloseModal:l.closeProcessModal,ref:"processModal",onReload:a[2]||(a[2]=o=>l.fetchRecords())},null,8,["onCloseModal"]),p(U,{title:"Purchase Request",active:t.state.showRowModal,onClose:l.closeRowModal,themeClass:"bg-primary-500",sizeClass:"lg:w-1/2",bodyClass:"p-0"},{default:h(()=>[e("div",Re,[e("div",Me,[ke,e("span",Oe,i(t.rowData.reference_no),1)]),e("div",Be,[Ie,e("span",Te,i(t.rowData.requested_by_name),1)]),e("div",Se,[Ue,e("span",qe,i(t.rowData.company_name),1)]),e("div",Ae,[Le,e("span",Fe,i(t.rowData.dealership_name),1)]),e("div",Ye,[Ge,e("span",Ve,i(t.rowData.department_name),1)]),e("div",Ne,[Ee,e("span",Qe,i(t.rowData.purpose),1)]),e("div",He,[e("div",null,[ze,e("span",je,i(t.rowData.description),1)]),e("div",null,[Ke,e("span",We,i(t.rowData.type),1)]),e("div",null,[Je,e("span",Xe,i(t.rowData.quantity),1)]),e("div",null,[Ze,e("span",$e,i(t.rowData.uom),1)])])]),e("div",et,[t.rowData.max_total_cost<1e4&&l.activeUser.employee_id==t.rowData.header.approving_head&&t.rowData.allowed_to_act&&!t.rowData.approved_by_you?(r(),m(x,{key:0,onClick:a[3]||(a[3]=o=>l.processRecord(t.rowData)),btnClass:"bg-primary-800 text-primary-50 py-3 px-4",title:"Process Record",titleTheme:"primary-500",text:"Process"})):t.rowData.max_total_cost>=1e4&&l.activeUser.employee_id!=t.rowData.header.approving_head&&t.rowData.allowed_to_act&&!t.rowData.approved_by_you?(r(),m(x,{key:1,onClick:a[4]||(a[4]=o=>l.processRecord(t.rowData)),btnClass:"bg-primary-800 text-primary-50 py-3 px-4",title:"Process Record",titleTheme:"primary-500",text:"Process"})):_("",!0),p(S,{onClick:a[5]||(a[5]=o=>l.viewRecord(t.rowData)),btnClass:"bg-primary-800 text-primary-50 py-3 px-4",title:"View Record",titleTheme:"primary-500",text:"View"})])]),_:1},8,["active","onClose"])]),_:1})]),_:1},8,["breadcrumbs"])}const Jt=Y(ne,[["render",tt],["__scopeId","data-v-fe709c72"]]);export{Jt as default};