Files
zyt/server/public/admin/assets/h5-VOAXzViq.js
T
2026-03-19 12:19:00 +08:00

2 lines
15 KiB
JavaScript

import{F as De,Q as Fe,P as Ue,i as $e,L as Ye,a1 as Le,d as Se,G as Me,D as He,h as Ne,C as Ie,I as Te,g as qe,e as Be,a2 as Ae,B as Pe,$ as Ge}from"./element-plus-BMTkHLHO.js";import{w as Ke}from"./@vue/runtime-dom-DVgibYoU.js";import{f as Oe,a as Qe,b as je,c as Je,d as Xe,e as We,g as Ze,h as et}from"./fans-Vs4ytoPW.js";import{f as ae,d as tt}from"./index-_HeSPmLP.js";import{d as lt}from"./dayjs-BOuxpn4j.js";import{y as at}from"./@element-plus/icons-vue-BX5NvPi2.js";import{f as ne,ak as r,I as u,J as i,a as l,aN as s,O as n,aP as se,H as g,F as oe,ap as ie,A as st}from"./@vue/runtime-core-D7eUgySO.js";import{a as H,y as a,o as d}from"./@vue/reactivity-maRK_BBd.js";import{Q as v}from"./@vue/shared-C75lBtbe.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./nprogress-BpICrWuH.js";import"./jspdf-G5PuBoTt.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CJXI7XhX.js";import"./pinia-BhomUS5m.js";import"./axios-C80V62Fs.js";import"./lodash-Ct9_CZb9.js";import"./@vueuse/core-DCeljLnb.js";import"./@vueuse/shared-B444yVpD.js";import"./css-color-function-BVb6B1lA.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-ChYu0NfX.js";import"./clipboard-Bmfw2kIN.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-jaPyNblr.js";import"./@highlightjs/vue-plugin-ASXrwou_.js";const ot={class:"fans-h5"},it={class:"h5-header"},nt={class:"h5-search"},dt={class:"h5-filter-row"},rt={class:"h5-list"},ut={key:0,class:"h5-empty"},mt={class:"h5-card-header"},pt={class:"h5-card-name"},vt={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"},kt={key:0,class:"info-line"},bt={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"},St={class:"visit-card-header"},Mt={class:"visit-card-tags"},Ht={class:"visit-time"},Nt={class:"visit-card-actions"},It={class:"visit-card-content"},Tt={key:0,class:"visit-card-result"},qt={class:"visit-card-meta"},Bt={key:0,class:"next-visit"},At={key:1,class:"operator"},Pt=ne({name:"fansH5"}),Gt=ne({...Pt,setup(Kt){const y=d(""),C=d({name:"",phone:"",gender:"",status:""}),k=d([]),R=d(!1),z=d(!1),N=d(1),de=15,K=d(0),O=st(()=>k.value.length<K.value),I=async(o=!1)=>{o?z.value=!0:R.value=!0;try{const e={page_no:N.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?k.value=[...k.value,...f.lists||[]]:k.value=f.lists||[],K.value=f.count||0}catch(e){console.error(e)}finally{R.value=!1,z.value=!1}},V=()=>{N.value=1,I()},re=()=>{y.value="",C.value={name:"",phone:"",gender:"",status:""},V()},ue=()=>{z.value||(N.value++,I(!0))},b=d(!1),D=d("add"),T=d(),q=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"}]},pe=()=>{D.value="add",b.value=!0},ve=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},b.value=!0},_e=()=>{var o;m.value={id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""},(o=T.value)==null||o.resetFields()},ce=async()=>{var o;await((o=T.value)==null?void 0:o.validate()),q.value=!0;try{D.value==="add"?await Qe(m.value):await je(m.value),b.value=!1,V()}catch{}finally{q.value=!1}},fe=async o=>{await ae.confirm(`确定删除粉丝「${o.name}」吗?`);try{await et({id:o.id}),V()}catch{}},F=d(!1),U=d(null),h=d([]),$=d(!1),Q=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 Ze({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||[]],Q.value=o.count||0}catch(o){console.error(o)}finally{$.value=!1}},Ve=()=>{w.value++,Y()},x=d(!1),L=d("add"),B=d(),A=d(!1),p=d({id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""}),ke={visit_type:[{required:!0,message:"请选择回访类型",trigger:"change"}],visit_time:[{required:!0,message:"请选择回访时间",trigger:"change"}],content:[{required:!0,message:"请输入回访内容",trigger:"blur"}]},be=()=>{L.value="add",p.value={id:0,fan_id:U.value.id,visit_type:1,visit_time:lt().format("YYYY-MM-DD HH:mm:ss"),content:"",result:"",next_visit_time:""},x.value=!0},he=o=>{L.value="edit",p.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;p.value={id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""},(o=B.value)==null||o.resetFields()},Ce=async()=>{var o;await((o=B.value)==null?void 0:o.validate()),A.value=!0;try{L.value==="add"?await Je(p.value):await Xe(p.value),x.value=!1,w.value=1,Y()}catch{}finally{A.value=!1}},we=async o=>{await ae.confirm("确定删除该回访记录吗?");try{await We({id:o}),w.value=1,Y()}catch{}};return I(),(o,e)=>{var le;const f=De,S=Fe,j=Ue,_=$e,J=Le,P=Ae,Ee=Se,c=He,Re=Ne,X=Te,W=Ie,ze=qe,Z=Me,G=Be,E=Pe,ee=Ge,te=Ye;return r(),u("div",ot,[i("div",it,[i("div",nt,[l(f,{modelValue:a(y),"onUpdate:modelValue":e[0]||(e[0]=t=>H(y)?y.value=t:null),placeholder:"搜索姓名 / 手机号",clearable:"","prefix-icon":"Search",onKeyup:Ke(V,["enter"]),onClear:V},null,8,["modelValue"])]),i("div",dt,[l(j,{modelValue:a(C).gender,"onUpdate:modelValue":e[1]||(e[1]=t=>a(C).gender=t),placeholder:"性别",clearable:"",size:"small",onChange:V},{default:s(()=>[l(S,{label:"男",value:1}),l(S,{label:"女",value:2})]),_:1},8,["modelValue"]),l(j,{modelValue:a(C).status,"onUpdate:modelValue":e[2]||(e[2]=t=>a(C).status=t),placeholder:"状态",clearable:"",size:"small",onChange:V},{default:s(()=>[l(S,{label:"启用",value:1}),l(S,{label:"禁用",value:0})]),_:1},8,["modelValue"]),l(_,{type:"primary",size:"small",onClick:V},{default:s(()=>[...e[20]||(e[20]=[n("查询",-1)])]),_:1}),l(_,{size:"small",onClick:re},{default:s(()=>[...e[21]||(e[21]=[n("重置",-1)])]),_:1})])]),se((r(),u("div",rt,[a(k).length===0&&!a(R)?(r(),u("div",ut,[l(J,{description:"暂无粉丝数据"})])):g("",!0),(r(!0),u(oe,null,ie(a(k),t=>(r(),u("div",{key:t.id,class:"h5-card"},[i("div",mt,[i("div",pt,[i("span",vt,v(t.name),1),l(P,{size:"small",type:t.gender===1?"":t.gender===2?"danger":"info",effect:"plain"},{default:s(()=>[n(v(t.gender_desc),1)]),_:2},1032,["type"]),t.age?(r(),u("span",_t,v(t.age)+"岁",1)):g("",!0)]),l(P,{size:"small",type:t.status==1?"success":"danger"},{default:s(()=>[n(v(t.status==1?"启用":"禁用"),1)]),_:2},1032,["type"])]),i("div",ct,[i("div",ft,[e[22]||(e[22]=i("span",{class:"label"},"手机",-1)),i("span",gt,v(t.phone||"-"),1)]),i("div",yt,[e[23]||(e[23]=i("span",{class:"label"},"身份证",-1)),i("span",Vt,v(t.id_card||"-"),1)]),t.remark?(r(),u("div",kt,[e[24]||(e[24]=i("span",{class:"label"},"备注",-1)),i("span",bt,v(t.remark),1)])):g("",!0)]),i("div",ht,[i("div",xt,[i("div",Ct,[e[25]||(e[25]=n(" 回访 ",-1)),i("span",wt,v(t.visit_count||0),1),e[26]||(e[26]=n(" 次 ",-1))]),t.creator_name?(r(),u("div",Et," 登记人:"+v(t.creator_name),1)):g("",!0)]),i("div",Rt,[l(_,{type:"primary",text:"",size:"small",onClick:M=>ve(t)},{default:s(()=>[...e[27]||(e[27]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(_,{type:"success",text:"",size:"small",onClick:M=>ye(t)},{default:s(()=>[...e[28]||(e[28]=[n("回访",-1)])]),_:1},8,["onClick"]),l(_,{type:"danger",text:"",size:"small",onClick:M=>fe(t)},{default:s(()=>[...e[29]||(e[29]=[n("删除",-1)])]),_:1},8,["onClick"])])])]))),128)),a(O)?(r(),u("div",{key:1,class:"h5-load-more",onClick:ue},[a(z)?(r(),u("span",Dt,"加载中...")):(r(),u("span",zt,"加载更多"))])):g("",!0),!a(O)&&a(k).length>0?(r(),u("div",Ft,"没有更多了")):g("",!0)])),[[te,a(R)]]),i("div",{class:"h5-fab",onClick:pe},[l(Ee,{size:24},{default:s(()=>[l(a(at))]),_:1})]),l(G,{modelValue:a(b),"onUpdate:modelValue":e[11]||(e[11]=t=>H(b)?b.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=>b.value=!1)},{default:s(()=>[...e[32]||(e[32]=[n("取消",-1)])]),_:1}),l(_,{class:"flex-1",type:"primary",loading:a(q),onClick:ce},{default:s(()=>[...e[33]||(e[33]=[n("确定",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Z,{ref_key:"fanFormRef",ref:T,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}),i("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(X,{label:1},{default:s(()=>[...e[30]||(e[30]=[n("男",-1)])]),_:1}),l(X,{label:2},{default:s(()=>[...e[31]||(e[31]=[n("女",-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(G,{modelValue:a(F),"onUpdate:modelValue":e[12]||(e[12]=t=>H(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(()=>[i("div",$t,[l(_,{type:"primary",size:"small",onClick:be},{default:s(()=>[...e[34]||(e[34]=[n("+ 新增回访",-1)])]),_:1})]),se((r(),u("div",Yt,[a(h).length===0&&!a($)?(r(),u("div",Lt,[l(J,{description:"暂无回访记录","image-size":80})])):g("",!0),(r(!0),u(oe,null,ie(a(h),t=>(r(),u("div",{key:t.id,class:"h5-visit-card"},[i("div",St,[i("div",Mt,[l(P,{size:"small",type:ge[t.visit_type]},{default:s(()=>[n(v(t.visit_type_desc),1)]),_:2},1032,["type"]),i("span",Ht,v(t.visit_time_text),1)]),i("div",Nt,[l(_,{type:"primary",text:"",size:"small",onClick:M=>he(t)},{default:s(()=>[...e[35]||(e[35]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(_,{type:"danger",text:"",size:"small",onClick:M=>we(t.id)},{default:s(()=>[...e[36]||(e[36]=[n("删除",-1)])]),_:1},8,["onClick"])])]),i("div",It,v(t.content),1),t.result?(r(),u("div",Tt,[e[37]||(e[37]=i("span",{class:"label"},"结果:",-1)),n(v(t.result),1)])):g("",!0),i("div",qt,[t.next_visit_time_text?(r(),u("span",Bt,"下次回访:"+v(t.next_visit_time_text),1)):g("",!0),t.operator_name?(r(),u("span",At,v(t.operator_name),1)):g("",!0)])]))),128)),a(Q)>a(h).length?(r(),u("div",{key:1,class:"h5-load-more",onClick:Ve}," 加载更多 ")):g("",!0)])),[[te,a($)]])]),_:1},8,["modelValue","title"]),l(G,{modelValue:a(x),"onUpdate:modelValue":e[19]||(e[19]=t=>H(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]=[n("取消",-1)])]),_:1}),l(_,{class:"flex-1",type:"primary",loading:a(A),onClick:Ce},{default:s(()=>[...e[44]||(e[44]=[n("确定",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Z,{ref_key:"visitFormRef",ref:B,model:a(p),rules:ke,"label-position":"top",class:"h5-form"},{default:s(()=>[l(c,{label:"回访类型",prop:"visit_type"},{default:s(()=>[l(W,{modelValue:a(p).visit_type,"onUpdate:modelValue":e[13]||(e[13]=t=>a(p).visit_type=t),class:"h5-radio-group"},{default:s(()=>[l(E,{label:1},{default:s(()=>[...e[38]||(e[38]=[n("电话",-1)])]),_:1}),l(E,{label:2},{default:s(()=>[...e[39]||(e[39]=[n("微信",-1)])]),_:1}),l(E,{label:3},{default:s(()=>[...e[40]||(e[40]=[n("短信",-1)])]),_:1}),l(E,{label:4},{default:s(()=>[...e[41]||(e[41]=[n("上门",-1)])]),_:1}),l(E,{label:5},{default:s(()=>[...e[42]||(e[42]=[n("其他",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(c,{label:"回访时间",prop:"visit_time"},{default:s(()=>[l(ee,{modelValue:a(p).visit_time,"onUpdate:modelValue":e[14]||(e[14]=t=>a(p).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(p).content,"onUpdate:modelValue":e[15]||(e[15]=t=>a(p).content=t),type:"textarea",rows:4,placeholder:"请输入回访内容"},null,8,["modelValue"])]),_:1}),l(c,{label:"回访结果"},{default:s(()=>[l(f,{modelValue:a(p).result,"onUpdate:modelValue":e[16]||(e[16]=t=>a(p).result=t),type:"textarea",rows:3,placeholder:"请输入回访结果"},null,8,["modelValue"])]),_:1}),l(c,{label:"下次回访时间"},{default:s(()=>[l(ee,{modelValue:a(p).next_visit_time,"onUpdate:modelValue":e[17]||(e[17]=t=>a(p).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"])])}}}),$l=tt(Gt,[["__scopeId","data-v-004381f4"]]);export{$l as default};