import{a as c,_ as B,c as p,w as n,r,o as m,d as a,e as i,t as y,j as g,b as L,f as k}from"./index-be2d4151.js";import{C as f}from"./CustomerService-c9a6a6b3.js";import{V as I}from"./VehicleService-55f362b6.js";import{L as S,C as T}from"./index-124eb047.js";import{T as V}from"./index-377813ae.js";import{I as A}from"./index-4b46c3db.js";import{B as Y}from"./InfoButton.vue_vue_type_style_index_0_scoped_635db2d1_lang-ea4dfeb4.js";import{C as E,E as N,D as $}from"./EditButton-6b424ab5.js";import{I as F}from"./index-f10fdf98.js";import{L as j}from"./Loading-c46365ec.js";import{P as G}from"./index-8cbf5e02.js";import{l as Q}from"./lodash-cc03f756.js";import{F as H}from"./form-f1c81c6b.js";import{P as U}from"./index-1b1d0b8c.js";import"./logo-black-d3c46f69.js";import"./logo-white-e1b05cf3.js";import"./transition-4fc77ecd.js";import"./index-9c004d68.js";import"./vue-cleave.min-19d21cac.js";import"./CloseButton-91fa6b44.js";import"./SubmitButton-1d5ea630.js";import"./UpdateButton-331adda6.js";import"./index-5f541e4d.js";import"./default-f38ac8a4.js";import"./index-5600e357.js";import"./index-aa958026.js";import"./Multiselect-89305a7f.js";import"./array-9fca5ec5.js";const d="https://api.appery.io/rest/1/db/users",h={"X-Appery-Master-Key":"6642c17366003017cd28a8d7","X-Appery-Database-id":"6642c17366003017cd28a8d7"},X={fetchRecords(e={}){return c.get(`${d}`,{params:e,headers:h})},fetchRecord(e){return c.get(`${d}/${e}`,{headers:h})},async create(e){return c.post(`${d}`,e,{headers:h})},async update(e,t){return c.put(`${d}/${e}`,t,{headers:h})},async remove(e){return c.delete(`${d}/${e}`,{headers:h})}},z={setup(){},components:{Layout:S,CreateButton:E,Loading:j,InputGroup:F,EditButton:N,DeleteButton:$,Form:H,Pagination:G,Card:T,Icon:A,Button:Y,Table:V,Panel:U},data(){return{title:"Customer and Vehicle Checker",breadcrumbs:[{text:"Home",href:"/"},{text:"Masterfile",href:"/customers"},{text:"Customers",active:!0}],columns:[{label:"#",field:"#",sortable:!1},{label:"First Name",field:"firstname",sortable:!0},{label:"Middle Name",field:"middlename",sortable:!1},{label:"Last Name",field:"lastname",sortable:!0},{label:"Gender",field:"gender",sortable:!1},{label:"Email",field:"email",sortable:!1},{label:"Mobile",field:"mobile",sortable:!1},{label:"Region",field:"region_name",sortable:!1},{label:"City",field:"city_name",sortable:!1},{label:"Action",field:"action",sortable:!1}],form:{},vehicles:null,vehicleColumns:[{label:"#",field:"#",sortable:!1},{label:"AHA User ID",field:"aha_user_id",sortable:!0},{label:"Owner ID",field:"owner_id",sortable:!1},{label:"Plat No",field:"plate_no",sortable:!0},{label:"Created",field:"created_at",sortable:!1},{label:"Action",field:"action",sortable:!1}],perPageOptions:[{value:"10",label:"10"},{value:"50",label:"50"},{value:"100",label:"100"}],state:{isLoading:!1,isMounted:!1,showPanel:!1,isDeleting:!1},items:[],totalItems:0,error:[],searchQuery:"",serverOptions:{page:1,rowsPerPage:10,sortBy:"lastname",sortType:"asc"}}},watch:{serverOptions:{handler(){this.fetchRecords()},deep:!0},searchQuery:Q.debounce(function(){this.fetchRecords()},800)},computed:{perPage:function(){return this.serverOptions.rowsPerPage}},methods:{async AhaLogin(){const e={"X-Appery-Database-id":"6642c17366003017cd28a8d7"};return(await c.post("https://api.appery.io/rest/1/db/login",{username:"redscrisostomo@gmail.com",password:"kamote"},{headers:e})).data.sessionToken},async fetchRecords(){this.state.isLoading=!0,this.state.isMounted=!1,await f.fetchMissingRecords().then(e=>{let t=e.data.data;this.items=t,this.items=t.map((o,l)=>({...o,created_at:moment(o.created_at).format("MMM D, YYYY hh:mma"),"#":(this.serverOptions.page-1)*this.serverOptions.rowsPerPage+(l+1)})),this.totalItems=e.data.total}).finally(()=>{this.state.isLoading=!1,this.state.isMounted=!0})},async fetchVehicleRecords(){this.state.isLoading=!0,this.state.isMounted=!1,await I.fetchWithoutOwner().then(e=>{let t=e.data;this.vehicles=t.map((o,l)=>({...o,created_at:moment(o.created_at).format("MMM D, YYYY hh:mma"),"#":(this.serverOptions.page-1)*this.serverOptions.rowsPerPage+(l+1)})),this.totalVehicles=e.data.total}).finally(()=>{this.state.isLoading=!1,this.state.isMounted=!0})},async fetchCustomerRecord(e,t){this.state.fetchingCustomer=!0,await X.fetchRecord(e,t).then(o=>{console.log(o);let l=o.data;this.form=l}).finally(()=>{this.state.fetchingCustomer=!1})},handlePageChange(e){this.serverOptions.page!=e&&(this.serverOptions.page=e)},handlePerPageChange(e){this.serverOptions.page=1,this.serverOptions.rowsPerPage=e},onSortChange(e){e[0].type!="none"&&(this.serverOptions.sortBy=e[0].field,this.serverOptions.sortType=e[0].type)},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(t=>{t.value&&(this.state.isDeleting=!0,f.remove(e).then(o=>{o.status==200&&(this.$swal.fire({title:"Yaaay!",text:"Record has been deleted successfully.",type:"success",icon:"success",timer:2e3}),this.fetchRecords())}))}).catch(t=>{t.response&&t.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 addRecord(e){this.state.showPanel=!0,await this.fetchCustomerRecord(e)},closePanel(){this.state.showPanel=!1},async submitForm(){if(this.state.isLoading=!0,this.state.isSubmitted=!0,!this.v$.$invalid)try{this.state.isEdit==!0?(await f.update(this.categoryData.category_code,this.categoryData),Swal.fire("Success!","Data successfully updated.","success")):(await f.create(this.categoryData),Swal.fire("Success!","Data succesfully created.","success")),this.state.showModal=!1,this.state.isLoading=!1,this.resetData(),this.fetchRecords()}catch(e){this.error=e||"",this.state.isResetError=!0,this.state.isLoading=!1}},closeModal(){this.state.showModal=!1,this.resetData(),this.fetchRecords()},closeForm(){this.$refs.form.state.showModal=!1},resetData(){this.state={isLoading:!1,isMounted:!1,isResetError:!1,isSubmitted:!1,showModal:!1},this.categoryData={category_code:"",category_desc:""},this.error=[]},reload(){this.fetchRecords()}},mounted(){this.fetchRecords(),this.fetchVehicleRecords()}},K={class:"rounded-t bg-[url('@/assets/images/background/car-showroom.jpg')] bg-cover bg-[center] mih-h-24 pr-8"},W={class:"grid grid-cols-2"},q={class:"p-8"},J={class:"bg-white bg-opacity-[0.5] rounded grid lg:grid-cols-2 p-2"},Z={class:"flex gap-2 px-2"},ee={class:"h-12 w-12 flex flex-col items-center justify-center rounded-full bg-white text-2xl mb-2 drop-shadow"},te={class:"text-3xl font-sans text-primary-800 py-1 drop-shadow"},se={class:"bg-slate-200 slant-container w-full h-full float-right p-8"},ae={class:"flex justify-between"},oe={class:"flex-grow"},re=a("div",null,null,-1),ie={key:0,class:"text-center"};function le(e,t,o,l,s,b){const _=r("Icon"),v=r("InputGroup"),w=r("CreateButton"),P=r("EditButton"),C=r("Pagination"),x=r("Table"),O=r("Loading"),R=r("Panel"),D=r("Card"),M=r("Layout");return m(),p(M,{breadcrumbs:s.breadcrumbs},{default:n(()=>[a("div",null,[i(D,{bodyClass:"p-0"},{default:n(()=>[a("div",K,[a("div",W,[a("div",q,[a("div",J,[a("div",Z,[a("div",ee,[i(_,{icon:"game-icons:city-car",class:"text-5xl text-primary-700"})]),a("div",te,y(s.title),1)])])]),a("div",se,[a("div",null,[a("div",ae,[a("div",oe,[i(v,{modelValue:s.searchQuery,"onUpdate:modelValue":t[0]||(t[0]=u=>s.searchQuery=u),class:"w-full focus:border-cyan-500 pt-1 pr-4",placeholder:"Search",type:"text",prependIcon:"heroicons-outline:search",merged:""},null,8,["modelValue"])]),a("div",null,[e.$ability.can("add","customer")?(m(),p(w,{key:0,onClick:e.createRecord},null,8,["onClick"])):g("",!0)])])])])])]),a("div",null,[i(x,{columns:s.vehicleColumns,rows:s.vehicles,"default-sort-field":s.serverOptions.sortBy,"default-sort-order":s.serverOptions.sortType,headerTitle:s.title,headerClass:"rounded-t bg-[url('@/assets/images/background/calendar.jpg')] bg-cover bg-[bottom] mih-h-24",headerConfigClass:"flex",onSort:e.handleSort,onSearch:e.handleSearch},{"table-row":n(u=>[u.column.field=="action"?(m(),L("div",ie,[i(P,{onClick:ne=>b.addRecord(u.row.aha_user_id)},null,8,["onClick"])])):g("",!0)]),"pagination-bottom":n(()=>[i(C,{currentPage:s.serverOptions.page,totalItems:s.totalItems,totalPages:e.totalPages,itemsPerPage:s.serverOptions.rowsPerPage,onChangePage:e.changePage,onChangeItemsPerPage:e.updateItemsPerPage,pageOptions:s.perPageOptions,pageNumberClass:""},null,8,["currentPage","totalItems","totalPages","itemsPerPage","onChangePage","onChangeItemsPerPage","pageOptions"])]),default:n(()=>[re]),_:1},8,["columns","rows","default-sort-field","default-sort-order","headerTitle","onSort","onSearch"]),s.state.isLoading?(m(),p(O,{key:0,text:"Fetching records"})):g("",!0),i(R,{active:s.state.showPanel,onClose:b.closePanel,headerTitle:"Cancel Booking",panelClass:"rounded-md shadow border-slate-300",width:"lg:w-[500px]",height:"lg:h-[600px]",horizontalPosition:"left-1/2",verticalPosition:"top-1/4"},{default:n(()=>[k(y(s.form),1)]),_:1},8,["active","onClose"])])]),_:1})])]),_:1},8,["breadcrumbs"])}const Ye=B(z,[["render",le]]);export{Ye as default};