import{L as Y}from"./index-bda11127.js";import{B as V}from"./index-3f90be0f.js";import{_ as q,r as n,M as A,o as i,c as m,g,e as p,f as r,I as h,a as d,d as u,J as G,G as N,N as Q,H as j,w as D,K as z,L as H}from"./index-a358f54f.js";import{C as J,E as K,D as W}from"./DeleteButton-b7f2bf03.js";import{S as X}from"./SubmitButton-69452d85.js";import{I as Z}from"./InfoButton-c92f7037.js";import{P as $}from"./ProcessButton-3e26454a.js";import{F as ee}from"./index-8a513170.js";import"./index-9e4a8abd.js";import"./vue-cleave.min-1afbcfdc.js";import{I as te}from"./index-88cce860.js";import{L as se}from"./Loading-1cb6137e.js";import{P as oe}from"./index-d8978d4e.js";import{T as re}from"./index-66057be5.js";import{P as k}from"./PurchaseOrderService-d2013516.js";import{l as ae}from"./lodash-59abaf33.js";import{F as ie,P as ne,a as le}from"./po-pdf-e9c58f9f.js";import{B as ce}from"./index-1222fe77.js";import{h as b}from"./moment-a9aaa855.js";import"./xhebrhsj-3148c598.js";import"./es.string.replace-057e028b.js";/* empty css */import"./CloseButton-990af356.js";import"./UpdateButton-71f046aa.js";import"./ViewButton-6341b594.js";import"./index-e1e83151.js";import"./SupplierService-082a1a8c.js";import"./vue-flatpickr.min-aabba88a.js";import"./array-aaa830b3.js";import"./index-9d2e23f7.js";import"./ProposalService-f3d1cf7c.js";import"./static_modal-68030a7c.js";import"./CommentSectionService-6ddd7afb.js";import"./FileService-1e98a9da.js";import"./file-type-pdf-a9709057.js";import"./jspdf.es.min-702a9093.js";const de={components:{Layout:Y,Loading:se,Pagination:oe,InputGroup:te,CreateButton:J,EditButton:K,DeleteButton:W,ProcessButton:$,Form:ie,ProcessForm:ne,Tooltip:re,Badge:ce,Button:V,Info:Z,FormModal:ee,SubmitButton:X,PDF:le},data(){return{title:"Purchase Order (Create & Post P.O)",breadcrumbs:[{text:"Home",href:"/"},{text:"Purchase Order",href:"/transactions/purchase-orders/for-po"},{text:"Create & Post P.O",active:!0}],rowData:{},remarks_history:[],state:{isEdit:!1,isLoading:!1,isLoadingPDF:!1,isMounted:!1,isResetError:!1,isSubmitted:!1,showModal:!1,showRowModal:!1,isDeleting:!1},canvass_id_array:[],items:[],error:[],totalItems:0,columns:[{label:"#",field:"#",tdClass:"text-center w-[20px]",sortable:!1},{label:"Ref. Code",field:"reference_code"},{label:"Company",field:"company_name"},{label:"Supplier",field:"supplier_name"},{label:"Created",field:"created_at"},{label:"Date Needed",field:"needed_at"},{label:"Disclaimer",field:"disclaimer"},{label:"Status",field:"status_name",sortable:!1}],perPageOptions:[{value:"10",label:"10"},{value:"50",label:"50"},{value:"100",label:"100"}],searchQuery:this.$route.query.ref_code??"",serverOptions:{page:1,rowsPerPage:10,sortBy:"purchase_orders.created_at",sortType:"desc"},currentDate:b()}},watch:{serverOptions:{handler(){console.log(`perPage: ${this.serverOptions.rowsPerPage}`),this.fetchRecords()},deep:!0},searchQuery:ae.debounce(function(){this.fetchRecords()},1e3),$route(e,o){e.query!==o.query&&(this.searchQuery=e.query.s)},"$route.query.ref_code"(e,o){e?this.searchQuery=e:this.searchQuery=""}},computed:{perPage:function(){return this.serverOptions.rowsPerPage},activeUser:function(){return 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(e=>e.group_id):null},departmentAccess:function(){return this.activeUser&&this.activeUser.department_access?this.activeUser.department_access.flatMap(e=>e.id):null},employeeInfo:function(){if(this.activeUser.employee){let e=this.activeUser.employee;return{user_id:this.activeUser.id,employee_id:this.activeUser.employee_id,company_id:e.company_id,dealership_id:e.dealer_id,department_id:e.department_id}}return null}},methods:{async fetchRecords(){this.state.isLoading=!0,this.state.isMounted=!1,this.$route.params.tag,console.log("this.activeUser"),console.log(this.activeUser),await k.fetchRecords({keyword:this.searchQuery,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,status:39}).then(e=>{console.log("response.. items"),console.log(e);let o=e.data.data;this.items=o.map((l,v)=>{var s;return(s=l.po_dtl)!=null&&s.map(a=>{var _;const c=a.pr_dtl||{},w=a.header||{},f=c.remarks_history||[],P=c.sla_logs||[];return{po_dtl_id:a.id,pr_dtl_id:c.id,pr_reference_no:c.reference_no,prf_header:w,remarks_history:f,sla_logs:P,dealer:((_=a.dealer)==null?void 0:_.name)??"",description:c.description??"",item_type:c.type??"",quantity:c.quantity??0}}),{"#":(this.serverOptions.page-1)*this.serverOptions.rowsPerPage+(v+1),...l,needed_at:b(l.needed_at).format("MMM D, YYYY"),created_at:b(l.created_at).format("MMM D, YYYY"),overdue:this.currentDate.isAfter(b(l.needed_at)),allowed_to_act:this.roleGroups.some(a=>l.current_status.access.filter(c=>c.permission=="action").map(c=>c.role_group_id).includes(a))}}),this.totalItems=e.data.total??0}).finally(()=>{this.state.isLoading=!1,this.state.isMounted=!0})},handleRowClick(e){console.log("Clicked rowsss"),console.log(e),this.rowData=e.row,this.state.showRowModal=!0},handlePageChange(e){console.log(e),console.log(this.serverOptions.page),this.serverOptions.page!=e&&(this.serverOptions.page=e)},handlePerPageChange(e){this.serverOptions.page=1,this.serverOptions.rowsPerPage=e},onSortChange(e){console.log(e),e[0].type!="none"&&(this.serverOptions.sortBy=e[0].field,this.serverOptions.sortType=e[0].type)},createRecord(){this.$refs.form.resetForm(),this.$refs.form.state.showModal=!0},editRecord(e){this.$refs.form.loadRecord(e),this.$refs.form.state.showModal=!0},processRecord(e){this.$refs.processModal.resetData();const o=e.po_dtl[0].next_statuses.filter((l,v,s)=>v===s.findIndex(a=>a.id===l.id&&a.name===l.name));e.po_dtl[0].next_statuses=o,this.$refs.processModal.loadRecord(e),this.$refs.processModal.state.showModal=!0},async deleteRecord(e){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=>{o.value&&(this.state.isDeleting=!0,PurchaseRequest.remove(e).then(l=>{l.status==200&&(this.$swal.fire({title:"Great!",text:"Record has been deleted successfully.",type:"success",icon:"success",timer:2e3}),this.fetchRecords())}).catch(l=>{l.response&&l.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.state.showModal=!1},closeRowModal(){this.state.showRowModal=!1},async viewPDF(e){e.po_dtl&&e.po_dtl.length>0&&e.po_dtl.forEach(o=>{o.canvass_id&&this.canvass_id_array.push(o.canvass_id)}),this.$refs.pdf.pdfData={...e,items:e.po_dtl},this.$refs.pdf.generatePDF()},async getItems(){this.state.isLoadingPDF=!0,this.state.isMounted=!1;try{return(await k.fetchPoItems({canvass_id_array:this.canvass_id_array})).data}finally{this.state.isLoadingPDF=!1,this.state.isMounted=!0}}},mounted(){this.fetchRecords()}},y=e=>(z("data-v-ff4f5783"),e=e(),H(),e),me={class:"p-2 bg-[url('@/assets/images/background/package-delivery.jpg')] bg-cover bg-[center]"},pe={class:"bg-white bg-opacity-[0.8] p-2 rounded-md md:flex items-center"},ue={class:"text-xl font-semibold text-gray-800 flex-1 md:mb-0 mb-4"},he={class:"md:flex md:space-x-3 items-center flex-none rtl:space-x-reverse float-right"},_e={key:0},fe={key:1,class:"flex gap-1"},ge={key:2,class:"grid gap-1"},ye=y(()=>r("span",{class:"text-slate-400"},"Expense Category: ",-1)),ve={class:"text-success-500"},be=y(()=>r("span",{class:"text-slate-400"},"Item Classification: ",-1)),we={class:"text-success-500"},Pe=y(()=>r("span",{class:"text-slate-400"},"Item Type: ",-1)),xe={class:"text-success-500"},Ce={key:3,class:"flex gap-1"},De={key:4,class:"flex gap-1"},ke={key:5,class:"flex gap-1"},Me={key:6,class:"flex gap-1"},Re={class:"py-4 px-3 flex justify-end"},Oe={class:"space-y-3 p-6"},Be={class:"text-xl"},Fe=y(()=>r("span",{class:"text-primary-700"},"Reference No: ",-1)),Se={class:"text-2xl font-semibold text-primary-500"},Ie={class:""},Le=y(()=>r("span",null,"Company: ",-1)),Ee={class:"font-bold"},Ue={class:"flex gap-2 justify-center border p-4 bg-primary-100 shadow"};function Te(e,o,l,v,s,a){const c=n("InputGroup"),w=n("CreateButton"),f=n("Loading"),P=n("Tooltip"),_=n("Badge"),C=n("SubmitButton"),M=n("Pagination"),R=n("vue-good-table"),O=n("Card"),B=n("Form"),F=n("ProcessForm"),S=n("EditButton"),I=n("ProcessButton"),L=n("FormModal"),E=n("PDF"),U=n("Layout"),T=A("tooltip");return i(),m(U,{breadcrumbs:s.breadcrumbs},{nocard:g(()=>[p(O,{noborder:""},{default:g(()=>[r("div",me,[r("div",pe,[r("h6",ue,h(s.title),1),r("div",he,[p(c,{modelValue:s.searchQuery,"onUpdate:modelValue":o[0]||(o[0]=t=>s.searchQuery=t),placeholder:"Search",type:"text",prependIcon:"heroicons-outline:search",class:"md:flex md:space-x-3 items-center flex-none rtl:space-x-reverse float-right",merged:""},null,8,["modelValue"]),e.$ability.can("add","POCREATEPOST")?(i(),m(w,{key:0,onClick:a.createRecord},null,8,["onClick"])):d("",!0)])])]),r("div",null,[s.state.isLoading?(i(),m(f,{key:0,searching:!0,text:"Fetching records"})):d("",!0),s.state.isLoadingPDF?(i(),m(f,{key:1,searching:!0,text:"Preparing pdf document"})):d("",!0),s.state.isDeleting?(i(),m(f,{key:2,text:"Deleting record"})):d("",!0),p(R,{columns:s.columns,styleClass:"vgt-table table-head v-middle",mode:"remote",rows:s.items,search:!0,"sort-options":{enabled:!1},"pagination-options":{enabled:!0},onSortChange:a.onSortChange,"max-height":"600px","row-style-class":"hover:bg-primary-100",onRowClick:a.handleRowClick},{"table-row":g(t=>[t.column.field=="expense_category_name"||t.column.field=="item_type"?(i(),u("div",_e,[(i(!0),u(G,null,N(t.row.items,x=>(i(),u("div",{key:x.id},[r("span",null,h(x.expense_category_name),1)]))),128))])):d("",!0),t.column.field=="name"?Q((i(),u("div",fe,[p(P,{title:t.row.shortened_name,content:t.row.name,placement:"bottom",btnClass:"border-0 font-medium p-1",arrow:"",theme:"secondary-900"},null,8,["title","content"])])),[[T,t.row.name]]):d("",!0),t.column.field=="organization"?(i(),u("div",ge,[r("div",null,[ye,r("span",ve,h(t.row.expense_category_name),1)]),r("div",null,[be,r("span",we,h(t.row.item_classification_name),1)]),r("div",null,[Pe,r("span",xe,h(t.row.item_type_name),1)])])):d("",!0),t.column.field=="needed_at"?(i(),u("div",Ce,[r("span",{class:j({"text-red-500":t.row.overdue})},h(t.row.needed_at),3)])):d("",!0),t.column.field=="disclaimer"?(i(),u("div",De,[t.row.disclaimer==1?(i(),m(_,{key:0,label:"Yes",badgeClass:"bg-blue-700 text-blue-700 bg-opacity-[0.12] m-1"})):(i(),m(_,{key:1,label:"No",badgeClass:"bg-red-700 text-red-700 bg-opacity-[0.12] m-1"}))])):d("",!0),t.column.field=="status"?(i(),u("div",ke,[t.row.status==1?(i(),m(_,{key:0,label:t.row.status_name,badgeClass:"bg-amber-700 text-amber-700 bg-opacity-[0.12] m-1"},null,8,["label"])):(i(),m(_,{key:1,label:t.row.status_name,badgeClass:"bg-blue-700 text-blue-700 bg-opacity-[0.12] m-1"},null,8,["label"]))])):d("",!0),t.column.field=="action"?(i(),u("div",Me,[p(C,{onClick:D(x=>a.viewPDF(t.row),["stop"]),btnClass:"bg-slate-200 rounded hover:animate-bounce text-primary-800 py-2 px-4",text:"ViewPDF"},null,8,["onClick"])])):d("",!0)]),"pagination-bottom":g(t=>[r("div",Re,[p(M,{total:s.totalItems,current:s.serverOptions.page,"per-page":s.serverOptions.rowsPerPage,onPageChanged:a.handlePageChange,pageChanged:t.pageChanged,perPageChanged:s.serverOptions.rowsPerPage,enableSelect:"",perPageOptions:s.perPageOptions,onChangePerPage:a.handlePerPageChange},null,8,["total","current","per-page","onPageChanged","pageChanged","perPageChanged","perPageOptions","onChangePerPage"])])]),_:1},8,["columns","rows","onSortChange","onRowClick"])])]),_:1}),p(B,{editData:e.editData,onCloseModal:o[1]||(o[1]=t=>s.state.showModal=!1),ref:"form",onReload:o[2]||(o[2]=t=>a.fetchRecords()),onViewPo:a.viewPDF},null,8,["editData","onViewPo"]),p(F,{onCloseModal:a.closeProcessModal,ref:"processModal",onReload:o[3]||(o[3]=t=>a.fetchRecords())},null,8,["onCloseModal"]),p(L,{title:"Purchase Order",active:s.state.showRowModal,onClose:a.closeRowModal,themeClass:"bg-primary-500",sizeClass:"lg:w-1/2",bodyClass:"p-0"},{default:g(()=>[r("div",Oe,[r("div",Be,[Fe,r("span",Se,h(s.rowData.reference_code),1)]),r("div",Ie,[Le,r("span",Ee,h(s.rowData.company_full_name),1)])]),r("div",Ue,[s.rowData.allowed_to_act&&s.rowData.status==39?(i(),m(S,{key:0,onClick:o[4]||(o[4]=t=>a.editRecord(s.rowData)),btnClass:"bg-primary-50 border border-primary-800 text-primary-800",title:"Edit Record",text:"Edit"})):d("",!0),s.rowData.allowed_to_act&&s.rowData.status!=8?(i(),m(I,{key:1,onClick:o[5]||(o[5]=t=>a.processRecord(s.rowData)),btnClass:"bg-primary-800 text-primary-50",title:"Process Record",titleTheme:"primary-500",text:"Process"})):d("",!0),p(C,{onClick:o[6]||(o[6]=D(t=>a.viewPDF(s.rowData),["stop"])),btnClass:"bg-purple-500 rounded hover:animate-bounce text-slate-100",title:"print pdf",text:"ViewPDF"})])]),_:1},8,["active","onClose"]),p(E,{ref:"pdf"},null,512)]),_:1},8,["breadcrumbs"])}const bt=q(de,[["render",Te],["__scopeId","data-v-ff4f5783"]]);export{bt as default};