PageSourceSearch

https://genesissa.com/_nuxt/Duuoe7m8.js

js genesissa.com collected 2026-09-24 14:44:04 UTC 26,893 bytes, 1 lines download raw bytes

1/* empty css        *//* empty css        */import{M as Te,cd as je,bV as Fe,bS as $e,bm as f,co as I,b7 as Le,b4 as ze,x as m,H as c,cr as R,bO as r,_ as Ge,v as U,u as t,bE as i,cu as He,w as p,cs as b,ci as W,cf as Q,B as J,b as K,bo as X,ab as B,cj as k,a_ as A,s as E,c7 as Re,bc as u}from"./HqA1Igia.js";import{u as We}from"./DrxJX-jn.js";import{u as Qe}from"./D2yjocE7.js";import{u as Je}from"./DQofGy2K.js";import{u as Ke}from"./4jsELgEt.js";import{u as Xe}from"./BdTKDNyj.js";import{u as Ye,A as Ze,d as et,b as tt,c as ot}from"./CPMchAm4.js";import{u as at,e as st}from"./BTB4REQa.js";import{u as rt}from"./eWyPjS__.js";import{u as lt}from"./BjNbxMYW.js";import"./Dj8mi3-g.js";import{B as Y}from"./-BPd74xi.js";import{P as it}from"./CDZPKbic.js";import{u as dt}from"./LUg8N9Gq.js";import{_ as nt}from"./BU57REUF.js";import{B as h}from"./VYXZbsUq.js";import{B as ct}from"./BuqLWJWr.js";import{B as ut}from"./BoMqs2DV.js";import{u as mt,L as pt}from"./Dw-PrYjr.js";import{D as vt}from"./BXRfkEpJ.js";import{T as O}from"./DrIMgDNR.js";import{r as bt}from"./n5Y1udX_.js";import{r as Z}from"./BS3Tg2nM.js";import{r as ee}from"./yK5usSyh.js";import{a as ft}from"./Dg6PWhg0.js";import"./sLJ6oEmS.js";import"./88Kxuo6H.js";import"./BcCU057p.js";import"./BBNsQP3y.js";import"./Cfny9MV3.js";import"./DmUO8biu.js";import"./CZ1ISDLf.js";import"./Dqc-lmox.js";import"./Dnaa9P-1.js";import"./BzVLbPUO.js";import"./Bc-IbRQY.js";import"./CTD9u4TC.js";import"./SBeqZLJM.js";import"./C9C9p6W6.js";import"./AU95Hpqt.js";import"./BxyoJddO.js";import"./D4nCrqhI.js";import"./DEZZS8Vo.js";import"./BNaPjdKW.js";import"./CnWBBUF3.js";import"./CXuYN6eo.js";import"./Cu74VIjW.js";import"./D5PY8D_I.js";import"./H-DE_ptS.js";/* empty css        *//* empty css        */import"./DlAUqK2U.js";import"./BebB9tx3.js";const xt={class:"h-full flex flex-col"},_t={key:1,class:"flex-1 overflow-y-auto w-full"},ht={class:"max-w-[1320px] mx-auto w-full px-4 md:px-6 py-4 space-y-4"},gt={class:"flex items-center gap-3"},yt={class:"flex-1 min-w-0"},It={class:"text-xl md:text-2xl font-bold text-[var(--text)] tracking-tight"},kt={class:"text-sm text-[var(--muted)] mt-0.5"},wt={class:"rounded-2xl border border-[var(--border)] bg-[var(--surface)] p-4 md:p-5 shadow-[var(--shadow)] dark:backdrop-blur-xl"},Ct={class:"p-0"},Vt={class:"text-[11px] font-bold text-[var(--muted)] uppercase tracking-[0.06em] mb-4"},Dt={class:"grid grid-cols-1 md:grid-cols-3 gap-4"},St={class:"space-y-2 min-w-0 max-w-[420px] w-full"},Pt={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},Ut={class:"space-y-2"},Bt={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},At={key:0,class:"text-xs text-red-500 mt-1"},Et={class:"space-y-2"},Ot={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},Nt={class:"text-xs text-[var(--muted)] mt-1"},Mt={class:"text-[11px] font-bold text-[var(--muted)] uppercase tracking-[0.06em] mb-4"},qt={class:"grid grid-cols-1 md:grid-cols-3 gap-4"},Tt={class:"space-y-2"},jt={class:"text-xs text-[var(--muted)] mt-1"},Ft={class:"space-y-2"},$t={class:"text-xs text-[var(--muted)] mt-1"},Lt={class:"space-y-2"},zt={class:"text-xs text-[var(--muted)] mt-1"},Gt={class:"text-[11px] font-bold text-[var(--muted)] uppercase tracking-[0.06em] mb-4"},Ht={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},Rt={class:"space-y-2"},Wt={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},Qt={value:"Walk-in"},Jt={value:"Indicação"},Kt={value:"Instagram"},Xt={value:"Facebook"},Yt={value:"Google"},Zt={value:"Parceria"},eo={value:"Cadastro manual"},to={value:"Outro"},oo={class:"space-y-2"},ao={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},so={value:"agendado"},ro={value:"confirmado"},lo={value:"em_andamento"},io={value:"concluido"},no={value:"cancelado"},co={value:"nao_compareceu"},uo={class:"grid grid-cols-1 md:grid-cols-3 gap-4"},mo={class:"flex items-center pt-6"},po={class:"flex items-center gap-2 cursor-pointer"},vo={class:"text-sm font-medium text-[var(--text)]"},bo={class:"flex items-center pt-6"},fo={class:"flex items-center gap-2 cursor-pointer"},xo={class:"text-sm font-medium text-[var(--text)]"},_o={class:"flex items-center justify-between mb-4"},ho={class:"text-[11px] font-bold text-[var(--muted)] uppercase tracking-[0.06em]"},go={class:"space-y-3"},yo={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},Io={class:"space-y-2"},ko={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},wo={key:0,class:"text-xs text-red-500 mt-1"},Co={class:"space-y-2"},Vo={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},Do={class:"w-full max-w-[140px] px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--surface)] text-sm text-[var(--text)]"},So={class:"grid grid-cols-1 md:grid-cols-3 gap-4"},Po={class:"space-y-2"},Uo={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},Bo=["onUpdate:modelValue"],Ao={key:0,class:"text-xs text-red-500 mt-1"},Eo={class:"space-y-2"},Oo={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},No=["onUpdate:modelValue"],Mo={class:"space-y-2"},qo={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},To={class:"mt-4 space-y-2 max-w-[420px] w-full"},jo={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},Fo={class:"text-xs text-[var(--subtle)]"},$o={class:"flex items-start justify-between gap-3"},Lo={class:"min-w-0"},zo={class:"text-[13px] font-semibold text-[var(--text)]"},Go={class:"text-xs text-[var(--muted)] mt-0.5 leading-snug"},Ho=["aria-checked","onClick"],Ro={key:0,class:"mt-3"},Wo={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)] mb-1.5"},Qo=["onUpdate:modelValue","placeholder"],Jo={class:"text-xs text-[var(--muted)] mt-1"},Ko={class:"flex justify-end mt-4"},Xo=["onClick"],Yo={key:0,class:"text-center py-8 text-[var(--muted)] text-sm"},Zo={class:"flex items-center justify-between mb-4"},ea={class:"text-[11px] font-bold text-[var(--muted)] uppercase tracking-[0.06em]"},ta={class:"space-y-3"},oa={class:"grid grid-cols-1 md:grid-cols-4 gap-4"},aa={class:"space-y-2"},sa={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},ra={key:0,class:"text-xs text-red-500 mt-1"},la={class:"space-y-2"},ia={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},da={class:"w-full max-w-[140px] px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--surface)] text-sm text-[var(--text)]"},na={class:"space-y-2"},ca={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},ua=["onUpdate:modelValue"],ma={class:"space-y-2"},pa={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},va={class:"text-xs text-[var(--muted)] mt-1"},ba={class:"flex justify-end mt-4"},fa=["onClick"],xa={key:0,class:"text-center py-8 text-[var(--muted)] text-sm"},_a={key:0},ha={class:"text-[11px] font-bold text-[var(--muted)] uppercase tracking-[0.06em] mb
1-4"},ga={class:"mb-4 p-4 rounded-xl border border-[var(--border)] bg-[var(--surface-2)]"},ya={class:"flex items-center justify-between p-4 rounded-xl border border-[var(--border)] bg-[var(--accent)]/10"},Ia={class:"text-lg font-bold text-[var(--text)]"},ka={class:"text-2xl font-bold text-[var(--accent)]"},wa={class:"flex flex-col sm:flex-row gap-3 pt-6 border-t border-[var(--border)]"},Ca={type:"submit",style:{backgroundImage:"var(--brand-gradient)"},class:"flex-1 px-6 py-3 rounded-xl text-sm font-semibold transition duration-200 text-white hover:brightness-110 dark:hover:shadow-[var(--glow)] order-1 sm:order-2"},Va={class:"flex-1 overflow-y-auto w-full flex items-center justify-center"},Da={class:"text-center"},Sa={class:"mt-4 text-[var(--muted)]"},Bs=Te({__name:"novo",setup(Pa){const{tn:l}=je(),N=Re(),te=We(),w=Qe(),C=Je(),M=Ke(),q=Xe(),T=Fe(),v=$e(),{canCreateAtendimentos:oe}=rt(),{podeUsarPlano:ae,limparCache:se}=lt(),re=mt(),j=f(null),g=f([]),V=f(!1),a=f({date:new Date().toISOString().slice(0,10),clientId:"",colaboradorId:"",horario_marcado:"",start:"",end:"",source:"Walk-in",attended:!0,isFirstVisit:!1,forma_pagamento:"",bandeira_cartao_id:null,status:"agendado",services:[],products:[]}),le=s=>{typeof s=="string"&&s&&(a.value.date=s)};I(()=>a.value.clientId,async s=>{s?await F():g.value=[]});const F=async()=>{if(a.value.clientId){V.value=!0;try{g.value=await re.listarParaAtendimento(a.value.clientId)}catch(s){console.error("Erro ao carregar observações do cliente:",s),g.value=[]}finally{V.value=!1}}},ie=s=>{j.value=s,a.value.colaboradorId=s?.id||""};let x=null;I(()=>[a.value.clientId,a.value.services,a.value.products],()=>{x&&clearTimeout(x),x=setTimeout(async()=>{const s=a.value.clientId;if(!s){se(),a.value.forma_pagamento==="plano"&&(a.value.forma_pagamento="");return}await ae(s,a.value.services||[],a.value.products||[])==="plano"?a.value.forma_pagamento="plano":a.value.forma_pagamento==="plano"&&(a.value.forma_pagamento="")},350)},{deep:!0,immediate:!1}),I(()=>a.value.forma_pagamento,s=>{s!=="cartao_credito"&&s!=="cartao_debito"&&(a.value.bandeira_cartao_id=null)});const D=E(()=>a.value.clientId?w.clientes.find(s=>s.id===a.value.clientId)||(S.value?.id===a.value.clientId?S.value:null):null),de=s=>s&&w.clientes.find(o=>o.id===s)||null,S=f(null),y=f(null),ne=s=>{const o=(s?.id||"")!==a.value.clientId;S.value=s,a.value.clientId=s?.id||"",o&&a.value.services.forEach(e=>{e.beneficiarioClienteId=null})};I(y,s=>{s&&a.value.services.forEach(o=>{o.beneficiarioClienteId=s.id,o.permitirDuplicado=!1,o.observacao=""})});const{dependentes:ce,acompanhar:ue,carregar:me}=dt();ue(()=>a.value.clientId||null);const pe=E(()=>[{id:null,nome:D.value?.name||l("O cliente")},...ce.value.map(s=>({id:s.id,nome:s.nome}))]),ve=E(()=>a.value.clientId?{id:a.value.clientId,nome:D.value?.name||l("o cliente")}:null),$=(s,o)=>{const e=a.value.services[s];e&&(e.beneficiarioClienteId=o,o&&(e.permitirDuplicado=!1,e.observacao=""))},be=async(s,o)=>{await me(a.value.clientId||null),$(s,o.id)},L=()=>{N.push("/atendimentos")},fe=()=>{a.value.services.push({id:"",name:"",price:0,byMe:!1,executorId:"",assistenteId:null,indicadorId:null,colaboradorIndicadorId:null,permitirDuplicado:!1,observacao:"",beneficiarioClienteId:y.value?.id??null})},xe=s=>{a.value.services.splice(s,1)},_e=s=>{const o=a.value.services[s];o.permitirDuplicado=!o.permitirDuplicado,o.permitirDuplicado||(o.observacao="")},he=s=>s&&C.servicos.find(o=>o.id===s)||null,ge=(s,o)=>{const e=a.value.services[s];o?(e.id=o.id,e.name=o.name,e.price=o.defaultPrice,G(s)):(e.id="",e.name="",e.price=0)},_=s=>s&&q.colaboradores.find(o=>o.id===s)||null,z=(s,o)=>o&&o.id===s?o:_(s),ye=(s,o)=>{const e=a.value.services[s];e.executorId=o?.id||"",ke(s,o)},Ie=(s,o)=>{const e=a.value.services[s];e.assistenteId=o?.id||null,Ce(s,o)},ke=(s,o)=>{const e=a.value.services[s];et(e,z(e.executorId,o))&&(e.assistenteId=""),e.colaboradorIndicadorId===e.executorId&&(e.colaboradorIndicadorId=null),G(s)},{precoDoProfissional:we}=ot();async function G(s){const o=a.value.services[s];if(!o?.id||!o.executorId)return;const e=C.servicos.find(qe=>qe.id===o.id),d=Number(e?.defaultPrice??0),n=await we(o.executorId,o.id);o.price=n??d}const Ce=(s,o)=>{const e=a.value.services[s];tt(e,z(e.assistenteId,o))&&(e.executorId=""),e.colaboradorIndicadorId===e.assistenteId&&(e.colaboradorIndicadorId=null)},Ve=s=>{const o=a.value.services[s],e=o.colaboradorIndicadorId;o.executorId===e&&(o.executorId=""),o.assistenteId===e&&(o.assistenteId=null)},De=(s,o)=>{a.value.services[s].colaboradorIndicadorId=o?.id||null,Ve(s)},Se=(s,o)=>
1{if(o?.id&&o.id===a.value.clientId){ft.warning(l("O próprio cliente do atendimento não pode ser o indicador"));return}a.value.services[s].indicadorId=o?.id||null},Pe=()=>{a.value.products.push({id:"",name:"",price:0,qty:1,byMe:!1,vendedorId:null})},Ue=s=>{a.value.products.splice(s,1)},Be=s=>s&&M.produtos.find(o=>o.id===s)||null,{lembrar:Ae,faltas:P,mensagemDeBloqueio:Ee}=Ye(()=>a.value.products.map(s=>({produto_id:s.id,quantidade:s.qty}))),Oe=(s,o)=>{const e=a.value.products[s];Ae(o),o?(e.id=o.id,e.name=o.name,e.price=o.defaultPrice):(e.id="",e.name="",e.price=0)},Ne=()=>{const s=a.value.services.reduce((e,d)=>e+(d.price||0),0),o=a.value.products.reduce((e,d)=>e+(d.price||0)*(d.qty||1),0);return s+o},Me=async()=>{if(!a.value.clientId){v.addNotification({type:"error",message:l("Selecione um cliente")});return}const s=a.value.services.some(e=>e.id&&e.id.trim()!==""),o=a.value.products.some(e=>e.id&&e.id.trim()!=="");if(!s&&!o){v.addNotification({type:"error",message:l("O atendimento deve ter pelo menos um serviço ou um produto")});return}if(P.value.size){const e=Object.fromEntries(a.value.products.map(d=>[d.id,d.name]));v.addNotification({type:"error",message:`${l("Estoque insuficiente")}: ${Ee(e)}`});return}for(const e of a.value.services){if(e.id&&e.id.trim()!==""&&(!e.executorId||e.executorId.trim()==="")){v.addNotification({type:"error",message:l("Todos os serviços devem ter um executor selecionado")});return}if(e.id&&e.id.trim()!==""&&e.permitirDuplicado&&!(e.observacao||"").trim()){v.addNotification({type:"error",message:`Informe o motivo do serviço repetido${e.name?` "${e.name}"`:""} (ex.: corte do filho)`});return}}try{const e={date:a.value.date||new Date().toISOString().slice(0,10),clientId:a.value.clientId,horario_marcado:a.value.horario_marcado||null,start:a.value.start||null,end:a.value.end||null,source:a.value.source,attended:a.value.attended,isFirstVisit:a.value.isFirstVisit,forma_pagamento:a.value.forma_pagamento||void 0,bandeira_cartao_id:a.value.bandeira_cartao_id||null,status:a.value.status||"agendado",colaborador_id:a.value.colaboradorId||null,services:a.value.services.filter(d=>d.id&&d.id.trim()!=="").map(d=>({id:d.id,name:d.name,price:d.price,byMe:d.byMe||!1,executorId:d.executorId,assistenteId:d.assistenteId||null,indicadorId:d.indicadorId||null,colaboradorIndicadorId:d.colaboradorIndicadorId||null,permitirDuplicado:d.permitirDuplicado||!1,observacao:d.permitirDuplicado?(d.observacao||"").trim():"",beneficiarioClienteId:d.beneficiarioClienteId||null})),products:a.value.products.filter(d=>d.id&&d.id.trim()!=="").map(d=>({id:d.id,name:d.name,price:d.price,qty:d.qty,byMe:d.byMe||!1,vendedorId:d.vendedorId||null}))};await te.addVisit(e),v.addNotification({type:"success",message:l("Atendimento cadastrado com sucesso!")}),N.push("/atendimentos")}catch(e){console.error("Erro ao cadastrar atendimento:",e);let d="Erro ao cadastrar atendimento";if(e&&typeof e=="object"){const n=e;n.response&&n.response.data&&n.response.data.message?d=n.response.data.message:n.message&&(d=n.message)}v.addNotification({type:"error",message:d})}},H=async()=>{if(await st())try{T.barbearias.length===0&&await T.loadBarbearias(),await Promise.all([w.loadClients(),C.loadServices(),M.loadProducts(),q.loadColaboradores()])}catch{v.addNotification({type:"error",message:l("Erro ao carregar dados")})}};return Le(H),ze(()=>{x&&clearTimeout(x)}),at(H),(s,o)=>(u(),m("div",xt,[c(r(Ge),null,{fallback:R(()=>[t("div",Va,[t("div",Da,[o[8]||(o[8]=t("div",{class:"animate-spin h-8 w-8 border-2 border-[var(--accent)] border-t-transparent rounded-full mx-auto"},null,-1)),t("p",Sa,i(r(l)("Carregando...")),1)])])]),default:R(()=>[r(oe)?(u(),m("div",_t,[t("div",ht,[t("header",gt,[t("button",{onClick:L,class:"p-2 rounded-xl hover:bg-[var(--surface-2)] transition duration-200 shrink-0"},[c(r(bt),{class:"h-5 w-5 text-[var(--muted)]"})]),t("div",yt,[t("h1",It,i(r(l)("Novo Atendimento")),1),t("p",kt,i(r(l)("Registre um novo atendimento realizado")),1)])]),t("div",wt,[t("div",Ct,[t("form",{onSubmit:He(Me,["prevent"]),class:"space-y-4 lg:space-y-6"},[t("div",null,[t("h3",Vt,i(r(l)("Informações Básicas")),1),t("div",Dt,[t("div",St,[t("label",Pt,i(r(l)("Data *")),1),c(vt,{"model-value":a.value.date||null,type:"date",placeholder:r(l)("Selecione a data"),clearable:!1,
1class:"w-full","onUpdate:modelValue":le},null,8,["model-value","placeholder"])]),t("div",Ut,[t("label",Bt,i(r(l)("Cliente *")),1),c(Y,{beneficiario:y.value,"onUpdate:beneficiario":o[0]||(o[0]=e=>y.value=e),"model-value":D.value,"contas-associadas":"","onUpdate:modelValue":ne,placeholder:r(l)("Digite para buscar cliente...")},null,8,["beneficiario","model-value","placeholder"]),a.value.clientId?p("",!0):(u(),m("p",At,i(r(l)("Obrigatório")),1))]),t("div",Et,[t("label",Ot,i(r(l)("Colaborador")),1),c(h,{"model-value":j.value,"onUpdate:modelValue":ie,placeholder:r(l)("Digite para buscar colaborador...")},null,8,["model-value","placeholder"]),t("p",Nt,i(r(l)("Opcional - deixe vazio para vendas avulsas")),1)])])]),t("div",null,[t("h3",Mt,i(r(l)("Horários")),1),t("div",qt,[t("div",Tt,[c(O,{modelValue:a.value.horario_marcado,"onUpdate:modelValue":o[1]||(o[1]=e=>a.value.horario_marcado=e),label:r(l)("Horário Marcado"),"input-class":"max-w-[140px]"},null,8,["modelValue","label"]),t("p",jt,i(r(l)("Horário agendado/marcado")),1)]),t("div",Ft,[c(O,{modelValue:a.value.start,"onUpdate:modelValue":o[2]||(o[2]=e=>a.value.start=e),label:r(l)("Início Real"),"input-class":"max-w-[140px]"},null,8,["modelValue","label"]),t("p",$t,i(r(l)("Preenchido ao iniciar o atendimento")),1)]),t("div",Lt,[c(O,{modelValue:a.value.end,"onUpdate:modelValue":o[3]||(o[3]=e=>a.value.end=e),label:"Fim Real","input-class":"max-w-[140px]"},null,8,["modelValue"]),t("p",zt,i(r(l)("Preenchido ao concluir o atendimento")),1)])])]),t("div",null,[t("h3",Gt,i(r(l)("Origem e Status")),1),t("div",Ht,[t("div",Rt,[t("label",Wt,i(r(l)("Canal")),1),b(t("select",{"onUpdate:modelValue":o[4]||(o[4]=e=>a.value.source=e),class:"atendimento-select w-full max-w-[180px] px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--surface-2)] text-sm text-[var(--text)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] dark:focus-visible:shadow-[var(--glow)]"},[t("option",Qt,i(r(l)("Walk-in")),1),t("option",Jt,i(r(l)("Indicação")),1),t("option",Kt,i(r(l)("Instagram")),1),t("option",Xt,i(r(l)("Facebook")),1),t("option",Yt,i(r(l)("Google")),1),t("option",Zt,i(r(l)("Parceria")),1),t("option",eo,i(r(l)("Cadastro manual")),1),t("option",to,i(r(l)("Outro")),1)],512),[[W,a.value.source]])]),t("div",oo,[t("label",ao,i(r(l)("Status")),1),b(t("select",{"onUpdate:modelValue":o[5]||(o[5]=e=>a.value.status=e),class:"atendimento-select w-full max-w-[180px] px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--surface-2)] text-sm text-[var(--text)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] dark:focus-visible:shadow-[var(--glow)]"},[t("option",so,i(r(l)("Agendado")),1),t("option",ro,i(r(l)("Confirmado")),1),t("option",lo,i(r(l)("Em Andamento")),1),t("option",io,i(r(l)("Concluído")),1),t("option",no,i(r(l)("Cancelado")),1),t("option",co,i(r(l)("Não Compareceu")),1)],512),[[W,a.value.status]])])]),t("div",uo,[t("div",mo,[t("label",po,[b(t("input",{"onUpdate:modelValue":o[6]||(o[6]=e=>a.value.attended=e),type:"checkbox",class:"w-5 h-5 rounded border-[var(--border)] bg-[var(--surface-2)] text-[var(--accent)] focus:ring-[var(--accent)]"},null,512),[[Q,a.value.attended]]),t("span",vo,i(r(l)("Cliente compareceu")),1)])]),t("div",bo,[t("label",fo,[b(t("input",{"onUpdate:modelValue":o[7]||(o[7]=e=>a.value.isFirstVisit=e),type:"checkbox",class:"w-5 h-5 rounded border-[var(--border)] bg-[var(--surface-2)] text-[var(--accent)] focus:ring-[var(--accent)]"},null,512),[[Q,a.value.isFirstVisit]]),t("span",xo,i(r(l)("Primeira visita")),1)])])])]),t("div",null,[t("div",_o,[t("h3",ho,i(r(l)("Serviços")),1),t("button",{type:"button",onClick:fe,style:{backgroundImage:"var(--brand-gradient)"},class:"px-4 py-2 rounded-xl text-sm font-semibold transition duration-200 text-white hover:brightness-110 dark:hover:shadow-[var(--glow)] flex items-center gap-2"},[c(r(Z),{class:"h-4 w-4"}),J(" "+i(r(l)("Adicionar")),1)])]),t("div",go,[(u(!0),m(K,null,X(a.value.services,(e,d)=>(u(),m("div",{key:d,class:"p-4 rounded-xl border border-[var(--border)] bg-[var(--surface-2)]"}
1,[t("div",yo,[t("div",Io,[t("label",ko,i(r(l)("Serviço *")),1),c(ct,{"model-value":he(e.id),"onUpdate:modelValue":n=>ge(d,n),placeholder:r(l)("Digite para buscar serviço...")},null,8,["model-value","onUpdate:modelValue","placeholder"]),e.id?p("",!0):(u(),m("p",wo,i(r(l)("Obrigatório")),1))]),t("div",Co,[t("label",Vo,i(r(l)("Preço")),1),t("div",Do,i(r(B)(e.price||0)),1)])]),t("div",So,[t("div",Po,[t("label",Uo,i(r(l)("Executor *")),1),c(h,{"model-value":_(e.executorId),"onUpdate:modelValue":n=>ye(d,n),placeholder:r(l)("Digite para buscar executor...")},null,8,["model-value","onUpdate:modelValue","placeholder"]),b(t("input",{"onUpdate:modelValue":n=>e.executorId=n,type:"hidden"},null,8,Bo),[[k,e.executorId]]),!e.executorId&&e.id?(u(),m("p",Ao,i(r(l)("Obrigatório")),1)):p("",!0)]),t("div",Eo,[t("label",Oo,i(r(l)("Assistente")),1),c(h,{"model-value":_(e.assistenteId),"onUpdate:modelValue":n=>Ie(d,n),placeholder:r(l)("Digite para buscar assistente...")},null,8,["model-value","onUpdate:modelValue","placeholder"]),b(t("input",{"onUpdate:modelValue":n=>e.assistenteId=n,type:"hidden"},null,8,No),[[k,e.assistenteId]])]),t("div",Mo,[t("label",qo,i(r(l)("Colaborador que indicou")),1),c(h,{"model-value":_(e.colaboradorIndicadorId),"onUpdate:modelValue":n=>De(d,n),"exclude-ids":[e.executorId,e.assistenteId].filter(Boolean),placeholder:r(l)("Nenhum")},null,8,["model-value","onUpdate:modelValue","exclude-ids","placeholder"])])]),t("div",To,[t("label",jo,i(r(l)("Cliente indicador (neste serviço)")),1),c(Y,{"model-value":de(e.indicadorId),"onUpdate:modelValue":n=>Se(d,n),"show-cadastrar":!1,placeholder:r(l)("Nenhum")},null,8,["model-value","onUpdate:modelValue","placeholder"]),t("p",Fo,i(r(l)("Cliente indicador deste serviço (crédito/pontos conforme regras e valor configurado no serviço).")),1)]),e.id&&a.value.clientId?(u(),U(it,{key:0,class:"mt-4 max-w-[420px] w-full",pessoas:pe.value,"model-value":e.beneficiarioClienteId||null,titular:ve.value,"onUpdate:modelValue":n=>$(d,n),onCadastrado:n=>be(d,n)},null,8,["pessoas","model-value","titular","onUpdate:modelValue","onCadastrado"])):p("",!0),e.id&&a.value.clientId&&!e.beneficiarioClienteId?(u(),m("div",{key:1,class:A(["mt-4 rounded-xl border p-3 transition-all",e.permitirDuplicado?"border-[var(--accent)]/50 bg-[var(--accent)]/5":"border-[var(--border)] bg-[var(--surface)]"])},[t("div",$o,[t("div",Lo,[t("p",zo,i(r(l)("Mesmo serviço repetido no dia")),1),t("p",Go,i(r(l)("Libere quando for o mesmo serviço 2x pro cliente — ex.: um corte pra ele e outro pro filho, sem cadastrar o filho.")),1)]),t("button",{type:"button",role:"switch","aria-checked":e.permitirDuplicado,onClick:n=>_e(d),class:A(["relative inline-flex h-6 w-11 flex-shrink-0 items-center rounded-full transition-colors focus:outline-none",e.permitirDuplicado?"bg-[var(--accent)]":"bg-gray-300 dark:bg-white/20"])},[t("span",{class:A(["inline-block h-5 w-5 transform rounded-full bg-white shadow transition-transform duration-200",e.permitirDuplicado?"translate-x-[22px]":"translate-x-0.5"])},null,2)],10,Ho)]),e.permitirDuplicado?(u(),m("div",Ro,[t("label",Wo,i(r(l)("Motivo *")),1),b(t("textarea",{"onUpdate:modelValue":n=>e.observacao=n,rows:"2",maxlength:"280",placeholder:r(l)("Ex.: corte do filho do cliente"),class:"w-full rounded-xl border border-[var(--border)] bg-[var(--surface-2)] px-3 py-2 text-sm text-[var(--text)] placeholder:text-[var(--muted)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] resize-none"},null,8,Qo),[[k,e.observacao]]),t("p",Jo,i(r(l)("Obrigatório. Fica sinalizado na agenda. A repetição não entra na assinatura — paga à parte.")),1)])):p("",!0)],2)):p("",!0),t("div",Ko,[t("button",{type:"button",onClick:n=>xe(d),class:"p-2 text-red-600 dark:text-red-400 hover:bg-red-500/10 rounded-xl transition duration-200"},[c(r(ee),{class:"h-5 w-5"})],8,Xo)])]))),128)),a.value.services.length===0?(u(),m("div",Yo,i(r(l)("Nenhum serviço adicionado")),1)):p("",!0)])]),t("div",null,[t("div",Zo,[t("h3",ea,i(r(l)("Produtos")),1),t("button",{type:"button",onClick:Pe,style:{backgroundImage:"var(--brand-gradient)"},class:"px-4 py-2 rounded-xl text-sm font-semibold transition duration-200 text-white hover:brightness-110 dark:hover:shadow-[var(--glow)] flex items-center gap-2"},[c(r(Z),{class:"h-4 w-4"}),J(" "+i(r(l)("Adicionar")),1)])]),t("div",ta,[(u(!0),m(K,null,X(a.value.products,(e,d)=>(u(),m("div",{key:d,class:"p-4 rounded-xl border border-[var(--border)] bg-[var(--surface-2)]"},[t("div",oa,[t("div",aa,[t("label",sa,i(r(l)("Produto *")),1),c(ut,{"model-value":Be(e.id),"onUpdate:modelValue":n=>Oe(d,n),placeholder:r(l)("Digite para buscar produto...")},null,8,["model-value","onUpdate:modelValue","placeholder"]),e.id?p("",!0):(u(),m("p",ra,i(r(l)("Obrigatório")),1))]),t("div",la,[t("label",ia,i(r(l)("Preç
1o")),1),t("div",da,i(r(B)(e.price||0)),1)]),t("div",na,[t("label",ca,i(r(l)("Quantidade *")),1),b(t("input",{"onUpdate:modelValue":n=>e.qty=n,type:"number",min:"1",placeholder:"1",class:"w-full max-w-[100px] px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--surface-2)] text-sm text-[var(--text)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] dark:focus-visible:shadow-[var(--glow)]"},null,8,ua),[[k,e.qty,void 0,{number:!0}]])]),t("div",ma,[t("label",pa,i(r(l)("Vendedor")),1),c(h,{"model-value":_(e.vendedorId),"onUpdate:modelValue":n=>e.vendedorId=n?.id||null,placeholder:r(l)("Nenhum (Opcional)")},null,8,["model-value","onUpdate:modelValue","placeholder"]),t("p",va,i(r(l)("Opcional")),1)])]),e.id&&r(P).get(e.id)?(u(),U(Ze,{key:0,class:"mt-3",falta:r(P).get(e.id)},null,8,["falta"])):p("",!0),t("div",ba,[t("button",{type:"button",onClick:n=>Ue(d),class:"p-2 text-red-600 dark:text-red-400 hover:bg-red-500/10 rounded-xl transition duration-200"},[c(r(ee),{class:"h-5 w-5"})],8,fa)])]))),128)),a.value.products.length===0?(u(),m("div",xa,i(r(l)("Nenhum produto adicionado")),1)):p("",!0)])]),a.value.clientId?(u(),m("div",_a,[t("h3",ha,i(r(l)("Observações do Cliente")),1),t("div",ga,[c(pt,{observacoes:g.value,"is-loading":V.value,onAtualizado:F},null,8,["observacoes","is-loading"])])])):p("",!0),t("div",ya,[t("span",Ia,i(r(l)("Total do Atendimento")),1),t("span",ka,i(r(B)(Ne())),1)]),t("div",wa,[t("button",{type:"button",onClick:L,class:"flex-1 px-6 py-3 rounded-xl border border-[var(--border)] text-[var(--text)] hover:bg-[var(--surface-2)] font-semibold transition duration-200 order-2 sm:order-1"},i(r(l)("Cancelar")),1),t("button",Ca,i(r(l)("Salvar Atendimento")),1)])],32)])])])])):(u(),U(nt,{key:0,message:"Você não tem permissão para criar atendimentos."}))]),_:1})]))}});export{Bs as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.