mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-27 11:41:09 -04:00
2 lines
6.5 KiB
JavaScript
2 lines
6.5 KiB
JavaScript
import{B as b,J as le,a0 as oe,k as g,aR as ne,aS as re,I as ue,r as n,o as p,l as _,w as t,f as a,h as d,q as F,ag as A,u as l,m as v,i as B,t as i,j as U,V as ce,x as M}from"./vendor.01d0adc5.js";import{b as me,j as de,l as ie,e as pe,g as C}from"./main.832b14c7.js";import{_ as _e}from"./CustomerIndexDropdown.8fced79d.js";import{_ as fe}from"./AstronautIcon.948728ac.js";const he={class:"flex items-center justify-end space-x-5"},ye={class:"relative table-container"},Be={class:"relative flex items-center justify-end h-5"},Ce={class:"flex text-sm font-medium cursor-pointer select-none text-primary-400"},be={class:"absolute z-10 items-center left-6 top-2.5 select-none"},ge={class:"relative block"},Se={setup(ve){me();const W=de(),u=ie(),k=pe();let f=b(null),h=b(!1),x=b(!0);const{t:m}=le();let r=oe({display_name:"",contact_name:"",phone:""});const P=g(()=>!u.totalCustomers&&!x.value),I=g({get:()=>u.selectedCustomers,set:s=>u.selectCustomer(s)}),V=g({get:()=>u.selectAllField,set:s=>u.setSelectAllState(s)}),Y=g(()=>[{key:"status",thClass:"extra w-10 pr-0",sortable:!1,tdClass:"font-medium text-gray-900 pr-0"},{key:"name",label:m("customers.name"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"phone",label:m("customers.phone")},{key:"due_amount",label:m("customers.amount_due")},{key:"created_at",label:m("items.added_on")},{key:"actions",tdClass:"text-right text-sm font-medium pl-0",thClass:"pl-0",sortable:!1}]);ne(r,()=>{z()},{debounce:500}),re(()=>{u.selectAllField&&u.selectAllCustomers()});function S(){f.value.refresh()}function z(){S()}function L(){return k.hasAbilities([C.DELETE_CUSTOMER,C.EDIT_CUSTOMER,C.VIEW_CUSTOMER])}async function G({page:s,filter:o,sort:y}){let $={display_name:r.display_name,contact_name:r.contact_name,phone:r.phone,orderByField:y.fieldName||"created_at",orderBy:y.order||"desc",page:s};x.value=!0;let c=await u.fetchCustomers($);return x.value=!1,{data:c.data.data,pagination:{totalPages:c.data.meta.last_page,currentPage:s,totalCount:c.data.meta.total,limit:10}}}function R(){r.display_name="",r.contact_name="",r.phone=""}function H(){h.value&&R(),h.value=!h.value}let j=b(new Date);j.value=ue(j).format("YYYY-MM-DD");function q(){W.openDialog({title:m("general.are_you_sure"),message:m("customers.confirm_delete",2),yesLabel:m("general.ok"),noLabel:m("general.cancel"),variant:"danger",hideNoButton:!1,size:"lg"}).then(s=>{s&&u.deleteMultipleCustomers().then(o=>{o.data&&S()})})}return(s,o)=>{const y=n("BaseBreadcrumbItem"),$=n("BaseBreadcrumb"),c=n("BaseIcon"),D=n("BaseButton"),J=n("BasePageHeader"),E=n("BaseInput"),w=n("BaseInputGroup"),X=n("BaseFilterWrapper"),K=n("BaseEmptyPlaceholder"),Q=n("BaseDropdownItem"),Z=n("BaseDropdown"),N=n("BaseCheckbox"),O=n("BaseText"),ee=n("router-link"),te=n("BaseFormatMoney"),ae=n("BaseTable"),se=n("BasePage");return p(),_(se,null,{default:t(()=>[a(J,{title:s.$t("customers.title")},{actions:t(()=>[d("div",he,[F(a(D,{variant:"primary-outline",onClick:H},{right:t(e=>[l(h)?(p(),_(c,{key:1,name:"XIcon",class:v(e.class)},null,8,["class"])):(p(),_(c,{key:0,name:"FilterIcon",class:v(e.class)},null,8,["class"]))]),default:t(()=>[B(i(s.$t("general.filter"))+" ",1)]),_:1},512),[[A,l(u).totalCustomers]]),l(k).hasAbilities(l(C).CREATE_CUSTOMER)?(p(),_(D,{key:0,onClick:o[0]||(o[0]=e=>s.$router.push("customers/create"))},{left:t(e=>[a(c,{name:"PlusIcon",class:v(e.class)},null,8,["class"])]),default:t(()=>[B(" "+i(s.$t("customers.new_customer")),1)]),_:1})):U("",!0)])]),default:t(()=>[a($,null,{default:t(()=>[a(y,{title:s.$t("general.home"),to:"dashboard"},null,8,["title"]),a(y,{title:s.$tc("customers.customer",2),to:"#",active:""},null,8,["title"])]),_:1})]),_:1},8,["title"]),a(X,{show:l(h),class:"mt-5",onClear:R},{default:t(()=>[a(w,{label:s.$t("customers.display_name"),class:"text-left"},{default:t(()=>[a(E,{modelValue:l(r).display_name,"onUpdate:modelValue":o[1]||(o[1]=e=>l(r).display_name=e),type:"text",name:"name",autocomplete:"off"},null,8,["modelValue"])]),_:1},8,["label"]),a(w,{label:s.$t("customers.contact_name"),class:"text-left"},{default:t(()=>[a(E,{modelValue:l(r).contact_name,"onUpdate:modelValue":o[2]||(o[2]=e=>l(r).contact_name=e),type:"text",name:"address_name",autocomplete:"off"},null,8,["modelValue"])]),_:1},8,["label"]),a(w,{label:s.$t("customers.phone"),class:"text-left"},{default:t(()=>[a(E,{modelValue:l(r).phone,"onUpdate:modelValue":o[3]||(o[3]=e=>l(r).phone=e),type:"text",name:"phone",autocomplete:"off"},null,8,["modelValue"])]),_:1},8,["label"])]),_:1},8,["show"]),F(a(K,{title:s.$t("customers.no_customers"),description:s.$t("customers.list_of_customers")},{actions:t(()=>[l(k).hasAbilities(l(C).CREATE_CUSTOMER)?(p(),_(D,{key:0,variant:"primary-outline",onClick:o[4]||(o[4]=e=>s.$router.push("/admin/customers/create"))},{left:t(e=>[a(c,{name:"PlusIcon",class:v(e.class)},null,8,["class"])]),default:t(()=>[B(" "+i(s.$t("customers.add_new_customer")),1)]),_:1})):U("",!0)]),default:t(()=>[a(fe,{class:"mt-5 mb-4"})]),_:1},8,["title","description"]),[[A,l(P)]]),F(d("div",ye,[d("div",Be,[l(u).selectedCustomers.length?(p(),_(Z,{key:0},{activator:t(()=>[d("span",Ce,[B(i(s.$t("general.actions"))+" ",1),a(c,{name:"ChevronDownIcon"})])]),default:t(()=>[a(Q,{onClick:q},{default:t(()=>[a(c,{name:"TrashIcon",class:"mr-3 text-gray-600"}),B(" "+i(s.$t("general.delete")),1)]),_:1})]),_:1})):U("",!0)]),a(ae,{ref:(e,T)=>{T.tableComponent=e,M(f)?f.value=e:f=e},class:"mt-3",data:G,columns:l(Y)},ce({header:t(()=>[d("div",be,[a(N,{modelValue:l(V),"onUpdate:modelValue":o[5]||(o[5]=e=>M(V)?V.value=e:null),variant:"primary",onChange:l(u).selectAllCustomers},null,8,["modelValue","onChange"])])]),"cell-status":t(({row:e})=>[d("div",ge,[a(N,{id:e.data.id,modelValue:l(I),"onUpdate:modelValue":o[6]||(o[6]=T=>M(I)?I.value=T:null),value:e.data.id,variant:"primary"},null,8,["id","modelValue","value"])])]),"cell-name":t(({row:e})=>[a(ee,{to:{path:`customers/${e.data.id}/view`}},{default:t(()=>[a(O,{text:e.data.name,length:30,tag:"span",class:"font-medium text-primary-500 flex flex-col"},null,8,["text"]),a(O,{text:e.data.contact_name?e.data.contact_name:"",length:30,tag:"span",class:"text-xs text-gray-400"},null,8,["text"])]),_:2},1032,["to"])]),"cell-phone":t(({row:e})=>[d("span",null,i(e.data.phone?e.data.phone:"-"),1)]),"cell-due_amount":t(({row:e})=>[a(te,{amount:e.data.due_amount||0,currency:e.data.currency},null,8,["amount","currency"])]),"cell-created_at":t(({row:e})=>[d("span",null,i(e.data.formatted_created_at),1)]),_:2},[L()?{name:"cell-actions",fn:t(({row:e})=>[a(_e,{row:e.data,table:l(f),"load-data":S},null,8,["row","table"])])}:void 0]),1032,["columns"])],512),[[A,!l(P)]])]),_:1})}}};export{Se as default};
|