{const _=P,b=K,i=T,f=G,g=q,F=j,I=R,S=H,A=Q,J=L,O=M;return V(),v(Z,null,[e(_,{shadow:"never",class:"!border-none flex"},{default:t(()=>[...l[3]||(l[3]=[a("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},[h(" 底部导航设置 "),a("span",{class:"form-tips ml-[10px] !mt-0"}," 至少添加2个导航,最多添加5个导航 ")],-1)])]),_:1}),e(O,{"label-width":"70px"},{default:t(()=>[e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l[4]||(l[4]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),e(i,{label:"默认颜色"},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.default_color,"onUpdate:modelValue":l[0]||(l[0]=r=>m(n).style.default_color=r),"default-color":"#999999"},null,8,["modelValue"])]),_:1}),e(i,{label:"选中颜色",style:{"margin-bottom":"0"}},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.selected_color,"onUpdate:modelValue":l[1]||(l[1]=r=>m(n).style.selected_color=r),"default-color":"#4173ff"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>{var r;return[l[7]||(l[7]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"菜单设置"),a("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),a("div",le,[e(m(W),{class:"draggable",modelValue:m(n).list,"onUpdate:modelValue":l[2]||(l[2]=o=>m(n).list=o),animation:"300",draggable:".draggable",handle:".drag-move",move:D,"item-key":"index"},{item:t(({element:o,index:u})=>[e(A,{onClose:d=>B(u),class:ee(["max-w-[400px]",{draggable:u!=0}]),"show-close":u!==0},{default:t(()=>[a("div",oe,[e(i,{label:"导航图标"},{default:t(()=>[e(g,{modelValue:o.unselected,"onUpdate:modelValue":d=>o.unselected=d,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:t(()=>[a("div",te,[e(f,{name:"el-icon-Plus",size:16}),l[5]||(l[5]=a("span",{class:"text-xs leading-5"}," 未选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"]),e(g,{modelValue:o.selected,"onUpdate:modelValue":d=>o.selected=d,"exclude-domain":"","upload-class":"bg-body",size:"60px"},{upload:t(()=>[a("div",ae,[e(f,{name:"el-icon-Plus",size:16}),l[6]||(l[6]=a("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"导航名称"},{default:t(()=>[e(F,{modelValue:o.name,"onUpdate:modelValue":d=>o.name=d,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"链接地址"},{default:t(()=>[e(I,{"is-tab":!0,disabled:u===0,modelValue:o.link,"onUpdate:modelValue":d=>o.link=d},null,8,["disabled","modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"是否显示"},{default:t(()=>[a("div",se,[e(S,{disabled:u==0,modelValue:o.is_show,"onUpdate:modelValue":d=>o.is_show=d,"active-value":1,"inactive-value":0,onChange:d=>N(o)},null,8,["disabled","modelValue","onUpdate:modelValue","onChange"]),a("div",ne,[e(f,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])]),_:2},1032,["onClose","show-close","class"])]),_:1},8,["modelValue"])]),((r=m(n).list)==null?void 0:r.length) {const _=P,b=K,i=T,f=G,g=q,F=j,I=R,S=H,A=Q,J=L,O=M;return V(),v(Z,null,[e(_,{shadow:"never",class:"!border-none flex"},{default:t(()=>[...l[3]||(l[3]=[a("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},[h(" 底部导航设置 "),a("span",{class:"form-tips ml-[10px] !mt-0"}," 至少添加2个导航,最多添加5个导航 ")],-1)])]),_:1}),e(O,{"label-width":"70px"},{default:t(()=>[e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l[4]||(l[4]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),e(i,{label:"默认颜色"},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.default_color,"onUpdate:modelValue":l[0]||(l[0]=r=>m(n).style.default_color=r),"default-color":"#999999"},null,8,["modelValue"])]),_:1}),e(i,{label:"选中颜色",style:{"margin-bottom":"0"}},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.selected_color,"onUpdate:modelValue":l[1]||(l[1]=r=>m(n).style.selected_color=r),"default-color":"#4173ff"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>{var r;return[l[7]||(l[7]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"菜单设置"),a("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),a("div",le,[e(m(W),{class:"draggable",modelValue:m(n).list,"onUpdate:modelValue":l[2]||(l[2]=o=>m(n).list=o),animation:"300",draggable:".draggable",handle:".drag-move",move:D,"item-key":"index"},{item:t(({element:o,index:u})=>[e(A,{onClose:d=>B(u),class:ee(["max-w-[400px]",{draggable:u!=0}]),"show-close":u!==0},{default:t(()=>[a("div",oe,[e(i,{label:"导航图标"},{default:t(()=>[e(g,{modelValue:o.unselected,"onUpdate:modelValue":d=>o.unselected=d,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:t(()=>[a("div",te,[e(f,{name:"el-icon-Plus",size:16}),l[5]||(l[5]=a("span",{class:"text-xs leading-5"}," 未选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"]),e(g,{modelValue:o.selected,"onUpdate:modelValue":d=>o.selected=d,"exclude-domain":"","upload-class":"bg-body",size:"60px"},{upload:t(()=>[a("div",ae,[e(f,{name:"el-icon-Plus",size:16}),l[6]||(l[6]=a("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"导航名称"},{default:t(()=>[e(F,{modelValue:o.name,"onUpdate:modelValue":d=>o.name=d,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"链接地址"},{default:t(()=>[e(I,{"is-tab":!0,disabled:u===0,modelValue:o.link,"onUpdate:modelValue":d=>o.link=d},null,8,["disabled","modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"是否显示"},{default:t(()=>[a("div",se,[e(S,{disabled:u==0,modelValue:o.is_show,"onUpdate:modelValue":d=>o.is_show=d,"active-value":1,"inactive-value":0,onChange:d=>N(o)},null,8,["disabled","modelValue","onUpdate:modelValue","onChange"]),a("div",ne,[e(f,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])]),_:2},1032,["onClose","show-close","class"])]),_:1},8,["modelValue"])]),((r=m(n).list)==null?void 0:r.length) 订单池默认与处方订单列表同源:创建时间 start_time~end_time + fulfillment_status(默认完成态 3),账号列表可见性/数据域一并生效。 选结算月仍可套用「物流签收与尾款支付均须在结算月 7 日 24 点前」拆分「本期提成 / 顺延下期」 (仅有签收在范围内、尾款晚于截止仍会顺延); 展示部门/渠道下拉与列表不同,勾选后会与列表计数不同。 系统代开处方对应的已完成业务订单;按结算月 7 日截止拆分本期提成与顺延下期;可按部门汇总或下发至业绩归属医助与处方开方医生 提成结算业绩
提成结算业绩
{c} 单 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"诊单",type:"pie",radius:["46%","72%"],center:["50%","46%"],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b}
+import{i as nt,d as dt,Q as ct,P as pt,a4 as ut,a3 as bt,R as mt}from"./element-plus-0wC3naml.js";import{H as O}from"./vue-echarts-BNtg2q_G.js";import{L as Q,ae as _t,af as ht,a4 as yt}from"./@element-plus/icons-vue-HOEUG8sr.js";import{l as wt,O as V,Q as ft,_ as vt}from"./index-E47--KT7.js";import{ap as gt}from"./tcm-SLIwsL8z.js";import{u as kt}from"./order-BogYGNkX.js";import{u as U}from"./getExposeType-MUpmx9zy.js";import{f as Y,w as xt,b as St,ak as l,I as c,J as t,a,aN as r,O as C,F as A,ap as D,G as w,H as B,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{r as M,y as f,n as J}from"./@vue/reactivity-DiY1c2vO.js";import{Q as n}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.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"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ot={class:"workbench-page"},Ct={class:"wb-hero"},At={class:"wb-section wb-section--order"},Dt={class:"wb-section-head"},Nt={class:"wb-section-title"},$t={class:"wb-section-icon wb-section-icon--violet"},zt={class:"wb-section-sub"},Et={class:"wb-toolbar"},Lt={class:"wb-section-body"},Vt={class:"wb-kpi wb-kpi--violet"},Rt={class:"wb-kpi-value"},Pt={class:"wb-kpi wb-kpi--amber"},Ft={class:"wb-kpi-value wb-kpi-value--sm"},Wt={class:"wb-rank-strip wb-rank-strip--compact"},Bt={key:0,class:"wb-rank-chips"},Ht={key:1,class:"wb-rank-empty"},Tt={class:"wb-chart-card"},It={class:"wb-chart-card"},Qt={class:"wb-chart-card"},Ut={class:"wb-chart-card wb-ranking-card"},Mt={key:0,class:"wb-ranking-list"},jt={class:"wb-ranking-rank"},Gt={class:"wb-ranking-name"},Jt={class:"wb-ranking-meta"},Yt={class:"wb-ranking-money"},qt={key:0,class:"wb-dept-block"},Kt={class:"wb-dept-card wb-dept-card--order"},Xt={class:"wb-dept-card-head"},Zt={class:"wb-dept-total"},te={class:"wb-dept-list"},ee={class:"wb-dept-num"},se={key:0,class:"wb-dept-empty"},ae={class:"wb-section wb-section--diagnosis"},oe={class:"wb-section-head"},le={class:"wb-section-title"},re={class:"wb-section-icon wb-section-icon--blue"},ie={class:"wb-section-sub"},ne={class:"wb-toolbar"},de={class:"wb-section-body"},ce={class:"wb-kpi wb-kpi--blue"},pe={class:"wb-kpi-value"},ue={class:"wb-rank-strip"},be={key:0,class:"wb-rank-chips"},me={key:1,class:"wb-rank-empty"},_e={class:"wb-chart-card"},he={class:"wb-chart-card"},ye={key:0,class:"wb-dept-block"},we={class:"wb-dept-card"},fe={class:"wb-dept-card-head"},ve={class:"wb-dept-total"},ge={class:"wb-dept-list"},ke={class:"wb-dept-num"},xe={key:0,class:"wb-dept-empty"},Se={class:"wb-section wb-section--trend"},Oe={class:"wb-section-head"},Ce={class:"wb-section-title"},Ae={class:"wb-section-icon wb-section-icon--teal"},De={class:"wb-section-body wb-trend-body"},Ne={class:"wb-chart-card wb-trend-card"},$e={class:"wb-chart-card wb-trend-card"},ze=Y({name:"workbench"}),Ee=Y({...ze,setup(Le){const g=wt(),H=U(),T=U(),q=U(),I=["#5b7cfa","#36cfc9","#ffc53d","#ff7a45","#b37feb","#597ef7","#73d13d","#ff85c0"];function j(s){if(s==null)return 0;const e=parseFloat(String(s).replace(/,/g,""));return Number.isFinite(e)?e:0}const p=M({days:0,departments:[],today_ranking:[],ranking:[],chart:{xAxis:[],series:[]}}),K=S(()=>(p.departments||[]).some(s=>Number(s.total)>0)),X=S(()=>{const s=(p.departments||[]).filter(e=>Number(e.total)>0).map(e=>({name:e.dept_name||"—",value:Number(e.total)}));return{color:I,tooltip:{trigger:"item",formatter:"{b}
{c} 单 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"诊单",type:"pie",radius:["46%","72%"],center:["50%","46%"],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b}
{c}`},data:s}]}}),Z=S(()=>{var b;const s=g.theme,e=(p.chart.series||[]).map(i=>({...i,name:i.name||"诊单数",type:"bar",barWidth:"46%",itemStyle:{borderRadius:[8,8,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:V(s,.75)},{offset:1,color:s}]}}})),h=((b=e[0])==null?void 0:b.data)||[];return{color:[s,"#f0b429"],legend:{data:["诊单数","趋势"],top:4},xAxis:{type:"category",data:p.chart.xAxis||[],axisLabel:{rotate:28,fontSize:11},axisLine:{lineStyle:{color:"#e4e7ec"}}},yAxis:{type:"value",name:"诊单数",splitLine:{lineStyle:{type:"dashed",color:"#eef0f4"}}},tooltip:{trigger:"axis"},grid:{left:"2%",right:"2%",bottom:"12%",top:48,containLabel:!0},series:[...e,{name:"趋势",type:"line",smooth:.35,symbol:"circle",symbolSize:7,lineStyle:{width:3,color:"#f0b429"},itemStyle:{color:"#f0b429"},data:h}]}}),R=()=>{gt({days:p.days}).then(s=>{p.date_range=s.date_range,p.today_total=s.today_total??0,p.today_ranking=s.today_ranking||[],p.departments=s.departments||[],p.ranking=s.ranking||[],p.chart=s.chart||{xAxis:[],series:[]}}).catch(()=>{})},P=J(-1),F=J(0),_=M({order_type_name:"",date_range:[],today_total:0,today_amount:"0.00",today_ranking:[],departments:[],ranking:[],chart:{xAxis:[],series:[]}}),tt=S(()=>(_.departments||[]).some(s=>Number(s.total)>0)),et=S(()=>(_.departments||[]).some(s=>j(s.amount)>0)),st=S(()=>{const s=(_.departments||[]).filter(e=>Number(e.total)>0).map(e=>({name:e.dept_name||"—",value:Number(e.total)}));return{color:I,tooltip:{trigger:"item",formatter:"{b}
{c} 单 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"单数",type:"pie",radius:["44%","70%"],center:["50%","46%"],itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b}
{c}`},data:s}]}}),at=S(()=>{const s=(_.departments||[]).map(e=>({name:e.dept_name||"—",value:j(e.amount)})).filter(e=>e.value>0);return{color:I,tooltip:{trigger:"item",formatter:e=>{const h=e.value;return`${e.name}
¥${Number(h).toFixed(2)} (${e.percent}%)`}},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"金额",type:"pie",radius:["44%","70%"],center:["50%","46%"],itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:e=>`${e.name}
¥${Number(e.value).toFixed(0)}`},data:s}]}}),ot=S(()=>{const s=_.date_range;if((s==null?void 0:s.length)>=2)return`${s[0]} 至 ${s[1]}`;const e=F.value,h=new Date,b=new Date;return e===0?(b.setHours(0,0,0,0),`${W(b)} 至 ${W(h)}`):(b.setDate(b.getDate()-(e||7)),`${W(b)} 至 ${W(h)}`)});function W(s){return s.getFullYear()+"-"+String(s.getMonth()+1).padStart(2,"0")+"-"+String(s.getDate()).padStart(2,"0")}const lt=S(()=>{var b,i,k;const s=g.theme,e=(((b=_.chart)==null?void 0:b.series)||[]).map(m=>({...m,name:m.name||"单数",type:"bar",barWidth:"46%",itemStyle:{borderRadius:[8,8,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:V(s,.72)},{offset:1,color:s}]}}})),h=((i=e[0])==null?void 0:i.data)||[];return{color:[s,"#fa8c16"],legend:{data:["单数","趋势"],top:4},xAxis:{type:"category",data:((k=_.chart)==null?void 0:k.xAxis)||[],axisLabel:{rotate:28,fontSize:11},axisLine:{lineStyle:{color:"#e4e7ec"}}},yAxis:{type:"value",name:"单数",splitLine:{lineStyle:{type:"dashed",color:"#eef0f4"}}},tooltip:{trigger:"axis"},grid:{left:"2%",right:"2%",bottom:"12%",top:48,containLabel:!0},series:[...e,{name:"趋势",type:"line",smooth:.35,symbol:"circle",symbolSize:7,lineStyle:{width:3,color:"#fa8c16"},itemStyle:{color:"#fa8c16"},data:h}]}}),N=()=>{kt({order_type:P.value,days:F.value}).then(s=>{Object.assign(_,{order_type_name:s.order_type_name??"",date_range:s.date_range||[],today_total:s.today_total??0,today_amount:s.today_amount??"0.00",today_ranking:s.today_ranking||[],departments:s.departments||[],ranking:s.ranking||[],chart:s.chart||{xAxis:[],series:[]}})}).catch(()=>{})},rt=()=>{G(),R(),N()};xt(()=>g.theme,()=>{it()});const u=M({version:{version:"",website:"",based:"",channel:{gitee:"",website:""}},support:[],today:{},menu:[],visitor:[],article:[],visitorOption:{xAxis:{type:"category",data:[]},yAxis:{type:"value"},legend:{data:["访问量"],top:8},tooltip:{trigger:"axis"},grid:{left:"2%",right:"3%",bottom:"3%",top:40,containLabel:!0},series:[{name:"访问量",data:[],type:"line",smooth:!0,color:g.theme,lineStyle:{color:g.theme,width:2},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:g.theme},{offset:1,color:g.theme}]},opacity:.12}}]},saleOption:{xAxis:{type:"category",data:[]},yAxis:{type:"value",name:"万"},tooltip:{trigger:"axis"},grid:{left:"2%",right:"3%",bottom:"3%",top:36,containLabel:!0},series:[{name:"销售量",data:[],type:"bar",showBackground:!0,backgroundStyle:{color:"rgba(120, 130, 150, 0.08)",borderRadius:[10,10,0,0]},barWidth:"42%",itemStyle:{borderRadius:[10,10,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:V(g.theme,.65)},{offset:1,color:g.theme}]}}}]}}),G=()=>{ft().then(s=>{var e,h,b,i,k,m,v,x,$,z,E,L;u.version=s.version,u.today=s.today,u.menu=s.menu,u.visitor=s.visitor,u.support=s.support,u.visitorOption.xAxis.data=[],u.visitorOption.series[0].data=[],u.saleOption.xAxis.data=[],u.saleOption.series[0].data=[],(h=(e=s.visitor)==null?void 0:e.date)==null||h.reverse().forEach(o=>{u.visitorOption.xAxis.data.push(o)}),(m=(k=(i=(b=s.visitor)==null?void 0:b.list)==null?void 0:i[0])==null?void 0:k.data)==null||m.forEach(o=>{u.visitorOption.series[0].data.push(o)}),(x=(v=s.sale)==null?void 0:v.date)==null||x.reverse().forEach(o=>{u.saleOption.xAxis.data.push(o)}),(L=(E=(z=($=s.sale)==null?void 0:$.list)==null?void 0:z[0])==null?void 0:E.data)==null||L.forEach(o=>{let d=o;o<=50&&(d={value:o,itemStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:V("#ff8729",.7)},{offset:1,color:"#ff8729"}]}}}),u.saleOption.series[0].data.push(d)})}).catch(s=>{console.log("err",s)})},it=()=>{var e,h,b,i;const s=g.theme;u.visitorOption.series[0].color=s,u.visitorOption.series[0].lineStyle.color=s,u.visitorOption.series[0].areaStyle.color.colorStops=[{offset:0,color:s},{offset:1,color:s}],u.saleOption.series[0].itemStyle.color.colorStops=[{offset:0,color:V(s,.65)},{offset:1,color:s}],(e=H.value)==null||e.clear(),(h=T.value)==null||h.clear(),(b=H.value)==null||b.setOption(u.saleOption),(i=T.value)==null||i.setOption(u.visitorOption)};return St(()=>{G(),R(),N()}),(s,e)=>{var $,z,E,L;const h=nt,b=dt,i=ct,k=pt,m=ut,v=bt,x=mt;return l(),c("div",Ot,[t("header",Ct,[e[4]||(e[4]=t("div",{class:"wb-hero-text"},[t("h1",{class:"wb-hero-title"},"数据工作台"),t("p",{class:"wb-hero-desc"},"医助诊单、订单营收与运营趋势一屏掌握")],-1)),a(h,{type:"primary",icon:f(Q),round:"",class:"wb-refresh-btn",onClick:rt},{default:r(()=>[...e[3]||(e[3]=[C(" 刷新全部 ",-1)])]),_:1},8,["icon"])]),t("section",At,[t("div",Dt,[t("div",Nt,[t("span",$t,[a(b,null,{default:r(()=>[a(f(_t))]),_:1})]),t("div",null,[e[5]||(e[5]=t("div",{class:"wb-section-name"},"订单统计",-1)),t("div",zt,n(ot.value)+" · "+n(_.order_type_name||"—"),1)])]),t("div",Et,[a(k,{modelValue:P.value,"onUpdate:modelValue":e[0]||(e[0]=o=>P.value=o),class:"wb-select wb-select--wide",onChange:N},{default:r(()=>[a(i,{label:"全部(已支付)",value:-1}),a(i,{label:"挂号费",value:1}),a(i,{label:"问诊费",value:2}),a(i,{label:"药品费用",value:3}),a(i,{label:"首付费用",value:4}),a(i,{label:"尾款费用",value:5}),a(i,{label:"其他费用",value:6}),a(i,{label:"全部费用",value:7}),a(i,{label:"驼奶费用",value:8}),a(i,{label:"退款统计",value:0})]),_:1},8,["modelValue"]),a(k,{modelValue:F.value,"onUpdate:modelValue":e[1]||(e[1]=o=>F.value=o),class:"wb-select",onChange:N},{default:r(()=>[a(i,{label:"今天",value:0}),a(i,{label:"最近7天",value:7}),a(i,{label:"最近30天",value:30})]),_:1},8,["modelValue"]),a(h,{icon:f(Q),circle:"",onClick:N},null,8,["icon"])])]),t("div",Lt,[a(v,{gutter:16,class:"wb-kpi-row"},{default:r(()=>[a(m,{xs:24,sm:8},{default:r(()=>[t("div",Vt,[e[6]||(e[6]=t("div",{class:"wb-kpi-label"},"今日单数",-1)),t("div",Rt,n(_.today_total??0),1)])]),_:1}),a(m,{xs:24,sm:8},{default:r(()=>[t("div",Pt,[e[7]||(e[7]=t("div",{class:"wb-kpi-label"},"今日金额",-1)),t("div",Ft,"¥"+n(_.today_amount??"0.00"),1)])]),_:1}),a(m,{xs:24,sm:8},{default:r(()=>{var o;return[t("div",Wt,[e[8]||(e[8]=t("span",{class:"wb-rank-strip-label"},"今日 TOP",-1)),(o=_.today_ranking)!=null&&o.length?(l(),c("div",Bt,[(l(!0),c(A,null,D(_.today_ranking.slice(0,4),(d,y)=>(l(),c("span",{key:d.id,class:"wb-rank-chip wb-rank-chip--dense"},[t("em",null,n(Number(y)+1),1),C(" "+n(d.name)+" ",1),t("strong",null,n(d.count),1),t("small",null,"¥"+n(d.amount),1)]))),128))])):(l(),c("span",Ht,"暂无"))])]}),_:1})]),_:1}),a(v,{gutter:20,class:"wb-chart-row"},{default:r(()=>[a(m,{xs:24,lg:10},{default:r(()=>[t("div",Tt,[e[9]||(e[9]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门单数占比")],-1)),tt.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"300px"},option:st.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无数据"}))])]),_:1}),a(m,{xs:24,lg:14},{default:r(()=>{var o,d;return[t("div",It,[e[10]||(e[10]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"开单人 · 单数排行"),t("span",{class:"wb-chart-hint"},"柱状 + 趋势")],-1)),(d=(o=_.chart)==null?void 0:o.xAxis)!=null&&d.length?(l(),w(f(O),{key:"order-bar-"+P.value,class:"wb-chart",style:{height:"300px"},option:lt.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无图表数据"}))])]}),_:1})]),_:1}),a(v,{gutter:20,class:"wb-chart-row"},{default:r(()=>[a(m,{xs:24,lg:10},{default:r(()=>[t("div",Qt,[e[11]||(e[11]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门金额占比")],-1)),et.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"300px"},option:at.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无数据"}))])]),_:1}),a(m,{xs:24,lg:14},{default:r(()=>{var o;return[t("div",Ut,[e[13]||(e[13]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"周期内排行"),t("span",{class:"wb-chart-hint"},"单数 / 金额")],-1)),(o=_.ranking)!=null&&o.length?(l(),c("div",Mt,[(l(!0),c(A,null,D(_.ranking,(d,y)=>(l(),c("div",{key:d.id,class:"wb-ranking-item"},[t("span",jt,n(Number(y)+1),1),t("span",Gt,n(d.name),1),t("span",Jt,[t("b",null,n(d.count),1),e[12]||(e[12]=C(" 单 ",-1)),t("span",Yt,"¥"+n(d.amount),1)])]))),128))])):(l(),w(x,{key:1,description:"暂无排行"}))])]}),_:1})]),_:1}),($=_.departments)!=null&&$.length?(l(),c("div",qt,[e[14]||(e[14]=t("div",{class:"wb-dept-title"},"按部门统计",-1)),a(v,{gutter:16},{default:r(()=>[(l(!0),c(A,null,D(_.departments,o=>(l(),w(m,{key:o.dept_id,xs:24,sm:12,lg:8},{default:r(()=>{var d;return[t("div",Kt,[t("div",Xt,[C(n(o.dept_name)+" ",1),t("span",Zt,n(o.total)+" 单 · ¥"+n(o.amount),1)]),t("div",te,[(l(!0),c(A,null,D(o.members,y=>(l(),c("div",{key:`${o.dept_id}-${y.id}`,class:"wb-dept-row"},[t("span",null,n(y.name),1),t("span",ee,[C(n(y.count)+" ",1),t("small",null,"¥"+n(y.amount),1)])]))),128)),(d=o.members)!=null&&d.length?B("",!0):(l(),c("div",se,"暂无"))])])]}),_:2},1024))),128))]),_:1})])):B("",!0)])]),t("section",ae,[t("div",oe,[t("div",le,[t("span",re,[a(b,null,{default:r(()=>[a(f(ht))]),_:1})]),t("div",null,[e[15]||(e[15]=t("div",{class:"wb-section-name"},"医助理诊单统计",-1)),t("div",ie,n((z=p.date_range)==null?void 0:z[0])+" 至 "+n((E=p.date_range)==null?void 0:E[1]),1)])]),t("div",ne,[a(k,{modelValue:p.days,"onUpdate:modelValue":e[2]||(e[2]=o=>p.days=o),class:"wb-select",onChange:R},{default:r(()=>[a(i,{label:"今天",value:0}),a(i,{label:"最近7天",value:7}),a(i,{label:"最近14天",value:14}),a(i,{label:"最近30天",value:30})]),_:1},8,["modelValue"]),a(h,{icon:f(Q),circle:"",onClick:R},null,8,["icon"])])]),t("div",de,[a(v,{gutter:16,class:"wb-kpi-row"},{default:r(()=>[a(m,{xs:24,sm:8,lg:6},{default:r(()=>[t("div",ce,[e[16]||(e[16]=t("div",{class:"wb-kpi-label"},"今日创建诊单",-1)),t("div",pe,n(p.today_total??0),1),e[17]||(e[17]=t("div",{class:"wb-kpi-hint"},"当日新增总量",-1))])]),_:1}),a(m,{xs:24,sm:16,lg:18},{default:r(()=>{var o;return[t("div",ue,[e[18]||(e[18]=t("span",{class:"wb-rank-strip-label"},"今日排行",-1)),(o=p.today_ranking)!=null&&o.length?(l(),c("div",be,[(l(!0),c(A,null,D(p.today_ranking.slice(0,6),(d,y)=>(l(),c("span",{key:d.id,class:"wb-rank-chip"},[t("em",null,n(y+1),1),C(" "+n(d.name)+" ",1),t("strong",null,n(d.count),1)]))),128))])):(l(),c("span",me,"暂无排行数据"))])]}),_:1})]),_:1}),a(v,{gutter:20,class:"wb-chart-row"},{default:r(()=>[a(m,{xs:24,lg:15},{default:r(()=>{var o;return[t("div",_e,[e[19]||(e[19]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"诊单量分布"),t("span",{class:"wb-chart-hint"},"柱状 + 趋势线")],-1)),(o=p.chart.xAxis)!=null&&o.length?(l(),w(f(O),{key:0,ref_key:"assistantChart",ref:q,class:"wb-chart",style:{height:"340px"},option:Z.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无图表数据"}))])]}),_:1}),a(m,{xs:24,lg:9},{default:r(()=>[t("div",he,[e[20]||(e[20]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门占比"),t("span",{class:"wb-chart-hint"},"按诊单数")],-1)),K.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"340px"},option:X.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无部门数据"}))])]),_:1})]),_:1}),(L=p.departments)!=null&&L.length?(l(),c("div",ye,[e[21]||(e[21]=t("div",{class:"wb-dept-title"},"按部门明细",-1)),a(v,{gutter:16},{default:r(()=>[(l(!0),c(A,null,D(p.departments,o=>(l(),w(m,{key:o.dept_id,xs:24,sm:12,lg:8},{default:r(()=>{var d;return[t("div",we,[t("div",fe,[C(n(o.dept_name)+" ",1),t("span",ve,"共 "+n(o.total),1)]),t("div",ge,[(l(!0),c(A,null,D(o.assistants,y=>(l(),c("div",{key:`${o.dept_id}-${y.id}`,class:"wb-dept-row"},[t("span",null,n(y.name),1),t("span",ke,n(y.count),1)]))),128)),(d=o.assistants)!=null&&d.length?B("",!0):(l(),c("div",xe,"暂无医助"))])])]}),_:2},1024))),128))]),_:1})])):B("",!0)])]),t("section",Se,[t("div",Oe,[t("div",Ce,[t("span",Ae,[a(b,null,{default:r(()=>[a(f(yt))]),_:1})]),e[22]||(e[22]=t("div",null,[t("div",{class:"wb-section-name"},"运营趋势"),t("div",{class:"wb-section-sub"},"访问量与销售额走势")],-1))])]),t("div",De,[a(v,{gutter:20},{default:r(()=>[a(m,{xs:24,lg:14},{default:r(()=>[t("div",Ne,[e[23]||(e[23]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"访问量趋势")],-1)),a(f(O),{ref_key:"visitorChart",ref:T,class:"wb-chart",style:{height:"320px"},option:u.visitorOption,autoresize:!0},null,8,["option"])])]),_:1}),a(m,{xs:24,lg:10},{default:r(()=>[t("div",$e,[e[24]||(e[24]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"销售额趋势"),t("span",{class:"wb-chart-hint"},"单位(万)")],-1)),a(f(O),{ref_key:"saleChart",ref:H,class:"wb-chart",style:{height:"320px"},option:u.saleOption,autoresize:!0},null,8,["option"])])]),_:1})]),_:1})])])])}}}),ks=vt(Ee,[["__scopeId","data-v-2f6eaa33"]]);export{ks as default};
diff --git a/server/public/admin/assets/index-g7q7nNQa.js b/server/public/admin/assets/index-DsQrRd_r.js
similarity index 85%
rename from server/public/admin/assets/index-g7q7nNQa.js
rename to server/public/admin/assets/index-DsQrRd_r.js
index 8fc1df55..592dc6f4 100644
--- a/server/public/admin/assets/index-g7q7nNQa.js
+++ b/server/public/admin/assets/index-DsQrRd_r.js
@@ -1 +1 @@
-import{D as T,B as j,C as q,i as z,J as A,L as J,M,N as G,q as H,g as O}from"./element-plus-BhlMEThZ.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-BV5h5xGw.js";import{c as W,i as X,_ as Y}from"./index-WGeajlD5.js";import{w as k}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Z,b as ee,c as te}from"./admin-DIA-V9pQ.js";import{u as oe}from"./usePaging-VsbTxSU0.js";import ae from"./edit-BeY33N34.js";import{f as x,b as ie,as as ne,ak as m,I as le,a as e,aN as a,O as _,aP as f,G as s,J as V,H as me,n as E}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as re,q as se,r as pe,n as de}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-ouZ25BHH.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.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";import"./picker-ChJwUkIc.js";import"./index-CgbeKU6K.js";import"./index-B5BEu-2e.js";import"./index-EG3kZkys.js";import"./index-DZaM0Cil.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-C-kxKruc.js";import"./index.vue_vue_type_script_setup_true_lang-yV8imoKs.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-CPyVoBqT.js";import"./post-DwYD3zic.js";import"./useDictOptions-DCfbzBsR.js";const ce={class:"doctor-list"},ue={class:"mt-4"},_e={class:"flex mt-4 justify-end"},fe=x({name:"doctorList"}),ve=x({...fe,setup(be){const v=se(),r=pe({account:"",name:"",role_id:1,apply_data_scope:1}),b=de(!1),{pager:p,getLists:d,resetParams:D,resetPage:h}=oe({fetchFun:Z,params:r}),P=o=>{ee({id:o.id,avatar:o.avatar,account:o.account,name:o.name,role_id:o.role_id,jobs_id:o.jobs_id,dept_id:o.dept_id,disable:o.disable,multipoint_login:o.multipoint_login}).finally(()=>{d()})},B=async()=>{var o;b.value=!0,await E(),(o=v.value)==null||o.open("add")},I=async o=>{var t,c;b.value=!0,await E(),(t=v.value)==null||t.open("edit"),(c=v.value)==null||c.setFormData(o)},N=async o=>{await X.confirm("确定要删除该医生吗?"),await te({id:o}),d()};return ie(()=>{d()}),(o,t)=>{const c=q,y=j,u=z,$=T,C=A,K=W,l=G,L=H,U=O,F=M,R=Q,w=ne("perms"),S=J;return m(),le("div",ce,[e(C,{class:"!border-none",shadow:"never"},{default:a(()=>[e($,{class:"mb-[-16px]",model:n(r),inline:""},{default:a(()=>[e(y,{class:"w-[280px]",label:"医生账号"},{default:a(()=>[e(c,{modelValue:n(r).account,"onUpdate:modelValue":t[0]||(t[0]=i=>n(r).account=i),placeholder:"请输入医生账号",clearable:"",onKeyup:k(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,{class:"w-[280px]",label:"医生名称"},{default:a(()=>[e(c,{modelValue:n(r).name,"onUpdate:modelValue":t[1]||(t[1]=i=>n(r).name=i),placeholder:"请输入医生名称",clearable:"",onKeyup:k(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,null,{default:a(()=>[e(u,{type:"primary",onClick:n(h)},{default:a(()=>[...t[4]||(t[4]=[_("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:n(D)},{default:a(()=>[...t[5]||(t[5]=[_("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),f((m(),s(C,{class:"mt-4 !border-none",shadow:"never"},{default:a(()=>[f((m(),s(u,{type:"primary",onClick:B},{icon:a(()=>[e(K,{name:"el-icon-Plus"})]),default:a(()=>[t[6]||(t[6]=_(" 新增医生 ",-1))]),_:1})),[[w,["auth.admin/add"]]]),V("div",ue,[e(F,{data:n(p).lists,size:"large"},{default:a(()=>[e(l,{label:"ID",prop:"id","min-width":"60"}),e(l,{label:"头像","min-width":"100"},{default:a(({row:i})=>[e(L,{size:50,src:i.avatar},null,8,["src"])]),_:1}),e(l,{label:"账号",prop:"account","min-width":"120"}),e(l,{label:"姓名",prop:"name","min-width":"100"}),e(l,{label:"手机号",prop:"phone","min-width":"120"}),e(l,{label:"创建时间",prop:"create_time","min-width":"180"}),e(l,{label:"最近登录时间",prop:"login_time","min-width":"180"}),e(l,{label:"最近登录IP",prop:"login_ip","min-width":"120"}),f((m(),s(l,{label:"状态","min-width":"100"},{default:a(({row:i})=>[e(U,{modelValue:i.disable,"onUpdate:modelValue":g=>i.disable=g,"active-value":0,"inactive-value":1,onChange:g=>P(i)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1})),[[w,["auth.admin/edit"]]]),e(l,{label:"操作",width:"120",fixed:"right"},{default:a(({row:i})=>[f((m(),s(u,{type:"primary",link:"",onClick:g=>I(i)},{default:a(()=>[...t[7]||(t[7]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/edit"]]]),f((m(),s(u,{type:"danger",link:"",onClick:g=>N(i.id)},{default:a(()=>[...t[8]||(t[8]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",_e,[e(R,{modelValue:n(p),"onUpdate:modelValue":t[2]||(t[2]=i=>re(p)?p.value=i:null),onChange:n(d)},null,8,["modelValue","onChange"])])]),_:1})),[[S,n(p).loading]]),n(b)?(m(),s(ae,{key:0,ref_key:"editRef",ref:v,onSuccess:n(d),onClose:t[3]||(t[3]=i=>b.value=!1)},null,8,["onSuccess"])):me("",!0)])}}}),yt=Y(ve,[["__scopeId","data-v-72ffb098"]]);export{yt as default};
+import{D as T,B as j,C as q,i as z,J as A,L as J,M,N as G,q as H,g as O}from"./element-plus-0wC3naml.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{c as W,i as X,_ as Y}from"./index-E47--KT7.js";import{w as k}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Z,b as ee,c as te}from"./admin-DO1zWq80.js";import{u as oe}from"./usePaging-VsbTxSU0.js";import ae from"./edit-BVgeLr6b.js";import{f as x,b as ie,as as ne,ak as m,I as le,a as e,aN as a,O as _,aP as f,G as s,J as V,H as me,n as E}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as re,q as se,r as pe,n as de}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.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";import"./picker-DlbAZkDm.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-4lF54x8w.js";import"./post-Dq6zumLO.js";import"./useDictOptions-CypOxw17.js";const ce={class:"doctor-list"},ue={class:"mt-4"},_e={class:"flex mt-4 justify-end"},fe=x({name:"doctorList"}),ve=x({...fe,setup(be){const v=se(),r=pe({account:"",name:"",role_id:1,apply_data_scope:1}),b=de(!1),{pager:p,getLists:d,resetParams:D,resetPage:h}=oe({fetchFun:Z,params:r}),P=o=>{ee({id:o.id,avatar:o.avatar,account:o.account,name:o.name,role_id:o.role_id,jobs_id:o.jobs_id,dept_id:o.dept_id,disable:o.disable,multipoint_login:o.multipoint_login}).finally(()=>{d()})},B=async()=>{var o;b.value=!0,await E(),(o=v.value)==null||o.open("add")},I=async o=>{var t,c;b.value=!0,await E(),(t=v.value)==null||t.open("edit"),(c=v.value)==null||c.setFormData(o)},N=async o=>{await X.confirm("确定要删除该医生吗?"),await te({id:o}),d()};return ie(()=>{d()}),(o,t)=>{const c=q,y=j,u=z,$=T,C=A,K=W,l=G,L=H,U=O,F=M,R=Q,w=ne("perms"),S=J;return m(),le("div",ce,[e(C,{class:"!border-none",shadow:"never"},{default:a(()=>[e($,{class:"mb-[-16px]",model:n(r),inline:""},{default:a(()=>[e(y,{class:"w-[280px]",label:"医生账号"},{default:a(()=>[e(c,{modelValue:n(r).account,"onUpdate:modelValue":t[0]||(t[0]=i=>n(r).account=i),placeholder:"请输入医生账号",clearable:"",onKeyup:k(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,{class:"w-[280px]",label:"医生名称"},{default:a(()=>[e(c,{modelValue:n(r).name,"onUpdate:modelValue":t[1]||(t[1]=i=>n(r).name=i),placeholder:"请输入医生名称",clearable:"",onKeyup:k(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,null,{default:a(()=>[e(u,{type:"primary",onClick:n(h)},{default:a(()=>[...t[4]||(t[4]=[_("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:n(D)},{default:a(()=>[...t[5]||(t[5]=[_("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),f((m(),s(C,{class:"mt-4 !border-none",shadow:"never"},{default:a(()=>[f((m(),s(u,{type:"primary",onClick:B},{icon:a(()=>[e(K,{name:"el-icon-Plus"})]),default:a(()=>[t[6]||(t[6]=_(" 新增医生 ",-1))]),_:1})),[[w,["auth.admin/add"]]]),V("div",ue,[e(F,{data:n(p).lists,size:"large"},{default:a(()=>[e(l,{label:"ID",prop:"id","min-width":"60"}),e(l,{label:"头像","min-width":"100"},{default:a(({row:i})=>[e(L,{size:50,src:i.avatar},null,8,["src"])]),_:1}),e(l,{label:"账号",prop:"account","min-width":"120"}),e(l,{label:"姓名",prop:"name","min-width":"100"}),e(l,{label:"手机号",prop:"phone","min-width":"120"}),e(l,{label:"创建时间",prop:"create_time","min-width":"180"}),e(l,{label:"最近登录时间",prop:"login_time","min-width":"180"}),e(l,{label:"最近登录IP",prop:"login_ip","min-width":"120"}),f((m(),s(l,{label:"状态","min-width":"100"},{default:a(({row:i})=>[e(U,{modelValue:i.disable,"onUpdate:modelValue":g=>i.disable=g,"active-value":0,"inactive-value":1,onChange:g=>P(i)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1})),[[w,["auth.admin/edit"]]]),e(l,{label:"操作",width:"120",fixed:"right"},{default:a(({row:i})=>[f((m(),s(u,{type:"primary",link:"",onClick:g=>I(i)},{default:a(()=>[...t[7]||(t[7]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/edit"]]]),f((m(),s(u,{type:"danger",link:"",onClick:g=>N(i.id)},{default:a(()=>[...t[8]||(t[8]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",_e,[e(R,{modelValue:n(p),"onUpdate:modelValue":t[2]||(t[2]=i=>re(p)?p.value=i:null),onChange:n(d)},null,8,["modelValue","onChange"])])]),_:1})),[[S,n(p).loading]]),n(b)?(m(),s(ae,{key:0,ref_key:"editRef",ref:v,onSuccess:n(d),onClose:t[3]||(t[3]=i=>b.value=!1)},null,8,["onSuccess"])):me("",!0)])}}}),yt=Y(ve,[["__scopeId","data-v-72ffb098"]]);export{yt as default};
diff --git a/server/public/admin/assets/index-nbSelc5_.js b/server/public/admin/assets/index-DxZyYPmh.js
similarity index 97%
rename from server/public/admin/assets/index-nbSelc5_.js
rename to server/public/admin/assets/index-DxZyYPmh.js
index 72067226..0d6cc149 100644
--- a/server/public/admin/assets/index-nbSelc5_.js
+++ b/server/public/admin/assets/index-DxZyYPmh.js
@@ -1 +1 @@
-import{D as xe,B as Ce,C as De,P as Ee,Q as Re,i as Ue,J as Fe,M as Ye,N as $e,T as he,L as Me,h as Te,G as Ne,I as He,V as Le,e as Pe,a2 as Se}from"./element-plus-BhlMEThZ.js";import{_ as qe}from"./index.vue_vue_type_script_setup_true_lang-BV5h5xGw.js";import{w as W}from"./@vue/runtime-dom-DDAG46FW.js";import{f as Be,a as Ie,b as Ke,h as ze,g as Ae,c as Ge,d as je,e as Je}from"./fans-3w5tHa7t.js";import{u as Oe}from"./usePaging-VsbTxSU0.js";import{i as Z}from"./index-WGeajlD5.js";import{d as ee}from"./dayjs-DG77mNTn.js";import{f as te,ak as g,I as K,a as l,aN as t,O as n,J as w,aP as le,G as x,H as Qe}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as M,n as u}from"./@vue/reactivity-DiY1c2vO.js";import{Q as T}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-ouZ25BHH.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.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 Xe={class:"fans-management"},We={class:"mb-4"},Ze={key:1,class:"text-gray-400"},el={class:"flex mt-4 justify-end"},ll={class:"mb-4"},tl={key:0,class:"text-center mt-4"},al=te({name:"fansManagement"}),Al=te({...al,setup(ol){const ae=i=>{if(!i)return"-";const e=String(i).length===10?Number(i)*1e3:Number(i);return ee(e).format("YYYY-MM-DD HH:mm:ss")},f=u({name:"",phone:"",gender:"",status:""}),{pager:k,getLists:C,resetParams:oe,resetPage:N}=Oe({fetchFun:Be,params:f.value}),b=u(!1),D=u("add"),H=u(),L=u(!1),d=u({id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""}),ie={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"}]},ne=()=>{D.value="add",b.value=!0},de=i=>{D.value="edit",d.value={id:i.id,name:i.name,phone:i.phone,id_card:i.id_card,age:i.age,gender:i.gender,status:i.status,remark:i.remark},b.value=!0},se=()=>{var i;d.value={id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""},(i=H.value)==null||i.resetFields()},re=async()=>{var i;await((i=H.value)==null?void 0:i.validate()),L.value=!0;try{D.value==="add"?await Ie(d.value):await Ke(d.value),b.value=!1,C()}catch{}finally{L.value=!1}},ue=async i=>{await Z.confirm("确定要删除该粉丝吗?");try{await ze({id:i}),C()}catch{}},E=u(!1),R=u(null),y=u([]),P=u(!1),z=u(0),c=u(1),me={1:"",2:"success",3:"info",4:"warning",5:"danger"},pe=i=>{R.value=i,E.value=!0,c.value=1,y.value=[],U()},U=async()=>{P.value=!0;try{const i=await Ae({fan_id:R.value.id,page_no:c.value,page_size:15});c.value===1?y.value=i.lists||[]:y.value=[...y.value,...i.lists||[]],z.value=i.count||0}catch(i){console.error("获取回访记录失败:",i)}finally{P.value=!1}},fe=()=>{c.value++,U()},V=u(!1),F=u("add"),S=u(),q=u(!1),m=u({id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""}),ve={visit_type:[{required:!0,message:"请选择回访类型",trigger:"change"}],visit_time:[{required:!0,message:"请选择回访时间",trigger:"change"}],content:[{required:!0,message:"请输入回访内容",trigger:"blur"}]},_e=()=>{F.value="add",m.value={id:0,fan_id:R.value.id,visit_type:1,visit_time:ee().format("YYYY-MM-DD HH:mm:ss"),content:"",result:"",next_visit_time:""},V.value=!0},ge=i=>{F.value="edit",m.value={id:i.id,fan_id:i.fan_id,visit_type:i.visit_type,visit_time:i.visit_time_text||"",content:i.content||"",result:i.result||"",next_visit_time:i.next_visit_time_text||""},V.value=!0},be=()=>{var i;m.value={id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""},(i=S.value)==null||i.resetFields()},Ve=async()=>{var i;await((i=S.value)==null?void 0:i.validate()),q.value=!0;try{F.value==="add"?await Ge(m.value):await je(m.value),V.value=!1,c.value=1,U()}catch{}finally{q.value=!1}},ye=async i=>{await Z.confirm("确定要删除该回访记录吗?");try{await Je({id:i}),c.value=1,U()}catch{}};return C(),(i,e)=>{var X;const _=De,r=Ce,v=Re,B=Ee,p=Ue,I=xe,A=Fe,s=$e,Y=he,G=Ye,ce=qe,ke=Te,$=He,j=Ne,J=Le,we=Pe,O=Se,Q=Me;return g(),K("div",Xe,[l(A,{class:"!border-none",shadow:"never"},{default:t(()=>[l(I,{class:"ls-form",model:o(f),inline:""},{default:t(()=>[l(r,{class:"w-[280px]",label:"姓名"},{default:t(()=>[l(_,{placeholder:"请输入姓名",modelValue:o(f).name,"onUpdate:modelValue":e[0]||(e[0]=a=>o(f).name=a),clearable:"",onKeyup:W(o(N),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(r,{class:"w-[280px]",label:"手机号"},{default:t(()=>[l(_,{placeholder:"请输入手机号",modelValue:o(f).phone,"onUpdate:modelValue":e[1]||(e[1]=a=>o(f).phone=a),clearable:"",onKeyup:W(o(N),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(r,{class:"w-[180px]",label:"性别"},{default:t(()=>[l(B,{modelValue:o(f).gender,"onUpdate:modelValue":e[2]||(e[2]=a=>o(f).gender=a),placeholder:"请选择",clearable:""},{default:t(()=>[l(v,{label:"男",value:1}),l(v,{label:"女",value:2})]),_:1},8,["modelValue"])]),_:1}),l(r,{class:"w-[180px]",label:"状态"},{default:t(()=>[l(B,{modelValue:o(f).status,"onUpdate:modelValue":e[3]||(e[3]=a=>o(f).status=a),placeholder:"请选择",clearable:""},{default:t(()=>[l(v,{label:"启用",value:1}),l(v,{label:"禁用",value:0})]),_:1},8,["modelValue"])]),_:1}),l(r,null,{default:t(()=>[l(p,{type:"primary",onClick:o(N)},{default:t(()=>[...e[22]||(e[22]=[n("查询",-1)])]),_:1},8,["onClick"]),l(p,{onClick:o(oe)},{default:t(()=>[...e[23]||(e[23]=[n("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),l(A,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[w("div",We,[l(p,{type:"primary",onClick:ne},{default:t(()=>[...e[24]||(e[24]=[n("新增粉丝",-1)])]),_:1})]),le((g(),x(G,{data:o(k).lists,size:"large"},{default:t(()=>[l(s,{label:"ID",prop:"id",width:"70"}),l(s,{label:"姓名",prop:"name","min-width":"100"}),l(s,{label:"手机号",prop:"phone","min-width":"130"}),l(s,{label:"身份证号",prop:"id_card","min-width":"180"}),l(s,{label:"性别",prop:"gender_desc",width:"80"}),l(s,{label:"年龄",prop:"age",width:"70"}),l(s,{label:"备注",prop:"remark","min-width":"150","show-overflow-tooltip":""}),l(s,{label:"登记人",prop:"creator_name","min-width":"100"},{default:t(({row:a})=>[w("span",null,T(a.creator_name||"-"),1)]),_:1}),l(s,{label:"回访次数",width:"90",align:"center"},{default:t(({row:a})=>[a.visit_count>0?(g(),x(Y,{key:0,type:"success"},{default:t(()=>[n(T(a.visit_count),1)]),_:2},1024)):(g(),K("span",Ze,"0"))]),_:1}),l(s,{label:"状态",width:"80"},{default:t(({row:a})=>[a.status==1?(g(),x(Y,{key:0,type:"success"},{default:t(()=>[...e[25]||(e[25]=[n("启用",-1)])]),_:1})):(g(),x(Y,{key:1,type:"danger"},{default:t(()=>[...e[26]||(e[26]=[n("禁用",-1)])]),_:1}))]),_:1}),l(s,{label:"创建时间","min-width":"170"},{default:t(({row:a})=>[w("span",null,T(ae(a.create_time)),1)]),_:1}),l(s,{label:"操作",width:"220",fixed:"right"},{default:t(({row:a})=>[l(p,{type:"primary",link:"",onClick:h=>de(a)},{default:t(()=>[...e[27]||(e[27]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(p,{type:"success",link:"",onClick:h=>pe(a)},{default:t(()=>[...e[28]||(e[28]=[n("回访记录",-1)])]),_:1},8,["onClick"]),l(p,{type:"danger",link:"",onClick:h=>ue(a.id)},{default:t(()=>[...e[29]||(e[29]=[n("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Q,o(k).loading]]),w("div",el,[l(ce,{modelValue:o(k),"onUpdate:modelValue":e[4]||(e[4]=a=>M(k)?k.value=a:null),onChange:o(C)},null,8,["modelValue","onChange"])])]),_:1}),l(J,{modelValue:o(b),"onUpdate:modelValue":e[13]||(e[13]=a=>M(b)?b.value=a:null),title:o(D)==="add"?"新增粉丝":"编辑粉丝",width:"600px","close-on-click-modal":!1,onClosed:se},{footer:t(()=>[l(p,{onClick:e[12]||(e[12]=a=>b.value=!1)},{default:t(()=>[...e[34]||(e[34]=[n("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o(L),onClick:re},{default:t(()=>[...e[35]||(e[35]=[n("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(I,{ref_key:"fanFormRef",ref:H,model:o(d),rules:ie,"label-width":"100px"},{default:t(()=>[l(r,{label:"姓名",prop:"name"},{default:t(()=>[l(_,{modelValue:o(d).name,"onUpdate:modelValue":e[5]||(e[5]=a=>o(d).name=a),placeholder:"请输入姓名",maxlength:"50"},null,8,["modelValue"])]),_:1}),l(r,{label:"手机号",prop:"phone"},{default:t(()=>[l(_,{modelValue:o(d).phone,"onUpdate:modelValue":e[6]||(e[6]=a=>o(d).phone=a),placeholder:"请输入手机号",maxlength:"11"},null,8,["modelValue"])]),_:1}),l(r,{label:"身份证号",prop:"id_card"},{default:t(()=>[l(_,{modelValue:o(d).id_card,"onUpdate:modelValue":e[7]||(e[7]=a=>o(d).id_card=a),placeholder:"请输入身份证号码",maxlength:"18"},null,8,["modelValue"])]),_:1}),l(r,{label:"年龄",prop:"age"},{default:t(()=>[l(ke,{modelValue:o(d).age,"onUpdate:modelValue":e[8]||(e[8]=a=>o(d).age=a),min:0,max:150},null,8,["modelValue"])]),_:1}),l(r,{label:"性别",prop:"gender"},{default:t(()=>[l(j,{modelValue:o(d).gender,"onUpdate:modelValue":e[9]||(e[9]=a=>o(d).gender=a)},{default:t(()=>[l($,{label:1},{default:t(()=>[...e[30]||(e[30]=[n("男",-1)])]),_:1}),l($,{label:2},{default:t(()=>[...e[31]||(e[31]=[n("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"状态",prop:"status"},{default:t(()=>[l(j,{modelValue:o(d).status,"onUpdate:modelValue":e[10]||(e[10]=a=>o(d).status=a)},{default:t(()=>[l($,{label:1},{default:t(()=>[...e[32]||(e[32]=[n("启用",-1)])]),_:1}),l($,{label:0},{default:t(()=>[...e[33]||(e[33]=[n("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"备注",prop:"remark"},{default:t(()=>[l(_,{modelValue:o(d).remark,"onUpdate:modelValue":e[11]||(e[11]=a=>o(d).remark=a),type:"textarea",rows:3,placeholder:"请输入备注",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(we,{modelValue:o(E),"onUpdate:modelValue":e[14]||(e[14]=a=>M(E)?E.value=a:null),title:`回访记录 - ${((X=o(R))==null?void 0:X.name)||""}`,size:"700px","close-on-click-modal":!1},{default:t(()=>[w("div",ll,[l(p,{type:"primary",onClick:_e},{default:t(()=>[...e[36]||(e[36]=[n("新增回访记录",-1)])]),_:1})]),le((g(),x(G,{data:o(y),size:"large"},{default:t(()=>[l(s,{label:"回访类型",width:"100"},{default:t(({row:a})=>[l(Y,{type:me[a.visit_type]},{default:t(()=>[n(T(a.visit_type_desc),1)]),_:2},1032,["type"])]),_:1}),l(s,{label:"回访时间",prop:"visit_time_text","min-width":"150"}),l(s,{label:"回访内容",prop:"content","min-width":"200","show-overflow-tooltip":""}),l(s,{label:"回访结果",prop:"result","min-width":"150","show-overflow-tooltip":""}),l(s,{label:"下次回访",prop:"next_visit_time_text","min-width":"150"}),l(s,{label:"操作人",prop:"operator_name",width:"100"}),l(s,{label:"操作",width:"120",fixed:"right"},{default:t(({row:a})=>[l(p,{type:"primary",link:"",onClick:h=>ge(a)},{default:t(()=>[...e[37]||(e[37]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(p,{type:"danger",link:"",onClick:h=>ye(a.id)},{default:t(()=>[...e[38]||(e[38]=[n("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Q,o(P)]]),o(z)>o(y).length?(g(),K("div",tl,[l(p,{link:"",type:"primary",onClick:fe},{default:t(()=>[...e[39]||(e[39]=[n("加载更多",-1)])]),_:1})])):Qe("",!0)]),_:1},8,["modelValue","title"]),l(J,{modelValue:o(V),"onUpdate:modelValue":e[21]||(e[21]=a=>M(V)?V.value=a:null),title:o(F)==="add"?"新增回访记录":"编辑回访记录",width:"600px","close-on-click-modal":!1,onClosed:be},{footer:t(()=>[l(p,{onClick:e[20]||(e[20]=a=>V.value=!1)},{default:t(()=>[...e[40]||(e[40]=[n("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o(q),onClick:Ve},{default:t(()=>[...e[41]||(e[41]=[n("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(I,{ref_key:"visitFormRef",ref:S,model:o(m),rules:ve,"label-width":"120px"},{default:t(()=>[l(r,{label:"回访类型",prop:"visit_type"},{default:t(()=>[l(B,{modelValue:o(m).visit_type,"onUpdate:modelValue":e[15]||(e[15]=a=>o(m).visit_type=a),placeholder:"请选择回访类型"},{default:t(()=>[l(v,{label:"电话",value:1}),l(v,{label:"微信",value:2}),l(v,{label:"短信",value:3}),l(v,{label:"上门",value:4}),l(v,{label:"其他",value:5})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"回访时间",prop:"visit_time"},{default:t(()=>[l(O,{modelValue:o(m).visit_time,"onUpdate:modelValue":e[16]||(e[16]=a=>o(m).visit_time=a),type:"datetime",placeholder:"请选择回访时间","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),l(r,{label:"回访内容",prop:"content"},{default:t(()=>[l(_,{modelValue:o(m).content,"onUpdate:modelValue":e[17]||(e[17]=a=>o(m).content=a),type:"textarea",rows:4,placeholder:"请输入回访内容"},null,8,["modelValue"])]),_:1}),l(r,{label:"回访结果",prop:"result"},{default:t(()=>[l(_,{modelValue:o(m).result,"onUpdate:modelValue":e[18]||(e[18]=a=>o(m).result=a),type:"textarea",rows:3,placeholder:"请输入回访结果"},null,8,["modelValue"])]),_:1}),l(r,{label:"下次回访时间",prop:"next_visit_time"},{default:t(()=>[l(O,{modelValue:o(m).next_visit_time,"onUpdate:modelValue":e[19]||(e[19]=a=>o(m).next_visit_time=a),type:"datetime",placeholder:"请选择下次回访时间","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}});export{Al as default};
+import{D as xe,B as Ce,C as De,P as Ee,Q as Re,i as Ue,J as Fe,M as Ye,N as $e,T as he,L as Me,h as Te,G as Ne,I as He,V as Le,e as Pe,a2 as Se}from"./element-plus-0wC3naml.js";import{_ as qe}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{w as W}from"./@vue/runtime-dom-DDAG46FW.js";import{f as Be,a as Ie,b as Ke,h as ze,g as Ae,c as Ge,d as je,e as Je}from"./fans-Cx6ejviX.js";import{u as Oe}from"./usePaging-VsbTxSU0.js";import{i as Z}from"./index-E47--KT7.js";import{d as ee}from"./dayjs-DG77mNTn.js";import{f as te,ak as g,I as K,a as l,aN as t,O as n,J as w,aP as le,G as x,H as Qe}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as M,n as u}from"./@vue/reactivity-DiY1c2vO.js";import{Q as T}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.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 Xe={class:"fans-management"},We={class:"mb-4"},Ze={key:1,class:"text-gray-400"},el={class:"flex mt-4 justify-end"},ll={class:"mb-4"},tl={key:0,class:"text-center mt-4"},al=te({name:"fansManagement"}),Al=te({...al,setup(ol){const ae=i=>{if(!i)return"-";const e=String(i).length===10?Number(i)*1e3:Number(i);return ee(e).format("YYYY-MM-DD HH:mm:ss")},f=u({name:"",phone:"",gender:"",status:""}),{pager:k,getLists:C,resetParams:oe,resetPage:N}=Oe({fetchFun:Be,params:f.value}),b=u(!1),D=u("add"),H=u(),L=u(!1),d=u({id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""}),ie={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"}]},ne=()=>{D.value="add",b.value=!0},de=i=>{D.value="edit",d.value={id:i.id,name:i.name,phone:i.phone,id_card:i.id_card,age:i.age,gender:i.gender,status:i.status,remark:i.remark},b.value=!0},se=()=>{var i;d.value={id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""},(i=H.value)==null||i.resetFields()},re=async()=>{var i;await((i=H.value)==null?void 0:i.validate()),L.value=!0;try{D.value==="add"?await Ie(d.value):await Ke(d.value),b.value=!1,C()}catch{}finally{L.value=!1}},ue=async i=>{await Z.confirm("确定要删除该粉丝吗?");try{await ze({id:i}),C()}catch{}},E=u(!1),R=u(null),y=u([]),P=u(!1),z=u(0),c=u(1),me={1:"",2:"success",3:"info",4:"warning",5:"danger"},pe=i=>{R.value=i,E.value=!0,c.value=1,y.value=[],U()},U=async()=>{P.value=!0;try{const i=await Ae({fan_id:R.value.id,page_no:c.value,page_size:15});c.value===1?y.value=i.lists||[]:y.value=[...y.value,...i.lists||[]],z.value=i.count||0}catch(i){console.error("获取回访记录失败:",i)}finally{P.value=!1}},fe=()=>{c.value++,U()},V=u(!1),F=u("add"),S=u(),q=u(!1),m=u({id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""}),ve={visit_type:[{required:!0,message:"请选择回访类型",trigger:"change"}],visit_time:[{required:!0,message:"请选择回访时间",trigger:"change"}],content:[{required:!0,message:"请输入回访内容",trigger:"blur"}]},_e=()=>{F.value="add",m.value={id:0,fan_id:R.value.id,visit_type:1,visit_time:ee().format("YYYY-MM-DD HH:mm:ss"),content:"",result:"",next_visit_time:""},V.value=!0},ge=i=>{F.value="edit",m.value={id:i.id,fan_id:i.fan_id,visit_type:i.visit_type,visit_time:i.visit_time_text||"",content:i.content||"",result:i.result||"",next_visit_time:i.next_visit_time_text||""},V.value=!0},be=()=>{var i;m.value={id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""},(i=S.value)==null||i.resetFields()},Ve=async()=>{var i;await((i=S.value)==null?void 0:i.validate()),q.value=!0;try{F.value==="add"?await Ge(m.value):await je(m.value),V.value=!1,c.value=1,U()}catch{}finally{q.value=!1}},ye=async i=>{await Z.confirm("确定要删除该回访记录吗?");try{await Je({id:i}),c.value=1,U()}catch{}};return C(),(i,e)=>{var X;const _=De,r=Ce,v=Re,B=Ee,p=Ue,I=xe,A=Fe,s=$e,Y=he,G=Ye,ce=qe,ke=Te,$=He,j=Ne,J=Le,we=Pe,O=Se,Q=Me;return g(),K("div",Xe,[l(A,{class:"!border-none",shadow:"never"},{default:t(()=>[l(I,{class:"ls-form",model:o(f),inline:""},{default:t(()=>[l(r,{class:"w-[280px]",label:"姓名"},{default:t(()=>[l(_,{placeholder:"请输入姓名",modelValue:o(f).name,"onUpdate:modelValue":e[0]||(e[0]=a=>o(f).name=a),clearable:"",onKeyup:W(o(N),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(r,{class:"w-[280px]",label:"手机号"},{default:t(()=>[l(_,{placeholder:"请输入手机号",modelValue:o(f).phone,"onUpdate:modelValue":e[1]||(e[1]=a=>o(f).phone=a),clearable:"",onKeyup:W(o(N),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(r,{class:"w-[180px]",label:"性别"},{default:t(()=>[l(B,{modelValue:o(f).gender,"onUpdate:modelValue":e[2]||(e[2]=a=>o(f).gender=a),placeholder:"请选择",clearable:""},{default:t(()=>[l(v,{label:"男",value:1}),l(v,{label:"女",value:2})]),_:1},8,["modelValue"])]),_:1}),l(r,{class:"w-[180px]",label:"状态"},{default:t(()=>[l(B,{modelValue:o(f).status,"onUpdate:modelValue":e[3]||(e[3]=a=>o(f).status=a),placeholder:"请选择",clearable:""},{default:t(()=>[l(v,{label:"启用",value:1}),l(v,{label:"禁用",value:0})]),_:1},8,["modelValue"])]),_:1}),l(r,null,{default:t(()=>[l(p,{type:"primary",onClick:o(N)},{default:t(()=>[...e[22]||(e[22]=[n("查询",-1)])]),_:1},8,["onClick"]),l(p,{onClick:o(oe)},{default:t(()=>[...e[23]||(e[23]=[n("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),l(A,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[w("div",We,[l(p,{type:"primary",onClick:ne},{default:t(()=>[...e[24]||(e[24]=[n("新增粉丝",-1)])]),_:1})]),le((g(),x(G,{data:o(k).lists,size:"large"},{default:t(()=>[l(s,{label:"ID",prop:"id",width:"70"}),l(s,{label:"姓名",prop:"name","min-width":"100"}),l(s,{label:"手机号",prop:"phone","min-width":"130"}),l(s,{label:"身份证号",prop:"id_card","min-width":"180"}),l(s,{label:"性别",prop:"gender_desc",width:"80"}),l(s,{label:"年龄",prop:"age",width:"70"}),l(s,{label:"备注",prop:"remark","min-width":"150","show-overflow-tooltip":""}),l(s,{label:"登记人",prop:"creator_name","min-width":"100"},{default:t(({row:a})=>[w("span",null,T(a.creator_name||"-"),1)]),_:1}),l(s,{label:"回访次数",width:"90",align:"center"},{default:t(({row:a})=>[a.visit_count>0?(g(),x(Y,{key:0,type:"success"},{default:t(()=>[n(T(a.visit_count),1)]),_:2},1024)):(g(),K("span",Ze,"0"))]),_:1}),l(s,{label:"状态",width:"80"},{default:t(({row:a})=>[a.status==1?(g(),x(Y,{key:0,type:"success"},{default:t(()=>[...e[25]||(e[25]=[n("启用",-1)])]),_:1})):(g(),x(Y,{key:1,type:"danger"},{default:t(()=>[...e[26]||(e[26]=[n("禁用",-1)])]),_:1}))]),_:1}),l(s,{label:"创建时间","min-width":"170"},{default:t(({row:a})=>[w("span",null,T(ae(a.create_time)),1)]),_:1}),l(s,{label:"操作",width:"220",fixed:"right"},{default:t(({row:a})=>[l(p,{type:"primary",link:"",onClick:h=>de(a)},{default:t(()=>[...e[27]||(e[27]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(p,{type:"success",link:"",onClick:h=>pe(a)},{default:t(()=>[...e[28]||(e[28]=[n("回访记录",-1)])]),_:1},8,["onClick"]),l(p,{type:"danger",link:"",onClick:h=>ue(a.id)},{default:t(()=>[...e[29]||(e[29]=[n("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Q,o(k).loading]]),w("div",el,[l(ce,{modelValue:o(k),"onUpdate:modelValue":e[4]||(e[4]=a=>M(k)?k.value=a:null),onChange:o(C)},null,8,["modelValue","onChange"])])]),_:1}),l(J,{modelValue:o(b),"onUpdate:modelValue":e[13]||(e[13]=a=>M(b)?b.value=a:null),title:o(D)==="add"?"新增粉丝":"编辑粉丝",width:"600px","close-on-click-modal":!1,onClosed:se},{footer:t(()=>[l(p,{onClick:e[12]||(e[12]=a=>b.value=!1)},{default:t(()=>[...e[34]||(e[34]=[n("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o(L),onClick:re},{default:t(()=>[...e[35]||(e[35]=[n("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(I,{ref_key:"fanFormRef",ref:H,model:o(d),rules:ie,"label-width":"100px"},{default:t(()=>[l(r,{label:"姓名",prop:"name"},{default:t(()=>[l(_,{modelValue:o(d).name,"onUpdate:modelValue":e[5]||(e[5]=a=>o(d).name=a),placeholder:"请输入姓名",maxlength:"50"},null,8,["modelValue"])]),_:1}),l(r,{label:"手机号",prop:"phone"},{default:t(()=>[l(_,{modelValue:o(d).phone,"onUpdate:modelValue":e[6]||(e[6]=a=>o(d).phone=a),placeholder:"请输入手机号",maxlength:"11"},null,8,["modelValue"])]),_:1}),l(r,{label:"身份证号",prop:"id_card"},{default:t(()=>[l(_,{modelValue:o(d).id_card,"onUpdate:modelValue":e[7]||(e[7]=a=>o(d).id_card=a),placeholder:"请输入身份证号码",maxlength:"18"},null,8,["modelValue"])]),_:1}),l(r,{label:"年龄",prop:"age"},{default:t(()=>[l(ke,{modelValue:o(d).age,"onUpdate:modelValue":e[8]||(e[8]=a=>o(d).age=a),min:0,max:150},null,8,["modelValue"])]),_:1}),l(r,{label:"性别",prop:"gender"},{default:t(()=>[l(j,{modelValue:o(d).gender,"onUpdate:modelValue":e[9]||(e[9]=a=>o(d).gender=a)},{default:t(()=>[l($,{label:1},{default:t(()=>[...e[30]||(e[30]=[n("男",-1)])]),_:1}),l($,{label:2},{default:t(()=>[...e[31]||(e[31]=[n("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"状态",prop:"status"},{default:t(()=>[l(j,{modelValue:o(d).status,"onUpdate:modelValue":e[10]||(e[10]=a=>o(d).status=a)},{default:t(()=>[l($,{label:1},{default:t(()=>[...e[32]||(e[32]=[n("启用",-1)])]),_:1}),l($,{label:0},{default:t(()=>[...e[33]||(e[33]=[n("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"备注",prop:"remark"},{default:t(()=>[l(_,{modelValue:o(d).remark,"onUpdate:modelValue":e[11]||(e[11]=a=>o(d).remark=a),type:"textarea",rows:3,placeholder:"请输入备注",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(we,{modelValue:o(E),"onUpdate:modelValue":e[14]||(e[14]=a=>M(E)?E.value=a:null),title:`回访记录 - ${((X=o(R))==null?void 0:X.name)||""}`,size:"700px","close-on-click-modal":!1},{default:t(()=>[w("div",ll,[l(p,{type:"primary",onClick:_e},{default:t(()=>[...e[36]||(e[36]=[n("新增回访记录",-1)])]),_:1})]),le((g(),x(G,{data:o(y),size:"large"},{default:t(()=>[l(s,{label:"回访类型",width:"100"},{default:t(({row:a})=>[l(Y,{type:me[a.visit_type]},{default:t(()=>[n(T(a.visit_type_desc),1)]),_:2},1032,["type"])]),_:1}),l(s,{label:"回访时间",prop:"visit_time_text","min-width":"150"}),l(s,{label:"回访内容",prop:"content","min-width":"200","show-overflow-tooltip":""}),l(s,{label:"回访结果",prop:"result","min-width":"150","show-overflow-tooltip":""}),l(s,{label:"下次回访",prop:"next_visit_time_text","min-width":"150"}),l(s,{label:"操作人",prop:"operator_name",width:"100"}),l(s,{label:"操作",width:"120",fixed:"right"},{default:t(({row:a})=>[l(p,{type:"primary",link:"",onClick:h=>ge(a)},{default:t(()=>[...e[37]||(e[37]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(p,{type:"danger",link:"",onClick:h=>ye(a.id)},{default:t(()=>[...e[38]||(e[38]=[n("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Q,o(P)]]),o(z)>o(y).length?(g(),K("div",tl,[l(p,{link:"",type:"primary",onClick:fe},{default:t(()=>[...e[39]||(e[39]=[n("加载更多",-1)])]),_:1})])):Qe("",!0)]),_:1},8,["modelValue","title"]),l(J,{modelValue:o(V),"onUpdate:modelValue":e[21]||(e[21]=a=>M(V)?V.value=a:null),title:o(F)==="add"?"新增回访记录":"编辑回访记录",width:"600px","close-on-click-modal":!1,onClosed:be},{footer:t(()=>[l(p,{onClick:e[20]||(e[20]=a=>V.value=!1)},{default:t(()=>[...e[40]||(e[40]=[n("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o(q),onClick:Ve},{default:t(()=>[...e[41]||(e[41]=[n("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(I,{ref_key:"visitFormRef",ref:S,model:o(m),rules:ve,"label-width":"120px"},{default:t(()=>[l(r,{label:"回访类型",prop:"visit_type"},{default:t(()=>[l(B,{modelValue:o(m).visit_type,"onUpdate:modelValue":e[15]||(e[15]=a=>o(m).visit_type=a),placeholder:"请选择回访类型"},{default:t(()=>[l(v,{label:"电话",value:1}),l(v,{label:"微信",value:2}),l(v,{label:"短信",value:3}),l(v,{label:"上门",value:4}),l(v,{label:"其他",value:5})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"回访时间",prop:"visit_time"},{default:t(()=>[l(O,{modelValue:o(m).visit_time,"onUpdate:modelValue":e[16]||(e[16]=a=>o(m).visit_time=a),type:"datetime",placeholder:"请选择回访时间","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),l(r,{label:"回访内容",prop:"content"},{default:t(()=>[l(_,{modelValue:o(m).content,"onUpdate:modelValue":e[17]||(e[17]=a=>o(m).content=a),type:"textarea",rows:4,placeholder:"请输入回访内容"},null,8,["modelValue"])]),_:1}),l(r,{label:"回访结果",prop:"result"},{default:t(()=>[l(_,{modelValue:o(m).result,"onUpdate:modelValue":e[18]||(e[18]=a=>o(m).result=a),type:"textarea",rows:3,placeholder:"请输入回访结果"},null,8,["modelValue"])]),_:1}),l(r,{label:"下次回访时间",prop:"next_visit_time"},{default:t(()=>[l(O,{modelValue:o(m).next_visit_time,"onUpdate:modelValue":e[19]||(e[19]=a=>o(m).next_visit_time=a),type:"datetime",placeholder:"请选择下次回访时间","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}});export{Al as default};
diff --git a/server/public/admin/assets/index-WGeajlD5.js b/server/public/admin/assets/index-E47--KT7.js
similarity index 91%
rename from server/public/admin/assets/index-WGeajlD5.js
rename to server/public/admin/assets/index-E47--KT7.js
index e7fc433c..03b4fcf9 100644
--- a/server/public/admin/assets/index-WGeajlD5.js
+++ b/server/public/admin/assets/index-E47--KT7.js
@@ -1,2 +1,2 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/404-CbK5XqHY.js","assets/error-B0nGVLsS.js","assets/element-plus-BhlMEThZ.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-ouZ25BHH.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/vue-router-QlpZ4wdW.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/error-Cz3CexuM.css","assets/403-BJhqgcF2.js","assets/login-Gkuy81hP.js","assets/useLockFn-X4Qce5KO.js","assets/footer.vue_vue_type_script_setup_true_lang-K_mZhWVZ.js","assets/login-Bt4SvQsz.css","assets/change-password-1URl4b6v.js","assets/change-password-DRfsLJ26.css","assets/bind-work-wechat-B-5l9RRd.js","assets/wecomOauthPostMessage-C_e6VGrO.js","assets/bind-work-wechat-BX1gqwq1.css","assets/setting-C7ksdwiC.js","assets/index-BMDrXhku.js","assets/index-DoFDMZdP.css","assets/picker-ChJwUkIc.js","assets/index-CgbeKU6K.js","assets/index-B3imPWFk.css","assets/index-B5BEu-2e.js","assets/index.vue_vue_type_script_setup_true_lang-BV5h5xGw.js","assets/index-EG3kZkys.js","assets/index-D0f1Mn00.css","assets/index-DZaM0Cil.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-C-kxKruc.js","assets/index.vue_vue_type_script_setup_true_lang-yV8imoKs.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/setting-CxqqGetv.css","assets/progress-BDfAHB6T.js","assets/doctor-D4LDfgqb.js","assets/progress-CQXIT7YT.css","assets/pc_details-Bp7UwNiC.js","assets/decoration-Chu7a66w.js","assets/preview-pc-DU-wKG1i.js","assets/index-FZAPJPVx.js","assets/attr-CMxTlG1F.js","assets/picker-CqvZAHDk.js","assets/article-B0vJLMlu.js","assets/picker-JBYDNsl5.css","assets/attr-lNortPsv.css","assets/content.vue_vue_type_script_setup_true_lang-BJrtWBvr.js","assets/decoration-img-fq9C1rE-.js","assets/decoration-img-C5XvHl9_.css","assets/attr.vue_vue_type_script_setup_true_lang-fyxAx4v9.js","assets/content-DkrZqAgv.js","assets/content-DXAsZ7EV.css","assets/attr.vue_vue_type_script_setup_true_lang-D40iDxQn.js","assets/content.vue_vue_type_script_setup_true_lang-BbhECIBb.js","assets/attr.vue_vue_type_script_setup_true_lang-BeYayLpN.js","assets/add-nav.vue_vue_type_script_setup_true_lang-DoaKouJ5.js","assets/content-Di7_mIq8.js","assets/content-Dy_alH9u.css","assets/attr.vue_vue_type_script_setup_true_lang-DLX7Bkcw.js","assets/content.vue_vue_type_script_setup_true_lang-C3ii9RjK.js","assets/attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js","assets/content-CQ1MSlnv.js","assets/content-Cl-9UIip.css","assets/attr.vue_vue_type_script_setup_true_lang-BCceAe1Z.js","assets/index.vue_vue_type_script_setup_true_lang-Cc4XuxK2.js","assets/content-CNtNRtZj.js","assets/content.vue_vue_type_script_setup_true_lang-ClhpAPU9.js","assets/attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js","assets/content-CFxt_S62.js","assets/content-Bd3rHJ5J.css","assets/attr.vue_vue_type_script_setup_true_lang-C8zKp0iH.js","assets/content.vue_vue_type_script_setup_true_lang-DyyrVmQQ.js","assets/attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js","assets/content-eEXCq2Xh.js","assets/content-DxNvUNZR.css","assets/preview-pc-BRQDo0AR.css","assets/pc_details-nlJo1_D0.css","assets/h5-B0aHpQlb.js","assets/fans-3w5tHa7t.js","assets/h5-BSFcFSny.css","assets/index_h5-p3A8SVoo.js","assets/tcm-DNvmHkGt.js","assets/order-BVSRezDc.js","assets/weapp-H-aMV7hg.js","assets/perm-k67akVIb.js","assets/index_h5-B4VTGZps.css","assets/readonly-BhaO0u09.js","assets/patient-BG1gG9yF.js","assets/diag-display-DCz_VAqj.js","assets/PatientInfoCard-Cp5EgF7c.js","assets/PatientInfoCard-BrBnXtc9.css","assets/PatientCaseCard-C_kQtS8D.js","assets/blood-thresholds-CJ1fqMjh.js","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/PatientCaseCard-De53cbHo.css","assets/DailyMatrix-CZzm2ewA.js","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-DVLRqScM.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/DailyMatrix-zLBaKfXe.css","assets/CallRecordPanel-BoFK-142.js","assets/RecordingPlaybackBlock-DdcXOrks.js","assets/RecordingVideoPlayer-DWTE4RFi.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-DM0XTBJi.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-BkCMfVdv.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-DjCeKkeN.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/PatientOrderList-DYNCB-wL.js","assets/PatientOrderList-iKx_Cn9B.css","assets/NoteTimeline-CWI7n-Lm.js","assets/NoteTimeline-CCWIpEBQ.css","assets/readonly-CE3_Vnn1.css","assets/index-DjylgnE5.js","assets/edit-D0BHMKLE.js","assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-BwzNHo7r.js","assets/index-CZ-itlTc.js","assets/edit-CBauQ6r2.js","assets/index.vue_vue_type_style_index_0_lang-vddzSRCw.js","assets/@wangeditor/editor-Cyf37SuL.js","assets/@wangeditor/editor-nHDhGvq6.css","assets/@wangeditor/editor-for-vue-D1vSph3l.js","assets/index-DX96drV3.css","assets/useDictOptions-DCfbzBsR.js","assets/index-DHNJ6m7s.js","assets/h5-q1Bbd7bI.js","assets/open_setting-CvAuzcEN.js","assets/weapp-DmpPCnKP.js","assets/config-BeS-TcMD.js","assets/wx_oa-Y45sxWZj.js","assets/menu-89eMt2Gx.js","assets/oa-attr-DywzFTO6.js","assets/oa-menu-form.vue_vue_type_script_setup_true_lang-Cq83i8Jb.js","assets/useMenuOa-Dbxo-J9I.js","assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CrczRLdU.js","assets/oa-phone-xztzN48H.js","assets/oa-phone-CctIyraX.css","assets/oa-menu-form-edit-C1IJ1P7T.js","assets/oa-menu-form-f4JbQ2md.js","assets/default_reply-CpN8T-Ob.js","assets/edit.vue_vue_type_script_setup_true_lang-BiOL_veM.js","assets/edit-uDWBXMr1.js","assets/follow_reply-BxX12T8b.js","assets/keyword_reply-DCPgGUaL.js","assets/MessageBubble-CYPtkR2M.js","assets/MessageBubble-BwtdPM6K.css","assets/SendPanel-BIuGr6XW.js","assets/SendPanel-DaGPWlQG.css","assets/index-BJeOAdAl.js","assets/index-CMsGEvq_.css","assets/edit-CVhYb_3j.js","assets/admin-DIA-V9pQ.js","assets/department-CPyVoBqT.js","assets/post-DwYD3zic.js","assets/edit-CObVTcPU.css","assets/index-BymHxJmv.js","assets/index-CjSHFu-R.css","assets/account-adjust-DV-GCev-.js","assets/account-adjust.vue_vue_type_script_setup_true_lang-DnPFkfbx.js","assets/edit-BeY33N34.js","assets/edit-D-D8bVPM.css","assets/index-g7q7nNQa.js","assets/index-Oppei429.css","assets/paiban-sxMQVOsz.js","assets/paiban-CXjt7GKw.css","assets/detail-DAWDqxI3.js","assets/consumer-BoGio8P3.js","assets/index-Bpq1-qKm.js","assets/index.vue_vue_type_script_setup_true_lang-Cz4iyhfm.js","assets/index.vue_vue_type_script_setup_true_lang-fpoITlFG.js","assets/index-D1LgbOYV.js","assets/medicine-RuhQbUko.js","assets/role-DXkM_hVH.js","assets/index-Dkyp7qdR.js","assets/index-tfEElgYq.css","assets/html2canvas-QH1iLAAe.js","assets/index-BECgfs9C.css","assets/list-CFvsh5f9.js","assets/list-DCr5iNO-.css","assets/order_list-DE6jCqmo.js","assets/order_list-BQaGbaR8.css","assets/order_list_h5-BGkNDj4K.js","assets/order_list_h5-BTXk0uO3.css","assets/add-nav-kHrHSVj_.js","assets/attr-setting-CxpiND2I.js","assets/attr-setting.vue_vue_type_script_setup_true_lang-CtdOUhBl.js","assets/menu-DBnu9Nxa.js","assets/menu-DYFusokT.css","assets/preview-D62_W7xq.js","assets/preview-C7oaKmYo.css","assets/attr-CHtgiGd8.js","assets/attr.vue_vue_type_script_setup_true_lang-OoA4Xdeb.js","assets/content-jg5Ni6z3.js","assets/content-DaxRy47P.css","assets/attr-BwmsZvl1.js","assets/menu-set.vue_vue_type_script_setup_true_lang-DczS9hZJ.js","assets/content-DXbHDxSk.js","assets/content-sMbqkta2.css","assets/menu-set-CAmq2ivZ.js","assets/content-iZy7GphE.js","assets/attr-BT8W4gM2.js","assets/attr-CyKU6eXa.js","assets/content-Bd3a-BFj.js","assets/attr-DSv3qrcJ.js","assets/attr-wIxNYe-Y.js","assets/content-BZUBeDdg.js","assets/attr-Db6EuK6T.js","assets/attr-PG5AsHmp.js","assets/content-BPy8qnXg.js","assets/attr-BS21VV6Q.js","assets/attr-BX9PVO6k.js","assets/content-xT1B6YZR.js","assets/attr-gr_OE7on.js","assets/index-g5sonHsi.js","assets/index-57RdOFNo.css","assets/pc-aJkd3J6v.js","assets/mobile-style-xXP4Lwl9.js","assets/mobile-style.vue_vue_type_script_setup_true_lang-CYAoRo5b.js","assets/theme-picker-CzvNKjQC.js","assets/theme-picker-BsELUxM9.css","assets/style-C174ByZz.js","assets/tabbar-D9WgOEFb.js","assets/tabbar-DJsOahKR.css","assets/edit-CwxW5plf.js","assets/menu-DZMc1hcQ.js","assets/dict-_7h2UYbX.js","assets/code-CTBZbuZ2.js","assets/relations-add.vue_vue_type_script_setup_true_lang-FhaG2M0H.js","assets/edit-CAJZpU7c.css","assets/index-BrrOxEGj.js","assets/code-preview.vue_vue_type_script_setup_true_lang-CkC3yGlQ.js","assets/data-table.vue_vue_type_script_setup_true_lang-DI6CBq3b.js","assets/code-preview-D33Z_MQy.js","assets/data-table-CXmcSEBv.js","assets/relations-add-BrKT07Al.js","assets/dept-tongji-Dm-X8YI7.js","assets/dept-tongji-ky7rOYoi.css","assets/medicine-B1eHnr_N.js","assets/medicine-DO6x6zrS.css","assets/roster-DMKL8Ihk.js","assets/roster-rVaxg-O6.css","assets/tongji-CEJ5RlkO.js","assets/tongji-C0VnzFxy.css","assets/commission-settlement-BOfg3RWo.js","assets/stats-CFnb-tGz.js","assets/commission-settlement-CFban6Vb.css","assets/index-nbSelc5_.js","assets/qywx-40Lc2SnV.js","assets/qywx-BzfLWvoO.css","assets/yeji-CFcM-5JU.js","assets/finance-D4tuF6N5.js","assets/yeji-BWZylxIy.css","assets/edit-BvLTtTRB.js","assets/edit.vue_vue_type_script_setup_true_lang-DQUVb4Sv.js","assets/index-CKLxltzE.js","assets/balance_details-CBp8b79r.js","assets/refund-log-DZ3bYWEM.js","assets/refund-log.vue_vue_type_script_setup_true_lang-DgHStf8q.js","assets/mubiao-dept-card-YQY4ZD7f.js","assets/mubiao-dept-card-naMqyghz.css","assets/mubiao-dept-node-Dhb8enOW.js","assets/mubiao-dept-node-CANQUVWv.css","assets/mubiao-DCjkUSNs.js","assets/mubiao-B6IOi2bJ.css","assets/recharge_record-5C-Z9TtU.js","assets/refund_record-B9cDDci1.js","assets/index-BN-zcUky.js","assets/index-DhR2yeiO.css","assets/edit-CU3kOM9k.js","assets/message-COFbPQuS.js","assets/index-D5LgvpAx.js","assets/edit-DxdXuoYy.js","assets/edit.vue_vue_type_script_setup_true_lang-D0CmzPvm.js","assets/index-Duvq58NO.js","assets/index-DJmR-VGV.js","assets/index-DYTH4Nwn.css","assets/edit-D_C14cts.js","assets/edit.vue_vue_type_script_setup_true_lang-DDfT-i9c.js","assets/index-DPzF2ZYv.js","assets/edit-BafksqYG.js","assets/edit.vue_vue_type_script_setup_true_lang-BXTZ_eUc.js","assets/index-CdwoSlo-.js","assets/index-C5oSIodp.js","assets/index-Bqs56mLH.css","assets/edit-1bHMA4tU.js","assets/edit.vue_vue_type_script_setup_true_lang-BqXxtLMg.js","assets/index-klrhmouH.js","assets/edit-DI-eTQf9.js","assets/edit.vue_vue_type_script_setup_true_lang-Ngl4UZ-S.js","assets/picker.vue_vue_type_script_setup_true_lang-H0Kl2Ipk.js","assets/index-BXbostsT.js","assets/auth-Koqhg3c4.js","assets/auth.vue_vue_type_script_setup_true_lang-CkortvX5.js","assets/edit--pBx_4Uh.js","assets/edit.vue_vue_type_script_setup_true_lang-BQMtiJer.js","assets/index-DMvRTbMt.js","assets/edit-BtMpLFCP.js","assets/edit.vue_vue_type_script_setup_true_lang-DrJcfbE9.js","assets/index-Cy4P76vO.js","assets/edit-uk0VgxsC.js","assets/edit.vue_vue_type_script_setup_true_lang-DzQNY4V3.js","assets/index-sIg2aboE.js","assets/edit-CEOXLO2q.js","assets/pay-De1xnoog.js","assets/getExposeType-MUpmx9zy.js","assets/edit-C1NtFi7N.css","assets/index-ZKmTdcVG.js","assets/index-BtPnnT1Y.js","assets/index-BOccvxFl.js","assets/index-BzrSkGWL.css","assets/edit-BowiMf0i.js","assets/edit.vue_vue_type_script_setup_true_lang-CEdFK50w.js","assets/index-D2HUUTQC.js","assets/cache-C_QWy7uv.js","assets/environment-B4hzA7Eq.js","assets/journal-BRdDr4Nz.js","assets/edit-C4O257rZ.js","assets/index-BKJGPQWY.js","assets/login_register-BOZgHpXO.js","assets/user-D-gV6qUQ.js","assets/setup-DoTm1DR4.js","assets/filing-B8XpIkHm.js","assets/website-DDAp9vcg.js","assets/information-CgPLZNvj.js","assets/protocol-BswWcDYg.js","assets/statistics-DPXhzH9f.js","assets/index-DOQ6sUyI.js","assets/index-DRKXaI9h.css","assets/prescription-drawer-D-QN-gsz.js","assets/prescription-drawer-_wsVAGl0.css","assets/list-CI4LJpnR.js","assets/list-D5ZA4Hyd.css","assets/add-SH5wkQzj.js","assets/add-GuwNtREU.css","assets/appointment-CQpozDkE.js","assets/appointment-C9G6EGwx.css","assets/AssistantWatchCallDialog-BUQvj2RH.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css","assets/BloodRecordList-CNJ0MikA.js","assets/BloodRecordList-DhVK-Y_e.css","assets/CaseRecordList-B2g0KYOT.js","assets/CaseRecordList-Cl-c3q7S.css","assets/DietRecordList-hZQNM8I0.js","assets/DietRecordList-Cc-xUr2B.css","assets/ExerciseRecordList-DREZwuWN.js","assets/ExerciseRecordList-DGtgtzou.css","assets/TrackingMatrix-Dc61Avk2.js","assets/TrackingMatrix-zyxtXYPb.css","assets/TrackingNoteTimeline-CdapSWWe.js","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-CtIXlXVM.js","assets/edit-BU9vb7uB.js","assets/index-L5G9dnad.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/index-gNKl9PGV.js","assets/index-Bf1Q24wB.css","assets/index-BnLxSdyZ.js","assets/index-BqqzElnH.css","assets/file-Cbpa6INP.js","assets/icon-CU8ODrVh.js","assets/link-C2ojaLsL.js","assets/overflow-BtfHo--I.js","assets/popover_input-D_O_9pth.js","assets/rich_text-BomsCWxu.js","assets/upload-DLJxZ3hI.js","assets/patient-call-Dipqi8so.js","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/rtc-detect-Chu-fZvE.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/patient-call-k8V9hV2G.css","assets/index-KWBtkp4u.js","assets/index-DtDaTXOB.css"])))=>i.map(i=>d[i]);
-var E1=Object.defineProperty;var H1=(a,o,e)=>o in a?E1(a,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[o]=e;var U=(a,o,e)=>H1(a,typeof o!="symbol"?o+"":o,e);import{_ as i}from"./jspdf-BsthCvR5.js";import{u as V3,a as n3,c as T1,b as O1,R as I3}from"./vue-router-QlpZ4wdW.js";import{d as L3,c as I1}from"./pinia-B8cvXbiZ.js";import{a as J3,A as p3}from"./axios-C80V62Fs.js";import{l as C}from"./lodash-D3kF6u-c.js";import{y as m,a as k,n as c3,q as R1}from"./@vue/reactivity-DiY1c2vO.js";import{E as u3,a as Z,b as d3,c as P1,d as Q3,e as a1,f as B1,g as D1,h as C1,i as S1,j as k1,k as j1,l as N1,m as q1,n as o1,o as e1,p as t1,q as W1,r as i1,s as l1,u as G1,t as $1,v as U1,w as F1,x as Y1,y as Z1,z as X1,A as K1}from"./element-plus-BhlMEThZ.js";import{u as c1,a as n1,b as J1,c as Q1}from"./@vueuse/core-1S4fJlii.js";import{n as a0,f as V,A as b,ak as h,I as g,J as d,a as u,ar as s3,i as o0,aN as z,F as B,ap as K,O as I,G as A,H as D,w as s1,K as e0,at as r1,ab as j3,aP as m1,Z as t0,aq as i0,b as u1,d as l0,T as c0}from"./@vue/runtime-core-C6bnekPw.js";import{a as d1,p as r3,Q as R,o as b3,P as n0}from"./@vue/shared-mAAVTE9n.js";import{c as s0}from"./css-color-function-DI01JAaZ.js";import{I as h1,J as r0,d as m0,K as u0,c as d0}from"./@element-plus/icons-vue-ouZ25BHH.js";import{u as h0,h as v0}from"./@vueuse/shared-Cl3lVqjz.js";import{T as _0,q as v1,s as p0,a as z0,c as b0}from"./@vue/runtime-dom-DDAG46FW.js";import{u as y0}from"./vue-clipboard3-DByT_rEQ.js";import{u as g0,a as w0,b as f0,c as A0,d as V0,e as L0,f as M0,g as x0,h as E0,j as H0,k as T0,l as O0,m as I0,n as R0,o as P0,p as B0,q as D0,r as C0,s as S0,v as k0,w as j0,x as N0,y as q0,z as W0,A as G0,B as $0}from"./echarts-CNLwa9wG.js";import{a as U0}from"./highlight.js-Bxt7hFFy.js";import{o as F0}from"./@highlightjs/vue-plugin-C4onkBvW.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.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"./clipboard-CHgxszqY.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))t(l);new MutationObserver(l=>{for(const c of l)if(c.type==="childList")for(const n of c.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&t(n)}).observe(document,{childList:!0,subtree:!0});function e(l){const c={};return l.integrity&&(c.integrity=l.integrity),l.referrerPolicy&&(c.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?c.credentials="include":l.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function t(l){if(l.ep)return;l.ep=!0;const c=e(l);fetch(l.href,c)}})();const N={terminal:1,title:"后台管理系统",version:"1.9.4",baseUrl:"https://admin.zhenyangtang.com.cn//",urlPrefix:"adminapi",timeout:6e4};var T=(a=>(a.LOGIN="/login",a.ERROR_403="/403",a.INDEX="/",a))(T||{}),_1=(a=>(a.LIGHT="light",a.DARK="dark",a))(_1||{}),y3=(a=>(a.CATALOGUE="M",a.MENU="C",a.BUTTON="A",a))(y3||{}),R3=(a=>(a[a.SM=640]="SM",a[a.MD=768]="MD",a[a.LG=1024]="LG",a[a.XL=1280]="XL",a[a["2XL"]=1536]="2XL",a))(R3||{});const n7={1:"微信小程序",2:"微信公众号",3:"手机H5",4:"电脑PC",5:"苹果APP",6:"安卓APP"};var p1=(a=>(a.JSON="application/json;charset=UTF-8",a.FORM_DATA="multipart/form-data;charset=UTF-8",a))(p1||{}),e3=(a=>(a.GET="GET",a.POST="POST",a))(e3||{}),F=(a=>(a[a.NOT_INSTALL=-2]="NOT_INSTALL",a[a.LOGIN_FAILURE=-1]="LOGIN_FAILURE",a[a.FAIL=0]="FAIL",a[a.SUCCESS=1]="SUCCESS",a[a.OPEN_NEW_PAGE=2]="OPEN_NEW_PAGE",a[a.NEED_BIND_WORK_WECHAT=10]="NEED_BIND_WORK_WECHAT",a))(F||{});const g3="token",s7="account",w3="setting";function J(a){return/^(https?:|mailto:|tel:)/.test(a)}const Y0=(a,o)=>o.findIndex(e=>e.fullPath==a),N3=a=>a.name==null||a.name===""?"":`${String(a.name)}::${a.path}`,Z0=(a,o)=>{const{path:e,meta:t,name:l}=a;return!!(!e||J(e)||t!=null&&t.hideTab||!o.hasRoute(l)||[T.LOGIN,T.ERROR_403].includes(e))},X0=(a,o)=>o.findIndex(e=>e.fullPath===a),E3=a=>{var o,e,t;return(t=(e=(o=a.matched.at(-1))==null?void 0:o.components)==null?void 0:e.default)==null?void 0:t.name},z1=a=>{const{params:o,path:e,query:t}=a;return{params:o||{},path:e,query:t||{}}},m3=L3({id:"tabs",state:()=>({cacheTabList:new Set,tabList:[],tasMap:{},indexRouteName:""}),getters:{getTabList(){return this.tabList},getCacheTabList(){return Array.from(this.cacheTabList)}},actions:{setRouteName(a){this.indexRouteName=a},addCache(a){a&&this.cacheTabList.add(a)},removeCache(a){a&&this.cacheTabList.has(a)&&this.cacheTabList.delete(a)},clearCache(){this.cacheTabList.clear()},resetState(){this.cacheTabList=new Set,this.tabList=[],this.tasMap={},this.indexRouteName=""},addTab(a){const o=m(a.currentRoute),{name:e,query:t,meta:l,params:c,fullPath:n,path:r}=o;if(Z0(o,a))return;const s=Y0(n,this.tabList),_=E3(o),p={name:e,path:r,fullPath:n,title:l==null?void 0:l.title,query:t,params:c};if(l!=null&&l.keepAlive&&this.addCache(_),s!==-1){this.tabList[s]=p,this.tasMap[n]=p;return}const v=N3(p);if(v){const w=[];if(this.tabList.forEach((O,M)=>{N3(O)===v&&w.push(M)}),w.length>0){const O=w[0];for(let E=w.length-1;E>=1;E--){const f=w[E];delete this.tasMap[this.tabList[f].fullPath],this.tabList.splice(f,1)}const M=this.tabList[O];M.fullPath!==n&&delete this.tasMap[M.fullPath],this.tabList[O]=p,this.tasMap[n]=p;return}}this.tasMap[n]=p,this.tabList.push(p)},removeTab(a,o){const{currentRoute:e,push:t}=o,l=X0(a,this.tabList);this.tabList.length>1&&l!==-1&&this.tabList.splice(l,1);const c=E3(e.value);if(this.removeCache(c),a!==e.value.fullPath)return;let n=null;l===0?n=this.tabList[l]:n=this.tabList[l-1];const r=z1(n);t(r)},removeOtherTab(a){this.tabList=this.tabList.filter(e=>e.fullPath==a.fullPath);const o=E3(a);this.cacheTabList.forEach(e=>{o!==e&&this.removeCache(e)})},removeAllTab(a){const{push:o,currentRoute:e}=a,{name:t}=m(e);if(t==this.indexRouteName){this.removeOtherTab(e.value);return}this.tabList=[],this.clearCache(),o(T.INDEX)}}}),q={key:"like_admin_",set(a,o,e){a=this.getKey(a);let t={expire:e?this.time()+e:"",value:o};typeof t=="object"&&(t=JSON.stringify(t));try{window.localStorage.setItem(a,t)}catch{return null}},get(a){a=this.getKey(a);try{const o=window.localStorage.getItem(a);if(!o)return null;const{value:e,expire:t}=JSON.parse(o);return t&&t
接诊诊单:${i[0]}
金额:${Number(i[1]).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})} 元`:""}},grid:{left:48,right:24,top:28,bottom:32,containLabel:!0},xAxis:{type:"value",name:"接诊诊单",nameLocation:"middle",nameGap:28,splitLine:{lineStyle:{type:"dashed",opacity:.55}}},yAxis:{type:"value",name:"成交金额",nameLocation:"middle",nameGap:40,splitLine:{lineStyle:{type:"dashed",opacity:.55}}},series:[{type:"scatter",data:n}]}}),ht=z(()=>U.value.filter(e=>Number(e.deal_amount??0)+Number(e.deal_order_count??0)+Number(e.system_prescription_count??0)+Number(e.manual_prescription_count??0)>0).length>=2),ja=z(()=>{const t=[...U.value].filter(p=>Number(p.deal_amount??0)+Number(p.deal_order_count??0)+Number(p.system_prescription_count??0)+Number(p.manual_prescription_count??0)>0).sort((p,R)=>Number(R.deal_amount)-Number(p.deal_amount)).slice(0,5);if(t.length<2)return{radar:{indicator:[]},series:[{type:"radar",data:[]}]};const e=p=>{const R=String(p.doctor_name||"—");return R.length>7?`${R.slice(0,7)}…`:R},n=p=>Number(p.system_prescription_count??0)+Number(p.manual_prescription_count??0),s=p=>{const R=Number(p.avg_deal_amount);if(Number.isFinite(R)&&R>0)return R;const P=Number(p.deal_order_count);return P>0?Number(p.deal_amount)/P:0},i=Math.max(...t.map(p=>Number(p.deal_amount)),1e-9),h=Math.max(...t.map(p=>Number(p.deal_order_count)),1e-9),g=Math.max(...t.map(n),1e-9),k=Math.max(...t.map(p=>Number(p.appointment_completed??0)),1e-9),B=Math.max(...t.map(s),1e-9),I=t.map(p=>({name:e(p),value:[Number(p.deal_amount)/i*100,Number(p.deal_order_count)/h*100,n(p)/g*100,Number(p.appointment_completed??0)/k*100,s(p)/B*100]}));return{color:["#2563eb","#0d9488","#d97706","#7c3aed","#64748b"],tooltip:{trigger:"item"},legend:{bottom:0,type:"scroll",textStyle:{fontSize:10}},radar:{indicator:[{name:"成交金额",max:100},{name:"接诊诊单",max:100},{name:"开方量",max:100},{name:"挂号完成",max:100},{name:"客单价",max:100}],radius:"58%",center:["50%","48%"],splitNumber:4,axisName:{fontSize:10,color:"#64748b"}},series:[{type:"radar",data:I,emphasis:{lineStyle:{width:3}}}]}}),xa=z(()=>{const t=[...U.value].filter(s=>Number(s.deal_amount??0)>0).sort((s,i)=>Number(i.deal_amount)-Number(s.deal_amount)).slice(0,20),e=t.map(s=>{const i=String(s.doctor_name||"—");return i.length>10?`${i.slice(0,10)}…`:i}),n=t.map(s=>Number(s.deal_amount??0));return{color:["#2563eb"],tooltip:{trigger:"axis",axisPointer:{type:"shadow"},valueFormatter:s=>`${s.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})} 元`},grid:{left:8,right:16,top:28,bottom:8,containLabel:!0},xAxis:{type:"value",axisLabel:{fontSize:11},splitLine:{lineStyle:{type:"dashed",opacity:.6}}},yAxis:{type:"category",data:[...e].reverse(),axisLabel:{fontSize:11}},series:[{name:"成交金额",type:"bar",data:[...n].reverse(),barMaxWidth:22,itemStyle:{borderRadius:[0,6,6,0]}}]}}),Na=z(()=>{const t=[...U.value].filter(n=>Number(n.system_prescription_count??0)+Number(n.manual_prescription_count??0)>0).sort((n,s)=>Number(s.system_prescription_count??0)+Number(s.manual_prescription_count??0)-(Number(n.system_prescription_count??0)+Number(n.manual_prescription_count??0))).slice(0,14),e=t.map(n=>{const s=String(n.doctor_name||"—");return s.length>6?`${s.slice(0,6)}…`:s});return{tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},legend:{top:0,textStyle:{fontSize:11}},grid:{left:44,right:16,top:32,bottom:e.length>10?72:28},xAxis:{type:"category",data:e,axisLabel:{rotate:e.length>8?32:0,fontSize:10}},yAxis:{type:"value",splitLine:{lineStyle:{type:"dashed",opacity:.6}}},series:[{name:"系统开方",type:"bar",stack:"rx",barMaxWidth:18,data:t.map(n=>Number(n.system_prescription_count??0)),itemStyle:{color:"#2563eb"}},{name:"手动开方",type:"bar",stack:"rx",barMaxWidth:18,data:t.map(n=>Number(n.manual_prescription_count??0)),itemStyle:{color:"#d97706"}}]}});function Sa(){var e,n;const t={};if(x.value&&(t.channel_code=x.value),(e=Y.value)!=null&&e[0]&&((n=Y.value)!=null&&n[1]))t.start_date=Y.value[0],t.end_date=Y.value[1];else{const s=nt(new Date);t.start_date=s,t.end_date=s}return t}function Mt(t){return Number(t??0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function Ca(t){const e=Le.value,n=[];return t.columns.forEach((s,i)=>{if(i===0){n[i]="合计";return}switch(s.property){case"system_prescription_count":n[i]=String(e.system_prescription_count??0);break;case"manual_prescription_count":n[i]=String(e.manual_prescription_count??0);break;case"deal_amount":n[i]=`¥ ${Mt(e.deal_amount)}`;break;case"deal_order_count":n[i]=String(e.deal_order_count??0);break;case"appointment_completed":n[i]=String(e.appointment_completed??0);break;case"appointment_missed":n[i]=String(e.appointment_missed??0);break;case"appointment_cancelled":n[i]=String(e.appointment_cancelled??0);break;default:n[i]=""}}),n}async function It(){De.value=!0;try{const t=await Qn(Sa());U.value=(t==null?void 0:t.rows)??[],Le.value=(t==null?void 0:t.total)??{},t!=null&&t.start_date&&(t!=null&&t.end_date)&&(Ke.value={start:t.start_date,end:t.end_date})}catch(t){if(ie.isCancel(t))return;U.value=[],Le.value={},Ke.value=null}finally{De.value=!1}}const te=f(!1),_e=f(!1),Fe=f(""),Ee=f(""),pe=f([]),Qe=f(0),X=f(1),Ze=f(15),G=f("channel"),H=f(null),Be=f(null),ae=f(null),Tt=z(()=>{const t=ae.value;if(!t)return null;const e=t.stats_order_amount_performance??t.stats_order_amount_not_cancelled;if(e==null||e==="")return null;const n=Number(e);return Number.isFinite(n)?n:null}),Vt=z(()=>{const t=ae.value;if(!t||t.stats_yeji_consult_count===void 0||t.stats_yeji_consult_count===null)return null;const e=Number(t.stats_yeji_consult_count);return Number.isFinite(e)?e:null}),Da=z(()=>pe.value.reduce((t,e)=>t+Number(e.amount??0),0)),Ft=z(()=>!!x.value&&te.value),bt=z(()=>{var e;const t=x.value;if(!t)return"";for(const n of We.value){const s=(e=n.channels)==null?void 0:e.find(i=>i.channel_code===t);if(s!=null&&s.channel_name)return String(s.channel_name)}return t}),La=z(()=>{const t=H.value;return t&&G.value==="total"?Number.isFinite(t.channelAmount)?t.channelAmount:null:Tt.value}),Ye=f(null),et=f(!1);function za(){const t=new Date;return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`}function $a(t){const[e,n]=t.split("-").map(Number);return new Date(e,n,0).getDate()}async function Aa(){var t,e,n,s;et.value=!0,Ye.value=null;try{let i=function(v,D=0){const L=[];for(const $ of v??[])L.push({node:$,depth:D}),L.push(...i($.children??[],D+1));return L},h=function(v){const D=he.value.find(q=>Number(q.id)===v);if(!D)return"";const L=Number(D.pid);if(!L)return"";const $=he.value.find(q=>Number(q.id)===L);return $!=null&&$.name?String($.name):""},g=function(v){const D=[],L=[v];for(;L.length;){const $=L.shift();for(const q of he.value)Number(q.pid)===$&&(D.push(q.id),L.push(q.id))}return D},k=function(v,D){const L=new Map;for(const $ of(v==null?void 0:v.rows)??[])L.set(Number($.dept_id),Number($[D]??0));return L};const B=za(),I=await il({year_month:B}),p=(I==null?void 0:I.rows)??[];if(!p.length)return;const P=i(p).filter(v=>v.depth>=1&&Number(v.node.target_amount)>0).map(v=>v.node);if(!P.length)return;const Q=new Set,O=P.map(v=>{const D=Number(v.dept_id),L=g(D),$=L.length?L:[D];return $.forEach(q=>Q.add(q)),{dept_id:D,dept_name:String(v.dept_name),target_amount:Number(v.target_amount),totalIds:$}});if(!Q.size)return;const $e=We.value.flatMap(v=>v.channels),W=(t=$e.find(v=>v.channel_name.includes("自媒体1")))==null?void 0:t.channel_code,ve=(e=$e.find(v=>v.channel_name.includes("自媒体3")))==null?void 0:e.channel_code,Ae=(n=$e.find(v=>v.channel_name.includes("自媒体4")))==null?void 0:n.channel_code,Pe=Array.from(Q).join(","),[ye,F,l,b]=await Promise.all([He({dept_ids:Pe}),W?He({dept_ids:Pe,channel_code:W}):Promise.resolve(null),ve?He({dept_ids:Pe,channel_code:ve}):Promise.resolve(null),Ae?He({dept_ids:Pe,channel_code:Ae}):Promise.resolve(null)]),m=v=>{var D;return((v==null?void 0:v.tables)??[]).find(L=>String(L.label).includes("月"))??((D=v==null?void 0:v.tables)==null?void 0:D[0])},T=v=>{var D,L;return((v==null?void 0:v.tables)??[]).find($=>String($.label).includes("昨"))??((L=v==null?void 0:v.tables)==null?void 0:L[((D=v==null?void 0:v.tables)==null?void 0:D.length)-1])},oa=k(m(ye),"performance_amount"),gn=k(T(ye),"performance_amount"),sa=F?k(m(F),"completed_performance_amount"):null,ia=l?k(m(l),"completed_performance_amount"):null,ra=b?k(m(b),"completed_performance_amount"):null,Ue=(v,D)=>D.reduce((L,$)=>L+(v.get($)??0),0),Nt=new Date,wn=$a(B),kn=Nt.getDate(),jn=O.map(v=>{const D=Ue(oa,v.totalIds),L=Ue(gn,v.totalIds),$=sa?Ue(sa,v.totalIds):null,q=ia?Ue(ia,v.totalIds):null,da=ra?Ue(ra,v.totalIds):null,St=q!==null||da!==null?(q??0)+(da??0):null,Cn=Math.round(v.target_amount*(kn/wn)*100)/100,Dn=v.target_amount>0?D/v.target_amount:null;return{dept_id:v.dept_id,dept_name:v.dept_name,parent_dept_name:h(v.dept_id),target_amount:v.target_amount,total_amount:D,yesterday_amount:L,douyin_amount:$&&$>0?$:null,tuifen_amount:St&&St>0?St:null,target_progress:Cn,completion_rate:Dn}}),xn=((s=p[0])==null?void 0:s.dept_name)??"",Nn=Nt.getMonth()+1,Sn=Nt.getDate();Ye.value={title:`${xn}诊金-${Nn}.${Sn}`,sections:jn}}catch{}finally{et.value=!1}}const Pa=z(()=>{var e;const t=(e=N.value)==null?void 0:e.leaderboards;return t?t.filter(n=>n.rows.length>0).length:0}),Et=[{text:"昨天",value:()=>{const t=new Date;return t.setDate(t.getDate()-1),[t,t]}},{text:"最近七天",value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-6),[e,t]}},{text:"本月",value:()=>{const t=new Date;return[new Date(t.getFullYear(),t.getMonth(),1),t]}},{text:"今日",value:()=>{const t=new Date;return[t,t]}},{text:"本周",value:()=>{const t=new Date,e=new Date,n=e.getDay()||7;return e.setDate(e.getDate()-(n-1)),[e,t]}},{text:"上月",value:()=>{const t=new Date,e=new Date(t.getFullYear(),t.getMonth()-1,1),n=new Date(t.getFullYear(),t.getMonth(),0);return[e,n]}}];function Ra(t){const e=t.value();Y.value=[nt(e[0]),nt(e[1])],ze()}async function Oa(){ot.value=!0;try{const t=await Zn();he.value=(t||[]).sort((e,n)=>{const s=e.name.includes("中心")?-1:1,i=n.name.includes("中心")?-1:1;return s!==i?s-i:e.id-n.id})}catch{}finally{ot.value=!1}}async function Ma(){st.value=!0;try{const t=await el(),e=(t==null?void 0:t.groups)||[];We.value=e}catch{}finally{st.value=!1}}async function Bt(t){oe.value=!0;try{const e={start_date:t.start,end_date:t.end};A.value.length>0&&(e.dept_ids=A.value.join(",")),x.value&&(e.channel_code=x.value);const n=await nl(e);N.value={start_date:n.start_date,end_date:n.end_date,channel_code:n.channel_code||"",channel_name:n.channel_name||"",channel_filter_note:n.channel_filter_note||"",range_note:n.range_note||"",leaderboards:n.leaderboards||[]}}catch(e){if(ie.isCancel(e))return;N.value=null}finally{oe.value=!1}}async function ze(){le.value=!0,N.value=null;try{const t={};if(A.value.length>0&&(t.dept_ids=A.value.join(",")),x.value&&(t.channel_code=x.value),Y.value&&Y.value[0]&&Y.value[1]){const[s,i]=Y.value,h={...t,start_date:s,end_date:i},g=await tl(h);re.value=[{label:s===i?s:`${s} ~ ${i}`,start_date:g.start_date,end_date:g.end_date,channel_code:g.channel_code||"",channel_name:g.channel_name||"",channel_group:g.channel_group||"",channel_filter_note:g.channel_filter_note||"",rows:g.rows||[],total:g.total}],await Bt({start:g.start_date,end:g.end_date});return}const e=await He(t);re.value=((e==null?void 0:e.tables)||[]).map(s=>({label:s.label,start_date:s.start_date,end_date:s.end_date,channel_code:s.channel_code||"",channel_name:s.channel_name||"",channel_group:s.channel_group||"",channel_filter_note:s.channel_filter_note||"",rows:s.rows||[],total:s.total}));const n=nt(new Date);await Bt({start:n,end:n})}catch(t){if(ie.isCancel(t))return;const e=t;Re.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载失败")}finally{le.value=!1,Ce.value?It():(U.value=[],Le.value={},Ke.value=null)}}function Ia(){A.value=[],Y.value=null,x.value="",ze()}function Ta(t){return t<=0?!1:he.value.some(e=>Number(e.pid)===t)}function Va(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function tt(t){return t==null||!Number.isFinite(Number(t))?"—":Number(t).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function Fa(t){return(X.value-1)*Ze.value+t+1}function Ea(t){const e=(t==null?void 0:t.appointment_date)!=null&&String(t.appointment_date)!==""?String(t.appointment_date):"",n=(t==null?void 0:t.period)!=null&&String(t.period)!==""?String(t.period):"",s=(t==null?void 0:t.appointment_time)!=null&&String(t.appointment_time)!==""?String(t.appointment_time):"",i=[n,s].filter(Boolean).join(" ");return e&&i?`${e} ${i}`:e||i||"—"}function Yt(t){if(!t)return"";const e=t.channel_dict_value;if(e!=null&&e!==""){const i=Number(e);if(Number.isFinite(i))return String(Math.trunc(i))}const n=t.channel_source;if(n==null)return"";const s=String(n).trim();return s===""||!/^\d+$/.test(s)?"":String(parseInt(s,10))}function Ba(t){if(t==null||t==="")return"—";const e=Number(t);if(Number.isFinite(e)&&e>=1e9&&e<1e15){const s=e<1e12?e*1e3:e,i=new Date(s);if(!Number.isNaN(i.getTime())){const h=i.getFullYear(),g=String(i.getMonth()+1).padStart(2,"0"),k=String(i.getDate()).padStart(2,"0"),B=String(i.getHours()).padStart(2,"0"),I=String(i.getMinutes()).padStart(2,"0");return`${h}-${g}-${k} ${B}:${I}`}}const n=String(t);return n.length>=16?n.slice(0,16):n}function Ut(){const t=Be.value;if(!t)return null;const e={start_time:`${t.start} 00:00:00`,end_time:`${t.end} 23:59:59`,exclude_fulfillment_cancelled:1,yeji_order_drawer:1};return t.mode==="dept"?(e.assistant_dept_id=t.deptId,A.value.length>0&&(e.dept_ids=A.value.join(","))):(e.assistant_id=t.assistantId,t.erCenterRevisitSlot!==void 0&&(e.yeji_er_center_revisit_only=1,e.yeji_er_center_revisit_slot=t.erCenterRevisitSlot)),x.value&&te.value&&G.value==="channel"&&(e.channel_code=x.value),e}async function Ya(){const t=Ut();if(!t||!x.value)return;const e={...t,channel_code:x.value,page_no:1,page_size:1};try{const n=await ua(e),s=n!=null&&n.extend&&typeof n.extend=="object"?n.extend:null;s&&s.stats_yeji_drawer_total_performance_amount!=null&&(H.value={totalAmount:Number(s.stats_yeji_drawer_total_performance_amount),totalOrderCount:Number(s.stats_yeji_drawer_total_performance_order_count??0),channelAmount:Number(s.stats_order_amount_performance??0),channelOrderCount:Number((n==null?void 0:n.count)??0)})}catch{}}async function me(){const t=Ut();if(t){x.value&&G.value==="total"&&(H.value=null),_e.value=!0;try{const e={...t,page_no:X.value,page_size:Ze.value},n=await ua(e);pe.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],Qe.value=Number((n==null?void 0:n.count)??0),ae.value=n!=null&&n.extend&&typeof n.extend=="object"?n.extend:null,x.value&&G.value==="channel"&&ae.value&&ae.value.stats_yeji_drawer_total_performance_amount!=null&&(H.value={totalAmount:Number(ae.value.stats_yeji_drawer_total_performance_amount),totalOrderCount:Number(ae.value.stats_yeji_drawer_total_performance_order_count??0),channelAmount:Number(ae.value.stats_order_amount_performance??0),channelOrderCount:Number((n==null?void 0:n.count)??0)}),x.value&&te.value&&G.value==="total"&&await Ya()}catch(e){if(ie.isCancel(e))return;const n=e;Re.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载业务订单失败"),pe.value=[],Qe.value=0,ae.value=null}finally{_e.value=!1}}}function Ht(t,e,n){const s=!!(x.value&&t.channel_name);G.value=s?(n==null?void 0:n.listTab)??"channel":"channel",H.value=null,Be.value={mode:"dept",deptId:e.dept_id,deptName:e.dept_name,start:t.start_date,end:t.end_date,yejiTableRowDeptIds:t.rows.map(i=>i.dept_id).filter(i=>typeof i=="number"&&i>0)},Fe.value=`业务订单 · ${e.dept_name}`,Ee.value=`创建时间:${t.start_date} ~ ${t.end_date} · 与「合计业绩 / 接诊诊单」同口径:订单创建人人事部门 ∈ 本部门子树 · 不含履约 4/9/10`,X.value=1,te.value=!0,me()}function Ua(t,e,n){const s=!!(x.value&&t.channel_name);G.value=s?n:"channel",H.value=null,Be.value={mode:"dept",deptId:e,deptName:"当前展示合计",start:t.start_date,end:t.end_date,yejiTableRowDeptIds:t.rows.map(i=>i.dept_id).filter(i=>typeof i=="number"&&i>0)},Fe.value="业务订单 · 当前展示合计",Ee.value=`创建时间:${t.start_date} ~ ${t.end_date} · 已选展示部门 1 个根节点(含其下全部展示行)· 不含履约 4/9/10`,X.value=1,te.value=!0,me()}function gt(t,e,n){return!(fe(e)||e.dept_id<=0||n==="channel"&&!t.channel_name)}function wt(t,e){return!(A.value.length!==1||e==="channel"&&!t.channel_name)}function Wt(t,e,n){if(!gt(t,e,n))return;Ht(t,e,{listTab:n==="total"?"total":"channel"})}function qt(t,e){if(!wt(t,e))return;const n=A.value[0];if(!n)return;Ua(t,n,e==="total"?"total":"channel")}function Ha(t,e,n){G.value="channel",H.value=null,Be.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n},Fe.value=`业务订单 · ${t.name}`,Ee.value=`创建时间:${e} ~ ${n} · 创建人=${t.name}(与排行榜诊金同口径)· 不含履约 4/9/10`,X.value=1,te.value=!0,me()}function kt(t,e,n,s){G.value="channel",H.value=null,Be.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n,erCenterRevisitSlot:s};const i=s===0?"复诊合计":qe(s);Fe.value=`业务订单 · ${t.name} · ${i}`,Ee.value=`创建时间:${e} ~ ${n} · 创建人=${t.name}(与部门表 / 排行榜复诊同口径)· 仅二中心复诊口径 · ${i} · 不含履约 4/9/10`,X.value=1,te.value=!0,me()}function Wa(t){if(!t||t.admin_id<=0||!N.value||Number(t.revisit_count??0)<=0)return;const{start_date:e,end_date:n}=N.value;kt({admin_id:t.admin_id,name:t.name},e,n,0)}function qa(t,e){if(!t||t.admin_id<=0||!N.value||ee(t,e)<=0)return;const{start_date:n,end_date:s}=N.value;kt({admin_id:t.admin_id,name:t.name},n,s,e)}function Ga(){X.value=1,me()}function Ja(t){X.value=t,me()}function Ka(t){Ze.value=t,X.value=1,me()}function fe(t){return t.dept_id<=0&&t.dept_name==="未归属中心"}function Xa(t,e){e.dept_id<=0||fe(e)||Number(e.revisit_count??0)<=0||Jt(t,e,0)}function Qa(t,e,n){e.dept_id<=0||fe(e)||ee(e,n)<=0||Jt(t,e,n)}function Gt(t){const e=zt.value;!e||Number(t.order_count)<=0||kt({admin_id:t.admin_id,name:t.name},e.start,e.end,e.revisitSlot)}async function Jt(t,e,n){const s=n===0?"复诊合计":qe(n);Lt.value=`${e.dept_name} · ${s} · ${t.start_date} ~ ${t.end_date}`,zt.value={start:t.start_date,end:t.end_date,revisitSlot:n},Me.value="",ke.value=[],ut.value=!0,we.value=!0;try{const i={start_date:t.start_date,end_date:t.end_date,dept_id:e.dept_id,revisit_slot:n};A.value.length>0&&(i.dept_ids=A.value.join(",")),x.value&&(i.channel_code=x.value);const h=await al(i);ke.value=Array.isArray(h==null?void 0:h.rows)?h.rows:[],Me.value=typeof(h==null?void 0:h.note)=="string"?h.note:""}catch(i){if(ie.isCancel(i))return;const h=i;Re.error((h==null?void 0:h.msg)||(h==null?void 0:h.message)||"加载复诊拆解失败"),ke.value=[],Me.value=""}finally{we.value=!1}}function Kt(t){const e=[`区间:${t.start_date} ~ ${t.end_date}`];return x.value&&e.push(`渠道:${t.channel_name||x.value}`),A.value.length>0&&e.push(`已选展示部门 ${A.value.length} 个`),e.join(" · ")}async function Za(t){Dt.value=Kt(t),Oe.value="",ge.value=[],dt.value=!0,be.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date};A.value.length>0&&(e.dept_ids=A.value.join(",")),x.value&&(e.channel_code=x.value);const n=await ll(e);ge.value=Array.isArray(n==null?void 0:n.rows)?n.rows:[],Oe.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){if(ie.isCancel(e))return;const n=e;Re.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载未归属拆解失败"),ge.value=[],Oe.value=""}finally{be.value=!1}}function en(t,e,n){n.dept_id<=0||Number(n.lead_count)<=0||(t.stopPropagation(),tn(e,n))}async function jt(){const t=At.value;if(!t)return;const{tb:e,row:n}=t;de.value=!0;try{const s={start_date:e.start_date,end_date:e.end_date,dept_id:n.dept_id,page:Ve.value,page_size:Ge.value};A.value.length>0&&(s.dept_ids=A.value.join(",")),x.value&&(s.channel_code=x.value);const i=await ol(s);je.value=Array.isArray(i==null?void 0:i.lists)?i.lists:[],Te.value=Number((i==null?void 0:i.count)??0),Ie.value=typeof(i==null?void 0:i.note)=="string"?i.note:""}catch(s){if(ie.isCancel(s))return;const i=s;Re.error((i==null?void 0:i.msg)||(i==null?void 0:i.message)||"加载进线明细失败"),je.value=[],Te.value=0,Ie.value=""}finally{de.value=!1}}async function tn(t,e){At.value={tb:t,row:e},$t.value=`${e.dept_name} · ${Kt(t)}`,Ie.value="",je.value=[],Te.value=0,Ve.value=1,Ge.value=20,ct.value=!0,await jt()}function an(t){Ve.value=t,jt()}function nn(t){Ge.value=t,Ve.value=1,jt()}function ln(t){return(ce.value-1)*Se.value+t+1}function Xt(t){return fe(t)?!0:t.dept_id>0}async function at(){const t=pt.value;if(t){ue.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date,page:ce.value,page_size:Se.value};t.mode==="dept"?e.dept_id=t.dept_id:e.assistant_id=t.assistant_id,A.value.length>0&&(e.dept_ids=A.value.join(",")),x.value&&(e.channel_code=x.value);const n=await sl(e);se.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],Ne.value=Number((n==null?void 0:n.count)??0),xe.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){if(ie.isCancel(e))return;const n=e;Re.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载挂号明细失败"),se.value=[],Ne.value=0,xe.value=""}finally{ue.value=!1}}}function on(t){if(!t||t.admin_id<=0||!N.value||Number(t.appointment_count??0)<=0)return;const e=N.value;pt.value={mode:"assistant",assistant_id:t.admin_id,name:t.name,start_date:e.start_date,end_date:e.end_date},_t.value=`${t.name} · 医助 · ${e.start_date} ~ ${e.end_date}`,xe.value="",se.value=[],Ne.value=0,ce.value=1,Se.value=20,Je.value=!0,at()}function sn(t,e){!Xt(e)||Number(e.appointment_booked_count??0)<=0||(pt.value={mode:"dept",dept_id:e.dept_id,dept_name:e.dept_name,start_date:t.start_date,end_date:t.end_date},_t.value=`${e.dept_name} · ${t.start_date} ~ ${t.end_date}`,xe.value="",se.value=[],Ne.value=0,ce.value=1,Se.value=20,Je.value=!0,at())}function rn(t){ce.value=t,at()}function dn(t){Se.value=t,ce.value=1,at()}function un(t,e){if(fe(e)){Za(t);return}if(!(e.dept_id<=0)){if(Ta(e.dept_id)){A.value=[e.dept_id],ze();return}Ht(t,e)}}function cn(t){if(!t||t.admin_id<=0||!N.value)return;const{start_date:e,end_date:n}=N.value;Ha(t,e,n)}function Qt(t){const e=t.channel_name?` · ${t.channel_name}`:"";return`${t.label}${e}`}function _n(t){const e=t.rows.filter(g=>g.dept_id>0),n=e.map(g=>g.dept_name.length>10?`${g.dept_name.slice(0,10)}…`:g.dept_name),s=["#64748b","#38bdf8","#6366f1"],i=[{name:"进线",type:"bar",data:e.map(g=>g.lead_count),yAxisIndex:0,barMaxWidth:16},{name:"接诊",type:"bar",data:e.map(g=>g.consult_count),yAxisIndex:0,barMaxWidth:16},{name:"成交单",type:"bar",data:e.map(g=>g.deal_order_count),yAxisIndex:0,barMaxWidth:16},{name:"合计业绩",type:"bar",data:e.map(g=>g.performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#d97706"}}];t.channel_name&&i.push({name:`${t.channel_name}业绩`,type:"bar",data:e.map(g=>g.completed_performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#0d9488"}});const h=e.length>10;return{color:[...s,"#d97706","#0d9488"],tooltip:{trigger:"axis",axisPointer:{type:"cross"}},legend:{top:8,type:"scroll",textStyle:{fontSize:11}},grid:{left:52,right:52,top:48,bottom:h?56:28,containLabel:!1},dataZoom:h?[{type:"slider",bottom:4,start:0,end:Math.min(100,Math.ceil(12/Math.max(e.length,1)*100))}]:[],xAxis:{type:"category",data:n,axisLabel:{rotate:n.length>8?28:0,fontSize:10}},yAxis:[{type:"value",name:"数量",splitLine:{lineStyle:{type:"dashed",opacity:.55}}},{type:"value",name:"金额",splitLine:{show:!1}}],series:i}}function pn(t,e){const n=[...t.rows].sort((s,i)=>Number(i.fee_amount)-Number(s.fee_amount)).slice(0,15);return{color:["#2563eb"],tooltip:{trigger:"axis",axisPointer:{type:"shadow"},valueFormatter:s=>`${Number(s).toLocaleString("zh-CN")} 元`},grid:{left:8,right:20,top:12,bottom:8,containLabel:!0},xAxis:{type:"value",splitLine:{lineStyle:{type:"dashed",opacity:.6}}},yAxis:{type:"category",data:n.map(s=>s.name.length>8?`${s.name.slice(0,8)}…`:s.name).reverse(),axisLabel:{fontSize:11}},series:[{name:"诊金",type:"bar",data:n.map(s=>Number(s.fee_amount??0)).reverse(),barMaxWidth:20,itemStyle:{borderRadius:[0,6,6,0]}}]}}function Zt(t){return t.rows.some(e=>Number(e.fee_amount)>0)}function mn(t,e){const s=[...t.rows].filter(i=>Number(i.fee_amount)>0).sort((i,h)=>Number(h.fee_amount)-Number(i.fee_amount)).slice(0,10).map(i=>({name:i.name.length>6?`${i.name.slice(0,6)}…`:i.name,value:Number(i.fee_amount)}));return{color:["#2563eb","#0d9488","#d97706","#7c3aed","#64748b","#0891b2","#65a30d","#c026d3","#ea580c","#4f46e5"],tooltip:{trigger:"item",formatter:"{b}: {c} 元 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:9}},series:[{name:"诊金",type:"pie",radius:["38%","64%"],center:["50%","42%"],data:s,itemStyle:{borderRadius:5,borderColor:"#fff",borderWidth:2},label:{formatter:`{b}
{d}%`,fontSize:10}}]}}function ea(t){return Number(t.total.lead_count)+Number(t.total.consult_count)+Number(t.total.deal_order_count)>0}function fn(t){const e=Number(t.total.lead_count??0),n=Number(t.total.consult_count??0),s=Number(t.total.deal_order_count??0);return{tooltip:{trigger:"item",formatter:"{b}: {c}"},color:["#2563eb","#38bdf8","#0d9488"],series:[{type:"funnel",left:"8%",width:"84%",minSize:"12%",sort:"none",gap:6,label:{show:!0,position:"inside",formatter:`{b}
{c}`,fontSize:11},data:[{value:e,name:"进线"},{value:n,name:"接诊"},{value:s,name:"成交单"}]}]}}function ta(t){return t.rows.some(e=>e.dept_id>0&&Number(e.performance_amount)>0)}function vn(t){const e=t.rows.filter(i=>i.dept_id>0&&Number(i.performance_amount)>0).sort((i,h)=>Number(h.performance_amount)-Number(i.performance_amount));if(!e.length)return{series:[{type:"pie",data:[]}]};const s=e.slice(0,10).map(i=>({name:i.dept_name.length>8?`${i.dept_name.slice(0,8)}…`:i.dept_name,value:Number(i.performance_amount)}));if(e.length>10){const i=e.slice(10).reduce((h,g)=>h+Number(g.performance_amount),0);i>0&&s.push({name:"其它",value:i})}return{color:["#2563eb","#0d9488","#d97706","#7c3aed","#64748b","#0891b2","#65a30d","#c026d3","#ea580c","#4f46e5","#94a3b8"],tooltip:{trigger:"item",formatter:"{b}
{c} 元({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:10}},series:[{type:"pie",radius:["36%","62%"],center:["50%","44%"],data:s,itemStyle:{borderRadius:5,borderColor:"#fff",borderWidth:2},label:{formatter:`{b}
diff --git a/server/public/admin/index.html b/server/public/admin/index.html
index dc784571..c2ea1b97 100644
--- a/server/public/admin/index.html
+++ b/server/public/admin/index.html
@@ -60,7 +60,7 @@
document.head.appendChild(link);
})();
-
+
@@ -72,14 +72,14 @@
-
+
-
+