import{B as se}from"./index-7a962968.js";import{_ as j,o as l,d as c,f as e,H as R,Q as V,h as _,I as n,a as u,w as W,r as g,e as m,g as x,c as v,J as f,G as w,K as oe,L as ae}from"./index-f880bae1.js";import{C as re}from"./CloseButton-b6cd3905.js";import{S as ie}from"./SubmitButton-510b0224.js";import{U as le}from"./UpdateButton-ee8eeace.js";import{V as ne}from"./ViewButton-b261b757.js";/* empty css */import{F as de}from"./index-f12527f7.js";import{F as ce}from"./lodash-0ee7772d.js";import{I as pe,T as ue,s as he,A as me}from"./index-6c30de8d.js";import{T as fe}from"./index-82ac30a8.js";import{I as _e}from"./index-cfbd3a18.js";import{L as ve}from"./Loading-822bfb30.js";import{A as ye}from"./ApprovalMatrixService-3ef56177.js";import{A as T}from"./ApprovalService-e702616b.js";import{C as U}from"./CanvassService-928a6b28.js";import{P as Q}from"./PurchaseRequestItemService-ccb9eb22.js";import{C as ge}from"./canvassForm-cfbae616.js";import xe from"./index-70a75ea3.js";import{P as be}from"./index-1400230c.js";import{F as we}from"./vue-flatpickr.min-3f9b45aa.js";import{h as P}from"./moment-a9aaa855.js";import{V as Y,c as L,a as G,d as Ce}from"./array-866d456f.js";import{B as Ae}from"./index-ec006960.js";import{E as ke}from"./ExecomOfficerSetupService-e65c59c0.js";const qe={name:"StaticModal",props:{active:{type:Boolean,required:!0},title:{type:String,default:"Modal Title"},headerClass:{type:String,default:"bg-blue-600"}},data(){return{isOpen:this.modelValue}},watch:{modelValue(t){this.isOpen=t}},methods:{close(){this.$emit("update:active",!1),this.$emit("close")}}},Me={key:0,class:"fixed inset-0 z-[9999] flex items-center justify-center p-4 bg-black/50"},Se={class:"text-xl font-semibold text-white"},Re={class:"flex-1 overflow-y-auto p-6"},Be={key:0,class:"sticky bottom-0 bg-white border-t p-4"};function Ee(t,o,a,i,s,d){return a.active?(l(),c("div",Me,[e("div",{class:"relative bg-white rounded-md shadow-xl w-full max-w-[95vw] mx-auto overflow-hidden flex flex-col",style:{"max-height":"95vh"},onClick:o[1]||(o[1]=W(()=>{},["stop"]))},[e("div",{class:R(["sticky top-0 z-10 flex justify-between items-center p-4 border-b",a.headerClass])},[e("h2",Se,[V(t.$slots,"title",{},()=>[_(n(a.title),1)])]),e("button",{onClick:o[0]||(o[0]=(...C)=>d.close&&d.close(...C)),class:"text-white hover:text-gray-200 text-2xl","aria-label":"Close"}," × ")],2),e("div",Re,[V(t.$slots,"default")]),t.$slots.footer?(l(),c("div",Be,[V(t.$slots,"footer")])):u("",!0)])])):u("",!0)}const Te=j(qe,[["render",Ee]]);const Pe={components:{FormModal:de,FormGroup:ce,InputGroup:pe,TextInput:ue,TextArea:fe,SubmitButton:ie,UpdateButton:le,CloseButton:re,ViewButton:ne,Button:se,Multiselect:he,Loading:ve,FlatPickr:we,Avatar:me,ProposalMapping:be,CanvassForm:ge,CanvassSheet:xe,Icon:_e,Badge:Ae,StaticModal:Te},data(){return{showModal:!1,badgeClass:"bg-pink-400 text-white",data:{company_id:this.$store.userSettings.getActiveCompany??null,dealership_id:this.$store.userSettings.getActiveDealership??null,needed_at:null,approving_head:null,items:[]},form:{remarks:"Ok to proceed",approvedCanvass:null,approvedQuantity:null},approvalMatrix:null,totalMancomApproved:null,no_of_required_approver:0,ExecomMembersApprover:[],status_id:{},errors:{approvedQuantity:"",remarks:""},state:{isEdit:!1,isSaving:!1,isDeleting:!1,isLoading:!1,showModal:!1,process:!1,fetchingCanvass:!1,fetchApprovalMatrix:!1,showModalFromCanvass:!1},searchType:null,searchItem:null,maxTotalCost:0,requiredApprovers:[],requiredExecomApprover:null,requiredExecomApproverName:[],completeRequiredApproval:!1}},watch:{"state.showModal":function(t){console.log("Process modal state changed:",t)},"state.showCanvassModal":function(t){console.log("Canvass modal state changed:",t)}},computed:{activeUser:function(){return console.log("this.$store.userSettings.getActiveUser"),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},activeDepartment:function(){return this.$store.userSettings.getActiveDepartment??null},companies:function(){return this.$store.userSettings.getCompanyAccess??null},dealerships:function(){return this.$store.userSettings.getDealershipAccess??null},company:function(){return this.companies.filter(t=>t.id==this.activeCompany).map(t=>t.name).toString()},dealership:function(){return this.dealerships.filter(t=>t.id==this.activeDealership).map(t=>t.name).toString()},roleGroups:function(){return this.activeUser?this.activeUser.roles.flatMap(t=>t.group_id):null},mancomApproval(){return this.data&&this.data.next_statuses&&this.data.next_statuses.find(t=>t.sub_process_code=="mancomApproval")},completeMancomApproval(){return this.totalMancomApproved>0&&this.totalMancomApproved>=this.no_of_required_approver},mostSelectedItemId(){if(this.completeMancomApproval&&this.completeRequiredApproval){const t={};this.data.mancom_approval.forEach(s=>{const d=s.selected_item_id;t[d]||(t[d]=0),t[d]++});let o=0,a=null,i=!1;for(const s in t)t[s]>o?(o=t[s],a=s,i=!1):t[s]===o&&(i=!0);return i?null:a}return null},hasWinner(){return this.mostSelectedItemId!==null},recommendedByUserId(){let t=0;if(this.data.user_ratings&&this.data.user_ratings!==null){let o=this.data.user_ratings.find(a=>a.rating==1);o&&(t=o.canvass_id)}return t},filterAlreadyApprovedExecom(){return this.requiredApprovers.filter(t=>!this.data.canvasses.some(o=>o.approved_officers&&o.approved_officers.some(a=>a.fullname===t.fullname)))},FilteredRequiredApprover(){return[...new Map(this.requiredExecomApproverName.map(t=>[t.employee_id,t])).values()]}},methods:{loadRecord(t){console.log("load record",t);let o=Object.assign({},t);this.resetData(),this.state.isEdit=!0,this.data=o,this.data.remarks_history=o.remarks_history.map(a=>({...a,created_at:P(a.created_at).format("MMM D, YYYY h:mm a")})),this.fetchApprovalMatrix(),this.fetchCanvassRecord(),this.totalMancomApproved=this.data&&this.data.mancom_approval.length,this.form.remarks="Ok to proceed"},resetData(){this.state.isEdit=!1,this.data={company_id:this.activeCompany??null,dealership_id:this.activeDealership??null,department_id:this.activeDepartment??null,needed_at:null,approving_head:null,items:[]}},async fetchCanvassRecord(){if(!this.state.fetchingCanvass){this.state.fetchingCanvass=!0;try{let o=(await U.fetchRecord(this.data.id)).data.data;console.log("DATA CANVASS",o),this.data.canvasses=o.map(a=>({...a,approved_quantity:a.approved_quantity>0?a.approved_quantity:a.quantity})),console.log("what is this data",this.data),this.suppliersInCanvass=this.data.canvasses.map(a=>a.supplier.id),this.setMaxTotalCost(),await this.getExecomMembersApprover(),this.setRequiredApprover(),this.setCompleteRequiredApproval(),await this.loadApprovedOfficers(),this.isExecomApprover()}catch(t){console.error("Error fetching canvass record:",t)}finally{this.state.fetchingCanvass=!1}}},setRequiredApprover(){let t=[],o=null,a=0;if(this.approvalMatrix){let i=this.approvalMatrix.find(s=>this.maxTotalCost>=parseFloat(s.min_amount)&&this.maxTotalCost<=parseFloat(s.max_amount));console.log("ROW"),console.log(i),i&&(this.requiredExecomApprover=i.required_approver_id,a=i.no_required_execom,i&&(o={employee_id:i.required_approver_id,fullname:i.fullname},this.requiredExecomApproverName.push(o)),this.ExecomMembersApprover&&this.ExecomMembersApprover.length>0&&this.ExecomMembersApprover.forEach(s=>{s.employee&&t.push({employee_id:s.employee.employee_id,fullname:`${s.employee.firstname} ${s.employee.lastname}`||"N/A"})}))}this.no_of_required_approver=a,this.requiredApprovers=t,console.log("FINALE APPROVER LIST..."),console.log(this.requiredApprovers)},async getExecomMembersApprover(){console.log("ANO this data",this.data);const{matrix_id:t,company_id:o,dealership_id:a,division_id:i}=this.data;try{const s=await ke.fetchExecomMembersApprover({matrix_level_id:t??null,company_id:o??null,dealership_id:a??null,division_id:i??null});this.ExecomMembersApprover=s.data,console.log("LIST APPROVER EXECOM MEMBERS"),console.log(this.ExecomMembersApprover)}catch(s){console.error("Error fetching execom members:",s)}},isExecomApprover(){if(!this.state.fetchingCanvass)return this.state.fetchCanvassRecord=!0,!this.requiredApprovers||this.requiredApprovers.length===0?(console.log("No required approvers found."),!1):(console.log("Required approver list:",this.requiredApprovers),this.requiredApprovers.some(t=>t.employee_id===this.activeUser.employee_id))},isUserApproved(){if(this.data.canvasses){const t=this.data.canvasses.find(o=>o.id===this.data.id);return!t||!t.approved_officers?!1:t.approved_officers.some(o=>o.employee_id===this.activeUser.employee_id)}},async fetchApprovalMatrix(){console.log("fetching approval matrisssssx"),!this.state.fetchApprovalMatrix&&(this.state.fetchApprovalMatrix=!0,await ye.fetchRecords().then(t=>{t.status==200&&(this.approvalMatrix=t.data.data,console.log("approval matrixx"),console.log(this.approvalMatrix))}).catch(t=>{console.error(t)}))},async submitForm(t,o){console.log("form"),console.log(this.form),this.errors=[];try{this.$swal.fire({title:`Are you sure you want to ${o} this record?`,text:"",icon:"question",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes",cancelButtonText:"No"}).then(a=>{a.value?this.updateRecord(t):this.state.showModal=!1})}catch(a){if(a instanceof Y){const i={};a.inner.forEach(s=>{i[s.path]=s.message}),this.errors=i}this.state.isSaving=!1}},handleAssetValidation(t,o){this.$swal.fire({title:`Are you sure you want to tag this record as ${o}?`,text:"",icon:"question",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes",cancelButtonText:"No"}).then(a=>{a.value?this.submitAssetValidation(t):this.$refs.proposal.state.showModal=!1})},async submitAssetValidation(t){let o={record_id:this.data.id,transaction_type:"purchase-request",approver_role:"asset-validator",approved_by:this.activeUser.employee_id??null};await T.create(o).then(a=>{a.status==201?(this.updateRecord(t),this.$swal.fire({title:"Great!",text:"Record successfully updated.",type:"success",icon:"success",timer:2e3}),this.state.showModal=!1):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",type:"error",icon:"error",timer:2e3})}).catch(a=>{console.log(a),a.response.status==422?this.$swal.fire({title:"Ooops! something is wrong.",text:a.response.data.message,type:"error",icon:"error"}):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",type:"error",icon:"error",timer:2e3})}).finally(()=>{this.state.isSaving=!1,this.fetchCanvassRecord()})},handleAdminValidation(t,o){this.$swal.fire({title:`Are you sure you want to tag this record as ${o}?`,text:"",icon:"question",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes",cancelButtonText:"No"}).then(a=>{a.value?this.submitAdminValidation(t):this.$refs.proposal.state.showModal=!1})},async submitAdminValidation(t){let o={record_id:this.data.id,transaction_type:"purchase-request",approver_role:"admin-validator",approved_by:this.activeUser.employee_id??null};await T.create(o).then(a=>{a.status==201?(this.updateRecord(t),this.$swal.fire({title:"Great!",text:"Record successfully updated.",type:"success",icon:"success",timer:2e3}),this.state.showModal=!1):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",type:"error",icon:"error",timer:2e3})}).catch(a=>{console.log(a),a.response.status==422?this.$swal.fire({title:"Ooops! something is wrong.",text:a.response.data.message,type:"error",icon:"error"}):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",type:"error",icon:"error",timer:2e3})}).finally(()=>{this.state.isSaving=!1,this.reload()})},async submitMapProposal(){console.log("form"),console.log("submitting proposal");const t=this.$refs.proposal.form.status_id,o=this.$refs.proposal.form.action,a=this.$refs.proposal.form.id;console.log(this.$refs.proposal.form),this.errors=[];try{await L().shape({remarks:G().nullable().required("Remarks is required").min(10,"Remarks must be at least ten (10) characters")}).validate(this.$refs.proposal.form,{abortEarly:!1}),this.form.proposal_id=a,this.form.remarks=this.$refs.proposal.form.remarks,this.$swal.fire({title:`Are you sure you want to ${o} this record?`,text:"",icon:"question",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes",cancelButtonText:"No"}).then(s=>{s.value?this.updateRecord(t):this.$refs.proposal.state.showModal=!1})}catch(i){if(i instanceof Y){const s={};i.inner.forEach(d=>{s[d.path]=d.message}),this.errors=s}this.state.isSaving=!1}},async updateRecord(t){let o={remarks:this.form.remarks,status:t,updated_by:this.activeUser.id,proposal_id:this.form.proposal_id??null,approved_quantity:this.form.approvedQuantity??null};const a=this.data.id;await Q.updateStatus(a,o).then(i=>{i.status==201?(this.$swal.fire({title:"Great!",text:"Record successfully updated.",type:"success",icon:"success",timer:2e3}),this.state.showModal=!1):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",type:"error",icon:"error",timer:2e3})}).catch(i=>{console.log(i),i.response.status==422?this.$swal.fire({title:"Ooops! something is wrong.",text:i.response.data.message,type:"error",icon:"error"}):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",type:"error",icon:"error",timer:2e3})}).finally(()=>{this.state.isSaving=!1,this.reload()})},async updateRecordItem(t){let o={remarks:this.form.remarks,status:t,updated_by:this.activeUser.id,proposal_id:this.form.proposal_id??null,approved_quantity:this.form.approvedQuantity??null};const a=this.data.id;await Q.updateStatus(a,o).then(i=>{i.status==201?this.fetchCanvassRecord():console.error("ERROR UPDATING DATA FROM ADD PROPOSAL")}).catch(i=>{console.log(i),i.response.status==422?this.$swal.fire({title:"Ooops! something is wrong.",text:i.response.data.message,type:"error",icon:"error"}):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",type:"error",icon:"error",timer:2e3})}).finally(()=>{})},async setWinner(){let t=this.mostSelectedItemId;await U.winner(t).then(o=>{o.status=="201"&&console.log("Canvass winner has been awarded ")}).catch(o=>{console.error(o)})},async submitMancomApproval(t){console.log(this.item_details);let o="execom";this.activeUser.employee_id==this.requiredExecomApprover&&(o="required-approver"),console.log(`req: ${this.activeUser.employee_id} | ${this.requiredExecomApprover}`),console.log(`total Approved: ${this.totalMancomApproved}`),console.log("approved quantity...."),console.log(this.form.approvedQuantity);let a={prf_id:this.data.request_header_id,record_id:this.data.id,transaction_type:"purchase-request-item",selected_item_id:this.form.approvedCanvass,approver_role:o,approved_by:this.activeUser.employee_id??null,approved_quantity:this.form.approvedQuantity??null,remarks:this.form.remarks??""};await T.create(a).then(i=>{i.status==201?(this.totalMancomApproved++,this.data.mancom_approval.push(a),this.totalMancomApproved===this.no_of_required_approver&&(this.completeRequiredApproval=!0),this.completeMancomApproval&&this.completeRequiredApproval&&this.hasWinner?(this.setWinner(),this.updateRecord(t)):(this.$swal.fire({title:"Great!",text:"Record successfully updated.",type:"success",icon:"success",timer:2e3}),this.state.showModal=!1,this.state.isLoading=!0)):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",type:"error",icon:"error",timer:2e3})}).catch(i=>{console.log(i),i.response.status==422?this.$swal.fire({title:"Ooops! something is wrong.",text:i.response.data.message,type:"error",icon:"error"}):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",type:"error",icon:"error",timer:2e3})}).finally(()=>{this.state.isSaving=!1,this.state.isLoading=!1,this.reload()})},closeModal(){this.state.showModal=!1},reload(){this.$emit("reload")},computeElapsed(t,o){const a=P(t),i=P(o),s=i.diff(a,"days"),C=P.duration(i.diff(a)).asHours()-s*24,B=Math.floor(C),A=Math.floor((C-B)*60);return`${s} days, ${B} hours, and ${A} minutes`},showProposals(t,o,a){this.$refs.proposal.fetchRecords(),this.$refs.proposal.form.PrInfo=t.header,this.$refs.proposal.form.status_id=o,this.$refs.proposal.form.action=a,this.$refs.proposal.state.showModal=!0},closeProposal(){this.$refs.proposal.state.showModal=!1},mapProposals(){},showCanvass(t,o){this.status_id=o;const a=Object.assign({},t);console.log("$data"),console.log(a),t={reference_no:a.reference_no,prf_dtl_id:a.id,uom:a.uom,description:a.description,prf_id:a.request_header_id,item_id:a.asset_item_id,quantity:a.quantity},this.$refs.canvass.loadRecord(t),this.$refs.canvass.state.showModalFromCanvass=!0},showCanvassSheet(t=null){this.status_id=t,console.log("this.data..."),console.log(this.data);const o={prf_id:this.data.request_header_id,reference_no:this.data.reference_no,item_details:{prf_dtl_id:this.data.id,company:this.data.company_name,dealer:this.data.dealership_name||"",dealer_address:this.data.dealer_address||"",date_request:this.data.created_at,purpose:this.data.purpose,asset_item_id:this.data.asset_item_id,asset_item_name:this.data.description,uom:this.data.uom,quantity:this.data.quantity,status_process_id:this.data.status_process_id,updated_at:this.data.updated_at}};this.$refs.canvassSheet.loadRecord(o),this.$refs.canvassSheet.state.showModal=!0,this.$refs.canvassSheet.init()},createCanvassSheet(t=null){this.$refs.canvassSheet.state.saveCanvass=!0,this.showCanvassSheet(t)},rateCanvass(t=null){this.$refs.canvassSheet.state.rateCanvass=!0,this.showCanvassSheet(t)},handleMancomApproval(t=null){L().shape({approvedQuantity:Ce().required("Approved quantity field is required.").integer("Approved quantity must be a whole number.").min(1,"Approved quantity must be at least 1."),remarks:G().required("remarks quantity field is required.")}).validate(this.form,{abortEarly:!1}),this.$swal.fire({title:"Are you sure you want to proceed with the selected supplier?",text:"",icon:"question",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes",cancelButtonText:"No"}).then(a=>{a.value&&this.submitMancomApproval(t)})},setApprovedCanvass(t,o){this.form.approvedCanvass=t,this.form.approvedQuantity=o,console.log("form.approvedQuantity..."),console.log(this.form.approvedQuantity)},checkDisclaimer(t){this.$swal.fire({title:"Are you sure you want to proceed with the approval?",text:"",icon:"question",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes",cancelButtonText:"No"}).then(o=>{if(o.value){const a=this.data.header.disclaimer,i=!!(Array.isArray(this.data.proposal)&&this.data.proposal.length>0);let s=t;if(a==0||i==1){const d=this.data.next_statuses.find(C=>C.sub_process_code=="skipUserRating");s=d?d.id:null}console.log("preApproved",i),console.log("checking disclaimer"),console.log(this.data),console.log("disclaimer",this.data.header.disclaimer),console.log("next_Status",t),console.log("final next status",s),s&&this.updateRecord(s)}})},checkPreApproved(t){this.$swal.fire({title:"Are you sure you want to proceed with the approval?",text:"",icon:"question",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes",cancelButtonText:"No"}).then(o=>{if(o.value){const a=!!(this.data.proposal&&this.data.proposal.length>0);let i=t;if(a==1){const s=this.data.next_statuses.find(d=>d.sub_process_code=="skipMancomApproval");i=s?s.id:null}console.log("next_status"),console.log(t),console.log(i),i&&this.updateRecord(i)}})},setMaxTotalCost(){console.log("this.datadfdsfd"),console.log(this.datax);let t=0;this.data&&this.data.canvasses&&this.data.canvasses.length>0&&(t=Math.max(...this.data.canvasses.map(o=>o.total_cost))),console.log("maxTotal"),console.log(t),this.maxTotalCost=t},setCompleteRequiredApproval(){let t=this.data&&this.data.mancom_approval&&this.data.mancom_approval.filter(o=>o.approver_role=="required-approver").length>0;this.completeRequiredApproval=t},async deleteCanvass(t){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(o=>{console.log(o.value),o.value&&(this.state.isDeleting=!0,console.log("id...."),console.log(t),U.remove(t).then(a=>{a.status==200&&(this.$swal.fire({title:"Yaaay!",text:"Record has been deleted successfully.",type:"success",icon:"success",timer:2e3}),this.data.canvasses=this.data.canvasses.filter(i=>i.id!==t))}))}).catch(o=>{(o.response||o.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})},async loadApprovedOfficers(){if(!this.data.canvasses||this.data.canvasses.length===0){console.warn("No canvasses available to load officers");return}const t=this.data.canvasses.map(async o=>{o.approved_officers=[],o.approved_officers=await this.getOfficersApproved(o.prf_dtl_id,o.id)});await Promise.all(t)},async getOfficersApproved(t,o){try{const a=await T.officerApproved(t,o);if(a.status===200){const i=a.data.approved_officers;return this.no_of_approved=i.length,i}}catch(a){return console.error("Error fetching officers:",a),[]}},handleUpdateRecord(){this.updateRecord(this.status_id)}},mounted(){this.loadApprovedOfficers()}},h=t=>(oe("data-v-4faf6dcc"),t=t(),ae(),t),Oe={class:"lg:p-2"},Ve={class:"space-y-2"},Ue={class:"grid lg:grid-cols-2"},Ie={class:"flex gap-2 border-b border-slate-300 border-dashed py-1"},De=h(()=>e("div",{class:"label"},"Company:",-1)),Ne={class:"value"},Fe={class:"flex gap-2 border-b border-slate-300 border-dashed py-1"},$e=h(()=>e("div",{class:"label"},"Dealership:",-1)),Qe={class:"value"},Ye={class:"grid lg:grid-cols-2"},Le={class:"flex gap-2 border-b border-slate-300 border-dashed py-1"},Ge=h(()=>e("div",{class:"label"},"Date Needed:",-1)),je={class:"value"},We={class:"flex gap-1 border-b border-slate-300 border-dashed py-1"},He=h(()=>e("div",{class:"label"},"Approving Head:",-1)),ze={class:"value"},Xe={class:"flex gap-1 border-b border-slate-300 border-dashed py-1"},Je=h(()=>e("div",{class:"label"},"Requested By:",-1)),Ke={class:"value"},Ze={class:"flex gap-1 border-b border-slate-300 border-dashed py-1"},et=h(()=>e("div",{class:"label"},"Purpose:",-1)),tt={class:"value"},st={class:"bg-primary-50 mt-8 border border-primary-300 p-4 mb-8 drop-shadow-md"},ot={class:"grid lg:grid-cols-2 gap-3 py-2"},at={class:"flex gap-4"},rt=h(()=>e("span",{class:"label"},"EXPENSE CATEGORY:",-1)),it={class:"value"},lt={class:"flex gap-4"},nt=h(()=>e("span",{class:"label"},"EXPENSE TYPE",-1)),dt={class:"value"},ct={class:"mb-4"},pt={class:"max-h-[350px] overflow-auto"},ut={class:"table"},ht=h(()=>e("thead",null,[e("tr",null,[e("th",null,"ITEM TYPE"),e("th",null,"ITEM DESCRIPTION"),e("th",null,"UOM"),e("th",null,"QUANTITY"),e("th",null,"STATUS")])],-1)),mt=["title"],ft={key:0},_t=h(()=>e("span",{class:"font-bold bg-green-100 rounded-md text-green-600 p-1"},"YOU",-1)),vt={class:"text-gray-700 font-medium"},yt={key:1,class:"font-medium"},gt={key:0,class:"bg-primary-50 mt-8 border border-primary-300 mb-8 drop-shadow-md"},xt=h(()=>e("div",{class:"border-b border-primary-300 py-2 p-4"},[e("div",{class:"text-2xl"},"Pre Approved Proposals")],-1)),bt={class:"mb-4 p-4"},wt={class:""},Ct={class:"table"},At=h(()=>e("thead",null,[e("tr",null,[e("th",null,"Ref Code"),e("th",null,"Supplier"),e("th",null,"Validity")])],-1)),kt={key:1,class:"mb-4 p-4 bg-blue-100 border border-blue-300 rounded-md flex items-center space-x-2"},qt=h(()=>e("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6 text-pink-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M13 16h-1v-4h-1m0-4h.01M12 12h.01M12 8v.01M13 12h-1m-2 4h2v-4m1 0V8.01m1 12h1m0-8h-.01M16 16h1v-4h1m0-4h-.01M16 8V7m0 12v-1m-8 1v-1m0-12V7m-4 12v-1M4 8V7m0 12v-1M4 8V7m12 5h-1m0 0h1"})],-1)),Mt=h(()=>e("p",{class:"text-pink-400 text-sm"},[_(" Please "),e("strong",null,"click on any row"),_(" to approve the item and "),e("strong",null,"modify the quantity"),_(" if needed. ")],-1)),St=[qt,Mt],Rt={key:2,class:"bg-primary-50 mt-8 border border-primary-300 mb-8 drop-shadow-md"},Bt=h(()=>e("div",{class:"border-b border-primary-300 py-2 p-4"},[e("div",{class:"text-2xl semi-bold"},"Canvass Proposal")],-1)),Et={class:"mb-4 p-4"},Tt={class:"max-h-[350px] overflow-auto"},Pt={class:"table"},Ot=h(()=>e("th",null,"Vendor/Supplier",-1)),Vt=h(()=>e("th",null,"Unit Cost",-1)),Ut=h(()=>e("th",null,"Qty",-1)),It=h(()=>e("th",null,"Approved Qty.",-1)),Dt=h(()=>e("th",null,"Total Cost",-1)),Nt=h(()=>e("th",null,"Terms",-1)),Ft=h(()=>e("th",null,"Required approver",-1)),$t=h(()=>e("th",null,"Allow approver's",-1)),Qt=h(()=>e("th",{class:"text-center"},"No. of Required Officers",-1)),Yt=h(()=>e("th",{class:"text-center"},"No. of Approved",-1)),Lt={key:0},Gt=["onClick"],jt={class:"flex gap-1"},Wt={key:0},Ht={key:0,class:"text-error"},zt=["title"],Xt={class:"space-y-1"},Jt={class:"text-sm font-medium text-gray-600"},Kt={class:"space-y-1"},Zt={class:"text-sm font-medium text-gray-800"},es={class:"space-y-1"},ts={class:"text-sm font-medium text-gray-800"},ss={class:"flex flex-col space-y-2"},os={class:"font-bold text-sm"},as={class:"text-xs text-gray-700 bg-green-100 text-green-800 font-medium px-2.5 py-0.5 rounded dark:bg-gray-700 dark:text-green-400"},rs={class:"flex gap-1"},is={key:0},ls={key:0,class:"text-error"},ns=["title"],ds={class:"space-y-1"},cs={class:"text-sm font-medium text-gray-600"},ps={class:"space-y-1"},us={class:"text-sm font-medium text-gray-600"},hs={class:"text-center"},ms={class:"flex flex-col space-y-2"},fs={class:"font-bold text-sm"},_s={class:"text-xs text-gray-700 bg-green-100 text-green-800 font-medium px-2.5 py-0.5 rounded dark:bg-gray-700 dark:text-green-400"},vs={class:"py-4"},ys={key:0,class:"flex text-slate-400 text-sm"},gs=h(()=>e("span",null," - Recommended by Requestor ",-1)),xs={class:"mt-8"},bs={key:0,class:"text-danger-500"},ws={class:"flex gap-1 justify-end mt-4"};function Cs(t,o,a,i,s,d){const C=g("Loading"),B=g("Badge"),A=g("Icon"),I=g("TextInput"),b=g("Button"),H=g("TextArea"),z=g("FormGroup"),X=g("ViewButton"),J=g("CloseButton"),K=g("StaticModal"),Z=g("ProposalMapping"),ee=g("CanvassForm"),te=g("CanvassSheet");return l(),c(f,null,[m(K,{title:`Purchase Request Reference No: ${s.data.reference_no}`,headerClass:"bg-indigo-600",active:s.state.showModal,onSubmit:t.confirmSubmit,onClose:d.closeModal},{default:x(()=>{var E,D,N,F,$;return[s.state.isLoading?(l(),v(C,{key:0,text:"Fetching resource data"})):u("",!0),s.state.isSaving?(l(),v(C,{key:1,text:"Saving record"})):u("",!0),s.state.fetchingCanvass?(l(),v(C,{key:2,text:"Fetching Canvass data"})):u("",!0),e("div",Oe,[e("form",{onSubmit:o[1]||(o[1]=W((...r)=>t.confirmSubmit&&t.confirmSubmit(...r),["prevent"]))},[e("div",Ve,[e("div",Ue,[e("div",Ie,[De,e("div",Ne,n(s.data.company_name),1)]),e("div",Fe,[$e,e("div",Qe,n(s.data.dealership_name),1)])]),e("div",Ye,[e("div",Le,[Ge,e("div",je,n(s.data.needed_at),1)]),e("div",We,[He,e("div",ze,n(s.data.approving_head_name),1)])]),e("div",Xe,[Je,e("div",Ke,n(s.data.requested_by_name),1)]),e("div",Ze,[et,e("div",tt,n(s.data.purpose),1)])]),e("div",st,[e("div",ot,[e("div",at,[rt,e("span",it,n(s.data.expense_category_name),1)]),e("div",lt,[nt,e("span",dt,n(s.data.item_classification_name),1)])]),e("div",ct,[e("div",pt,[e("table",ut,[ht,e("tbody",null,[e("tr",null,[e("td",null,n(s.data.type),1),e("td",null,n(s.data.description),1),e("td",null,n(s.data.uom),1),e("td",null,n(s.data.quantity),1),e("td",null,[m(B,{badgeClass:s.badgeClass},{default:x(()=>[_(n(s.data.status_name),1)]),_:1},8,["badgeClass"]),(E=s.data.approver)!=null&&E.length?(l(),c("div",{key:0,title:`Processing Officer : ${s.data.approver.map(r=>r.name).join(", ")}`,class:"bg-orange-100 px-2 py-1 rounded mt-1 w-fit flex flex-col gap-1"},[(l(!0),c(f,null,w(s.data.approver,(r,y)=>(l(),c("span",{key:r.id,class:"flex items-center gap-2"},[m(A,{icon:"heroicons-solid:chevron-right",class:"text-primary-600 text-xl w-5 h-5 text-gray-600"}),d.activeUser.employee_id==r.employee_id?(l(),c("span",ft,[_t,e("span",vt," - "+n(r.name),1)])):(l(),c("span",yt,n(r.name),1))]))),128))],8,mt)):u("",!0)])])])])])])]),Array.isArray((D=s.data)==null?void 0:D.proposal)&&s.data.proposal.length>0?(l(),c("div",gt,[xt,e("div",bt,[e("div",wt,[e("table",Ct,[At,e("tbody",null,[e("tr",null,[e("td",null,n(((N=s.data.proposal[0])==null?void 0:N.ref_code)||""),1),e("td",null,n(((F=s.data.proposal[0])==null?void 0:F.supplier.name)||""),1),e("td",null,n((($=s.data.proposal[0])==null?void 0:$.validity_date)||""),1)])])])])])])):u("",!0),s.data.status===36?(l(),c("div",kt,St)):u("",!0),s.data.canvasses&&s.data.canvasses.length>0?(l(),c("div",Rt,[Bt,e("div",Et,[e("div",Tt,[e("table",Pt,[e("thead",null,[e("tr",null,[Ot,Vt,Ut,It,Dt,Nt,Ft,$t,Qt,Yt,[35,36].includes(s.data.status)?u("",!0):(l(),c("th",Lt,"Action"))])]),e("tbody",null,[d.mancomApproval&&!s.data.approved_by_you?(l(!0),c(f,{key:0},w(s.data.canvasses,(r,y)=>{var k,q,M,S;return l(),c("tr",{key:y,class:R(["hover:bg-primary-100",this.form.approvedCanvass==r.id?"bg-primary-700 text-primary-800 bg-opacity-[0.2]":null]),onClick:p=>d.setApprovedCanvass(r.id,r.approved_quantity)},[e("td",null,[e("div",jt,[r.id==d.recommendedByUserId?(l(),c("span",Wt,[m(A,{icon:"ph:star-duotone",class:"text-amber-400 text-base"})])):u("",!0),e("span",null,n(r.supplier.name),1)])]),e("td",null,n(t.$ability.can("view","UnitCost")?this.$formatNumber(r.unit_cost,2):"*******"),1),e("td",null,n(r.quantity),1),e("td",null,[m(I,{type:"text",modelValue:r.approved_quantity,"onUpdate:modelValue":p=>r.approved_quantity=p,id:"approvedQuantity",name:"approvedQuantity",class:"w-16 rounded border border-green-400",disabled:s.data.status!==36},null,8,["modelValue","onUpdate:modelValue","disabled"]),s.errors.approvedQuantity?(l(),c("span",Ht,n(s.errors.approvedQuantity),1)):u("",!0)]),e("td",null,n(t.$ability.can("view","TotalCost")?this.$formatNumber(r.total_cost,2):"*******"),1),e("td",{title:(q=(k=r.supplier)==null?void 0:k.vendor_term)==null?void 0:q.description},n((S=(M=r.supplier)==null?void 0:M.vendor_term)==null?void 0:S.code),9,zt),e("td",null,[e("ul",Xt,[(l(!0),c(f,null,w(d.FilteredRequiredApprover,p=>(l(),c("li",{key:p.employee_id,class:"flex items-center space-x-2"},[e("span",Jt,n(p.fullname),1)]))),128))])]),e("td",null,[e("ul",Kt,[(l(!0),c(f,null,w(s.requiredApprovers,p=>(l(),c("li",{key:p.employee_id,class:"flex items-center space-x-2"},[e("span",Zt,n(p.fullname),1)]))),128))])]),e("td",null,[e("ul",es,[(l(!0),c(f,null,w(s.requiredApprovers,p=>(l(),c("li",{key:p.employee_id,class:"flex items-center space-x-2"},[e("span",ts,n(p.fullname),1)]))),128))])]),e("td",null,n(s.no_of_required_approver),1),e("td",null,[e("div",ss,[e("span",os,n(r.approved_officers.filter(p=>p.selected_item_id===r.id).length)+" / "+n(s.no_of_required_approver),1),(l(!0),c(f,null,w(r.approved_officers,(p,O)=>(l(),c("div",{key:O,class:"flex items-center space-x-2"},[m(A,{icon:"mdi:check-circle",class:"text-green-500 text-lg"}),e("span",as,n(p.fullname),1)]))),128))])])],10,Gt)}),128)):(l(!0),c(f,{key:1},w(s.data.canvasses,(r,y)=>{var k,q,M,S;return l(),c("tr",{key:y,class:R(r.mancom_approved&&r.mancom_approved.find(p=>p.approved_by==this.activeUser.employee_id)?"bg-primary-700 text-primary-800 bg-opacity-[0.2]":null)},[e("td",null,[e("div",rs,[r.id==d.recommendedByUserId?(l(),c("span",is,[m(A,{icon:"ph:star-duotone",class:"text-amber-400 text-base"})])):u("",!0),e("span",null,n(r.supplier.name),1)])]),e("td",null,n(t.$ability.can("view","UnitCost")?this.$formatNumber(r.unit_cost):"********"),1),e("td",null,n(r.quantity),1),e("td",null,[m(I,{type:"text",modelValue:r.approved_quantity,"onUpdate:modelValue":p=>r.approved_quantity=p,id:"approvedQuantity",name:"approvedQuantity",class:"w-16 rounded border border-green-400",disabled:s.data.status!==36},null,8,["modelValue","onUpdate:modelValue","disabled"]),_(),s.errors.approvedQuantity?(l(),c("span",ls,n(s.errors.approvedQuantity),1)):u("",!0)]),e("td",null,n(t.$ability.can("view","TotalCost")?this.$formatNumber(r.total_cost,2):"*******"),1),e("td",{title:(q=(k=r.supplier)==null?void 0:k.vendor_term)==null?void 0:q.description},n((S=(M=r.supplier)==null?void 0:M.vendor_term)==null?void 0:S.code),9,ns),e("td",null,[e("ul",ds,[(l(!0),c(f,null,w(d.FilteredRequiredApprover,p=>(l(),c("li",{key:p.employee_id,class:"flex items-center space-x-2"},[e("span",cs,n(p.fullname),1)]))),128))])]),e("td",null,[e("ul",ps,[(l(!0),c(f,null,w(s.requiredApprovers,p=>(l(),c("li",{key:p.employee_id,class:"flex items-center space-x-2"},[e("span",us,n(p.fullname),1)]))),128))])]),e("td",hs,n(s.no_of_required_approver),1),e("td",null,[e("div",ms,[e("span",fs,n(r.approved_officers.filter(p=>p.selected_item_id===r.id).length)+" / "+n(s.no_of_required_approver),1),(l(!0),c(f,null,w(r.approved_officers,(p,O)=>(l(),c("div",{key:O,class:"flex items-center space-x-2"},[m(A,{icon:"mdi:check-circle",class:"text-green-500 text-lg"}),e("span",_s,n(p.fullname),1)]))),128))])]),e("td",null,[[28,31,,38,41].includes(s.data.status)?(l(),v(b,{key:0,btnClass:"text-red-600 hover:text-red-900 py-2 px-1",icon:"carbon:trash-can",iconClass:"text-xl",text:t.text??null,link:t.link,title:"Delete Canvass",titleTheme:t.titleTheme,onClick:p=>d.deleteCanvass(r.id)},null,8,["text","link","titleTheme","onClick"])):u("",!0)])],2)}),128))])]),e("div",vs,[d.recommendedByUserId?(l(),c("div",ys,[e("span",null,[m(A,{icon:"ph:star-duotone",class:"text-amber-400 text-lg"})]),gs])):u("",!0)])])])])):u("",!0),e("div",xs,[m(z,{label:"Remarks",isRequired:""},{default:x(()=>[e("div",{class:R({"border border-danger-500 rounded":s.errors.remarks,"":!s.errors.remarks&&s.form.remarks})},[m(H,{modelValue:s.form.remarks,"onUpdate:modelValue":o[0]||(o[0]=r=>s.form.remarks=r),class:"p-2 w-full",placeholder:""},null,8,["modelValue"])],2)]),_:1}),s.errors.remarks?(l(),c("span",bs,n(s.errors.remarks),1)):u("",!0)]),e("div",ws,[s.state.process?(l(),c(f,{key:0},[(l(!0),c(f,null,w(s.data.next_statuses,r=>(l(),c(f,{key:r.id},[r.sub_process_code?(l(),c(f,{key:0},[r.sub_process_code=="assetValidation"?(l(),v(b,{key:0,class:"bg-primary-500 rounded py-1",onClick:y=>d.handleAssetValidation(r.id,r.action)},{default:x(()=>[_(n(r.action),1)]),_:2},1032,["onClick"])):u("",!0),r.sub_process_code=="adminValidation"?(l(),v(b,{key:1,class:"bg-primary-500 rounded py-1",onClick:y=>d.handleAdminValidation(r.id,r.action)},{default:x(()=>[_(n(r.action),1)]),_:2},1032,["onClick"])):u("",!0),r.sub_process_code=="mapProposal"?(l(),v(b,{key:2,class:"bg-primary-500 rounded py-1",onClick:y=>d.showProposals(s.data,r.id,r.action)},{default:x(()=>[_(n(r.action),1)]),_:2},1032,["onClick"])):u("",!0),r.sub_process_code=="createCanvass"?(l(),v(b,{key:3,class:"bg-primary-500 rounded py-1",onClick:y=>d.showCanvass(s.data,r.id)},{default:x(()=>[_(n(r.action),1)]),_:2},1032,["onClick"])):u("",!0),r.sub_process_code=="createCanvassSheet"&&s.data.canvasses&&s.data.canvasses.length>0?(l(),v(b,{key:4,class:"bg-primary-500 rounded py-1",onClick:y=>d.createCanvassSheet(r.id)},{default:x(()=>[_(n(r.action),1)]),_:2},1032,["onClick"])):u("",!0),r.sub_process_code=="canvassRating"?(l(),v(b,{key:5,class:"bg-primary-500 rounded py-1",onClick:y=>d.rateCanvass(r.id)},{default:x(()=>[_(n(r.action),1)]),_:2},1032,["onClick"])):u("",!0),r.sub_process_code=="mancomApproval"&&(!d.isUserApproved()||d.isExecomApprover())?(l(),v(b,{key:6,class:R(`${this.form.approvedCanvass?"bg-primary-500":"bg-slate-300"} rounded py-1`),disabled:!this.form.approvedCanvass,title:this.form.approvedCanvass?"Approve the selected canvass":"Select from above the canvass that you want to approve",onClick:y=>d.handleMancomApproval(r.id)},{default:x(()=>[_(n(r.action),1)]),_:2},1032,["class","disabled","title","onClick"])):u("",!0),r.sub_process_code=="userDisclaimer"?(l(),v(b,{key:7,class:"bg-primary-500 rounded py-1",onClick:y=>d.checkDisclaimer(r.id)},{default:x(()=>[_(n(r.action),1)]),_:2},1032,["onClick"])):u("",!0),r.sub_process_code=="checkPreApproved"?(l(),v(b,{key:8,class:"bg-primary-500 rounded py-1",onClick:y=>d.checkPreApproved(r.id)},{default:x(()=>[_(n(r.action),1)]),_:2},1032,["onClick"])):u("",!0)],64)):(l(),c(f,{key:1},[!d.isUserApproved()||d.isExecomApprover()?(l(),v(b,{key:0,class:"bg-primary-500 rounded py-1",onClick:y=>d.submitForm(r.id,r.action)},{default:x(()=>[_(n(r.action),1)]),_:2},1032,["onClick"])):u("",!0)],64))],64))),128)),s.data.canvasses&&s.data.canvasses.length>0?(l(),v(X,{key:0,btnClass:"py-2 px-4 bg-purple-500 text-white",text:"View Canvass",titleTheme:"bg-dark",onClick:d.showCanvassSheet},null,8,["onClick"])):u("",!0)],64)):u("",!0),m(J,{onClick:d.closeModal},null,8,["onClick"])])],32)])]}),_:1},8,["title","active","onSubmit","onClose"]),m(Z,{ref:"proposal",onSubmit:d.submitMapProposal},null,8,["onSubmit"]),m(ee,{ref:"canvass",onSubmit:t.submitCanvass,onTriggerUpdateRecord:o[2]||(o[2]=E=>d.updateRecordItem(s.status_id))},null,8,["onSubmit"]),m(te,{ref:"canvassSheet",onReload:o[3]||(o[3]=E=>d.updateRecord(s.status_id))},null,512)],64)}const zs=j(Pe,[["render",Cs],["__scopeId","data-v-4faf6dcc"]]);export{zs as P};