4 lines
40 KiB
JavaScript
4 lines
40 KiB
JavaScript
import{E as _,L as ft,d as gt,i as vt,K as yt,N as bt,g as kt,p as Nt,n as Ct,o as wt,W as Vt,M as $t,B as xt,P as St,Q as ht,D as Pt,U as At,S as It,C as Dt,V as Lt,h as Et,R as Ut,a as te}from"./element-plus-Bm2jcHo4.js";import{s as Le}from"./@vue/runtime-dom-DDAG46FW.js";import{ac as Tt,a8 as zt,M as _e,a7 as Mt,ah as Ot,S as Ft,ai as jt,aj as Ee,ak as Ue,al as Bt,ag as Te,A as pe,g as qt,d as ze,L as Jt,H as Rt,e as Ht,Z as Kt,J as Wt,O as Yt,am as Zt}from"./@element-plus/icons-vue-8Um_rfcd.js";import{y as Gt,z as Qt,A as Xt,B as ea,C as ta,D as aa,E as na,F as la,G as sa,H as ia,I as oa,J as ua}from"./first_visit-Ifm9U8v6.js";import ra from"./WecomFloatingWidgetBuilder-HTr1iu4n.js";import{f as Fe,w as Me,b as da,aP as Oe,ak as r,I as g,J as n,a as s,aN as i,O as c,H as P,F as J,ap as R,G as y,at as ma,A as O}from"./@vue/runtime-core-C6bnekPw.js";import{y as p,r as H,n as V}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u,o as A}from"./@vue/shared-mAAVTE9n.js";import{_ as ca}from"./index-CJJeyIXM.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.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-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const _a={class:"promotion-page","element-loading-text":"正在加载推广配置"},pa={class:"page-header"},fa={class:"heading-copy"},ga={class:"heading-icon"},va={class:"heading-actions"},ya={class:"scope-chip"},ba={key:0,class:"update-time"},ka={class:"metric-grid"},Na={class:"metric-card"},Ca={class:"metric-icon is-teal"},wa={class:"metric-card"},Va={class:"metric-icon is-blue"},$a={class:"metric-card"},xa={class:"metric-icon is-green"},Sa={class:"metric-card"},ha={class:"metric-icon is-orange"},Pa={class:"workspace-card"},Aa={class:"tab-nav","aria-label":"企业微信获客助手功能"},Ia={key:0,class:"tab-content links-tab"},Da={class:"section-heading"},La={key:0,class:"pool-layout"},Ea={class:"pool-sidebar"},Ua=["onClick"],Ta={class:"pool-main"},za={key:0,class:"pool-toolbar"},Ma={class:"pool-title-row"},Oa={class:"owner-tag"},Fa={class:"toolbar-actions"},ja={class:"member-cell"},Ba={class:"link-id-cell"},qa=["title"],Ja={key:1,class:"legacy-tag"},Ra=["href","title"],Ha={key:4,class:"muted"},Ka={key:1,class:"tab-content customer-stats-tab"},Wa={class:"section-heading customer-stats-heading"},Ya={class:"customer-heading-actions"},Za={key:0,class:"update-time"},Ga={class:"customer-metric-grid","aria-label":"获客客户消息汇总"},Qa={class:"customer-metric-card"},Xa={class:"metric-icon is-teal"},en={class:"customer-metric-card"},tn={class:"metric-icon is-blue"},an={class:"customer-metric-card"},nn={class:"metric-icon is-green"},ln={class:"customer-metric-card"},sn={class:"metric-icon is-orange"},on={class:"customer-filter-bar"},un=["title"],rn={class:"member-cell"},dn={class:"member-cell"},mn={class:"customer-pagination"},cn={key:2,class:"tab-content authorization-tab"},_n={class:"configuration-state"},pn={key:0},fn={key:1},gn={key:0,class:"missing-fields"},vn={class:"callback-list"},yn={class:"configuration-actions"},bn={key:3,class:"tab-content install-tab"},kn={class:"section-heading"},Nn={class:"form-grid"},Cn={class:"form-grid"},wn=Fe({name:"firstVisitWecomPromotionPage"}),Vn=Fe({...wn,setup($n){const fe=()=>({meta:{scope_label:"",generated_at:""},config:{mode:"internal",configured:!1,ready:!1,missing:[],corp_id_masked:"",agent_id:"",secret_configured:!1,callback_ready:!1,callback_url:"",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"}),d=H(fe()),Z=V(!1),$=V("links"),U=V(),F=V(),K=V(!1),W=V(!1),ae=V(!1),ne=V(!1),G=V(!1),le=V(!1),se=V(0),D=H({id:0,name:"",fallback_url:"",status:1}),m=H({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:""}),Y=V(!1),ge=V(!1),ie=V(!1),N=H({link_id:"",userid:"",chat_status:""}),x=H({page_no:1,page_size:20,total:0}),b=H({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=O(()=>d.pools.find(t=>Number(t.id)===U.value)),oe=O(()=>d.links.filter(t=>Number(t.pool_id)===U.value)),ve=O(()=>oe.value.filter(t=>!!t.remote_link_id).length),ye=O(()=>oe.value.length-ve.value),ue=O(()=>d.pools.find(t=>Number(t.id)===F.value)),je=O(()=>b.link_options.length?b.link_options:d.links.filter(t=>t.id).map(t=>({id:Number(t.id),name:t.name||t.remote_link_id||`链接 ${t.id}`}))),Be=O(()=>b.member_options.length?b.member_options:d.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||""})));Me(()=>d.pools.map(t=>Number(t.id)).join(","),()=>{const t=d.pools.map(e=>Number(e.id));(!U.value||!t.includes(U.value))&&(U.value=t[0]),(!F.value||!t.includes(F.value))&&(F.value=t[0])},{immediate:!0}),Me($,t=>{t==="customer-stats"&&!ge.value&&z()});async function S(){Z.value=!0;try{const t=await Qt();Object.assign(d,fe(),t||{})}catch(t){_.error((t==null?void 0:t.message)||"企业微信推广配置加载失败")}finally{Z.value=!1}}function qe(t){return d.links.filter(e=>Number(e.pool_id)===Number(t)).length}function re(t){Object.assign(D,t?{id:Number(t.id),name:t.name,fallback_url:t.fallback_url||"",status:Number(t.status)}:{id:0,name:"",fallback_url:"",status:1}),K.value=!0}async function Je(){if(!D.name.trim())return _.warning("请输入分流方案名称");ae.value=!0;try{const t=await Xt({...D});K.value=!1,await S(),t!=null&&t.id&&(U.value=Number(t.id)),_.success("分流方案已保存")}catch(t){_.error((t==null?void 0:t.message)||"分流方案保存失败")}finally{ae.value=!1}}async function Re(t){await te.confirm(`删除“${t.name}”后,该方案下的获客助手链接也会停用。确认继续?`,"删除分流方案",{type:"warning"});try{await ea({id:Number(t.id)}),_.success("分流方案已删除"),await S()}catch(e){_.error((e==null?void 0:e.message)||"删除失败")}}function be(t){if(!C.value)return;const e=t&&Number(t.active_start)>0&&Number(t.active_end)>0?[Se(t.active_start),Se(t.active_end)]:[],l=new Set(((t==null?void 0:t.range_userids)||[]).map(k=>String(k))),o=d.member_options.filter(k=>l.has(String(k.userid))).map(k=>Number(k.id));Object.assign(m,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:""}),W.value=!0}async function He(){var t,e;if(!m.name.trim())return _.warning("请输入获客链接名称");if(m.legacy&&!m.wecom_url.trim())return _.warning("请填写企业微信获客助手链接");if(!m.legacy&&!m.member_admin_ids.length)return _.warning("请至少选择一名获客成员");ne.value=!0;try{await ta({...m,active_start:((t=m.active_range)==null?void 0:t[0])||"",active_end:((e=m.active_range)==null?void 0:e[1])||""}),W.value=!1,await S(),_.success(m.legacy?"本地分流规则已保存":"企业微信官方获客链接已保存")}catch(l){_.error((l==null?void 0:l.message)||"获客助手链接保存失败")}finally{ne.value=!1}}async function ke(){G.value=!0;try{const t=await aa();t!=null&&t.has_link?_.success((t==null?void 0:t.message)||"API 验证通过:应用凭证、可信 IP 与获客助手权限均可用"):_.warning((t==null?void 0:t.message)||"API 权限可用,但当前应用还没有创建官方获客链接")}catch(t){_.error((t==null?void 0:t.message)||"获客助手 API 验证失败")}finally{G.value=!1}}async function Ke(){await S(),$.value==="customer-stats"&&await z()}function j(t,e){for(const l of e)if((t==null?void 0:t[l])!==void 0&&(t==null?void 0:t[l])!==null&&(t==null?void 0:t[l])!==""){const o=Number(t[l]);return Number.isFinite(o)?o:0}return 0}async function z(){var t,e;Y.value=!0;try{const l=await Gt({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=(l==null?void 0:l.summary)||(l==null?void 0:l.stats)||{},k=j(o,["customer_count","total_customers","customer_total","total"]),f=j(o,["messaged_customer_count","started_chat_count","chat_customer_count","message_customer_count","chatting_customers"]),I=["message_customer_rate","chat_customer_rate","messaged_rate","chat_rate"],Q=I.some(h=>(o==null?void 0:o[h])!==void 0&&(o==null?void 0:o[h])!==null&&(o==null?void 0:o[h])!=="");Object.assign(b.summary,{customer_count:k,messaged_customer_count:f,message_customer_rate:Q?j(o,I):k?f/k*100:0,received_message_count:j(o,["received_message_count","recv_msg_cnt","recv_msg_count","total_recv_msg_cnt","message_count"]),message_count_known_count:j(o,["message_count_known_count","exact_message_customer_count"])}),b.rows=Array.isArray(l==null?void 0:l.lists)?l.lists:Array.isArray(l==null?void 0:l.list)?l.list:Array.isArray(l==null?void 0:l.rows)?l.rows:[],x.total=Number((l==null?void 0:l.total)??(l==null?void 0:l.count)??((t=l==null?void 0:l.page)==null?void 0:t.total)??b.rows.length)||0;const w=(l==null?void 0:l.filters)||{},X=(l==null?void 0:l.link_options)||(w==null?void 0:w.link_options)||(w==null?void 0:w.links),M=(l==null?void 0:l.member_options)||(w==null?void 0:w.member_options)||(w==null?void 0:w.members);Array.isArray(X)&&(b.link_options=X),Array.isArray(M)&&(b.member_options=M);const ee=b.rows.reduce((h,v)=>{const B=v.last_synced_at||v.last_sync_time||v.synced_at||v.sync_time||"";return Number(B||0)>Number(h||0)?B:h},""),E=((e=l==null?void 0:l.meta)==null?void 0:e.last_synced_at)||(l==null?void 0:l.last_synced_at)||ee||b.meta.last_synced_at||"";Object.assign(b.meta,(l==null?void 0:l.meta)||{},{last_synced_at:E?ce(E):""}),ge.value=!0}catch(l){_.error((l==null?void 0:l.message)||"获客客户统计加载失败")}finally{Y.value=!1}}function We(){x.page_no=1,z()}function Ye(){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,l;ie.value=!0;try{const o=await na({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),I=Number((o==null?void 0:o.updated)??(o==null?void 0:o.customer_updated)??((l=o==null?void 0:o.customers)==null?void 0:l.updated)??0);_.success((o==null?void 0:o.message)||`客户同步完成:扫描 ${L(k)} 位,新增 ${L(f)} 位,更新 ${L(I)} 位`),x.page_no=1,await Promise.all([S(),z()])}catch(o){_.error((o==null?void 0:o.message)||"获客客户同步失败")}finally{ie.value=!1}}async function Qe(){if(!C.value)return _.warning("请先选择分流方案");le.value=!0;try{const t=await la({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 te.alert(`${(t==null?void 0:t.empty_reason)||"当前应用没有可同步的官方获客链接"}
|
||
|
||
${(t==null?void 0:t.suggestion)||""}`,"没有可同步的官方链接",{type:"warning",confirmButtonText:"知道了"}):t!=null&&t.failed?_.warning(e):_.success(e),await S()}catch(t){_.error((t==null?void 0:t.message)||"同步企业微信获客链接失败")}finally{le.value=!1}}async function Xe(t){se.value=Number(t.id);try{await sa({id:Number(t.id)}),_.success("企业微信官方详情已刷新"),await S()}catch(e){_.error((e==null?void 0:e.message)||"刷新官方详情失败")}finally{se.value=0}}async function et(t,e){if(t==="local"){await Ne(e);return}if(t==="remote"){await te.confirm(`将永久删除企业微信后台中的“${e.name}”,现有推广页面会立即失效,且无法恢复。确认继续?`,"永久删除企业微信获客链接",{type:"error",confirmButtonText:"永久删除",cancelButtonText:"取消"});try{await ia({id:Number(e.id)}),_.success("企业微信获客链接已永久删除,本地记录已保留并停止分流"),await S()}catch(l){_.error((l==null?void 0:l.message)||"永久删除失败")}}}async function tt(t,e){try{await oa({id:Number(t.id),status:e?1:0}),t.status=e?1:0,_.success(e?"链接已上线":"链接已下线"),await S()}catch(l){_.error((l==null?void 0:l.message)||"状态更新失败"),await S()}}async function Ne(t){await te.confirm(`仅从本地分流池移除“${t.name}”,不会删除企业微信后台的官方链接。确认继续?`,"从本地移除",{type:"warning"});try{await ua({id:Number(t.id)}),_.success("已从本地分流池移除"),await S()}catch(e){_.error((e==null?void 0:e.message)||"删除失败")}}function Ce(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&&we(t)>=Number(t.daily_limit)?{label:"今日已达上限",className:"is-waiting"}:{label:"可参与分流",className:"is-ok"}}function we(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 at(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 l=(Array.isArray(t.range_userids)?t.range_userids:[]).map(k=>{const f=d.member_options.find(I=>String(I.userid)===String(k));return(f==null?void 0:f.name)||String(k)});if(l.length)return l.length>2?`${l.slice(0,2).join("、")} 等 ${l.length} 人`:l.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 Ve(t){const e=t.external_userid_masked||t.customer_id_masked||t.customer_masked||t.customer_name_masked;return e?String(e):st(t.external_userid||t.customer_id||t.id)}function st(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 it(t){return t.link_name||t.source_link_name||t.promotion_link_name||"未匹配来源链接"}function ot(t){const e=t.link_id||t.remote_link_id||t.source_link_id;return e?`链接 ID:${e}`:"暂无链接 ID"}function de(t){return j(t,["received_message_count","recv_msg_cnt","message_count","received_count"])}function $e(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":de(t)>0}function me(t){const e=Number(t.chat_status);if(e===2)return"unknown";const l=t.has_messaged??t.has_message??t.messaged;return l!=null?l===!0||l===1||l==="1"||l==="true"||l==="messaged"?"messaged":"silent":e===1||de(t)>0?"messaged":"silent"}function ut(t){const e=me(t);return e==="messaged"?"已发消息":e==="unknown"?"状态未知":"未发消息"}function rt(t){if($e(t))return L(de(t));const e=me(t);return e==="silent"?"0":e==="unknown"?"未知":"待回调"}function xe(t){return t.last_message_at||t.last_chat_time||t.last_message_time||t.last_msg_time||t.event_time||""}function ce(t){if(t==null||t===""||t===0||t==="0")return"-";if(typeof t=="number"||/^\d+$/.test(String(t))){const e=Number(t),l=new Date(e>1e11?e:e*1e3);return Number.isNaN(l.getTime())?"-":l.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 L(t){return Number(t||0).toLocaleString("zh-CN")}function Se(t){const e=new Date(Number(t||0)*1e3),l=o=>String(o).padStart(2,"0");return`${e.getFullYear()}-${l(e.getMonth()+1)}-${l(e.getDate())} ${l(e.getHours())}:${l(e.getMinutes())}:${l(e.getSeconds())}`}async function he(t,e){if(!t)return _.warning(`${e}暂无内容`);try{await navigator.clipboard.writeText(t)}catch{const l=document.createElement("textarea");l.value=t,l.style.position="fixed",l.style.opacity="0",document.body.appendChild(l),l.select(),document.execCommand("copy"),l.remove()}_.success(`${e}已复制`)}async function mt(){await S()}return da(async()=>{await S()}),(t,e)=>{var De;const l=gt,o=vt,k=yt,f=bt,I=kt,Q=wt,w=Ct,X=Nt,M=Vt,ee=$t,E=ht,h=St,v=xt,B=Pt,ct=At,_t=It,q=Dt,Pe=Lt,Ae=Et,pt=Ut,Ie=ft;return Oe((r(),g("div",_a,[n("header",pa,[n("div",fa,[n("span",ga,[s(l,null,{default:i(()=>[s(p(Tt))]),_:1})]),e[34]||(e[34]=n("div",null,[n("h1",null,"企业微信获客助手"),n("p",null,"对接企业微信获客助手官方 API,按角色与部门管理获客成员,并将链接安全分流到推广页面")],-1))]),n("div",va,[n("span",ya,[s(l,null,{default:i(()=>[s(p(zt))]),_:1}),c(u(d.meta.scope_label||"当前数据范围"),1)]),d.meta.generated_at?(r(),g("span",ba,"更新于 "+u(d.meta.generated_at),1)):P("",!0),s(o,{icon:p(_e),loading:Z.value||Y.value,onClick:Ke},{default:i(()=>[...e[35]||(e[35]=[c("刷新",-1)])]),_:1},8,["icon","loading"])])]),n("section",ka,[n("article",Na,[n("span",Ca,[s(l,null,{default:i(()=>[s(p(Mt))]),_:1})]),n("div",null,[e[36]||(e[36]=n("small",null,"内部应用",-1)),n("strong",null,u(d.summary.configured_apps),1),e[37]||(e[37]=n("p",null,"直接读取服务器环境配置",-1))])]),n("article",wa,[n("span",Va,[s(l,null,{default:i(()=>[s(p(Ot))]),_:1})]),n("div",null,[e[38]||(e[38]=n("small",null,"分流方案",-1)),n("strong",null,u(d.summary.pool_count),1),e[39]||(e[39]=n("p",null,"每个方案生成独立 JS",-1))])]),n("article",$a,[n("span",xa,[s(l,null,{default:i(()=>[s(p(Ft))]),_:1})]),n("div",null,[e[40]||(e[40]=n("small",null,"在线链接",-1)),n("strong",null,u(d.summary.online_links),1),e[41]||(e[41]=n("p",null,"停用或超限自动排除",-1))])]),n("article",Sa,[n("span",ha,[s(l,null,{default:i(()=>[s(p(jt))]),_:1})]),n("div",null,[e[42]||(e[42]=n("small",null,"今日分流点击",-1)),n("strong",null,u(d.summary.today_clicks),1),e[43]||(e[43]=n("p",null,"只记录脱敏访问数据",-1))])])]),n("section",Pa,[n("nav",Aa,[n("button",{class:A({active:$.value==="links"}),onClick:e[0]||(e[0]=a=>$.value="links")},[s(l,null,{default:i(()=>[s(p(Ee))]),_:1}),e[44]||(e[44]=c("获客助手链接 ",-1))],2),n("button",{class:A({active:$.value==="customer-stats"}),onClick:e[1]||(e[1]=a=>$.value="customer-stats")},[s(l,null,{default:i(()=>[s(p(Ue))]),_:1}),e[45]||(e[45]=c("获客客户统计 ",-1))],2),n("button",{class:A({active:$.value==="configuration"}),onClick:e[2]||(e[2]=a=>$.value="configuration")},[s(l,null,{default:i(()=>[s(p(Bt))]),_:1}),e[46]||(e[46]=c("应用配置 ",-1))],2),n("button",{class:A({active:$.value==="install"}),onClick:e[3]||(e[3]=a=>$.value="install")},[s(l,null,{default:i(()=>[s(p(Te))]),_:1}),e[47]||(e[47]=c("JS 安装 ",-1))],2)]),$.value==="links"?(r(),g("div",Ia,[n("div",Da,[e[49]||(e[49]=n("div",null,[n("h2",null,"获客助手链接分流"),n("p",null,"访客点击时由服务端从当前可用的获客助手链接中按权重随机选择,页面端不会暴露完整链接池。")],-1)),s(o,{type:"primary",icon:p(pe),onClick:e[4]||(e[4]=a=>re())},{default:i(()=>[...e[48]||(e[48]=[c("新建分流方案",-1)])]),_:1},8,["icon"])]),d.pools.length?(r(),g("div",La,[n("aside",Ea,[(r(!0),g(J,null,R(d.pools,a=>(r(),g("button",{key:a.id,class:A(["pool-item",{active:Number(a.id)===U.value}]),onClick:T=>U.value=Number(a.id)},[n("span",{class:A(["pool-status",Number(a.status)===1?"online":"offline"])},null,2),n("span",null,[n("strong",null,u(a.name),1),n("small",null,u(qe(a.id))+" 条链接 · "+u(L(a.click_count))+" 次点击",1)]),s(l,null,{default:i(()=>[s(p(qt))]),_:1})],10,Ua))),128))]),n("div",Ta,[C.value?(r(),g("div",za,[n("div",null,[n("div",Ma,[n("h3",null,u(C.value.name),1),n("span",{class:A(["status-tag",Number(C.value.status)===1?"is-online":"is-offline"])},u(Number(C.value.status)===1?"运行中":"已停用"),3),n("span",Oa,u(C.value.dept_name||"未分部门")+" · "+u(C.value.owner_name||"系统"),1)]),n("p",null,"公开键:"+u(C.value.public_key),1)]),n("div",Fa,[s(o,{icon:p(ze),loading:G.value,onClick:ke},{default:i(()=>[...e[50]||(e[50]=[c("验证 API",-1)])]),_:1},8,["icon","loading"]),s(o,{icon:p(_e),loading:le.value,onClick:Qe},{default:i(()=>[...e[51]||(e[51]=[c("同步企业微信",-1)])]),_:1},8,["icon","loading"]),s(o,{icon:p(Te),onClick:e[5]||(e[5]=a=>he(C.value.install_code,"JS 安装代码"))},{default:i(()=>[...e[52]||(e[52]=[c("复制 JS",-1)])]),_:1},8,["icon"]),s(o,{icon:p(Jt),onClick:e[6]||(e[6]=a=>re(C.value))},{default:i(()=>[...e[53]||(e[53]=[c("编辑方案",-1)])]),_:1},8,["icon"]),s(o,{type:"danger",plain:"",icon:p(Rt),onClick:e[7]||(e[7]=a=>Re(C.value))},{default:i(()=>[...e[54]||(e[54]=[c("删除",-1)])]),_:1},8,["icon"]),s(o,{type:"primary",icon:p(pe),onClick:e[8]||(e[8]=a=>be())},{default:i(()=>[...e[55]||(e[55]=[c("创建官方获客链接",-1)])]),_:1},8,["icon"])])])):P("",!0),ye.value>0&&ve.value===0?(r(),y(k,{key:1,class:"legacy-sync-alert",type:"warning","show-icon":"",closable:!1,title:`当前方案的 ${ye.value} 条链接都是历史手工链接,企业微信同步不会返回它们`,description:"官方接口只返回当前应用通过 API 创建的获客链接。现有链接仍可参与本地分流;如需同步 link_id、客户和官方统计,请点击“创建官方获客链接”。"},null,8,["title"])):P("",!0),s(ee,{data:oe.value,class:"link-table",stripe:""},{empty:i(()=>[s(M,{"image-size":72,description:"当前方案还没有获客助手链接"})]),default:i(()=>[s(f,{label:"推广成员 / 分组","min-width":"180",fixed:"left"},{default:i(({row:a})=>[n("div",ja,[n("strong",null,u(a.name),1),n("small",null,u(a.group_name||"默认分组"),1)])]),_:1}),s(f,{label:"企业微信链接 ID","min-width":"280"},{default:i(({row:a})=>[n("div",Ba,[a.remote_link_id?(r(),g("span",{key:0,class:"remote-id",title:a.remote_link_id},u(a.remote_link_id),9,qa)):(r(),g("span",Ja,"历史手工链接")),a.wecom_url?(r(),g("a",{key:2,class:"wecom-url",href:a.wecom_url,title:a.wecom_url,target:"_blank",rel:"noopener noreferrer",onClick:e[9]||(e[9]=Le(()=>{},["stop"]))},u(a.wecom_url),9,Ra)):P("",!0),a.wecom_url?(r(),y(o,{key:3,type:"primary",link:"",class:"copy-url-btn",onClick:Le(T=>he(a.wecom_url,"企业微信链接"),["stop"])},{default:i(()=>[...e[56]||(e[56]=[c("复制链接",-1)])]),_:1},8,["onClick"])):(r(),g("span",Ha,"暂无链接地址"))])]),_:1}),s(f,{label:"可用成员","min-width":"150"},{default:i(({row:a})=>[n("span",null,u(nt(a)),1)]),_:1}),s(f,{label:"权重",prop:"weight",width:"84",align:"center"}),s(f,{label:"今日 / 上限","min-width":"120",align:"center"},{default:i(({row:a})=>[c(u(we(a))+" / "+u(Number(a.daily_limit)?a.daily_limit:"不限"),1)]),_:1}),s(f,{label:"累计点击",prop:"click_count","min-width":"105",align:"center"}),s(f,{label:"当前可用性","min-width":"130"},{default:i(({row:a})=>[n("span",{class:A(["availability",Ce(a).className])},u(Ce(a).label),3)]),_:1}),s(f,{label:"上线",width:"90",align:"center"},{default:i(({row:a})=>[s(I,{"model-value":Number(a.status)===1,disabled:Number(a.remote_status)===2,onChange:T=>tt(a,T)},null,8,["model-value","disabled","onChange"])]),_:1}),s(f,{label:"操作","min-width":"245",fixed:"right"},{default:i(({row:a})=>[a.is_official&&Number(a.remote_status)!==2?(r(),y(o,{key:0,type:"primary",link:"",loading:se.value===Number(a.id),onClick:T=>Xe(a)},{default:i(()=>[...e[57]||(e[57]=[c("刷新详情",-1)])]),_:1},8,["loading","onClick"])):P("",!0),!a.is_official||Number(a.remote_status)!==2?(r(),y(o,{key:1,type:"primary",link:"",onClick:T=>be(a)},{default:i(()=>[...e[58]||(e[58]=[c("编辑",-1)])]),_:1},8,["onClick"])):P("",!0),a.is_official?(r(),y(X,{key:2,trigger:"click",onCommand:T=>et(T,a)},{dropdown:i(()=>[s(w,null,{default:i(()=>[s(Q,{command:"local"},{default:i(()=>[...e[60]||(e[60]=[c("从本地移除",-1)])]),_:1}),Number(a.remote_status)!==2?(r(),y(Q,{key:0,command:"remote",divided:"",class:"danger-command"},{default:i(()=>[...e[61]||(e[61]=[c("永久删除企业微信链接",-1)])]),_:1})):P("",!0)]),_:2},1024)]),default:i(()=>[s(o,{type:"primary",link:""},{default:i(()=>[e[59]||(e[59]=c("更多",-1)),s(l,{class:"el-icon--right"},{default:i(()=>[s(p(Ht))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):(r(),y(o,{key:3,type:"danger",link:"",onClick:T=>Ne(a)},{default:i(()=>[...e[62]||(e[62]=[c("从本地移除",-1)])]),_:1},8,["onClick"]))]),_:1})]),_:1},8,["data"])])])):(r(),y(M,{key:1,description:"先创建一个分流方案,再添加企业微信获客助手链接"},{default:i(()=>[s(o,{type:"primary",icon:p(pe),onClick:e[10]||(e[10]=a=>re())},{default:i(()=>[...e[63]||(e[63]=[c("创建第一个方案",-1)])]),_:1},8,["icon"])]),_:1}))])):$.value==="customer-stats"?(r(),g("div",Ka,[n("div",Wa,[e[65]||(e[65]=n("div",null,[n("h2",null,"获客客户消息统计"),n("p",null,"统计当前权限范围内由获客助手链接添加的客户,以及客户向承接成员发送消息的情况。")],-1)),n("div",Ya,[b.meta.last_synced_at?(r(),g("span",Za,"最近同步 "+u(b.meta.last_synced_at),1)):P("",!0),s(o,{type:"primary",icon:p(_e),loading:ie.value,onClick:Ge},{default:i(()=>[...e[64]||(e[64]=[c("同步客户",-1)])]),_:1},8,["icon","loading"])])]),n("section",Ga,[n("article",Qa,[n("span",Xa,[s(l,null,{default:i(()=>[s(p(Kt))]),_:1})]),n("div",null,[e[66]||(e[66]=n("small",null,"获客客户数",-1)),n("strong",null,u(L(b.summary.customer_count)),1),e[67]||(e[67]=n("p",null,"当前筛选范围内的去重客户",-1))])]),n("article",en,[n("span",tn,[s(l,null,{default:i(()=>[s(p(Wt))]),_:1})]),n("div",null,[e[68]||(e[68]=n("small",null,"已发消息客户数",-1)),n("strong",null,u(L(b.summary.messaged_customer_count)),1),e[69]||(e[69]=n("p",null,"至少发送过一条消息",-1))])]),n("article",an,[n("span",nn,[s(l,null,{default:i(()=>[s(p(Ue))]),_: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",ln,[n("span",sn,[s(l,null,{default:i(()=>[s(p(Ee))]),_:1})]),n("div",null,[e[72]||(e[72]=n("small",null,"累计接收消息数",-1)),n("strong",null,u(L(b.summary.received_message_count)),1),n("p",null,"已精确统计 "+u(L(b.summary.message_count_known_count))+" 位客户",1)])])]),d.config.callback_ready?P("",!0):(r(),y(k,{key:0,class:"chatkey-alert",type:"warning","show-icon":"",closable:!1,title:"消息次数回调尚未配置完成",description:"请在企业微信获客助手的 API 接入场景中配置本页“应用配置”展示的消息回调地址,并在服务器配置 contact_callback_token 与 contact_callback_aes_key。未完成前只能同步客户及聊天状态,无法得到精确接收消息次数。"})),s(k,{class:"chatkey-alert",type:"info","show-icon":"",closable:!1,title:"消息统计依赖企业微信 ChatKey",description:"ChatKey 仅在事件产生后的 30 分钟内有效。服务端收到企业微信回调后会立即拉取会话详情;手动同步用于刷新客户清单,无法补取已过期的会话消息。"}),n("div",on,[s(B,{model:N,inline:"","label-position":"top"},{default:i(()=>[s(v,{label:"来源链接"},{default:i(()=>[s(h,{modelValue:N.link_id,"onUpdate:modelValue":e[11]||(e[11]=a=>N.link_id=a),clearable:"",filterable:"",placeholder:"全部链接"},{default:i(()=>[(r(!0),g(J,null,R(je.value,a=>(r(),y(E,{key:String(a.id),label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),s(v,{label:"承接成员"},{default:i(()=>[s(h,{modelValue:N.userid,"onUpdate:modelValue":e[12]||(e[12]=a=>N.userid=a),clearable:"",filterable:"",placeholder:"全部成员"},{default:i(()=>[(r(!0),g(J,null,R(Be.value,a=>(r(),y(E,{key:a.userid||String(a.id),label:lt(a),value:a.userid||String(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),s(v,{label:"聊天状态"},{default:i(()=>[s(h,{modelValue:N.chat_status,"onUpdate:modelValue":e[13]||(e[13]=a=>N.chat_status=a),clearable:"",placeholder:"全部状态"},{default:i(()=>[s(E,{label:"已发过消息",value:"messaged"}),s(E,{label:"未发过消息",value:"silent"}),s(E,{label:"状态未知",value:"unknown"})]),_:1},8,["modelValue"])]),_:1}),s(v,{class:"filter-actions"},{default:i(()=>[s(o,{type:"primary",icon:p(Yt),loading:Y.value,onClick:We},{default:i(()=>[...e[73]||(e[73]=[c("查询",-1)])]),_:1},8,["icon","loading"]),s(o,{onClick:Ye},{default:i(()=>[...e[74]||(e[74]=[c("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),Oe((r(),y(ee,{data:b.rows,class:"customer-table",stripe:""},{empty:i(()=>[s(M,{"image-size":72,description:"当前筛选范围暂无获客客户数据"})]),default:i(()=>[s(f,{label:"客户标识(已脱敏)","min-width":"190",fixed:"left"},{default:i(({row:a})=>[n("span",{class:"customer-identifier",title:Ve(a)},u(Ve(a)),9,un)]),_:1}),s(f,{label:"来源链接","min-width":"190"},{default:i(({row:a})=>[n("div",rn,[n("strong",null,u(it(a)),1),n("small",null,u(ot(a)),1)])]),_:1}),s(f,{label:"承接成员 / 部门","min-width":"175"},{default:i(({row:a})=>[n("div",dn,[n("strong",null,u(a.member_name||a.owner_name||"未匹配成员"),1),n("small",null,u(a.department_name||a.dept_name||"未分部门"),1)])]),_:1}),s(f,{label:"是否发过消息",width:"125",align:"center"},{default:i(({row:a})=>[n("span",{class:A(["message-state",`is-${me(a)}`])},u(ut(a)),3)]),_:1}),s(f,{label:"接收消息数",width:"120",align:"right"},{default:i(({row:a})=>[n("strong",{class:A(["message-count",{muted:!$e(a)}])},u(rt(a)),3)]),_:1}),s(f,{label:"最近同步时间","min-width":"165"},{default:i(({row:a})=>[c(u(ce(a.last_synced_at||a.last_sync_time||a.synced_at||a.sync_time)),1)]),_:1}),s(f,{label:"最近消息时间","min-width":"165"},{default:i(({row:a})=>[n("span",{class:A({muted:!xe(a)})},u(ce(xe(a))),3)]),_:1})]),_:1},8,["data"])),[[Ie,Y.value]]),n("div",mn,[n("span",null,"共 "+u(L(x.total))+" 位客户",1),s(ct,{"current-page":x.page_no,"onUpdate:currentPage":e[14]||(e[14]=a=>x.page_no=a),"page-size":x.page_size,"onUpdate:pageSize":e[15]||(e[15]=a=>x.page_size=a),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"?(r(),g("div",cn,[e[83]||(e[83]=n("div",{class:"section-heading"},[n("div",null,[n("h2",null,"企业微信内部应用配置"),n("p",null,"直接读取服务器现有的 work_wechat 配置,密钥不会返回浏览器,也不需要第三方应用授权。")])],-1)),n("div",{class:A(["configuration-panel",d.config.ready?"is-ready":"is-pending"])},[n("div",_n,[n("span",null,[s(l,null,{default:i(()=>[(r(),y(ma(d.config.ready?p(ze):p(Zt))))]),_:1})]),n("div",null,[n("strong",null,u(d.config.ready?"内部应用已就绪":"内部应用配置不完整"),1),d.config.ready?(r(),g("p",pn,"已识别 CorpID 与应用 Secret;点击“验证 API”可同时检查可信 IP、获客助手开通状态和应用权限。")):(r(),g("p",fn,"请补齐服务器 .env 的 [work_wechat] 配置;页面不会展示 Secret 内容。"))])]),(De=d.config.missing)!=null&&De.length?(r(),g("div",gn,[e[75]||(e[75]=c(" 缺少:",-1)),(r(!0),g(J,null,R(d.config.missing,a=>(r(),g("code",{key:a},u(a),1))),128))])):P("",!0),n("dl",vn,[n("div",null,[e[76]||(e[76]=n("dt",null,"企业 CorpID",-1)),n("dd",null,u(d.config.corp_id_masked||"未配置"),1),n("span",null,u(d.config.corp_id_masked?"已识别":"缺失"),1)]),n("div",null,[e[77]||(e[77]=n("dt",null,"应用 AgentID",-1)),n("dd",null,u(d.config.agent_id||"未配置"),1),n("span",null,u(d.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(d.config.secret_configured?"已配置":"缺失"),1)]),n("div",null,[e[80]||(e[80]=n("dt",null,"消息回调地址",-1)),n("dd",null,u(d.config.callback_url||"未生成"),1),n("span",null,u(d.config.callback_ready?"已配置密钥":"待配置 Token/AESKey"),1)])]),n("div",yn,[s(o,{type:"primary",loading:G.value,onClick:ke},{default:i(()=>[...e[81]||(e[81]=[c("验证获客助手 API",-1)])]),_:1},8,["loading"]),d.config.official_doc?(r(),y(_t,{key:0,href:d.config.official_doc,target:"_blank",type:"primary"},{default:i(()=>[...e[82]||(e[82]=[c("查看企业微信官方文档",-1)])]),_:1},8,["href"])):P("",!0)])],2)])):(r(),g("div",bn,[n("div",kn,[e[84]||(e[84]=n("div",null,[n("h2",null,"安装 JS 与浮窗客服"),n("p",null,"为每个分流方案配置独立浮窗;基础脚本仍只负责展示入口、捕获点击并请求服务端分流。")],-1)),s(h,{modelValue:F.value,"onUpdate:modelValue":e[16]||(e[16]=a=>F.value=a),placeholder:"选择分流方案",class:"install-pool-select"},{default:i(()=>[(r(!0),g(J,null,R(d.pools,a=>(r(),y(E,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),ue.value?(r(),y(ra,{key:Number(ue.value.id),pool:ue.value,onSaved:mt},null,8,["pool"])):(r(),y(M,{key:1,description:"请先创建分流方案,系统会自动生成 JS 安装代码"}))]))]),s(Pe,{modelValue:K.value,"onUpdate:modelValue":e[21]||(e[21]=a=>K.value=a),title:D.id?"编辑分流方案":"新建分流方案",width:"560px","destroy-on-close":""},{footer:i(()=>[s(o,{onClick:e[20]||(e[20]=a=>K.value=!1)},{default:i(()=>[...e[86]||(e[86]=[c("取消",-1)])]),_:1}),s(o,{type:"primary",loading:ae.value,onClick:Je},{default:i(()=>[...e[87]||(e[87]=[c("保存方案",-1)])]),_:1},8,["loading"])]),default:i(()=>[s(B,{"label-position":"top"},{default:i(()=>[s(v,{label:"方案名称",required:""},{default:i(()=>[s(q,{modelValue:D.name,"onUpdate:modelValue":e[17]||(e[17]=a=>D.name=a),maxlength:"60","show-word-limit":"",placeholder:"例如:官网咨询分流"},null,8,["modelValue"])]),_:1}),s(v,{label:"兜底获客助手链接"},{default:i(()=>[s(q,{modelValue:D.fallback_url,"onUpdate:modelValue":e[18]||(e[18]=a=>D.fallback_url=a),placeholder:"可选;没有可用成员时跳转"},null,8,["modelValue"]),e[85]||(e[85]=n("span",{class:"form-tip"},"仅接受企业微信获客助手生成的 https://work.weixin.qq.com/ca/... 链接。",-1))]),_:1}),s(v,{label:"运行状态"},{default:i(()=>[s(I,{modelValue:D.status,"onUpdate:modelValue":e[19]||(e[19]=a=>D.status=a),"active-value":1,"inactive-value":0,"active-text":"运行","inactive-text":"停用"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","title"]),s(Pe,{modelValue:W.value,"onUpdate:modelValue":e[33]||(e[33]=a=>W.value=a),title:m.id?"编辑获客助手链接":"创建企业微信官方获客链接",width:"720px","destroy-on-close":""},{footer:i(()=>[s(o,{onClick:e[32]||(e[32]=a=>W.value=!1)},{default:i(()=>[...e[92]||(e[92]=[c("取消",-1)])]),_:1}),s(o,{type:"primary",loading:ne.value,onClick:He},{default:i(()=>[...e[93]||(e[93]=[c("保存链接",-1)])]),_:1},8,["loading"])]),default:i(()=>[s(B,{"label-position":"top",class:"link-form"},{default:i(()=>[n("div",Nn,[s(v,{label:"获客链接名称",required:""},{default:i(()=>[s(q,{modelValue:m.name,"onUpdate:modelValue":e[22]||(e[22]=a=>m.name=a),maxlength:"80",placeholder:"用于企业微信和后台识别"},null,8,["modelValue"])]),_:1}),s(v,{label:"分组"},{default:i(()=>[s(q,{modelValue:m.group_name,"onUpdate:modelValue":e[23]||(e[23]=a=>m.group_name=a),maxlength:"60",placeholder:"默认分组"},null,8,["modelValue"])]),_:1})]),m.legacy?(r(),y(v,{key:1,label:"企业微信获客助手链接",required:""},{default:i(()=>[s(q,{modelValue:m.wecom_url,"onUpdate:modelValue":e[25]||(e[25]=a=>m.wecom_url=a),type:"textarea",rows:2,placeholder:d.customer_acquisition_link_example},null,8,["modelValue","placeholder"]),e[89]||(e[89]=n("span",{class:"form-tip"},"这是历史手工链接,只更新本地分流规则,不会调用企业微信创建或修改接口。",-1))]),_:1})):(r(),y(v,{key:0,label:"获客成员",required:""},{default:i(()=>[s(h,{modelValue:m.member_admin_ids,"onUpdate:modelValue":e[24]||(e[24]=a=>m.member_admin_ids=a),multiple:"",filterable:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"仅显示当前角色和部门可管理、且已绑定企业微信的成员",style:{width:"100%"}},{default:i(()=>[(r(!0),g(J,null,R(d.member_options,a=>(r(),y(E,{key:a.id,label:at(a),value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e[88]||(e[88]=n("span",{class:"form-tip"},"官方链接按这里的企业微信 userid 建立可见范围;越权成员不会出现在列表中。",-1))]),_:1})),n("div",Cn,[s(v,{label:"分流权重",required:""},{default:i(()=>[s(Ae,{modelValue:m.weight,"onUpdate:modelValue":e[26]||(e[26]=a=>m.weight=a),min:1,max:100,"controls-position":"right"},null,8,["modelValue"])]),_:1}),s(v,{label:"每日点击上限"},{default:i(()=>[s(Ae,{modelValue:m.daily_limit,"onUpdate:modelValue":e[27]||(e[27]=a=>m.daily_limit=a),min:0,max:1e6,"controls-position":"right"},null,8,["modelValue"]),e[90]||(e[90]=n("span",{class:"form-tip"},"0 表示不限",-1))]),_:1})]),m.legacy?P("",!0):(r(),y(v,{key:2,label:"添加客户时跳过验证"},{default:i(()=>[s(I,{modelValue:m.skip_verify,"onUpdate:modelValue":e[28]||(e[28]=a=>m.skip_verify=a),"active-value":1,"inactive-value":0,"active-text":"跳过验证","inactive-text":"需要验证"},null,8,["modelValue"])]),_:1})),s(v,{label:"上线状态"},{default:i(()=>[s(I,{modelValue:m.status,"onUpdate:modelValue":e[29]||(e[29]=a=>m.status=a),"active-value":1,"inactive-value":0,"active-text":"上线","inactive-text":"下线"},null,8,["modelValue"])]),_:1}),s(v,{label:"生效时间段"},{default:i(()=>[s(pt,{modelValue:m.active_range,"onUpdate:modelValue":e[30]||(e[30]=a=>m.active_range=a),type:"datetimerange","value-format":"YYYY-MM-DD HH:mm:ss","start-placeholder":"开始时间","end-placeholder":"结束时间","range-separator":"至"},null,8,["modelValue"]),e[91]||(e[91]=n("span",{class:"form-tip"},"不选择表示长期有效",-1))]),_:1}),s(v,{label:"备注"},{default:i(()=>[s(q,{modelValue:m.remark,"onUpdate:modelValue":e[31]||(e[31]=a=>m.remark=a),maxlength:"255","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","title"])])),[[Ie,Z.value]])}}}),ml=ca(Vn,[["__scopeId","data-v-516aab5f"]]);export{ml as default};
|