2 lines
14 KiB
JavaScript
2 lines
14 KiB
JavaScript
import{o as ie,q as r,r as u,s as n,v as l,b8 as De,C as T,u as a,b7 as Fe,D as s,bn as Ue,bm as $e,L as i,K as Ye,ac as ae,bi as Le,bB as Me,P as g,F as se,G as oe,cv as Se,w as Te,b9 as qe,b6 as Be,J as He,bc as Ne,bf as Ie,I as Ae,B as Ke,br as Pe,T as p,bb as Ge,bp as je,M as d,p as Je}from"./.pnpm-BGZW0UGg.js";import{f as Oe,a as Xe,b as Qe,c as We,d as Ze,e as et,g as tt,h as lt}from"./fans-2VI32X3g.js";import{i as ne,_ as at}from"./index-CeIwrh_6.js";import{d as st}from"./dayjs-BnultS00.js";const ot={class:"fans-h5"},nt={class:"h5-header"},it={class:"h5-search"},dt={class:"h5-filter-row"},rt={class:"h5-list"},ut={key:0,class:"h5-empty"},mt={class:"h5-card-header"},vt={class:"h5-card-name"},pt={class:"name"},_t={key:0,class:"age"},ct={class:"h5-card-body"},ft={class:"info-line"},gt={class:"value"},yt={class:"info-line"},Vt={class:"value"},bt={key:0,class:"info-line"},kt={class:"value remark"},ht={class:"h5-card-footer"},xt={class:"footer-left"},Ct={class:"visit-info"},wt={class:"visit-count"},Et={key:0,class:"creator-info"},Rt={class:"actions"},zt={key:0},Dt={key:1},Ft={key:2,class:"h5-no-more"},Ut={class:"h5-form-row"},$t={class:"h5-visit-header"},Yt={class:"h5-visit-list"},Lt={key:0,class:"h5-empty"},Mt={class:"visit-card-header"},St={class:"visit-card-tags"},Tt={class:"visit-time"},qt={class:"visit-card-actions"},Bt={class:"visit-card-content"},Ht={key:0,class:"visit-card-result"},Nt={class:"visit-card-meta"},It={key:0,class:"next-visit"},At={key:1,class:"operator"},Kt=ie({name:"fansH5"}),Pt=ie({...Kt,setup(Gt){const y=d(""),C=d({name:"",phone:"",gender:"",status:""}),b=d([]),R=d(!1),z=d(!1),q=d(1),de=15,G=d(0),j=Je(()=>b.value.length<G.value),B=async(o=!1)=>{o?z.value=!0:R.value=!0;try{const e={page_no:q.value,page_size:de,...C.value};y.value&&(/^\d+$/.test(y.value)?e.phone=y.value:e.name=y.value);const f=await Oe(e);o?b.value=[...b.value,...f.lists||[]]:b.value=f.lists||[],G.value=f.count||0}catch(e){console.error(e)}finally{R.value=!1,z.value=!1}},V=()=>{q.value=1,B()},re=()=>{y.value="",C.value={name:"",phone:"",gender:"",status:""},V()},ue=()=>{z.value||(q.value++,B(!0))},k=d(!1),D=d("add"),H=d(),N=d(!1),m=d({id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""}),me={name:[{required:!0,message:"请输入姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"},{pattern:/^1[3-9]\d{9}$/,message:"手机号格式不正确",trigger:"blur"}],id_card:[{pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,message:"身份证号格式不正确",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}]},ve=()=>{D.value="add",k.value=!0},pe=o=>{D.value="edit",m.value={id:o.id,name:o.name,phone:o.phone,id_card:o.id_card,age:o.age,gender:o.gender,status:o.status,remark:o.remark},k.value=!0},_e=()=>{var o;m.value={id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""},(o=H.value)==null||o.resetFields()},ce=async()=>{var o;await((o=H.value)==null?void 0:o.validate()),N.value=!0;try{D.value==="add"?await Xe(m.value):await Qe(m.value),k.value=!1,V()}catch{}finally{N.value=!1}},fe=async o=>{await ne.confirm(`确定删除粉丝「${o.name}」吗?`);try{await lt({id:o.id}),V()}catch{}},F=d(!1),U=d(null),h=d([]),$=d(!1),J=d(0),w=d(1),ge={1:"",2:"success",3:"info",4:"warning",5:"danger"},ye=o=>{U.value=o,F.value=!0,w.value=1,h.value=[],Y()},Y=async()=>{$.value=!0;try{const o=await tt({fan_id:U.value.id,page_no:w.value,page_size:15});w.value===1?h.value=o.lists||[]:h.value=[...h.value,...o.lists||[]],J.value=o.count||0}catch(o){console.error(o)}finally{$.value=!1}},Ve=()=>{w.value++,Y()},x=d(!1),L=d("add"),I=d(),A=d(!1),v=d({id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""}),be={visit_type:[{required:!0,message:"请选择回访类型",trigger:"change"}],visit_time:[{required:!0,message:"请选择回访时间",trigger:"change"}],content:[{required:!0,message:"请输入回访内容",trigger:"blur"}]},ke=()=>{L.value="add",v.value={id:0,fan_id:U.value.id,visit_type:1,visit_time:st().format("YYYY-MM-DD HH:mm:ss"),content:"",result:"",next_visit_time:""},x.value=!0},he=o=>{L.value="edit",v.value={id:o.id,fan_id:o.fan_id,visit_type:o.visit_type,visit_time:o.visit_time_text||"",content:o.content||"",result:o.result||"",next_visit_time:o.next_visit_time_text||""},x.value=!0},xe=()=>{var o;v.value={id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""},(o=I.value)==null||o.resetFields()},Ce=async()=>{var o;await((o=I.value)==null?void 0:o.validate()),A.value=!0;try{L.value==="add"?await We(v.value):await Ze(v.value),x.value=!1,w.value=1,Y()}catch{}finally{A.value=!1}},we=async o=>{await ne.confirm("确定删除该回访记录吗?");try{await et({id:o}),w.value=1,Y()}catch{}};return B(),(o,e)=>{var le;const f=Fe,M=Ue,O=$e,_=Ye,X=Me,K=Pe,Ee=Te,c=Be,Re=He,Q=Ie,W=Ne,ze=Ae,Z=qe,P=Ke,E=Ge,ee=je,te=Le;return r(),u("div",ot,[n("div",nt,[n("div",it,[l(f,{modelValue:a(y),"onUpdate:modelValue":e[0]||(e[0]=t=>T(y)?y.value=t:null),placeholder:"搜索姓名 / 手机号",clearable:"","prefix-icon":"Search",onKeyup:De(V,["enter"]),onClear:V},null,8,["modelValue"])]),n("div",dt,[l(O,{modelValue:a(C).gender,"onUpdate:modelValue":e[1]||(e[1]=t=>a(C).gender=t),placeholder:"性别",clearable:"",size:"small",onChange:V},{default:s(()=>[l(M,{label:"男",value:1}),l(M,{label:"女",value:2})]),_:1},8,["modelValue"]),l(O,{modelValue:a(C).status,"onUpdate:modelValue":e[2]||(e[2]=t=>a(C).status=t),placeholder:"状态",clearable:"",size:"small",onChange:V},{default:s(()=>[l(M,{label:"启用",value:1}),l(M,{label:"禁用",value:0})]),_:1},8,["modelValue"]),l(_,{type:"primary",size:"small",onClick:V},{default:s(()=>[...e[20]||(e[20]=[i("查询",-1)])]),_:1}),l(_,{size:"small",onClick:re},{default:s(()=>[...e[21]||(e[21]=[i("重置",-1)])]),_:1})])]),ae((r(),u("div",rt,[a(b).length===0&&!a(R)?(r(),u("div",ut,[l(X,{description:"暂无粉丝数据"})])):g("",!0),(r(!0),u(se,null,oe(a(b),t=>(r(),u("div",{key:t.id,class:"h5-card"},[n("div",mt,[n("div",vt,[n("span",pt,p(t.name),1),l(K,{size:"small",type:t.gender===1?"":t.gender===2?"danger":"info",effect:"plain"},{default:s(()=>[i(p(t.gender_desc),1)]),_:2},1032,["type"]),t.age?(r(),u("span",_t,p(t.age)+"岁",1)):g("",!0)]),l(K,{size:"small",type:t.status==1?"success":"danger"},{default:s(()=>[i(p(t.status==1?"启用":"禁用"),1)]),_:2},1032,["type"])]),n("div",ct,[n("div",ft,[e[22]||(e[22]=n("span",{class:"label"},"手机",-1)),n("span",gt,p(t.phone||"-"),1)]),n("div",yt,[e[23]||(e[23]=n("span",{class:"label"},"身份证",-1)),n("span",Vt,p(t.id_card||"-"),1)]),t.remark?(r(),u("div",bt,[e[24]||(e[24]=n("span",{class:"label"},"备注",-1)),n("span",kt,p(t.remark),1)])):g("",!0)]),n("div",ht,[n("div",xt,[n("div",Ct,[e[25]||(e[25]=i(" 回访 ",-1)),n("span",wt,p(t.visit_count||0),1),e[26]||(e[26]=i(" 次 ",-1))]),t.creator_name?(r(),u("div",Et," 登记人:"+p(t.creator_name),1)):g("",!0)]),n("div",Rt,[l(_,{type:"primary",text:"",size:"small",onClick:S=>pe(t)},{default:s(()=>[...e[27]||(e[27]=[i("编辑",-1)])]),_:1},8,["onClick"]),l(_,{type:"success",text:"",size:"small",onClick:S=>ye(t)},{default:s(()=>[...e[28]||(e[28]=[i("回访",-1)])]),_:1},8,["onClick"]),l(_,{type:"danger",text:"",size:"small",onClick:S=>fe(t)},{default:s(()=>[...e[29]||(e[29]=[i("删除",-1)])]),_:1},8,["onClick"])])])]))),128)),a(j)?(r(),u("div",{key:1,class:"h5-load-more",onClick:ue},[a(z)?(r(),u("span",Dt,"加载中...")):(r(),u("span",zt,"加载更多"))])):g("",!0),!a(j)&&a(b).length>0?(r(),u("div",Ft,"没有更多了")):g("",!0)])),[[te,a(R)]]),n("div",{class:"h5-fab",onClick:ve},[l(Ee,{size:24},{default:s(()=>[l(a(Se))]),_:1})]),l(P,{modelValue:a(k),"onUpdate:modelValue":e[11]||(e[11]=t=>T(k)?k.value=t:null),title:a(D)==="add"?"新增粉丝":"编辑粉丝",direction:"btt",size:"85%","close-on-click-modal":!1,onClosed:_e},{footer:s(()=>[l(_,{class:"flex-1",onClick:e[10]||(e[10]=t=>k.value=!1)},{default:s(()=>[...e[32]||(e[32]=[i("取消",-1)])]),_:1}),l(_,{class:"flex-1",type:"primary",loading:a(N),onClick:ce},{default:s(()=>[...e[33]||(e[33]=[i("确定",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Z,{ref_key:"fanFormRef",ref:H,model:a(m),rules:me,"label-position":"top",class:"h5-form"},{default:s(()=>[l(c,{label:"姓名",prop:"name"},{default:s(()=>[l(f,{modelValue:a(m).name,"onUpdate:modelValue":e[3]||(e[3]=t=>a(m).name=t),placeholder:"请输入姓名",maxlength:"50"},null,8,["modelValue"])]),_:1}),l(c,{label:"手机号",prop:"phone"},{default:s(()=>[l(f,{modelValue:a(m).phone,"onUpdate:modelValue":e[4]||(e[4]=t=>a(m).phone=t),placeholder:"请输入手机号",maxlength:"11"},null,8,["modelValue"])]),_:1}),l(c,{label:"身份证号",prop:"id_card"},{default:s(()=>[l(f,{modelValue:a(m).id_card,"onUpdate:modelValue":e[5]||(e[5]=t=>a(m).id_card=t),placeholder:"请输入身份证号码",maxlength:"18"},null,8,["modelValue"])]),_:1}),n("div",Ut,[l(c,{label:"年龄",prop:"age",class:"flex-1"},{default:s(()=>[l(Re,{modelValue:a(m).age,"onUpdate:modelValue":e[6]||(e[6]=t=>a(m).age=t),min:0,max:150,"controls-position":"right",class:"!w-full"},null,8,["modelValue"])]),_:1}),l(c,{label:"性别",prop:"gender",class:"flex-1"},{default:s(()=>[l(W,{modelValue:a(m).gender,"onUpdate:modelValue":e[7]||(e[7]=t=>a(m).gender=t)},{default:s(()=>[l(Q,{label:1},{default:s(()=>[...e[30]||(e[30]=[i("男",-1)])]),_:1}),l(Q,{label:2},{default:s(()=>[...e[31]||(e[31]=[i("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),l(c,{label:"状态"},{default:s(()=>[l(ze,{modelValue:a(m).status,"onUpdate:modelValue":e[8]||(e[8]=t=>a(m).status=t),"active-value":1,"inactive-value":0,"active-text":"启用","inactive-text":"禁用"},null,8,["modelValue"])]),_:1}),l(c,{label:"备注"},{default:s(()=>[l(f,{modelValue:a(m).remark,"onUpdate:modelValue":e[9]||(e[9]=t=>a(m).remark=t),type:"textarea",rows:3,placeholder:"请输入备注",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(P,{modelValue:a(F),"onUpdate:modelValue":e[12]||(e[12]=t=>T(F)?F.value=t:null),title:`回访记录 - ${((le=a(U))==null?void 0:le.name)||""}`,direction:"rtl",size:"100%","close-on-click-modal":!1},{default:s(()=>[n("div",$t,[l(_,{type:"primary",size:"small",onClick:ke},{default:s(()=>[...e[34]||(e[34]=[i("+ 新增回访",-1)])]),_:1})]),ae((r(),u("div",Yt,[a(h).length===0&&!a($)?(r(),u("div",Lt,[l(X,{description:"暂无回访记录","image-size":80})])):g("",!0),(r(!0),u(se,null,oe(a(h),t=>(r(),u("div",{key:t.id,class:"h5-visit-card"},[n("div",Mt,[n("div",St,[l(K,{size:"small",type:ge[t.visit_type]},{default:s(()=>[i(p(t.visit_type_desc),1)]),_:2},1032,["type"]),n("span",Tt,p(t.visit_time_text),1)]),n("div",qt,[l(_,{type:"primary",text:"",size:"small",onClick:S=>he(t)},{default:s(()=>[...e[35]||(e[35]=[i("编辑",-1)])]),_:1},8,["onClick"]),l(_,{type:"danger",text:"",size:"small",onClick:S=>we(t.id)},{default:s(()=>[...e[36]||(e[36]=[i("删除",-1)])]),_:1},8,["onClick"])])]),n("div",Bt,p(t.content),1),t.result?(r(),u("div",Ht,[e[37]||(e[37]=n("span",{class:"label"},"结果:",-1)),i(p(t.result),1)])):g("",!0),n("div",Nt,[t.next_visit_time_text?(r(),u("span",It,"下次回访:"+p(t.next_visit_time_text),1)):g("",!0),t.operator_name?(r(),u("span",At,p(t.operator_name),1)):g("",!0)])]))),128)),a(J)>a(h).length?(r(),u("div",{key:1,class:"h5-load-more",onClick:Ve}," 加载更多 ")):g("",!0)])),[[te,a($)]])]),_:1},8,["modelValue","title"]),l(P,{modelValue:a(x),"onUpdate:modelValue":e[19]||(e[19]=t=>T(x)?x.value=t:null),title:a(L)==="add"?"新增回访记录":"编辑回访记录",direction:"btt",size:"80%","close-on-click-modal":!1,onClosed:xe},{footer:s(()=>[l(_,{class:"flex-1",onClick:e[18]||(e[18]=t=>x.value=!1)},{default:s(()=>[...e[43]||(e[43]=[i("取消",-1)])]),_:1}),l(_,{class:"flex-1",type:"primary",loading:a(A),onClick:Ce},{default:s(()=>[...e[44]||(e[44]=[i("确定",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Z,{ref_key:"visitFormRef",ref:I,model:a(v),rules:be,"label-position":"top",class:"h5-form"},{default:s(()=>[l(c,{label:"回访类型",prop:"visit_type"},{default:s(()=>[l(W,{modelValue:a(v).visit_type,"onUpdate:modelValue":e[13]||(e[13]=t=>a(v).visit_type=t),class:"h5-radio-group"},{default:s(()=>[l(E,{label:1},{default:s(()=>[...e[38]||(e[38]=[i("电话",-1)])]),_:1}),l(E,{label:2},{default:s(()=>[...e[39]||(e[39]=[i("微信",-1)])]),_:1}),l(E,{label:3},{default:s(()=>[...e[40]||(e[40]=[i("短信",-1)])]),_:1}),l(E,{label:4},{default:s(()=>[...e[41]||(e[41]=[i("上门",-1)])]),_:1}),l(E,{label:5},{default:s(()=>[...e[42]||(e[42]=[i("其他",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(c,{label:"回访时间",prop:"visit_time"},{default:s(()=>[l(ee,{modelValue:a(v).visit_time,"onUpdate:modelValue":e[14]||(e[14]=t=>a(v).visit_time=t),type:"datetime",placeholder:"请选择回访时间","value-format":"YYYY-MM-DD HH:mm:ss",class:"!w-full"},null,8,["modelValue"])]),_:1}),l(c,{label:"回访内容",prop:"content"},{default:s(()=>[l(f,{modelValue:a(v).content,"onUpdate:modelValue":e[15]||(e[15]=t=>a(v).content=t),type:"textarea",rows:4,placeholder:"请输入回访内容"},null,8,["modelValue"])]),_:1}),l(c,{label:"回访结果"},{default:s(()=>[l(f,{modelValue:a(v).result,"onUpdate:modelValue":e[16]||(e[16]=t=>a(v).result=t),type:"textarea",rows:3,placeholder:"请输入回访结果"},null,8,["modelValue"])]),_:1}),l(c,{label:"下次回访时间"},{default:s(()=>[l(ee,{modelValue:a(v).next_visit_time,"onUpdate:modelValue":e[17]||(e[17]=t=>a(v).next_visit_time=t),type:"datetime",placeholder:"请选择下次回访时间","value-format":"YYYY-MM-DD HH:mm:ss",class:"!w-full"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Qt=at(Pt,[["__scopeId","data-v-33a81814"]]);export{Qt as default};
|