1import{u as ae,r as M}from"./Zb9b90LP.js";import{D as oe,P as se}from"./DyReMQBO.js";import le from"./CnD4eIAN.js";import re from"./DgMnDwCj.js";import ie from"./I-QdBFVF.js";import{e as me,z as ce,h as V,i as ue,M as de,o as u,c as k,b as i,w as f,a as b,k as t,t as N,F as T,a5 as $,I as w,q as z,d as A,l as pe,K as v,r as F,Y as he,L as P,aq as H,n as W}from"./C9i5LpTO.js";import"./BMRPYyur.js";import"./B2CHoVfi.js";import"./DFcomt7o.js";import"./BnKRpy-0.js";import"./w1QIGkHw.js";const fe={class:"additional-information small"},be=["innerHTML"],ve={class:"subtitle"},ye={class:"popup-lead-form"},_e={class:"lead-form"},ge={class:"form-container"},ke={key:0,class:"form-row"},xe={key:1,class:"form-row"},Ie={class:"additional-information"},Ne=["innerHTML"],Te={class:"subtitle"},Oe={__name:"LeadFormPopup",props:{title:{type:String,required:!1,default:"Form"},description:{type:String,required:!1,default:""},fields:{type:Array,required:!1,default:()=>[]},submitText:{type:String,default:"ÄÄng ký"},show:{type:Boolean,default:!1}},emits:["close","submit"],setup(y,{emit:j}){const C=me(),r=ce().t,x=y,_=j,{submitLead:K,normalizeFormData:Y}=ae(),o=he({}),g=F(null),E=F(!1),S=F(!1),I=F(!1),L=P({get(){return x.show},set(e){e||q()}}),G=P(()=>{const{productInterest:e}=M(C.path);return!!e}),J=P(()=>{const e=x.fields,a=e.some(c=>c.name==="department"),p=e.some(c=>c.name==="position");if(a&&p)return e;const l=o.productInterest;if(!(l&&l!=="Phần má»m phân tÃch sà n TMÄT"))return e;const h=e.findIndex(c=>c.name==="productInterest");return h===-1?e:[...e.slice(0,h+1),{label:"Phòng ban",name:"department",type:"select",placeholder:"Bạn Äang là m viá»c tại phòng/ban nà o?",required:!0,options:oe},{label:"Chức danh",name:"position",type:"select",placeholder:"Chá»n chức danh cá»§a bạn",required:!0,options:se},...e.slice(h+1)]}),d=P(()=>{const e=[...J.value],a=["fullName","name","email","phone","phoneNumber","companyName","company"];return e.sort((p,l)=>{const m=a.indexOf(p.name),h=a.indexOf(l.name);return(m===-1?999:m)-(h===-1?999:h)})}),Q=()=>{x.fields.forEach(a=>{a.type==="select"?o[a.name]=null:o[a.name]=""}),o.department=null,o.position=null;const{productInterest:e}=M(C.path);o.productInterest=e};V(()=>x.show,e=>{e&&(Q(),g.value&&g.value.clearValidate())},{immediate:!0}),V(()=>o.productInterest,(e,a)=>{e!==a&&(o.department=null,o.position=null,W(()=>{g.value?.clearValidate(["department","position"])}),o.email&&W(()=>{g.value?.validateFields(["email"])}))});const R=e=>{const a=r(e.label||e.placeholder);return e.required?H("span",[H("span",{style:{color:"#ff4d4f",marginRight:"4px"}},"*"),a]):a},D=e=>{const a=[];return e.required&&a.push({required:!0,message:`${e.label||e.placeholder} là bắt buá»c`,trigger:["change","blur"]}),e.type==="email"&&a.push({trigger:["change","blur"],validator:(p,l)=>{if(!l)return Promise.resolve();if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(l))return Promise.reject("Email không hợp lá»");if(o.productInterest&&o.productInterest!=="Phần má»m phân tÃch sà n TMÄT"){const c=l.split("@")[1]?.toLowerCase();if(["gmail.com","yahoo.com","outlook.com","hotmail.com"].includes(c))return Promise.reject("Email không hợp lá», hãy nháºp email công ty (vd: @ten-mien-cong-ty.com)")}return Promise.resolve()}}),e.type==="tel"&&a.push({pattern:/^0[0-9]{9}$/,message:"Sá» Äiá»n thoại phải có 10 chữ sá» và bắt Äầu bằng 0",trigger:["change","blur"]}),a},X=async()=>{try{E.value=!0,await g.value.validate();const{formType:e}=M(C.path),a=Y(o,e),p=await K(a,{formType:e,campaignName:`Popup Form - ${x.title}`,onSuccess:(l,m)=>{_("close"),setTimeout(()=>{S.value=!0},300),_("submit",{...m,success:!0,leadId:l?.data?.person_id})},onError:(l,m)=>{_("close"),setTimeout(()=>{I.value=!0},300),_("submit",{...m,success:!1,error:l.message})}})}catch(e){console.log("â Form validation failed:",e)}finally{E.value=!1}},q=()=>{_("close")},Z=()=>{S.value=!1},ee=()=>{I.value=!1},te=()=>{I.value=!1,setTimeout(()=>{_("close")},100)},O=e=>{e.key==="Escape"&&q()};return ue(()=>{document.addEventListener("keydown",O)}),de(()=>{document.removeEventListener("keydown",O)}),(e,a)=>{const p=v("a-input"),l=v("a-form-item"),m=v("a-select-option"),h=v("a-select"),c=v("a-button"),B=v("a-form"),ne=v("a-modal");return u(),k(T,null,[i(ne,{visible:t(L),"onUpdate:visible":a[2]||(a[2]=s=>pe(L)?L.value=s:null),footer:!1,bodyStyle:{padding:0},maskStyle:{background:"rgba(36, 30, 70, 0.7)"},style:{width:"1000px",maxWidth:"95vw"},centered:"","destroy-on-close":"","wrap-class-name":"popup-lead-form-container",maskClosable:!0,keyboard:!0,forceRender:!1,onCancel:q},{default:f(()=>[b("div",fe,[b("h2",{class:"title",innerHTML:t(r)(y.title)},null,8,be),b("p",ve,N(t(r)(y.description)),1)]),b("div",ye,[b("div",_e,[b("div",ge,[i(B,{ref_key:"formRef",ref:g,model:t(o),onFinish:X,layout:"vertical"},{default:f(()=>[(u(!0),k(T,null,$(t(d),(s,we)=>(u(),k(T,{key:s.name},[s.name==="email"&&t(d).find(n=>
1n.name==="phone"||n.name==="phoneNumber")?(u(),k("div",ke,[i(l,{name:"email",label:R(s),class:"form-field-half",rules:D(s)},{default:f(()=>[i(p,{value:t(o).email,"onUpdate:value":a[0]||(a[0]=n=>t(o).email=n),type:"email",placeholder:t(r)(s.placeholder),class:"custom-input"},null,8,["value","placeholder"])]),_:2},1032,["label","rules"]),t(d).find(n=>n.name==="phone"||n.name==="phoneNumber")?(u(),w(l,{key:0,name:t(d).find(n=>n.name==="phone"||n.name==="phoneNumber").name,label:R(t(d).find(n=>n.name==="phone"||n.name==="phoneNumber")),class:"form-field-half",rules:D(t(d).find(n=>n.name==="phone"||n.name==="phoneNumber"))},{default:f(()=>[i(p,{value:t(o)[t(d).find(n=>n.name==="phone"||n.name==="phoneNumber").name],"onUpdate:value":a[1]||(a[1]=n=>t(o)[t(d).find(U=>U.name==="phone"||U.name==="phoneNumber").name]=n),type:"tel",placeholder:t(r)(t(d).find(n=>n.name==="phone"||n.name==="phoneNumber").placeholder),class:"custom-input"},null,8,["value","placeholder"])]),_:1},8,["name","label","rules"])):z("",!0)])):s.name!=="phone"&&s.name!=="phoneNumber"?(u(),k("div",xe,[i(l,{name:s.name,label:R(s),class:"form-field-full",rules:D(s)},{default:f(()=>[s.type!=="select"?(u(),w(p,{key:0,value:t(o)[s.name],"onUpdate:value":n=>t(o)[s.name]=n,type:s.type,placeholder:t(r)(s.placeholder),class:"custom-input"},null,8,["value","onUpdate:value","type","placeholder"])):(u(),w(h,{key:1,value:t(o)[s.name],"onUpdate:value":n=>t(o)[s.name]=n,placeholder:t(r)(s.placeholder||"Chá»n má»t tùy chá»n"),disabled:s.name==="productInterest"&&t(G),class:"custom-select","dropdown-style":{zIndex:1e4}},{default:f(()=>[(u(!0),k(T,null,$(s.options,n=>(u(),w(m,{key:n,value:n},{default:f(()=>[A(N(t(r)(n)),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["value","onUpdate:value","placeholder","disabled"]))]),_:2},1032,["name","label","rules"])])):z("",!0)],64))),128)),i(l,{style:{"margin-bottom":"0"}},{default:f(()=>[i(c,{type:"primary","html-type":"submit",class:"submit-button",loading:t(E)},{default:f(()=>[A(N(t(r)(y.submitText)),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"])])]),b("div",Ie,[b("h2",{class:"title",innerHTML:t(r)(y.title)},null,8,Ne),b("p",Te,N(t(r)(y.description)),1),i(le,{class:"image"})])])]),_:1},8,["visible"]),i(re,{visible:t(S),onClose:Z},null,8,["visible"]),i(ie,{visible:t(I),onClose:ee,onRetry:te},null,8,["visible"])],64)}}};export{Oe 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.