{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)
{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-FSf94q2-.js";import{H as O}from"./vue-echarts-BNtg2q_G.js";import{L as Q,ad as _t,ae as ht,a2 as yt}from"./@element-plus/icons-vue-BDOO1F0I.js";import{l as wt,O as V,Q as ft,_ as vt}from"./index-CTrP0U4H.js";import{ap as gt}from"./tcm-DoTwQ3k5.js";import{t as kt}from"./order-Bg4Sef_-.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-CfbCaHzV.js b/server/public/admin/assets/index-ypI5FoBO.js
similarity index 94%
rename from server/public/admin/assets/index-CfbCaHzV.js
rename to server/public/admin/assets/index-ypI5FoBO.js
index 301665bc..b0583946 100644
--- a/server/public/admin/assets/index-CfbCaHzV.js
+++ b/server/public/admin/assets/index-ypI5FoBO.js
@@ -1 +1 @@
-import{K as A,J as F,m as V,l as B,M,N as O,T as U,i as z,L as D}from"./element-plus-FSf94q2-.js";import{a as N}from"./message-C5xTQW7s.js";import{u as S}from"./usePaging-VsbTxSU0.js";import{k as q}from"./index-B9GiQBjX.js";import{f as y,ac as G,ar as I,as as J,ak as n,I as g,a as t,aN as e,F as K,ap as j,aP as v,G as p,O as c}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as H,n as Q,r as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-BDOO1F0I.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";const X=y({name:"notice"}),zt=y({...X,setup(Y){let d;(r=>{r[r.USER=1]="USER",r[r.PLATFORM=2]="PLATFORM"})(d||(d={}));const s=Q(1),k=[{name:"通知用户",type:1},{name:"通知平台",type:2}],T=W({recipient:s}),{pager:u,getLists:_}=S({fetchFun:N,params:T});return G(()=>{_()}),_(),(r,o)=>{const w=A,f=F,E=B,h=V,l=O,b=U,C=I("router-link"),L=z,P=M,R=J("perms"),x=D;return n(),g("div",null,[t(f,{class:"!border-none",shadow:"never"},{default:e(()=>[t(w,{type:"warning",title:"温馨提示:平台配置在各个场景下的通知发送方式和内容模板",closable:!1,"show-icon":""})]),_:1}),t(f,{class:"!border-none mt-4",shadow:"never"},{default:e(()=>[t(h,{modelValue:i(s),"onUpdate:modelValue":o[0]||(o[0]=a=>H(s)?s.value=a:null),onTabChange:i(_)},{default:e(()=>[(n(),g(K,null,j(k,(a,m)=>t(E,{key:m,label:a.name,name:a.type,lazy:""},null,8,["label","name"])),64))]),_:1},8,["modelValue","onTabChange"]),v((n(),p(P,{size:"large",data:i(u).lists},{default:e(()=>[t(l,{label:"通知场景",prop:"scene_name","min-width":"120"}),t(l,{label:"通知类型",prop:"type_desc","min-width":"160"}),t(l,{label:"短信通知","min-width":"80"},{default:e(({row:a})=>{var m;return[((m=a.sms_notice)==null?void 0:m.status)==1?(n(),p(b,{key:0},{default:e(()=>[...o[1]||(o[1]=[c("开启",-1)])]),_:1})):(n(),p(b,{key:1,type:"danger"},{default:e(()=>[...o[2]||(o[2]=[c("关闭",-1)])]),_:1}))]}),_:1}),t(l,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:a})=>[v((n(),p(L,{type:"primary",link:""},{default:e(()=>[t(C,{to:{path:i(q)("notice.notice/set"),query:{id:a.id}}},{default:e(()=>[...o[3]||(o[3]=[c(" 设置 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[R,["notice.notice/set"]]])]),_:1})]),_:1},8,["data"])),[[x,i(u).loading]])]),_:1})])}}});export{zt as default};
+import{K as A,J as F,m as V,l as B,M,N as O,T as U,i as z,L as D}from"./element-plus-FSf94q2-.js";import{a as N}from"./message-B5u3kd3U.js";import{u as S}from"./usePaging-VsbTxSU0.js";import{k as q}from"./index-CTrP0U4H.js";import{f as y,ac as G,ar as I,as as J,ak as n,I as g,a as t,aN as e,F as K,ap as j,aP as v,G as p,O as c}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as H,n as Q,r as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-BDOO1F0I.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";const X=y({name:"notice"}),zt=y({...X,setup(Y){let d;(r=>{r[r.USER=1]="USER",r[r.PLATFORM=2]="PLATFORM"})(d||(d={}));const s=Q(1),k=[{name:"通知用户",type:1},{name:"通知平台",type:2}],T=W({recipient:s}),{pager:u,getLists:_}=S({fetchFun:N,params:T});return G(()=>{_()}),_(),(r,o)=>{const w=A,f=F,E=B,h=V,l=O,b=U,C=I("router-link"),L=z,P=M,R=J("perms"),x=D;return n(),g("div",null,[t(f,{class:"!border-none",shadow:"never"},{default:e(()=>[t(w,{type:"warning",title:"温馨提示:平台配置在各个场景下的通知发送方式和内容模板",closable:!1,"show-icon":""})]),_:1}),t(f,{class:"!border-none mt-4",shadow:"never"},{default:e(()=>[t(h,{modelValue:i(s),"onUpdate:modelValue":o[0]||(o[0]=a=>H(s)?s.value=a:null),onTabChange:i(_)},{default:e(()=>[(n(),g(K,null,j(k,(a,m)=>t(E,{key:m,label:a.name,name:a.type,lazy:""},null,8,["label","name"])),64))]),_:1},8,["modelValue","onTabChange"]),v((n(),p(P,{size:"large",data:i(u).lists},{default:e(()=>[t(l,{label:"通知场景",prop:"scene_name","min-width":"120"}),t(l,{label:"通知类型",prop:"type_desc","min-width":"160"}),t(l,{label:"短信通知","min-width":"80"},{default:e(({row:a})=>{var m;return[((m=a.sms_notice)==null?void 0:m.status)==1?(n(),p(b,{key:0},{default:e(()=>[...o[1]||(o[1]=[c("开启",-1)])]),_:1})):(n(),p(b,{key:1,type:"danger"},{default:e(()=>[...o[2]||(o[2]=[c("关闭",-1)])]),_:1}))]}),_:1}),t(l,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:a})=>[v((n(),p(L,{type:"primary",link:""},{default:e(()=>[t(C,{to:{path:i(q)("notice.notice/set"),query:{id:a.id}}},{default:e(()=>[...o[3]||(o[3]=[c(" 设置 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[R,["notice.notice/set"]]])]),_:1})]),_:1},8,["data"])),[[x,i(u).loading]])]),_:1})])}}});export{zt as default};
diff --git a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-hgLp-k1u.js b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-CvSiRks_.js
similarity index 96%
rename from server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-hgLp-k1u.js
rename to server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-CvSiRks_.js
index e162b088..25d1e8a3 100644
--- a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-hgLp-k1u.js
+++ b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-CvSiRks_.js
@@ -1 +1 @@
-import{D as C,B as F,G as N,I as q,C as D,i as I}from"./element-plus-FSf94q2-.js";import{_ as O}from"./index-DYbQoSgX.js";import{i as f}from"./index-B9GiQBjX.js";import{f as S,ak as b,I as U,a,aN as l,J as g,O as d,G,H as j}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,q as v,r as w}from"./@vue/reactivity-DiY1c2vO.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";const L={class:"export-data"},M={class:"flex"},K=S({__name:"index",props:{params:{type:Object,default:()=>({})},pageSize:{type:Number,default:25},fetchFun:{type:Function,required:!0}},setup(z){const c=v(),u=z,y=v(),o=w({page_type:0,page_start:1,page_end:200,file_name:""}),E={page_start:[{required:!0,message:"请输入起始页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,n)=>{if(e<=0)return n(new Error("页码必须大于0"));n()}}],page_end:[{required:!0,message:"请输入结束页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,n)=>{if(e<=0)return n(new Error("页码必须大于0"));n()}}]},m=w({count:0,sum_page:0,page_size:0,max_page:0,all_max_size:0}),x=async()=>{const r=await u.fetchFun({...u.params,page_size:u.pageSize,export:1});Object.assign(m,r),o.file_name=r.file_name,o.page_end=r.page_end,o.page_start=r.page_start},R=async()=>{var r,e;await((r=c.value)==null?void 0:r.validate()),f.loading("正在导出中...");try{await u.fetchFun({...u.params,...o,page_size:u.pageSize,export:2}),(e=y.value)==null||e.close(),f.closeLoading()}catch{f.closeLoading()}};return x(),(r,e)=>{const n=I,p=F,V=q,k=N,_=D,B=C;return b(),U("div",L,[a(O,{ref_key:"popupRef",ref:y,title:"导出设置",width:"500px","confirm-button-text":"确认导出",onConfirm:R,async:!0,onOpen:x},{trigger:l(()=>[a(n,null,{default:l(()=>[...e[4]||(e[4]=[d("导出",-1)])]),_:1})]),default:l(()=>[g("div",null,[a(B,{ref_key:"formRef",ref:c,model:t(o),"label-width":"120px",rules:E},{default:l(()=>[a(p,{label:"数据量:"},{default:l(()=>[d(" 预计导出"+i(t(m).count)+"条数据, 共"+i(t(m).sum_page)+"页,每页"+i(t(m).page_size)+"条数据 ",1)]),_:1}),a(p,{label:"导出限制:"},{default:l(()=>[d(" 每次导出最大允许"+i(t(m).max_page)+"页,共"+i(t(m).all_max_size)+"条数据 ",1)]),_:1}),a(p,{prop:"page_type",label:"导出范围:",required:""},{default:l(()=>[a(k,{modelValue:t(o).page_type,"onUpdate:modelValue":e[0]||(e[0]=s=>t(o).page_type=s)},{default:l(()=>[a(V,{value:0},{default:l(()=>[...e[5]||(e[5]=[d("全部导出",-1)])]),_:1}),a(V,{value:1},{default:l(()=>[...e[6]||(e[6]=[d("分页导出",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(o).page_type==1?(b(),G(p,{key:0,label:"分页范围:"},{default:l(()=>[g("div",M,[a(p,{prop:"page_start"},{default:l(()=>[a(_,{style:{width:"140px"},modelValue:t(o).page_start,"onUpdate:modelValue":e[1]||(e[1]=s=>t(o).page_start=s),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1}),e[7]||(e[7]=g("span",{class:"flex-none ml-2 mr-2"},"页,至",-1)),a(p,{prop:"page_end"},{default:l(()=>[a(_,{style:{width:"140px"},modelValue:t(o).page_end,"onUpdate:modelValue":e[2]||(e[2]=s=>t(o).page_end=s),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1})])]),_:1})):j("",!0),a(p,{label:"导出文件名称:",prop:"file_name"},{default:l(()=>[a(_,{modelValue:t(o).file_name,"onUpdate:modelValue":e[3]||(e[3]=s=>t(o).file_name=s),placeholder:"请输入导出文件名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)])}}});export{K as _};
+import{D as C,B as F,G as N,I as q,C as D,i as I}from"./element-plus-FSf94q2-.js";import{_ as O}from"./index-CMNBpNeZ.js";import{i as f}from"./index-CTrP0U4H.js";import{f as S,ak as b,I as U,a,aN as l,J as g,O as d,G,H as j}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,q as v,r as w}from"./@vue/reactivity-DiY1c2vO.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";const L={class:"export-data"},M={class:"flex"},K=S({__name:"index",props:{params:{type:Object,default:()=>({})},pageSize:{type:Number,default:25},fetchFun:{type:Function,required:!0}},setup(z){const c=v(),u=z,y=v(),o=w({page_type:0,page_start:1,page_end:200,file_name:""}),E={page_start:[{required:!0,message:"请输入起始页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,n)=>{if(e<=0)return n(new Error("页码必须大于0"));n()}}],page_end:[{required:!0,message:"请输入结束页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,n)=>{if(e<=0)return n(new Error("页码必须大于0"));n()}}]},m=w({count:0,sum_page:0,page_size:0,max_page:0,all_max_size:0}),x=async()=>{const r=await u.fetchFun({...u.params,page_size:u.pageSize,export:1});Object.assign(m,r),o.file_name=r.file_name,o.page_end=r.page_end,o.page_start=r.page_start},R=async()=>{var r,e;await((r=c.value)==null?void 0:r.validate()),f.loading("正在导出中...");try{await u.fetchFun({...u.params,...o,page_size:u.pageSize,export:2}),(e=y.value)==null||e.close(),f.closeLoading()}catch{f.closeLoading()}};return x(),(r,e)=>{const n=I,p=F,V=q,k=N,_=D,B=C;return b(),U("div",L,[a(O,{ref_key:"popupRef",ref:y,title:"导出设置",width:"500px","confirm-button-text":"确认导出",onConfirm:R,async:!0,onOpen:x},{trigger:l(()=>[a(n,null,{default:l(()=>[...e[4]||(e[4]=[d("导出",-1)])]),_:1})]),default:l(()=>[g("div",null,[a(B,{ref_key:"formRef",ref:c,model:t(o),"label-width":"120px",rules:E},{default:l(()=>[a(p,{label:"数据量:"},{default:l(()=>[d(" 预计导出"+i(t(m).count)+"条数据, 共"+i(t(m).sum_page)+"页,每页"+i(t(m).page_size)+"条数据 ",1)]),_:1}),a(p,{label:"导出限制:"},{default:l(()=>[d(" 每次导出最大允许"+i(t(m).max_page)+"页,共"+i(t(m).all_max_size)+"条数据 ",1)]),_:1}),a(p,{prop:"page_type",label:"导出范围:",required:""},{default:l(()=>[a(k,{modelValue:t(o).page_type,"onUpdate:modelValue":e[0]||(e[0]=s=>t(o).page_type=s)},{default:l(()=>[a(V,{value:0},{default:l(()=>[...e[5]||(e[5]=[d("全部导出",-1)])]),_:1}),a(V,{value:1},{default:l(()=>[...e[6]||(e[6]=[d("分页导出",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(o).page_type==1?(b(),G(p,{key:0,label:"分页范围:"},{default:l(()=>[g("div",M,[a(p,{prop:"page_start"},{default:l(()=>[a(_,{style:{width:"140px"},modelValue:t(o).page_start,"onUpdate:modelValue":e[1]||(e[1]=s=>t(o).page_start=s),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1}),e[7]||(e[7]=g("span",{class:"flex-none ml-2 mr-2"},"页,至",-1)),a(p,{prop:"page_end"},{default:l(()=>[a(_,{style:{width:"140px"},modelValue:t(o).page_end,"onUpdate:modelValue":e[2]||(e[2]=s=>t(o).page_end=s),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1})])]),_:1})):j("",!0),a(p,{label:"导出文件名称:",prop:"file_name"},{default:l(()=>[a(_,{modelValue:t(o).file_name,"onUpdate:modelValue":e[3]||(e[3]=s=>t(o).file_name=s),placeholder:"请输入导出文件名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)])}}});export{K as _};
diff --git a/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-BDFieojl.js b/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-BGwmz4UN.js
similarity index 96%
rename from server/public/admin/assets/index.vue_vue_type_style_index_0_lang-BDFieojl.js
rename to server/public/admin/assets/index.vue_vue_type_style_index_0_lang-BGwmz4UN.js
index 3dd3c23e..d7007cf8 100644
--- a/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-BDFieojl.js
+++ b/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-BGwmz4UN.js
@@ -1 +1 @@
-import"./@wangeditor/editor-Cyf37SuL.js";import{T as k,E as x}from"./@wangeditor/editor-for-vue-D1vSph3l.js";import{_ as R}from"./picker-Q2fI3dO8.js";import{o as f}from"./index-B9GiQBjX.js";import{f as U,ae as _,ak as B,I as E,a as u,A as c,n as P}from"./@vue/runtime-core-C6bnekPw.js";import{p as T}from"./@vue/shared-mAAVTE9n.js";import{y as t,a as A,q as p,n as h}from"./@vue/reactivity-DiY1c2vO.js";const M=U({__name:"index",props:{modelValue:{default:""},mode:{default:"default"},height:{default:"100%"},width:{default:"auto"},toolbarConfig:{default:()=>({})}},emits:["update:modelValue"],setup(a,{emit:g}){const l=a,v=g,d=p(),n=p(),r=h(""),m=h(!1);let s;const C={MENU_CONF:{uploadImage:{customBrowseAndUpload(e){var o;r.value="image",(o=n.value)==null||o.showPopup(-1),s=e}},uploadVideo:{customBrowseAndUpload(e){var o;r.value="video",(o=n.value)==null||o.showPopup(-1),s=e}}}},b=c(()=>({height:f(l.height),width:f(l.width)})),i=c({get(){return l.modelValue},set(e){m.value&&v("update:modelValue",e)}}),y=e=>{e.forEach(o=>{s(o)})};_(()=>{const e=d.value;e!=null&&e.destroy()});const w=e=>{d.value=e,P(()=>{m.value=!0})};return(e,o)=>(B(),E("div",{class:"border border-br flex flex-col",style:T(t(b))},[u(t(k),{class:"border-b border-br",editor:t(d),defaultConfig:a.toolbarConfig,mode:a.mode},null,8,["editor","defaultConfig","mode"]),u(t(x),{class:"flex-1 overflow-hidden",modelValue:t(i),"onUpdate:modelValue":o[0]||(o[0]=V=>A(i)?i.value=V:null),defaultConfig:C,mode:a.mode,onOnCreated:w},null,8,["modelValue","mode"]),u(R,{ref_key:"materialPickerRef",ref:n,type:t(r),limit:-1,"hidden-upload":"",onChange:y},null,8,["type"])],4))}});export{M as _};
+import"./@wangeditor/editor-Cyf37SuL.js";import{T as k,E as x}from"./@wangeditor/editor-for-vue-D1vSph3l.js";import{_ as R}from"./picker-Eo9uFPHe.js";import{o as f}from"./index-CTrP0U4H.js";import{f as U,ae as _,ak as B,I as E,a as u,A as c,n as P}from"./@vue/runtime-core-C6bnekPw.js";import{p as T}from"./@vue/shared-mAAVTE9n.js";import{y as t,a as A,q as p,n as h}from"./@vue/reactivity-DiY1c2vO.js";const M=U({__name:"index",props:{modelValue:{default:""},mode:{default:"default"},height:{default:"100%"},width:{default:"auto"},toolbarConfig:{default:()=>({})}},emits:["update:modelValue"],setup(a,{emit:g}){const l=a,v=g,d=p(),n=p(),r=h(""),m=h(!1);let s;const C={MENU_CONF:{uploadImage:{customBrowseAndUpload(e){var o;r.value="image",(o=n.value)==null||o.showPopup(-1),s=e}},uploadVideo:{customBrowseAndUpload(e){var o;r.value="video",(o=n.value)==null||o.showPopup(-1),s=e}}}},b=c(()=>({height:f(l.height),width:f(l.width)})),i=c({get(){return l.modelValue},set(e){m.value&&v("update:modelValue",e)}}),y=e=>{e.forEach(o=>{s(o)})};_(()=>{const e=d.value;e!=null&&e.destroy()});const w=e=>{d.value=e,P(()=>{m.value=!0})};return(e,o)=>(B(),E("div",{class:"border border-br flex flex-col",style:T(t(b))},[u(t(k),{class:"border-b border-br",editor:t(d),defaultConfig:a.toolbarConfig,mode:a.mode},null,8,["editor","defaultConfig","mode"]),u(t(x),{class:"flex-1 overflow-hidden",modelValue:t(i),"onUpdate:modelValue":o[0]||(o[0]=V=>A(i)?i.value=V:null),defaultConfig:C,mode:a.mode,onOnCreated:w},null,8,["modelValue","mode"]),u(R,{ref_key:"materialPickerRef",ref:n,type:t(r),limit:-1,"hidden-upload":"",onChange:y},null,8,["type"])],4))}});export{M as _};
diff --git a/server/public/admin/assets/index_h5-B30Jn42r.js b/server/public/admin/assets/index_h5-CKuT7IRe.js
similarity index 94%
rename from server/public/admin/assets/index_h5-B30Jn42r.js
rename to server/public/admin/assets/index_h5-CKuT7IRe.js
index 0f284321..21907753 100644
--- a/server/public/admin/assets/index_h5-B30Jn42r.js
+++ b/server/public/admin/assets/index_h5-CKuT7IRe.js
@@ -1,2 +1,2 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-CabyEiQ7.js","assets/element-plus-FSf94q2-.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-BDOO1F0I.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/tcm-Bus_TOfe.js","assets/index-B9GiQBjX.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.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/index-D37nbNXN.css","assets/perm-CY-nQogy.js","assets/DailyMatrix-COMV-wKf.js","assets/picker-Q2fI3dO8.js","assets/index-DYbQoSgX.js","assets/index-B3imPWFk.css","assets/index-CMFkQD4s.js","assets/index.vue_vue_type_script_setup_true_lang-CcHKbLKc.js","assets/index-DkhUBw5I.js","assets/index-D0f1Mn00.css","assets/index-Wyb_vCaV.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BWkxVNko.js","assets/index.vue_vue_type_script_setup_true_lang-zIjDr0d2.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/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-YBpqDfLj.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-DDQE7qQG.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-BsXDwGFN.js","assets/RecordingPlaybackBlock-DyDOjzUs.js","assets/RecordingVideoPlayer-DxMMSVy9.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-D2akbqKU.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-C6XKsUwF.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-D_XLG_iu.js","assets/doctor-ClhRdPlj.js","assets/AppointmentRecordPanel-5TL68rh2.css","assets/NoteTimeline-BnRnjgbY.js","assets/patient-C_kCTOoW.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-BDx6eZp2.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-hJ22WgFN.js","assets/index-Bs1p3Xwl.js","assets/medicine-Cg-Szpym.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-1n8AP8O3.js","assets/appointment-CGX3dzlQ.js","assets/appointment-DaNLu7BE.css","assets/AssistantWatchCallDialog-C_gDVXdn.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css"])))=>i.map(i=>d[i]);
-import{_ as se}from"./jspdf-BsthCvR5.js";import{C as va,i as ga,d as fa,Q as ha,P as ya,L as ka,R as ba,e as Ca,D as Va,B as xa,h as Da,V as $a,T as Ea,v as Ra}from"./element-plus-FSf94q2-.js";import{w as Ia,q as Aa}from"./@vue/runtime-dom-DDAG46FW.js";import{af as E,n as za,ag as Sa,G as wa,ai as Pa,U as nt,aj as st,an as qa,ak as La,al as Na,am as Ta}from"./tcm-Bus_TOfe.js";import{i as Fa}from"./order-DgTDsNv5.js";import{k as Wa}from"./doctor-ClhRdPlj.js";import{u as Ua,m as lt,i as g,_ as Oa}from"./index-B9GiQBjX.js";import{g as it}from"./weapp-0wPD3-3a.js";import{u as Ma}from"./usePaging-VsbTxSU0.js";import{h as V}from"./perm-CY-nQogy.js";import{N as Qa,e as ot,A as Ya,W as Ba,O as dt,b as Ha,ab as Ga,G as ja,J as Ja,H as Ka,l as Xa,P as Za}from"./@element-plus/icons-vue-BDOO1F0I.js";import{d as rt}from"./dayjs-DG77mNTn.js";import{f as ut,b as en,d as tn,ak as l,I as o,J as s,a as n,aN as i,O as f,F as x,ap as z,H as _,aP as Le,G as $,P as le,A as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as Ne,n as c}from"./@vue/reactivity-DiY1c2vO.js";import{o as S,Q as p}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.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"./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 an={class:"dh5"},nn={class:"dh5-topbar"},sn={class:"dh5-search"},ln={class:"dh5-chips dh5-chips--scroll"},on=["onClick"],dn={key:0},rn={key:0},un={key:0},pn={key:0},cn={class:"dh5-quick"},mn={class:"dh5-quick-group"},_n=["onClick"],vn={class:"dh5-quick-group"},gn=["onClick"],fn={class:"dh5-more-filter"},hn={class:"dh5-list"},yn={key:0,class:"dh5-empty"},kn=["onClick"],bn={class:"dh5-card-avatar"},Cn={class:"dh5-card-id-name"},Vn={class:"dh5-card-name"},xn={key:0,class:"dh5-meta-gender"},Dn={key:1,class:"dh5-meta-age"},$n={class:"dh5-card-sub"},En={class:"dh5-card-tags"},Rn={key:0,class:"dh5-tag dh5-tag--ok"},In={key:1,class:"dh5-tag dh5-tag--warn"},An={key:2,class:"dh5-tag dh5-tag--info"},zn=["onClick"],Sn={class:"dh5-row-val"},wn={class:"dh5-apt-status"},Pn={class:"dh5-apt-doctor"},qn={class:"dh5-apt-time"},Ln={class:"dh5-apt-status"},Nn={class:"dh5-apt-doctor"},Tn={class:"dh5-apt-time"},Fn={key:1,class:"dh5-apt-none"},Wn={key:0,class:"dh5-row dh5-row--followup"},Un={class:"dh5-row-val"},On={class:"dh5-meta-doctor"},Mn={key:0,class:"dh5-tag dh5-tag--gray"},Qn={class:"dh5-row"},Yn={class:"dh5-row-val"},Bn={key:1,class:"dh5-row"},Hn={class:"dh5-row-val"},Gn={key:0,class:"dh5-meta-mute"},jn={key:1},Jn={key:0,class:"dh5-card-watch"},Kn={class:"dh5-watch-tip"},Xn={key:1,class:"dh5-watch-mute"},Zn={class:"dh5-card-foot"},es={key:2,class:"dh5-no-more"},ts={key:0,class:"dh5-actions"},as={class:"dh5-form-tip"},ns={class:"font-medium"},ss={class:"dh5-qr"},ls={key:0,class:"dh5-qr-loading"},is={key:1},os=["src"],ds={class:"dh5-qr-meta"},rs={key:2,class:"dh5-qr-fail"},us={key:0,class:"dh5-wx-contact"},ps={class:"dh5-wx-contact-row"},cs={class:"dh5-wx-val"},ms={class:"dh5-wx-contact-row"},_s={class:"dh5-wx-val"},vs={key:0},gs={class:"dh5-wx-contact-row"},fs={class:"dh5-wx-val"},hs={class:"dh5-wx-add"},ys={class:"dh5-wx-list-wrap"},ks={key:0,class:"dh5-wx-empty"},bs={key:1,class:"dh5-wx-list"},Cs={class:"dh5-wx-head"},Vs={class:"dh5-wx-head-left"},xs={class:"dh5-wx-name"},Ds={class:"dh5-wx-head-right"},$s={class:"dh5-wx-time"},Es={class:"dh5-wx-content"},Rs={key:0,class:"dh5-wx-media"},Is=ut({name:"tcmDiagnosisH5"}),As=ut({...Is,setup(zs){const pt=le(()=>se(()=>import("./edit-CabyEiQ7.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),ct=le(()=>se(()=>import("./detail-1n8AP8O3.js"),__vite__mapDeps([99,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),mt=le(()=>se(()=>import("./index-hJ22WgFN.js"),__vite__mapDeps([90,1,2,3,4,5,6,7,8,9,10,11,12,13,14,91,92,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,93,94,15,95,96]))),_t=le(()=>se(()=>import("./appointment-CGX3dzlQ.js"),__vite__mapDeps([100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,101]))),vt=le(()=>se(()=>import("./AssistantWatchCallDialog-C_gDVXdn.js"),__vite__mapDeps([102,1,2,3,4,5,6,7,8,9,10,11,12,13,14,103,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,104]))),ie=Ua(),gt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return rt(e).format("YYYY-MM-DD HH:mm")},ft=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return rt(e).format("YYYY-MM-DD HH:mm")},Te=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),R=t=>String(t).padStart(2,"0"),ve=M(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),ge=M(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),G=M(()=>{const t=new Date;return`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),fe=M(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),he=M(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),d=Ne({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:""}),j=c(!1),ht=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],yt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],kt=M(()=>[{label:"昨天挂号",value:ve.value},{label:"前天挂号",value:ge.value},{label:"当天挂号",value:G.value},{label:"明天挂号",value:fe.value},{label:"后天挂号",value:he.value},{label:"全部",value:""}]),ye=c({}),ke=c(void 0),be=c(void 0),Ce=c(void 0),{pager:h,getLists:b}=Ma({fetchFun:E,params:d}),Ve=M(()=>h.lists.length<(h.count||0)),Fe=()=>b({silent:!0}),Y=()=>{h.page=1,b(),D()},bt=()=>{d.keyword="",d.diagnosis_type="",d.syndrome_type="",d.assistant_id="",d.diagnosis_confirmed="",d.appointment_date=G.value,d.has_appointment="",d.pending_assign="",d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},Ct=t=>{d.has_appointment=t,d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},Vt=t=>{d.diagnosis_confirmed=t,d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},xt=async t=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date=t,h.page=1,await b(),D()},Dt=async()=>{d.pending_assign="",d.pending_booking="1",d.completed_appointment="",d.appointment_date="",d.has_appointment="0",h.page=1,await b(),D()},$t=async()=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="1",d.has_appointment="",d.appointment_date="",h.page=1,await b(),D()},Et=async()=>{d.pending_assign="1",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date="",h.page=1,await b(),D()},D=async()=>{try{const[t,e,r,u,k,C,w,ae,U]=await Promise.all([E({appointment_date:ve.value,page_no:1,page_size:1}),E({appointment_date:ge.value,page_no:1,page_size:1}),E({appointment_date:G.value,page_no:1,page_size:1}),E({appointment_date:fe.value,page_no:1,page_size:1}),E({appointment_date:he.value,page_no:1,page_size:1}),E({page_no:1,page_size:1}),E({has_appointment:0,page_no:1,page_size:1}),E({completed_appointment:1,page_no:1,page_size:1}),E({pending_assign:1,page_no:1,page_size:1})]);ye.value={[ve.value]:(t==null?void 0:t.count)??0,[ge.value]:(e==null?void 0:e.count)??0,[G.value]:(r==null?void 0:r.count)??0,[fe.value]:(u==null?void 0:u.count)??0,[he.value]:(k==null?void 0:k.count)??0,"":(C==null?void 0:C.count)??0},ke.value=(w==null?void 0:w.count)??0,be.value=(ae==null?void 0:ae.count)??0,Ce.value=(U==null?void 0:U.count)??0}catch(t){console.error("获取日期数量失败",t)}},Rt=async()=>{if(h.loading||!Ve.value)return;const t=(h.page||1)+1;h.loading=!0;try{const e=await E({page_no:t,page_size:h.size,...d});h.page=t,h.lists.push(...(e==null?void 0:e.lists)||[]),h.count=(e==null?void 0:e.count)??h.count}catch(e){console.error("加载更多失败:",e)}finally{h.loading=!1}},xe=c([]),De=c([]),J=c([]),It=async()=>{try{const[t,e,r]=await Promise.all([lt({type:"diagnosis_type"}),lt({type:"syndrome_type"}),za()]);xe.value=(t==null?void 0:t.diagnosis_type)||[],De.value=(e==null?void 0:e.syndrome_type)||[],J.value=r||[]}catch(t){console.error("获取字典数据失败:",t)}},We=(t,e)=>{const r=t.find(u=>u.value===e);return r?r.name:e||"-"},At=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(J.value.length===0)return"...";const r=J.value.find(u=>(typeof u.id=="string"?parseInt(u.id):u.id)===e);return r?r.name:"-"},Ue=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(r=>r.is_confirmed==1)},zt=t=>Ue(t)?t.has_appointment?"":"dh5-card--noapt":"dh5-card--unconfirmed",St=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},wt=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},Oe=t=>{const e=Array.isArray(t.appointments)?t.appointments:[];return e.length>0?e:t.has_appointment?[{id:t.appointment_id,status:t.appointment_status,doctor_id:t.appointment_doctor_id,doctor_name:t.appointment_doctor_name,time_text:t.appointment_time_text}]:[]},Pt=t=>{const e=Number(t==null?void 0:t.status);return{"dh5-apt-item--done":e===3,"dh5-apt-item--missed":e===4,"dh5-apt-item--active":e===1}},qt=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},K=t=>t.has_appointment&&Number(t.appointment_status)===1,Me=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Lt=t=>{var r;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((r=ie.userInfo)==null?void 0:r.id)},$e=t=>Lt(t)&&V(["tcm.diagnosis/watchCall"]),X=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},Nt=t=>{const e=X(t);return e==="live"||e==="pending_room"},Tt=t=>X(t)==="pending_room"?"医生未接通或未同步房间":"点击进入实时房间",Ft=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Wt=t=>{const e=X(t);if(e==="none")return"";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const r=t.video_call_hint;return(r==null?void 0:r.label)||""},Ut=t=>{if($e(t))return!0;const e=X(t);return e==="live"||e==="pending_room"},Ee=c(!1),Qe=c(0),Ot=t=>{if(X(t)!=="live"){g.msgWarning("医生未接通或未同步房间号,请稍后再试");return}Qe.value=Number(t.id)||0,Ee.value=!0},oe=c(),Ye=c(),Be=c(),He=c(),Mt=()=>{var t;return(t=oe.value)==null?void 0:t.open("add")},Qt=t=>{var e;return(e=oe.value)==null?void 0:e.open("edit",t)},Ge=t=>{var e;return(e=Ye.value)==null?void 0:e.open(t)},je=t=>(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方",Yt=t=>{var e;if(!(t!=null&&t.id)){g.msgWarning("诊单信息不完整");return}(e=Be.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},Bt=()=>{var t,e;b(),(e=(t=oe.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Ht=t=>{var e;if(!t.patient_id){g.msgWarning("患者信息不完整");return}(e=He.value)==null||e.open(t)},Gt=async t=>{await g.confirm("确定要删除该诊单吗?"),await Ta({id:t}),b()},de=c(!1),P=c(null),jt=t=>{P.value=t,de.value=!0},q=t=>{const e=P.value;if(de.value=!1,!!e)switch(t){case"assign":Jt(e);break;case"videoQr":if(!K(e)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}Ke(e);break;case"confirmQr":Xe(e);break;case"cancelApt":oa(e);break;case"fillIdCard":na(e);break;case"order":Zt(e);break;case"wechat":Ze(e);break;case"delete":Gt(e.id);break}},Z=c(!1),Re=c(!1),re=c(null),B=c({assistant_id:null}),Jt=t=>{re.value=t,B.value.assistant_id=t.assistant_id?Number(t.assistant_id):null,Z.value=!0},Kt=async()=>{if(!B.value.assistant_id){g.msgWarning("请选择医助");return}Re.value=!0;try{await Sa({id:re.value.id,assistant_id:B.value.assistant_id}),Z.value=!1,b()}catch(t){console.error("指派失败:",t)}finally{Re.value=!1}},ee=c(!1),ue=c(),Ie=c(!1),v=Ne({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),Xt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},Zt=t=>{var e;v.patient_id=t.patient_id||t.id,v.patient_name=t.patient_name,v.phone=t.phone||"",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!!t.has_appointment,v.appointment_time_text=t.appointment_time_text||"",(e=ue.value)==null||e.clearValidate(),ee.value=!0},ea=()=>{var t;v.patient_id="",v.patient_name="",v.phone="",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!1,v.appointment_time_text="",(t=ue.value)==null||t.clearValidate()},ta=async()=>{var t;try{await((t=ue.value)==null?void 0:t.validate()),Ie.value=!0;const e=await Fa({patient_id:v.patient_id,order_type:v.order_type,amount:v.amount,remark:v.remark});ee.value=!1,b();const r=e==null?void 0:e.order_no;if(r){L.value=!0,N.value=!0,T.value="",pe.value="收款二维码",F.value={patient_name:v.patient_name,has_appointment:v.has_appointment,appointment_time_text:v.appointment_time_text};try{const u=await wa({order_no:r});u!=null&&u.qrcode_url?T.value=u.qrcode_url:g.msgError("二维码生成失败")}catch(u){g.msgError((u==null?void 0:u.msg)||"生成二维码失败")}finally{N.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ie.value=!1}},te=c(!1),Ae=c(!1),Je=c(),I=Ne({id:0,patient_name:"",id_card:""}),aa={id_card:[{required:!0,validator:(t,e,r)=>{if(!e){r(new Error("请输入身份证号"));return}const u=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),k=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);u||k?r():r(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},na=t=>{I.id=t.id,I.patient_name=t.patient_name||"-",I.id_card=t.id_card||"",te.value=!0},sa=async()=>{var t;await((t=Je.value)==null?void 0:t.validate()),Ae.value=!0;try{await Pa({id:I.id,id_card:I.id_card}),g.msgSuccess("补全成功,年龄已自动更新"),te.value=!1,b()}catch(e){g.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ae.value=!1}},L=c(!1),N=c(!1),T=c(""),F=c(null),pe=c("小程序二维码"),ze=c("confirm"),la=M(()=>{const t=F.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ke=async t=>{var e;if(!K(t)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}ze.value="video",F.value=t,L.value=!0,N.value=!0,T.value="",pe.value="视频二维码";try{const r=await it();if(!(r!=null&&r.app_id)){g.msgError("小程序未配置"),L.value=!1;return}const u=await nt({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ie.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});u!=null&&u.qrcode_url?T.value=u.qrcode_url:g.msgError("二维码生成失败")}catch(r){g.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{N.value=!1}},Xe=async t=>{var e;if(!K(t)){g.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}ze.value="confirm",F.value=t,L.value=!0,N.value=!0,T.value="",pe.value="诊单二维码";try{const r=await it();if(!(r!=null&&r.app_id)){g.msgError("小程序未配置"),L.value=!1;return}const u=await nt({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ie.userInfo)==null?void 0:e.id)||""});u!=null&&u.qrcode_url?T.value=u.qrcode_url:g.msgError("二维码生成失败")}catch(r){g.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{N.value=!1}},ia=()=>{F.value&&(ze.value==="video"?Ke(F.value):Xe(F.value))},oa=async t=>{if(!Me(t)){const e=Number(t.appointment_status);t.has_appointment&&e===3?g.msgWarning("已完成就诊,无法取消挂号"):g.msgWarning("该诊单未挂号或挂号信息异常");return}try{await g.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await Wa({id:t.appointment_id}),g.msgSuccess("取消挂号成功"),b(),D()}catch(e){e!=="cancel"&&g.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},Se=c(!1),A=c(null),W=c([]),ce=c(0),me=c(!1),Q=c(null),H=c(""),we=c(!1),Pe=c(1),Ze=async t=>{A.value=t,Se.value=!0,W.value=[],ce.value=0,Q.value=null,H.value="",Pe.value=1,me.value=!0;try{const[e,r]=await Promise.all([st({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),qa({patient_id:t.patient_id||t.id}).catch(()=>null)]);W.value=(e==null?void 0:e.lists)||[],ce.value=(e==null?void 0:e.count)||0,Q.value=r}catch(e){console.error(e)}finally{me.value=!1}},da=async()=>{if(A.value){Pe.value++;try{const t=await st({diagnosis_id:A.value.id,patient_id:A.value.patient_id,page_no:Pe.value,page_size:20});W.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error(t)}}},ra=async()=>{var t;if(!H.value.trim()){g.msgWarning("请输入内容");return}we.value=!0;try{await La({diagnosis_id:A.value.id,patient_id:A.value.patient_id,content:H.value.trim(),msg_type:"note",staff_name:((t=ie.userInfo)==null?void 0:t.name)||"",external_name:A.value.patient_name||""}),H.value="",Ze(A.value)}catch(e){g.msgError((e==null?void 0:e.msg)||"添加失败")}finally{we.value=!1}},ua=async t=>{await g.confirm("确定删除该记录吗?");try{await Na({id:t}),W.value=W.value.filter(e=>e.id!==t),ce.value--}catch(e){g.msgError((e==null?void 0:e.msg)||"删除失败")}},pa=15e3;let _e=null;const ca=()=>{typeof document<"u"&&document.hidden||(b({silent:!0}).catch(()=>{}),D())};return en(async()=>{document.body.classList.add("h5-mode"),d.appointment_date=G.value,It(),b(),typeof requestIdleCallback=="function"?requestIdleCallback(()=>D(),{timeout:2500}):setTimeout(D,200),_e=setInterval(ca,pa)}),tn(()=>{document.body.classList.remove("h5-mode"),_e&&(clearInterval(_e),_e=null)}),(t,e)=>{var at;const r=va,u=ga,k=fa,C=ha,w=ya,ae=ba,U=Ca,O=xa,qe=Va,ma=Da,et=$a,ne=Ea,_a=Ra,tt=ka;return l(),o("div",an,[s("header",nn,[s("div",sn,[n(r,{modelValue:d.keyword,"onUpdate:modelValue":e[0]||(e[0]=a=>d.keyword=a),placeholder:"患者姓名 / 手机号",clearable:"","prefix-icon":m(Qa),onKeyup:Ia(Y,["enter"]),onClear:Y},null,8,["modelValue","prefix-icon"]),n(u,{class:"dh5-search-btn",type:"primary",onClick:Y},{default:i(()=>[...e[31]||(e[31]=[f("查询",-1)])]),_:1})]),s("div",ln,[(l(!0),o(x,null,z(kt.value,a=>(l(),o("span",{key:a.value||"all",class:S(["dh5-chip",{active:d.pending_assign!=="1"&&d.pending_booking!=="1"&&d.completed_appointment!=="1"&&d.appointment_date===a.value}]),onClick:y=>xt(a.value)},[f(p(a.label)+" ",1),ye.value[a.value]!==void 0?(l(),o("em",dn,p(ye.value[a.value]),1)):_("",!0)],10,on))),128)),s("span",{class:S(["dh5-chip","dh5-chip--booking",{active:d.pending_booking==="1"}]),onClick:Dt},[e[32]||(e[32]=f(" 待预约 ",-1)),ke.value!==void 0?(l(),o("em",rn,p(ke.value),1)):_("",!0)],2),s("span",{class:S(["dh5-chip","dh5-chip--done",{active:d.completed_appointment==="1"}]),onClick:$t},[e[33]||(e[33]=f(" 已完成 ",-1)),be.value!==void 0?(l(),o("em",un,p(be.value),1)):_("",!0)],2),m(V)(["tcm.diagnosis/assign"])?(l(),o("span",{key:0,class:S(["dh5-chip","dh5-chip--pending",{active:d.pending_assign==="1"}]),onClick:Et},[e[34]||(e[34]=f(" 待分配医助 ",-1)),Ce.value!==void 0?(l(),o("em",pn,p(Ce.value),1)):_("",!0)],2)):_("",!0)]),s("div",cn,[s("div",mn,[e[35]||(e[35]=s("span",{class:"dh5-quick-label"},"挂号",-1)),(l(),o(x,null,z(ht,a=>s("span",{key:"a"+a.value,class:S(["dh5-pill",{active:d.has_appointment===a.value}]),onClick:y=>Ct(a.value)},p(a.label),11,_n)),64))]),s("div",vn,[e[36]||(e[36]=s("span",{class:"dh5-quick-label"},"确认",-1)),(l(),o(x,null,z(yt,a=>s("span",{key:"c"+a.value,class:S(["dh5-pill",{active:d.diagnosis_confirmed===a.value}]),onClick:y=>Vt(a.value)},p(a.label),11,gn)),64))]),n(u,{link:"",type:"primary",size:"small",class:"dh5-more-toggle",onClick:e[1]||(e[1]=a=>j.value=!j.value)},{default:i(()=>[f(p(j.value?"收起":"更多")+" ",1),n(k,{class:S({"rotate-180":j.value})},{default:i(()=>[n(m(ot))]),_:1},8,["class"])]),_:1})]),Le(s("div",fn,[n(w,{modelValue:d.diagnosis_type,"onUpdate:modelValue":e[2]||(e[2]=a=>d.diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:Y},{default:i(()=>[(l(!0),o(x,null,z(xe.value,a=>(l(),$(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(w,{modelValue:d.syndrome_type,"onUpdate:modelValue":e[3]||(e[3]=a=>d.syndrome_type=a),placeholder:"证型",clearable:"",size:"small",onChange:Y},{default:i(()=>[(l(!0),o(x,null,z(De.value,a=>(l(),$(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(w,{modelValue:d.assistant_id,"onUpdate:modelValue":e[4]||(e[4]=a=>d.assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:Y},{default:i(()=>[(l(!0),o(x,null,z(J.value,a=>(l(),$(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(u,{size:"small",onClick:bt},{default:i(()=>[...e[37]||(e[37]=[f("重置",-1)])]),_:1})],512),[[Aa,j.value]])]),Le((l(),o("main",hn,[m(h).lists.length===0&&!m(h).loading?(l(),o("div",yn,[n(ae,{description:"暂无诊单","image-size":120})])):_("",!0),(l(!0),o(x,null,z(m(h).lists,a=>(l(),o("article",{key:a.id,class:S(["dh5-card",zt(a)])},[s("header",{class:"dh5-card-head",onClick:y=>Ge(a.id)},[s("div",bn,p((a.patient_name||"患").charAt(0)),1),s("div",Cn,[s("div",Vn,[f(p(a.patient_name||"-")+" ",1),a.gender_desc?(l(),o("span",xn,p(a.gender_desc),1)):_("",!0),a.age!=null?(l(),o("span",Dn,p(a.age)+"岁",1)):_("",!0)]),s("div",$n," #"+p(a.id)+" · "+p(a.diagnosis_date_text||gt(a.create_time)),1)]),s("div",En,[Ue(a)?(l(),o("span",Rn,"已确认")):(l(),o("span",In,"未确认")),a.has_prescription?(l(),o("span",An,"已开方")):_("",!0)])],8,kn),s("section",{class:"dh5-card-body",onClick:y=>Ge(a.id)},[s("div",{class:S(["dh5-row","dh5-row--apt",qt(a)])},[e[38]||(e[38]=s("span",{class:"dh5-row-key"},"挂号",-1)),s("div",Sn,[a.has_appointment?(l(),o(x,{key:0},[Oe(a).length?(l(!0),o(x,{key:0},z(Oe(a),y=>(l(),o("div",{key:y.id||`${y.doctor_id}-${y.time_text}`,class:S(["dh5-apt-item",Pt(y)])},[s("span",wn,p(wt(y.status)),1),s("span",Pn,p(y.doctor_name||"-"),1),s("span",qn,p(y.time_text||"-"),1)],2))),128)):(l(),o(x,{key:1},[s("span",Ln,p(St(a)),1),s("span",Nn,p(a.appointment_doctor_name||"-"),1),s("span",Tn,p(a.appointment_time_text||"-"),1)],64))],64)):(l(),o("span",Fn,"未挂号"))])],2),a.has_prescription?(l(),o("div",Wn,[e[39]||(e[39]=s("span",{class:"dh5-row-key"},"复诊",-1)),s("div",Un,[s("span",null,p(a.followup_time_text||"—"),1),s("span",On,p(a.followup_doctor_name||"—"),1),a.followup_rx_voided?(l(),o("span",Mn,"处方作废")):_("",!0)])])):_("",!0),s("div",Qn,[e[40]||(e[40]=s("span",{class:"dh5-row-key"},"助理",-1)),s("span",Yn,p(At(a.assistant_id||a.assistant)),1)]),a.diagnosis_type?(l(),o("div",Bn,[e[41]||(e[41]=s("span",{class:"dh5-row-key"},"诊断",-1)),s("span",Hn,[f(p(We(xe.value,a.diagnosis_type))+" ",1),a.syndrome_type?(l(),o("span",Gn,"·")):_("",!0),a.syndrome_type?(l(),o("span",jn,p(We(De.value,a.syndrome_type)),1)):_("",!0)])])):_("",!0)],8,zn),Ut(a)?(l(),o("div",Jn,[$e(a)&&Nt(a)?(l(),o(x,{key:0},[n(u,{type:"primary",size:"small",icon:m(Za),onClick:y=>Ot(a)},{default:i(()=>[...e[42]||(e[42]=[f(" 进入旁观 ",-1)])]),_:1},8,["icon","onClick"]),s("span",Kn,p(Tt(a)),1)],64)):(l(),o("span",Xn,p($e(a)?Ft(a):Wt(a)),1))])):_("",!0),s("footer",Zn,[m(V)(["tcm.diagnosis/edit"])?(l(),$(u,{key:0,type:"primary",size:"small",plain:"",onClick:y=>Qt(a.id)},{default:i(()=>[...e[43]||(e[43]=[f(" 诊单 ",-1)])]),_:1},8,["onClick"])):_("",!0),m(V)(["tcm.diagnosis/kaifang"])?(l(),$(u,{key:1,type:je(a)==="查看"?"success":"primary",size:"small",onClick:y=>Yt(a)},{default:i(()=>[f(p(je(a)),1)]),_:2},1032,["type","onClick"])):_("",!0),m(V)(["tcm.diagnosis/guahao"])?(l(),$(u,{key:2,type:"success",size:"small",plain:"",onClick:y=>Ht(a)},{default:i(()=>[...e[44]||(e[44]=[f(" 预约 ",-1)])]),_:1},8,["onClick"])):_("",!0),n(u,{size:"small",class:"dh5-more-btn",onClick:y=>jt(a)},{default:i(()=>[e[45]||(e[45]=f(" 更多",-1)),n(k,{class:"el-icon--right"},{default:i(()=>[n(m(ot))]),_:1})]),_:1},8,["onClick"])])],2))),128)),Ve.value?(l(),o("div",{key:1,class:"dh5-load-more",onClick:Rt},p(m(h).loading?"加载中…":"加载更多"),1)):_("",!0),!Ve.value&&m(h).lists.length>0?(l(),o("div",es,"— 没有更多了 —")):_("",!0)])),[[tt,m(h).loading]]),m(V)(["tcm.diagnosis/add"])?(l(),o("button",{key:0,class:"dh5-fab",type:"button","aria-label":"新增诊单",onClick:Mt},[n(k,{size:22},{default:i(()=>[n(m(Ya))]),_:1})])):_("",!0),n(m(pt),{ref_key:"editRef",ref:oe,onSuccess:Fe},null,512),n(m(ct),{ref_key:"detailRef",ref:Ye},null,512),n(m(mt),{ref_key:"prescriptionRef",ref:Be,onSuccess:Bt},null,512),n(m(_t),{ref_key:"appointmentRef",ref:He,onSuccess:Fe},null,512),n(m(vt),{modelValue:Ee.value,"onUpdate:modelValue":e[5]||(e[5]=a=>Ee.value=a),"diagnosis-id":Qe.value,onClosed:m(b)},null,8,["modelValue","diagnosis-id","onClosed"]),n(U,{modelValue:de.value,"onUpdate:modelValue":e[14]||(e[14]=a=>de.value=a),title:P.value?`${P.value.patient_name||"诊单"} · 更多操作`:"更多操作",direction:"btt",size:"auto","with-header":!0,"destroy-on-close":!0},{default:i(()=>[P.value?(l(),o("div",ts,[m(V)(["tcm.diagnosis/assign"])?(l(),o("button",{key:0,class:"dh5-action",onClick:e[6]||(e[6]=a=>q("assign"))},[n(k,null,{default:i(()=>[n(m(Ba))]),_:1}),e[46]||(e[46]=s("span",null,"指派医助",-1))])):_("",!0),K(P.value)&&m(V)(["tcm.diagnosis/videoQr"])?(l(),o("button",{key:1,class:"dh5-action",onClick:e[7]||(e[7]=a=>q("videoQr"))},[n(k,null,{default:i(()=>[n(m(dt))]),_:1}),e[47]||(e[47]=s("span",null,"视频二维码",-1))])):_("",!0),K(P.value)&&m(V)(["tcm.diagnosis/guahao"])?(l(),o("button",{key:2,class:"dh5-action",onClick:e[8]||(e[8]=a=>q("confirmQr"))},[n(k,null,{default:i(()=>[n(m(dt))]),_:1}),e[48]||(e[48]=s("span",null,"诊单二维码",-1))])):_("",!0),Me(P.value)&&m(V)(["tcm.diagnosis/guahao"])?(l(),o("button",{key:3,class:"dh5-action",onClick:e[9]||(e[9]=a=>q("cancelApt"))},[n(k,null,{default:i(()=>[n(m(Ha))]),_:1}),e[49]||(e[49]=s("span",null,"取消挂号",-1))])):_("",!0),m(V)(["tcm.diagnosis/edit"])?(l(),o("button",{key:4,class:"dh5-action",onClick:e[10]||(e[10]=a=>q("fillIdCard"))},[n(k,null,{default:i(()=>[n(m(Ga))]),_:1}),e[50]||(e[50]=s("span",null,"补全身份证",-1))])):_("",!0),m(V)(["tcm.diagnosis/order"])?(l(),o("button",{key:5,class:"dh5-action",onClick:e[11]||(e[11]=a=>q("order"))},[n(k,null,{default:i(()=>[n(m(ja))]),_:1}),e[51]||(e[51]=s("span",null,"创建订单",-1))])):_("",!0),s("button",{class:"dh5-action",onClick:e[12]||(e[12]=a=>q("wechat"))},[n(k,null,{default:i(()=>[n(m(Ja))]),_:1}),e[52]||(e[52]=s("span",null,"企微记录",-1))]),m(V)(["tcm.diagnosis/delete"])?(l(),o("button",{key:6,class:"dh5-action dh5-action--danger",onClick:e[13]||(e[13]=a=>q("delete"))},[n(k,null,{default:i(()=>[n(m(Ka))]),_:1}),e[53]||(e[53]=s("span",null,"删除诊单",-1))])):_("",!0)])):_("",!0)]),_:1},8,["modelValue","title"]),n(U,{modelValue:Z.value,"onUpdate:modelValue":e[17]||(e[17]=a=>Z.value=a),title:"指派医助",direction:"btt",size:"46%"},{footer:i(()=>[n(u,{class:"dh5-flex1",onClick:e[16]||(e[16]=a=>Z.value=!1)},{default:i(()=>[...e[54]||(e[54]=[f("取消",-1)])]),_:1}),n(u,{class:"dh5-flex1",type:"primary",loading:Re.value,onClick:Kt},{default:i(()=>[...e[55]||(e[55]=[f(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{model:B.value,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(O,{label:"选择医助",required:""},{default:i(()=>[n(w,{modelValue:B.value.assistant_id,"onUpdate:modelValue":e[15]||(e[15]=a=>B.value.assistant_id=a),placeholder:"请选择医助",class:"!w-full",filterable:"",clearable:""},{default:i(()=>[(l(!0),o(x,null,z(J.value,a=>(l(),$(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(O,{label:"诊单信息"},{default:i(()=>{var a,y;return[s("div",as,[s("div",null,"患者:"+p((a=re.value)==null?void 0:a.patient_name),1),s("div",null,"诊断日期:"+p(((y=re.value)==null?void 0:y.diagnosis_date_text)||"—"),1)])]}),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(U,{modelValue:ee.value,"onUpdate:modelValue":e[22]||(e[22]=a=>ee.value=a),title:"创建订单",direction:"btt",size:"64%",onClose:ea},{footer:i(()=>[n(u,{class:"dh5-flex1",onClick:e[21]||(e[21]=a=>ee.value=!1)},{default:i(()=>[...e[56]||(e[56]=[f("取消",-1)])]),_:1}),n(u,{class:"dh5-flex1",type:"primary",loading:Ie.value,onClick:ta},{default:i(()=>[...e[57]||(e[57]=[f(" 创建订单 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{ref_key:"orderFormRef",ref:ue,model:v,rules:Xt,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(O,{label:"患者"},{default:i(()=>[s("span",null,p(v.patient_name)+" ("+p(Te(v.phone))+")",1)]),_:1}),n(O,{label:"订单类型",prop:"order_type"},{default:i(()=>[n(w,{modelValue:v.order_type,"onUpdate:modelValue":e[18]||(e[18]=a=>v.order_type=a),placeholder:"请选择",class:"!w-full"},{default:i(()=>[n(C,{label:"挂号费",value:1}),n(C,{label:"问诊费",value:2}),n(C,{label:"药品费用",value:3}),n(C,{label:"首付费用",value:4}),n(C,{label:"尾款费用",value:5}),n(C,{label:"其他费用",value:6}),n(C,{label:"全部费用",value:7}),n(C,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),n(O,{label:"订单金额",prop:"amount"},{default:i(()=>[n(ma,{modelValue:v.amount,"onUpdate:modelValue":e[19]||(e[19]=a=>v.amount=a),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"!w-full"},null,8,["modelValue"])]),_:1}),n(O,{label:"备注",prop:"remark"},{default:i(()=>[n(r,{modelValue:v.remark,"onUpdate:modelValue":e[20]||(e[20]=a=>v.remark=a),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(et,{modelValue:te.value,"onUpdate:modelValue":e[25]||(e[25]=a=>te.value=a),title:"补全身份证号","close-on-click-modal":!1,onClose:e[26]||(e[26]=a=>I.id_card="")},{footer:i(()=>[n(u,{onClick:e[24]||(e[24]=a=>te.value=!1)},{default:i(()=>[...e[58]||(e[58]=[f("取消",-1)])]),_:1}),n(u,{type:"primary",loading:Ae.value,onClick:sa},{default:i(()=>[...e[59]||(e[59]=[f(" 提交 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{ref_key:"fillIdCardFormRef",ref:Je,model:I,rules:aa,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(O,{label:"患者"},{default:i(()=>[s("span",ns,p(I.patient_name),1)]),_:1}),n(O,{label:"身份证号",prop:"id_card"},{default:i(()=>[n(r,{modelValue:I.id_card,"onUpdate:modelValue":e[23]||(e[23]=a=>I.id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(et,{modelValue:L.value,"onUpdate:modelValue":e[28]||(e[28]=a=>L.value=a),title:pe.value,"close-on-click-modal":!1},{footer:i(()=>[n(u,{onClick:e[27]||(e[27]=a=>L.value=!1)},{default:i(()=>[...e[62]||(e[62]=[f("关闭",-1)])]),_:1}),N.value?_("",!0):(l(),$(u,{key:0,type:"primary",onClick:ia},{default:i(()=>[...e[63]||(e[63]=[f("重新生成",-1)])]),_:1}))]),default:i(()=>{var a;return[s("div",ss,[N.value?(l(),o("div",ls,[n(k,{class:"is-loading",size:36},{default:i(()=>[n(m(Xa))]),_:1}),e[60]||(e[60]=s("div",{class:"dh5-qr-tip"},"生成中...",-1))])):T.value?(l(),o("div",is,[s("img",{src:T.value,alt:"小程序二维码",class:"dh5-qr-img"},null,8,os),s("div",ds,[s("div",null,"患者:"+p((a=F.value)==null?void 0:a.patient_name),1),s("div",null,"挂号时间:"+p(la.value),1),e[61]||(e[61]=s("div",{class:"dh5-qr-hint"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(l(),o("div",rs,"生成失败,请重试"))])]}),_:1},8,["modelValue","title"]),n(U,{modelValue:Se.value,"onUpdate:modelValue":e[30]||(e[30]=a=>Se.value=a),title:`企微记录 - ${((at=A.value)==null?void 0:at.patient_name)||""}`,direction:"rtl",size:"100%","destroy-on-close":!0},{default:i(()=>[Q.value?(l(),o("div",us,[s("div",ps,[e[64]||(e[64]=s("span",{class:"dh5-wx-key"},"手机号",-1)),s("span",cs,p(Te(Q.value.phone)||"-"),1)]),s("div",ms,[e[66]||(e[66]=s("span",{class:"dh5-wx-key"},"企微 ID",-1)),s("span",_s,[Q.value.external_userid?(l(),o("span",vs,p(Q.value.external_userid),1)):(l(),$(ne,{key:1,type:"info",size:"small"},{default:i(()=>[...e[65]||(e[65]=[f("未关联",-1)])]),_:1}))])]),s("div",gs,[e[69]||(e[69]=s("span",{class:"dh5-wx-key"},"会话存档",-1)),s("span",fs,[Q.value.msgaudit_enabled?(l(),$(ne,{key:0,type:"success",size:"small"},{default:i(()=>[...e[67]||(e[67]=[f("已开通",-1)])]),_:1})):(l(),$(ne,{key:1,type:"info",size:"small"},{default:i(()=>[...e[68]||(e[68]=[f("未配置",-1)])]),_:1}))])])])):_("",!0),s("div",hs,[n(r,{modelValue:H.value,"onUpdate:modelValue":e[29]||(e[29]=a=>H.value=a),type:"textarea",rows:2,placeholder:"添加沟通记录..."},null,8,["modelValue"]),n(u,{type:"primary",loading:we.value,size:"small",onClick:ra},{default:i(()=>[...e[70]||(e[70]=[f(" 添加 ",-1)])]),_:1},8,["loading"])]),Le((l(),o("div",ys,[W.value.length===0&&!me.value?(l(),o("div",ks," 暂无聊天记录 ")):(l(),o("div",bs,[(l(!0),o(x,null,z(W.value,a=>{var y;return l(),o("div",{key:a.id,class:"dh5-wx-item"},[s("div",Cs,[s("div",Vs,[n(ne,{type:a.direction===0?"primary":"success",size:"small"},{default:i(()=>[f(p(a.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),s("span",xs,p(a.direction===0?a.staff_name:a.external_name||((y=A.value)==null?void 0:y.patient_name)),1),a.msg_type==="note"?(l(),$(ne,{key:0,type:"warning",size:"small"},{default:i(()=>[...e[71]||(e[71]=[f("备注",-1)])]),_:1})):_("",!0)]),s("div",Ds,[s("span",$s,p(ft(a.chat_time)),1),n(u,{type:"danger",link:"",size:"small",onClick:ws=>ua(a.id)},{default:i(()=>[...e[72]||(e[72]=[f(" 删除 ",-1)])]),_:1},8,["onClick"])])]),s("div",Es,p(a.content),1),a.media_url?(l(),o("div",Rs,[n(_a,{src:a.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[a.media_url]},null,8,["src","preview-src-list"])])):_("",!0)])}),128))])),ce.value>W.value.length?(l(),o("div",{key:2,class:"dh5-load-more",onClick:da}," 加载更多 ")):_("",!0)])),[[tt,me.value]])]),_:1},8,["modelValue","title"])])}}}),Vl=Oa(As,[["__scopeId","data-v-82bf37f1"]]);export{Vl as default};
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-tIgNbGpF.js","assets/element-plus-FSf94q2-.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-BDOO1F0I.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/tcm-DoTwQ3k5.js","assets/index-CTrP0U4H.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.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/index-D37nbNXN.css","assets/perm-DXcCdETG.js","assets/DailyMatrix-BI9lg-6n.js","assets/picker-Eo9uFPHe.js","assets/index-CMNBpNeZ.js","assets/index-B3imPWFk.css","assets/index-OAFucNt2.js","assets/index.vue_vue_type_script_setup_true_lang-CcHKbLKc.js","assets/index-DSwMUrWs.js","assets/index-D0f1Mn00.css","assets/index-Cz5OZUju.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-CYworXtr.js","assets/index.vue_vue_type_script_setup_true_lang-zIjDr0d2.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/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-bq3kh_c1.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-CdjO4EKH.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-DX0WdcBG.js","assets/RecordingPlaybackBlock-BHzxRwvp.js","assets/RecordingVideoPlayer-8cBJtURr.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-CT3hFkEH.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-BHhHOa_z.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-B49D_Lmf.js","assets/doctor-C40JONcv.js","assets/AppointmentRecordPanel-C2aNf0MN.css","assets/NoteTimeline-D7H6525b.js","assets/patient-C2HeN6kF.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-CL6OH6C4.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-BkAQMDuL.js","assets/index-Dtk03Nuc.js","assets/medicine-NTSLqha1.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-B7Tq5vvE.js","assets/appointment-HBlY2QZE.js","assets/appointment-C9G6EGwx.css","assets/AssistantWatchCallDialog-C1IKY9Ij.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css"])))=>i.map(i=>d[i]);
+import{_ as se}from"./jspdf-BsthCvR5.js";import{C as va,i as ga,d as fa,Q as ha,P as ya,L as ka,R as ba,e as Ca,D as Va,B as xa,h as Da,V as $a,T as Ea,v as Ra}from"./element-plus-FSf94q2-.js";import{w as Ia,q as Aa}from"./@vue/runtime-dom-DDAG46FW.js";import{af as E,n as za,ag as Sa,G as wa,ai as Pa,U as nt,aj as st,an as qa,ak as La,al as Na,am as Ta}from"./tcm-DoTwQ3k5.js";import{i as Fa}from"./order-Bg4Sef_-.js";import{k as Wa}from"./doctor-C40JONcv.js";import{u as Ua,m as lt,i as g,_ as Oa}from"./index-CTrP0U4H.js";import{g as it}from"./weapp-7oyywKeZ.js";import{u as Ma}from"./usePaging-VsbTxSU0.js";import{h as V}from"./perm-DXcCdETG.js";import{N as Qa,e as ot,A as Ya,W as Ba,O as dt,b as Ha,ab as Ga,G as ja,J as Ja,H as Ka,l as Xa,P as Za}from"./@element-plus/icons-vue-BDOO1F0I.js";import{d as rt}from"./dayjs-DG77mNTn.js";import{f as ut,b as en,d as tn,ak as l,I as o,J as s,a as n,aN as i,O as f,F as x,ap as z,H as _,aP as Le,G as $,P as le,A as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as Ne,n as c}from"./@vue/reactivity-DiY1c2vO.js";import{o as S,Q as p}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.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"./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 an={class:"dh5"},nn={class:"dh5-topbar"},sn={class:"dh5-search"},ln={class:"dh5-chips dh5-chips--scroll"},on=["onClick"],dn={key:0},rn={key:0},un={key:0},pn={key:0},cn={class:"dh5-quick"},mn={class:"dh5-quick-group"},_n=["onClick"],vn={class:"dh5-quick-group"},gn=["onClick"],fn={class:"dh5-more-filter"},hn={class:"dh5-list"},yn={key:0,class:"dh5-empty"},kn=["onClick"],bn={class:"dh5-card-avatar"},Cn={class:"dh5-card-id-name"},Vn={class:"dh5-card-name"},xn={key:0,class:"dh5-meta-gender"},Dn={key:1,class:"dh5-meta-age"},$n={class:"dh5-card-sub"},En={class:"dh5-card-tags"},Rn={key:0,class:"dh5-tag dh5-tag--ok"},In={key:1,class:"dh5-tag dh5-tag--warn"},An={key:2,class:"dh5-tag dh5-tag--info"},zn=["onClick"],Sn={class:"dh5-row-val"},wn={class:"dh5-apt-status"},Pn={class:"dh5-apt-doctor"},qn={class:"dh5-apt-time"},Ln={class:"dh5-apt-status"},Nn={class:"dh5-apt-doctor"},Tn={class:"dh5-apt-time"},Fn={key:1,class:"dh5-apt-none"},Wn={key:0,class:"dh5-row dh5-row--followup"},Un={class:"dh5-row-val"},On={class:"dh5-meta-doctor"},Mn={key:0,class:"dh5-tag dh5-tag--gray"},Qn={class:"dh5-row"},Yn={class:"dh5-row-val"},Bn={key:1,class:"dh5-row"},Hn={class:"dh5-row-val"},Gn={key:0,class:"dh5-meta-mute"},jn={key:1},Jn={key:0,class:"dh5-card-watch"},Kn={class:"dh5-watch-tip"},Xn={key:1,class:"dh5-watch-mute"},Zn={class:"dh5-card-foot"},es={key:2,class:"dh5-no-more"},ts={key:0,class:"dh5-actions"},as={class:"dh5-form-tip"},ns={class:"font-medium"},ss={class:"dh5-qr"},ls={key:0,class:"dh5-qr-loading"},is={key:1},os=["src"],ds={class:"dh5-qr-meta"},rs={key:2,class:"dh5-qr-fail"},us={key:0,class:"dh5-wx-contact"},ps={class:"dh5-wx-contact-row"},cs={class:"dh5-wx-val"},ms={class:"dh5-wx-contact-row"},_s={class:"dh5-wx-val"},vs={key:0},gs={class:"dh5-wx-contact-row"},fs={class:"dh5-wx-val"},hs={class:"dh5-wx-add"},ys={class:"dh5-wx-list-wrap"},ks={key:0,class:"dh5-wx-empty"},bs={key:1,class:"dh5-wx-list"},Cs={class:"dh5-wx-head"},Vs={class:"dh5-wx-head-left"},xs={class:"dh5-wx-name"},Ds={class:"dh5-wx-head-right"},$s={class:"dh5-wx-time"},Es={class:"dh5-wx-content"},Rs={key:0,class:"dh5-wx-media"},Is=ut({name:"tcmDiagnosisH5"}),As=ut({...Is,setup(zs){const pt=le(()=>se(()=>import("./edit-tIgNbGpF.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),ct=le(()=>se(()=>import("./detail-B7Tq5vvE.js"),__vite__mapDeps([99,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),mt=le(()=>se(()=>import("./index-BkAQMDuL.js"),__vite__mapDeps([90,1,2,3,4,5,6,7,8,9,10,11,12,13,14,91,92,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,93,94,15,95,96]))),_t=le(()=>se(()=>import("./appointment-HBlY2QZE.js"),__vite__mapDeps([100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,101]))),vt=le(()=>se(()=>import("./AssistantWatchCallDialog-C1IKY9Ij.js"),__vite__mapDeps([102,1,2,3,4,5,6,7,8,9,10,11,12,13,14,103,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,104]))),ie=Ua(),gt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return rt(e).format("YYYY-MM-DD HH:mm")},ft=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return rt(e).format("YYYY-MM-DD HH:mm")},Te=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),R=t=>String(t).padStart(2,"0"),ve=M(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),ge=M(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),G=M(()=>{const t=new Date;return`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),fe=M(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),he=M(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),d=Ne({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:""}),j=c(!1),ht=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],yt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],kt=M(()=>[{label:"昨天挂号",value:ve.value},{label:"前天挂号",value:ge.value},{label:"当天挂号",value:G.value},{label:"明天挂号",value:fe.value},{label:"后天挂号",value:he.value},{label:"全部",value:""}]),ye=c({}),ke=c(void 0),be=c(void 0),Ce=c(void 0),{pager:h,getLists:b}=Ma({fetchFun:E,params:d}),Ve=M(()=>h.lists.length<(h.count||0)),Fe=()=>b({silent:!0}),Y=()=>{h.page=1,b(),D()},bt=()=>{d.keyword="",d.diagnosis_type="",d.syndrome_type="",d.assistant_id="",d.diagnosis_confirmed="",d.appointment_date=G.value,d.has_appointment="",d.pending_assign="",d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},Ct=t=>{d.has_appointment=t,d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},Vt=t=>{d.diagnosis_confirmed=t,d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},xt=async t=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date=t,h.page=1,await b(),D()},Dt=async()=>{d.pending_assign="",d.pending_booking="1",d.completed_appointment="",d.appointment_date="",d.has_appointment="0",h.page=1,await b(),D()},$t=async()=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="1",d.has_appointment="",d.appointment_date="",h.page=1,await b(),D()},Et=async()=>{d.pending_assign="1",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date="",h.page=1,await b(),D()},D=async()=>{try{const[t,e,r,u,k,C,w,ae,U]=await Promise.all([E({appointment_date:ve.value,page_no:1,page_size:1}),E({appointment_date:ge.value,page_no:1,page_size:1}),E({appointment_date:G.value,page_no:1,page_size:1}),E({appointment_date:fe.value,page_no:1,page_size:1}),E({appointment_date:he.value,page_no:1,page_size:1}),E({page_no:1,page_size:1}),E({has_appointment:0,page_no:1,page_size:1}),E({completed_appointment:1,page_no:1,page_size:1}),E({pending_assign:1,page_no:1,page_size:1})]);ye.value={[ve.value]:(t==null?void 0:t.count)??0,[ge.value]:(e==null?void 0:e.count)??0,[G.value]:(r==null?void 0:r.count)??0,[fe.value]:(u==null?void 0:u.count)??0,[he.value]:(k==null?void 0:k.count)??0,"":(C==null?void 0:C.count)??0},ke.value=(w==null?void 0:w.count)??0,be.value=(ae==null?void 0:ae.count)??0,Ce.value=(U==null?void 0:U.count)??0}catch(t){console.error("获取日期数量失败",t)}},Rt=async()=>{if(h.loading||!Ve.value)return;const t=(h.page||1)+1;h.loading=!0;try{const e=await E({page_no:t,page_size:h.size,...d});h.page=t,h.lists.push(...(e==null?void 0:e.lists)||[]),h.count=(e==null?void 0:e.count)??h.count}catch(e){console.error("加载更多失败:",e)}finally{h.loading=!1}},xe=c([]),De=c([]),J=c([]),It=async()=>{try{const[t,e,r]=await Promise.all([lt({type:"diagnosis_type"}),lt({type:"syndrome_type"}),za()]);xe.value=(t==null?void 0:t.diagnosis_type)||[],De.value=(e==null?void 0:e.syndrome_type)||[],J.value=r||[]}catch(t){console.error("获取字典数据失败:",t)}},We=(t,e)=>{const r=t.find(u=>u.value===e);return r?r.name:e||"-"},At=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(J.value.length===0)return"...";const r=J.value.find(u=>(typeof u.id=="string"?parseInt(u.id):u.id)===e);return r?r.name:"-"},Ue=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(r=>r.is_confirmed==1)},zt=t=>Ue(t)?t.has_appointment?"":"dh5-card--noapt":"dh5-card--unconfirmed",St=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},wt=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},Oe=t=>{const e=Array.isArray(t.appointments)?t.appointments:[];return e.length>0?e:t.has_appointment?[{id:t.appointment_id,status:t.appointment_status,doctor_id:t.appointment_doctor_id,doctor_name:t.appointment_doctor_name,time_text:t.appointment_time_text}]:[]},Pt=t=>{const e=Number(t==null?void 0:t.status);return{"dh5-apt-item--done":e===3,"dh5-apt-item--missed":e===4,"dh5-apt-item--active":e===1}},qt=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},K=t=>t.has_appointment&&Number(t.appointment_status)===1,Me=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Lt=t=>{var r;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((r=ie.userInfo)==null?void 0:r.id)},$e=t=>Lt(t)&&V(["tcm.diagnosis/watchCall"]),X=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},Nt=t=>{const e=X(t);return e==="live"||e==="pending_room"},Tt=t=>X(t)==="pending_room"?"医生未接通或未同步房间":"点击进入实时房间",Ft=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Wt=t=>{const e=X(t);if(e==="none")return"";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const r=t.video_call_hint;return(r==null?void 0:r.label)||""},Ut=t=>{if($e(t))return!0;const e=X(t);return e==="live"||e==="pending_room"},Ee=c(!1),Qe=c(0),Ot=t=>{if(X(t)!=="live"){g.msgWarning("医生未接通或未同步房间号,请稍后再试");return}Qe.value=Number(t.id)||0,Ee.value=!0},oe=c(),Ye=c(),Be=c(),He=c(),Mt=()=>{var t;return(t=oe.value)==null?void 0:t.open("add")},Qt=t=>{var e;return(e=oe.value)==null?void 0:e.open("edit",t)},Ge=t=>{var e;return(e=Ye.value)==null?void 0:e.open(t)},je=t=>(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方",Yt=t=>{var e;if(!(t!=null&&t.id)){g.msgWarning("诊单信息不完整");return}(e=Be.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},Bt=()=>{var t,e;b(),(e=(t=oe.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Ht=t=>{var e;if(!t.patient_id){g.msgWarning("患者信息不完整");return}(e=He.value)==null||e.open(t)},Gt=async t=>{await g.confirm("确定要删除该诊单吗?"),await Ta({id:t}),b()},de=c(!1),P=c(null),jt=t=>{P.value=t,de.value=!0},q=t=>{const e=P.value;if(de.value=!1,!!e)switch(t){case"assign":Jt(e);break;case"videoQr":if(!K(e)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}Ke(e);break;case"confirmQr":Xe(e);break;case"cancelApt":oa(e);break;case"fillIdCard":na(e);break;case"order":Zt(e);break;case"wechat":Ze(e);break;case"delete":Gt(e.id);break}},Z=c(!1),Re=c(!1),re=c(null),B=c({assistant_id:null}),Jt=t=>{re.value=t,B.value.assistant_id=t.assistant_id?Number(t.assistant_id):null,Z.value=!0},Kt=async()=>{if(!B.value.assistant_id){g.msgWarning("请选择医助");return}Re.value=!0;try{await Sa({id:re.value.id,assistant_id:B.value.assistant_id}),Z.value=!1,b()}catch(t){console.error("指派失败:",t)}finally{Re.value=!1}},ee=c(!1),ue=c(),Ie=c(!1),v=Ne({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),Xt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},Zt=t=>{var e;v.patient_id=t.patient_id||t.id,v.patient_name=t.patient_name,v.phone=t.phone||"",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!!t.has_appointment,v.appointment_time_text=t.appointment_time_text||"",(e=ue.value)==null||e.clearValidate(),ee.value=!0},ea=()=>{var t;v.patient_id="",v.patient_name="",v.phone="",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!1,v.appointment_time_text="",(t=ue.value)==null||t.clearValidate()},ta=async()=>{var t;try{await((t=ue.value)==null?void 0:t.validate()),Ie.value=!0;const e=await Fa({patient_id:v.patient_id,order_type:v.order_type,amount:v.amount,remark:v.remark});ee.value=!1,b();const r=e==null?void 0:e.order_no;if(r){L.value=!0,N.value=!0,T.value="",pe.value="收款二维码",F.value={patient_name:v.patient_name,has_appointment:v.has_appointment,appointment_time_text:v.appointment_time_text};try{const u=await wa({order_no:r});u!=null&&u.qrcode_url?T.value=u.qrcode_url:g.msgError("二维码生成失败")}catch(u){g.msgError((u==null?void 0:u.msg)||"生成二维码失败")}finally{N.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ie.value=!1}},te=c(!1),Ae=c(!1),Je=c(),I=Ne({id:0,patient_name:"",id_card:""}),aa={id_card:[{required:!0,validator:(t,e,r)=>{if(!e){r(new Error("请输入身份证号"));return}const u=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),k=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);u||k?r():r(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},na=t=>{I.id=t.id,I.patient_name=t.patient_name||"-",I.id_card=t.id_card||"",te.value=!0},sa=async()=>{var t;await((t=Je.value)==null?void 0:t.validate()),Ae.value=!0;try{await Pa({id:I.id,id_card:I.id_card}),g.msgSuccess("补全成功,年龄已自动更新"),te.value=!1,b()}catch(e){g.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ae.value=!1}},L=c(!1),N=c(!1),T=c(""),F=c(null),pe=c("小程序二维码"),ze=c("confirm"),la=M(()=>{const t=F.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ke=async t=>{var e;if(!K(t)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}ze.value="video",F.value=t,L.value=!0,N.value=!0,T.value="",pe.value="视频二维码";try{const r=await it();if(!(r!=null&&r.app_id)){g.msgError("小程序未配置"),L.value=!1;return}const u=await nt({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ie.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});u!=null&&u.qrcode_url?T.value=u.qrcode_url:g.msgError("二维码生成失败")}catch(r){g.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{N.value=!1}},Xe=async t=>{var e;if(!K(t)){g.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}ze.value="confirm",F.value=t,L.value=!0,N.value=!0,T.value="",pe.value="诊单二维码";try{const r=await it();if(!(r!=null&&r.app_id)){g.msgError("小程序未配置"),L.value=!1;return}const u=await nt({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ie.userInfo)==null?void 0:e.id)||""});u!=null&&u.qrcode_url?T.value=u.qrcode_url:g.msgError("二维码生成失败")}catch(r){g.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{N.value=!1}},ia=()=>{F.value&&(ze.value==="video"?Ke(F.value):Xe(F.value))},oa=async t=>{if(!Me(t)){const e=Number(t.appointment_status);t.has_appointment&&e===3?g.msgWarning("已完成就诊,无法取消挂号"):g.msgWarning("该诊单未挂号或挂号信息异常");return}try{await g.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await Wa({id:t.appointment_id}),g.msgSuccess("取消挂号成功"),b(),D()}catch(e){e!=="cancel"&&g.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},Se=c(!1),A=c(null),W=c([]),ce=c(0),me=c(!1),Q=c(null),H=c(""),we=c(!1),Pe=c(1),Ze=async t=>{A.value=t,Se.value=!0,W.value=[],ce.value=0,Q.value=null,H.value="",Pe.value=1,me.value=!0;try{const[e,r]=await Promise.all([st({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),qa({patient_id:t.patient_id||t.id}).catch(()=>null)]);W.value=(e==null?void 0:e.lists)||[],ce.value=(e==null?void 0:e.count)||0,Q.value=r}catch(e){console.error(e)}finally{me.value=!1}},da=async()=>{if(A.value){Pe.value++;try{const t=await st({diagnosis_id:A.value.id,patient_id:A.value.patient_id,page_no:Pe.value,page_size:20});W.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error(t)}}},ra=async()=>{var t;if(!H.value.trim()){g.msgWarning("请输入内容");return}we.value=!0;try{await La({diagnosis_id:A.value.id,patient_id:A.value.patient_id,content:H.value.trim(),msg_type:"note",staff_name:((t=ie.userInfo)==null?void 0:t.name)||"",external_name:A.value.patient_name||""}),H.value="",Ze(A.value)}catch(e){g.msgError((e==null?void 0:e.msg)||"添加失败")}finally{we.value=!1}},ua=async t=>{await g.confirm("确定删除该记录吗?");try{await Na({id:t}),W.value=W.value.filter(e=>e.id!==t),ce.value--}catch(e){g.msgError((e==null?void 0:e.msg)||"删除失败")}},pa=15e3;let _e=null;const ca=()=>{typeof document<"u"&&document.hidden||(b({silent:!0}).catch(()=>{}),D())};return en(async()=>{document.body.classList.add("h5-mode"),d.appointment_date=G.value,It(),b(),typeof requestIdleCallback=="function"?requestIdleCallback(()=>D(),{timeout:2500}):setTimeout(D,200),_e=setInterval(ca,pa)}),tn(()=>{document.body.classList.remove("h5-mode"),_e&&(clearInterval(_e),_e=null)}),(t,e)=>{var at;const r=va,u=ga,k=fa,C=ha,w=ya,ae=ba,U=Ca,O=xa,qe=Va,ma=Da,et=$a,ne=Ea,_a=Ra,tt=ka;return l(),o("div",an,[s("header",nn,[s("div",sn,[n(r,{modelValue:d.keyword,"onUpdate:modelValue":e[0]||(e[0]=a=>d.keyword=a),placeholder:"患者姓名 / 手机号",clearable:"","prefix-icon":m(Qa),onKeyup:Ia(Y,["enter"]),onClear:Y},null,8,["modelValue","prefix-icon"]),n(u,{class:"dh5-search-btn",type:"primary",onClick:Y},{default:i(()=>[...e[31]||(e[31]=[f("查询",-1)])]),_:1})]),s("div",ln,[(l(!0),o(x,null,z(kt.value,a=>(l(),o("span",{key:a.value||"all",class:S(["dh5-chip",{active:d.pending_assign!=="1"&&d.pending_booking!=="1"&&d.completed_appointment!=="1"&&d.appointment_date===a.value}]),onClick:y=>xt(a.value)},[f(p(a.label)+" ",1),ye.value[a.value]!==void 0?(l(),o("em",dn,p(ye.value[a.value]),1)):_("",!0)],10,on))),128)),s("span",{class:S(["dh5-chip","dh5-chip--booking",{active:d.pending_booking==="1"}]),onClick:Dt},[e[32]||(e[32]=f(" 待预约 ",-1)),ke.value!==void 0?(l(),o("em",rn,p(ke.value),1)):_("",!0)],2),s("span",{class:S(["dh5-chip","dh5-chip--done",{active:d.completed_appointment==="1"}]),onClick:$t},[e[33]||(e[33]=f(" 已完成 ",-1)),be.value!==void 0?(l(),o("em",un,p(be.value),1)):_("",!0)],2),m(V)(["tcm.diagnosis/assign"])?(l(),o("span",{key:0,class:S(["dh5-chip","dh5-chip--pending",{active:d.pending_assign==="1"}]),onClick:Et},[e[34]||(e[34]=f(" 待分配医助 ",-1)),Ce.value!==void 0?(l(),o("em",pn,p(Ce.value),1)):_("",!0)],2)):_("",!0)]),s("div",cn,[s("div",mn,[e[35]||(e[35]=s("span",{class:"dh5-quick-label"},"挂号",-1)),(l(),o(x,null,z(ht,a=>s("span",{key:"a"+a.value,class:S(["dh5-pill",{active:d.has_appointment===a.value}]),onClick:y=>Ct(a.value)},p(a.label),11,_n)),64))]),s("div",vn,[e[36]||(e[36]=s("span",{class:"dh5-quick-label"},"确认",-1)),(l(),o(x,null,z(yt,a=>s("span",{key:"c"+a.value,class:S(["dh5-pill",{active:d.diagnosis_confirmed===a.value}]),onClick:y=>Vt(a.value)},p(a.label),11,gn)),64))]),n(u,{link:"",type:"primary",size:"small",class:"dh5-more-toggle",onClick:e[1]||(e[1]=a=>j.value=!j.value)},{default:i(()=>[f(p(j.value?"收起":"更多")+" ",1),n(k,{class:S({"rotate-180":j.value})},{default:i(()=>[n(m(ot))]),_:1},8,["class"])]),_:1})]),Le(s("div",fn,[n(w,{modelValue:d.diagnosis_type,"onUpdate:modelValue":e[2]||(e[2]=a=>d.diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:Y},{default:i(()=>[(l(!0),o(x,null,z(xe.value,a=>(l(),$(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(w,{modelValue:d.syndrome_type,"onUpdate:modelValue":e[3]||(e[3]=a=>d.syndrome_type=a),placeholder:"证型",clearable:"",size:"small",onChange:Y},{default:i(()=>[(l(!0),o(x,null,z(De.value,a=>(l(),$(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(w,{modelValue:d.assistant_id,"onUpdate:modelValue":e[4]||(e[4]=a=>d.assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:Y},{default:i(()=>[(l(!0),o(x,null,z(J.value,a=>(l(),$(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(u,{size:"small",onClick:bt},{default:i(()=>[...e[37]||(e[37]=[f("重置",-1)])]),_:1})],512),[[Aa,j.value]])]),Le((l(),o("main",hn,[m(h).lists.length===0&&!m(h).loading?(l(),o("div",yn,[n(ae,{description:"暂无诊单","image-size":120})])):_("",!0),(l(!0),o(x,null,z(m(h).lists,a=>(l(),o("article",{key:a.id,class:S(["dh5-card",zt(a)])},[s("header",{class:"dh5-card-head",onClick:y=>Ge(a.id)},[s("div",bn,p((a.patient_name||"患").charAt(0)),1),s("div",Cn,[s("div",Vn,[f(p(a.patient_name||"-")+" ",1),a.gender_desc?(l(),o("span",xn,p(a.gender_desc),1)):_("",!0),a.age!=null?(l(),o("span",Dn,p(a.age)+"岁",1)):_("",!0)]),s("div",$n," #"+p(a.id)+" · "+p(a.diagnosis_date_text||gt(a.create_time)),1)]),s("div",En,[Ue(a)?(l(),o("span",Rn,"已确认")):(l(),o("span",In,"未确认")),a.has_prescription?(l(),o("span",An,"已开方")):_("",!0)])],8,kn),s("section",{class:"dh5-card-body",onClick:y=>Ge(a.id)},[s("div",{class:S(["dh5-row","dh5-row--apt",qt(a)])},[e[38]||(e[38]=s("span",{class:"dh5-row-key"},"挂号",-1)),s("div",Sn,[a.has_appointment?(l(),o(x,{key:0},[Oe(a).length?(l(!0),o(x,{key:0},z(Oe(a),y=>(l(),o("div",{key:y.id||`${y.doctor_id}-${y.time_text}`,class:S(["dh5-apt-item",Pt(y)])},[s("span",wn,p(wt(y.status)),1),s("span",Pn,p(y.doctor_name||"-"),1),s("span",qn,p(y.time_text||"-"),1)],2))),128)):(l(),o(x,{key:1},[s("span",Ln,p(St(a)),1),s("span",Nn,p(a.appointment_doctor_name||"-"),1),s("span",Tn,p(a.appointment_time_text||"-"),1)],64))],64)):(l(),o("span",Fn,"未挂号"))])],2),a.has_prescription?(l(),o("div",Wn,[e[39]||(e[39]=s("span",{class:"dh5-row-key"},"复诊",-1)),s("div",Un,[s("span",null,p(a.followup_time_text||"—"),1),s("span",On,p(a.followup_doctor_name||"—"),1),a.followup_rx_voided?(l(),o("span",Mn,"处方作废")):_("",!0)])])):_("",!0),s("div",Qn,[e[40]||(e[40]=s("span",{class:"dh5-row-key"},"助理",-1)),s("span",Yn,p(At(a.assistant_id||a.assistant)),1)]),a.diagnosis_type?(l(),o("div",Bn,[e[41]||(e[41]=s("span",{class:"dh5-row-key"},"诊断",-1)),s("span",Hn,[f(p(We(xe.value,a.diagnosis_type))+" ",1),a.syndrome_type?(l(),o("span",Gn,"·")):_("",!0),a.syndrome_type?(l(),o("span",jn,p(We(De.value,a.syndrome_type)),1)):_("",!0)])])):_("",!0)],8,zn),Ut(a)?(l(),o("div",Jn,[$e(a)&&Nt(a)?(l(),o(x,{key:0},[n(u,{type:"primary",size:"small",icon:m(Za),onClick:y=>Ot(a)},{default:i(()=>[...e[42]||(e[42]=[f(" 进入旁观 ",-1)])]),_:1},8,["icon","onClick"]),s("span",Kn,p(Tt(a)),1)],64)):(l(),o("span",Xn,p($e(a)?Ft(a):Wt(a)),1))])):_("",!0),s("footer",Zn,[m(V)(["tcm.diagnosis/edit"])?(l(),$(u,{key:0,type:"primary",size:"small",plain:"",onClick:y=>Qt(a.id)},{default:i(()=>[...e[43]||(e[43]=[f(" 诊单 ",-1)])]),_:1},8,["onClick"])):_("",!0),m(V)(["tcm.diagnosis/kaifang"])?(l(),$(u,{key:1,type:je(a)==="查看"?"success":"primary",size:"small",onClick:y=>Yt(a)},{default:i(()=>[f(p(je(a)),1)]),_:2},1032,["type","onClick"])):_("",!0),m(V)(["tcm.diagnosis/guahao"])?(l(),$(u,{key:2,type:"success",size:"small",plain:"",onClick:y=>Ht(a)},{default:i(()=>[...e[44]||(e[44]=[f(" 预约 ",-1)])]),_:1},8,["onClick"])):_("",!0),n(u,{size:"small",class:"dh5-more-btn",onClick:y=>jt(a)},{default:i(()=>[e[45]||(e[45]=f(" 更多",-1)),n(k,{class:"el-icon--right"},{default:i(()=>[n(m(ot))]),_:1})]),_:1},8,["onClick"])])],2))),128)),Ve.value?(l(),o("div",{key:1,class:"dh5-load-more",onClick:Rt},p(m(h).loading?"加载中…":"加载更多"),1)):_("",!0),!Ve.value&&m(h).lists.length>0?(l(),o("div",es,"— 没有更多了 —")):_("",!0)])),[[tt,m(h).loading]]),m(V)(["tcm.diagnosis/add"])?(l(),o("button",{key:0,class:"dh5-fab",type:"button","aria-label":"新增诊单",onClick:Mt},[n(k,{size:22},{default:i(()=>[n(m(Ya))]),_:1})])):_("",!0),n(m(pt),{ref_key:"editRef",ref:oe,onSuccess:Fe},null,512),n(m(ct),{ref_key:"detailRef",ref:Ye},null,512),n(m(mt),{ref_key:"prescriptionRef",ref:Be,onSuccess:Bt},null,512),n(m(_t),{ref_key:"appointmentRef",ref:He,onSuccess:Fe},null,512),n(m(vt),{modelValue:Ee.value,"onUpdate:modelValue":e[5]||(e[5]=a=>Ee.value=a),"diagnosis-id":Qe.value,onClosed:m(b)},null,8,["modelValue","diagnosis-id","onClosed"]),n(U,{modelValue:de.value,"onUpdate:modelValue":e[14]||(e[14]=a=>de.value=a),title:P.value?`${P.value.patient_name||"诊单"} · 更多操作`:"更多操作",direction:"btt",size:"auto","with-header":!0,"destroy-on-close":!0},{default:i(()=>[P.value?(l(),o("div",ts,[m(V)(["tcm.diagnosis/assign"])?(l(),o("button",{key:0,class:"dh5-action",onClick:e[6]||(e[6]=a=>q("assign"))},[n(k,null,{default:i(()=>[n(m(Ba))]),_:1}),e[46]||(e[46]=s("span",null,"指派医助",-1))])):_("",!0),K(P.value)&&m(V)(["tcm.diagnosis/videoQr"])?(l(),o("button",{key:1,class:"dh5-action",onClick:e[7]||(e[7]=a=>q("videoQr"))},[n(k,null,{default:i(()=>[n(m(dt))]),_:1}),e[47]||(e[47]=s("span",null,"视频二维码",-1))])):_("",!0),K(P.value)&&m(V)(["tcm.diagnosis/guahao"])?(l(),o("button",{key:2,class:"dh5-action",onClick:e[8]||(e[8]=a=>q("confirmQr"))},[n(k,null,{default:i(()=>[n(m(dt))]),_:1}),e[48]||(e[48]=s("span",null,"诊单二维码",-1))])):_("",!0),Me(P.value)&&m(V)(["tcm.diagnosis/guahao"])?(l(),o("button",{key:3,class:"dh5-action",onClick:e[9]||(e[9]=a=>q("cancelApt"))},[n(k,null,{default:i(()=>[n(m(Ha))]),_:1}),e[49]||(e[49]=s("span",null,"取消挂号",-1))])):_("",!0),m(V)(["tcm.diagnosis/edit"])?(l(),o("button",{key:4,class:"dh5-action",onClick:e[10]||(e[10]=a=>q("fillIdCard"))},[n(k,null,{default:i(()=>[n(m(Ga))]),_:1}),e[50]||(e[50]=s("span",null,"补全身份证",-1))])):_("",!0),m(V)(["tcm.diagnosis/order"])?(l(),o("button",{key:5,class:"dh5-action",onClick:e[11]||(e[11]=a=>q("order"))},[n(k,null,{default:i(()=>[n(m(ja))]),_:1}),e[51]||(e[51]=s("span",null,"创建订单",-1))])):_("",!0),s("button",{class:"dh5-action",onClick:e[12]||(e[12]=a=>q("wechat"))},[n(k,null,{default:i(()=>[n(m(Ja))]),_:1}),e[52]||(e[52]=s("span",null,"企微记录",-1))]),m(V)(["tcm.diagnosis/delete"])?(l(),o("button",{key:6,class:"dh5-action dh5-action--danger",onClick:e[13]||(e[13]=a=>q("delete"))},[n(k,null,{default:i(()=>[n(m(Ka))]),_:1}),e[53]||(e[53]=s("span",null,"删除诊单",-1))])):_("",!0)])):_("",!0)]),_:1},8,["modelValue","title"]),n(U,{modelValue:Z.value,"onUpdate:modelValue":e[17]||(e[17]=a=>Z.value=a),title:"指派医助",direction:"btt",size:"46%"},{footer:i(()=>[n(u,{class:"dh5-flex1",onClick:e[16]||(e[16]=a=>Z.value=!1)},{default:i(()=>[...e[54]||(e[54]=[f("取消",-1)])]),_:1}),n(u,{class:"dh5-flex1",type:"primary",loading:Re.value,onClick:Kt},{default:i(()=>[...e[55]||(e[55]=[f(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{model:B.value,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(O,{label:"选择医助",required:""},{default:i(()=>[n(w,{modelValue:B.value.assistant_id,"onUpdate:modelValue":e[15]||(e[15]=a=>B.value.assistant_id=a),placeholder:"请选择医助",class:"!w-full",filterable:"",clearable:""},{default:i(()=>[(l(!0),o(x,null,z(J.value,a=>(l(),$(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(O,{label:"诊单信息"},{default:i(()=>{var a,y;return[s("div",as,[s("div",null,"患者:"+p((a=re.value)==null?void 0:a.patient_name),1),s("div",null,"诊断日期:"+p(((y=re.value)==null?void 0:y.diagnosis_date_text)||"—"),1)])]}),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(U,{modelValue:ee.value,"onUpdate:modelValue":e[22]||(e[22]=a=>ee.value=a),title:"创建订单",direction:"btt",size:"64%",onClose:ea},{footer:i(()=>[n(u,{class:"dh5-flex1",onClick:e[21]||(e[21]=a=>ee.value=!1)},{default:i(()=>[...e[56]||(e[56]=[f("取消",-1)])]),_:1}),n(u,{class:"dh5-flex1",type:"primary",loading:Ie.value,onClick:ta},{default:i(()=>[...e[57]||(e[57]=[f(" 创建订单 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{ref_key:"orderFormRef",ref:ue,model:v,rules:Xt,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(O,{label:"患者"},{default:i(()=>[s("span",null,p(v.patient_name)+" ("+p(Te(v.phone))+")",1)]),_:1}),n(O,{label:"订单类型",prop:"order_type"},{default:i(()=>[n(w,{modelValue:v.order_type,"onUpdate:modelValue":e[18]||(e[18]=a=>v.order_type=a),placeholder:"请选择",class:"!w-full"},{default:i(()=>[n(C,{label:"挂号费",value:1}),n(C,{label:"问诊费",value:2}),n(C,{label:"药品费用",value:3}),n(C,{label:"首付费用",value:4}),n(C,{label:"尾款费用",value:5}),n(C,{label:"其他费用",value:6}),n(C,{label:"全部费用",value:7}),n(C,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),n(O,{label:"订单金额",prop:"amount"},{default:i(()=>[n(ma,{modelValue:v.amount,"onUpdate:modelValue":e[19]||(e[19]=a=>v.amount=a),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"!w-full"},null,8,["modelValue"])]),_:1}),n(O,{label:"备注",prop:"remark"},{default:i(()=>[n(r,{modelValue:v.remark,"onUpdate:modelValue":e[20]||(e[20]=a=>v.remark=a),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(et,{modelValue:te.value,"onUpdate:modelValue":e[25]||(e[25]=a=>te.value=a),title:"补全身份证号","close-on-click-modal":!1,onClose:e[26]||(e[26]=a=>I.id_card="")},{footer:i(()=>[n(u,{onClick:e[24]||(e[24]=a=>te.value=!1)},{default:i(()=>[...e[58]||(e[58]=[f("取消",-1)])]),_:1}),n(u,{type:"primary",loading:Ae.value,onClick:sa},{default:i(()=>[...e[59]||(e[59]=[f(" 提交 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{ref_key:"fillIdCardFormRef",ref:Je,model:I,rules:aa,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(O,{label:"患者"},{default:i(()=>[s("span",ns,p(I.patient_name),1)]),_:1}),n(O,{label:"身份证号",prop:"id_card"},{default:i(()=>[n(r,{modelValue:I.id_card,"onUpdate:modelValue":e[23]||(e[23]=a=>I.id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(et,{modelValue:L.value,"onUpdate:modelValue":e[28]||(e[28]=a=>L.value=a),title:pe.value,"close-on-click-modal":!1},{footer:i(()=>[n(u,{onClick:e[27]||(e[27]=a=>L.value=!1)},{default:i(()=>[...e[62]||(e[62]=[f("关闭",-1)])]),_:1}),N.value?_("",!0):(l(),$(u,{key:0,type:"primary",onClick:ia},{default:i(()=>[...e[63]||(e[63]=[f("重新生成",-1)])]),_:1}))]),default:i(()=>{var a;return[s("div",ss,[N.value?(l(),o("div",ls,[n(k,{class:"is-loading",size:36},{default:i(()=>[n(m(Xa))]),_:1}),e[60]||(e[60]=s("div",{class:"dh5-qr-tip"},"生成中...",-1))])):T.value?(l(),o("div",is,[s("img",{src:T.value,alt:"小程序二维码",class:"dh5-qr-img"},null,8,os),s("div",ds,[s("div",null,"患者:"+p((a=F.value)==null?void 0:a.patient_name),1),s("div",null,"挂号时间:"+p(la.value),1),e[61]||(e[61]=s("div",{class:"dh5-qr-hint"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(l(),o("div",rs,"生成失败,请重试"))])]}),_:1},8,["modelValue","title"]),n(U,{modelValue:Se.value,"onUpdate:modelValue":e[30]||(e[30]=a=>Se.value=a),title:`企微记录 - ${((at=A.value)==null?void 0:at.patient_name)||""}`,direction:"rtl",size:"100%","destroy-on-close":!0},{default:i(()=>[Q.value?(l(),o("div",us,[s("div",ps,[e[64]||(e[64]=s("span",{class:"dh5-wx-key"},"手机号",-1)),s("span",cs,p(Te(Q.value.phone)||"-"),1)]),s("div",ms,[e[66]||(e[66]=s("span",{class:"dh5-wx-key"},"企微 ID",-1)),s("span",_s,[Q.value.external_userid?(l(),o("span",vs,p(Q.value.external_userid),1)):(l(),$(ne,{key:1,type:"info",size:"small"},{default:i(()=>[...e[65]||(e[65]=[f("未关联",-1)])]),_:1}))])]),s("div",gs,[e[69]||(e[69]=s("span",{class:"dh5-wx-key"},"会话存档",-1)),s("span",fs,[Q.value.msgaudit_enabled?(l(),$(ne,{key:0,type:"success",size:"small"},{default:i(()=>[...e[67]||(e[67]=[f("已开通",-1)])]),_:1})):(l(),$(ne,{key:1,type:"info",size:"small"},{default:i(()=>[...e[68]||(e[68]=[f("未配置",-1)])]),_:1}))])])])):_("",!0),s("div",hs,[n(r,{modelValue:H.value,"onUpdate:modelValue":e[29]||(e[29]=a=>H.value=a),type:"textarea",rows:2,placeholder:"添加沟通记录..."},null,8,["modelValue"]),n(u,{type:"primary",loading:we.value,size:"small",onClick:ra},{default:i(()=>[...e[70]||(e[70]=[f(" 添加 ",-1)])]),_:1},8,["loading"])]),Le((l(),o("div",ys,[W.value.length===0&&!me.value?(l(),o("div",ks," 暂无聊天记录 ")):(l(),o("div",bs,[(l(!0),o(x,null,z(W.value,a=>{var y;return l(),o("div",{key:a.id,class:"dh5-wx-item"},[s("div",Cs,[s("div",Vs,[n(ne,{type:a.direction===0?"primary":"success",size:"small"},{default:i(()=>[f(p(a.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),s("span",xs,p(a.direction===0?a.staff_name:a.external_name||((y=A.value)==null?void 0:y.patient_name)),1),a.msg_type==="note"?(l(),$(ne,{key:0,type:"warning",size:"small"},{default:i(()=>[...e[71]||(e[71]=[f("备注",-1)])]),_:1})):_("",!0)]),s("div",Ds,[s("span",$s,p(ft(a.chat_time)),1),n(u,{type:"danger",link:"",size:"small",onClick:ws=>ua(a.id)},{default:i(()=>[...e[72]||(e[72]=[f(" 删除 ",-1)])]),_:1},8,["onClick"])])]),s("div",Es,p(a.content),1),a.media_url?(l(),o("div",Rs,[n(_a,{src:a.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[a.media_url]},null,8,["src","preview-src-list"])])):_("",!0)])}),128))])),ce.value>W.value.length?(l(),o("div",{key:2,class:"dh5-load-more",onClick:da}," 加载更多 ")):_("",!0)])),[[tt,me.value]])]),_:1},8,["modelValue","title"])])}}}),Vl=Oa(As,[["__scopeId","data-v-82bf37f1"]]);export{Vl as default};
diff --git a/server/public/admin/assets/information-CJ_ACJIr.js b/server/public/admin/assets/information-Bugd02JW.js
similarity index 94%
rename from server/public/admin/assets/information-CJ_ACJIr.js
rename to server/public/admin/assets/information-Bugd02JW.js
index 704c1454..0af6b3c6 100644
--- a/server/public/admin/assets/information-CJ_ACJIr.js
+++ b/server/public/admin/assets/information-Bugd02JW.js
@@ -1 +1 @@
-import{_ as C}from"./index-CAKaWAWM.js";import{J as q,B as k,C as U,D as y,i as O}from"./element-plus-FSf94q2-.js";import{_ as P}from"./picker-Q2fI3dO8.js";import{a as M,b as B}from"./website-CpjZs1Di.js";import{e as E}from"./index-B9GiQBjX.js";import{f,as as G,ak as _,I as D,a as o,aN as m,J as i,aP as L,G as I,O as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,n as S,r as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-BDOO1F0I.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"./index-DYbQoSgX.js";import"./index-CMFkQD4s.js";import"./index.vue_vue_type_script_setup_true_lang-CcHKbLKc.js";import"./index-DkhUBw5I.js";import"./index-Wyb_vCaV.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BWkxVNko.js";import"./index.vue_vue_type_script_setup_true_lang-zIjDr0d2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.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"./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"./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 F={class:"website-information"},J={class:"w-80"},R={class:"w-80"},A={class:"w-80"},T={class:"w-80"},z={class:"w-80"},H=f({name:"webInformation"}),Qe=f({...H,setup(K){const u=S(),b=E(),l=W({name:"",web_favicon:"",web_logo:"",login_image:"",h5_favicon:"",shop_name:"",shop_logo:"",pc_logo:"",pc_title:"",pc_desc:"",pc_ico:"",pc_keywords:""}),v={name:[{required:!0,message:"请输入网站名称",trigger:["blur"]}],web_favicon:[{required:!0,message:"请选择网站图标",trigger:["change"]}],web_logo:[{required:!0,message:"请选择网站logo",trigger:["change"]}],login_image:[{required:!0,message:"请选择登录页广告图",trigger:["change"]}],shop_name:[{required:!0,message:"请输入店铺/商城名称",trigger:["blur"]}],shop_logo:[{required:!0,message:"请选择商城LOGO",trigger:["change"]}],pc_logo:[{required:!0,message:"请选择PC端LOGO",trigger:["change"]}],pc_title:[{required:!0,message:"请输入PC端网站标题",trigger:["blur"]}],pc_ico:[{required:!0,message:"请选择PC端网站图标",trigger:["change"]}]},g=async()=>{const a=await M();for(const e in l)l[e]=a[e]},w=async()=>{var a;await((a=u.value)==null?void 0:a.validate()),await B(l),b.getConfig(),g()};return g(),(a,e)=>{const d=U,p=k,s=P,n=q,V=y,c=O,x=C,j=G("perms");return _(),D("div",F,[o(V,{ref_key:"formRef",ref:u,rules:v,class:"ls-form",model:t(l),"label-width":"120px","scroll-to-error":""},{default:m(()=>[o(n,{shadow:"never",class:"!border-none"},{default:m(()=>[e[15]||(e[15]=i("div",{class:"text-xl font-medium mb-[20px]"},"后台设置",-1)),o(p,{label:"网站名称",prop:"name"},{default:m(()=>[i("div",J,[o(d,{modelValue:t(l).name,"onUpdate:modelValue":e[0]||(e[0]=r=>t(l).name=r),modelModifiers:{trim:!0},placeholder:"请输入网站名称",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"web_favicon",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).web_favicon,"onUpdate:modelValue":e[1]||(e[1]=r=>t(l).web_favicon=r),limit:1},null,8,["modelValue"]),e[12]||(e[12]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站LOGO",prop:"web_logo",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).web_logo,"onUpdate:modelValue":e[2]||(e[2]=r=>t(l).web_logo=r),modelModifiers:{trim:!0},limit:1},null,8,["modelValue"]),e[13]||(e[13]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"登录页广告图",prop:"login_image",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).login_image,"onUpdate:modelValue":e[3]||(e[3]=r=>t(l).login_image=r),modelModifiers:{trim:!0},limit:1},null,8,["modelValue"]),e[14]||(e[14]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(n,{shadow:"never",class:"!border-none mt-4"},{default:m(()=>[e[18]||(e[18]=i("div",{class:"text-xl font-medium mb-[20px]"},"前台设置",-1)),o(p,{label:"前台名称",prop:"shop_name"},{default:m(()=>[i("div",R,[o(d,{modelValue:t(l).shop_name,"onUpdate:modelValue":e[4]||(e[4]=r=>t(l).shop_name=r),modelModifiers:{trim:!0},placeholder:"请输入前台名称",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"web_favicon",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).h5_favicon,"onUpdate:modelValue":e[5]||(e[5]=r=>t(l).h5_favicon=r),limit:1},null,8,["modelValue"]),e[16]||(e[16]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"前台LOGO",prop:"shop_logo"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).shop_logo,"onUpdate:modelValue":e[6]||(e[6]=r=>t(l).shop_logo=r),limit:1},null,8,["modelValue"]),e[17]||(e[17]=i("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(n,{shadow:"never",class:"!border-none mt-4"},{default:m(()=>[e[21]||(e[21]=i("div",{class:"text-xl font-medium mb-[20px]"},"PC端设置",-1)),o(p,{label:"PC端LOGO",prop:"pc_logo"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).pc_logo,"onUpdate:modelValue":e[7]||(e[7]=r=>t(l).pc_logo=r),limit:1},null,8,["modelValue"]),e[19]||(e[19]=i("div",{class:"form-tips"},"建议尺寸:120*28px,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站标题",prop:"pc_title"},{default:m(()=>[i("div",A,[o(d,{modelValue:t(l).pc_title,"onUpdate:modelValue":e[8]||(e[8]=r=>t(l).pc_title=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站标题",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"pc_ico"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).pc_ico,"onUpdate:modelValue":e[9]||(e[9]=r=>t(l).pc_ico=r),limit:1},null,8,["modelValue"]),e[20]||(e[20]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站描述",prop:"pc_desc"},{default:m(()=>[i("div",T,[o(d,{modelValue:t(l).pc_desc,"onUpdate:modelValue":e[10]||(e[10]=r=>t(l).pc_desc=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站描述"},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站关键词",prop:"pc_keywords"},{default:m(()=>[i("div",z,[o(d,{modelValue:t(l).pc_keywords,"onUpdate:modelValue":e[11]||(e[11]=r=>t(l).pc_keywords=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站关键词"},null,8,["modelValue"])])]),_:1})]),_:1})]),_:1},8,["model"]),L((_(),I(x,null,{default:m(()=>[o(c,{type:"primary",onClick:w},{default:m(()=>[...e[22]||(e[22]=[N("保存",-1)])]),_:1})]),_:1})),[[j,["setting.web.web_setting/setWebsite"]]])])}}});export{Qe as default};
+import{_ as C}from"./index-BgQQegDi.js";import{J as q,B as k,C as U,D as y,i as O}from"./element-plus-FSf94q2-.js";import{_ as P}from"./picker-Eo9uFPHe.js";import{a as M,b as B}from"./website-CeoeBo-T.js";import{e as E}from"./index-CTrP0U4H.js";import{f,as as G,ak as _,I as D,a as o,aN as m,J as i,aP as L,G as I,O as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,n as S,r as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-BDOO1F0I.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"./index-CMNBpNeZ.js";import"./index-OAFucNt2.js";import"./index.vue_vue_type_script_setup_true_lang-CcHKbLKc.js";import"./index-DSwMUrWs.js";import"./index-Cz5OZUju.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-CYworXtr.js";import"./index.vue_vue_type_script_setup_true_lang-zIjDr0d2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.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"./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"./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 F={class:"website-information"},J={class:"w-80"},R={class:"w-80"},A={class:"w-80"},T={class:"w-80"},z={class:"w-80"},H=f({name:"webInformation"}),Qe=f({...H,setup(K){const u=S(),b=E(),l=W({name:"",web_favicon:"",web_logo:"",login_image:"",h5_favicon:"",shop_name:"",shop_logo:"",pc_logo:"",pc_title:"",pc_desc:"",pc_ico:"",pc_keywords:""}),v={name:[{required:!0,message:"请输入网站名称",trigger:["blur"]}],web_favicon:[{required:!0,message:"请选择网站图标",trigger:["change"]}],web_logo:[{required:!0,message:"请选择网站logo",trigger:["change"]}],login_image:[{required:!0,message:"请选择登录页广告图",trigger:["change"]}],shop_name:[{required:!0,message:"请输入店铺/商城名称",trigger:["blur"]}],shop_logo:[{required:!0,message:"请选择商城LOGO",trigger:["change"]}],pc_logo:[{required:!0,message:"请选择PC端LOGO",trigger:["change"]}],pc_title:[{required:!0,message:"请输入PC端网站标题",trigger:["blur"]}],pc_ico:[{required:!0,message:"请选择PC端网站图标",trigger:["change"]}]},g=async()=>{const a=await M();for(const e in l)l[e]=a[e]},w=async()=>{var a;await((a=u.value)==null?void 0:a.validate()),await B(l),b.getConfig(),g()};return g(),(a,e)=>{const d=U,p=k,s=P,n=q,V=y,c=O,x=C,j=G("perms");return _(),D("div",F,[o(V,{ref_key:"formRef",ref:u,rules:v,class:"ls-form",model:t(l),"label-width":"120px","scroll-to-error":""},{default:m(()=>[o(n,{shadow:"never",class:"!border-none"},{default:m(()=>[e[15]||(e[15]=i("div",{class:"text-xl font-medium mb-[20px]"},"后台设置",-1)),o(p,{label:"网站名称",prop:"name"},{default:m(()=>[i("div",J,[o(d,{modelValue:t(l).name,"onUpdate:modelValue":e[0]||(e[0]=r=>t(l).name=r),modelModifiers:{trim:!0},placeholder:"请输入网站名称",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"web_favicon",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).web_favicon,"onUpdate:modelValue":e[1]||(e[1]=r=>t(l).web_favicon=r),limit:1},null,8,["modelValue"]),e[12]||(e[12]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站LOGO",prop:"web_logo",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).web_logo,"onUpdate:modelValue":e[2]||(e[2]=r=>t(l).web_logo=r),modelModifiers:{trim:!0},limit:1},null,8,["modelValue"]),e[13]||(e[13]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"登录页广告图",prop:"login_image",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).login_image,"onUpdate:modelValue":e[3]||(e[3]=r=>t(l).login_image=r),modelModifiers:{trim:!0},limit:1},null,8,["modelValue"]),e[14]||(e[14]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(n,{shadow:"never",class:"!border-none mt-4"},{default:m(()=>[e[18]||(e[18]=i("div",{class:"text-xl font-medium mb-[20px]"},"前台设置",-1)),o(p,{label:"前台名称",prop:"shop_name"},{default:m(()=>[i("div",R,[o(d,{modelValue:t(l).shop_name,"onUpdate:modelValue":e[4]||(e[4]=r=>t(l).shop_name=r),modelModifiers:{trim:!0},placeholder:"请输入前台名称",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"web_favicon",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).h5_favicon,"onUpdate:modelValue":e[5]||(e[5]=r=>t(l).h5_favicon=r),limit:1},null,8,["modelValue"]),e[16]||(e[16]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"前台LOGO",prop:"shop_logo"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).shop_logo,"onUpdate:modelValue":e[6]||(e[6]=r=>t(l).shop_logo=r),limit:1},null,8,["modelValue"]),e[17]||(e[17]=i("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(n,{shadow:"never",class:"!border-none mt-4"},{default:m(()=>[e[21]||(e[21]=i("div",{class:"text-xl font-medium mb-[20px]"},"PC端设置",-1)),o(p,{label:"PC端LOGO",prop:"pc_logo"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).pc_logo,"onUpdate:modelValue":e[7]||(e[7]=r=>t(l).pc_logo=r),limit:1},null,8,["modelValue"]),e[19]||(e[19]=i("div",{class:"form-tips"},"建议尺寸:120*28px,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站标题",prop:"pc_title"},{default:m(()=>[i("div",A,[o(d,{modelValue:t(l).pc_title,"onUpdate:modelValue":e[8]||(e[8]=r=>t(l).pc_title=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站标题",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"pc_ico"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).pc_ico,"onUpdate:modelValue":e[9]||(e[9]=r=>t(l).pc_ico=r),limit:1},null,8,["modelValue"]),e[20]||(e[20]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站描述",prop:"pc_desc"},{default:m(()=>[i("div",T,[o(d,{modelValue:t(l).pc_desc,"onUpdate:modelValue":e[10]||(e[10]=r=>t(l).pc_desc=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站描述"},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站关键词",prop:"pc_keywords"},{default:m(()=>[i("div",z,[o(d,{modelValue:t(l).pc_keywords,"onUpdate:modelValue":e[11]||(e[11]=r=>t(l).pc_keywords=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站关键词"},null,8,["modelValue"])])]),_:1})]),_:1})]),_:1},8,["model"]),L((_(),I(x,null,{default:m(()=>[o(c,{type:"primary",onClick:w},{default:m(()=>[...e[22]||(e[22]=[N("保存",-1)])]),_:1})]),_:1})),[[j,["setting.web.web_setting/setWebsite"]]])])}}});export{Qe as default};
diff --git a/server/public/admin/assets/journal-QFak6Lok.js b/server/public/admin/assets/journal-DTehe-Xu.js
similarity index 96%
rename from server/public/admin/assets/journal-QFak6Lok.js
rename to server/public/admin/assets/journal-DTehe-Xu.js
index cc0c6e3d..95b06ae1 100644
--- a/server/public/admin/assets/journal-QFak6Lok.js
+++ b/server/public/admin/assets/journal-DTehe-Xu.js
@@ -1 +1 @@
-import{D,B as F,C as N,P as z,Q as j,i as $,J,L as M,M as O,N as G}from"./element-plus-FSf94q2-.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-CcHKbLKc.js";import{_ as R}from"./index.vue_vue_type_script_setup_true_lang-hgLp-k1u.js";import{_ as S}from"./index.vue_vue_type_script_setup_true_lang-C9Pj5Q4T.js";import{w as u}from"./@vue/runtime-dom-DDAG46FW.js";import{E as b}from"./index-B9GiQBjX.js";import{u as q}from"./usePaging-VsbTxSU0.js";import{f as C,b as A,ak as s,I as v,a as e,aN as n,F as H,ap as W,G as g,O as y,aP as X,J as V}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as Y,n as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-BDOO1F0I.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"./index-DYbQoSgX.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 Z={class:"journal"},ee={class:"flex mt-4 justify-end"},te=C({name:"journal"}),Se=C({...te,setup(le){const a=w({admin_name:"",url:"",ip:"",type:"",start_time:"",end_time:""}),E=w([{label:"全部",value:""},{label:"get",value:"get"},{label:"post",value:"post"},{label:"put",value:"put"},{label:"delete",value:"delete"},{label:"option",value:"option"}]),{pager:r,getLists:_,resetParams:k,resetPage:i}=q({fetchFun:b,params:a.value});return A(()=>{_()}),(oe,l)=>{const d=N,p=F,x=j,T=z,I=S,c=$,K=R,P=D,f=J,m=G,U=O,h=Q,B=M;return s(),v("div",Z,[e(f,{class:"!border-none",shadow:"never"},{default:n(()=>[e(P,{class:"ls-form",model:t(a),inline:""},{default:n(()=>[e(p,{class:"w-[280px]",label:"管理员"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).admin_name,"onUpdate:modelValue":l[0]||(l[0]=o=>t(a).admin_name=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{class:"w-[280px]",label:"访问方式"},{default:n(()=>[e(T,{modelValue:t(a).type,"onUpdate:modelValue":l[1]||(l[1]=o=>t(a).type=o),placeholder:"请选择"},{default:n(()=>[(s(!0),v(H,null,W(t(E),(o,L)=>(s(),g(x,{key:L,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(p,{class:"w-[280px]",label:"来源IP"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).ip,"onUpdate:modelValue":l[2]||(l[2]=o=>t(a).ip=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{label:"访问时间"},{default:n(()=>[e(I,{startTime:t(a).start_time,"onUpdate:startTime":l[3]||(l[3]=o=>t(a).start_time=o),endTime:t(a).end_time,"onUpdate:endTime":l[4]||(l[4]=o=>t(a).end_time=o)},null,8,["startTime","endTime"])]),_:1}),e(p,{class:"w-[280px]",label:"访问链接"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).url,"onUpdate:modelValue":l[5]||(l[5]=o=>t(a).url=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,null,{default:n(()=>[e(c,{type:"primary",onClick:t(i)},{default:n(()=>[...l[7]||(l[7]=[y("查询",-1)])]),_:1},8,["onClick"]),e(c,{onClick:t(k)},{default:n(()=>[...l[8]||(l[8]=[y("重置",-1)])]),_:1},8,["onClick"]),e(K,{class:"ml-2.5","fetch-fun":t(b),params:t(a),"page-size":t(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),X((s(),g(f,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[V("div",null,[e(U,{data:t(r).lists,size:"large"},{default:n(()=>[e(m,{label:"记录ID",prop:"id"}),e(m,{label:"操作",prop:"action","min-width":"120"}),e(m,{label:"管理员",prop:"admin_name","min-width":"120"}),e(m,{label:"管理员ID",prop:"admin_id","min-width":"120"}),e(m,{label:"访问链接",prop:"url","min-width":"160"}),e(m,{label:"访问方式",prop:"type"}),e(m,{label:"访问参数",prop:"params","min-width":"160"}),e(m,{label:"来源IP",prop:"ip","min-width":"160"}),e(m,{label:"日志时间",prop:"create_time","min-width":"180"})]),_:1},8,["data"])]),V("div",ee,[e(h,{modelValue:t(r),"onUpdate:modelValue":l[6]||(l[6]=o=>Y(r)?r.value=o:null),onChange:t(_)},null,8,["modelValue","onChange"])])]),_:1})),[[B,t(r).loading]])])}}});export{Se as default};
+import{D,B as F,C as N,P as z,Q as j,i as $,J,L as M,M as O,N as G}from"./element-plus-FSf94q2-.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-CcHKbLKc.js";import{_ as R}from"./index.vue_vue_type_script_setup_true_lang-CvSiRks_.js";import{_ as S}from"./index.vue_vue_type_script_setup_true_lang-C9Pj5Q4T.js";import{w as u}from"./@vue/runtime-dom-DDAG46FW.js";import{E as b}from"./index-CTrP0U4H.js";import{u as q}from"./usePaging-VsbTxSU0.js";import{f as C,b as A,ak as s,I as v,a as e,aN as n,F as H,ap as W,G as g,O as y,aP as X,J as V}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as Y,n as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-BDOO1F0I.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"./index-CMNBpNeZ.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 Z={class:"journal"},ee={class:"flex mt-4 justify-end"},te=C({name:"journal"}),Se=C({...te,setup(le){const a=w({admin_name:"",url:"",ip:"",type:"",start_time:"",end_time:""}),E=w([{label:"全部",value:""},{label:"get",value:"get"},{label:"post",value:"post"},{label:"put",value:"put"},{label:"delete",value:"delete"},{label:"option",value:"option"}]),{pager:r,getLists:_,resetParams:k,resetPage:i}=q({fetchFun:b,params:a.value});return A(()=>{_()}),(oe,l)=>{const d=N,p=F,x=j,T=z,I=S,c=$,K=R,P=D,f=J,m=G,U=O,h=Q,B=M;return s(),v("div",Z,[e(f,{class:"!border-none",shadow:"never"},{default:n(()=>[e(P,{class:"ls-form",model:t(a),inline:""},{default:n(()=>[e(p,{class:"w-[280px]",label:"管理员"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).admin_name,"onUpdate:modelValue":l[0]||(l[0]=o=>t(a).admin_name=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{class:"w-[280px]",label:"访问方式"},{default:n(()=>[e(T,{modelValue:t(a).type,"onUpdate:modelValue":l[1]||(l[1]=o=>t(a).type=o),placeholder:"请选择"},{default:n(()=>[(s(!0),v(H,null,W(t(E),(o,L)=>(s(),g(x,{key:L,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(p,{class:"w-[280px]",label:"来源IP"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).ip,"onUpdate:modelValue":l[2]||(l[2]=o=>t(a).ip=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{label:"访问时间"},{default:n(()=>[e(I,{startTime:t(a).start_time,"onUpdate:startTime":l[3]||(l[3]=o=>t(a).start_time=o),endTime:t(a).end_time,"onUpdate:endTime":l[4]||(l[4]=o=>t(a).end_time=o)},null,8,["startTime","endTime"])]),_:1}),e(p,{class:"w-[280px]",label:"访问链接"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).url,"onUpdate:modelValue":l[5]||(l[5]=o=>t(a).url=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,null,{default:n(()=>[e(c,{type:"primary",onClick:t(i)},{default:n(()=>[...l[7]||(l[7]=[y("查询",-1)])]),_:1},8,["onClick"]),e(c,{onClick:t(k)},{default:n(()=>[...l[8]||(l[8]=[y("重置",-1)])]),_:1},8,["onClick"]),e(K,{class:"ml-2.5","fetch-fun":t(b),params:t(a),"page-size":t(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),X((s(),g(f,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[V("div",null,[e(U,{data:t(r).lists,size:"large"},{default:n(()=>[e(m,{label:"记录ID",prop:"id"}),e(m,{label:"操作",prop:"action","min-width":"120"}),e(m,{label:"管理员",prop:"admin_name","min-width":"120"}),e(m,{label:"管理员ID",prop:"admin_id","min-width":"120"}),e(m,{label:"访问链接",prop:"url","min-width":"160"}),e(m,{label:"访问方式",prop:"type"}),e(m,{label:"访问参数",prop:"params","min-width":"160"}),e(m,{label:"来源IP",prop:"ip","min-width":"160"}),e(m,{label:"日志时间",prop:"create_time","min-width":"180"})]),_:1},8,["data"])]),V("div",ee,[e(h,{modelValue:t(r),"onUpdate:modelValue":l[6]||(l[6]=o=>Y(r)?r.value=o:null),onChange:t(_)},null,8,["modelValue","onChange"])])]),_:1})),[[B,t(r).loading]])])}}});export{Se as default};
diff --git a/server/public/admin/assets/keyword_reply-BhH5qIm5.js b/server/public/admin/assets/keyword_reply-Fj5x-ShY.js
similarity index 94%
rename from server/public/admin/assets/keyword_reply-BhH5qIm5.js
rename to server/public/admin/assets/keyword_reply-Fj5x-ShY.js
index 5e5eaf93..18207ae1 100644
--- a/server/public/admin/assets/keyword_reply-BhH5qIm5.js
+++ b/server/public/admin/assets/keyword_reply-Fj5x-ShY.js
@@ -1 +1 @@
-import{K as D,J as L,i as A,M as O,N as P,g as U,L as J}from"./element-plus-FSf94q2-.js";import{_ as M}from"./index.vue_vue_type_script_setup_true_lang-CcHKbLKc.js";import{c as j,i as q}from"./index-B9GiQBjX.js";import{d as z,o as F,e as G}from"./wx_oa-7mzIO973.js";import{u as H}from"./usePaging-VsbTxSU0.js";import{_ as I}from"./edit.vue_vue_type_script_setup_true_lang-D58amsFS.js";import{f as K,ak as f,I as Q,a as t,aN as n,J as g,O as m,aP as W,G as v,H as X,A as w,n as h}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as Y,q as Z,n as ee}from"./@vue/reactivity-DiY1c2vO.js";import{Q as b}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-BDOO1F0I.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"./index-DYbQoSgX.js";const te={class:"flex justify-end mt-4"},Ge=K({__name:"keyword_reply",setup(oe){const p=Z(),d=ee(!1),k=w(()=>a=>{switch(a){case 1:return"全匹配";case 2:return"模糊匹配"}}),C=w(()=>a=>{switch(a){case 1:return"文本"}}),{pager:s,getLists:r}=H({fetchFun:z,params:{reply_type:2}}),V=async()=>{var a;d.value=!0,await h(),(a=p.value)==null||a.open("add",2)},E=async a=>{var e,c;d.value=!0,await h(),(e=p.value)==null||e.open("edit",2),(c=p.value)==null||c.getDetail(a)},$=async a=>{await q.confirm("确定要删除?"),await F({id:a}),r()},x=async a=>{try{await G({id:a}),r()}catch{r()}};return r(),(a,e)=>{const c=D,y=L,R=j,_=A,l=P,N=U,S=O,T=M,B=J;return f(),Q("div",null,[t(y,{class:"!border-none",shadow:"never"},{default:n(()=>[t(c,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,通过关键词可触发关键词回复;2.同时可启用多个关键词回复,有多条关键词匹配时优选选择排序靠前的一条",closable:!1,"show-icon":""})]),_:1}),t(y,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[g("div",null,[t(_,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=o=>V())},{icon:n(()=>[t(R,{name:"el-icon-Plus"})]),default:n(()=>[e[3]||(e[3]=m(" 新增 ",-1))]),_:1})]),W((f(),v(S,{size:"large",data:i(s).lists},{default:n(()=>[t(l,{label:"规则名称",prop:"name","min-width":"120"}),t(l,{label:"关键词",prop:"keyword","min-width":"120"}),t(l,{label:"匹配方式","min-width":"120"},{default:n(({row:o})=>[m(b(i(k)(o.matching_type)),1)]),_:1}),t(l,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[m(b(i(C)(o.content_type)),1)]),_:1}),t(l,{label:"状态","min-width":"120"},{default:n(({row:o})=>[t(N,{modelValue:o.status,"onUpdate:modelValue":u=>o.status=u,"active-value":1,"inactive-value":0,onChange:u=>x(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(l,{label:"排序",prop:"sort","min-width":"120"}),t(l,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[t(_,{type:"primary",link:"",onClick:u=>E(o)},{default:n(()=>[...e[4]||(e[4]=[m(" 编辑 ",-1)])]),_:1},8,["onClick"]),t(_,{type:"danger",link:"",onClick:u=>$(o.id)},{default:n(()=>[...e[5]||(e[5]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[B,i(s).loading]]),g("div",te,[t(T,{modelValue:i(s),"onUpdate:modelValue":e[1]||(e[1]=o=>Y(s)?s.value=o:null),onChange:i(r)},null,8,["modelValue","onChange"])])]),_:1}),i(d)?(f(),v(I,{key:0,ref_key:"editRef",ref:p,onSuccess:i(r),onClose:e[2]||(e[2]=o=>d.value=!1)},null,8,["onSuccess"])):X("",!0)])}}});export{Ge as default};
+import{K as D,J as L,i as A,M as O,N as P,g as U,L as J}from"./element-plus-FSf94q2-.js";import{_ as M}from"./index.vue_vue_type_script_setup_true_lang-CcHKbLKc.js";import{c as j,i as q}from"./index-CTrP0U4H.js";import{d as z,o as F,e as G}from"./wx_oa-Bw9eU_12.js";import{u as H}from"./usePaging-VsbTxSU0.js";import{_ as I}from"./edit.vue_vue_type_script_setup_true_lang-D7huFh-J.js";import{f as K,ak as f,I as Q,a as t,aN as n,J as g,O as m,aP as W,G as v,H as X,A as w,n as h}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as Y,q as Z,n as ee}from"./@vue/reactivity-DiY1c2vO.js";import{Q as b}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-BDOO1F0I.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"./index-CMNBpNeZ.js";const te={class:"flex justify-end mt-4"},Ge=K({__name:"keyword_reply",setup(oe){const p=Z(),d=ee(!1),k=w(()=>a=>{switch(a){case 1:return"全匹配";case 2:return"模糊匹配"}}),C=w(()=>a=>{switch(a){case 1:return"文本"}}),{pager:s,getLists:r}=H({fetchFun:z,params:{reply_type:2}}),V=async()=>{var a;d.value=!0,await h(),(a=p.value)==null||a.open("add",2)},E=async a=>{var e,c;d.value=!0,await h(),(e=p.value)==null||e.open("edit",2),(c=p.value)==null||c.getDetail(a)},$=async a=>{await q.confirm("确定要删除?"),await F({id:a}),r()},x=async a=>{try{await G({id:a}),r()}catch{r()}};return r(),(a,e)=>{const c=D,y=L,R=j,_=A,l=P,N=U,S=O,T=M,B=J;return f(),Q("div",null,[t(y,{class:"!border-none",shadow:"never"},{default:n(()=>[t(c,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,通过关键词可触发关键词回复;2.同时可启用多个关键词回复,有多条关键词匹配时优选选择排序靠前的一条",closable:!1,"show-icon":""})]),_:1}),t(y,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[g("div",null,[t(_,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=o=>V())},{icon:n(()=>[t(R,{name:"el-icon-Plus"})]),default:n(()=>[e[3]||(e[3]=m(" 新增 ",-1))]),_:1})]),W((f(),v(S,{size:"large",data:i(s).lists},{default:n(()=>[t(l,{label:"规则名称",prop:"name","min-width":"120"}),t(l,{label:"关键词",prop:"keyword","min-width":"120"}),t(l,{label:"匹配方式","min-width":"120"},{default:n(({row:o})=>[m(b(i(k)(o.matching_type)),1)]),_:1}),t(l,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[m(b(i(C)(o.content_type)),1)]),_:1}),t(l,{label:"状态","min-width":"120"},{default:n(({row:o})=>[t(N,{modelValue:o.status,"onUpdate:modelValue":u=>o.status=u,"active-value":1,"inactive-value":0,onChange:u=>x(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(l,{label:"排序",prop:"sort","min-width":"120"}),t(l,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[t(_,{type:"primary",link:"",onClick:u=>E(o)},{default:n(()=>[...e[4]||(e[4]=[m(" 编辑 ",-1)])]),_:1},8,["onClick"]),t(_,{type:"danger",link:"",onClick:u=>$(o.id)},{default:n(()=>[...e[5]||(e[5]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[B,i(s).loading]]),g("div",te,[t(T,{modelValue:i(s),"onUpdate:modelValue":e[1]||(e[1]=o=>Y(s)?s.value=o:null),onChange:i(r)},null,8,["modelValue","onChange"])])]),_:1}),i(d)?(f(),v(I,{key:0,ref_key:"editRef",ref:p,onSuccess:i(r),onClose:e[2]||(e[2]=o=>d.value=!1)},null,8,["onSuccess"])):X("",!0)])}}});export{Ge as default};
diff --git a/server/public/admin/assets/link-CEzmusTk.js b/server/public/admin/assets/link-BuoO-Yzr.js
similarity index 86%
rename from server/public/admin/assets/link-CEzmusTk.js
rename to server/public/admin/assets/link-BuoO-Yzr.js
index 8b649d80..2fe4f886 100644
--- a/server/public/admin/assets/link-CEzmusTk.js
+++ b/server/public/admin/assets/link-BuoO-Yzr.js
@@ -1 +1 @@
-import{J as a}from"./element-plus-FSf94q2-.js";import{_ as n}from"./picker-BLpEiOa8.js";import{f as l,ak as s,I as _,a as r,aN as u}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as c}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-BDOO1F0I.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"./index-B9GiQBjX.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"./index-DYbQoSgX.js";import"./index.vue_vue_type_script_setup_true_lang-CcHKbLKc.js";import"./article-5NrS19ya.js";import"./usePaging-VsbTxSU0.js";const po=l({__name:"link",setup(d){const o=c({value1:{}});return(f,t)=>{const p=n,i=a;return s(),_("div",null,[r(i,{header:"基础使用",shadow:"never",class:"!border-none"},{default:u(()=>[r(p,{modelValue:m(o).value1,"onUpdate:modelValue":t[0]||(t[0]=e=>m(o).value1=e)},null,8,["modelValue"])]),_:1})])}}});export{po as default};
+import{J as a}from"./element-plus-FSf94q2-.js";import{_ as n}from"./picker-B5WCi8CM.js";import{f as l,ak as s,I as _,a as r,aN as u}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as c}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-BDOO1F0I.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"./index-CTrP0U4H.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"./index-CMNBpNeZ.js";import"./index.vue_vue_type_script_setup_true_lang-CcHKbLKc.js";import"./article-Dim-OiPq.js";import"./usePaging-VsbTxSU0.js";const po=l({__name:"link",setup(d){const o=c({value1:{}});return(f,t)=>{const p=n,i=a;return s(),_("div",null,[r(i,{header:"基础使用",shadow:"never",class:"!border-none"},{default:u(()=>[r(p,{modelValue:m(o).value1,"onUpdate:modelValue":t[0]||(t[0]=e=>m(o).value1=e)},null,8,["modelValue"])]),_:1})])}}});export{po as default};
diff --git a/server/public/admin/assets/list-Xn1y_x3N.js b/server/public/admin/assets/list-DKZx5wW0.js
similarity index 97%
rename from server/public/admin/assets/list-Xn1y_x3N.js
rename to server/public/admin/assets/list-DKZx5wW0.js
index b666674b..cb2cb10d 100644
--- a/server/public/admin/assets/list-Xn1y_x3N.js
+++ b/server/public/admin/assets/list-DKZx5wW0.js
@@ -1 +1 @@
-import{D as ne,B as de,C as pe,P as me,Q as ue,i as ce,J as _e,L as fe,M as be,N as ve,T as ge,h as ye,g as he,V as ke}from"./element-plus-FSf94q2-.js";import{_ as we}from"./index.vue_vue_type_script_setup_true_lang-CcHKbLKc.js";import{u as Ve,c as Ce,i as _,_ as Ee}from"./index-B9GiQBjX.js";import{w as xe}from"./@vue/runtime-dom-DDAG46FW.js";import{e as Ne,k as Se,l as Le,m as Pe}from"./tcm-Bus_TOfe.js";import{u as De}from"./usePaging-VsbTxSU0.js";import{M as Ie}from"./index-Bs1p3Xwl.js";import{f as J,b as Ue,as as $e,ak as u,I as S,a as t,aN as o,O as p,aP as h,G as g,J as V,H as L,M as Oe}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as M,r as B,n as C}from"./@vue/reactivity-DiY1c2vO.js";import{Q as P}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-BDOO1F0I.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./medicine-Cg-Szpym.js";const Ae={class:"prescription-library"},Me={class:"mt-4"},Be={key:0},Je={key:1,class:"text-gray-400"},Re={class:"flex mt-4 justify-end"},Te={class:"w-full"},Fe=J({name:"prescriptionLibrary"}),He=J({...Fe,setup(Ke){const f=B({prescription_name:"",is_public:""}),c=C(!1),n=C("add"),E=C(!1),x=C(),s=B({id:0,prescription_name:"",herbs:[],is_public:0}),R={prescription_name:[{required:!0,message:"请输入处方名称",trigger:"blur"}]},D=Ve(),T=[0,3],{pager:y,getLists:k,resetParams:F,resetPage:I}=De({fetchFun:Ne,params:f}),H=l=>{var e;return Number(l.creator_id)===Number((e=D.userInfo)==null?void 0:e.id)},K=()=>{const l=D.userInfo;if(!l)return!1;if(Number(l.root)===1)return!0;const e=Array.isArray(l.role_ids)?l.role_ids.map(b=>Number(b)):[];return T.some(b=>e.includes(b))},U=l=>K()||H(l),j=U,q=()=>{s.herbs.push({name:"",dosage:0})},z=l=>{s.herbs.splice(l,1)},G=()=>{s.id=0,s.prescription_name="",s.herbs=[],s.is_public=0},Q=()=>{G(),n.value="add",c.value=!0},W=l=>{n.value="view",s.id=l.id,s.prescription_name=l.prescription_name||"",s.herbs=l.herbs?JSON.parse(JSON.stringify(l.herbs)):[],s.is_public=l.is_public??0,c.value=!0},X=l=>{n.value="edit",s.id=l.id,s.prescription_name=l.prescription_name||"",s.herbs=l.herbs?JSON.parse(JSON.stringify(l.herbs)):[],s.is_public=l.is_public??0,c.value=!0},Y=async()=>{if(x.value){if(await x.value.validate(),!s.herbs||s.herbs.length===0){_.msgError("请至少添加一味药材");return}for(let l=0;l
接诊诊单:${d[0]}
金额:${Number(d[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}]}}),yt=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),ka=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},d=Math.max(...t.map(p=>Number(p.deal_amount)),1e-9),b=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)/d*100,Number(p.deal_order_count)/b*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}}}]}}),ja=z(()=>{const t=[...U.value].filter(s=>Number(s.deal_amount??0)>0).sort((s,d)=>Number(d.deal_amount)-Number(s.deal_amount)).slice(0,20),e=t.map(s=>{const d=String(s.doctor_name||"—");return d.length>10?`${d.slice(0,10)}…`:d}),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]}}]}}),xa=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 Na(){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=at(new Date);t.start_date=s,t.end_date=s}return t}function Ot(t){return Number(t??0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function Sa(t){const e=Ce.value,n=[];return t.columns.forEach((s,d)=>{if(d===0){n[d]="合计";return}switch(s.property){case"system_prescription_count":n[d]=String(e.system_prescription_count??0);break;case"manual_prescription_count":n[d]=String(e.manual_prescription_count??0);break;case"deal_amount":n[d]=`¥ ${Ot(e.deal_amount)}`;break;case"deal_order_count":n[d]=String(e.deal_order_count??0);break;case"appointment_completed":n[d]=String(e.appointment_completed??0);break;case"appointment_missed":n[d]=String(e.appointment_missed??0);break;case"appointment_cancelled":n[d]=String(e.appointment_cancelled??0);break;default:n[d]=""}}),n}async function Mt(){De.value=!0;try{const t=await Xn(Na());U.value=(t==null?void 0:t.rows)??[],Ce.value=(t==null?void 0:t.total)??{},t!=null&&t.start_date&&(t!=null&&t.end_date)&&(Je.value={start:t.start_date,end:t.end_date})}catch{U.value=[],Ce.value={},Je.value=null}finally{De.value=!1}}const te=v(!1),ce=v(!1),Ve=v(""),Fe=v(""),_e=v([]),Xe=v(0),X=v(1),Qe=v(15),G=v("channel"),H=v(null),Ee=v(null),ae=v(null),It=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}),Tt=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(()=>_e.value.reduce((t,e)=>t+Number(e.amount??0),0)),Vt=z(()=>!!x.value&&te.value),ht=z(()=>{var e;const t=x.value;if(!t)return"";for(const n of He.value){const s=(e=n.channels)==null?void 0:e.find(d=>d.channel_code===t);if(s!=null&&s.channel_name)return String(s.channel_name)}return t}),Ca=z(()=>{const t=H.value;return t&&G.value==="total"?Number.isFinite(t.channelAmount)?t.channelAmount:null:It.value}),Be=v(null),Ze=v(!1);function La(){const t=new Date;return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`}function za(t){const[e,n]=t.split("-").map(Number);return new Date(e,n,0).getDate()}async function $a(){var t,e,n,s;Ze.value=!0,Be.value=null;try{let d=function(f,C=0){const L=[];for(const $ of f??[])L.push({node:$,depth:C}),L.push(...d($.children??[],C+1));return L},b=function(f){const C=ye.value.find(q=>Number(q.id)===f);if(!C)return"";const L=Number(C.pid);if(!L)return"";const $=ye.value.find(q=>Number(q.id)===L);return $!=null&&$.name?String($.name):""},g=function(f){const C=[],L=[f];for(;L.length;){const $=L.shift();for(const q of ye.value)Number(q.pid)===$&&(C.push(q.id),L.push(q.id))}return C},k=function(f,C){const L=new Map;for(const $ of(f==null?void 0:f.rows)??[])L.set(Number($.dept_id),Number($[C]??0));return L};const B=La(),I=await sl({year_month:B}),p=(I==null?void 0:I.rows)??[];if(!p.length)return;const P=d(p).filter(f=>f.depth>=1&&Number(f.node.target_amount)>0).map(f=>f.node);if(!P.length)return;const Q=new Set,O=P.map(f=>{const C=Number(f.dept_id),L=g(C),$=L.length?L:[C];return $.forEach(q=>Q.add(q)),{dept_id:C,dept_name:String(f.dept_name),target_amount:Number(f.target_amount),totalIds:$}});if(!Q.size)return;const ze=He.value.flatMap(f=>f.channels),W=(t=ze.find(f=>f.channel_name.includes("自媒体1")))==null?void 0:t.channel_code,ve=(e=ze.find(f=>f.channel_name.includes("自媒体3")))==null?void 0:e.channel_code,$e=(n=ze.find(f=>f.channel_name.includes("自媒体4")))==null?void 0:n.channel_code,Ae=Array.from(Q).join(","),[fe,F,l,h]=await Promise.all([Ue({dept_ids:Ae}),W?Ue({dept_ids:Ae,channel_code:W}):Promise.resolve(null),ve?Ue({dept_ids:Ae,channel_code:ve}):Promise.resolve(null),$e?Ue({dept_ids:Ae,channel_code:$e}):Promise.resolve(null)]),m=f=>{var C;return((f==null?void 0:f.tables)??[]).find(L=>String(L.label).includes("月"))??((C=f==null?void 0:f.tables)==null?void 0:C[0])},T=f=>{var C,L;return((f==null?void 0:f.tables)??[]).find($=>String($.label).includes("昨"))??((L=f==null?void 0:f.tables)==null?void 0:L[((C=f==null?void 0:f.tables)==null?void 0:C.length)-1])},la=k(m(fe),"performance_amount"),gn=k(T(fe),"performance_amount"),oa=F?k(m(F),"completed_performance_amount"):null,sa=l?k(m(l),"completed_performance_amount"):null,ia=h?k(m(h),"completed_performance_amount"):null,Ye=(f,C)=>C.reduce((L,$)=>L+(f.get($)??0),0),xt=new Date,bn=za(B),wn=xt.getDate(),kn=O.map(f=>{const C=Ye(la,f.totalIds),L=Ye(gn,f.totalIds),$=oa?Ye(oa,f.totalIds):null,q=sa?Ye(sa,f.totalIds):null,ra=ia?Ye(ia,f.totalIds):null,Nt=q!==null||ra!==null?(q??0)+(ra??0):null,Sn=Math.round(f.target_amount*(wn/bn)*100)/100,Dn=f.target_amount>0?C/f.target_amount:null;return{dept_id:f.dept_id,dept_name:f.dept_name,parent_dept_name:b(f.dept_id),target_amount:f.target_amount,total_amount:C,yesterday_amount:L,douyin_amount:$&&$>0?$:null,tuifen_amount:Nt&&Nt>0?Nt:null,target_progress:Sn,completion_rate:Dn}}),jn=((s=p[0])==null?void 0:s.dept_name)??"",xn=xt.getMonth()+1,Nn=xt.getDate();Be.value={title:`${jn}诊金-${xn}.${Nn}`,sections:kn}}catch{}finally{Ze.value=!1}}const Aa=z(()=>{var e;const t=(e=N.value)==null?void 0:e.leaderboards;return t?t.filter(n=>n.rows.length>0).length:0}),Ft=[{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 Pa(t){const e=t.value();Y.value=[at(e[0]),at(e[1])],Le()}async function Ra(){lt.value=!0;try{const t=await Qn();ye.value=(t||[]).sort((e,n)=>{const s=e.name.includes("中心")?-1:1,d=n.name.includes("中心")?-1:1;return s!==d?s-d:e.id-n.id})}catch{}finally{lt.value=!1}}async function Oa(){ot.value=!0;try{const t=await Zn(),e=(t==null?void 0:t.groups)||[];He.value=e}catch{}finally{ot.value=!1}}async function Et(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 al(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{N.value=null}finally{oe.value=!1}}async function Le(){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,d]=Y.value,b={...t,start_date:s,end_date:d},g=await el(b);ie.value=[{label:s===d?s:`${s} ~ ${d}`,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 Et({start:g.start_date,end:g.end_date});return}const e=await Ue(t);ie.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=at(new Date);await Et({start:n,end:n})}catch(t){Pe.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"加载失败")}finally{le.value=!1,Se.value?Mt():(U.value=[],Ce.value={},Je.value=null)}}function Ma(){A.value=[],Y.value=null,x.value="",Le()}function Ia(t){return t<=0?!1:ye.value.some(e=>Number(e.pid)===t)}function Ta(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function et(t){return t==null||!Number.isFinite(Number(t))?"—":Number(t).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function Va(t){return(X.value-1)*Qe.value+t+1}function Fa(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):"",d=[n,s].filter(Boolean).join(" ");return e&&d?`${e} ${d}`:e||d||"—"}function Bt(t){if(!t)return"";const e=t.channel_dict_value;if(e!=null&&e!==""){const d=Number(e);if(Number.isFinite(d))return String(Math.trunc(d))}const n=t.channel_source;if(n==null)return"";const s=String(n).trim();return s===""||!/^\d+$/.test(s)?"":String(parseInt(s,10))}function Ea(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,d=new Date(s);if(!Number.isNaN(d.getTime())){const b=d.getFullYear(),g=String(d.getMonth()+1).padStart(2,"0"),k=String(d.getDate()).padStart(2,"0"),B=String(d.getHours()).padStart(2,"0"),I=String(d.getMinutes()).padStart(2,"0");return`${b}-${g}-${k} ${B}:${I}`}}const n=String(t);return n.length>=16?n.slice(0,16):n}function Yt(){const t=Ee.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 Ba(){const t=Yt();if(!t||!x.value)return;const e={...t,channel_code:x.value,page_no:1,page_size:1};try{const n=await da(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 pe(){const t=Yt();if(t){x.value&&G.value==="total"&&(H.value=null),ce.value=!0;try{const e={...t,page_no:X.value,page_size:Qe.value},n=await da(e);_e.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],Xe.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 Ba()}catch(e){Pe.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载业务订单失败"),_e.value=[],Xe.value=0,ae.value=null}finally{ce.value=!1}}}function Ut(t,e,n){const s=!!(x.value&&t.channel_name);G.value=s?(n==null?void 0:n.listTab)??"channel":"channel",H.value=null,Ee.value={mode:"dept",deptId:e.dept_id,deptName:e.dept_name,start:t.start_date,end:t.end_date},Ve.value=`业务订单 · ${e.dept_name}`,Fe.value=`创建时间:${t.start_date} ~ ${t.end_date} · 与「接诊诊单」同口径:诊单医助或订单创建人落在本部门(含下级)· 不含履约已取消`,X.value=1,te.value=!0,pe()}function Ya(t,e,n){const s=!!(x.value&&t.channel_name);G.value=s?n:"channel",H.value=null,Ee.value={mode:"dept",deptId:e,deptName:"当前展示合计",start:t.start_date,end:t.end_date},Ve.value="业务订单 · 当前展示合计",Fe.value=`创建时间:${t.start_date} ~ ${t.end_date} · 已选展示部门 1 个根节点(含其下全部展示行)· 不含履约已取消`,X.value=1,te.value=!0,pe()}function gt(t,e,n){return!(me(e)||e.dept_id<=0||n==="channel"&&!t.channel_name)}function bt(t,e){return!(A.value.length!==1||e==="channel"&&!t.channel_name)}function Ht(t,e,n){if(!gt(t,e,n))return;Ut(t,e,{listTab:n==="total"?"total":"channel"})}function Wt(t,e){if(!bt(t,e))return;const n=A.value[0];if(!n)return;Ya(t,n,e==="total"?"total":"channel")}function Ua(t,e,n){G.value="channel",H.value=null,Ee.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n},Ve.value=`业务订单 · ${t.name}`,Fe.value=`创建时间:${e} ~ ${n} · 诊单医助 · 不含履约已取消`,X.value=1,te.value=!0,pe()}function wt(t,e,n,s){G.value="channel",H.value=null,Ee.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n,erCenterRevisitSlot:s};const d=s===0?"复诊合计":We(s);Ve.value=`业务订单 · ${t.name} · ${d}`,Fe.value=`创建时间:${e} ~ ${n} · 诊单医助 · 仅二中心复诊口径 · ${d} · 不含履约已取消`,X.value=1,te.value=!0,pe()}function Ha(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;wt({admin_id:t.admin_id,name:t.name},e,n,0)}function Wa(t,e){if(!t||t.admin_id<=0||!N.value||ee(t,e)<=0)return;const{start_date:n,end_date:s}=N.value;wt({admin_id:t.admin_id,name:t.name},n,s,e)}function qa(){X.value=1,pe()}function Ga(t){X.value=t,pe()}function Ja(t){Qe.value=t,X.value=1,pe()}function me(t){return t.dept_id<=0&&t.dept_name==="未归属中心"}function Ka(t,e){e.dept_id<=0||me(e)||Number(e.revisit_count??0)<=0||Gt(t,e,0)}function Xa(t,e,n){e.dept_id<=0||me(e)||ee(e,n)<=0||Gt(t,e,n)}function qt(t){const e=Lt.value;!e||Number(t.order_count)<=0||wt({admin_id:t.admin_id,name:t.name},e.start,e.end,e.revisitSlot)}async function Gt(t,e,n){const s=n===0?"复诊合计":We(n);Ct.value=`${e.dept_name} · ${s} · ${t.start_date} ~ ${t.end_date}`,Lt.value={start:t.start_date,end:t.end_date,revisitSlot:n},Oe.value="",we.value=[],dt.value=!0,be.value=!0;try{const d={start_date:t.start_date,end_date:t.end_date,dept_id:e.dept_id,revisit_slot:n};A.value.length>0&&(d.dept_ids=A.value.join(",")),x.value&&(d.channel_code=x.value);const b=await tl(d);we.value=Array.isArray(b==null?void 0:b.rows)?b.rows:[],Oe.value=typeof(b==null?void 0:b.note)=="string"?b.note:""}catch(d){Pe.error((d==null?void 0:d.msg)||(d==null?void 0:d.message)||"加载复诊拆解失败"),we.value=[],Oe.value=""}finally{be.value=!1}}function Jt(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 Qa(t){Dt.value=Jt(t),Re.value="",ge.value=[],rt.value=!0,he.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 nl(e);ge.value=Array.isArray(n==null?void 0:n.rows)?n.rows:[],Re.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){Pe.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载未归属拆解失败"),ge.value=[],Re.value=""}finally{he.value=!1}}function Za(t,e,n){n.dept_id<=0||Number(n.lead_count)<=0||(t.stopPropagation(),en(e,n))}async function kt(){const t=$t.value;if(!t)return;const{tb:e,row:n}=t;re.value=!0;try{const s={start_date:e.start_date,end_date:e.end_date,dept_id:n.dept_id,page:Te.value,page_size:qe.value};A.value.length>0&&(s.dept_ids=A.value.join(",")),x.value&&(s.channel_code=x.value);const d=await ll(s);ke.value=Array.isArray(d==null?void 0:d.lists)?d.lists:[],Ie.value=Number((d==null?void 0:d.count)??0),Me.value=typeof(d==null?void 0:d.note)=="string"?d.note:""}catch(s){Pe.error((s==null?void 0:s.msg)||(s==null?void 0:s.message)||"加载进线明细失败"),ke.value=[],Ie.value=0,Me.value=""}finally{re.value=!1}}async function en(t,e){$t.value={tb:t,row:e},zt.value=`${e.dept_name} · ${Jt(t)}`,Me.value="",ke.value=[],Ie.value=0,Te.value=1,qe.value=20,ut.value=!0,await kt()}function tn(t){Te.value=t,kt()}function an(t){qe.value=t,Te.value=1,kt()}function nn(t){return(ue.value-1)*Ne.value+t+1}function Kt(t){return me(t)?!0:t.dept_id>0}async function tt(){const t=_t.value;if(t){de.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date,page:ue.value,page_size:Ne.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 ol(e);se.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],xe.value=Number((n==null?void 0:n.count)??0),je.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){Pe.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载挂号明细失败"),se.value=[],xe.value=0,je.value=""}finally{de.value=!1}}}function ln(t){if(!t||t.admin_id<=0||!N.value||Number(t.appointment_count??0)<=0)return;const e=N.value;_t.value={mode:"assistant",assistant_id:t.admin_id,name:t.name,start_date:e.start_date,end_date:e.end_date},ct.value=`${t.name} · 医助 · ${e.start_date} ~ ${e.end_date}`,je.value="",se.value=[],xe.value=0,ue.value=1,Ne.value=20,Ge.value=!0,tt()}function on(t,e){!Kt(e)||Number(e.appointment_booked_count??0)<=0||(_t.value={mode:"dept",dept_id:e.dept_id,dept_name:e.dept_name,start_date:t.start_date,end_date:t.end_date},ct.value=`${e.dept_name} · ${t.start_date} ~ ${t.end_date}`,je.value="",se.value=[],xe.value=0,ue.value=1,Ne.value=20,Ge.value=!0,tt())}function sn(t){ue.value=t,tt()}function rn(t){Ne.value=t,ue.value=1,tt()}function dn(t,e){if(me(e)){Qa(t);return}if(!(e.dept_id<=0)){if(Ia(e.dept_id)){A.value=[e.dept_id],Le();return}Ut(t,e)}}function un(t){if(!t||t.admin_id<=0||!N.value)return;const{start_date:e,end_date:n}=N.value;Ua(t,e,n)}function Xt(t){const e=t.channel_name?` · ${t.channel_name}`:"";return`${t.label}${e}`}function cn(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"],d=[{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&&d.push({name:`${t.channel_name}业绩`,type:"bar",data:e.map(g=>g.completed_performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#0d9488"}});const b=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:b?56:28,containLabel:!1},dataZoom:b?[{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:d}}function _n(t,e){const n=[...t.rows].sort((s,d)=>Number(d.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 Qt(t){return t.rows.some(e=>Number(e.fee_amount)>0)}function pn(t,e){const s=[...t.rows].filter(d=>Number(d.fee_amount)>0).sort((d,b)=>Number(b.fee_amount)-Number(d.fee_amount)).slice(0,10).map(d=>({name:d.name.length>6?`${d.name.slice(0,6)}…`:d.name,value:Number(d.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 Zt(t){return Number(t.total.lead_count)+Number(t.total.consult_count)+Number(t.total.deal_order_count)>0}function mn(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 ea(t){return t.rows.some(e=>e.dept_id>0&&Number(e.performance_amount)>0)}function vn(t){const e=t.rows.filter(d=>d.dept_id>0&&Number(d.performance_amount)>0).sort((d,b)=>Number(b.performance_amount)-Number(d.performance_amount));if(!e.length)return{series:[{type:"pie",data:[]}]};const s=e.slice(0,10).map(d=>({name:d.dept_name.length>8?`${d.dept_name.slice(0,8)}…`:d.dept_name,value:Number(d.performance_amount)}));if(e.length>10){const d=e.slice(10).reduce((b,g)=>b+Number(g.performance_amount),0);d>0&&s.push({name:"其它",value:d})}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}
+{d}%`,fontSize:10}}]}}function jt(t){return{perf:"渠道业绩",deal:"渠道成交",aov:"渠道客单"}[t]??t}function S(t){return t==null||t===""?"0":Number(t).toLocaleString("en-US")}function M(t){return t==null||t===""?"0.0":Number(t).toLocaleString("en-US",{minimumFractionDigits:1,maximumFractionDigits:1})}function ne(t){if(t==null||t==="")return"0";const e=Number(t);return Number.isFinite(e)?Math.round(e).toLocaleString("zh-CN"):"0"}function ta(t){return t==null||t===""?"—":Number(t).toLocaleString("en-US",{minimumFractionDigits:1,maximumFractionDigits:1})}function aa(t){return t==null||t===""?"—":Number(t).toFixed(1)}function na(t){if(t==null||t==="")return"";const e=Number(t);return e>=1?"roi-good":e>=.8?"roi-mid":"roi-bad"}function fn(t){return t===null?"—":(t*100).toFixed(2)+"%"}function yn(t){return t===null?"":t>=1?"tp-good":t>=.8?"tp-mid":"tp-bad"}function hn(t){return t>=1e4?(t/1e4).toFixed(1)+"万":String(t)}function at(t){const e=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),s=String(t.getDate()).padStart(2,"0");return`${e}-${n}-${s}`}return ul(async()=>{await Promise.all([Ra(),Oa()]),Le(),$a()}),(t,e)=>{const n=Ln,s=zn,d=Cn,b=$n,g=Pn,k=On,B=Rn,I=Mn,p=Fn,R=Vn,P=En,Q=Tn,O=Bn,ze=In,W=Un,ve=Yn,$e=Hn,Ae=Wn,fe=qn,F=An;return o(),u("div",cl,[e[140]||(e[140]=a("header",{class:"yeji-masthead"},[a("div",{class:"yeji-masthead__inner"},[a("h1",{class:"yeji-masthead__title"},"业绩看板"),a("p",{class:"yeji-masthead__desc"},"渠道 · 部门 · 日期维度的业绩分析")])],-1)),r(I,{class:"yeji-panel filter-card",shadow:"never"},{default:_(()=>[a("div",_l,[a("div",pl,[a("div",ml,[e[10]||(e[10]=a("span",{class:"lbl"},"渠道来源",-1)),r(d,{modelValue:x.value,"onUpdate:modelValue":e[0]||(e[0]=l=>x.value=l),filterable:"",placeholder:"渠道筛选",class:"filter-select filter-select--channel",loading:ot.value,onChange:Le},{default:_(()=>[r(n,{label:"全部",value:""}),(o(!0),u(w,null,V(He.value,l=>(o(),j(s,{key:l.group_name,label:l.group_name},{default:_(()=>[(o(!0),u(w,null,V(l.channels,h=>(o(),j(n,{key:h.channel_code,label:h.channel_name,value:h.channel_code},{default:_(()=>[a("div",vl,[a("span",fl,i(h.channel_name),1),a("span",yl,i(h.customer_count>0?h.customer_count:""),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","loading"])]),a("div",hl,[e[11]||(e[11]=a("span",{class:"lbl"},"展示部门",-1)),K((o(),u("div",gl,[r(b,{modelValue:A.value,"onUpdate:modelValue":e[1]||(e[1]=l=>A.value=l),data:pa.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":"",filterable:"","check-strictly":"","render-after-expand":!1,"default-expand-all":!0,placeholder:"默认:所有「中心」部门",class:"filter-dept-tree-select","node-key":"id",props:ca},null,8,["modelValue","data"])])),[[F,lt.value]])]),a("div",bl,[e[12]||(e[12]=a("span",{class:"lbl"},"日期范围",-1)),r(g,{modelValue:Y.value,"onUpdate:modelValue":e[2]||(e[2]=l=>Y.value=l),type:"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始","end-placeholder":"结束",clearable:!0,shortcuts:Ft,class:"filter-date-picker"},null,8,["modelValue"])]),a("div",wl,[r(B,{type:"primary",class:"filter-btn filter-btn--query",loading:le.value,onClick:Le},{default:_(()=>[r(k,{class:"filter-btn__icon"},{default:_(()=>[r(D(Jn))]),_:1}),e[13]||(e[13]=c(" 查询 ",-1))]),_:1},8,["loading"]),r(B,{class:"filter-btn filter-btn--reset",disabled:le.value,onClick:Ma},{default:_(()=>[r(k,{class:"filter-btn__icon"},{default:_(()=>[r(D(Kn))]),_:1}),e[14]||(e[14]=c(" 重置 ",-1))]),_:1},8,["disabled"])])]),a("div",kl,[e[15]||(e[15]=a("span",{class:"filter-quick__title"},"快捷日期",-1)),a("div",jl,[(o(),u(w,null,V(Ft,l=>a("button",{key:l.text,type:"button",class:"date-pill",onClick:h=>Pa(l)},i(l.text),9,xl)),64))])])])]),_:1}),r(I,{class:"yeji-panel yeji-main-tabs-card",shadow:"never"},{default:_(()=>[e[115]||(e[115]=a("div",{class:"yeji-table-tabs-head"},[a("span",{class:"yeji-table-tabs-head__title"},"表格统计"),a("span",{class:"yeji-table-tabs-head__hint"},"列较多时可横向滚动浏览;「部门 / 排名」列在滚动时保持固定。")],-1)),r(ze,{modelValue:At.value,"onUpdate:modelValue":e[3]||(e[3]=l=>At.value=l),class:"yeji-view-tabs"},{default:_(()=>[r(Q,{label:"医生统计",name:"doctor",lazy:""},{default:_(()=>[Se.value?(o(),j(I,{key:0,class:"yeji-panel doctor-daily-card doctor-daily-card--nested",shadow:"never"},{header:_(()=>[a("div",Nl,[a("div",Sl,[e[16]||(e[16]=a("span",{class:"doctor-daily-card__title"},"医生明细",-1)),Ke.value?(o(),u("span",Dl,i(Ke.value),1)):y("",!0)]),a("div",Cl,[r(B,{type:"primary",size:"small",loading:De.value,onClick:Mt},{default:_(()=>[...e[17]||(e[17]=[c(" 刷新 ",-1)])]),_:1},8,["loading"])])])]),default:_(()=>[K((o(),j(R,{data:U.value,size:"small",border:"",stripe:"",class:"doctor-daily-table","show-summary":"","summary-method":Sa},{default:_(()=>[r(p,{prop:"doctor_name",label:"医生","min-width":"100",fixed:""}),r(p,{prop:"system_prescription_count",label:"系统开方","min-width":"88",align:"right"}),r(p,{prop:"manual_prescription_count",label:"手动开方","min-width":"88",align:"right"}),r(p,{prop:"deal_amount",label:"成交金额","min-width":"110",align:"right"},{default:_(({row:l})=>[c("¥ "+i(Ot(l.deal_amount)),1)]),_:1}),r(p,{prop:"deal_order_count",label:"接诊诊单","min-width":"88",align:"right"}),r(p,{prop:"appointment_completed",label:"挂号完成","min-width":"88",align:"right"}),r(p,{prop:"appointment_missed",label:"过号","min-width":"72",align:"right"}),r(p,{prop:"appointment_cancelled",label:"取消","min-width":"72",align:"right"})]),_:1},8,["data"])),[[F,De.value]])]),_:1})):(o(),j(P,{key:1,description:"当前账号无医生统计权限"}))]),_:1}),r(Q,{label:"医助排行榜",name:"leaderboard",lazy:""},{default:_(()=>[N.value||oe.value?K((o(),u("div",Ll,[N.value?(o(),u(w,{key:0},[a("p",zl,[c(i(N.value.range_note)+" ",1),a("span",$l,i(N.value.start_date)+" ~ "+i(N.value.end_date),1)]),a("div",Al,[(o(!0),u(w,null,V(N.value.leaderboards,l=>(o(),u(w,{key:l.dept_id},[l.rows.length>0?(o(),u("div",Pl,[a("div",Rl,[c(i(l.dept_name)+" · 医助排行榜 ",1),N.value.channel_name?(o(),u("span",Ol," ("+i(N.value.channel_name)+") ",1)):y("",!0)]),a("div",Ml,[a("table",Il,[a("thead",null,[a("tr",null,[e[19]||(e[19]=a("th",{class:"col-rank"},"排名",-1)),e[20]||(e[20]=a("th",{class:"col-abbr"},"部门",-1)),e[21]||(e[21]=a("th",{class:"col-name"},"姓名",-1)),e[22]||(e[22]=a("th",{class:"col-consult"},"接诊单数",-1)),e[23]||(e[23]=a("th",{class:"col-deal"},"接诊诊单",-1)),e[24]||(e[24]=a("th",{class:"col-assign"},"被指派数",-1)),e[25]||(e[25]=a("th",{class:"col-appointment"},"预约诊单",-1)),l.er_center_subtree?(o(),u(w,{key:0},[e[18]||(e[18]=a("th",{class:"col-revisit"},"复诊合计",-1)),(o(!0),u(w,null,V(St(l),h=>(o(),u("th",{key:"lbh-"+l.dept_id+"-"+h,class:"col-revisit-slot"},i(We(h)),1))),128))],64)):y("",!0),e[26]||(e[26]=a("th",null,"诊金",-1)),e[27]||(e[27]=a("th",null,[c("接诊率"),a("br"),a("span",{class:"th-sub"},"(元/进线)")],-1))])]),a("tbody",null,[(o(!0),u(w,null,V(l.rows,h=>(o(),u("tr",{key:h.admin_id,class:"yeji-row--action",onClick:m=>un(h)},[a("td",Vl,i(h.rank),1),a("td",Fl,i(h.dept_abbr),1),a("td",El,i(h.name),1),a("td",Bl,i(ne(h.consult_count)),1),a("td",Yl,i(ne(h.deal_order_count)),1),a("td",Ul,i(ne(h.assign_count??0)),1),a("td",{class:"col-appointment",onClick:J(m=>ln(h),["stop"])},[Number(h.appointment_count??0)>0?(o(),u("span",Wl,i(ne(h.appointment_count??0)),1)):(o(),u(w,{key:1},[c(i(ne(h.appointment_count??0)),1)],64))],8,Hl),l.er_center_subtree?(o(),u(w,{key:0},[a("td",{class:"col-revisit",onClick:J(m=>Ha(h),["stop"])},[Number(h.revisit_count??0)>0?(o(),u("span",Gl,i(ne(h.revisit_count??0)),1)):(o(),u(w,{key:1},[c(i(ne(h.revisit_count??0)),1)],64))],8,ql),(o(!0),u(w,null,V(St(l),m=>(o(),u("td",{key:"lbc-"+h.admin_id+"-"+m,class:"col-revisit-slot",onClick:J(T=>Wa(h,m),["stop"])},[ee(h,m)>0?(o(),u("span",Kl,i(ne(ee(h,m))),1)):(o(),u(w,{key:1},[c(i(ne(ee(h,m))),1)],64))],8,Jl))),128))],64)):y("",!0),a("td",null,i(M(h.fee_amount)),1),a("td",null,i(M(h.consult_rate)),1)],8,Tl))),128))])])]),a("div",Xl,[e[28]||(e[28]=a("span",null,"诊金单位:元 · 被指派数与部门业绩表同口径 · 接诊率 = 诊金 ÷ 进线(元/进线)",-1)),l.er_center_subtree?(o(),u("span",Ql," · 复诊列为二中心口径(同一诊单业务单序列第 2 笔起),点击数字查看对应业务订单 ")):y("",!0),e[29]||(e[29]=a("span",null," · 预约诊单:预约日期在统计区间内,状态含已预约/已完成/已过号(不含已取消),医助归属与接诊单数一致;各科组展示全部医助。 ",-1))])])):y("",!0)],64))),128))]),!oe.value&&Aa.value===0?(o(),u("div",Zl,[r(P,{description:"当前筛选下暂无医助排行数据"})])):y("",!0)],64)):y("",!0)])),[[F,oe.value]]):oe.value?y("",!0):(o(),j(P,{key:1,class:"yeji-charts-empty",description:"当前筛选下暂无医助排行数据"}))]),_:1}),r(Q,{label:"甄养堂互联网医院诊金",name:"zyyt",lazy:""},{default:_(()=>[K((o(),u("div",eo,[!le.value&&ie.value.length===0?(o(),u("div",to,[r(P,{description:"暂无数据"})])):y("",!0),(o(!0),u(w,null,V(ie.value,(l,h)=>(o(),u("div",{key:h,class:"yeji-table"},[a("div",ao,i(Xt(l)),1),a("div",no,[a("table",lo,[a("thead",null,[a("tr",null,[e[107]||(e[107]=a("th",{class:"col-dept"},"部门",-1)),a("th",null,[e[36]||(e[36]=a("span",null,"进线数据",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",oo,[e[34]||(e[34]=c(" add_external_contact 事件数,按接待企微成员归属部门;定渠道时须客户带对应企微标签。",-1)),e[35]||(e[35]=a("br",null,null,-1)),l.channel_name?(o(),u(w,{key:0},[e[30]||(e[30]=a("b",null,"二中心及其组织下级",-1)),e[31]||(e[31]=c("(与部门 ErCenter 子树一致)在选定渠道下进线计 ",-1)),e[32]||(e[32]=a("b",null,"0",-1)),e[33]||(e[33]=c("。 ",-1))],64)):y("",!0)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(D(E))]),_:1})]),_:2},1024)]),a("th",null,[e[52]||(e[52]=a("span",null,"被指派数",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",so,[e[44]||(e[44]=a("b",null,"tcm_diagnosis_assign_log",-1)),e[45]||(e[45]=c(" 行数(成功指派:",-1)),e[46]||(e[46]=a("b",null,"to_assistant_id > 0",-1)),e[47]||(e[47]=c("),**仅按 ",-1)),e[48]||(e[48]=a("b",null,"related_po_create_time",-1)),e[49]||(e[49]=c("** 落在所选区间内(与日志表快照一致;诊单手动指派已写入该字段)。按",-1)),e[50]||(e[50]=a("b",null,"被指派医助",-1)),e[51]||(e[51]=c("归属展示部门。",-1)),l.channel_name?(o(),u(w,{key:0},[c(" 选定渠道时收窄与「"+i(l.channel_name)+"」业绩同口径(标签诊单或 channels EXISTS)。",1),e[37]||(e[37]=a("br",null,null,-1)),e[38]||(e[38]=a("b",null,"二中心及其组织下级",-1)),e[39]||(e[39]=c("在选定渠道下本列计 ",-1)),e[40]||(e[40]=a("b",null,"0",-1)),e[41]||(e[41]=c("。 ",-1))],64)):(o(),u(w,{key:1},[e[42]||(e[42]=a("br",null,null,-1)),e[43]||(e[43]=c("未选渠道时不限客户来源,与「合计业绩」列渠道无关。",-1))],64))])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(D(E))]),_:1})]),_:2},1024)]),a("th",null,[e[54]||(e[54]=a("span",null,"复诊合计",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[53]||(e[53]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[c(" 仅"),a("b",null,"名称含「二中心」"),c("的部门及其组织下级:与本表区间一致,按患者业务单 "),a("b",null,"create_time"),c(" 排序,"),a("b",null,"第 1 笔不计"),c(";第 2 笔起计入合计,并分列复诊2、复诊三…(含本部门及下级汇总)。订单条件同「合计业绩」列(非取消)。非二中心子树部门为 0。 ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(D(E))]),_:1})]),_:1})]),(o(!0),u(w,null,V(it.value,m=>(o(),u("th",{key:"yjv-h-"+m},[a("span",null,i(We(m)),1),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",io,[e[55]||(e[55]=c(" 该列统计区间内患者第 ",-1)),a("b",null,i(m),1),e[56]||(e[56]=c(" 笔业务单条数(第 1 笔初诊单列不计);归属与合计列相同。 ",-1))])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(D(E))]),_:1})]),_:2},1024)]))),128)),a("th",null,[e[58]||(e[58]=a("span",null,"合计业绩",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[57]||(e[57]=[a("div",{style:{"max-width":"300px","line-height":"1.7","font-size":"12px"}},[c(" 按订单"),a("b",null,"创建时间"),c("统计(剔除履约已取消),金额与"),a("b",null,"接诊诊单"),c("列一致:诊单"),a("b",null,"医助"),c("或订单"),a("b",null,"创建人"),c("的人事部门落在本展示行(含下级)即计入,多行命中时取最深的展示部门。"),a("br"),a("b",null,"不受渠道筛选影响"),c("。与侧栏按部门打开的业务订单列表可对齐。"),a("br"),c(" 点击金额可查看对应业务订单明细(侧栏默认「合计业绩」全量列表)。 ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(D(E))]),_:1})]),_:1})]),l.channel_name?(o(),u("th",ro,[a("span",uo,i(jt("perf")),1),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",co,[c(" 「"+i(l.channel_name)+"」渠道业绩(与卡片标题渠道一致)。与「处方订单列表」业绩",1),e[59]||(e[59]=a("b",null,"同口径",-1)),e[60]||(e[60]=c(":按订单 ",-1)),e[61]||(e[61]=a("b",null,"create_time",-1)),e[62]||(e[62]=c(" 归日,剔除履约已取消(4)。",-1)),e[63]||(e[63]=a("br",null,null,-1)),e[64]||(e[64]=c(" 渠道判定用 EXISTS:该患者有任一挂号 ",-1)),e[65]||(e[65]=a("b",null,"channels 命中字典 + status=3",-1)),e[66]||(e[66]=c("(不限挂号时点)。",-1)),e[67]||(e[67]=a("br",null,null,-1)),e[68]||(e[68]=c(" 点击金额可查看该部门本渠道订单明细(侧栏「渠道筛选」列表)。 ",-1))])]),default:_(()=>[r(k,{class:"col-info","aria-label":"说明"},{default:_(()=>[r(D(E))]),_:1})]),_:2},1024)])):y("",!0),a("th",null,[e[70]||(e[70]=a("span",null,"预约诊单",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[69]||(e[69]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[c(" 已预约 / 已完成 / 已过号(不含已取消),按"),a("b",null,"预约日期"),c("落在区间内统计;部门归属医助优先,否则接诊医生;与"),a("b",null,"医助排行榜 · 预约诊单"),c("及明细弹窗同口径。"),a("br"),c(" 点击数字可查看每条挂号记录。 ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(D(E))]),_:1})]),_:1})]),a("th",null,[e[72]||(e[72]=a("span",null,"已完成挂号",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[71]||(e[71]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[c(" 仅"),a("b",null,"已完成"),c("(status=3),与 admin「医生预约 / 已完成」列表计数条件一致(appointment_date、诊单未软删);部门归属医助优先,否则接诊医生。 ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(D(E))]),_:1})]),_:1})]),a("th",null,[e[74]||(e[74]=a("span",null,"接诊诊单",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[73]||(e[73]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[a("b",null,"业务订单条数"),c("(非取消):订单 "),a("b",null,"create_time"),c(" 落入区间、"),a("b",null,"fulfillment_status ≠ 4"),c(";与列表筛选 "),a("b",null,"assistant_dept_id"),c(" 时一致——诊单 "),a("b",null,"医助"),c("或订单 "),a("b",null,"创建人"),c("的人事部门落在该部门子树即计入(表格多行命中时取最深的展示部门)。与侧栏勾选「与表格业绩对齐」时的集合可能略有差异。选定渠道时本列仍为全量。 ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(D(E))]),_:1})]),_:1})]),l.channel_name?(o(),u("th",_o,[a("span",po,i(jt("deal")),1),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",mo,[c(" 「"+i(l.channel_name)+"」渠道成交单数;与渠道业绩同源:区间内 ",1),e[75]||(e[75]=a("b",null,"非取消业务订单",-1)),e[76]||(e[76]=c(" 条数,按订单 ",-1)),e[77]||(e[77]=a("b",null,"create_time",-1)),e[78]||(e[78]=c(" 归日;渠道判定同业绩列。 ",-1))])]),default:_(()=>[r(k,{class:"col-info","aria-label":"说明"},{default:_(()=>[r(D(E))]),_:1})]),_:2},1024)])):y("",!0),l.channel_name?(o(),u("th",vo,[a("span",fo,i(jt("aov")),1),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",yo," 「"+i(l.channel_name)+"」渠道客单价 ≈ 渠道业绩 ÷ 渠道成交单。 ",1)]),default:_(()=>[r(k,{class:"col-info","aria-label":"说明"},{default:_(()=>[r(D(E))]),_:1})]),_:2},1024)])):y("",!0),a("th",null,[e[104]||(e[104]=a("span",null,"ROI",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",ho,[l.channel_name?(o(),u(w,{key:0},[e[79]||(e[79]=c(" 有渠道时:",-1)),e[80]||(e[80]=a("b",null,"合计行 ROI",-1)),e[81]||(e[81]=c(" = ",-1)),a("b",null,i(l.channel_name)+"业绩合计",1),e[82]||(e[82]=c("(与上表该渠道业绩列合计一致,",-1)),e[83]||(e[83]=a("b",null,"不含二中心及其组织下级",-1)),e[84]||(e[84]=c(")÷ ",-1)),e[85]||(e[85]=a("b",null,"投放成本合计",-1)),e[86]||(e[86]=c("。",-1)),e[87]||(e[87]=a("br",null,null,-1)),e[88]||(e[88]=c(" 部门行 ROI = 该部门 ",-1)),a("b",null,i(l.channel_name)+"业绩",1),e[89]||(e[89]=c(" ÷ 该部门 ",-1)),e[90]||(e[90]=a("b",null,"投放成本",-1)),e[91]||(e[91]=c(";",-1)),e[92]||(e[92]=a("b",null,"二中心子树",-1)),e[93]||(e[93]=c("部门该渠道业绩与进线为 0、投放成本分摊进线计 0,故无 ROI。与「合计业绩」列无关。 ",-1))],64)):(o(),u(w,{key:1},[e[94]||(e[94]=a("b",null,"合计行 ROI",-1)),e[95]||(e[95]=c(" = 全表业绩合计(",-1)),e[96]||(e[96]=a("b",null,"不含二中心子树",-1)),e[97]||(e[97]=c("各部门行业绩)÷ ",-1)),e[98]||(e[98]=a("b",null,"投放成本合计",-1)),e[99]||(e[99]=c(";",-1)),e[100]||(e[100]=a("br",null,null,-1)),e[101]||(e[101]=c(" 部门行 = 该部门「合计业绩」口径业绩 ÷ 该部门均摊投放成本;",-1)),e[102]||(e[102]=a("b",null,"二中心子树",-1)),e[103]||(e[103]=c("部门不参与成本分摊(进线占比计 0),故无 ROI。 ",-1))],64))])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(D(E))]),_:1})]),_:2},1024)]),a("th",null,[e[106]||(e[106]=a("span",null,"投放成本",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[105]||(e[105]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[c(" 区间与渠道与账务表一致后得到"),a("b",null,"总投放成本"),c(";"),a("b",null,"单进线成本"),c(" = 总成本 ÷ 各展示部门"),a("b",null,"进线合计"),c(";"),a("br"),c(" 各部门行投放成本 = 单进线成本 × 该部门进线(四舍五入尾差并入进线最多的部门)。"),a("b",null,"二中心及其组织下级"),c("进线在分摊中计 "),a("b",null,"0"),c("(与 ROI 分子扣除范围一致)。 ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(D(E))]),_:1})]),_:1})])])]),a("tbody",null,[(o(!0),u(w,null,V(l.rows,m=>(o(),u("tr",{key:`${h}-${m.dept_id}-${m.dept_name}`,class:nt(["yeji-row--action",{"yeji-row--unassigned":me(m),"yeji-row--idle":m.dept_id<=0&&!me(m)}]),onClick:T=>dn(l,m)},[a("td",bo,i(m.dept_name),1),a("td",{onClick:T=>Za(T,l,m)},[m.dept_id>0&&Number(m.lead_count)>0?(o(),u("span",ko,i(S(m.lead_count)),1)):(o(),u(w,{key:1},[c(i(S(m.lead_count)),1)],64))],8,wo),a("td",null,i(S(m.assign_count??0)),1),a("td",{onClick:J(T=>Ka(l,m),["stop"])},[m.dept_id>0&&Number(m.revisit_count??0)>0?(o(),u("span",xo,i(S(m.revisit_count??0)),1)):(o(),u(w,{key:1},[c(i(S(m.revisit_count??0)),1)],64))],8,jo),(o(!0),u(w,null,V(it.value,T=>(o(),u("td",{key:"yjv-"+h+"-"+m.dept_id+"-"+T,onClick:J(la=>Xa(l,m,T),["stop"])},[m.dept_id>0&&ee(m,T)>0?(o(),u("span",So,i(S(ee(m,T))),1)):(o(),u(w,{key:1},[c(i(S(ee(m,T))),1)],64))],8,No))),128)),a("td",null,[gt(l,m,"total")?(o(),u("span",{key:0,class:"yeji-lead-cell--link",onClick:J(T=>Ht(l,m,"total"),["stop"])},i(M(m.performance_amount)),9,Do)):(o(),u(w,{key:1},[c(i(M(m.performance_amount)),1)],64))]),l.channel_name?(o(),u("td",Co,[gt(l,m,"channel")?(o(),u("span",{key:0,class:"yeji-lead-cell--link",onClick:J(T=>Ht(l,m,"channel"),["stop"])},i(M(m.completed_performance_amount)),9,Lo)):(o(),u(w,{key:1},[c(i(M(m.completed_performance_amount)),1)],64))])):y("",!0),a("td",{onClick:J(T=>on(l,m),["stop"])},[Kt(m)&&Number(m.appointment_booked_count??0)>0?(o(),u("span",$o,i(S(m.appointment_booked_count??0)),1)):(o(),u(w,{key:1},[c(i(S(m.appointment_booked_count??0)),1)],64))],8,zo),a("td",null,i(S(m.consult_count)),1),a("td",null,i(S(m.deal_order_count)),1),l.channel_name?(o(),u("td",Ao,i(S(m.channel_consult_count)),1)):y("",!0),l.channel_name?(o(),u("td",Po,i(ta(m.channel_avg_price)),1)):y("",!0),a("td",{class:nt(na(m.roi))},i(aa(m.roi)),3),a("td",null,i(M(m.cost_amount)),1)],10,go))),128)),a("tr",Ro,[e[108]||(e[108]=a("td",{class:"col-dept"},"合计",-1)),a("td",null,i(S(l.total.lead_count)),1),a("td",null,i(S(l.total.assign_count??0)),1),a("td",null,i(S(l.total.revisit_count??0)),1),(o(!0),u(w,null,V(it.value,m=>(o(),u("td",{key:"yjvt-"+h+"-"+m},i(S(ee(l.total,m))),1))),128)),a("td",null,[bt(l,"total")?(o(),u("span",{key:0,class:"yeji-lead-cell--link",onClick:J(m=>Wt(l,"total"),["stop"])},i(M(l.total.performance_amount)),9,Oo)):(o(),u(w,{key:1},[c(i(M(l.total.performance_amount)),1)],64))]),l.channel_name?(o(),u("td",Mo,[bt(l,"channel")?(o(),u("span",{key:0,class:"yeji-lead-cell--link",onClick:J(m=>Wt(l,"channel"),["stop"])},i(M(l.total.completed_performance_amount)),9,Io)):(o(),u(w,{key:1},[c(i(M(l.total.completed_performance_amount)),1)],64))])):y("",!0),a("td",null,i(S(l.total.appointment_booked_count??0)),1),a("td",null,i(S(l.total.consult_count)),1),a("td",null,i(S(l.total.deal_order_count)),1),l.channel_name?(o(),u("td",To,i(S(l.total.channel_consult_count)),1)):y("",!0),l.channel_name?(o(),u("td",Vo,i(ta(l.total.channel_avg_price)),1)):y("",!0),a("td",{class:nt(na(l.total.roi))},i(aa(l.total.roi)),3),a("td",null,i(M(l.total.cost_amount)),1)])])])]),a("div",Fo,[a("span",null,"区间:"+i(l.start_date)+" ~ "+i(l.end_date),1),l.channel_name?(o(),u("span",Eo," · 渠道:"+i(l.channel_name),1)):y("",!0),l.total.cost_per_lead!=null&&l.total.cost_per_lead>0?(o(),u("span",Bo," · 单进线成本:"+i(M(l.total.cost_per_lead))+" 元 ",1)):y("",!0)])]))),128))])),[[F,le.value]])]),_:1}),r(Q,{label:"目标看板(卡片)",name:"zyyt_matrix",lazy:""},{default:_(()=>[K((o(),u("div",Yo,[Be.value?(o(),u(w,{key:0},[a("h2",Uo,i(Be.value.title),1),a("div",Ho,[(o(!0),u(w,null,V(Be.value.sections,l=>(o(),u("div",{key:"tm-"+l.dept_id,class:"tp-matrix-card",role:"listitem"},[a("div",Wo,[a("div",qo,[l.parent_dept_name?(o(),u("span",Go,i(l.parent_dept_name),1)):y("",!0),a("span",Jo,i(l.dept_name)+"目标",1)]),a("span",Ko,i(hn(l.target_amount)),1)]),a("table",Xo,[a("tbody",null,[a("tr",null,[e[109]||(e[109]=a("td",{class:"tp-matrix-card__lbl"},"昨日诊金",-1)),a("td",Qo,i(S(l.yesterday_amount)),1)]),l.douyin_amount!==null?(o(),u("tr",Zo,[e[110]||(e[110]=a("td",{class:"tp-matrix-card__lbl"},"抖音总诊金",-1)),a("td",es,i(S(l.douyin_amount)),1)])):y("",!0),l.tuifen_amount!==null?(o(),u("tr",ts,[e[111]||(e[111]=a("td",{class:"tp-matrix-card__lbl"},"推粉总诊金",-1)),a("td",as,i(S(l.tuifen_amount)),1)])):y("",!0),a("tr",null,[e[112]||(e[112]=a("td",{class:"tp-matrix-card__lbl"},"总诊金",-1)),a("td",ns,i(S(l.total_amount)),1)]),a("tr",null,[e[113]||(e[113]=a("td",{class:"tp-matrix-card__lbl"},"目标进度",-1)),a("td",ls,i(M(l.target_progress)),1)]),a("tr",null,[e[114]||(e[114]=a("td",{class:"tp-matrix-card__lbl"},"完成进度",-1)),a("td",{class:nt(["tp-matrix-card__num tp-matrix-card__num--hot",yn(l.completion_rate)])},i(fn(l.completion_rate)),3)])])])]))),128))])],64)):Ze.value?y("",!0):(o(),j(P,{key:1,class:"tp-matrix-empty",description:"暂无目标数据,请先配置当月部门目标或为部门设置诊金目标后刷新页面"}))])),[[F,Ze.value]])]),_:1})]),_:1},8,["modelValue"])]),_:1}),r(I,{class:"yeji-panel yeji-charts-only-card",shadow:"never"},{default:_(()=>[e[125]||(e[125]=a("div",{class:"yeji-charts-only-head"},"统计图",-1)),K((o(),u("div",os,[ga.value?(o(),u(w,{key:0},[Se.value&&(pt.value||mt.value||vt.value||ft.value||yt.value)?(o(),u("section",ss,[a("h3",is,[e[116]||(e[116]=c(" 医生统计 ",-1)),Ke.value?(o(),u("span",rs,i(Ke.value),1)):y("",!0)]),r(ve,{gutter:16},{default:_(()=>[r(W,{xs:24,lg:9},{default:_(()=>[a("div",ds,[e[117]||(e[117]=a("div",{class:"yeji-chart-panel__label"},"成交金额 TOP(条形)",-1)),pt.value?(o(),j(D(Z),{key:0,class:"yeji-echart",option:ja.value,autoresize:""},null,8,["option"])):(o(),j(P,{key:1,description:"暂无成交金额数据","image-size":72}))])]),_:1}),r(W,{xs:24,lg:8},{default:_(()=>[a("div",us,[e[118]||(e[118]=a("div",{class:"yeji-chart-panel__label"},"开方构成(堆叠柱)",-1)),mt.value?(o(),j(D(Z),{key:0,class:"yeji-echart yeji-echart--short",option:xa.value,autoresize:""},null,8,["option"])):(o(),j(P,{key:1,description:"暂无开方数据","image-size":72}))])]),_:1}),r(W,{xs:24,lg:7},{default:_(()=>[a("div",cs,[e[119]||(e[119]=a("div",{class:"yeji-chart-panel__label"},"挂号结果(环形 · 表尾合计)",-1)),vt.value?(o(),j(D(Z),{key:0,class:"yeji-echart yeji-echart--short",option:ba.value,autoresize:""},null,8,["option"])):(o(),j(P,{key:1,description:"暂无挂号汇总","image-size":72}))])]),_:1})]),_:1}),r(ve,{gutter:16,class:"yeji-chart-subrow"},{default:_(()=>[r(W,{xs:24,lg:12},{default:_(()=>[a("div",_s,[e[120]||(e[120]=a("div",{class:"yeji-chart-panel__label"},"接诊诊单 × 金额(散点)",-1)),ft.value?(o(),j(D(Z),{key:0,class:"yeji-echart yeji-echart--compact",option:wa.value,autoresize:""},null,8,["option"])):(o(),j(P,{key:1,description:"至少两名医生同时有接诊诊单与金额时可展示","image-size":72}))])]),_:1}),r(W,{xs:24,lg:12},{default:_(()=>[a("div",ps,[e[121]||(e[121]=a("div",{class:"yeji-chart-panel__label"},"TOP 医生雷达(相对最高值归一)",-1)),yt.value?(o(),j(D(Z),{key:0,class:"yeji-echart yeji-echart--compact",option:ka.value,autoresize:""},null,8,["option"])):(o(),j(P,{key:1,description:"至少两名医生有数据时可展示","image-size":72}))])]),_:1})]),_:1})])):y("",!0),(o(!0),u(w,null,V(ie.value,(l,h)=>(o(),u(w,{key:"dept-chart-"+h},[Rt(l)?(o(),u("section",ms,[a("h3",vs,i(Xt(l)),1),r(D(Z),{class:"yeji-echart yeji-echart--tall",option:cn(l),autoresize:""},null,8,["option"]),Zt(l)||ea(l)?(o(),j(ve,{key:0,gutter:16,class:"yeji-chart-subrow"},{default:_(()=>[Zt(l)?(o(),j(W,{key:0,xs:24,md:12},{default:_(()=>[a("div",fs,[e[122]||(e[122]=a("div",{class:"yeji-chart-panel__label"}," 进线 → 接诊 → 成交(汇总漏斗) ",-1)),r(D(Z),{class:"yeji-echart yeji-echart--compact",option:mn(l),autoresize:""},null,8,["option"])])]),_:2},1024)):y("",!0),ea(l)?(o(),j(W,{key:1,xs:24,md:12},{default:_(()=>[a("div",ys,[e[123]||(e[123]=a("div",{class:"yeji-chart-panel__label"}," 部门合计业绩占比(TOP10 + 其它) ",-1)),r(D(Z),{class:"yeji-echart yeji-echart--compact",option:vn(l),autoresize:""},null,8,["option"])])]),_:2},1024)):y("",!0)]),_:2},1024)):y("",!0)])):y("",!0)],64))),128)),N.value?(o(!0),u(w,{key:1},V(Pt.value,l=>(o(),u("section",{key:"lb-chart-"+l.dept_id,class:"yeji-chart-block"},[a("h3",hs,[c(i(l.dept_name)+" · 医助 ",1),N.value.channel_name?(o(),u("span",gs," ("+i(N.value.channel_name)+") ",1)):y("",!0),a("span",bs,i(N.value.start_date)+"~"+i(N.value.end_date),1)]),r(ve,{gutter:16},{default:_(()=>[r(W,{xs:24,lg:Qt(l)?14:24},{default:_(()=>[r(D(Z),{class:"yeji-echart",option:_n(l,N.value),autoresize:""},null,8,["option"])]),_:2},1032,["lg"]),Qt(l)?(o(),j(W,{key:0,xs:24,lg:10},{default:_(()=>[a("div",ws,[e[124]||(e[124]=a("div",{class:"yeji-chart-panel__label"},"诊金占比",-1)),r(D(Z),{class:"yeji-echart yeji-echart--compact",option:pn(l,N.value),autoresize:""},null,8,["option"])])]),_:2},1024)):y("",!0)]),_:2},1024)]))),128)):y("",!0)],64)):!le.value&&(!Se.value||!De.value)&&!oe.value?(o(),j(P,{key:1,class:"yeji-charts-empty",description:"当前筛选下暂无图表数据,请调整条件后查询"})):y("",!0)])),[[F,le.value||Se.value&&De.value||oe.value]])]),_:1}),r(Ae,{modelValue:te.value,"onUpdate:modelValue":e[5]||(e[5]=l=>te.value=l),direction:"rtl",size:"min(1120px, 98vw)","destroy-on-close":"",class:"yeji-order-drawer","show-close":!0},{header:_(()=>[a("div",ks,[a("h3",js,i(Ve.value),1),a("p",xs,i(Fe.value),1)])]),default:_(()=>[a("div",Ns,[a("section",Ss,[a("div",Ds,[e[126]||(e[126]=a("span",{class:"yeji-order-drawer__stat-label"},"符合条件的订单",-1)),a("span",Cs,i(Xe.value.toLocaleString("zh-CN"))+" 笔",1)]),a("div",Ls,[e[127]||(e[127]=a("span",{class:"yeji-order-drawer__stat-label"},[c(" 约诊 "),a("span",{class:"yeji-order-drawer__stat-note"},"(已完成挂号;日期按挂号 appointment_date;医助=挂号或诊单,与看板接诊一致)")],-1)),a("span",zs,i(Tt.value===null?"—":Tt.value.toLocaleString("zh-CN"))+" 次",1)]),Vt.value&&H.value?(o(),u(w,{key:0},[a("div",$s,[a("span",As,[e[128]||(e[128]=c(" 合计业绩 ",-1)),a("span",Ps,"(与看板「合计业绩」列同口径,不限渠道;"+i(H.value.totalOrderCount.toLocaleString("zh-CN"))+" 笔)",1)]),a("span",Rs," ¥"+i(et(H.value.totalAmount)),1)]),a("div",Os,[a("span",Ms,[c(i(ht.value)+"业绩 ",1),a("span",Is,"(与看板「"+i(ht.value)+"业绩」同口径;"+i(H.value.channelOrderCount.toLocaleString("zh-CN"))+" 笔)",1)]),a("span",Ts," ¥"+i(et(Ca.value)),1)])],64)):(o(),u("div",Vs,[e[129]||(e[129]=a("span",{class:"yeji-order-drawer__stat-label"},[c(" 业务订单金额合计 "),a("span",{class:"yeji-order-drawer__stat-note"},"(不含履约已取消,与上方业绩口径一致)")],-1)),a("span",Fs," ¥"+i(et(It.value)),1)])),_e.value.length>0?(o(),u("div",Es,[e[130]||(e[130]=a("span",{class:"yeji-order-drawer__stat-label"},"本页小计",-1)),a("span",Bs,"¥"+i(et(Da.value)),1)])):y("",!0)]),Vt.value?(o(),j(ze,{key:0,modelValue:G.value,"onUpdate:modelValue":e[4]||(e[4]=l=>G.value=l),class:"yeji-order-drawer__list-tabs",onTabChange:qa},{default:_(()=>[r(Q,{label:"合计业绩(全量订单)",name:"total"}),r(Q,{label:`渠道筛选(${ht.value})`,name:"channel"},null,8,["label"])]),_:1},8,["modelValue"])):y("",!0),K((o(),u("div",Ys,[_e.value.length>0||ce.value?(o(),j(R,{key:0,data:_e.value,size:"small",stripe:"",border:"","max-height":"58vh",class:"yeji-order-drawer__table","empty-text":ce.value?"加载中…":"暂无数据"},{default:_(()=>[r(p,{type:"index",label:"#",width:"46",index:Va}),r(p,{prop:"order_no",label:"订单号","min-width":"152","show-overflow-tooltip":""}),r(p,{label:"关联挂号","min-width":"218"},{default:_(({row:l})=>[l.linked_appointment?(o(),u("div",Us,[a("div",Hs,[e[131]||(e[131]=a("span",{class:"yeji-order-appt-k"},"日期",-1)),c(" "+i(Fa(l.linked_appointment)),1)]),a("div",Ws,[e[132]||(e[132]=a("span",{class:"yeji-order-appt-k"},"状态",-1)),c(" "+i(l.linked_appointment.status_desc||"—")+" ",1),l.linked_appointment.doctor_name?(o(),u("span",qs," · "+i(l.linked_appointment.doctor_name),1)):y("",!0)]),a("div",Gs,[e[133]||(e[133]=a("span",{class:"yeji-order-appt-k"},"类型",-1)),c(" "+i(l.linked_appointment.appointment_type_desc||"—"),1)]),a("div",Js,[e[135]||(e[135]=a("span",{class:"yeji-order-appt-k"},"渠道",-1)),a("span",Ks,[c(i(l.linked_appointment.channel_source_desc||l.linked_appointment.channel_source||"—")+" ",1),Bt(l.linked_appointment)!==""?(o(),u("span",Xs," (字典 value "+i(Bt(l.linked_appointment))+" ) ",1)):y("",!0)]),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[134]||(e[134]=[a("div",{style:{"max-width":"280px","line-height":"1.65","font-size":"12px"}},[c(" 「字典 value」= 系统字典 "),a("b",null,"channels"),c(" 的 value,与业绩表里按渠道收窄时所用"),a("b",null,"挂号 channels"),c("一致;便于和进线列所选渠道对照,"),a("b",null,"不是"),c("企微 add_external_contact 单上的独立编号。 ")],-1)])]),default:_(()=>[r(k,{class:"yeji-order-appt-info","aria-label":"说明"},{default:_(()=>[r(D(E))]),_:1})]),_:1})])])):(o(),u("span",Qs,"—"))]),_:1}),r(p,{label:"金额",width:"108",align:"right"},{default:_(({row:l})=>[a("span",Zs,"¥"+i(l.amount??"—"),1)]),_:1}),r(p,{prop:"recipient_name",label:"收货人",width:"96","show-overflow-tooltip":""}),r(p,{label:"履约",width:"104","show-overflow-tooltip":""},{default:_(({row:l})=>[c(i(Ta(l.fulfillment_status)),1)]),_:1}),r(p,{label:"创建时间","min-width":"148"},{default:_(({row:l})=>[c(i(Ea(l.create_time)),1)]),_:1}),r(p,{prop:"doctor_name",label:"开方人",width:"88","show-overflow-tooltip":""}),r(p,{prop:"creator_name",label:"创建人",width:"88","show-overflow-tooltip":""})]),_:1},8,["data","empty-text"])):y("",!0),!ce.value&&_e.value.length===0?(o(),j(P,{key:1,description:"暂无业务订单"})):y("",!0),a("div",ei,[r($e,{"current-page":X.value,"page-size":Qe.value,background:"",layout:"total, sizes, prev, pager, next, jumper",total:Xe.value,"page-sizes":[10,15,20,50],disabled:ce.value,"hide-on-single-page":!1,onCurrentChange:Ga,onSizeChange:Ja},null,8,["current-page","page-size","total","disabled"])])])),[[F,ce.value]])])]),_:1},8,["modelValue"]),r(fe,{modelValue:rt.value,"onUpdate:modelValue":e[6]||(e[6]=l=>rt.value=l),width:"min(680px, 94vw)","destroy-on-close":"",class:"yeji-unassigned-dialog"},{header:_(()=>[a("div",ti,[e[136]||(e[136]=a("span",{class:"yeji-unassigned-dialog__title"},"「未归属中心」业绩拆解",-1)),a("p",ai,i(Dt.value),1)])]),default:_(()=>[Re.value?(o(),u("p",ni,i(Re.value),1)):y("",!0),K((o(),u("div",li,[ge.value.length>0||he.value?(o(),j(R,{key:0,data:ge.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":he.value?"加载中…":"暂无数据"},{default:_(()=>[r(p,{prop:"name",label:"诊单医助","min-width":"120","show-overflow-tooltip":""}),r(p,{label:"账号",width:"88",align:"right"},{default:_(({row:l})=>[c(i(l.admin_id>0?l.admin_id:"—"),1)]),_:1}),r(p,{label:"订单数",width:"88",align:"right"},{default:_(({row:l})=>[c(i(S(l.order_count)),1)]),_:1}),r(p,{label:"业绩金额","min-width":"112",align:"right"},{default:_(({row:l})=>[c(i(M(l.amount)),1)]),_:1})]),_:1},8,["data","empty-text"])):y("",!0),!he.value&&ge.value.length===0?(o(),j(P,{key:1,description:"暂无拆解数据"})):y("",!0)])),[[F,he.value]])]),_:1},8,["modelValue"]),r(fe,{modelValue:ut.value,"onUpdate:modelValue":e[7]||(e[7]=l=>ut.value=l),width:"min(920px, 96vw)","destroy-on-close":"",class:"yeji-leadlines-dialog"},{header:_(()=>[a("div",oi,[e[137]||(e[137]=a("span",{class:"yeji-unassigned-dialog__title"},"进线数据明细",-1)),a("p",si,i(zt.value),1)])]),default:_(()=>[Me.value?(o(),u("p",ii,i(Me.value),1)):y("",!0),K((o(),u("div",ri,[ke.value.length>0||re.value?(o(),j(R,{key:0,data:ke.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":re.value?"加载中…":"暂无数据"},{default:_(()=>[r(p,{prop:"event_time_text",label:"进线时间","min-width":"156","show-overflow-tooltip":""}),r(p,{prop:"reception_admin_name",label:"接待",width:"88","show-overflow-tooltip":""}),r(p,{prop:"external_contact_name",label:"客户","min-width":"100","show-overflow-tooltip":""}),r(p,{prop:"external_userid",label:"外部联系人ID","min-width":"140","show-overflow-tooltip":""}),r(p,{prop:"user_id",label:"企微成员ID","min-width":"120","show-overflow-tooltip":""}),r(p,{prop:"state",label:"渠道参数",width:"96","show-overflow-tooltip":""})]),_:1},8,["data","empty-text"])):y("",!0),!re.value&&ke.value.length===0?(o(),j(P,{key:1,description:"暂无进线明细"})):y("",!0),Ie.value>0?(o(),u("div",di,[r($e,{"current-page":Te.value,"page-size":qe.value,background:"",layout:"total, sizes, prev, pager, next, jumper",total:Ie.value,"page-sizes":[10,20,50,100],disabled:re.value,"hide-on-single-page":!1,onCurrentChange:tn,onSizeChange:an},null,8,["current-page","page-size","total","disabled"])])):y("",!0)])),[[F,re.value]])]),_:1},8,["modelValue"]),r(fe,{modelValue:Ge.value,"onUpdate:modelValue":e[8]||(e[8]=l=>Ge.value=l),width:"min(960px, 96vw)","destroy-on-close":"",class:"yeji-leadlines-dialog"},{header:_(()=>[a("div",ui,[e[138]||(e[138]=a("span",{class:"yeji-unassigned-dialog__title"},"预约诊单 · 挂号明细",-1)),a("p",ci,i(ct.value),1)])]),default:_(()=>[je.value?(o(),u("p",_i,i(je.value),1)):y("",!0),K((o(),u("div",pi,[se.value.length>0||de.value?(o(),j(R,{key:0,data:se.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":de.value?"加载中…":"暂无数据"},{default:_(()=>[r(p,{type:"index",label:"#",width:"46",index:nn}),r(p,{prop:"appointment_date",label:"预约日期",width:"108"}),r(p,{prop:"appointment_time",label:"时段","min-width":"96","show-overflow-tooltip":""}),r(p,{prop:"status_desc",label:"状态",width:"84"}),r(p,{prop:"appointment_type_desc",label:"类型",width:"92"}),r(p,{prop:"patient_name",label:"患者","min-width":"92","show-overflow-tooltip":""}),r(p,{prop:"patient_phone",label:"手机","min-width":"116","show-overflow-tooltip":""}),r(p,{prop:"doctor_name",label:"接诊医生",width:"92","show-overflow-tooltip":""}),r(p,{label:"诊单ID",width:"84",align:"right"},{default:_(({row:l})=>[c(i(S(l.diagnosis_id??0)),1)]),_:1}),fa.value?(o(),j(p,{key:0,prop:"channel_source",label:"渠道来源",width:"96","show-overflow-tooltip":""})):y("",!0)]),_:1},8,["data","empty-text"])):y("",!0),!de.value&&se.value.length===0?(o(),j(P,{key:1,description:"暂无挂号记录"})):y("",!0),xe.value>0?(o(),u("div",mi,[r($e,{"current-page":ue.value,"page-size":Ne.value,background:"",layout:"total, sizes, prev, pager, next, jumper",total:xe.value,"page-sizes":[10,20,50,100],disabled:de.value,"hide-on-single-page":!1,onCurrentChange:sn,onSizeChange:rn},null,8,["current-page","page-size","total","disabled"])])):y("",!0)])),[[F,de.value]])]),_:1},8,["modelValue"]),r(fe,{modelValue:dt.value,"onUpdate:modelValue":e[9]||(e[9]=l=>dt.value=l),width:"min(560px, 94vw)","destroy-on-close":"",class:"yeji-unassigned-dialog"},{header:_(()=>[a("div",vi,[e[139]||(e[139]=a("span",{class:"yeji-unassigned-dialog__title"},"复诊 · 医助拆解",-1)),a("p",fi,i(Ct.value),1)])]),default:_(()=>[Oe.value?(o(),u("p",yi,i(Oe.value),1)):y("",!0),K((o(),u("div",hi,[we.value.length>0||be.value?(o(),j(R,{key:0,data:we.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":be.value?"加载中…":"暂无数据"},{default:_(()=>[r(p,{prop:"name",label:"医助","min-width":"120","show-overflow-tooltip":""}),r(p,{label:"业务订单",width:"108",align:"right"},{default:_(({row:l})=>[Number(l.order_count)>0?(o(),u("span",{key:0,class:"yeji-lead-cell--link",role:"button",tabindex:"0",onClick:h=>qt(l),onKeydown:Gn(J(h=>qt(l),["prevent"]),["enter"])},i(S(l.order_count))+" 笔",41,gi)):(o(),u(w,{key:1},[c(i(S(l.order_count)),1)],64))]),_:1})]),_:1},8,["data","empty-text"])):y("",!0),!be.value&&we.value.length===0?(o(),j(P,{key:1,description:"暂无拆解数据"})):y("",!0)])),[[F,be.value]])]),_:1},8,["modelValue"])])}}}),cr=rl(wi,[["__scopeId","data-v-6c1fc3f5"]]);export{cr as default};
diff --git a/server/public/admin/assets/yeji-DI5wD3WW.js b/server/public/admin/assets/yeji-DI5wD3WW.js
deleted file mode 100644
index 876869fa..00000000
--- a/server/public/admin/assets/yeji-DI5wD3WW.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import{P as hn,Q as wn,af as kn,W as jn,L as xn,a2 as Nn,i as Sn,d as Dn,J as Cn,m as Ln,l as zn,M as $n,N as An,R as Rn,r as Pn,a3 as Mn,a4 as On,X as In,e as Vn,V as Fn,E as Pe}from"./element-plus-FSf94q2-.js";import{s as _e,w as Tn}from"./@vue/runtime-dom-DDAG46FW.js";import{N as En,x as Bn,i as F}from"./@element-plus/icons-vue-BDOO1F0I.js";import{H as G}from"./vue-echarts-BNtg2q_G.js";import{d as Yn,y as Ee,a as Un,b as Hn,c as Wn,e as qn,f as Gn,g as Jn,h as Kn,i as Xn}from"./stats-CFZvb-WP.js";import{d as Qn}from"./finance-Bch3AEJw.js";import{j as Zn}from"./tcm-Bus_TOfe.js";import{u as el,_ as tl}from"./index-B9GiQBjX.js";import{f as al,b as nl,ak as o,I as u,J as a,a as i,aN as c,F as k,ap as I,G as j,aP as q,O as p,H as y,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{Q as r,o as nt}from"./@vue/shared-mAAVTE9n.js";import{y as S,n as v}from"./@vue/reactivity-DiY1c2vO.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./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 ll={class:"yeji-page"},ol={class:"filter-surface"},sl={class:"filter-row filter-row--top"},il={class:"filter-field"},rl={class:"channel-opt-row"},dl={class:"opt-name"},ul={class:"opt-count"},cl={class:"filter-field filter-field--wide"},pl={class:"filter-select filter-select--dept filter-dept-tree-wrap"},_l={class:"filter-field filter-field--date-top"},ml={class:"filter-actions"},vl={class:"filter-quick"},fl={class:"date-pills",role:"group","aria-label":"快捷日期"},yl=["onClick"],gl={class:"doctor-daily-card__head"},bl={class:"doctor-daily-card__title-block"},hl={key:0,class:"doctor-daily-card__range"},wl={class:"doctor-daily-card__tools"},kl={key:0,class:"leaderboards-wrap"},jl={class:"leaderboard-hint"},xl={class:"muted"},Nl={class:"tables-wrap"},Sl={key:0,class:"yeji-table leaderboard-table"},Dl={class:"yeji-table__header"},Cl={key:0,class:"leaderboard-sub"},Ll={class:"yeji-table__scroll",tabindex:"0",role:"region","aria-label":"排行榜,可横向滚动"},zl={class:"yeji-table__body yeji-table__body--leaderboard"},$l=["onClick"],Al={class:"col-rank"},Rl={class:"col-abbr"},Pl={class:"col-name"},Ml={class:"col-consult"},Ol={class:"col-deal"},Il={class:"col-assign"},Vl=["onClick"],Fl={key:0,class:"yeji-lead-cell--link"},Tl=["onClick"],El={key:0,class:"yeji-lead-cell--link"},Bl=["onClick"],Yl={key:0,class:"yeji-lead-cell--link"},Ul={class:"yeji-table__foot yeji-table__foot--left"},Hl={key:0},Wl={key:0,class:"empty-tip leaderboard-empty"},ql={key:0,class:"tp-wrap"},Gl={key:0,class:"tp-card"},Jl={class:"tp-card__title"},Kl={class:"tp-card__body"},Xl={class:"tp-section__head"},Ql={class:"tp-section__title-col"},Zl={key:0,class:"tp-section__parent"},eo={class:"tp-section__name"},to={class:"tp-section__target"},ao={class:"tp-table"},no={class:"tp-val"},lo={key:0},oo={class:"tp-val"},so={key:1},io={class:"tp-val"},ro={class:"tp-val tp-val--total"},uo={class:"tp-val"},co={class:"tables-wrap"},po={key:0,class:"empty-tip"},_o={class:"yeji-table__header"},mo={class:"yeji-table__scroll",tabindex:"0",role:"region","aria-label":"业绩数据表,可横向滚动"},vo={class:"yeji-table__body yeji-table__body--data"},fo={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},yo={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},go={style:{"max-width":"280px","line-height":"1.7","font-size":"12px"}},bo={key:0,class:"col-completed col-narrow-head"},ho={class:"yeji-th-label"},wo={style:{"max-width":"340px","line-height":"1.7","font-size":"12px"}},ko={key:1,class:"col-completed col-narrow-head"},jo={class:"yeji-th-label"},xo={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},No={key:2,class:"col-completed col-narrow-head"},So={class:"yeji-th-label"},Do={style:{"max-width":"280px","line-height":"1.7","font-size":"12px"}},Co={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},Lo=["onClick"],zo={class:"col-dept"},$o=["onClick"],Ao={key:0,class:"yeji-lead-cell--link"},Ro=["onClick"],Po={key:0,class:"yeji-lead-cell--link"},Mo=["onClick"],Oo={key:0,class:"yeji-lead-cell--link"},Io={key:0,class:"col-completed"},Vo=["onClick"],Fo={key:0,class:"yeji-lead-cell--link"},To={key:1,class:"col-completed"},Eo={key:2,class:"col-completed"},Bo={class:"total-row"},Yo={key:0,class:"col-completed"},Uo={key:1,class:"col-completed"},Ho={key:2,class:"col-completed"},Wo={class:"yeji-table__foot"},qo={key:0},Go={key:1},Jo={class:"yeji-charts-stack"},Ko={key:0,class:"yeji-chart-block"},Xo={class:"yeji-chart-block__title"},Qo={key:0,class:"yeji-chart-block__sub"},Zo={class:"yeji-chart-panel"},es={class:"yeji-chart-panel"},ts={class:"yeji-chart-panel"},as={class:"yeji-chart-panel"},ns={class:"yeji-chart-panel"},ls={key:0,class:"yeji-chart-block"},os={class:"yeji-chart-block__title"},ss={class:"yeji-chart-panel"},is={class:"yeji-chart-panel"},rs={class:"yeji-chart-block__title"},ds={key:0,class:"yeji-chart-block__sub"},us={class:"yeji-chart-block__sub yeji-chart-block__sub--muted"},cs={class:"yeji-chart-panel"},ps={class:"yeji-order-drawer__header"},_s={class:"yeji-order-drawer__heading"},ms={class:"yeji-order-drawer__sub"},vs={class:"yeji-order-drawer__shell"},fs={class:"yeji-order-drawer__stats",role:"region","aria-label":"订单汇总"},ys={class:"yeji-order-drawer__stat-card"},gs={class:"yeji-order-drawer__stat-value"},bs={class:"yeji-order-drawer__stat-card"},hs={class:"yeji-order-drawer__stat-value"},ws={class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--total"},ks={class:"yeji-order-drawer__stat-label"},js={class:"yeji-order-drawer__stat-note"},xs={class:"yeji-order-drawer__stat-value yeji-order-drawer__stat-value--money"},Ns={class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--accent"},Ss={class:"yeji-order-drawer__stat-label"},Ds={class:"yeji-order-drawer__stat-note"},Cs={class:"yeji-order-drawer__stat-value yeji-order-drawer__stat-value--money"},Ls={key:1,class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--accent"},zs={class:"yeji-order-drawer__stat-value yeji-order-drawer__stat-value--money"},$s={key:2,class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--muted"},As={class:"yeji-order-drawer__stat-value"},Rs={class:"yeji-order-drawer__body"},Ps={key:0,class:"yeji-order-appt-lines"},Ms={class:"yeji-order-appt-line"},Os={class:"yeji-order-appt-line"},Is={key:0,class:"yeji-order-appt-sub"},Vs={class:"yeji-order-appt-line"},Fs={class:"yeji-order-appt-line yeji-order-appt-line--channel"},Ts={class:"yeji-order-appt-channel-text"},Es={key:0,class:"yeji-order-appt-sub"},Bs={key:1,class:"yeji-order-appt-empty"},Ys={class:"yeji-order-amt"},Us={class:"yeji-order-drawer__pager"},Hs={class:"yeji-unassigned-dialog__head"},Ws={class:"yeji-unassigned-dialog__sub"},qs={key:0,class:"yeji-unassigned-dialog__note"},Gs={class:"yeji-unassigned-dialog__body"},Js={class:"yeji-unassigned-dialog__head"},Ks={class:"yeji-unassigned-dialog__sub"},Xs={key:0,class:"yeji-unassigned-dialog__note"},Qs={class:"yeji-unassigned-dialog__body"},Zs={key:2,class:"yeji-leadlines-dialog__pager"},ei={class:"yeji-unassigned-dialog__head"},ti={class:"yeji-unassigned-dialog__sub"},ai={key:0,class:"yeji-unassigned-dialog__note"},ni={class:"yeji-unassigned-dialog__body"},li={key:2,class:"yeji-leadlines-dialog__pager"},oi={class:"yeji-unassigned-dialog__head"},si={class:"yeji-unassigned-dialog__sub"},ii={key:0,class:"yeji-unassigned-dialog__note"},ri={class:"yeji-unassigned-dialog__body"},di=["onClick","onKeydown"],na=30,ui="stats.doctorDailyStats/overview",ci=al({__name:"yeji",setup(pi){const la={value:"id",label:"name",children:"children"};function oa(t){if(!t.length)return[];const e=new Map;for(const h of t)e.set(h.id,{...h,children:[]});const n=[];for(const h of t){const b=e.get(h.id),w=Number(h.pid);w>0&&e.has(w)?e.get(w).children.push(b):n.push(b)}const s=h=>{var b;(b=h.children)!=null&&b.length?h.children.forEach(s):delete h.children};n.forEach(s);const d=h=>{var b;h.sort((w,T)=>{const O=w.name.includes("中心")?-1:1,_=T.name.includes("中心")?-1:1;return O!==_?O-_:w.id-T.id});for(const w of h)(b=w.children)!=null&&b.length&&d(w.children)};return d(n),n}const te=v(!1),me=v([]),lt=v(!1),sa=L(()=>oa(me.value)),R=v([]),Be=v([]),ot=v(!1),z=v(""),B=v(null),oe=v([]);function st(t,e){if(!t||typeof t!="object")return e;for(const n of Object.keys(t)){const s=parseInt(n,10);!Number.isNaN(s)&&s>=2&&(e=Math.max(e,s))}return e}function ia(t){var n;let e=0;for(const s of t){for(const d of s.rows)e=st(d.revisit_slots,e);e=st((n=s.total)==null?void 0:n.revisit_slots,e)}return e}const it=L(()=>{const t=Math.min(ia(oe.value),na);return t<2?[]:Array.from({length:t-1},(e,n)=>n+2)});function ra(t){if(!t.er_center_subtree)return 0;let e=0;for(const n of t.rows)e=st(n.revisit_slots,e);return e}function Nt(t){const e=Math.min(ra(t),na);return e<2?[]:Array.from({length:e-1},(n,s)=>s+2)}function Ye(t){if(t===2)return"复诊2";const e=["三","四","五","六","七","八","九","十"];return t>=3&&t<=10?`复诊${e[t-3]}`:`复诊${t}`}function J(t,e){const n=t==null?void 0:t.revisit_slots;if(!n||typeof n!="object")return 0;const s=n[e]??n[String(e)],d=Number(s);return Number.isFinite(d)?d:0}const x=v(null),ae=v(!1),rt=v(!1),ve=v(!1),St=v(""),Me=v(""),fe=v([]),dt=v(!1),ye=v(!1),Dt=v(""),Oe=v(""),ge=v([]),Ct=v(null),ut=v(!1),se=v(!1),Lt=v(""),Ie=v(""),be=v([]),Ve=v(0),Fe=v(1),Ue=v(20),zt=v(null),He=v(!1),ie=v(!1),ct=v(""),he=v(""),ne=v([]),we=v(0),re=v(1),ke=v(20),pt=v(null),da=L(()=>ne.value.some(t=>String(t.channel_source??"")!=="")),$t=v("zyyt"),ua=el(),je=L(()=>(ua.perms||[]).some(e=>e==="*"||e===ui)),At=L(()=>{var t;return(((t=x.value)==null?void 0:t.leaderboards)??[]).filter(e=>e.rows.length>0)});function Rt(t){return t.rows.some(e=>e.dept_id>0&&(Number(e.lead_count)>0||Number(e.consult_count)>0||Number(e.deal_order_count)>0||Number(e.performance_amount)>0||Number(e.completed_performance_amount)>0))}const xe=v(!1),Y=v([]),Ne=v({}),We=v(null),qe=L(()=>{const t=We.value;return!(t!=null&&t.start)||!(t!=null&&t.end)?"":t.start===t.end?`区间 ${t.start}`:`区间 ${t.start} ~ ${t.end}`}),_t=L(()=>Y.value.some(t=>Number(t.deal_amount??0)>0)),mt=L(()=>Y.value.some(t=>Number(t.system_prescription_count??0)>0||Number(t.manual_prescription_count??0)>0)),ca=L(()=>je.value?_t.value||mt.value||vt.value||ft.value||yt.value:!1),pa=L(()=>{if(ca.value)return!0;for(const t of oe.value)if(Rt(t))return!0;return At.value.length>0}),vt=L(()=>{const t=Ne.value;return Number(t.appointment_completed??0)+Number(t.appointment_missed??0)+Number(t.appointment_cancelled??0)>0}),_a=L(()=>{const t=Ne.value,e=[{value:Number(t.appointment_completed??0),name:"挂号完成"},{value:Number(t.appointment_missed??0),name:"过号"},{value:Number(t.appointment_cancelled??0),name:"取消"}].filter(n=>n.value>0);return{color:["#0d9488","#d97706","#94a3b8"],tooltip:{trigger:"item",formatter:"{b}: {c} ({d}%)"},legend:{bottom:0,type:"scroll",textStyle:{fontSize:10}},series:[{name:"挂号",type:"pie",radius:["42%","68%"],center:["50%","46%"],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b}
-{c}`,fontSize:11},data:e}]}}),ft=L(()=>Y.value.filter(t=>Number(t.deal_order_count??0)>0&&Number(t.deal_amount??0)>0).length>=2),ma=L(()=>{const t=Y.value.filter(s=>Number(s.deal_order_count??0)>0&&Number(s.deal_amount??0)>0),e=Math.max(...t.map(s=>Number(s.deal_amount)),1),n=t.map(s=>{const d=Number(s.deal_amount);return{name:String(s.doctor_name||"—"),value:[Number(s.deal_order_count),d],symbolSize:12+Math.sqrt(d/e)*26}});return{color:["#2563eb"],tooltip:{trigger:"item",formatter:s=>{var h;const d=(h=s.data)==null?void 0:h.value;return Array.isArray(d)?`${s.data.name}
接诊诊单:${d[0]}
金额:${Number(d[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}]}}),yt=L(()=>Y.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),va=L(()=>{const t=[...Y.value].filter(_=>Number(_.deal_amount??0)+Number(_.deal_order_count??0)+Number(_.system_prescription_count??0)+Number(_.manual_prescription_count??0)>0).sort((_,P)=>Number(P.deal_amount)-Number(_.deal_amount)).slice(0,5);if(t.length<2)return{radar:{indicator:[]},series:[{type:"radar",data:[]}]};const e=_=>{const P=String(_.doctor_name||"—");return P.length>7?`${P.slice(0,7)}…`:P},n=_=>Number(_.system_prescription_count??0)+Number(_.manual_prescription_count??0),s=_=>{const P=Number(_.avg_deal_amount);if(Number.isFinite(P)&&P>0)return P;const A=Number(_.deal_order_count);return A>0?Number(_.deal_amount)/A:0},d=Math.max(...t.map(_=>Number(_.deal_amount)),1e-9),h=Math.max(...t.map(_=>Number(_.deal_order_count)),1e-9),b=Math.max(...t.map(n),1e-9),w=Math.max(...t.map(_=>Number(_.appointment_completed??0)),1e-9),T=Math.max(...t.map(s),1e-9),O=t.map(_=>({name:e(_),value:[Number(_.deal_amount)/d*100,Number(_.deal_order_count)/h*100,n(_)/b*100,Number(_.appointment_completed??0)/w*100,s(_)/T*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:O,emphasis:{lineStyle:{width:3}}}]}}),fa=L(()=>{const t=[...Y.value].filter(s=>Number(s.deal_amount??0)>0).sort((s,d)=>Number(d.deal_amount)-Number(s.deal_amount)).slice(0,20),e=t.map(s=>{const d=String(s.doctor_name||"—");return d.length>10?`${d.slice(0,10)}…`:d}),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]}}]}}),ya=L(()=>{const t=[...Y.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 ga(){var e,n;const t={};if(z.value&&(t.channel_code=z.value),(e=B.value)!=null&&e[0]&&((n=B.value)!=null&&n[1]))t.start_date=B.value[0],t.end_date=B.value[1];else{const s=at(new Date);t.start_date=s,t.end_date=s}return t}function Pt(t){return Number(t??0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function ba(t){const e=Ne.value,n=[];return t.columns.forEach((s,d)=>{if(d===0){n[d]="合计";return}switch(s.property){case"system_prescription_count":n[d]=String(e.system_prescription_count??0);break;case"manual_prescription_count":n[d]=String(e.manual_prescription_count??0);break;case"deal_amount":n[d]=`¥ ${Pt(e.deal_amount)}`;break;case"deal_order_count":n[d]=String(e.deal_order_count??0);break;case"appointment_completed":n[d]=String(e.appointment_completed??0);break;case"appointment_missed":n[d]=String(e.appointment_missed??0);break;case"appointment_cancelled":n[d]=String(e.appointment_cancelled??0);break;default:n[d]=""}}),n}async function Mt(){xe.value=!0;try{const t=await Yn(ga());Y.value=(t==null?void 0:t.rows)??[],Ne.value=(t==null?void 0:t.total)??{},t!=null&&t.start_date&&(t!=null&&t.end_date)&&(We.value={start:t.start_date,end:t.end_date})}catch{Y.value=[],Ne.value={},We.value=null}finally{xe.value=!1}}const Se=v(!1),de=v(!1),Ge=v(""),Je=v(""),ue=v([]),Ke=v(0),K=v(1),Xe=v(15),le=v("channel"),X=v(null),Qe=v(null),Q=v(null),Ot=L(()=>{const t=Q.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}),It=L(()=>{const t=Q.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}),ha=L(()=>ue.value.reduce((t,e)=>t+Number(e.amount??0),0)),gt=L(()=>!!z.value&&Se.value),bt=L(()=>{var e;const t=z.value;if(!t)return"";for(const n of Be.value){const s=(e=n.channels)==null?void 0:e.find(d=>d.channel_code===t);if(s!=null&&s.channel_name)return String(s.channel_name)}return t}),wa=L(()=>{const t=X.value;return t&&le.value==="total"?Number.isFinite(t.channelAmount)?t.channelAmount:null:Ot.value}),De=v(null),Ze=v(!1);function ka(){const t=new Date;return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`}function ja(t){const[e,n]=t.split("-").map(Number);return new Date(e,n,0).getDate()}async function xa(){var t,e,n,s;Ze.value=!0,De.value=null;try{let d=function(f,D=0){const C=[];for(const $ of f??[])C.push({node:$,depth:D}),C.push(...d($.children??[],D+1));return C},h=function(f){const D=me.value.find(H=>Number(H.id)===f);if(!D)return"";const C=Number(D.pid);if(!C)return"";const $=me.value.find(H=>Number(H.id)===C);return $!=null&&$.name?String($.name):""},b=function(f){const D=[],C=[f];for(;C.length;){const $=C.shift();for(const H of me.value)Number(H.pid)===$&&(D.push(H.id),C.push(H.id))}return D},w=function(f,D){const C=new Map;for(const $ of(f==null?void 0:f.rows)??[])C.set(Number($.dept_id),Number($[D]??0));return C};const T=ka(),O=await Qn({year_month:T}),_=(O==null?void 0:O.rows)??[];if(!_.length)return;const A=d(_).filter(f=>f.depth>=1&&Number(f.node.target_amount)>0).map(f=>f.node);if(!A.length)return;const ee=new Set,M=A.map(f=>{const D=Number(f.dept_id),C=b(D),$=C.length?C:[D];return $.forEach(H=>ee.add(H)),{dept_id:D,dept_name:String(f.dept_name),target_amount:Number(f.target_amount),totalIds:$}});if(!ee.size)return;const $e=Be.value.flatMap(f=>f.channels),U=(t=$e.find(f=>f.channel_name.includes("自媒体1")))==null?void 0:t.channel_code,ce=(e=$e.find(f=>f.channel_name.includes("自媒体3")))==null?void 0:e.channel_code,Ae=(n=$e.find(f=>f.channel_name.includes("自媒体4")))==null?void 0:n.channel_code,Re=Array.from(ee).join(","),[pe,V,l,g]=await Promise.all([Ee({dept_ids:Re}),U?Ee({dept_ids:Re,channel_code:U}):Promise.resolve(null),ce?Ee({dept_ids:Re,channel_code:ce}):Promise.resolve(null),Ae?Ee({dept_ids:Re,channel_code:Ae}):Promise.resolve(null)]),m=f=>{var D;return((f==null?void 0:f.tables)??[]).find(C=>String(C.label).includes("月"))??((D=f==null?void 0:f.tables)==null?void 0:D[0])},E=f=>{var D,C;return((f==null?void 0:f.tables)??[]).find($=>String($.label).includes("昨"))??((C=f==null?void 0:f.tables)==null?void 0:C[((D=f==null?void 0:f.tables)==null?void 0:D.length)-1])},Qt=w(m(pe),"performance_amount"),cn=w(E(pe),"performance_amount"),Zt=V?w(m(V),"completed_performance_amount"):null,ea=l?w(m(l),"completed_performance_amount"):null,ta=g?w(m(g),"completed_performance_amount"):null,Te=(f,D)=>D.reduce((C,$)=>C+(f.get($)??0),0),jt=new Date,pn=ja(T),_n=jt.getDate(),mn=M.map(f=>{const D=Te(Qt,f.totalIds),C=Te(cn,f.totalIds),$=Zt?Te(Zt,f.totalIds):null,H=ea?Te(ea,f.totalIds):null,aa=ta?Te(ta,f.totalIds):null,xt=H!==null||aa!==null?(H??0)+(aa??0):null,gn=Math.round(f.target_amount*(_n/pn)*100)/100,bn=f.target_amount>0?D/f.target_amount:null;return{dept_id:f.dept_id,dept_name:f.dept_name,parent_dept_name:h(f.dept_id),target_amount:f.target_amount,total_amount:D,yesterday_amount:C,douyin_amount:$&&$>0?$:null,tuifen_amount:xt&&xt>0?xt:null,target_progress:gn,completion_rate:bn}}),vn=((s=_[0])==null?void 0:s.dept_name)??"",fn=jt.getMonth()+1,yn=jt.getDate();De.value={title:`${vn}诊金-${fn}.${yn}`,sections:mn}}catch{}finally{Ze.value=!1}}const Na=L(()=>{var e;const t=(e=x.value)==null?void 0:e.leaderboards;return t?t.filter(n=>n.rows.length>0).length:0}),Vt=[{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 Sa(t){const e=t.value();B.value=[at(e[0]),at(e[1])],Ce()}async function Da(){lt.value=!0;try{const t=await Un();me.value=(t||[]).sort((e,n)=>{const s=e.name.includes("中心")?-1:1,d=n.name.includes("中心")?-1:1;return s!==d?s-d:e.id-n.id})}catch{}finally{lt.value=!1}}async function Ca(){ot.value=!0;try{const t=await Hn(),e=(t==null?void 0:t.groups)||[];Be.value=e}catch{}finally{ot.value=!1}}async function Ft(t){ae.value=!0;try{const e={start_date:t.start,end_date:t.end};R.value.length>0&&(e.dept_ids=R.value.join(",")),z.value&&(e.channel_code=z.value);const n=await Gn(e);x.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{x.value=null}finally{ae.value=!1}}async function Ce(){te.value=!0,x.value=null;try{const t={};if(R.value.length>0&&(t.dept_ids=R.value.join(",")),z.value&&(t.channel_code=z.value),B.value&&B.value[0]&&B.value[1]){const[s,d]=B.value,h={...t,start_date:s,end_date:d},b=await Wn(h);oe.value=[{label:s===d?s:`${s} ~ ${d}`,start_date:b.start_date,end_date:b.end_date,channel_code:b.channel_code||"",channel_name:b.channel_name||"",channel_group:b.channel_group||"",channel_filter_note:b.channel_filter_note||"",rows:b.rows||[],total:b.total}],await Ft({start:b.start_date,end:b.end_date});return}const e=await Ee(t);oe.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=at(new Date);await Ft({start:n,end:n})}catch(t){Pe.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"加载失败")}finally{te.value=!1,je.value?Mt():(Y.value=[],Ne.value={},We.value=null)}}function La(){R.value=[],B.value=null,z.value="",Ce()}function za(t){return t<=0?!1:me.value.some(e=>Number(e.pid)===t)}function $a(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function et(t){return t==null||!Number.isFinite(Number(t))?"—":Number(t).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function Aa(t){return(K.value-1)*Xe.value+t+1}function Ra(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):"",d=[n,s].filter(Boolean).join(" ");return e&&d?`${e} ${d}`:e||d||"—"}function Tt(t){if(!t)return"";const e=t.channel_dict_value;if(e!=null&&e!==""){const d=Number(e);if(Number.isFinite(d))return String(Math.trunc(d))}const n=t.channel_source;if(n==null)return"";const s=String(n).trim();return s===""||!/^\d+$/.test(s)?"":String(parseInt(s,10))}function Pa(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,d=new Date(s);if(!Number.isNaN(d.getTime())){const h=d.getFullYear(),b=String(d.getMonth()+1).padStart(2,"0"),w=String(d.getDate()).padStart(2,"0"),T=String(d.getHours()).padStart(2,"0"),O=String(d.getMinutes()).padStart(2,"0");return`${h}-${b}-${w} ${T}:${O}`}}const n=String(t);return n.length>=16?n.slice(0,16):n}async function Le(){const t=Qe.value;if(t){de.value=!0;try{const e={page_no:K.value,page_size:Xe.value,start_time:`${t.start} 00:00:00`,end_time:`${t.end} 23:59:59`,exclude_fulfillment_cancelled:1,yeji_order_drawer:1};t.mode==="dept"?(e.assistant_dept_id=t.deptId,R.value.length>0&&(e.dept_ids=R.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)),z.value&>.value&&le.value==="channel"&&(e.channel_code=z.value);const n=await Zn(e);ue.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],Ke.value=Number((n==null?void 0:n.count)??0),Q.value=n!=null&&n.extend&&typeof n.extend=="object"?n.extend:null,z.value&&le.value==="channel"&&Q.value&&Q.value.stats_yeji_drawer_total_performance_amount!=null&&(X.value={totalAmount:Number(Q.value.stats_yeji_drawer_total_performance_amount),totalOrderCount:Number(Q.value.stats_yeji_drawer_total_performance_order_count??0),channelAmount:Number(Q.value.stats_order_amount_performance??0),channelOrderCount:Number((n==null?void 0:n.count)??0)})}catch(e){Pe.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载业务订单失败"),ue.value=[],Ke.value=0,Q.value=null}finally{de.value=!1}}}function Ma(t,e){le.value="channel",X.value=null,Qe.value={mode:"dept",deptId:e.dept_id,deptName:e.dept_name,start:t.start_date,end:t.end_date},Ge.value=`业务订单 · ${e.dept_name}`,Je.value=`创建时间:${t.start_date} ~ ${t.end_date} · 与「接诊诊单」同口径:诊单医助或订单创建人落在本部门(含下级)· 不含履约已取消`,K.value=1,Se.value=!0,Le()}function Oa(t,e,n){le.value="channel",X.value=null,Qe.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n},Ge.value=`业务订单 · ${t.name}`,Je.value=`创建时间:${e} ~ ${n} · 诊单医助 · 不含履约已取消`,K.value=1,Se.value=!0,Le()}function ht(t,e,n,s){le.value="channel",X.value=null,Qe.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n,erCenterRevisitSlot:s};const d=s===0?"复诊合计":Ye(s);Ge.value=`业务订单 · ${t.name} · ${d}`,Je.value=`创建时间:${e} ~ ${n} · 诊单医助 · 仅二中心复诊口径 · ${d} · 不含履约已取消`,K.value=1,Se.value=!0,Le()}function Ia(t){if(!t||t.admin_id<=0||!x.value||Number(t.revisit_count??0)<=0)return;const{start_date:e,end_date:n}=x.value;ht({admin_id:t.admin_id,name:t.name},e,n,0)}function Va(t,e){if(!t||t.admin_id<=0||!x.value||J(t,e)<=0)return;const{start_date:n,end_date:s}=x.value;ht({admin_id:t.admin_id,name:t.name},n,s,e)}function Fa(){K.value=1,Le()}function Ta(t){K.value=t,Le()}function Ea(t){Xe.value=t,K.value=1,Le()}function ze(t){return t.dept_id<=0&&t.dept_name==="未归属中心"}function Ba(t,e){e.dept_id<=0||ze(e)||Number(e.revisit_count??0)<=0||Bt(t,e,0)}function Ya(t,e,n){e.dept_id<=0||ze(e)||J(e,n)<=0||Bt(t,e,n)}function Et(t){const e=Ct.value;!e||Number(t.order_count)<=0||ht({admin_id:t.admin_id,name:t.name},e.start,e.end,e.revisitSlot)}async function Bt(t,e,n){const s=n===0?"复诊合计":Ye(n);Dt.value=`${e.dept_name} · ${s} · ${t.start_date} ~ ${t.end_date}`,Ct.value={start:t.start_date,end:t.end_date,revisitSlot:n},Oe.value="",ge.value=[],dt.value=!0,ye.value=!0;try{const d={start_date:t.start_date,end_date:t.end_date,dept_id:e.dept_id,revisit_slot:n};R.value.length>0&&(d.dept_ids=R.value.join(",")),z.value&&(d.channel_code=z.value);const h=await qn(d);ge.value=Array.isArray(h==null?void 0:h.rows)?h.rows:[],Oe.value=typeof(h==null?void 0:h.note)=="string"?h.note:""}catch(d){Pe.error((d==null?void 0:d.msg)||(d==null?void 0:d.message)||"加载复诊拆解失败"),ge.value=[],Oe.value=""}finally{ye.value=!1}}function Yt(t){const e=[`区间:${t.start_date} ~ ${t.end_date}`];return z.value&&e.push(`渠道:${t.channel_name||z.value}`),R.value.length>0&&e.push(`已选展示部门 ${R.value.length} 个`),e.join(" · ")}async function Ua(t){St.value=Yt(t),Me.value="",fe.value=[],rt.value=!0,ve.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date};R.value.length>0&&(e.dept_ids=R.value.join(",")),z.value&&(e.channel_code=z.value);const n=await Jn(e);fe.value=Array.isArray(n==null?void 0:n.rows)?n.rows:[],Me.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){Pe.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载未归属拆解失败"),fe.value=[],Me.value=""}finally{ve.value=!1}}function Ha(t,e,n){n.dept_id<=0||Number(n.lead_count)<=0||(t.stopPropagation(),Wa(e,n))}async function wt(){const t=zt.value;if(!t)return;const{tb:e,row:n}=t;se.value=!0;try{const s={start_date:e.start_date,end_date:e.end_date,dept_id:n.dept_id,page:Fe.value,page_size:Ue.value};R.value.length>0&&(s.dept_ids=R.value.join(",")),z.value&&(s.channel_code=z.value);const d=await Kn(s);be.value=Array.isArray(d==null?void 0:d.lists)?d.lists:[],Ve.value=Number((d==null?void 0:d.count)??0),Ie.value=typeof(d==null?void 0:d.note)=="string"?d.note:""}catch(s){Pe.error((s==null?void 0:s.msg)||(s==null?void 0:s.message)||"加载进线明细失败"),be.value=[],Ve.value=0,Ie.value=""}finally{se.value=!1}}async function Wa(t,e){zt.value={tb:t,row:e},Lt.value=`${e.dept_name} · ${Yt(t)}`,Ie.value="",be.value=[],Ve.value=0,Fe.value=1,Ue.value=20,ut.value=!0,await wt()}function qa(t){Fe.value=t,wt()}function Ga(t){Ue.value=t,Fe.value=1,wt()}function Ja(t){return(re.value-1)*ke.value+t+1}function Ut(t){return ze(t)?!0:t.dept_id>0}async function tt(){const t=pt.value;if(t){ie.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date,page:re.value,page_size:ke.value};t.mode==="dept"?e.dept_id=t.dept_id:e.assistant_id=t.assistant_id,R.value.length>0&&(e.dept_ids=R.value.join(",")),z.value&&(e.channel_code=z.value);const n=await Xn(e);ne.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],we.value=Number((n==null?void 0:n.count)??0),he.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){Pe.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载挂号明细失败"),ne.value=[],we.value=0,he.value=""}finally{ie.value=!1}}}function Ka(t){if(!t||t.admin_id<=0||!x.value||Number(t.appointment_count??0)<=0)return;const e=x.value;pt.value={mode:"assistant",assistant_id:t.admin_id,name:t.name,start_date:e.start_date,end_date:e.end_date},ct.value=`${t.name} · 医助 · ${e.start_date} ~ ${e.end_date}`,he.value="",ne.value=[],we.value=0,re.value=1,ke.value=20,He.value=!0,tt()}function Xa(t,e){!Ut(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},ct.value=`${e.dept_name} · ${t.start_date} ~ ${t.end_date}`,he.value="",ne.value=[],we.value=0,re.value=1,ke.value=20,He.value=!0,tt())}function Qa(t){re.value=t,tt()}function Za(t){ke.value=t,re.value=1,tt()}function en(t,e){if(ze(e)){Ua(t);return}if(!(e.dept_id<=0)){if(za(e.dept_id)){R.value=[e.dept_id],Ce();return}Ma(t,e)}}function tn(t){if(!t||t.admin_id<=0||!x.value)return;const{start_date:e,end_date:n}=x.value;Oa(t,e,n)}function Ht(t){const e=t.channel_name?` · ${t.channel_name}`:"";return`${t.label}${e}`}function an(t){const e=t.rows.filter(b=>b.dept_id>0),n=e.map(b=>b.dept_name.length>10?`${b.dept_name.slice(0,10)}…`:b.dept_name),s=["#64748b","#38bdf8","#6366f1"],d=[{name:"进线",type:"bar",data:e.map(b=>b.lead_count),yAxisIndex:0,barMaxWidth:16},{name:"接诊",type:"bar",data:e.map(b=>b.consult_count),yAxisIndex:0,barMaxWidth:16},{name:"成交单",type:"bar",data:e.map(b=>b.deal_order_count),yAxisIndex:0,barMaxWidth:16},{name:"合计业绩",type:"bar",data:e.map(b=>b.performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#d97706"}}];t.channel_name&&d.push({name:`${t.channel_name}业绩`,type:"bar",data:e.map(b=>b.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:d}}function nn(t,e){const n=[...t.rows].sort((s,d)=>Number(d.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 Wt(t){return t.rows.some(e=>Number(e.fee_amount)>0)}function ln(t,e){const s=[...t.rows].filter(d=>Number(d.fee_amount)>0).sort((d,h)=>Number(h.fee_amount)-Number(d.fee_amount)).slice(0,10).map(d=>({name:d.name.length>6?`${d.name.slice(0,6)}…`:d.name,value:Number(d.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 qt(t){return Number(t.total.lead_count)+Number(t.total.consult_count)+Number(t.total.deal_order_count)>0}function on(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 Gt(t){return t.rows.some(e=>e.dept_id>0&&Number(e.performance_amount)>0)}function sn(t){const e=t.rows.filter(d=>d.dept_id>0&&Number(d.performance_amount)>0).sort((d,h)=>Number(h.performance_amount)-Number(d.performance_amount));if(!e.length)return{series:[{type:"pie",data:[]}]};const s=e.slice(0,10).map(d=>({name:d.dept_name.length>8?`${d.dept_name.slice(0,8)}…`:d.dept_name,value:Number(d.performance_amount)}));if(e.length>10){const d=e.slice(10).reduce((h,b)=>h+Number(b.performance_amount),0);d>0&&s.push({name:"其它",value:d})}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}
-{d}%`,fontSize:10}}]}}function kt(t){return{perf:"渠道业绩",deal:"渠道成交",aov:"渠道客单"}[t]??t}function N(t){return t==null||t===""?"0":Number(t).toLocaleString("en-US")}function W(t){return t==null||t===""?"0.0":Number(t).toLocaleString("en-US",{minimumFractionDigits:1,maximumFractionDigits:1})}function Z(t){if(t==null||t==="")return"0";const e=Number(t);return Number.isFinite(e)?Math.round(e).toLocaleString("zh-CN"):"0"}function Jt(t){return t==null||t===""?"—":Number(t).toLocaleString("en-US",{minimumFractionDigits:1,maximumFractionDigits:1})}function Kt(t){return t==null||t===""?"—":Number(t).toFixed(1)}function Xt(t){if(t==null||t==="")return"";const e=Number(t);return e>=1?"roi-good":e>=.8?"roi-mid":"roi-bad"}function rn(t){return t===null?"—":(t*100).toFixed(2)+"%"}function dn(t){return t===null?"":t>=1?"tp-good":t>=.8?"tp-mid":"tp-bad"}function un(t){return t>=1e4?(t/1e4).toFixed(1)+"万":String(t)}function at(t){const e=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),s=String(t.getDate()).padStart(2,"0");return`${e}-${n}-${s}`}return nl(async()=>{await Promise.all([Da(),Ca()]),Ce(),xa()}),(t,e)=>{const n=wn,s=kn,d=hn,h=jn,b=Nn,w=Dn,T=Sn,O=Cn,_=An,P=$n,A=Rn,ee=zn,M=Pn,$e=Ln,U=On,ce=Mn,Ae=In,Re=Vn,pe=Fn,V=xn;return o(),u("div",ll,[e[139]||(e[139]=a("header",{class:"yeji-masthead"},[a("div",{class:"yeji-masthead__inner"},[a("h1",{class:"yeji-masthead__title"},"业绩看板"),a("p",{class:"yeji-masthead__desc"},"渠道 · 部门 · 日期维度的业绩分析")])],-1)),i(O,{class:"yeji-panel filter-card",shadow:"never"},{default:c(()=>[a("div",ol,[a("div",sl,[a("div",il,[e[10]||(e[10]=a("span",{class:"lbl"},"渠道来源",-1)),i(d,{modelValue:z.value,"onUpdate:modelValue":e[0]||(e[0]=l=>z.value=l),filterable:"",placeholder:"渠道筛选",class:"filter-select filter-select--channel",loading:ot.value,onChange:Ce},{default:c(()=>[i(n,{label:"全部",value:""}),(o(!0),u(k,null,I(Be.value,l=>(o(),j(s,{key:l.group_name,label:l.group_name},{default:c(()=>[(o(!0),u(k,null,I(l.channels,g=>(o(),j(n,{key:g.channel_code,label:g.channel_name,value:g.channel_code},{default:c(()=>[a("div",rl,[a("span",dl,r(g.channel_name),1),a("span",ul,r(g.customer_count>0?g.customer_count:""),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","loading"])]),a("div",cl,[e[11]||(e[11]=a("span",{class:"lbl"},"展示部门",-1)),q((o(),u("div",pl,[i(h,{modelValue:R.value,"onUpdate:modelValue":e[1]||(e[1]=l=>R.value=l),data:sa.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":"",filterable:"","check-strictly":"","render-after-expand":!1,"default-expand-all":!0,placeholder:"默认:所有「中心」部门",class:"filter-dept-tree-select","node-key":"id",props:la},null,8,["modelValue","data"])])),[[V,lt.value]])]),a("div",_l,[e[12]||(e[12]=a("span",{class:"lbl"},"日期范围",-1)),i(b,{modelValue:B.value,"onUpdate:modelValue":e[2]||(e[2]=l=>B.value=l),type:"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始","end-placeholder":"结束",clearable:!0,shortcuts:Vt,class:"filter-date-picker"},null,8,["modelValue"])]),a("div",ml,[i(T,{type:"primary",class:"filter-btn filter-btn--query",loading:te.value,onClick:Ce},{default:c(()=>[i(w,{class:"filter-btn__icon"},{default:c(()=>[i(S(En))]),_:1}),e[13]||(e[13]=p(" 查询 ",-1))]),_:1},8,["loading"]),i(T,{class:"filter-btn filter-btn--reset",disabled:te.value,onClick:La},{default:c(()=>[i(w,{class:"filter-btn__icon"},{default:c(()=>[i(S(Bn))]),_:1}),e[14]||(e[14]=p(" 重置 ",-1))]),_:1},8,["disabled"])])]),a("div",vl,[e[15]||(e[15]=a("span",{class:"filter-quick__title"},"快捷日期",-1)),a("div",fl,[(o(),u(k,null,I(Vt,l=>a("button",{key:l.text,type:"button",class:"date-pill",onClick:g=>Sa(l)},r(l.text),9,yl)),64))])])])]),_:1}),i(O,{class:"yeji-panel yeji-main-tabs-card",shadow:"never"},{default:c(()=>[e[114]||(e[114]=a("div",{class:"yeji-table-tabs-head"},[a("span",{class:"yeji-table-tabs-head__title"},"表格统计"),a("span",{class:"yeji-table-tabs-head__hint"},"列较多时可横向滚动浏览;「部门 / 排名」列在滚动时保持固定。")],-1)),i($e,{modelValue:$t.value,"onUpdate:modelValue":e[3]||(e[3]=l=>$t.value=l),class:"yeji-view-tabs"},{default:c(()=>[i(ee,{label:"医生统计",name:"doctor",lazy:""},{default:c(()=>[je.value?(o(),j(O,{key:0,class:"yeji-panel doctor-daily-card doctor-daily-card--nested",shadow:"never"},{header:c(()=>[a("div",gl,[a("div",bl,[e[16]||(e[16]=a("span",{class:"doctor-daily-card__title"},"医生明细",-1)),qe.value?(o(),u("span",hl,r(qe.value),1)):y("",!0)]),a("div",wl,[i(T,{type:"primary",size:"small",loading:xe.value,onClick:Mt},{default:c(()=>[...e[17]||(e[17]=[p(" 刷新 ",-1)])]),_:1},8,["loading"])])])]),default:c(()=>[q((o(),j(P,{data:Y.value,size:"small",border:"",stripe:"",class:"doctor-daily-table","show-summary":"","summary-method":ba},{default:c(()=>[i(_,{prop:"doctor_name",label:"医生","min-width":"100",fixed:""}),i(_,{prop:"system_prescription_count",label:"系统开方","min-width":"88",align:"right"}),i(_,{prop:"manual_prescription_count",label:"手动开方","min-width":"88",align:"right"}),i(_,{prop:"deal_amount",label:"成交金额","min-width":"110",align:"right"},{default:c(({row:l})=>[p("¥ "+r(Pt(l.deal_amount)),1)]),_:1}),i(_,{prop:"deal_order_count",label:"接诊诊单","min-width":"88",align:"right"}),i(_,{prop:"appointment_completed",label:"挂号完成","min-width":"88",align:"right"}),i(_,{prop:"appointment_missed",label:"过号","min-width":"72",align:"right"}),i(_,{prop:"appointment_cancelled",label:"取消","min-width":"72",align:"right"})]),_:1},8,["data"])),[[V,xe.value]])]),_:1})):(o(),j(A,{key:1,description:"当前账号无医生统计权限"}))]),_:1}),i(ee,{label:"医助排行榜",name:"leaderboard",lazy:""},{default:c(()=>[x.value||ae.value?q((o(),u("div",kl,[x.value?(o(),u(k,{key:0},[a("p",jl,[p(r(x.value.range_note)+" ",1),a("span",xl,r(x.value.start_date)+" ~ "+r(x.value.end_date),1)]),a("div",Nl,[(o(!0),u(k,null,I(x.value.leaderboards,l=>(o(),u(k,{key:l.dept_id},[l.rows.length>0?(o(),u("div",Sl,[a("div",Dl,[p(r(l.dept_name)+" · 医助排行榜 ",1),x.value.channel_name?(o(),u("span",Cl," ("+r(x.value.channel_name)+") ",1)):y("",!0)]),a("div",Ll,[a("table",zl,[a("thead",null,[a("tr",null,[e[19]||(e[19]=a("th",{class:"col-rank"},"排名",-1)),e[20]||(e[20]=a("th",{class:"col-abbr"},"部门",-1)),e[21]||(e[21]=a("th",{class:"col-name"},"姓名",-1)),e[22]||(e[22]=a("th",{class:"col-consult"},"接诊单数",-1)),e[23]||(e[23]=a("th",{class:"col-deal"},"接诊诊单",-1)),e[24]||(e[24]=a("th",{class:"col-assign"},"被指派数",-1)),e[25]||(e[25]=a("th",{class:"col-appointment"},"预约诊单",-1)),l.er_center_subtree?(o(),u(k,{key:0},[e[18]||(e[18]=a("th",{class:"col-revisit"},"复诊合计",-1)),(o(!0),u(k,null,I(Nt(l),g=>(o(),u("th",{key:"lbh-"+l.dept_id+"-"+g,class:"col-revisit-slot"},r(Ye(g)),1))),128))],64)):y("",!0),e[26]||(e[26]=a("th",null,"诊金",-1)),e[27]||(e[27]=a("th",null,[p("接诊率"),a("br"),a("span",{class:"th-sub"},"(元/进线)")],-1))])]),a("tbody",null,[(o(!0),u(k,null,I(l.rows,g=>(o(),u("tr",{key:g.admin_id,class:"yeji-row--action",onClick:m=>tn(g)},[a("td",Al,r(g.rank),1),a("td",Rl,r(g.dept_abbr),1),a("td",Pl,r(g.name),1),a("td",Ml,r(Z(g.consult_count)),1),a("td",Ol,r(Z(g.deal_order_count)),1),a("td",Il,r(Z(g.assign_count??0)),1),a("td",{class:"col-appointment",onClick:_e(m=>Ka(g),["stop"])},[Number(g.appointment_count??0)>0?(o(),u("span",Fl,r(Z(g.appointment_count??0)),1)):(o(),u(k,{key:1},[p(r(Z(g.appointment_count??0)),1)],64))],8,Vl),l.er_center_subtree?(o(),u(k,{key:0},[a("td",{class:"col-revisit",onClick:_e(m=>Ia(g),["stop"])},[Number(g.revisit_count??0)>0?(o(),u("span",El,r(Z(g.revisit_count??0)),1)):(o(),u(k,{key:1},[p(r(Z(g.revisit_count??0)),1)],64))],8,Tl),(o(!0),u(k,null,I(Nt(l),m=>(o(),u("td",{key:"lbc-"+g.admin_id+"-"+m,class:"col-revisit-slot",onClick:_e(E=>Va(g,m),["stop"])},[J(g,m)>0?(o(),u("span",Yl,r(Z(J(g,m))),1)):(o(),u(k,{key:1},[p(r(Z(J(g,m))),1)],64))],8,Bl))),128))],64)):y("",!0),a("td",null,r(W(g.fee_amount)),1),a("td",null,r(W(g.consult_rate)),1)],8,$l))),128))])])]),a("div",Ul,[e[28]||(e[28]=a("span",null,"诊金单位:元 · 被指派数与部门业绩表同口径 · 接诊率 = 诊金 ÷ 进线(元/进线)",-1)),l.er_center_subtree?(o(),u("span",Hl," · 复诊列为二中心口径(同一诊单业务单序列第 2 笔起),点击数字查看对应业务订单 ")):y("",!0),e[29]||(e[29]=a("span",null," · 预约诊单:预约日期在统计区间内,状态含已预约/已完成/已过号(不含已取消),医助归属与接诊单数一致;各科组展示全部医助。 ",-1))])])):y("",!0)],64))),128))]),!ae.value&&Na.value===0?(o(),u("div",Wl,[i(A,{description:"当前筛选下暂无医助排行数据"})])):y("",!0)],64)):y("",!0)])),[[V,ae.value]]):ae.value?y("",!0):(o(),j(A,{key:1,class:"yeji-charts-empty",description:"当前筛选下暂无医助排行数据"}))]),_:1}),i(ee,{label:"甄养堂互联网医院诊金",name:"zyyt",lazy:""},{default:c(()=>[e[113]||(e[113]=a("p",{class:"yeji-zyyt-intro"}," 各中心部门诊金、业绩、进线与 ROI 等,与顶部渠道、展示部门、日期筛选联动。本月 / 本周 / 今日等多张业绩表中「预约诊单」列数字可点开查看每条挂号记录。 ",-1)),De.value||Ze.value?q((o(),u("div",ql,[De.value?(o(),u("div",Gl,[a("div",Jl,r(De.value.title),1),a("div",Kl,[(o(!0),u(k,null,I(De.value.sections,l=>(o(),u("div",{key:l.dept_id,class:"tp-section"},[a("div",Xl,[a("div",Ql,[l.parent_dept_name?(o(),u("span",Zl,r(l.parent_dept_name),1)):y("",!0),a("span",eo,r(l.dept_name)+"目标",1)]),a("span",to,r(un(l.target_amount)),1)]),a("table",ao,[a("tbody",null,[a("tr",null,[e[30]||(e[30]=a("td",{class:"tp-lbl"},"昨日诊金",-1)),a("td",no,r(N(l.yesterday_amount)),1)]),l.douyin_amount!==null?(o(),u("tr",lo,[e[31]||(e[31]=a("td",{class:"tp-lbl"},"抖音总诊金",-1)),a("td",oo,r(N(l.douyin_amount)),1)])):y("",!0),l.tuifen_amount!==null?(o(),u("tr",so,[e[32]||(e[32]=a("td",{class:"tp-lbl"},"推粉总诊金",-1)),a("td",io,r(N(l.tuifen_amount)),1)])):y("",!0),a("tr",null,[e[33]||(e[33]=a("td",{class:"tp-lbl"},"总诊金",-1)),a("td",ro,r(N(l.total_amount)),1)]),a("tr",null,[e[34]||(e[34]=a("td",{class:"tp-lbl"},"目标进度",-1)),a("td",uo,r(W(l.target_progress)),1)]),a("tr",null,[e[35]||(e[35]=a("td",{class:"tp-lbl"},"完成进度",-1)),a("td",{class:nt(["tp-val",dn(l.completion_rate)])},r(rn(l.completion_rate)),3)])])])]))),128))])])):y("",!0)])),[[V,Ze.value]]):y("",!0),q((o(),u("div",co,[!te.value&&oe.value.length===0?(o(),u("div",po,[i(A,{description:"暂无数据"})])):y("",!0),(o(!0),u(k,null,I(oe.value,(l,g)=>(o(),u("div",{key:g,class:"yeji-table"},[a("div",_o,r(Ht(l)),1),a("div",mo,[a("table",vo,[a("thead",null,[a("tr",null,[e[111]||(e[111]=a("th",{class:"col-dept"},"部门",-1)),a("th",null,[e[42]||(e[42]=a("span",null,"进线数据",-1)),i(M,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[a("div",fo,[e[40]||(e[40]=p(" add_external_contact 事件数,按接待企微成员归属部门;定渠道时须客户带对应企微标签。",-1)),e[41]||(e[41]=a("br",null,null,-1)),l.channel_name?(o(),u(k,{key:0},[e[36]||(e[36]=a("b",null,"二中心及其组织下级",-1)),e[37]||(e[37]=p("(与部门 ErCenter 子树一致)在选定渠道下进线计 ",-1)),e[38]||(e[38]=a("b",null,"0",-1)),e[39]||(e[39]=p("。 ",-1))],64)):y("",!0)])]),default:c(()=>[i(w,{class:"col-info"},{default:c(()=>[i(S(F))]),_:1})]),_:2},1024)]),a("th",null,[e[58]||(e[58]=a("span",null,"被指派数",-1)),i(M,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[a("div",yo,[e[50]||(e[50]=a("b",null,"tcm_diagnosis_assign_log",-1)),e[51]||(e[51]=p(" 行数(成功指派:",-1)),e[52]||(e[52]=a("b",null,"to_assistant_id > 0",-1)),e[53]||(e[53]=p("),**仅按 ",-1)),e[54]||(e[54]=a("b",null,"related_po_create_time",-1)),e[55]||(e[55]=p("** 落在所选区间内(与日志表快照一致;诊单手动指派已写入该字段)。按",-1)),e[56]||(e[56]=a("b",null,"被指派医助",-1)),e[57]||(e[57]=p("归属展示部门。",-1)),l.channel_name?(o(),u(k,{key:0},[p(" 选定渠道时收窄与「"+r(l.channel_name)+"」业绩同口径(标签诊单或 channels EXISTS)。",1),e[43]||(e[43]=a("br",null,null,-1)),e[44]||(e[44]=a("b",null,"二中心及其组织下级",-1)),e[45]||(e[45]=p("在选定渠道下本列计 ",-1)),e[46]||(e[46]=a("b",null,"0",-1)),e[47]||(e[47]=p("。 ",-1))],64)):(o(),u(k,{key:1},[e[48]||(e[48]=a("br",null,null,-1)),e[49]||(e[49]=p("未选渠道时不限客户来源,与「合计业绩」列渠道无关。",-1))],64))])]),default:c(()=>[i(w,{class:"col-info"},{default:c(()=>[i(S(F))]),_:1})]),_:2},1024)]),a("th",null,[e[60]||(e[60]=a("span",null,"复诊合计",-1)),i(M,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[...e[59]||(e[59]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[p(" 仅"),a("b",null,"名称含「二中心」"),p("的部门及其组织下级:与本表区间一致,按患者业务单 "),a("b",null,"create_time"),p(" 排序,"),a("b",null,"第 1 笔不计"),p(";第 2 笔起计入合计,并分列复诊2、复诊三…(含本部门及下级汇总)。订单条件同「合计业绩」列(非取消)。非二中心子树部门为 0。 ")],-1)])]),default:c(()=>[i(w,{class:"col-info"},{default:c(()=>[i(S(F))]),_:1})]),_:1})]),(o(!0),u(k,null,I(it.value,m=>(o(),u("th",{key:"yjv-h-"+m},[a("span",null,r(Ye(m)),1),i(M,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[a("div",go,[e[61]||(e[61]=p(" 该列统计区间内患者第 ",-1)),a("b",null,r(m),1),e[62]||(e[62]=p(" 笔业务单条数(第 1 笔初诊单列不计);归属与合计列相同。 ",-1))])]),default:c(()=>[i(w,{class:"col-info"},{default:c(()=>[i(S(F))]),_:1})]),_:2},1024)]))),128)),a("th",null,[e[64]||(e[64]=a("span",null,"合计业绩",-1)),i(M,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[...e[63]||(e[63]=[a("div",{style:{"max-width":"300px","line-height":"1.7","font-size":"12px"}},[p(" 按订单"),a("b",null,"创建时间"),p("统计(剔除履约已取消),金额与"),a("b",null,"接诊诊单"),p("列一致:诊单"),a("b",null,"医助"),p("或订单"),a("b",null,"创建人"),p("的人事部门落在本展示行(含下级)即计入,多行命中时取最深的展示部门。"),a("br"),a("b",null,"不受渠道筛选影响"),p("。与侧栏按部门打开的业务订单列表可对齐。 ")],-1)])]),default:c(()=>[i(w,{class:"col-info"},{default:c(()=>[i(S(F))]),_:1})]),_:1})]),l.channel_name?(o(),u("th",bo,[a("span",ho,r(kt("perf")),1),i(M,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[a("div",wo,[p(" 「"+r(l.channel_name)+"」渠道业绩(与卡片标题渠道一致)。与「处方订单列表」业绩",1),e[65]||(e[65]=a("b",null,"同口径",-1)),e[66]||(e[66]=p(":按订单 ",-1)),e[67]||(e[67]=a("b",null,"create_time",-1)),e[68]||(e[68]=p(" 归日,剔除履约已取消(4)。",-1)),e[69]||(e[69]=a("br",null,null,-1)),e[70]||(e[70]=p(" 渠道判定用 EXISTS:该患者有任一挂号 ",-1)),e[71]||(e[71]=a("b",null,"channels 命中字典 + status=3",-1)),e[72]||(e[72]=p("(不限挂号时点)。 ",-1))])]),default:c(()=>[i(w,{class:"col-info","aria-label":"说明"},{default:c(()=>[i(S(F))]),_:1})]),_:2},1024)])):y("",!0),a("th",null,[e[74]||(e[74]=a("span",null,"预约诊单",-1)),i(M,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[...e[73]||(e[73]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[p(" 已预约 / 已完成 / 已过号(不含已取消),按"),a("b",null,"预约日期"),p("落在区间内统计;部门归属医助优先,否则接诊医生;与"),a("b",null,"医助排行榜 · 预约诊单"),p("及明细弹窗同口径。"),a("br"),p(" 点击数字可查看每条挂号记录。 ")],-1)])]),default:c(()=>[i(w,{class:"col-info"},{default:c(()=>[i(S(F))]),_:1})]),_:1})]),a("th",null,[e[76]||(e[76]=a("span",null,"已完成挂号",-1)),i(M,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[...e[75]||(e[75]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[p(" 仅"),a("b",null,"已完成"),p("(status=3),与 admin「医生预约 / 已完成」列表计数条件一致(appointment_date、诊单未软删);部门归属医助优先,否则接诊医生。 ")],-1)])]),default:c(()=>[i(w,{class:"col-info"},{default:c(()=>[i(S(F))]),_:1})]),_:1})]),a("th",null,[e[78]||(e[78]=a("span",null,"接诊诊单",-1)),i(M,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[...e[77]||(e[77]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[a("b",null,"业务订单条数"),p("(非取消):订单 "),a("b",null,"create_time"),p(" 落入区间、"),a("b",null,"fulfillment_status ≠ 4"),p(";与列表筛选 "),a("b",null,"assistant_dept_id"),p(" 时一致——诊单 "),a("b",null,"医助"),p("或订单 "),a("b",null,"创建人"),p("的人事部门落在该部门子树即计入(表格多行命中时取最深的展示部门)。与侧栏勾选「与表格业绩对齐」时的集合可能略有差异。选定渠道时本列仍为全量。 ")],-1)])]),default:c(()=>[i(w,{class:"col-info"},{default:c(()=>[i(S(F))]),_:1})]),_:1})]),l.channel_name?(o(),u("th",ko,[a("span",jo,r(kt("deal")),1),i(M,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[a("div",xo,[p(" 「"+r(l.channel_name)+"」渠道成交单数;与渠道业绩同源:区间内 ",1),e[79]||(e[79]=a("b",null,"非取消业务订单",-1)),e[80]||(e[80]=p(" 条数,按订单 ",-1)),e[81]||(e[81]=a("b",null,"create_time",-1)),e[82]||(e[82]=p(" 归日;渠道判定同业绩列。 ",-1))])]),default:c(()=>[i(w,{class:"col-info","aria-label":"说明"},{default:c(()=>[i(S(F))]),_:1})]),_:2},1024)])):y("",!0),l.channel_name?(o(),u("th",No,[a("span",So,r(kt("aov")),1),i(M,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[a("div",Do," 「"+r(l.channel_name)+"」渠道客单价 ≈ 渠道业绩 ÷ 渠道成交单。 ",1)]),default:c(()=>[i(w,{class:"col-info","aria-label":"说明"},{default:c(()=>[i(S(F))]),_:1})]),_:2},1024)])):y("",!0),a("th",null,[e[108]||(e[108]=a("span",null,"ROI",-1)),i(M,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[a("div",Co,[l.channel_name?(o(),u(k,{key:0},[e[83]||(e[83]=p(" 有渠道时:",-1)),e[84]||(e[84]=a("b",null,"合计行 ROI",-1)),e[85]||(e[85]=p(" = ",-1)),a("b",null,r(l.channel_name)+"业绩合计",1),e[86]||(e[86]=p("(与上表该渠道业绩列合计一致,",-1)),e[87]||(e[87]=a("b",null,"不含二中心及其组织下级",-1)),e[88]||(e[88]=p(")÷ ",-1)),e[89]||(e[89]=a("b",null,"投放成本合计",-1)),e[90]||(e[90]=p("。",-1)),e[91]||(e[91]=a("br",null,null,-1)),e[92]||(e[92]=p(" 部门行 ROI = 该部门 ",-1)),a("b",null,r(l.channel_name)+"业绩",1),e[93]||(e[93]=p(" ÷ 该部门 ",-1)),e[94]||(e[94]=a("b",null,"投放成本",-1)),e[95]||(e[95]=p(";",-1)),e[96]||(e[96]=a("b",null,"二中心子树",-1)),e[97]||(e[97]=p("部门该渠道业绩与进线为 0、投放成本分摊进线计 0,故无 ROI。与「合计业绩」列无关。 ",-1))],64)):(o(),u(k,{key:1},[e[98]||(e[98]=a("b",null,"合计行 ROI",-1)),e[99]||(e[99]=p(" = 全表业绩合计(",-1)),e[100]||(e[100]=a("b",null,"不含二中心子树",-1)),e[101]||(e[101]=p("各部门行业绩)÷ ",-1)),e[102]||(e[102]=a("b",null,"投放成本合计",-1)),e[103]||(e[103]=p(";",-1)),e[104]||(e[104]=a("br",null,null,-1)),e[105]||(e[105]=p(" 部门行 = 该部门「合计业绩」口径业绩 ÷ 该部门均摊投放成本;",-1)),e[106]||(e[106]=a("b",null,"二中心子树",-1)),e[107]||(e[107]=p("部门不参与成本分摊(进线占比计 0),故无 ROI。 ",-1))],64))])]),default:c(()=>[i(w,{class:"col-info"},{default:c(()=>[i(S(F))]),_:1})]),_:2},1024)]),a("th",null,[e[110]||(e[110]=a("span",null,"投放成本",-1)),i(M,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[...e[109]||(e[109]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[p(" 区间与渠道与账务表一致后得到"),a("b",null,"总投放成本"),p(";"),a("b",null,"单进线成本"),p(" = 总成本 ÷ 各展示部门"),a("b",null,"进线合计"),p(";"),a("br"),p(" 各部门行投放成本 = 单进线成本 × 该部门进线(四舍五入尾差并入进线最多的部门)。"),a("b",null,"二中心及其组织下级"),p("进线在分摊中计 "),a("b",null,"0"),p("(与 ROI 分子扣除范围一致)。 ")],-1)])]),default:c(()=>[i(w,{class:"col-info"},{default:c(()=>[i(S(F))]),_:1})]),_:1})])])]),a("tbody",null,[(o(!0),u(k,null,I(l.rows,m=>(o(),u("tr",{key:`${g}-${m.dept_id}-${m.dept_name}`,class:nt(["yeji-row--action",{"yeji-row--unassigned":ze(m),"yeji-row--idle":m.dept_id<=0&&!ze(m)}]),onClick:E=>en(l,m)},[a("td",zo,r(m.dept_name),1),a("td",{onClick:E=>Ha(E,l,m)},[m.dept_id>0&&Number(m.lead_count)>0?(o(),u("span",Ao,r(N(m.lead_count)),1)):(o(),u(k,{key:1},[p(r(N(m.lead_count)),1)],64))],8,$o),a("td",null,r(N(m.assign_count??0)),1),a("td",{onClick:_e(E=>Ba(l,m),["stop"])},[m.dept_id>0&&Number(m.revisit_count??0)>0?(o(),u("span",Po,r(N(m.revisit_count??0)),1)):(o(),u(k,{key:1},[p(r(N(m.revisit_count??0)),1)],64))],8,Ro),(o(!0),u(k,null,I(it.value,E=>(o(),u("td",{key:"yjv-"+g+"-"+m.dept_id+"-"+E,onClick:_e(Qt=>Ya(l,m,E),["stop"])},[m.dept_id>0&&J(m,E)>0?(o(),u("span",Oo,r(N(J(m,E))),1)):(o(),u(k,{key:1},[p(r(N(J(m,E))),1)],64))],8,Mo))),128)),a("td",null,r(W(m.performance_amount)),1),l.channel_name?(o(),u("td",Io,r(W(m.completed_performance_amount)),1)):y("",!0),a("td",{onClick:_e(E=>Xa(l,m),["stop"])},[Ut(m)&&Number(m.appointment_booked_count??0)>0?(o(),u("span",Fo,r(N(m.appointment_booked_count??0)),1)):(o(),u(k,{key:1},[p(r(N(m.appointment_booked_count??0)),1)],64))],8,Vo),a("td",null,r(N(m.consult_count)),1),a("td",null,r(N(m.deal_order_count)),1),l.channel_name?(o(),u("td",To,r(N(m.channel_consult_count)),1)):y("",!0),l.channel_name?(o(),u("td",Eo,r(Jt(m.channel_avg_price)),1)):y("",!0),a("td",{class:nt(Xt(m.roi))},r(Kt(m.roi)),3),a("td",null,r(W(m.cost_amount)),1)],10,Lo))),128)),a("tr",Bo,[e[112]||(e[112]=a("td",{class:"col-dept"},"合计",-1)),a("td",null,r(N(l.total.lead_count)),1),a("td",null,r(N(l.total.assign_count??0)),1),a("td",null,r(N(l.total.revisit_count??0)),1),(o(!0),u(k,null,I(it.value,m=>(o(),u("td",{key:"yjvt-"+g+"-"+m},r(N(J(l.total,m))),1))),128)),a("td",null,r(W(l.total.performance_amount)),1),l.channel_name?(o(),u("td",Yo,r(W(l.total.completed_performance_amount)),1)):y("",!0),a("td",null,r(N(l.total.appointment_booked_count??0)),1),a("td",null,r(N(l.total.consult_count)),1),a("td",null,r(N(l.total.deal_order_count)),1),l.channel_name?(o(),u("td",Uo,r(N(l.total.channel_consult_count)),1)):y("",!0),l.channel_name?(o(),u("td",Ho,r(Jt(l.total.channel_avg_price)),1)):y("",!0),a("td",{class:nt(Xt(l.total.roi))},r(Kt(l.total.roi)),3),a("td",null,r(W(l.total.cost_amount)),1)])])])]),a("div",Wo,[a("span",null,"区间:"+r(l.start_date)+" ~ "+r(l.end_date),1),l.channel_name?(o(),u("span",qo," · 渠道:"+r(l.channel_name),1)):y("",!0),l.total.cost_per_lead!=null&&l.total.cost_per_lead>0?(o(),u("span",Go," · 单进线成本:"+r(W(l.total.cost_per_lead))+" 元 ",1)):y("",!0)])]))),128))])),[[V,te.value]])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i(O,{class:"yeji-panel yeji-charts-only-card",shadow:"never"},{default:c(()=>[e[124]||(e[124]=a("div",{class:"yeji-charts-only-head"},"统计图",-1)),q((o(),u("div",Jo,[pa.value?(o(),u(k,{key:0},[je.value&&(_t.value||mt.value||vt.value||ft.value||yt.value)?(o(),u("section",Ko,[a("h3",Xo,[e[115]||(e[115]=p(" 医生统计 ",-1)),qe.value?(o(),u("span",Qo,r(qe.value),1)):y("",!0)]),i(ce,{gutter:16},{default:c(()=>[i(U,{xs:24,lg:9},{default:c(()=>[a("div",Zo,[e[116]||(e[116]=a("div",{class:"yeji-chart-panel__label"},"成交金额 TOP(条形)",-1)),_t.value?(o(),j(S(G),{key:0,class:"yeji-echart",option:fa.value,autoresize:""},null,8,["option"])):(o(),j(A,{key:1,description:"暂无成交金额数据","image-size":72}))])]),_:1}),i(U,{xs:24,lg:8},{default:c(()=>[a("div",es,[e[117]||(e[117]=a("div",{class:"yeji-chart-panel__label"},"开方构成(堆叠柱)",-1)),mt.value?(o(),j(S(G),{key:0,class:"yeji-echart yeji-echart--short",option:ya.value,autoresize:""},null,8,["option"])):(o(),j(A,{key:1,description:"暂无开方数据","image-size":72}))])]),_:1}),i(U,{xs:24,lg:7},{default:c(()=>[a("div",ts,[e[118]||(e[118]=a("div",{class:"yeji-chart-panel__label"},"挂号结果(环形 · 表尾合计)",-1)),vt.value?(o(),j(S(G),{key:0,class:"yeji-echart yeji-echart--short",option:_a.value,autoresize:""},null,8,["option"])):(o(),j(A,{key:1,description:"暂无挂号汇总","image-size":72}))])]),_:1})]),_:1}),i(ce,{gutter:16,class:"yeji-chart-subrow"},{default:c(()=>[i(U,{xs:24,lg:12},{default:c(()=>[a("div",as,[e[119]||(e[119]=a("div",{class:"yeji-chart-panel__label"},"接诊诊单 × 金额(散点)",-1)),ft.value?(o(),j(S(G),{key:0,class:"yeji-echart yeji-echart--compact",option:ma.value,autoresize:""},null,8,["option"])):(o(),j(A,{key:1,description:"至少两名医生同时有接诊诊单与金额时可展示","image-size":72}))])]),_:1}),i(U,{xs:24,lg:12},{default:c(()=>[a("div",ns,[e[120]||(e[120]=a("div",{class:"yeji-chart-panel__label"},"TOP 医生雷达(相对最高值归一)",-1)),yt.value?(o(),j(S(G),{key:0,class:"yeji-echart yeji-echart--compact",option:va.value,autoresize:""},null,8,["option"])):(o(),j(A,{key:1,description:"至少两名医生有数据时可展示","image-size":72}))])]),_:1})]),_:1})])):y("",!0),(o(!0),u(k,null,I(oe.value,(l,g)=>(o(),u(k,{key:"dept-chart-"+g},[Rt(l)?(o(),u("section",ls,[a("h3",os,r(Ht(l)),1),i(S(G),{class:"yeji-echart yeji-echart--tall",option:an(l),autoresize:""},null,8,["option"]),qt(l)||Gt(l)?(o(),j(ce,{key:0,gutter:16,class:"yeji-chart-subrow"},{default:c(()=>[qt(l)?(o(),j(U,{key:0,xs:24,md:12},{default:c(()=>[a("div",ss,[e[121]||(e[121]=a("div",{class:"yeji-chart-panel__label"}," 进线 → 接诊 → 成交(汇总漏斗) ",-1)),i(S(G),{class:"yeji-echart yeji-echart--compact",option:on(l),autoresize:""},null,8,["option"])])]),_:2},1024)):y("",!0),Gt(l)?(o(),j(U,{key:1,xs:24,md:12},{default:c(()=>[a("div",is,[e[122]||(e[122]=a("div",{class:"yeji-chart-panel__label"}," 部门合计业绩占比(TOP10 + 其它) ",-1)),i(S(G),{class:"yeji-echart yeji-echart--compact",option:sn(l),autoresize:""},null,8,["option"])])]),_:2},1024)):y("",!0)]),_:2},1024)):y("",!0)])):y("",!0)],64))),128)),x.value?(o(!0),u(k,{key:1},I(At.value,l=>(o(),u("section",{key:"lb-chart-"+l.dept_id,class:"yeji-chart-block"},[a("h3",rs,[p(r(l.dept_name)+" · 医助 ",1),x.value.channel_name?(o(),u("span",ds," ("+r(x.value.channel_name)+") ",1)):y("",!0),a("span",us,r(x.value.start_date)+"~"+r(x.value.end_date),1)]),i(ce,{gutter:16},{default:c(()=>[i(U,{xs:24,lg:Wt(l)?14:24},{default:c(()=>[i(S(G),{class:"yeji-echart",option:nn(l,x.value),autoresize:""},null,8,["option"])]),_:2},1032,["lg"]),Wt(l)?(o(),j(U,{key:0,xs:24,lg:10},{default:c(()=>[a("div",cs,[e[123]||(e[123]=a("div",{class:"yeji-chart-panel__label"},"诊金占比",-1)),i(S(G),{class:"yeji-echart yeji-echart--compact",option:ln(l,x.value),autoresize:""},null,8,["option"])])]),_:2},1024)):y("",!0)]),_:2},1024)]))),128)):y("",!0)],64)):!te.value&&(!je.value||!xe.value)&&!ae.value?(o(),j(A,{key:1,class:"yeji-charts-empty",description:"当前筛选下暂无图表数据,请调整条件后查询"})):y("",!0)])),[[V,te.value||je.value&&xe.value||ae.value]])]),_:1}),i(Re,{modelValue:Se.value,"onUpdate:modelValue":e[5]||(e[5]=l=>Se.value=l),direction:"rtl",size:"min(1120px, 98vw)","destroy-on-close":"",class:"yeji-order-drawer","show-close":!0},{header:c(()=>[a("div",ps,[a("h3",_s,r(Ge.value),1),a("p",ms,r(Je.value),1)])]),default:c(()=>[a("div",vs,[a("section",fs,[a("div",ys,[e[125]||(e[125]=a("span",{class:"yeji-order-drawer__stat-label"},"符合条件的订单",-1)),a("span",gs,r(Ke.value.toLocaleString("zh-CN"))+" 笔",1)]),a("div",bs,[e[126]||(e[126]=a("span",{class:"yeji-order-drawer__stat-label"},[p(" 约诊 "),a("span",{class:"yeji-order-drawer__stat-note"},"(已完成挂号;日期按挂号 appointment_date;医助=挂号或诊单,与看板接诊一致)")],-1)),a("span",hs,r(It.value===null?"—":It.value.toLocaleString("zh-CN"))+" 次",1)]),gt.value&&X.value?(o(),u(k,{key:0},[a("div",ws,[a("span",ks,[e[127]||(e[127]=p(" 合计业绩 ",-1)),a("span",js,"(与看板「合计业绩」列同口径,不限渠道;"+r(X.value.totalOrderCount.toLocaleString("zh-CN"))+" 笔)",1)]),a("span",xs," ¥"+r(et(X.value.totalAmount)),1)]),a("div",Ns,[a("span",Ss,[p(r(bt.value)+"业绩 ",1),a("span",Ds,"(与看板「"+r(bt.value)+"业绩」同口径;"+r(X.value.channelOrderCount.toLocaleString("zh-CN"))+" 笔)",1)]),a("span",Cs," ¥"+r(et(wa.value)),1)])],64)):(o(),u("div",Ls,[e[128]||(e[128]=a("span",{class:"yeji-order-drawer__stat-label"},[p(" 业务订单金额合计 "),a("span",{class:"yeji-order-drawer__stat-note"},"(不含履约已取消,与上方业绩口径一致)")],-1)),a("span",zs," ¥"+r(et(Ot.value)),1)])),ue.value.length>0?(o(),u("div",$s,[e[129]||(e[129]=a("span",{class:"yeji-order-drawer__stat-label"},"本页小计",-1)),a("span",As,"¥"+r(et(ha.value)),1)])):y("",!0)]),gt.value?(o(),j($e,{key:0,modelValue:le.value,"onUpdate:modelValue":e[4]||(e[4]=l=>le.value=l),class:"yeji-order-drawer__list-tabs",onTabChange:Fa},{default:c(()=>[i(ee,{label:"合计业绩(全量订单)",name:"total"}),i(ee,{label:`渠道筛选(${bt.value})`,name:"channel"},null,8,["label"])]),_:1},8,["modelValue"])):y("",!0),q((o(),u("div",Rs,[ue.value.length>0||de.value?(o(),j(P,{key:0,data:ue.value,size:"small",stripe:"",border:"","max-height":"58vh",class:"yeji-order-drawer__table","empty-text":de.value?"加载中…":"暂无数据"},{default:c(()=>[i(_,{type:"index",label:"#",width:"46",index:Aa}),i(_,{prop:"order_no",label:"订单号","min-width":"152","show-overflow-tooltip":""}),i(_,{label:"关联挂号","min-width":"218"},{default:c(({row:l})=>[l.linked_appointment?(o(),u("div",Ps,[a("div",Ms,[e[130]||(e[130]=a("span",{class:"yeji-order-appt-k"},"日期",-1)),p(" "+r(Ra(l.linked_appointment)),1)]),a("div",Os,[e[131]||(e[131]=a("span",{class:"yeji-order-appt-k"},"状态",-1)),p(" "+r(l.linked_appointment.status_desc||"—")+" ",1),l.linked_appointment.doctor_name?(o(),u("span",Is," · "+r(l.linked_appointment.doctor_name),1)):y("",!0)]),a("div",Vs,[e[132]||(e[132]=a("span",{class:"yeji-order-appt-k"},"类型",-1)),p(" "+r(l.linked_appointment.appointment_type_desc||"—"),1)]),a("div",Fs,[e[134]||(e[134]=a("span",{class:"yeji-order-appt-k"},"渠道",-1)),a("span",Ts,[p(r(l.linked_appointment.channel_source_desc||l.linked_appointment.channel_source||"—")+" ",1),Tt(l.linked_appointment)!==""?(o(),u("span",Es," (字典 value "+r(Tt(l.linked_appointment))+" ) ",1)):y("",!0)]),i(M,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[...e[133]||(e[133]=[a("div",{style:{"max-width":"280px","line-height":"1.65","font-size":"12px"}},[p(" 「字典 value」= 系统字典 "),a("b",null,"channels"),p(" 的 value,与业绩表里按渠道收窄时所用"),a("b",null,"挂号 channels"),p("一致;便于和进线列所选渠道对照,"),a("b",null,"不是"),p("企微 add_external_contact 单上的独立编号。 ")],-1)])]),default:c(()=>[i(w,{class:"yeji-order-appt-info","aria-label":"说明"},{default:c(()=>[i(S(F))]),_:1})]),_:1})])])):(o(),u("span",Bs,"—"))]),_:1}),i(_,{label:"金额",width:"108",align:"right"},{default:c(({row:l})=>[a("span",Ys,"¥"+r(l.amount??"—"),1)]),_:1}),i(_,{prop:"recipient_name",label:"收货人",width:"96","show-overflow-tooltip":""}),i(_,{label:"履约",width:"104","show-overflow-tooltip":""},{default:c(({row:l})=>[p(r($a(l.fulfillment_status)),1)]),_:1}),i(_,{label:"创建时间","min-width":"148"},{default:c(({row:l})=>[p(r(Pa(l.create_time)),1)]),_:1}),i(_,{prop:"doctor_name",label:"开方人",width:"88","show-overflow-tooltip":""}),i(_,{prop:"creator_name",label:"创建人",width:"88","show-overflow-tooltip":""})]),_:1},8,["data","empty-text"])):y("",!0),!de.value&&ue.value.length===0?(o(),j(A,{key:1,description:"暂无业务订单"})):y("",!0),a("div",Us,[i(Ae,{"current-page":K.value,"page-size":Xe.value,background:"",layout:"total, sizes, prev, pager, next, jumper",total:Ke.value,"page-sizes":[10,15,20,50],disabled:de.value,"hide-on-single-page":!1,onCurrentChange:Ta,onSizeChange:Ea},null,8,["current-page","page-size","total","disabled"])])])),[[V,de.value]])])]),_:1},8,["modelValue"]),i(pe,{modelValue:rt.value,"onUpdate:modelValue":e[6]||(e[6]=l=>rt.value=l),width:"min(680px, 94vw)","destroy-on-close":"",class:"yeji-unassigned-dialog"},{header:c(()=>[a("div",Hs,[e[135]||(e[135]=a("span",{class:"yeji-unassigned-dialog__title"},"「未归属中心」业绩拆解",-1)),a("p",Ws,r(St.value),1)])]),default:c(()=>[Me.value?(o(),u("p",qs,r(Me.value),1)):y("",!0),q((o(),u("div",Gs,[fe.value.length>0||ve.value?(o(),j(P,{key:0,data:fe.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":ve.value?"加载中…":"暂无数据"},{default:c(()=>[i(_,{prop:"name",label:"诊单医助","min-width":"120","show-overflow-tooltip":""}),i(_,{label:"账号",width:"88",align:"right"},{default:c(({row:l})=>[p(r(l.admin_id>0?l.admin_id:"—"),1)]),_:1}),i(_,{label:"订单数",width:"88",align:"right"},{default:c(({row:l})=>[p(r(N(l.order_count)),1)]),_:1}),i(_,{label:"业绩金额","min-width":"112",align:"right"},{default:c(({row:l})=>[p(r(W(l.amount)),1)]),_:1})]),_:1},8,["data","empty-text"])):y("",!0),!ve.value&&fe.value.length===0?(o(),j(A,{key:1,description:"暂无拆解数据"})):y("",!0)])),[[V,ve.value]])]),_:1},8,["modelValue"]),i(pe,{modelValue:ut.value,"onUpdate:modelValue":e[7]||(e[7]=l=>ut.value=l),width:"min(920px, 96vw)","destroy-on-close":"",class:"yeji-leadlines-dialog"},{header:c(()=>[a("div",Js,[e[136]||(e[136]=a("span",{class:"yeji-unassigned-dialog__title"},"进线数据明细",-1)),a("p",Ks,r(Lt.value),1)])]),default:c(()=>[Ie.value?(o(),u("p",Xs,r(Ie.value),1)):y("",!0),q((o(),u("div",Qs,[be.value.length>0||se.value?(o(),j(P,{key:0,data:be.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":se.value?"加载中…":"暂无数据"},{default:c(()=>[i(_,{prop:"event_time_text",label:"进线时间","min-width":"156","show-overflow-tooltip":""}),i(_,{prop:"reception_admin_name",label:"接待",width:"88","show-overflow-tooltip":""}),i(_,{prop:"external_contact_name",label:"客户","min-width":"100","show-overflow-tooltip":""}),i(_,{prop:"external_userid",label:"外部联系人ID","min-width":"140","show-overflow-tooltip":""}),i(_,{prop:"user_id",label:"企微成员ID","min-width":"120","show-overflow-tooltip":""}),i(_,{prop:"state",label:"渠道参数",width:"96","show-overflow-tooltip":""})]),_:1},8,["data","empty-text"])):y("",!0),!se.value&&be.value.length===0?(o(),j(A,{key:1,description:"暂无进线明细"})):y("",!0),Ve.value>0?(o(),u("div",Zs,[i(Ae,{"current-page":Fe.value,"page-size":Ue.value,background:"",layout:"total, sizes, prev, pager, next, jumper",total:Ve.value,"page-sizes":[10,20,50,100],disabled:se.value,"hide-on-single-page":!1,onCurrentChange:qa,onSizeChange:Ga},null,8,["current-page","page-size","total","disabled"])])):y("",!0)])),[[V,se.value]])]),_:1},8,["modelValue"]),i(pe,{modelValue:He.value,"onUpdate:modelValue":e[8]||(e[8]=l=>He.value=l),width:"min(960px, 96vw)","destroy-on-close":"",class:"yeji-leadlines-dialog"},{header:c(()=>[a("div",ei,[e[137]||(e[137]=a("span",{class:"yeji-unassigned-dialog__title"},"预约诊单 · 挂号明细",-1)),a("p",ti,r(ct.value),1)])]),default:c(()=>[he.value?(o(),u("p",ai,r(he.value),1)):y("",!0),q((o(),u("div",ni,[ne.value.length>0||ie.value?(o(),j(P,{key:0,data:ne.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":ie.value?"加载中…":"暂无数据"},{default:c(()=>[i(_,{type:"index",label:"#",width:"46",index:Ja}),i(_,{prop:"appointment_date",label:"预约日期",width:"108"}),i(_,{prop:"appointment_time",label:"时段","min-width":"96","show-overflow-tooltip":""}),i(_,{prop:"status_desc",label:"状态",width:"84"}),i(_,{prop:"appointment_type_desc",label:"类型",width:"92"}),i(_,{prop:"patient_name",label:"患者","min-width":"92","show-overflow-tooltip":""}),i(_,{prop:"patient_phone",label:"手机","min-width":"116","show-overflow-tooltip":""}),i(_,{prop:"doctor_name",label:"接诊医生",width:"92","show-overflow-tooltip":""}),i(_,{label:"诊单ID",width:"84",align:"right"},{default:c(({row:l})=>[p(r(N(l.diagnosis_id??0)),1)]),_:1}),da.value?(o(),j(_,{key:0,prop:"channel_source",label:"渠道来源",width:"96","show-overflow-tooltip":""})):y("",!0)]),_:1},8,["data","empty-text"])):y("",!0),!ie.value&&ne.value.length===0?(o(),j(A,{key:1,description:"暂无挂号记录"})):y("",!0),we.value>0?(o(),u("div",li,[i(Ae,{"current-page":re.value,"page-size":ke.value,background:"",layout:"total, sizes, prev, pager, next, jumper",total:we.value,"page-sizes":[10,20,50,100],disabled:ie.value,"hide-on-single-page":!1,onCurrentChange:Qa,onSizeChange:Za},null,8,["current-page","page-size","total","disabled"])])):y("",!0)])),[[V,ie.value]])]),_:1},8,["modelValue"]),i(pe,{modelValue:dt.value,"onUpdate:modelValue":e[9]||(e[9]=l=>dt.value=l),width:"min(560px, 94vw)","destroy-on-close":"",class:"yeji-unassigned-dialog"},{header:c(()=>[a("div",oi,[e[138]||(e[138]=a("span",{class:"yeji-unassigned-dialog__title"},"复诊 · 医助拆解",-1)),a("p",si,r(Dt.value),1)])]),default:c(()=>[Oe.value?(o(),u("p",ii,r(Oe.value),1)):y("",!0),q((o(),u("div",ri,[ge.value.length>0||ye.value?(o(),j(P,{key:0,data:ge.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":ye.value?"加载中…":"暂无数据"},{default:c(()=>[i(_,{prop:"name",label:"医助","min-width":"120","show-overflow-tooltip":""}),i(_,{label:"业务订单",width:"108",align:"right"},{default:c(({row:l})=>[Number(l.order_count)>0?(o(),u("span",{key:0,class:"yeji-lead-cell--link",role:"button",tabindex:"0",onClick:g=>Et(l),onKeydown:Tn(_e(g=>Et(l),["prevent"]),["enter"])},r(N(l.order_count))+" 笔",41,di)):(o(),u(k,{key:1},[p(r(N(l.order_count)),1)],64))]),_:1})]),_:1},8,["data","empty-text"])):y("",!0),!ye.value&&ge.value.length===0?(o(),j(A,{key:1,description:"暂无拆解数据"})):y("",!0)])),[[V,ye.value]])]),_:1},8,["modelValue"])])}}}),tr=tl(ci,[["__scopeId","data-v-17041657"]]);export{tr as default};
diff --git a/server/public/admin/assets/yeji-DWvcQDza.css b/server/public/admin/assets/yeji-DWvcQDza.css
deleted file mode 100644
index 85a61d3d..00000000
--- a/server/public/admin/assets/yeji-DWvcQDza.css
+++ /dev/null
@@ -1 +0,0 @@
-@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.yeji-page[data-v-17041657]{min-width:0;--yj-brand: #6366f1;--yj-brand-soft: #eef2ff;--yj-teal: #0ea5e9;--yj-teal-soft: #f0f9ff;--yj-accent: #f43f5e;--yj-accent-soft: #fff1f2;--yj-ink: #1e293b;--yj-ink-secondary: #475569;--yj-muted: #64748b;--yj-line: #e2e8f0;--yj-line-strong: #cbd5e1;--yj-surface: #ffffff;--yj-surface-muted: #f8fafc;--yj-page: #f1f5f9;--yj-shadow-sm: 0 1px 3px rgba(0,0,0,.06);--yj-shadow-md: 0 4px 16px rgba(0,0,0,.06);--yj-radius: 16px;--yj-radius-sm: 10px;--yj-font: "Inter", var(--el-font-family), system-ui, sans-serif;--yj-dept-col-bg: #eef2ff;--yj-dept-col-bg-hover: #e0e7ff;--yj-dept-col-head-start: #e0e7ff;--yj-dept-col-head-end: #e8ecff;--yj-dept-col-border: #c7d2fe;--yj-dept-col-head-ink: #3730a3;min-height:100%;padding:24px;font-family:var(--yj-font);color:var(--yj-ink);background:var(--yj-page)}.yeji-masthead[data-v-17041657]{margin-bottom:24px}.yeji-masthead__inner[data-v-17041657]{display:flex;align-items:center;gap:16px;padding:28px 32px;background:linear-gradient(135deg,#1e293b,#334155);border-radius:var(--yj-radius);box-shadow:var(--yj-shadow-md)}.yeji-masthead__title[data-v-17041657]{margin:0;font-size:1.5rem;font-weight:800;letter-spacing:-.03em;color:#fff;line-height:1.2}.yeji-masthead__desc[data-v-17041657]{margin:6px 0 0;font-size:.875rem;line-height:1.5;color:#94a3b8}.yeji-panel[data-v-17041657]{margin-bottom:20px;border-radius:var(--yj-radius);border:1px solid var(--yj-line);background:var(--yj-surface);box-shadow:var(--yj-shadow-sm)}.yeji-panel[data-v-17041657] .el-card__body{padding:0}.filter-card[data-v-17041657]{overflow:hidden;border-radius:var(--yj-radius)}.yeji-main-tabs-card[data-v-17041657]{margin-bottom:20px;box-shadow:var(--yj-shadow-md)}.yeji-main-tabs-card[data-v-17041657] .el-card__body{padding:0 0 18px}.yeji-charts-only-card[data-v-17041657]{margin-bottom:20px;box-shadow:var(--yj-shadow-md)}.yeji-charts-only-card[data-v-17041657] .el-card__body{padding:0}.yeji-charts-only-card .yeji-charts-stack[data-v-17041657]{padding:16px 20px 4px}.yeji-charts-only-head[data-v-17041657]{padding:16px 20px 12px;font-size:15px;font-weight:700;color:var(--yj-ink);border-bottom:1px solid var(--yj-line)}.yeji-table-tabs-head[data-v-17041657]{padding:14px 20px 10px;background:var(--yj-surface-muted);border-bottom:1px solid var(--yj-line)}.yeji-table-tabs-head__title[data-v-17041657]{display:block;font-size:15px;font-weight:700;color:var(--yj-ink);line-height:1.3}.yeji-table-tabs-head__hint[data-v-17041657]{display:block;margin-top:6px;font-size:12px;font-weight:500;color:var(--yj-muted);line-height:1.45}.yeji-tab-pane-stack[data-v-17041657]{min-height:100px}.yeji-zyyt-intro[data-v-17041657]{margin:0 20px 14px;padding-top:4px;font-size:.8125rem;line-height:1.65;color:#64748b}.yeji-view-tabs[data-v-17041657] .el-tabs__header{margin:0;padding:0 20px;background:var(--yj-surface-muted);border-bottom:1px solid var(--yj-line)}.yeji-view-tabs[data-v-17041657] .el-tabs__nav-wrap:after{display:none}.yeji-view-tabs[data-v-17041657] .el-tabs__nav{border:none}.yeji-view-tabs[data-v-17041657] .el-tabs__item{font-weight:600;font-size:13px;height:44px;line-height:44px;padding:0 20px;color:var(--yj-muted);border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.yeji-view-tabs[data-v-17041657] .el-tabs__item:hover{color:var(--yj-ink)}.yeji-view-tabs[data-v-17041657] .el-tabs__item.is-active{color:var(--yj-brand);border-bottom-color:var(--yj-brand);font-weight:700}.yeji-view-tabs[data-v-17041657] .el-tabs__active-bar{display:none}.yeji-view-tabs[data-v-17041657] .el-tabs__content{padding:20px;overflow:visible}.yeji-view-tabs[data-v-17041657] .el-tab-pane{overflow:visible}.yeji-charts-intro[data-v-17041657]{margin:0 0 16px;padding:12px 16px;font-size:12px;line-height:1.6;color:var(--yj-muted);background:var(--yj-surface-muted);border-radius:var(--yj-radius-sm);border:1px solid var(--yj-line)}.yeji-charts-stack[data-v-17041657]{display:flex;flex-direction:column;gap:20px;min-height:120px}.yeji-charts-empty[data-v-17041657]{padding:48px 16px}.yeji-chart-block[data-v-17041657]{padding:20px;background:var(--yj-surface);border-radius:var(--yj-radius-sm);border:1px solid var(--yj-line)}.yeji-chart-block__title[data-v-17041657]{margin:0 0 16px;font-size:1rem;font-weight:700;color:var(--yj-ink);display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}.yeji-chart-block__sub[data-v-17041657]{font-size:12px;font-weight:600;color:var(--yj-teal)}.yeji-chart-block__sub--muted[data-v-17041657]{font-size:11px;font-weight:500;color:var(--yj-muted)}.yeji-chart-subrow[data-v-17041657]{margin-top:4px}.yeji-chart-panel[data-v-17041657]{border:1px solid var(--yj-line);border-radius:var(--yj-radius-sm);padding:14px;background:var(--yj-surface);height:100%;transition:box-shadow .2s}.yeji-chart-panel[data-v-17041657]:hover{box-shadow:var(--yj-shadow-sm)}.yeji-chart-panel__label[data-v-17041657]{font-size:12px;font-weight:700;letter-spacing:.03em;color:var(--yj-muted);margin-bottom:10px}.yeji-echart[data-v-17041657]{width:100%;height:320px;min-height:240px}.yeji-echart--short[data-v-17041657]{height:280px;min-height:220px}.yeji-echart--tall[data-v-17041657]{height:400px;min-height:300px}.yeji-echart--compact[data-v-17041657]{height:288px;min-height:232px}.doctor-daily-card--nested[data-v-17041657]{margin-bottom:20px}.doctor-daily-card[data-v-17041657]{box-shadow:var(--yj-shadow-sm)}.doctor-daily-card[data-v-17041657] .el-card__header{padding:16px 22px;background:var(--yj-surface-muted);border-bottom:1px solid var(--yj-line)}.doctor-daily-card[data-v-17041657] .el-card__body{padding:18px 22px 22px}.doctor-daily-card__head[data-v-17041657]{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.doctor-daily-card__title[data-v-17041657]{font-weight:700;font-size:1.0625rem;color:var(--yj-ink)}.doctor-daily-card__title-block[data-v-17041657]{display:flex;flex-direction:column;gap:6px}.doctor-daily-card__range[data-v-17041657]{font-size:12px;font-weight:600;color:var(--yj-teal)}.doctor-daily-card__tools[data-v-17041657]{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.doctor-daily-card__lbl[data-v-17041657]{font-size:12px;color:var(--el-text-color-secondary)}.doctor-daily-card__picker[data-v-17041657]{width:150px}.doctor-daily-card__hint[data-v-17041657]{margin:0 0 16px;padding:14px 16px;font-size:12px;line-height:1.65;color:var(--yj-ink-secondary);background:var(--yj-brand-soft);border-radius:var(--yj-radius-sm);border:1px solid rgba(37,99,235,.12)}.doctor-daily-table[data-v-17041657]{width:100%;border-radius:var(--yj-radius-sm);overflow:hidden}.doctor-daily-table[data-v-17041657] .el-table__header th{background:var(--yj-surface-muted)!important;color:var(--yj-ink-secondary)!important;font-weight:600;font-size:12px}.doctor-daily-table[data-v-17041657] .el-table__footer-wrapper td{font-weight:700;background:var(--yj-accent-soft)!important;font-size:13px}.filter-surface[data-v-17041657]{padding:20px;background:var(--yj-surface)}.filter-row--top[data-v-17041657]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 20px}.filter-field[data-v-17041657]{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.filter-field .lbl[data-v-17041657]{font-size:12px;font-weight:600;color:var(--yj-muted);letter-spacing:.02em}.filter-field--wide[data-v-17041657]{flex:1 1 280px;min-width:240px}.filter-field--date-top[data-v-17041657]{flex:1 1 320px;min-width:260px}.filter-select[data-v-17041657]{width:100%}.filter-select--channel[data-v-17041657]{min-width:220px;max-width:320px}.filter-select--dept[data-v-17041657]{min-width:280px}.filter-dept-tree-wrap[data-v-17041657]{min-height:32px}.filter-dept-tree-select[data-v-17041657]{width:100%}.filter-date-picker[data-v-17041657]{width:100%;max-width:320px}.filter-hint[data-v-17041657]{display:none}.filter-quick[data-v-17041657]{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.filter-quick__title[data-v-17041657]{flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--yj-muted)}.date-pills[data-v-17041657]{display:flex;flex-wrap:wrap;gap:8px}.date-pill[data-v-17041657]{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;border:1px solid var(--yj-line);background:var(--yj-surface);color:var(--yj-ink-secondary);font-size:12px;font-weight:600;font-family:inherit;padding:7px 14px;border-radius:6px;cursor:pointer;line-height:1.4;transition:all .15s ease}.date-pill[data-v-17041657]:hover{border-color:var(--yj-brand);color:var(--yj-brand);background:var(--yj-brand-soft)}.date-pill[data-v-17041657]:focus-visible{outline:2px solid var(--yj-brand);outline-offset:2px}.filter-actions[data-v-17041657]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}.filter-btn[data-v-17041657]{padding:8px 20px;font-weight:600;border-radius:var(--yj-radius-sm)}.filter-btn__icon[data-v-17041657]{margin-right:4px;font-size:15px;vertical-align:-2px}.filter-btn--query[data-v-17041657]{background:var(--yj-brand);color:#fff;border:none}.filter-btn--query[data-v-17041657]:hover{opacity:.9;color:#fff}.filter-btn--reset[data-v-17041657]{border:1px solid var(--yj-line);background:var(--yj-surface)}.filter-btn--reset[data-v-17041657]:hover{border-color:var(--yj-brand);color:var(--yj-brand)}.filter-btn--reset[data-v-17041657]:disabled{opacity:.5}.channel-opt-row[data-v-17041657]{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding-right:4px}.opt-name[data-v-17041657]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.opt-count[data-v-17041657]{flex-shrink:0;font-size:12px;color:var(--yj-muted)}.filter-alert[data-v-17041657]{margin-bottom:12px}.tables-wrap[data-v-17041657]{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.leaderboards-wrap[data-v-17041657]{margin-top:22px;min-height:48px}.leaderboard-hint[data-v-17041657]{margin:0 0 16px;padding:14px 16px;font-size:13px;color:var(--yj-ink-secondary);line-height:1.6;background:var(--yj-surface);border:1px solid var(--yj-line);border-radius:var(--yj-radius-sm);box-shadow:var(--yj-shadow-sm)}.leaderboard-hint .muted[data-v-17041657]{display:block;margin-top:8px;color:var(--yj-muted);font-size:12px}.tp-wrap[data-v-17041657]{min-height:40px;margin-bottom:20px}.tp-card[data-v-17041657]{display:inline-flex;flex-direction:column;max-width:100%;border-radius:var(--yj-radius);overflow:hidden;font-size:13px;background:var(--yj-surface);border:1px solid var(--yj-line);box-shadow:var(--yj-shadow-md)}.tp-card__title[data-v-17041657]{background:var(--yj-surface-muted);color:var(--yj-ink);font-weight:700;font-size:14px;text-align:center;padding:14px 20px;letter-spacing:.04em;border-bottom:1px solid var(--yj-line)}.tp-card__body[data-v-17041657]{display:flex;flex-wrap:wrap;gap:0}.tp-section[data-v-17041657]{min-width:200px;flex:1 1 200px;border-right:1px solid var(--yj-line)}.tp-section[data-v-17041657]:last-child{border-right:none}.tp-section__head[data-v-17041657]{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--yj-brand-soft);padding:11px 14px;border-bottom:1px solid var(--yj-line)}.tp-section__title-col[data-v-17041657]{display:flex;flex-direction:column;gap:3px;min-width:0}.tp-section__parent[data-v-17041657]{font-size:11px;font-weight:600;color:var(--yj-muted);line-height:1.25}.tp-section__name[data-v-17041657]{font-weight:700;font-size:13px;color:var(--yj-ink)}.tp-section__target[data-v-17041657]{font-size:13px;font-weight:700;color:var(--yj-accent)}.tp-table[data-v-17041657]{width:100%;border-collapse:collapse}.tp-table .tp-lbl[data-v-17041657]{padding:8px 12px;color:var(--yj-muted);font-size:12px;border-bottom:1px solid var(--yj-line);white-space:nowrap}.tp-table .tp-val[data-v-17041657]{padding:8px 14px;font-weight:600;text-align:right;border-bottom:1px solid var(--yj-line);white-space:nowrap;color:var(--yj-ink);font-variant-numeric:tabular-nums}.tp-table .tp-val--total[data-v-17041657]{color:var(--yj-accent)}.tp-table tr:last-child td[data-v-17041657]{border-bottom:none}.tp-good[data-v-17041657]{color:#15803d!important;font-weight:700}.tp-mid[data-v-17041657]{color:#c2410c!important;font-weight:700}.tp-bad[data-v-17041657]{color:#b91c1c!important;font-weight:700}.leaderboard-sub[data-v-17041657]{font-size:13px;font-weight:500;opacity:.95}.leaderboard-table .th-sub[data-v-17041657]{display:block;font-size:11px;font-weight:500;opacity:.85}.leaderboard-table .col-rank[data-v-17041657]{width:52px;font-weight:600}.leaderboard-table .col-abbr[data-v-17041657]{min-width:56px}.leaderboard-table .col-name[data-v-17041657]{min-width:72px;font-weight:500}.leaderboard-table .col-consult[data-v-17041657],.leaderboard-table .col-deal[data-v-17041657],.leaderboard-table .col-assign[data-v-17041657]{width:84px;text-align:right;font-variant-numeric:tabular-nums}.leaderboard-table .col-appointment[data-v-17041657]{width:88px;text-align:right;font-variant-numeric:tabular-nums}.leaderboard-empty[data-v-17041657]{grid-column:1/-1}.yeji-table__foot--left[data-v-17041657]{text-align:left}.empty-tip[data-v-17041657]{grid-column:1/-1;background:var(--yj-surface);border-radius:var(--yj-radius-sm);padding:36px 16px;border:1px dashed var(--yj-line-strong)}.yeji-th-label[data-v-17041657]{display:inline-block;line-height:1.25;vertical-align:middle;max-width:6.5rem}.yeji-table[data-v-17041657]{background:var(--yj-surface);border-radius:var(--yj-radius);overflow:hidden;box-shadow:var(--yj-shadow-sm);border:1px solid var(--yj-line)}.yeji-table__scroll[data-v-17041657]{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;outline:none}.yeji-table__scroll[data-v-17041657]::-webkit-scrollbar{height:10px}.yeji-table__scroll[data-v-17041657]::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--yj-muted) 50%,transparent);border-radius:999px}.yeji-table__scroll[data-v-17041657]::-webkit-scrollbar-track{background:var(--yj-surface-muted)}.yeji-table__scroll[data-v-17041657]:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--yj-brand) 40%,transparent)}.yeji-table__header[data-v-17041657]{background:var(--yj-surface-muted);color:var(--yj-ink);font-weight:700;font-size:14px;text-align:center;padding:14px 16px;border-bottom:1px solid var(--yj-line)}.yeji-table__body[data-v-17041657]{width:100%;border-collapse:collapse;text-align:center;font-size:13px;color:var(--yj-ink)}.yeji-table__body thead th.col-dept[data-v-17041657],.yeji-table__body thead th.col-abbr[data-v-17041657]{min-width:88px;background:linear-gradient(180deg,var(--yj-dept-col-head-start) 0%,var(--yj-dept-col-head-end) 100%);color:var(--yj-dept-col-head-ink);font-weight:700;border-right:2px solid var(--yj-dept-col-border);box-shadow:inset 0 1px #ffffff59}.yeji-table__body thead th.col-abbr[data-v-17041657]{min-width:56px}.yeji-table__body tbody td.col-dept[data-v-17041657],.yeji-table__body tbody td.col-abbr[data-v-17041657]{background:var(--yj-dept-col-bg);color:var(--yj-ink);font-weight:600;border-right:2px solid var(--yj-dept-col-border);text-align:center}.yeji-table__body tbody tr.yeji-row--action:not(.yeji-row--idle):hover td.col-dept[data-v-17041657],.yeji-table__body tbody tr.yeji-row--action:not(.yeji-row--idle):hover td.col-abbr[data-v-17041657]{background:var(--yj-dept-col-bg-hover)}.yeji-table__body .total-row td.col-dept[data-v-17041657]{background:color-mix(in srgb,var(--yj-accent-soft) 55%,var(--yj-dept-col-bg) 45%);color:var(--yj-ink);font-weight:700;border-right:2px solid color-mix(in srgb,var(--yj-dept-col-border) 55%,var(--yj-line) 45%)}.yeji-table__body thead th[data-v-17041657]{background:#f1f5f9;color:var(--yj-ink-secondary);font-weight:600;padding:10px 8px;border:1px solid var(--yj-line);font-variant-numeric:tabular-nums;font-size:12px}.yeji-table__body thead th .col-info[data-v-17041657]{margin-left:4px;color:var(--yj-muted);cursor:help;vertical-align:-2px;font-size:14px;transition:color .15s}.yeji-table__body thead th .col-info[data-v-17041657]:hover{color:var(--yj-brand)}.yeji-table__body tbody td[data-v-17041657]{padding:10px 8px;border:1px solid var(--yj-line);white-space:nowrap;font-variant-numeric:tabular-nums}.yeji-table__body tbody tr.yeji-row--action[data-v-17041657]{cursor:pointer;transition:background .18s ease}.yeji-table__body tbody tr.yeji-row--action[data-v-17041657]:hover{background:var(--yj-brand-soft)}.yeji-table__body tbody tr.yeji-row--action.yeji-row--unassigned[data-v-17041657]{cursor:pointer}.yeji-table__body tbody tr.yeji-row--action.yeji-row--idle[data-v-17041657]{cursor:default}.yeji-table__body tbody tr.yeji-row--action.yeji-row--idle[data-v-17041657]:hover{background:transparent}.yeji-table__body .col-completed[data-v-17041657]{color:#0f766e;font-weight:600;background:var(--yj-teal-soft)}.yeji-table__body .total-row[data-v-17041657]{font-weight:700;background:var(--yj-accent-soft);color:var(--yj-ink)}.yeji-table__body .total-row td[data-v-17041657]{border-color:#d9770633}.yeji-table__body .roi-good[data-v-17041657]{color:#15803d;font-weight:600}.yeji-table__body .roi-mid[data-v-17041657]{color:#c2410c;font-weight:600}.yeji-table__body .roi-bad[data-v-17041657]{color:#b91c1c;font-weight:600}.yeji-table__body.yeji-table__body--data[data-v-17041657]{min-width:max(100%,1180px);width:-moz-max-content;width:max-content}.yeji-table__body.yeji-table__body--data thead th.col-dept[data-v-17041657],.yeji-table__body.yeji-table__body--data tbody td.col-dept[data-v-17041657]{position:sticky;left:0;z-index:3}.yeji-table__body.yeji-table__body--data thead th.col-dept[data-v-17041657]{z-index:6;text-align:left;padding-left:12px;padding-right:10px;box-shadow:8px 0 20px -12px #0f172a59}.yeji-table__body.yeji-table__body--data tbody td.col-dept[data-v-17041657]{box-shadow:8px 0 20px -12px #0f172a47;white-space:normal;max-width:300px;line-height:1.35;text-align:left;padding-left:12px;padding-right:10px;word-break:break-word}.yeji-table__body.yeji-table__body--data .total-row td.col-dept[data-v-17041657]{box-shadow:8px 0 20px -12px #0f172a47}.yeji-table__body.yeji-table__body--data thead th[data-v-17041657]:not(.col-dept){min-width:88px}.yeji-table__body.yeji-table__body--data thead th.col-narrow-head[data-v-17041657]{min-width:76px;max-width:112px;padding:8px 6px;vertical-align:middle;line-height:1.2}.yeji-table__body.yeji-table__body--leaderboard[data-v-17041657]{min-width:max(100%,780px);width:-moz-max-content;width:max-content}.yeji-table__body.yeji-table__body--leaderboard thead th.col-rank[data-v-17041657],.yeji-table__body.yeji-table__body--leaderboard tbody td.col-rank[data-v-17041657]{position:sticky;left:0;z-index:3}.yeji-table__body.yeji-table__body--leaderboard thead th.col-rank[data-v-17041657]{z-index:6;background:linear-gradient(180deg,var(--yj-dept-col-head-start) 0%,var(--yj-dept-col-head-end) 100%)!important;box-shadow:8px 0 20px -12px #0f172a4d}.yeji-table__body.yeji-table__body--leaderboard tbody td.col-rank[data-v-17041657]{background:var(--yj-surface);box-shadow:8px 0 20px -12px #0f172a38}.yeji-table__body.yeji-table__body--leaderboard tbody tr.yeji-row--action:hover td.col-rank[data-v-17041657]{background:var(--yj-brand-soft)}.yeji-table__foot[data-v-17041657]{padding:11px 14px;font-size:12px;color:var(--yj-muted);background:var(--yj-surface-muted);border-top:1px solid var(--yj-line);text-align:right;line-height:1.5}.yeji-order-drawer__hint[data-v-17041657]{margin:0 0 12px;font-size:13px;color:var(--yj-muted);line-height:1.5}.yeji-order-drawer__header[data-v-17041657]{padding-right:8px}.yeji-order-drawer__heading[data-v-17041657]{margin:0;font-size:18px;font-weight:700;color:var(--yj-ink);line-height:1.35;letter-spacing:-.01em}.yeji-order-drawer__sub[data-v-17041657]{margin:6px 0 0;font-size:13px;color:var(--yj-muted);line-height:1.55}.yeji-order-drawer__shell[data-v-17041657]{display:flex;flex-direction:column;gap:16px;min-height:200px}.yeji-order-drawer__stats[data-v-17041657]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.yeji-order-drawer__stat-card[data-v-17041657]{border:1px solid var(--yj-line);border-radius:var(--yj-radius-sm);padding:14px 16px;background:var(--yj-surface);display:flex;flex-direction:column;gap:8px;transition:border-color .2s ease,box-shadow .2s ease}.yeji-order-drawer__stat-card[data-v-17041657]:hover{border-color:#2563eb38;box-shadow:var(--yj-shadow-sm)}.yeji-order-drawer__stat-card--accent[data-v-17041657]{border-color:#dc26262e;background:linear-gradient(180deg,#fef2f2 0%,var(--el-fill-color-blank) 100%)}.yeji-order-drawer__stat-card--muted[data-v-17041657]{background:#f8fafc}.yeji-order-drawer__stat-card--total[data-v-17041657]{border-color:#d9770638;background:linear-gradient(180deg,#fffbeb 0%,var(--el-fill-color-blank) 100%)}.yeji-order-drawer__list-tabs[data-v-17041657] .el-tabs__header{margin:0;padding:0;border-bottom:1px solid var(--yj-line)}.yeji-order-drawer__list-tabs[data-v-17041657] .el-tabs__content{display:none}.yeji-order-drawer__list-tabs[data-v-17041657] .el-tabs__nav-wrap:after{display:none}.yeji-order-drawer__stat-label[data-v-17041657]{font-size:12px;color:var(--yj-muted);line-height:1.45}.yeji-order-drawer__stat-note[data-v-17041657]{display:block;margin-top:2px;font-size:11px;font-weight:400;color:var(--el-text-color-placeholder)}.yeji-order-drawer__stat-value[data-v-17041657]{font-size:18px;font-weight:700;color:var(--yj-ink);font-variant-numeric:tabular-nums}.yeji-order-drawer__stat-value--money[data-v-17041657]{font-size:21px;color:#b91c1c}.yeji-order-drawer__body[data-v-17041657]{flex:1;min-height:120px}.yeji-order-drawer__pager[data-v-17041657]{margin-top:4px;padding-top:10px;border-top:1px solid var(--yj-line);display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.yeji-order-appt-lines[data-v-17041657]{line-height:1.45;font-size:12px;color:var(--yj-ink, #0f172a)}.yeji-order-appt-line[data-v-17041657]{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin-bottom:2px}.yeji-order-appt-line[data-v-17041657]:last-child{margin-bottom:0}.yeji-order-appt-line.yeji-order-appt-line--channel[data-v-17041657]{align-items:flex-start}.yeji-order-appt-line.yeji-order-appt-line--channel .yeji-order-appt-channel-text[data-v-17041657]{flex:1;min-width:0}.yeji-order-appt-info[data-v-17041657]{font-size:14px;color:var(--yj-muted, #94a3b8);cursor:help;flex-shrink:0;margin-top:1px}.yeji-order-appt-k[data-v-17041657]{flex:0 0 auto;font-size:11px;font-weight:600;color:var(--yj-muted, #64748b)}.yeji-order-appt-sub[data-v-17041657]{font-size:11px;color:var(--yj-muted, #64748b)}.yeji-order-appt-empty[data-v-17041657]{font-size:12px;color:var(--yj-muted, #94a3b8)}.yeji-order-amt[data-v-17041657]{color:#b91c1c;font-weight:600;font-variant-numeric:tabular-nums}[data-v-17041657] .yeji-order-drawer.el-drawer{--el-drawer-padding-primary: 18px}[data-v-17041657] .yeji-order-drawer .el-drawer__header{margin-bottom:10px;padding-bottom:12px;border-bottom:1px solid var(--yj-line, #e2e8f0)}[data-v-17041657] .yeji-order-drawer .el-pagination{flex-wrap:wrap;justify-content:flex-end}.yeji-unassigned-dialog__head[data-v-17041657]{line-height:1.35}.yeji-unassigned-dialog__title[data-v-17041657]{display:block;font-size:16px;font-weight:700;color:var(--yj-ink, #0f172a)}.yeji-unassigned-dialog__sub[data-v-17041657]{margin:6px 0 0;font-size:12px;color:var(--yj-ink-secondary, #64748b);font-weight:400}.yeji-unassigned-dialog__note[data-v-17041657]{margin:0 0 12px;padding:10px 12px;font-size:12px;line-height:1.65;color:var(--yj-ink-secondary, #64748b);background:var(--yj-accent-soft, #fff7ed);border-radius:8px;border:1px solid color-mix(in srgb,var(--yj-line, #e2e8f0) 80%,transparent)}.yeji-unassigned-dialog__body[data-v-17041657]{min-height:120px}.yeji-lead-cell--link[data-v-17041657]{color:var(--yj-brand, #2563eb);font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}tbody tr.yeji-row--action:hover .yeji-lead-cell--link[data-v-17041657]{color:color-mix(in srgb,var(--yj-brand, #2563eb) 88%,#000)}.yeji-leadlines-dialog__pager[data-v-17041657]{margin-top:14px;display:flex;justify-content:flex-end}@media(prefers-reduced-motion:reduce){.date-pill[data-v-17041657],.filter-btn[data-v-17041657],.yeji-table__body tbody tr.yeji-row--action[data-v-17041657],.yeji-order-drawer__stat-card[data-v-17041657]{transition:none}}
diff --git a/server/public/admin/index.html b/server/public/admin/index.html
index 5be6295f..3e0866af 100644
--- a/server/public/admin/index.html
+++ b/server/public/admin/index.html
@@ -60,7 +60,7 @@
document.head.appendChild(link);
})();
-
+
From a0325a8fb15c8c62d21c8e6f8f9d8bc855861782 Mon Sep 17 00:00:00 2001
From: gr