4 lines
40 KiB
JavaScript
4 lines
40 KiB
JavaScript
import{o as Me,R as Ee,E as p,ap as pt,ac as Te,bi as ft,q as d,r as g,s as n,v as a,D as i,u as c,cV as gt,w as vt,cO as bt,L as r,T as u,P as D,by as fe,K as yt,cN as kt,cW as Nt,bI as Ct,cX as wt,ae as I,cY as Ue,cZ as ze,c_ as Vt,c$ as ne,cv as ge,F,G as K,cD as $t,at as Oe,bu as xt,d0 as St,O as y,bh as Pt,bk as It,I as At,$ as Dt,ck as Lt,Z as ht,_ as Et,bB as Tt,bj as Ut,cl as zt,as as Ot,b6 as Mt,bm as Ft,bn as qt,bA as jt,b9 as Bt,bs as Rt,a4 as Jt,d1 as Kt,bq as Yt,d2 as Ht,d3 as Zt,cp as Gt,d4 as Wt,b7 as Xt,bt as Qt,J as en,bp as tn,ba as Y,M as V,p as q,e as le}from"./.pnpm-CLkClvFH.js";import{x as nn,y as ln,z as an,A as sn,B as on,C as un,D as dn,E as rn,F as mn,G as cn,H as _n,I as pn}from"./first_visit-B7Njhtz0.js";import{_ as fn}from"./index-DmTxYTP_.js";const gn={class:"promotion-page","element-loading-text":"正在加载推广配置"},vn={class:"page-header"},bn={class:"heading-copy"},yn={class:"heading-icon"},kn={class:"heading-actions"},Nn={class:"scope-chip"},Cn={key:0,class:"update-time"},wn={class:"metric-grid"},Vn={class:"metric-card"},$n={class:"metric-icon is-teal"},xn={class:"metric-card"},Sn={class:"metric-icon is-blue"},Pn={class:"metric-card"},In={class:"metric-icon is-green"},An={class:"metric-card"},Dn={class:"metric-icon is-orange"},Ln={class:"workspace-card"},hn={class:"tab-nav","aria-label":"企业微信获客助手功能"},En={key:0,class:"tab-content links-tab"},Tn={class:"section-heading"},Un={key:0,class:"pool-layout"},zn={class:"pool-sidebar"},On=["onClick"],Mn={class:"pool-main"},Fn={key:0,class:"pool-toolbar"},qn={class:"pool-title-row"},jn={class:"owner-tag"},Bn={class:"toolbar-actions"},Rn={class:"member-cell"},Jn=["title"],Kn={key:1,class:"legacy-tag"},Yn={key:1,class:"tab-content customer-stats-tab"},Hn={class:"section-heading customer-stats-heading"},Zn={class:"customer-heading-actions"},Gn={key:0,class:"update-time"},Wn={class:"customer-metric-grid","aria-label":"获客客户消息汇总"},Xn={class:"customer-metric-card"},Qn={class:"metric-icon is-teal"},el={class:"customer-metric-card"},tl={class:"metric-icon is-blue"},nl={class:"customer-metric-card"},ll={class:"metric-icon is-green"},al={class:"customer-metric-card"},sl={class:"metric-icon is-orange"},il={class:"customer-filter-bar"},ol=["title"],ul={class:"member-cell"},dl={class:"member-cell"},rl={class:"customer-pagination"},ml={key:2,class:"tab-content authorization-tab"},cl={class:"configuration-state"},_l={key:0},pl={key:1},fl={key:0,class:"missing-fields"},gl={class:"callback-list"},vl={class:"configuration-actions"},bl={key:3,class:"tab-content install-tab"},yl={class:"section-heading"},kl={class:"install-grid"},Nl={class:"code-card"},Cl={class:"code-card"},wl={class:"rule-panel"},Vl={class:"test-row"},$l={class:"form-grid"},xl={class:"form-grid"},Sl=Me({name:"firstVisitWecomPromotionPage"}),Pl=Me({...Sl,setup(Il){const ve=()=>({meta:{scope_label:"",generated_at:""},config:{mode:"internal",configured:!1,ready:!1,missing:[],corp_id_masked:"",agent_id:"",secret_configured:!1,official_doc:""},summary:{configured_apps:0,pool_count:0,online_links:0,today_clicks:0},pools:[],links:[],member_options:[],customer_acquisition_link_example:"https://work.weixin.qq.com/ca/xxxxxxxx"}),m=Y(ve()),W=V(!1),$=V("links"),T=V(),j=V(),H=V(!1),Z=V(!1),ae=V(!1),se=V(!1),X=V(!1),ie=V(!1),oe=V(0),L=Y({id:0,name:"",fallback_url:"",status:1}),_=Y({id:0,pool_id:0,name:"",group_name:"默认分组",wecom_url:"",member_admin_ids:[],skip_verify:0,legacy:!1,weight:1,status:1,daily_limit:0,active_range:[],remark:""}),G=V(!1),be=V(!1),ue=V(!1),N=Y({link_id:"",userid:"",chat_status:""}),x=Y({page_no:1,page_size:20,total:0}),b=Y({summary:{customer_count:0,messaged_customer_count:0,message_customer_rate:0,received_message_count:0,message_count_known_count:0},rows:[],link_options:[],member_options:[],meta:{last_synced_at:""}}),C=q(()=>m.pools.find(t=>Number(t.id)===T.value)),de=q(()=>m.links.filter(t=>Number(t.pool_id)===T.value)),ye=q(()=>de.value.filter(t=>!!t.remote_link_id).length),ke=q(()=>de.value.length-ye.value),U=q(()=>m.pools.find(t=>Number(t.id)===j.value)),Fe=q(()=>b.link_options.length?b.link_options:m.links.filter(t=>t.id).map(t=>({id:Number(t.id),name:t.name||t.remote_link_id||`链接 ${t.id}`}))),qe=q(()=>b.member_options.length?b.member_options:m.member_options.map(t=>({id:Number(t.id),userid:String(t.userid||""),name:t.name,department_name:Array.isArray(t.dept_names)?t.dept_names.join(" / "):t.department_name||t.dept_name||""})));Ee(()=>m.pools.map(t=>Number(t.id)).join(","),()=>{const t=m.pools.map(e=>Number(e.id));(!T.value||!t.includes(T.value))&&(T.value=t[0]),(!j.value||!t.includes(j.value))&&(j.value=t[0])},{immediate:!0}),Ee($,t=>{t==="customer-stats"&&!be.value&&z()});async function S(){W.value=!0;try{const t=await ln();Object.assign(m,ve(),t||{})}catch(t){p.error((t==null?void 0:t.message)||"企业微信推广配置加载失败")}finally{W.value=!1}}function je(t){return m.links.filter(e=>Number(e.pool_id)===Number(t)).length}function re(t){Object.assign(L,t?{id:Number(t.id),name:t.name,fallback_url:t.fallback_url||"",status:Number(t.status)}:{id:0,name:"",fallback_url:"",status:1}),H.value=!0}async function Be(){if(!L.name.trim())return p.warning("请输入分流方案名称");ae.value=!0;try{const t=await an({...L});H.value=!1,await S(),t!=null&&t.id&&(T.value=Number(t.id)),p.success("分流方案已保存")}catch(t){p.error((t==null?void 0:t.message)||"分流方案保存失败")}finally{ae.value=!1}}async function Re(t){await le.confirm(`删除“${t.name}”后,该方案下的获客助手链接也会停用。确认继续?`,"删除分流方案",{type:"warning"});try{await sn({id:Number(t.id)}),p.success("分流方案已删除"),await S()}catch(e){p.error((e==null?void 0:e.message)||"删除失败")}}function Ne(t){if(!C.value)return;const e=t&&Number(t.active_start)>0&&Number(t.active_end)>0?[Ie(t.active_start),Ie(t.active_end)]:[],s=new Set(((t==null?void 0:t.range_userids)||[]).map(k=>String(k))),o=m.member_options.filter(k=>s.has(String(k.userid))).map(k=>Number(k.id));Object.assign(_,t?{id:Number(t.id),pool_id:Number(t.pool_id),name:t.name,group_name:t.group_name||"默认分组",wecom_url:t.wecom_url,member_admin_ids:o,skip_verify:Number(t.skip_verify)===1?1:0,legacy:!t.is_official,weight:Number(t.weight)||1,status:Number(t.status),daily_limit:Number(t.daily_limit)||0,active_range:e,remark:t.remark||""}:{id:0,pool_id:Number(C.value.id),name:"",group_name:"默认分组",wecom_url:"",member_admin_ids:[],skip_verify:0,legacy:!1,weight:1,status:1,daily_limit:0,active_range:[],remark:""}),Z.value=!0}async function Je(){var t,e;if(!_.name.trim())return p.warning("请输入获客链接名称");if(_.legacy&&!_.wecom_url.trim())return p.warning("请填写企业微信获客助手链接");if(!_.legacy&&!_.member_admin_ids.length)return p.warning("请至少选择一名获客成员");se.value=!0;try{await on({..._,active_start:((t=_.active_range)==null?void 0:t[0])||"",active_end:((e=_.active_range)==null?void 0:e[1])||""}),Z.value=!1,await S(),p.success(_.legacy?"本地分流规则已保存":"企业微信官方获客链接已保存")}catch(s){p.error((s==null?void 0:s.message)||"获客助手链接保存失败")}finally{se.value=!1}}async function Ce(){X.value=!0;try{const t=await un();t!=null&&t.has_link?p.success((t==null?void 0:t.message)||"API 验证通过:应用凭证、可信 IP 与获客助手权限均可用"):p.warning((t==null?void 0:t.message)||"API 权限可用,但当前应用还没有创建官方获客链接")}catch(t){p.error((t==null?void 0:t.message)||"获客助手 API 验证失败")}finally{X.value=!1}}async function Ke(){await S(),$.value==="customer-stats"&&await z()}function B(t,e){for(const s of e)if((t==null?void 0:t[s])!==void 0&&(t==null?void 0:t[s])!==null&&(t==null?void 0:t[s])!==""){const o=Number(t[s]);return Number.isFinite(o)?o:0}return 0}async function z(){var t,e;G.value=!0;try{const s=await nn({page_no:x.page_no,page_size:x.page_size,promotion_link_id:N.link_id?Number(N.link_id):void 0,userid:N.userid||void 0,chat_status:N.chat_status===""?void 0:N.chat_status==="messaged"?1:N.chat_status==="unknown"?2:0}),o=(s==null?void 0:s.summary)||(s==null?void 0:s.stats)||{},k=B(o,["customer_count","total_customers","customer_total","total"]),f=B(o,["messaged_customer_count","started_chat_count","chat_customer_count","message_customer_count","chatting_customers"]),A=["message_customer_rate","chat_customer_rate","messaged_rate","chat_rate"],Q=A.some(P=>(o==null?void 0:o[P])!==void 0&&(o==null?void 0:o[P])!==null&&(o==null?void 0:o[P])!=="");Object.assign(b.summary,{customer_count:k,messaged_customer_count:f,message_customer_rate:Q?B(o,A):k?f/k*100:0,received_message_count:B(o,["received_message_count","recv_msg_cnt","recv_msg_count","total_recv_msg_cnt","message_count"]),message_count_known_count:B(o,["message_count_known_count","exact_message_customer_count"])}),b.rows=Array.isArray(s==null?void 0:s.lists)?s.lists:Array.isArray(s==null?void 0:s.list)?s.list:Array.isArray(s==null?void 0:s.rows)?s.rows:[],x.total=Number((s==null?void 0:s.total)??(s==null?void 0:s.count)??((t=s==null?void 0:s.page)==null?void 0:t.total)??b.rows.length)||0;const w=(s==null?void 0:s.filters)||{},ee=(s==null?void 0:s.link_options)||(w==null?void 0:w.link_options)||(w==null?void 0:w.links),O=(s==null?void 0:s.member_options)||(w==null?void 0:w.member_options)||(w==null?void 0:w.members);Array.isArray(ee)&&(b.link_options=ee),Array.isArray(O)&&(b.member_options=O);const te=b.rows.reduce((P,v)=>{const R=v.last_synced_at||v.last_sync_time||v.synced_at||v.sync_time||"";return Number(R||0)>Number(P||0)?R:P},""),E=((e=s==null?void 0:s.meta)==null?void 0:e.last_synced_at)||(s==null?void 0:s.last_synced_at)||te||b.meta.last_synced_at||"";Object.assign(b.meta,(s==null?void 0:s.meta)||{},{last_synced_at:E?_e(E):""}),be.value=!0}catch(s){p.error((s==null?void 0:s.message)||"获客客户统计加载失败")}finally{G.value=!1}}function Ye(){x.page_no=1,z()}function He(){Object.assign(N,{link_id:"",userid:"",chat_status:""}),x.page_no=1,z()}function Ze(){x.page_no=1,z()}async function Ge(){var t,e,s;ue.value=!0;try{const o=await dn({promotion_link_id:N.link_id?Number(N.link_id):void 0}),k=Number((o==null?void 0:o.scanned)??(o==null?void 0:o.customer_scanned)??((t=o==null?void 0:o.customers)==null?void 0:t.scanned)??0),f=Number((o==null?void 0:o.created)??(o==null?void 0:o.customer_created)??((e=o==null?void 0:o.customers)==null?void 0:e.created)??0),A=Number((o==null?void 0:o.updated)??(o==null?void 0:o.customer_updated)??((s=o==null?void 0:o.customers)==null?void 0:s.updated)??0);p.success((o==null?void 0:o.message)||`客户同步完成:扫描 ${h(k)} 位,新增 ${h(f)} 位,更新 ${h(A)} 位`),x.page_no=1,await Promise.all([S(),z()])}catch(o){p.error((o==null?void 0:o.message)||"获客客户同步失败")}finally{ue.value=!1}}async function We(){if(!C.value)return p.warning("请先选择分流方案");ie.value=!0;try{const t=await rn({pool_id:Number(C.value.id)}),e=`扫描 ${Number((t==null?void 0:t.scanned)||0)} 条,新建 ${Number((t==null?void 0:t.created)||0)} 条,更新 ${Number((t==null?void 0:t.updated)||0)} 条,按权限跳过 ${Number((t==null?void 0:t.skipped)||0)} 条,失败 ${Number((t==null?void 0:t.failed)||0)} 条`;Number((t==null?void 0:t.scanned)||0)===0?await le.alert(`${(t==null?void 0:t.empty_reason)||"当前应用没有可同步的官方获客链接"}
|
||
|
||
${(t==null?void 0:t.suggestion)||""}`,"没有可同步的官方链接",{type:"warning",confirmButtonText:"知道了"}):t!=null&&t.failed?p.warning(e):p.success(e),await S()}catch(t){p.error((t==null?void 0:t.message)||"同步企业微信获客链接失败")}finally{ie.value=!1}}async function Xe(t){oe.value=Number(t.id);try{await mn({id:Number(t.id)}),p.success("企业微信官方详情已刷新"),await S()}catch(e){p.error((e==null?void 0:e.message)||"刷新官方详情失败")}finally{oe.value=0}}async function Qe(t,e){if(t==="local"){await we(e);return}if(t==="remote"){await le.confirm(`将永久删除企业微信后台中的“${e.name}”,现有推广页面会立即失效,且无法恢复。确认继续?`,"永久删除企业微信获客链接",{type:"error",confirmButtonText:"永久删除",cancelButtonText:"取消"});try{await cn({id:Number(e.id)}),p.success("企业微信获客链接已永久删除,本地记录已保留并停止分流"),await S()}catch(s){p.error((s==null?void 0:s.message)||"永久删除失败")}}}async function et(t,e){try{await _n({id:Number(t.id),status:e?1:0}),t.status=e?1:0,p.success(e?"链接已上线":"链接已下线"),await S()}catch(s){p.error((s==null?void 0:s.message)||"状态更新失败"),await S()}}async function we(t){await le.confirm(`仅从本地分流池移除“${t.name}”,不会删除企业微信后台的官方链接。确认继续?`,"从本地移除",{type:"warning"});try{await pn({id:Number(t.id)}),p.success("已从本地分流池移除"),await S()}catch(e){p.error((e==null?void 0:e.message)||"删除失败")}}function Ve(t){const e=Math.floor(Date.now()/1e3);return Number(t.remote_status)===2?{label:"企业微信已删除",className:"is-error"}:t.valid_customer_acquisition_link===!1?{label:"非获客助手链接",className:"is-error"}:Number(t.status)!==1?{label:"已下线",className:"is-muted"}:Number(t.active_start)>0&&Number(t.active_start)>e?{label:"尚未生效",className:"is-waiting"}:Number(t.active_end)>0&&Number(t.active_end)<e?{label:"已过期",className:"is-error"}:Number(t.daily_limit)>0&&$e(t)>=Number(t.daily_limit)?{label:"今日已达上限",className:"is-waiting"}:{label:"可参与分流",className:"is-ok"}}function $e(t){const e=new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit"}).format(new Date);return t.today_date===e?Number(t.today_count||0):0}function tt(t){const e=Array.isArray(t.dept_names)&&t.dept_names.length?t.dept_names.join(" / "):"未分部门";return`${t.name} · ${e} · ${t.userid}`}function nt(t){const s=(Array.isArray(t.range_userids)?t.range_userids:[]).map(k=>{const f=m.member_options.find(A=>String(A.userid)===String(k));return(f==null?void 0:f.name)||String(k)});if(s.length)return s.length>2?`${s.slice(0,2).join("、")} 等 ${s.length} 人`:s.join("、");const o=Array.isArray(t.range_department_ids)?t.range_department_ids:[];return o.length?`企微部门 ${o.join("、")}`:t.is_official?"未返回成员范围":"手工配置"}function lt(t){const e=t.department_name||t.dept_name||"";return e?`${t.name} · ${e}`:t.name}function xe(t){const e=t.external_userid_masked||t.customer_id_masked||t.customer_masked||t.customer_name_masked;return e?String(e):at(t.external_userid||t.customer_id||t.id)}function at(t){const e=String(t||"").trim();return e?e.includes("*")?e:e.length<=4?`${e.slice(0,1)}***`:e.length<=8?`${e.slice(0,2)}***${e.slice(-1)}`:`${e.slice(0,4)}****${e.slice(-4)}`:"-"}function st(t){return t.link_name||t.source_link_name||t.promotion_link_name||"未匹配来源链接"}function it(t){const e=t.link_id||t.remote_link_id||t.source_link_id;return e?`链接 ID:${e}`:"暂无链接 ID"}function me(t){return B(t,["received_message_count","recv_msg_cnt","message_count","received_count"])}function Se(t){const e=t.message_count_known??t.message_count_exact??t.count_known;return e!=null?e===!0||e===1||e==="1"||e==="true":me(t)>0}function ce(t){const e=Number(t.chat_status);if(e===2)return"unknown";const s=t.has_messaged??t.has_message??t.messaged;return s!=null?s===!0||s===1||s==="1"||s==="true"||s==="messaged"?"messaged":"silent":e===1||me(t)>0?"messaged":"silent"}function ot(t){const e=ce(t);return e==="messaged"?"已发消息":e==="unknown"?"状态未知":"未发消息"}function ut(t){if(Se(t))return h(me(t));const e=ce(t);return e==="silent"?"0":e==="unknown"?"未知":"待回调"}function Pe(t){return t.last_message_at||t.last_chat_time||t.last_message_time||t.last_msg_time||t.event_time||""}function _e(t){if(t==null||t===""||t===0||t==="0")return"-";if(typeof t=="number"||/^\d+$/.test(String(t))){const e=Number(t),s=new Date(e>1e11?e:e*1e3);return Number.isNaN(s.getTime())?"-":s.toLocaleString("zh-CN",{hour12:!1}).replaceAll("/","-")}return String(t).replace("T"," ").replace(/Z$/,"").slice(0,19)}function dt(t){return`${Number(t||0).toFixed(1)}%`}function h(t){return Number(t||0).toLocaleString("zh-CN")}function Ie(t){const e=new Date(Number(t||0)*1e3),s=o=>String(o).padStart(2,"0");return`${e.getFullYear()}-${s(e.getMonth()+1)}-${s(e.getDate())} ${s(e.getHours())}:${s(e.getMinutes())}:${s(e.getSeconds())}`}async function pe(t,e){if(!t)return p.warning(`${e}暂无内容`);try{await navigator.clipboard.writeText(t)}catch{const s=document.createElement("textarea");s.value=t,s.style.position="fixed",s.style.opacity="0",document.body.appendChild(s),s.select(),document.execCommand("copy"),s.remove()}p.success(`${e}已复制`)}function rt(){var t;(t=U.value)!=null&&t.go_url&&window.open(U.value.go_url,"_blank","noopener,noreferrer")}return pt(async()=>{await S()}),(t,e)=>{var he;const s=vt,o=yt,k=Pt,f=It,A=At,Q=Et,w=ht,ee=Dt,O=Tt,te=Ut,E=qt,P=Ft,v=Mt,R=Bt,mt=Rt,ct=Yt,J=Xt,Ae=Qt,De=en,_t=tn,Le=ft;return Te((d(),g("div",gn,[n("header",vn,[n("div",bn,[n("span",yn,[a(s,null,{default:i(()=>[a(c(gt))]),_:1})]),e[35]||(e[35]=n("div",null,[n("h1",null,"企业微信获客助手"),n("p",null,"对接企业微信获客助手官方 API,按角色与部门管理获客成员,并将链接安全分流到推广页面")],-1))]),n("div",kn,[n("span",Nn,[a(s,null,{default:i(()=>[a(c(bt))]),_:1}),r(u(m.meta.scope_label||"当前数据范围"),1)]),m.meta.generated_at?(d(),g("span",Cn,"更新于 "+u(m.meta.generated_at),1)):D("",!0),a(o,{icon:c(fe),loading:W.value||G.value,onClick:Ke},{default:i(()=>[...e[36]||(e[36]=[r("刷新",-1)])]),_:1},8,["icon","loading"])])]),n("section",wn,[n("article",Vn,[n("span",$n,[a(s,null,{default:i(()=>[a(c(kt))]),_:1})]),n("div",null,[e[37]||(e[37]=n("small",null,"内部应用",-1)),n("strong",null,u(m.summary.configured_apps),1),e[38]||(e[38]=n("p",null,"直接读取服务器环境配置",-1))])]),n("article",xn,[n("span",Sn,[a(s,null,{default:i(()=>[a(c(Nt))]),_:1})]),n("div",null,[e[39]||(e[39]=n("small",null,"分流方案",-1)),n("strong",null,u(m.summary.pool_count),1),e[40]||(e[40]=n("p",null,"每个方案生成独立 JS",-1))])]),n("article",Pn,[n("span",In,[a(s,null,{default:i(()=>[a(c(Ct))]),_:1})]),n("div",null,[e[41]||(e[41]=n("small",null,"在线链接",-1)),n("strong",null,u(m.summary.online_links),1),e[42]||(e[42]=n("p",null,"停用或超限自动排除",-1))])]),n("article",An,[n("span",Dn,[a(s,null,{default:i(()=>[a(c(wt))]),_:1})]),n("div",null,[e[43]||(e[43]=n("small",null,"今日分流点击",-1)),n("strong",null,u(m.summary.today_clicks),1),e[44]||(e[44]=n("p",null,"只记录脱敏访问数据",-1))])])]),n("section",Ln,[n("nav",hn,[n("button",{class:I({active:$.value==="links"}),onClick:e[0]||(e[0]=l=>$.value="links")},[a(s,null,{default:i(()=>[a(c(Ue))]),_:1}),e[45]||(e[45]=r("获客助手链接 ",-1))],2),n("button",{class:I({active:$.value==="customer-stats"}),onClick:e[1]||(e[1]=l=>$.value="customer-stats")},[a(s,null,{default:i(()=>[a(c(ze))]),_:1}),e[46]||(e[46]=r("获客客户统计 ",-1))],2),n("button",{class:I({active:$.value==="configuration"}),onClick:e[2]||(e[2]=l=>$.value="configuration")},[a(s,null,{default:i(()=>[a(c(Vt))]),_:1}),e[47]||(e[47]=r("应用配置 ",-1))],2),n("button",{class:I({active:$.value==="install"}),onClick:e[3]||(e[3]=l=>$.value="install")},[a(s,null,{default:i(()=>[a(c(ne))]),_:1}),e[48]||(e[48]=r("JS 安装 ",-1))],2)]),$.value==="links"?(d(),g("div",En,[n("div",Tn,[e[50]||(e[50]=n("div",null,[n("h2",null,"获客助手链接分流"),n("p",null,"访客点击时由服务端从当前可用的获客助手链接中按权重随机选择,页面端不会暴露完整链接池。")],-1)),a(o,{type:"primary",icon:c(ge),onClick:e[4]||(e[4]=l=>re())},{default:i(()=>[...e[49]||(e[49]=[r("新建分流方案",-1)])]),_:1},8,["icon"])]),m.pools.length?(d(),g("div",Un,[n("aside",zn,[(d(!0),g(F,null,K(m.pools,l=>(d(),g("button",{key:l.id,class:I(["pool-item",{active:Number(l.id)===T.value}]),onClick:M=>T.value=Number(l.id)},[n("span",{class:I(["pool-status",Number(l.status)===1?"online":"offline"])},null,2),n("span",null,[n("strong",null,u(l.name),1),n("small",null,u(je(l.id))+" 条链接 · "+u(h(l.click_count))+" 次点击",1)]),a(s,null,{default:i(()=>[a(c($t))]),_:1})],10,On))),128))]),n("div",Mn,[C.value?(d(),g("div",Fn,[n("div",null,[n("div",qn,[n("h3",null,u(C.value.name),1),n("span",{class:I(["status-tag",Number(C.value.status)===1?"is-online":"is-offline"])},u(Number(C.value.status)===1?"运行中":"已停用"),3),n("span",jn,u(C.value.dept_name||"未分部门")+" · "+u(C.value.owner_name||"系统"),1)]),n("p",null,"公开键:"+u(C.value.public_key),1)]),n("div",Bn,[a(o,{icon:c(Oe),loading:X.value,onClick:Ce},{default:i(()=>[...e[51]||(e[51]=[r("验证 API",-1)])]),_:1},8,["icon","loading"]),a(o,{icon:c(fe),loading:ie.value,onClick:We},{default:i(()=>[...e[52]||(e[52]=[r("同步企业微信",-1)])]),_:1},8,["icon","loading"]),a(o,{icon:c(ne),onClick:e[5]||(e[5]=l=>pe(C.value.install_code,"JS 安装代码"))},{default:i(()=>[...e[53]||(e[53]=[r("复制 JS",-1)])]),_:1},8,["icon"]),a(o,{icon:c(xt),onClick:e[6]||(e[6]=l=>re(C.value))},{default:i(()=>[...e[54]||(e[54]=[r("编辑方案",-1)])]),_:1},8,["icon"]),a(o,{type:"danger",plain:"",icon:c(St),onClick:e[7]||(e[7]=l=>Re(C.value))},{default:i(()=>[...e[55]||(e[55]=[r("删除",-1)])]),_:1},8,["icon"]),a(o,{type:"primary",icon:c(ge),onClick:e[8]||(e[8]=l=>Ne())},{default:i(()=>[...e[56]||(e[56]=[r("创建官方获客链接",-1)])]),_:1},8,["icon"])])])):D("",!0),ke.value>0&&ye.value===0?(d(),y(k,{key:1,class:"legacy-sync-alert",type:"warning","show-icon":"",closable:!1,title:`当前方案的 ${ke.value} 条链接都是历史手工链接,企业微信同步不会返回它们`,description:"官方接口只返回当前应用通过 API 创建的获客链接。现有链接仍可参与本地分流;如需同步 link_id、客户和官方统计,请点击“创建官方获客链接”。"},null,8,["title"])):D("",!0),a(te,{data:de.value,class:"link-table",stripe:""},{empty:i(()=>[a(O,{"image-size":72,description:"当前方案还没有获客助手链接"})]),default:i(()=>[a(f,{label:"推广成员 / 分组","min-width":"180",fixed:"left"},{default:i(({row:l})=>[n("div",Rn,[n("strong",null,u(l.name),1),n("small",null,u(l.group_name||"默认分组"),1)])]),_:1}),a(f,{label:"企业微信链接 ID","min-width":"180"},{default:i(({row:l})=>[l.remote_link_id?(d(),g("span",{key:0,class:"remote-id",title:l.remote_link_id},u(l.remote_link_id),9,Jn)):(d(),g("span",Kn,"历史手工链接"))]),_:1}),a(f,{label:"可用成员","min-width":"150"},{default:i(({row:l})=>[n("span",null,u(nt(l)),1)]),_:1}),a(f,{label:"权重",prop:"weight",width:"84",align:"center"}),a(f,{label:"今日 / 上限","min-width":"120",align:"center"},{default:i(({row:l})=>[r(u($e(l))+" / "+u(Number(l.daily_limit)?l.daily_limit:"不限"),1)]),_:1}),a(f,{label:"累计点击",prop:"click_count","min-width":"105",align:"center"}),a(f,{label:"当前可用性","min-width":"130"},{default:i(({row:l})=>[n("span",{class:I(["availability",Ve(l).className])},u(Ve(l).label),3)]),_:1}),a(f,{label:"上线",width:"90",align:"center"},{default:i(({row:l})=>[a(A,{"model-value":Number(l.status)===1,disabled:Number(l.remote_status)===2,onChange:M=>et(l,M)},null,8,["model-value","disabled","onChange"])]),_:1}),a(f,{label:"操作","min-width":"245",fixed:"right"},{default:i(({row:l})=>[l.is_official&&Number(l.remote_status)!==2?(d(),y(o,{key:0,type:"primary",link:"",loading:oe.value===Number(l.id),onClick:M=>Xe(l)},{default:i(()=>[...e[57]||(e[57]=[r("刷新详情",-1)])]),_:1},8,["loading","onClick"])):D("",!0),!l.is_official||Number(l.remote_status)!==2?(d(),y(o,{key:1,type:"primary",link:"",onClick:M=>Ne(l)},{default:i(()=>[...e[58]||(e[58]=[r("编辑",-1)])]),_:1},8,["onClick"])):D("",!0),l.is_official?(d(),y(ee,{key:2,trigger:"click",onCommand:M=>Qe(M,l)},{dropdown:i(()=>[a(w,null,{default:i(()=>[a(Q,{command:"local"},{default:i(()=>[...e[60]||(e[60]=[r("从本地移除",-1)])]),_:1}),Number(l.remote_status)!==2?(d(),y(Q,{key:0,command:"remote",divided:"",class:"danger-command"},{default:i(()=>[...e[61]||(e[61]=[r("永久删除企业微信链接",-1)])]),_:1})):D("",!0)]),_:2},1024)]),default:i(()=>[a(o,{type:"primary",link:""},{default:i(()=>[e[59]||(e[59]=r("更多",-1)),a(s,{class:"el-icon--right"},{default:i(()=>[a(c(Lt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):(d(),y(o,{key:3,type:"danger",link:"",onClick:M=>we(l)},{default:i(()=>[...e[62]||(e[62]=[r("从本地移除",-1)])]),_:1},8,["onClick"]))]),_:1})]),_:1},8,["data"])])])):(d(),y(O,{key:1,description:"先创建一个分流方案,再添加企业微信获客助手链接"},{default:i(()=>[a(o,{type:"primary",icon:c(ge),onClick:e[9]||(e[9]=l=>re())},{default:i(()=>[...e[63]||(e[63]=[r("创建第一个方案",-1)])]),_:1},8,["icon"])]),_:1}))])):$.value==="customer-stats"?(d(),g("div",Yn,[n("div",Hn,[e[65]||(e[65]=n("div",null,[n("h2",null,"获客客户消息统计"),n("p",null,"统计当前权限范围内由获客助手链接添加的客户,以及客户向承接成员发送消息的情况。")],-1)),n("div",Zn,[b.meta.last_synced_at?(d(),g("span",Gn,"最近同步 "+u(b.meta.last_synced_at),1)):D("",!0),a(o,{type:"primary",icon:c(fe),loading:ue.value,onClick:Ge},{default:i(()=>[...e[64]||(e[64]=[r("同步客户",-1)])]),_:1},8,["icon","loading"])])]),n("section",Wn,[n("article",Xn,[n("span",Qn,[a(s,null,{default:i(()=>[a(c(zt))]),_:1})]),n("div",null,[e[66]||(e[66]=n("small",null,"获客客户数",-1)),n("strong",null,u(h(b.summary.customer_count)),1),e[67]||(e[67]=n("p",null,"当前筛选范围内的去重客户",-1))])]),n("article",el,[n("span",tl,[a(s,null,{default:i(()=>[a(c(Ot))]),_:1})]),n("div",null,[e[68]||(e[68]=n("small",null,"已发消息客户数",-1)),n("strong",null,u(h(b.summary.messaged_customer_count)),1),e[69]||(e[69]=n("p",null,"至少发送过一条消息",-1))])]),n("article",nl,[n("span",ll,[a(s,null,{default:i(()=>[a(c(ze))]),_:1})]),n("div",null,[e[70]||(e[70]=n("small",null,"消息客户率",-1)),n("strong",null,u(dt(b.summary.message_customer_rate)),1),e[71]||(e[71]=n("p",null,"已发消息客户占获客客户比例",-1))])]),n("article",al,[n("span",sl,[a(s,null,{default:i(()=>[a(c(Ue))]),_:1})]),n("div",null,[e[72]||(e[72]=n("small",null,"累计接收消息数",-1)),n("strong",null,u(h(b.summary.received_message_count)),1),n("p",null,"已精确统计 "+u(h(b.summary.message_count_known_count))+" 位客户",1)])])]),m.config.callback_ready?D("",!0):(d(),y(k,{key:0,class:"chatkey-alert",type:"warning","show-icon":"",closable:!1,title:"消息次数回调尚未配置完成",description:"请在企业微信获客助手的 API 接入场景中配置本页“应用配置”展示的消息回调地址,并在服务器配置 contact_callback_token 与 contact_callback_aes_key。未完成前只能同步客户及聊天状态,无法得到精确接收消息次数。"})),a(k,{class:"chatkey-alert",type:"info","show-icon":"",closable:!1,title:"消息统计依赖企业微信 ChatKey",description:"ChatKey 仅在事件产生后的 30 分钟内有效。服务端收到企业微信回调后会立即拉取会话详情;手动同步用于刷新客户清单,无法补取已过期的会话消息。"}),n("div",il,[a(R,{model:N,inline:"","label-position":"top"},{default:i(()=>[a(v,{label:"来源链接"},{default:i(()=>[a(P,{modelValue:N.link_id,"onUpdate:modelValue":e[10]||(e[10]=l=>N.link_id=l),clearable:"",filterable:"",placeholder:"全部链接"},{default:i(()=>[(d(!0),g(F,null,K(Fe.value,l=>(d(),y(E,{key:String(l.id),label:l.name,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(v,{label:"承接成员"},{default:i(()=>[a(P,{modelValue:N.userid,"onUpdate:modelValue":e[11]||(e[11]=l=>N.userid=l),clearable:"",filterable:"",placeholder:"全部成员"},{default:i(()=>[(d(!0),g(F,null,K(qe.value,l=>(d(),y(E,{key:l.userid||String(l.id),label:lt(l),value:l.userid||String(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(v,{label:"聊天状态"},{default:i(()=>[a(P,{modelValue:N.chat_status,"onUpdate:modelValue":e[12]||(e[12]=l=>N.chat_status=l),clearable:"",placeholder:"全部状态"},{default:i(()=>[a(E,{label:"已发过消息",value:"messaged"}),a(E,{label:"未发过消息",value:"silent"}),a(E,{label:"状态未知",value:"unknown"})]),_:1},8,["modelValue"])]),_:1}),a(v,{class:"filter-actions"},{default:i(()=>[a(o,{type:"primary",icon:c(jt),loading:G.value,onClick:Ye},{default:i(()=>[...e[73]||(e[73]=[r("查询",-1)])]),_:1},8,["icon","loading"]),a(o,{onClick:He},{default:i(()=>[...e[74]||(e[74]=[r("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),Te((d(),y(te,{data:b.rows,class:"customer-table",stripe:""},{empty:i(()=>[a(O,{"image-size":72,description:"当前筛选范围暂无获客客户数据"})]),default:i(()=>[a(f,{label:"客户标识(已脱敏)","min-width":"190",fixed:"left"},{default:i(({row:l})=>[n("span",{class:"customer-identifier",title:xe(l)},u(xe(l)),9,ol)]),_:1}),a(f,{label:"来源链接","min-width":"190"},{default:i(({row:l})=>[n("div",ul,[n("strong",null,u(st(l)),1),n("small",null,u(it(l)),1)])]),_:1}),a(f,{label:"承接成员 / 部门","min-width":"175"},{default:i(({row:l})=>[n("div",dl,[n("strong",null,u(l.member_name||l.owner_name||"未匹配成员"),1),n("small",null,u(l.department_name||l.dept_name||"未分部门"),1)])]),_:1}),a(f,{label:"是否发过消息",width:"125",align:"center"},{default:i(({row:l})=>[n("span",{class:I(["message-state",`is-${ce(l)}`])},u(ot(l)),3)]),_:1}),a(f,{label:"接收消息数",width:"120",align:"right"},{default:i(({row:l})=>[n("strong",{class:I(["message-count",{muted:!Se(l)}])},u(ut(l)),3)]),_:1}),a(f,{label:"最近同步时间","min-width":"165"},{default:i(({row:l})=>[r(u(_e(l.last_synced_at||l.last_sync_time||l.synced_at||l.sync_time)),1)]),_:1}),a(f,{label:"最近消息时间","min-width":"165"},{default:i(({row:l})=>[n("span",{class:I({muted:!Pe(l)})},u(_e(Pe(l))),3)]),_:1})]),_:1},8,["data"])),[[Le,G.value]]),n("div",rl,[n("span",null,"共 "+u(h(x.total))+" 位客户",1),a(mt,{"current-page":x.page_no,"onUpdate:currentPage":e[13]||(e[13]=l=>x.page_no=l),"page-size":x.page_size,"onUpdate:pageSize":e[14]||(e[14]=l=>x.page_size=l),background:"",layout:"sizes, prev, pager, next","page-sizes":[10,20,50,100],total:x.total,onCurrentChange:z,onSizeChange:Ze},null,8,["current-page","page-size","total"])])])):$.value==="configuration"?(d(),g("div",ml,[e[83]||(e[83]=n("div",{class:"section-heading"},[n("div",null,[n("h2",null,"企业微信内部应用配置"),n("p",null,"直接读取服务器现有的 work_wechat 配置,密钥不会返回浏览器,也不需要第三方应用授权。")])],-1)),n("div",{class:I(["configuration-panel",m.config.ready?"is-ready":"is-pending"])},[n("div",cl,[n("span",null,[a(s,null,{default:i(()=>[(d(),y(Jt(m.config.ready?c(Oe):c(Kt))))]),_:1})]),n("div",null,[n("strong",null,u(m.config.ready?"内部应用已就绪":"内部应用配置不完整"),1),m.config.ready?(d(),g("p",_l,"已识别 CorpID 与应用 Secret;点击“验证 API”可同时检查可信 IP、获客助手开通状态和应用权限。")):(d(),g("p",pl,"请补齐服务器 .env 的 [work_wechat] 配置;页面不会展示 Secret 内容。"))])]),(he=m.config.missing)!=null&&he.length?(d(),g("div",fl,[e[75]||(e[75]=r(" 缺少:",-1)),(d(!0),g(F,null,K(m.config.missing,l=>(d(),g("code",{key:l},u(l),1))),128))])):D("",!0),n("dl",gl,[n("div",null,[e[76]||(e[76]=n("dt",null,"企业 CorpID",-1)),n("dd",null,u(m.config.corp_id_masked||"未配置"),1),n("span",null,u(m.config.corp_id_masked?"已识别":"缺失"),1)]),n("div",null,[e[77]||(e[77]=n("dt",null,"应用 AgentID",-1)),n("dd",null,u(m.config.agent_id||"未配置"),1),n("span",null,u(m.config.agent_id?"已识别":"缺失"),1)]),n("div",null,[e[78]||(e[78]=n("dt",null,"应用 Secret",-1)),e[79]||(e[79]=n("dd",null,"仅保存在服务器环境变量中",-1)),n("span",null,u(m.config.secret_configured?"已配置":"缺失"),1)]),n("div",null,[e[80]||(e[80]=n("dt",null,"消息回调地址",-1)),n("dd",null,u(m.config.callback_url||"未生成"),1),n("span",null,u(m.config.callback_ready?"已配置密钥":"待配置 Token/AESKey"),1)])]),n("div",vl,[a(o,{type:"primary",loading:X.value,onClick:Ce},{default:i(()=>[...e[81]||(e[81]=[r("验证获客助手 API",-1)])]),_:1},8,["loading"]),m.config.official_doc?(d(),y(ct,{key:0,href:m.config.official_doc,target:"_blank",type:"primary"},{default:i(()=>[...e[82]||(e[82]=[r("查看企业微信官方文档",-1)])]),_:1},8,["href"])):D("",!0)])],2)])):(d(),g("div",bl,[n("div",yl,[e[84]||(e[84]=n("div",null,[n("h2",null,"安装 JS 到推广落地页"),n("p",null,"基础脚本只负责捕获点击并请求服务端分流,不携带授权凭证,也不在浏览器中计算随机规则。")],-1)),a(P,{modelValue:j.value,"onUpdate:modelValue":e[15]||(e[15]=l=>j.value=l),placeholder:"选择分流方案",class:"install-pool-select"},{default:i(()=>[(d(!0),g(F,null,K(m.pools,l=>(d(),y(E,{key:l.id,label:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),U.value?(d(),g(F,{key:0},[n("div",kl,[n("article",Nl,[e[86]||(e[86]=n("div",{class:"code-heading"},[n("span",null,"1"),n("div",null,[n("strong",null,"安装基础脚本"),n("p",null,[r("放在页面 "),n("code",null,"</head>"),r(" 标签之前,只需安装一次。")])])],-1)),n("pre",null,[n("code",null,u(U.value.install_code),1)]),a(o,{type:"primary",plain:"",icon:c(ne),onClick:e[16]||(e[16]=l=>pe(U.value.install_code,"基础脚本"))},{default:i(()=>[...e[85]||(e[85]=[r("复制代码",-1)])]),_:1},8,["icon"])]),n("article",Cl,[e[88]||(e[88]=n("div",{class:"code-heading"},[n("span",null,"2"),n("div",null,[n("strong",null,"标记点击元素"),n("p",null,"按钮、图片或文字链接都可以使用同一个数据属性。")])],-1)),n("pre",null,[n("code",null,u(U.value.trigger_code),1)]),a(o,{type:"primary",plain:"",icon:c(ne),onClick:e[17]||(e[17]=l=>pe(U.value.trigger_code,"点击元素代码"))},{default:i(()=>[...e[87]||(e[87]=[r("复制代码",-1)])]),_:1},8,["icon"])])]),n("div",wl,[n("div",null,[a(s,null,{default:i(()=>[a(c(Ht))]),_:1}),e[89]||(e[89]=n("span",null,[n("strong",null,"可用性筛选"),r("自动排除停用、超出时间段和达到每日上限的链接。")],-1))]),n("div",null,[a(s,null,{default:i(()=>[a(c(Zt))]),_:1}),e[90]||(e[90]=n("span",null,[n("strong",null,"权重随机"),r("权重越高,被选中的概率越大;没有可用链接时才使用兜底链接。")],-1))]),n("div",null,[a(s,null,{default:i(()=>[a(c(Gt))]),_:1}),e[91]||(e[91]=n("span",null,[n("strong",null,"隐私与安全"),r("前端看不到完整链接池;访问 IP 只保存带服务端密钥的不可逆哈希。")],-1))])]),n("div",Vl,[e[93]||(e[93]=n("div",null,[n("strong",null,"分流测试"),n("p",null,"每次打开都会执行与线上相同的筛选和随机规则,并计入点击数据。")],-1)),a(o,{type:"primary",icon:c(Wt),onClick:rt},{default:i(()=>[...e[92]||(e[92]=[r("打开测试链接",-1)])]),_:1},8,["icon"])])],64)):(d(),y(O,{key:1,description:"请先创建分流方案,系统会自动生成 JS 安装代码"}))]))]),a(Ae,{modelValue:H.value,"onUpdate:modelValue":e[22]||(e[22]=l=>H.value=l),title:L.id?"编辑分流方案":"新建分流方案",width:"560px","destroy-on-close":""},{footer:i(()=>[a(o,{onClick:e[21]||(e[21]=l=>H.value=!1)},{default:i(()=>[...e[95]||(e[95]=[r("取消",-1)])]),_:1}),a(o,{type:"primary",loading:ae.value,onClick:Be},{default:i(()=>[...e[96]||(e[96]=[r("保存方案",-1)])]),_:1},8,["loading"])]),default:i(()=>[a(R,{"label-position":"top"},{default:i(()=>[a(v,{label:"方案名称",required:""},{default:i(()=>[a(J,{modelValue:L.name,"onUpdate:modelValue":e[18]||(e[18]=l=>L.name=l),maxlength:"60","show-word-limit":"",placeholder:"例如:官网咨询分流"},null,8,["modelValue"])]),_:1}),a(v,{label:"兜底获客助手链接"},{default:i(()=>[a(J,{modelValue:L.fallback_url,"onUpdate:modelValue":e[19]||(e[19]=l=>L.fallback_url=l),placeholder:"可选;没有可用成员时跳转"},null,8,["modelValue"]),e[94]||(e[94]=n("span",{class:"form-tip"},"仅接受企业微信获客助手生成的 https://work.weixin.qq.com/ca/... 链接。",-1))]),_:1}),a(v,{label:"运行状态"},{default:i(()=>[a(A,{modelValue:L.status,"onUpdate:modelValue":e[20]||(e[20]=l=>L.status=l),"active-value":1,"inactive-value":0,"active-text":"运行","inactive-text":"停用"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","title"]),a(Ae,{modelValue:Z.value,"onUpdate:modelValue":e[34]||(e[34]=l=>Z.value=l),title:_.id?"编辑获客助手链接":"创建企业微信官方获客链接",width:"720px","destroy-on-close":""},{footer:i(()=>[a(o,{onClick:e[33]||(e[33]=l=>Z.value=!1)},{default:i(()=>[...e[101]||(e[101]=[r("取消",-1)])]),_:1}),a(o,{type:"primary",loading:se.value,onClick:Je},{default:i(()=>[...e[102]||(e[102]=[r("保存链接",-1)])]),_:1},8,["loading"])]),default:i(()=>[a(R,{"label-position":"top",class:"link-form"},{default:i(()=>[n("div",$l,[a(v,{label:"获客链接名称",required:""},{default:i(()=>[a(J,{modelValue:_.name,"onUpdate:modelValue":e[23]||(e[23]=l=>_.name=l),maxlength:"80",placeholder:"用于企业微信和后台识别"},null,8,["modelValue"])]),_:1}),a(v,{label:"分组"},{default:i(()=>[a(J,{modelValue:_.group_name,"onUpdate:modelValue":e[24]||(e[24]=l=>_.group_name=l),maxlength:"60",placeholder:"默认分组"},null,8,["modelValue"])]),_:1})]),_.legacy?(d(),y(v,{key:1,label:"企业微信获客助手链接",required:""},{default:i(()=>[a(J,{modelValue:_.wecom_url,"onUpdate:modelValue":e[26]||(e[26]=l=>_.wecom_url=l),type:"textarea",rows:2,placeholder:m.customer_acquisition_link_example},null,8,["modelValue","placeholder"]),e[98]||(e[98]=n("span",{class:"form-tip"},"这是历史手工链接,只更新本地分流规则,不会调用企业微信创建或修改接口。",-1))]),_:1})):(d(),y(v,{key:0,label:"获客成员",required:""},{default:i(()=>[a(P,{modelValue:_.member_admin_ids,"onUpdate:modelValue":e[25]||(e[25]=l=>_.member_admin_ids=l),multiple:"",filterable:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"仅显示当前角色和部门可管理、且已绑定企业微信的成员",style:{width:"100%"}},{default:i(()=>[(d(!0),g(F,null,K(m.member_options,l=>(d(),y(E,{key:l.id,label:tt(l),value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e[97]||(e[97]=n("span",{class:"form-tip"},"官方链接按这里的企业微信 userid 建立可见范围;越权成员不会出现在列表中。",-1))]),_:1})),n("div",xl,[a(v,{label:"分流权重",required:""},{default:i(()=>[a(De,{modelValue:_.weight,"onUpdate:modelValue":e[27]||(e[27]=l=>_.weight=l),min:1,max:100,"controls-position":"right"},null,8,["modelValue"])]),_:1}),a(v,{label:"每日点击上限"},{default:i(()=>[a(De,{modelValue:_.daily_limit,"onUpdate:modelValue":e[28]||(e[28]=l=>_.daily_limit=l),min:0,max:1e6,"controls-position":"right"},null,8,["modelValue"]),e[99]||(e[99]=n("span",{class:"form-tip"},"0 表示不限",-1))]),_:1})]),_.legacy?D("",!0):(d(),y(v,{key:2,label:"添加客户时跳过验证"},{default:i(()=>[a(A,{modelValue:_.skip_verify,"onUpdate:modelValue":e[29]||(e[29]=l=>_.skip_verify=l),"active-value":1,"inactive-value":0,"active-text":"跳过验证","inactive-text":"需要验证"},null,8,["modelValue"])]),_:1})),a(v,{label:"上线状态"},{default:i(()=>[a(A,{modelValue:_.status,"onUpdate:modelValue":e[30]||(e[30]=l=>_.status=l),"active-value":1,"inactive-value":0,"active-text":"上线","inactive-text":"下线"},null,8,["modelValue"])]),_:1}),a(v,{label:"生效时间段"},{default:i(()=>[a(_t,{modelValue:_.active_range,"onUpdate:modelValue":e[31]||(e[31]=l=>_.active_range=l),type:"datetimerange","value-format":"YYYY-MM-DD HH:mm:ss","start-placeholder":"开始时间","end-placeholder":"结束时间","range-separator":"至"},null,8,["modelValue"]),e[100]||(e[100]=n("span",{class:"form-tip"},"不选择表示长期有效",-1))]),_:1}),a(v,{label:"备注"},{default:i(()=>[a(J,{modelValue:_.remark,"onUpdate:modelValue":e[32]||(e[32]=l=>_.remark=l),maxlength:"255","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","title"])])),[[Le,W.value]])}}}),hl=fn(Pl,[["__scopeId","data-v-04654e8f"]]);export{hl as default};
|