{const _=P,b=K,i=T,f=G,g=q,F=j,I=R,S=H,A=Q,J=L,O=M;return V(),v(Z,null,[e(_,{shadow:"never",class:"!border-none flex"},{default:t(()=>[...l[3]||(l[3]=[a("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},[h(" 底部导航设置 "),a("span",{class:"form-tips ml-[10px] !mt-0"}," 至少添加2个导航,最多添加5个导航 ")],-1)])]),_:1}),e(O,{"label-width":"70px"},{default:t(()=>[e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l[4]||(l[4]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),e(i,{label:"默认颜色"},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.default_color,"onUpdate:modelValue":l[0]||(l[0]=r=>m(n).style.default_color=r),"default-color":"#999999"},null,8,["modelValue"])]),_:1}),e(i,{label:"选中颜色",style:{"margin-bottom":"0"}},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.selected_color,"onUpdate:modelValue":l[1]||(l[1]=r=>m(n).style.selected_color=r),"default-color":"#4173ff"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>{var r;return[l[7]||(l[7]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"菜单设置"),a("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),a("div",le,[e(m(W),{class:"draggable",modelValue:m(n).list,"onUpdate:modelValue":l[2]||(l[2]=o=>m(n).list=o),animation:"300",draggable:".draggable",handle:".drag-move",move:D,"item-key":"index"},{item:t(({element:o,index:u})=>[e(A,{onClose:d=>B(u),class:ee(["max-w-[400px]",{draggable:u!=0}]),"show-close":u!==0},{default:t(()=>[a("div",oe,[e(i,{label:"导航图标"},{default:t(()=>[e(g,{modelValue:o.unselected,"onUpdate:modelValue":d=>o.unselected=d,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:t(()=>[a("div",te,[e(f,{name:"el-icon-Plus",size:16}),l[5]||(l[5]=a("span",{class:"text-xs leading-5"}," 未选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"]),e(g,{modelValue:o.selected,"onUpdate:modelValue":d=>o.selected=d,"exclude-domain":"","upload-class":"bg-body",size:"60px"},{upload:t(()=>[a("div",ae,[e(f,{name:"el-icon-Plus",size:16}),l[6]||(l[6]=a("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"导航名称"},{default:t(()=>[e(F,{modelValue:o.name,"onUpdate:modelValue":d=>o.name=d,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"链接地址"},{default:t(()=>[e(I,{"is-tab":!0,disabled:u===0,modelValue:o.link,"onUpdate:modelValue":d=>o.link=d},null,8,["disabled","modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"是否显示"},{default:t(()=>[a("div",se,[e(S,{disabled:u==0,modelValue:o.is_show,"onUpdate:modelValue":d=>o.is_show=d,"active-value":1,"inactive-value":0,onChange:d=>N(o)},null,8,["disabled","modelValue","onUpdate:modelValue","onChange"]),a("div",ne,[e(f,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])]),_:2},1032,["onClose","show-close","class"])]),_:1},8,["modelValue"])]),((r=m(n).list)==null?void 0:r.length) {const _=P,b=K,i=T,f=G,g=q,F=j,I=R,S=H,A=Q,J=L,O=M;return V(),v(Z,null,[e(_,{shadow:"never",class:"!border-none flex"},{default:t(()=>[...l[3]||(l[3]=[a("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},[h(" 底部导航设置 "),a("span",{class:"form-tips ml-[10px] !mt-0"}," 至少添加2个导航,最多添加5个导航 ")],-1)])]),_:1}),e(O,{"label-width":"70px"},{default:t(()=>[e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l[4]||(l[4]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),e(i,{label:"默认颜色"},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.default_color,"onUpdate:modelValue":l[0]||(l[0]=r=>m(n).style.default_color=r),"default-color":"#999999"},null,8,["modelValue"])]),_:1}),e(i,{label:"选中颜色",style:{"margin-bottom":"0"}},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.selected_color,"onUpdate:modelValue":l[1]||(l[1]=r=>m(n).style.selected_color=r),"default-color":"#4173ff"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>{var r;return[l[7]||(l[7]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"菜单设置"),a("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),a("div",le,[e(m(W),{class:"draggable",modelValue:m(n).list,"onUpdate:modelValue":l[2]||(l[2]=o=>m(n).list=o),animation:"300",draggable:".draggable",handle:".drag-move",move:D,"item-key":"index"},{item:t(({element:o,index:u})=>[e(A,{onClose:d=>B(u),class:ee(["max-w-[400px]",{draggable:u!=0}]),"show-close":u!==0},{default:t(()=>[a("div",oe,[e(i,{label:"导航图标"},{default:t(()=>[e(g,{modelValue:o.unselected,"onUpdate:modelValue":d=>o.unselected=d,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:t(()=>[a("div",te,[e(f,{name:"el-icon-Plus",size:16}),l[5]||(l[5]=a("span",{class:"text-xs leading-5"}," 未选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"]),e(g,{modelValue:o.selected,"onUpdate:modelValue":d=>o.selected=d,"exclude-domain":"","upload-class":"bg-body",size:"60px"},{upload:t(()=>[a("div",ae,[e(f,{name:"el-icon-Plus",size:16}),l[6]||(l[6]=a("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"导航名称"},{default:t(()=>[e(F,{modelValue:o.name,"onUpdate:modelValue":d=>o.name=d,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"链接地址"},{default:t(()=>[e(I,{"is-tab":!0,disabled:u===0,modelValue:o.link,"onUpdate:modelValue":d=>o.link=d},null,8,["disabled","modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"是否显示"},{default:t(()=>[a("div",se,[e(S,{disabled:u==0,modelValue:o.is_show,"onUpdate:modelValue":d=>o.is_show=d,"active-value":1,"inactive-value":0,onChange:d=>N(o)},null,8,["disabled","modelValue","onUpdate:modelValue","onChange"]),a("div",ne,[e(f,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])]),_:2},1032,["onClose","show-close","class"])]),_:1},8,["modelValue"])]),((r=m(n).list)==null?void 0:r.length) 订单池默认与处方订单列表同源:创建时间 start_time~end_time + fulfillment_status(默认完成态 3),账号列表可见性/数据域一并生效。 选结算月仍可套用「物流签收与尾款支付均须在结算月 7 日 24 点前」拆分「本期提成 / 顺延下期」 (仅有签收在范围内、尾款晚于截止仍会顺延); 展示部门/渠道下拉与列表不同,勾选后会与列表计数不同。 订单池默认与处方订单列表同源:创建时间 start_time~end_time + fulfillment_status(默认完成态 3),账号列表可见性/数据域一并生效。 选结算月仍可套用「物流签收与尾款支付均须在结算月 7 日 24 点前」拆分「本期提成 / 顺延下期」 (仅有签收在范围内、尾款晚于截止仍会顺延); 展示部门/渠道下拉与列表不同,勾选后会与列表计数不同。 提成结算业绩
提成结算业绩
{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,ac as ut,ab as bt,W as mt}from"./element-plus-Bolc0EfP.js";import{H as O}from"./vue-echarts-BNtg2q_G.js";import{M,ag as _t,ah as ht,a6 as yt}from"./@element-plus/icons-vue-B0jSCQ-G.js";import{l as wt,O as L,Q as ft,_ as vt}from"./index-DiYdpaIG.js";import{az as gt}from"./tcm-B_U8CrQ9.js";import{u as kt}from"./order-CCMQWqxr.js";import{u as Q}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 U,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"},zt={class:"wb-section-icon wb-section-icon--violet"},$t={class:"wb-section-sub"},Et={class:"wb-toolbar"},Vt={class:"wb-section-body"},Lt={class:"wb-kpi wb-kpi--violet"},Rt={class:"wb-kpi-value"},Pt={class:"wb-kpi wb-kpi--amber"},Wt={class:"wb-kpi-value wb-kpi-value--sm"},Ft={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"},Mt={class:"wb-chart-card"},Qt={class:"wb-chart-card wb-ranking-card"},Ut={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"},ze={class:"wb-chart-card wb-trend-card"},$e=Y({name:"workbench"}),Ee=Y({...$e,setup(Ve){const g=wt(),H=Q(),T=Q(),q=Q(),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=U({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:L(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),W=J(0),_=U({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=W.value,h=new Date,b=new Date;return e===0?(b.setHours(0,0,0,0),`${F(b)} 至 ${F(h)}`):(b.setDate(b.getDate()-(e||7)),`${F(b)} 至 ${F(h)}`)});function F(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:L(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:W.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=U({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:L(g.theme,.65)},{offset:1,color:g.theme}]}}}]}}),G=()=>{ft().then(s=>{var e,h,b,i,k,m,v,x,z,$,E,V;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)}),(V=(E=($=(z=s.sale)==null?void 0:z.list)==null?void 0:$[0])==null?void 0:E.data)==null||V.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:L("#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:L(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,V;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(M),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",zt,[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",$t,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:W.value,"onUpdate:modelValue":e[1]||(e[1]=o=>W.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(M),circle:"",onClick:N},null,8,["icon"])])]),t("div",Vt,[a(v,{gutter:16,class:"wb-kpi-row"},{default:r(()=>[a(m,{xs:24,sm:8},{default:r(()=>[t("div",Lt,[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",Wt,"¥"+n(_.today_amount??"0.00"),1)])]),_:1}),a(m,{xs:24,sm:8},{default:r(()=>{var o;return[t("div",Ft,[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",Mt,[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",Qt,[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",Ut,[(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}),(z=_.departments)!=null&&z.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(($=p.date_range)==null?void 0:$[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(M),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}),(V=p.departments)!=null&&V.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",ze,[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-MFWzSAR-.js b/server/public/admin/assets/index-BTYWyByk.js
similarity index 95%
rename from server/public/admin/assets/index-MFWzSAR-.js
rename to server/public/admin/assets/index-BTYWyByk.js
index 6f4bbb2e..d3765a32 100644
--- a/server/public/admin/assets/index-MFWzSAR-.js
+++ b/server/public/admin/assets/index-BTYWyByk.js
@@ -1 +1 @@
-import{J as se,D as ie,B as re,P as de,Q as me,ag as pe,Z as ce,C as ue,i as _e,M as fe,N as he,T as ge,L as ve}from"./element-plus-Bolc0EfP.js";import{_ as ye}from"./index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import{c as be,i as Ce,_ as we}from"./index-CzSP4TPL.js";import{w as ke}from"./@vue/runtime-dom-DDAG46FW.js";import{e as xe,f as Ee}from"./finance-BaTFwsEY.js";import{u as Ve}from"./usePaging-VsbTxSU0.js";import{L as Te,u as Le}from"./useListTimeFilter-OQGIG68A.js";import De from"./edit-BGU64u2w.js";import{f as N,b as Fe,as as Ae,ak as r,I as v,a as t,aN as l,J as m,F as P,ap as R,G as u,O as c,aP as x,H as Se,A as E,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{Q as _}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as F,q as Pe,n as Re,r as Be}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-B0jSCQ-G.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"./index-DWEeyCDR.js";const Ne={class:"account-cost-list"},Ue={class:"flex flex-wrap"},Oe={class:"w-1/2 md:w-1/3"},$e={class:"text-4xl"},Ge={class:"w-1/2 md:w-1/3"},Ie={class:"text-4xl"},ze={class:"channel-opt-row"},Me={class:"opt-name"},Qe={key:0},qe={key:1},Je={class:"flex justify-end mt-4"},Ke=N({name:"accountCostList"}),je=N({...Ke,setup(He){const y=Pe(),b=Re(!1),d=Be({media_channel_code:"",dept_id:"",remark:""}),{time_type:V,dateRange:T,resolve:U,handleTimeTypeChange:O,handleCustomDateChange:$,resetTimeFilter:G}=Le("today"),{pager:s,getLists:f}=Ve({fetchFun:async o=>{const[e,i]=U();return xe({...o,start_date:e,end_date:i})},params:d}),C=()=>{s.page=1,f()},I=()=>O(C),z=()=>$(C),M=E(()=>{const o=s.extend.media_channel_options;return Array.isArray(o)?o.map(e=>({code:String(e.code||""),name:String(e.name||"")})):[]}),L=E(()=>{const o=s.extend.media_channel_groups;if(Array.isArray(o)&&o.length>0)return o;const e=M.value;return e.length?[{group_name:"渠道",channels:e.map(i=>({channel_code:i.code,channel_name:i.name}))}]:[]}),A=E(()=>{const o=s.extend.dept_options;return Array.isArray(o)?o:[]}),Q=E(()=>String(s.extend.default_media_channel_code||"")),S=o=>{if(!o)return"";for(const e of L.value)if(e.channels.find(w=>w.channel_code===o))return e.group_name;return""},q={value:"id",label:"name",children:"children"},J=async()=>{var o;b.value=!0,await B(),(o=y.value)==null||o.open("add")},K=async o=>{var e,i;b.value=!0,await B(),(e=y.value)==null||e.open("edit"),(i=y.value)==null||i.getDetail(o)},j=async o=>{await Ce.confirm("确定要删除这条账户消耗记录吗?"),await Ee({id:o}),f()},H=()=>{G(),d.media_channel_code="",d.dept_id="",d.remark="",s.page=1,s.size=15,f()};return Fe(()=>{f()}),(o,e)=>{const i=se,w=me,Z=pe,W=de,k=re,X=ce,Y=ue,g=_e,ee=ie,te=be,p=he,ne=ge,ae=fe,oe=ye,D=Ae("perms"),le=ve;return r(),v("div",Ne,[t(i,{class:"!border-none mb-4",shadow:"never"},{default:l(()=>[m("div",Ue,[m("div",Oe,[e[7]||(e[7]=m("div",{class:"leading-10"},"当前筛选天数",-1)),m("div",$e,_(a(s).extend.days_count??0),1)]),m("div",Ge,[e[8]||(e[8]=m("div",{class:"leading-10"},"累计账户消耗 (元)",-1)),m("div",Ie,"¥"+_(a(s).extend.total_amount??"0.00"),1)])])]),_:1}),t(i,{class:"!border-none",shadow:"never"},{default:l(()=>[t(ee,{inline:!0,model:a(d),class:"stats-filter-form"},{default:l(()=>[t(Te,{"time-type":a(V),"onUpdate:timeType":e[0]||(e[0]=n=>F(V)?V.value=n:null),"date-range":a(T),"onUpdate:dateRange":e[1]||(e[1]=n=>F(T)?T.value=n:null),onTimeTypeChange:I,onCustomChange:z},null,8,["time-type","date-range"]),t(k,{label:"自媒体渠道"},{default:l(()=>[t(W,{modelValue:a(d).media_channel_code,"onUpdate:modelValue":e[2]||(e[2]=n=>a(d).media_channel_code=n),placeholder:"筛选全部渠道",clearable:"",filterable:"",class:"account-cost-channel-select w-[220px]"},{default:l(()=>[t(w,{label:"全部",value:""}),(r(!0),v(P,null,R(a(L),n=>(r(),u(Z,{key:n.group_name,label:n.group_name},{default:l(()=>[(r(!0),v(P,null,R(n.channels,h=>(r(),u(w,{key:h.channel_code,label:h.channel_name,value:h.channel_code},{default:l(()=>[m("div",ze,[m("span",Me,_(h.channel_name),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(k,{label:"部门"},{default:l(()=>[t(X,{modelValue:a(d).dept_id,"onUpdate:modelValue":e[3]||(e[3]=n=>a(d).dept_id=n),data:a(A),"node-key":"id",props:q,"default-expand-all":!0,"check-strictly":"",placeholder:"筛选全部部门",clearable:"",filterable:"",class:"w-[220px]"},null,8,["modelValue","data"])]),_:1}),t(k,{class:"w-[280px]",label:"备注/维护人"},{default:l(()=>[t(Y,{modelValue:a(d).remark,"onUpdate:modelValue":e[4]||(e[4]=n=>a(d).remark=n),placeholder:"备注 / 创建人 / 修改人",clearable:"",onKeyup:ke(C,["enter"])},null,8,["modelValue"])]),_:1}),t(k,null,{default:l(()=>[t(g,{type:"primary",loading:a(s).loading,onClick:C},{default:l(()=>[...e[9]||(e[9]=[c("查询",-1)])]),_:1},8,["loading"]),t(g,{onClick:H},{default:l(()=>[...e[10]||(e[10]=[c("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(i,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[m("div",null,[x((r(),u(g,{type:"primary",onClick:J},{icon:l(()=>[t(te,{name:"el-icon-Plus"})]),default:l(()=>[e[11]||(e[11]=c(" 新增 ",-1))]),_:1})),[[D,["finance.account_cost/add"]]])]),x((r(),u(ae,{class:"mt-4",size:"large",data:a(s).lists},{default:l(()=>[t(p,{label:"日期",prop:"cost_date","min-width":"120"}),t(p,{label:"自媒体渠道","min-width":"160"},{default:l(({row:n})=>[S(n.media_channel_code)?(r(),v("span",Qe,[t(ne,{size:"small",class:"mr-1"},{default:l(()=>[c(_(S(n.media_channel_code)),1)]),_:2},1024),c(" "+_(n.media_channel_name),1)])):(r(),v("span",qe,_(n.media_channel_name),1))]),_:1}),t(p,{label:"部门",prop:"dept_name","min-width":"140"}),t(p,{label:"账户消耗","min-width":"120"},{default:l(({row:n})=>[c("¥"+_(n.amount),1)]),_:1}),t(p,{label:"备注",prop:"remark","min-width":"260","show-overflow-tooltip":""}),t(p,{label:"创建人",prop:"creator_name","min-width":"100"}),t(p,{label:"最后修改人",prop:"updater_name","min-width":"100"}),t(p,{label:"更新时间",prop:"update_time","min-width":"180"}),t(p,{label:"操作",width:"160",fixed:"right"},{default:l(({row:n})=>[x((r(),u(g,{type:"primary",link:"",onClick:h=>K(n)},{default:l(()=>[...e[12]||(e[12]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[D,["finance.account_cost/edit"]]]),x((r(),u(g,{type:"danger",link:"",onClick:h=>j(n.id)},{default:l(()=>[...e[13]||(e[13]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[D,["finance.account_cost/delete"]]])]),_:1})]),_:1},8,["data"])),[[le,a(s).loading]]),m("div",Je,[t(oe,{modelValue:a(s),"onUpdate:modelValue":e[5]||(e[5]=n=>F(s)?s.value=n:null),onChange:a(f)},null,8,["modelValue","onChange"])])]),_:1}),a(b)?(r(),u(De,{key:0,ref_key:"editRef",ref:y,"media-channel-groups":a(L),"dept-options":a(A),"default-media-channel-code":a(Q),onSuccess:a(f),onClose:e[6]||(e[6]=n=>b.value=!1)},null,8,["media-channel-groups","dept-options","default-media-channel-code","onSuccess"])):Se("",!0)])}}}),$t=we(je,[["__scopeId","data-v-c0f83fa0"]]);export{$t as default};
+import{J as se,D as ie,B as re,P as de,Q as me,ag as pe,Z as ce,C as ue,i as _e,M as fe,N as he,T as ge,L as ve}from"./element-plus-Bolc0EfP.js";import{_ as ye}from"./index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import{c as be,i as Ce,_ as we}from"./index-DiYdpaIG.js";import{w as ke}from"./@vue/runtime-dom-DDAG46FW.js";import{e as xe,f as Ee}from"./finance-BUBh_Yln.js";import{u as Ve}from"./usePaging-VsbTxSU0.js";import{L as Te,u as Le}from"./useListTimeFilter-CkwZvVhO.js";import De from"./edit-B-sxDRZ2.js";import{f as N,b as Fe,as as Ae,ak as r,I as v,a as t,aN as l,J as m,F as P,ap as R,G as u,O as c,aP as x,H as Se,A as E,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{Q as _}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as F,q as Pe,n as Re,r as Be}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-B0jSCQ-G.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"./index-JpA6TixL.js";const Ne={class:"account-cost-list"},Ue={class:"flex flex-wrap"},Oe={class:"w-1/2 md:w-1/3"},$e={class:"text-4xl"},Ge={class:"w-1/2 md:w-1/3"},Ie={class:"text-4xl"},ze={class:"channel-opt-row"},Me={class:"opt-name"},Qe={key:0},qe={key:1},Je={class:"flex justify-end mt-4"},Ke=N({name:"accountCostList"}),je=N({...Ke,setup(He){const y=Pe(),b=Re(!1),d=Be({media_channel_code:"",dept_id:"",remark:""}),{time_type:V,dateRange:T,resolve:U,handleTimeTypeChange:O,handleCustomDateChange:$,resetTimeFilter:G}=Le("today"),{pager:s,getLists:f}=Ve({fetchFun:async o=>{const[e,i]=U();return xe({...o,start_date:e,end_date:i})},params:d}),C=()=>{s.page=1,f()},I=()=>O(C),z=()=>$(C),M=E(()=>{const o=s.extend.media_channel_options;return Array.isArray(o)?o.map(e=>({code:String(e.code||""),name:String(e.name||"")})):[]}),L=E(()=>{const o=s.extend.media_channel_groups;if(Array.isArray(o)&&o.length>0)return o;const e=M.value;return e.length?[{group_name:"渠道",channels:e.map(i=>({channel_code:i.code,channel_name:i.name}))}]:[]}),A=E(()=>{const o=s.extend.dept_options;return Array.isArray(o)?o:[]}),Q=E(()=>String(s.extend.default_media_channel_code||"")),S=o=>{if(!o)return"";for(const e of L.value)if(e.channels.find(w=>w.channel_code===o))return e.group_name;return""},q={value:"id",label:"name",children:"children"},J=async()=>{var o;b.value=!0,await B(),(o=y.value)==null||o.open("add")},K=async o=>{var e,i;b.value=!0,await B(),(e=y.value)==null||e.open("edit"),(i=y.value)==null||i.getDetail(o)},j=async o=>{await Ce.confirm("确定要删除这条账户消耗记录吗?"),await Ee({id:o}),f()},H=()=>{G(),d.media_channel_code="",d.dept_id="",d.remark="",s.page=1,s.size=15,f()};return Fe(()=>{f()}),(o,e)=>{const i=se,w=me,Z=pe,W=de,k=re,X=ce,Y=ue,g=_e,ee=ie,te=be,p=he,ne=ge,ae=fe,oe=ye,D=Ae("perms"),le=ve;return r(),v("div",Ne,[t(i,{class:"!border-none mb-4",shadow:"never"},{default:l(()=>[m("div",Ue,[m("div",Oe,[e[7]||(e[7]=m("div",{class:"leading-10"},"当前筛选天数",-1)),m("div",$e,_(a(s).extend.days_count??0),1)]),m("div",Ge,[e[8]||(e[8]=m("div",{class:"leading-10"},"累计账户消耗 (元)",-1)),m("div",Ie,"¥"+_(a(s).extend.total_amount??"0.00"),1)])])]),_:1}),t(i,{class:"!border-none",shadow:"never"},{default:l(()=>[t(ee,{inline:!0,model:a(d),class:"stats-filter-form"},{default:l(()=>[t(Te,{"time-type":a(V),"onUpdate:timeType":e[0]||(e[0]=n=>F(V)?V.value=n:null),"date-range":a(T),"onUpdate:dateRange":e[1]||(e[1]=n=>F(T)?T.value=n:null),onTimeTypeChange:I,onCustomChange:z},null,8,["time-type","date-range"]),t(k,{label:"自媒体渠道"},{default:l(()=>[t(W,{modelValue:a(d).media_channel_code,"onUpdate:modelValue":e[2]||(e[2]=n=>a(d).media_channel_code=n),placeholder:"筛选全部渠道",clearable:"",filterable:"",class:"account-cost-channel-select w-[220px]"},{default:l(()=>[t(w,{label:"全部",value:""}),(r(!0),v(P,null,R(a(L),n=>(r(),u(Z,{key:n.group_name,label:n.group_name},{default:l(()=>[(r(!0),v(P,null,R(n.channels,h=>(r(),u(w,{key:h.channel_code,label:h.channel_name,value:h.channel_code},{default:l(()=>[m("div",ze,[m("span",Me,_(h.channel_name),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(k,{label:"部门"},{default:l(()=>[t(X,{modelValue:a(d).dept_id,"onUpdate:modelValue":e[3]||(e[3]=n=>a(d).dept_id=n),data:a(A),"node-key":"id",props:q,"default-expand-all":!0,"check-strictly":"",placeholder:"筛选全部部门",clearable:"",filterable:"",class:"w-[220px]"},null,8,["modelValue","data"])]),_:1}),t(k,{class:"w-[280px]",label:"备注/维护人"},{default:l(()=>[t(Y,{modelValue:a(d).remark,"onUpdate:modelValue":e[4]||(e[4]=n=>a(d).remark=n),placeholder:"备注 / 创建人 / 修改人",clearable:"",onKeyup:ke(C,["enter"])},null,8,["modelValue"])]),_:1}),t(k,null,{default:l(()=>[t(g,{type:"primary",loading:a(s).loading,onClick:C},{default:l(()=>[...e[9]||(e[9]=[c("查询",-1)])]),_:1},8,["loading"]),t(g,{onClick:H},{default:l(()=>[...e[10]||(e[10]=[c("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(i,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[m("div",null,[x((r(),u(g,{type:"primary",onClick:J},{icon:l(()=>[t(te,{name:"el-icon-Plus"})]),default:l(()=>[e[11]||(e[11]=c(" 新增 ",-1))]),_:1})),[[D,["finance.account_cost/add"]]])]),x((r(),u(ae,{class:"mt-4",size:"large",data:a(s).lists},{default:l(()=>[t(p,{label:"日期",prop:"cost_date","min-width":"120"}),t(p,{label:"自媒体渠道","min-width":"160"},{default:l(({row:n})=>[S(n.media_channel_code)?(r(),v("span",Qe,[t(ne,{size:"small",class:"mr-1"},{default:l(()=>[c(_(S(n.media_channel_code)),1)]),_:2},1024),c(" "+_(n.media_channel_name),1)])):(r(),v("span",qe,_(n.media_channel_name),1))]),_:1}),t(p,{label:"部门",prop:"dept_name","min-width":"140"}),t(p,{label:"账户消耗","min-width":"120"},{default:l(({row:n})=>[c("¥"+_(n.amount),1)]),_:1}),t(p,{label:"备注",prop:"remark","min-width":"260","show-overflow-tooltip":""}),t(p,{label:"创建人",prop:"creator_name","min-width":"100"}),t(p,{label:"最后修改人",prop:"updater_name","min-width":"100"}),t(p,{label:"更新时间",prop:"update_time","min-width":"180"}),t(p,{label:"操作",width:"160",fixed:"right"},{default:l(({row:n})=>[x((r(),u(g,{type:"primary",link:"",onClick:h=>K(n)},{default:l(()=>[...e[12]||(e[12]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[D,["finance.account_cost/edit"]]]),x((r(),u(g,{type:"danger",link:"",onClick:h=>j(n.id)},{default:l(()=>[...e[13]||(e[13]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[D,["finance.account_cost/delete"]]])]),_:1})]),_:1},8,["data"])),[[le,a(s).loading]]),m("div",Je,[t(oe,{modelValue:a(s),"onUpdate:modelValue":e[5]||(e[5]=n=>F(s)?s.value=n:null),onChange:a(f)},null,8,["modelValue","onChange"])])]),_:1}),a(b)?(r(),u(De,{key:0,ref_key:"editRef",ref:y,"media-channel-groups":a(L),"dept-options":a(A),"default-media-channel-code":a(Q),onSuccess:a(f),onClose:e[6]||(e[6]=n=>b.value=!1)},null,8,["media-channel-groups","dept-options","default-media-channel-code","onSuccess"])):Se("",!0)])}}}),$t=we(je,[["__scopeId","data-v-c0f83fa0"]]);export{$t as default};
diff --git a/server/public/admin/assets/index-BTLvnfDk.js b/server/public/admin/assets/index-BYuclZgg.js
similarity index 86%
rename from server/public/admin/assets/index-BTLvnfDk.js
rename to server/public/admin/assets/index-BYuclZgg.js
index 26b218a8..bc34152b 100644
--- a/server/public/admin/assets/index-BTLvnfDk.js
+++ b/server/public/admin/assets/index-BYuclZgg.js
@@ -1,2 +1,2 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Cj_gN9of.js","assets/element-plus-Bolc0EfP.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-B0jSCQ-G.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-CL62-hT2.css","assets/file-DA0zt1Rz.js","assets/index-CzSP4TPL.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-B8eb0l7L.css","assets/patient-B-TtpnKl.js","assets/tcm-B2eDN42y.js","assets/@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js","assets/@tencentcloud/uikit-base-component-vue3-YgTqL4da.js","assets/@tencentcloud/uikit-base-component-vue3-BkrtIuVN.css","assets/tuikit-atomicx-vue3-Dln8Zi6e.js","assets/@tencentcloud/chat-uikit-engine-zx802ozq.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/@tencentcloud/tuiroom-engine-js-Br9swJyU.js","assets/rtc-detect-Chu-fZvE.js","assets/tcplayer.js-qpFBCYzN.js","assets/tuikit-atomicx-vue3-Qhi9ezz1.css","assets/@tencentcloud/chat-uikit-vue3-Cj2eB1Uk.css","assets/im-business-message-parse-QKjFLn3X.js","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/index-BqRj5hg7.css","assets/edit-DJu_2QAV.js","assets/perm-Ba4WXYK7.js","assets/DailyMatrix-BykpJjGm.js","assets/picker-BFSyGoz9.js","assets/index-DWEeyCDR.js","assets/index-B3imPWFk.css","assets/index-BL6dsbzE.js","assets/index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js","assets/index-C5CUkFFb.js","assets/index-D0f1Mn00.css","assets/index-8GEGc2Yz.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/index.vue_vue_type_script_setup_true_lang-Lcfr_gGB.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-DVfXtsgC.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-CdYwSXQk.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-DbPxSfko.js","assets/RecordingPlaybackBlock-CUlY7YyE.js","assets/RecordingVideoPlayer-D1_T25z0.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-CfA9lIP0.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-BlIdJQ7L.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-CQZii2JX.js","assets/doctor-CwO7n1kw.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-2XD75WaJ.js","assets/NoteTimeline-I2FSxX4s.css","assets/PatientOrderList-Dgam7DDA.js","assets/PrescriptionOrderDetailDrawer-BL7WuF4P.js","assets/prescription-order-utils-JfPHOgCe.js","assets/PrescriptionOrderDetailDrawer-CvPY-EBw.css","assets/PatientOrderList-D8-uh2iu.css","assets/index-CPYf9n-I.js","assets/index-Pb72-1vG.js","assets/medicine-Cpa7L0_Z.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DVzcucvm.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]);
-import{_ as qe}from"./jspdf-BsthCvR5.js";import{d as Ye,C as Ze,L as Xe,T as et,r as tt,W as at,i as nt,V as st}from"./element-plus-Bolc0EfP.js";import{w as ot,s as it,T as lt}from"./@vue/runtime-dom-DDAG46FW.js";import{r as Ie,n as rt,a as ut,b as dt}from"./patient-B-TtpnKl.js";import ct from"./NoteTimeline-2XD75WaJ.js";import mt from"./PatientInfoCard-RfHtSmb-.js";import pt from"./PatientCaseCard-BWVpBp2i.js";import vt from"./DailyMatrix-BykpJjGm.js";import{l as ft}from"./doctor-CwO7n1kw.js";import{Q as gt}from"./tcm-B2eDN42y.js";import{i as g,_ as _t}from"./index-CzSP4TPL.js";import{f as ht}from"./diag-display-DCz_VAqj.js";import{O as yt,l as kt,J as St,a8 as Ct}from"./@element-plus/icons-vue-B0jSCQ-G.js";import{f as wt,w as Et,b as Dt,n as bt,d as qt,as as It,ak as u,I as h,J as s,a as d,aN as m,aP as B,F as xe,ap as xt,O as b,G as w,H as q,at as Re,P as Te,A as H}from"./@vue/runtime-core-C6bnekPw.js";import{Q as S,o as J}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as re,n as l}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker-BFSyGoz9.js";import"./index-DWEeyCDR.js";import"./index-BL6dsbzE.js";import"./index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import"./index-C5CUkFFb.js";import"./index-8GEGc2Yz.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DA0zt1Rz.js";import"./index.vue_vue_type_script_setup_true_lang-Lcfr_gGB.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"./perm-Ba4WXYK7.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";import"./blood-thresholds-CJ1fqMjh.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./vue-echarts-BNtg2q_G.js";import"./resize-detector-G6vbKCU7.js";import"./DiagnosisTodoList-DVfXtsgC.js";const Rt={class:"reception-page"},Tt={class:"reception-header"},$t={class:"header-left"},Nt={class:"header-meta"},Vt={class:"header-right"},Pt={class:"live-pill"},Lt={class:"filter-shell"},Mt={class:"filter-tabs"},zt={class:"main-area"},At={class:"queue-col"},Ot={class:"queue-panel"},Bt={class:"queue-head"},Ft={class:"queue-title"},Qt={class:"queue-meta"},Ut=["onClick"],jt={class:"row-name"},Gt={class:"name-line"},Wt={class:"name-meta"},Ht={class:"time-line"},Jt=["disabled","onClick"],Kt=["onClick"],Yt={key:0},Zt={key:1,class:"no-more"},Xt={class:"sidebar"},ea={key:0,class:"placeholder-card"},ta={class:"card note-card"},aa={class:"card metric-card"},na={key:0,class:"float-bar"},ue=5e3,de=15,sa=wt({__name:"index",setup(oa){const $e=Te(()=>qe(()=>import("./index-Cj_gN9of.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]))),Ne=Te(()=>qe(()=>import("./edit-DJu_2QAV.js"),__vite__mapDeps([65,1,2,3,4,5,6,7,8,9,10,11,12,13,14,43,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,66,67,68,69,70,71,72,73,74,75,76,15,77,78,79,80,53,54,55,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,61,98,99,100,101,102,103,104,42,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119]))),_=l(1),y=l([]),F=l(0),K=l(0),Y=l(0),Z=l(1),Q=l(!0),U=l(!1),j=l(!1),X=l(!1),c=l(null),v=l(null),ee=l(!1),C=l(""),V=l(!1),P=l(ue/1e3),L=l(null);let I=null,x=null,te=!1,M=!1,E=null,G=0,R=0;const ae=l(null),W=l(null),ce=l(),me=l(),T=l(!1),z=l(""),ne=l(!1),$=H(()=>{var e;return((e=v.value)==null?void 0:e.appointment)||{}}),k=H(()=>{var e;return((e=v.value)==null?void 0:e.diagnosis)||{}}),Ve=H(()=>{var e;return((e=v.value)==null?void 0:e.doctor_notes)||[]}),Pe=H(()=>{const e=new Date,t=["周日","周一","周二","周三","周四","周五","周六"][e.getDay()],n=o=>String(o).padStart(2,"0");return`${e.getFullYear()}-${n(e.getMonth()+1)}-${n(e.getDate())} ${t}`}),Le=()=>{const e=new Date,t=n=>String(n).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`},Me=e=>[ht(e.gender),e.age!=null?e.age+"岁":""].filter(n=>n&&n!=="—").join(" "),ze=e=>e?e.replace(/^(\d{2}:\d{2})(:\d{2})?$/,"$1"):"—",se=async(e,t,n)=>{const o=Le(),i=await dt({status:t??_.value,start_date:o,end_date:o,patient_name:(n??C.value)||void 0,page_no:e,page_size:de}),D=(i==null?void 0:i.lists)||(i==null?void 0:i.data)||[],p=Number((i==null?void 0:i.count)??(i==null?void 0:i.total)??0);return{list:D,count:p}},Ae=async(e,t,n)=>{const o=e===1?4:1;try{const{count:i}=await se(1,o,t||void 0);if(n!==G||_.value!==e||C.value!==t)return;o===1?K.value=i:Y.value=i}catch{}},A=async e=>{const t=(e==null?void 0:e.silent)===!0;if(t&&te)return;const n=++G,o=_.value,i=C.value,D=(e==null?void 0:e.autoSelect)??!t;te=!0,t||(j.value=!0);try{Z.value=1;const{list:p,count:f}=await se(1,o,i||void 0);if(n!==G||_.value!==o||C.value!==i)return;y.value=p,F.value=f||p.length,o===1?K.value=f:Y.value=f,Q.value=p.length>=de&&y.value.length<(f||0),Ae(o,i,n),c.value&&!p.some(ie=>ie.id===c.value)&&(c.value=null,v.value=null),!c.value&&D&&p.length>0&&await pe(p[0])}catch(p){t||console.error("加载队列失败:",p)}finally{n===G&&(j.value=!1,te=!1)}},Oe=async()=>{if(U.value||!Q.value)return;const e=_.value,t=C.value;U.value=!0;try{const n=Z.value+1,{list:o,count:i}=await se(n,e,t||void 0);if(_.value!==e||C.value!==t)return;const D=new Set(y.value.map(f=>f.id)),p=o.filter(f=>!D.has(f.id));y.value=[...y.value,...p],Z.value=n,F.value=i||F.value,Q.value=o.length>=de&&y.value.length<(i||0)}catch(n){console.error("加载更多失败:",n)}finally{U.value=!1}},Be=async()=>{if(!c.value||M)return;const e=c.value,t=++R;M=!0;try{const n=await Ie({id:e});if(t!==R||c.value!==e)return;v.value=n||v.value}catch{}finally{t===R&&(M=!1)}},pe=async e=>{if(c.value===e.id)return;const t=e.id,n=++R;c.value=e.id,v.value=null,X.value=!0,M=!0,O();try{const o=await Ie({id:t});if(n!==R||c.value!==t)return;v.value=o||null}catch(o){console.error("加载详情失败:",o),g.msgError("加载患者详情失败")}finally{n===R&&(X.value=!1,M=!1)}},ve=async e=>{_.value!==e&&(_.value=e,c.value=null,v.value=null,await A(),O())},fe=async()=>{c.value=null,v.value=null,await A(),O()},Fe=async e=>{var t;if(!e.patient_id){g.msgWarning("患者信息不完整");return}try{const n=await gt({patient_id:e.patient_id,diagnosis_id:e.diagnosis_id||e.id});(t=ce.value)==null||t.open({patientId:e.patient_id,patientName:e.patient_name,diagnosisId:e.diagnosis_id||e.id,signatureData:n})}catch(n){console.error("获取通话签名失败:",n),g.msgError((n==null?void 0:n.message)||"获取通话签名失败")}},Qe=async e=>{if(!L.value){L.value=e.id;try{await rt({id:e.id}),g.msgSuccess(`已通知医助 ${e.assistant_name||""}`),await N()}catch(t){g.msgError((t==null?void 0:t.message)||"通知失败")}finally{L.value=null}}},Ue=()=>{var e,t;(e=k.value)!=null&&e.patient_id&&((t=me.value)==null||t.open("edit",k.value.patient_id))},je=async()=>{await N()},N=async()=>{const e=c.value;await A({silent:!0,autoSelect:!1}),e&&c.value===e&&await Be(),O()},Ge=async()=>{var e;if((e=$.value)!=null&&e.id){try{await g.confirm("确认将该患者标记为「已完成接诊」?此操作不可撤销。")}catch{return}ee.value=!0;try{await ft({id:$.value.id}),g.msgSuccess("已完成接诊"),c.value=null,v.value=null,await A({autoSelect:!0}),O()}catch(t){g.msgError((t==null?void 0:t.message)||"操作失败")}finally{ee.value=!1}}},We=async()=>{var n;const e=(n=k.value)==null?void 0:n.id;if(!e){g.msgWarning("当前患者无诊单,无法添加备注");return}const t=z.value.trim();if(!t){g.msgWarning("请输入备注内容");return}ne.value=!0;try{await ut({diagnosis_id:e,content:t}),g.msgSuccess("备注保存成功"),z.value="",T.value=!1,await N()}catch(o){g.msgError((o==null?void 0:o.message)||"保存失败")}finally{ne.value=!1}},He=()=>{P.value=ue/1e3},Je=()=>{x&&clearInterval(x),He(),x=setInterval(()=>{V.value||(P.value>1?P.value-=1:P.value=1)},1e3)},ge=()=>{I&&clearTimeout(I),!V.value&&(Je(),I=setTimeout(async()=>{await N()},ue))},O=()=>{ge()},Ke=()=>{oe(),ge()},oe=()=>{I&&(clearTimeout(I),I=null),x&&(clearInterval(x),x=null)},_e=()=>{V.value=document.hidden,document.hidden?oe():N()},he=e=>{var n;const t=String(((n=e==null?void 0:e.reason)==null?void 0:n.message)||(e==null?void 0:e.reason)||"");/Receiving end does not exist|Could not establish connection/i.test(t)&&e.preventDefault()},ye=()=>{!W.value||!ae.value||(E==null||E.disconnect(),E=new IntersectionObserver(e=>{for(const t of e)t.isIntersecting&&Oe()},{root:ae.value,rootMargin:"80px",threshold:0}),E.observe(W.value))};return Et(W,()=>ye()),Dt(()=>{A(),Ke(),document.addEventListener("visibilitychange",_e),window.addEventListener("unhandledrejection",he),bt(()=>ye())}),qt(()=>{oe(),E==null||E.disconnect(),document.removeEventListener("visibilitychange",_e),window.removeEventListener("unhandledrejection",he)}),(e,t)=>{var Se,Ce,we,Ee,De;const n=Ye,o=Ze,i=et,D=tt,p=at,f=nt,ie=st,ke=Xe,le=It("perms");return u(),h("div",Rt,[s("div",Tt,[s("div",$t,[t[8]||(t[8]=s("h1",{class:"header-title"},"接诊台",-1)),s("div",Nt,S(a(Pe)),1)]),s("div",Vt,[s("div",Pt,[s("span",{class:J(["live-dot",{paused:a(V)}])},null,2),s("span",null,S(a(V)?"已暂停":`${a(P)}s 后刷新`),1)])])]),s("div",Lt,[d(o,{modelValue:a(C),"onUpdate:modelValue":t[0]||(t[0]=r=>re(C)?C.value=r:null),placeholder:"请输入患者姓名",clearable:"",size:"default",class:"search-input",onKeyup:ot(fe,["enter"]),onClear:fe},{prefix:m(()=>[d(n,null,{default:m(()=>[d(a(yt))]),_:1})]),_:1},8,["modelValue"]),s("div",Mt,[s("span",{class:J(["filter-tab",{active:a(_)===1}]),onClick:t[1]||(t[1]=r=>ve(1))},"待接诊 "+S(a(K))+" 人",3),t[9]||(t[9]=s("span",{class:"filter-sep"},"·",-1)),s("span",{class:J(["filter-tab",{active:a(_)===4}]),onClick:t[2]||(t[2]=r=>ve(4))},"已过号 "+S(a(Y))+" 人",3)])]),s("div",zt,[s("aside",At,[s("div",Ot,[s("div",Bt,[s("span",Ft,S(a(_)===1?"待接诊":"已过号"),1),s("span",Qt,S(a(F))+" 人",1)]),B((u(),h("div",{ref_key:"queueScrollRef",ref:ae,class:"queue-list"},[(u(!0),h(xe,null,xt(a(y),r=>(u(),h("div",{key:r.id,class:J(["queue-row",{active:a(c)===r.id,passed:r.status===4}]),onClick:be=>pe(r)},[s("div",jt,[s("div",Gt,[b(S(r.patient_name||"未命名")+" ",1),s("span",Wt,S(Me(r)),1),r.status===4?(u(),w(i,{key:0,size:"small",type:"warning",class:"ml-1"},{default:m(()=>[...t[10]||(t[10]=[b("已过号",-1)])]),_:1})):q("",!0)]),s("div",Ht,S(ze(r.appointment_time))+" · 医助 "+S(r.assistant_name||"—"),1)]),s("div",{class:"row-actions",onClick:t[3]||(t[3]=it(()=>{},["stop"]))},[d(D,{content:"通知医助(企业微信)",placement:"top"},{default:m(()=>[s("button",{class:"row-icon-btn notify",disabled:a(L)===r.id,onClick:be=>Qe(r)},[a(L)===r.id?(u(),w(n,{key:0,class:"is-loading"},{default:m(()=>[d(a(kt))]),_:1})):(u(),w(n,{key:1},{default:m(()=>[d(a(St))]),_:1}))],8,Jt)]),_:2},1024),d(D,{content:"发起通话",placement:"top"},{default:m(()=>[s("button",{class:"row-icon-btn call",onClick:be=>Fe(r)},[d(n,null,{default:m(()=>[d(a(Ct))]),_:1})],8,Kt)]),_:2},1024)])],10,Ut))),128)),a(y).length>0?(u(),h("div",{key:0,ref_key:"sentinelRef",ref:W,class:"scroll-sentinel"},[a(U)?(u(),h("span",Yt,"加载中…")):a(Q)?q("",!0):(u(),h("span",Zt,"— 已全部加载 —"))],512)):q("",!0),!a(j)&&a(y).length===0?(u(),w(p,{key:1,description:"暂无待接诊患者","image-size":64})):q("",!0)])),[[ke,a(j)&&a(y).length===0]])])]),B((u(),h("section",Xt,[a(c)?a(v)?(u(),h(xe,{key:1},[d(mt,{apt:a($),diag:a(k)},null,8,["apt","diag"]),d(pt,{apt:a($),diag:a(k)},null,8,["apt","diag"]),s("div",ta,[t[11]||(t[11]=s("div",{class:"card-title"},"医生备注 & 舌苔照片 & 检查报告",-1)),d(ct,{notes:a(Ve),"diagnosis-id":(Se=a(k))==null?void 0:Se.id,onRefresh:N},null,8,["notes","diagnosis-id"])]),s("div",aa,[t[12]||(t[12]=s("div",{class:"card-title"},"日常记录",-1)),d(vt,{"diagnosis-id":Number(((Ce=a(k))==null?void 0:Ce.id)??0),"patient-id":Number(((we=a(k))==null?void 0:we.patient_id)??0),age:((Ee=a(k))==null?void 0:Ee.age)??null,"patient-name":((De=a(k))==null?void 0:De.patient_name)||"","read-only":!0},null,8,["diagnosis-id","patient-id","age","patient-name"])])],64)):q("",!0):(u(),h("div",ea,[d(p,{description:"请从左侧选择一位待接诊患者"})]))])),[[ke,a(X)&&!a(v)]])]),d(lt,{name:"fade"},{default:m(()=>[a(c)&&a(v)?(u(),h("div",na,[B((u(),w(f,{class:"float-action note",size:"large",onClick:t[4]||(t[4]=r=>T.value=!0)},{default:m(()=>[...t[13]||(t[13]=[b(" 备注 ",-1)])]),_:1})),[[le,["doctor.appointment/addDoctorNote"]]]),B((u(),w(f,{class:"float-action edit",size:"large",onClick:Ue},{default:m(()=>[...t[14]||(t[14]=[b(" 编辑病历 ",-1)])]),_:1})),[[le,["tcm.diagnosis/edit"]]]),a($).status===1||a($).status===4?B((u(),w(f,{key:0,class:"float-action finish",size:"large",loading:a(ee),onClick:Ge},{default:m(()=>[...t[15]||(t[15]=[b(" 完成接诊 ",-1)])]),_:1},8,["loading"])),[[le,["doctor.appointment/complete"]]]):q("",!0)])):q("",!0)]),_:1}),d(ie,{modelValue:a(T),"onUpdate:modelValue":t[7]||(t[7]=r=>re(T)?T.value=r:null),title:"添加备注",width:"480px","append-to-body":""},{footer:m(()=>[d(f,{onClick:t[6]||(t[6]=r=>T.value=!1)},{default:m(()=>[...t[16]||(t[16]=[b("取消",-1)])]),_:1}),d(f,{type:"primary",loading:a(ne),onClick:We},{default:m(()=>[...t[17]||(t[17]=[b("保存",-1)])]),_:1},8,["loading"])]),default:m(()=>[d(o,{modelValue:a(z),"onUpdate:modelValue":t[5]||(t[5]=r=>re(z)?z.value=r:null),type:"textarea",rows:4,placeholder:"输入今日备注...",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1},8,["modelValue"]),(u(),w(Re(a($e)),{ref_key:"chatDialogRef",ref:ce},null,512)),(u(),w(Re(a(Ne)),{ref_key:"diagnosisEditRef",ref:me,onSuccess:je},null,544))])}}}),yn=_t(sa,[["__scopeId","data-v-2cfceb5b"]]);export{yn as default};
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-C83g_b3i.js","assets/element-plus-Bolc0EfP.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-B0jSCQ-G.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-CL62-hT2.css","assets/file-BwO4oT1W.js","assets/index-DiYdpaIG.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-B8eb0l7L.css","assets/patient-BQT9cOvr.js","assets/tcm-B_U8CrQ9.js","assets/@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js","assets/@tencentcloud/uikit-base-component-vue3-YgTqL4da.js","assets/@tencentcloud/uikit-base-component-vue3-BkrtIuVN.css","assets/tuikit-atomicx-vue3-Dln8Zi6e.js","assets/@tencentcloud/chat-uikit-engine-zx802ozq.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/@tencentcloud/tuiroom-engine-js-Br9swJyU.js","assets/rtc-detect-Chu-fZvE.js","assets/tcplayer.js-qpFBCYzN.js","assets/tuikit-atomicx-vue3-Qhi9ezz1.css","assets/@tencentcloud/chat-uikit-vue3-Cj2eB1Uk.css","assets/im-business-message-parse-QKjFLn3X.js","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/index-BqRj5hg7.css","assets/edit-ChNdxY1u.js","assets/perm-1ezFGXyy.js","assets/DailyMatrix-Dso5cnBC.js","assets/picker-D9fcgO3K.js","assets/index-JpA6TixL.js","assets/index-B3imPWFk.css","assets/index-HnXSQ-Mh.js","assets/index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js","assets/index-DPe01mMR.js","assets/index-D0f1Mn00.css","assets/index-DITSRXGV.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/index.vue_vue_type_script_setup_true_lang-Lcfr_gGB.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-B9wzYAB_.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-B-1Ze8K5.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-KPPC31vG.js","assets/RecordingPlaybackBlock-C7_D6R_w.js","assets/RecordingVideoPlayer-Dm4eRh1Y.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-BiEHAtVz.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-Eat0WsJx.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-DMQBS3f3.js","assets/doctor-DfXlpBtf.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-GmFM5VU5.js","assets/NoteTimeline-I2FSxX4s.css","assets/PatientOrderList-CORHHu7_.js","assets/PrescriptionOrderDetailDrawer-C5kLoPGO.js","assets/prescription-order-utils-JfPHOgCe.js","assets/PrescriptionOrderDetailDrawer-CvPY-EBw.css","assets/PatientOrderList-D8-uh2iu.css","assets/index-DCL6uid3.js","assets/index-Bqps7brS.js","assets/medicine-Cfn93t8t.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DVzcucvm.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]);
+import{_ as qe}from"./jspdf-BsthCvR5.js";import{d as Ye,C as Ze,L as Xe,T as et,r as tt,W as at,i as nt,V as st}from"./element-plus-Bolc0EfP.js";import{w as ot,s as it,T as lt}from"./@vue/runtime-dom-DDAG46FW.js";import{r as Ie,n as rt,a as ut,b as dt}from"./patient-BQT9cOvr.js";import ct from"./NoteTimeline-GmFM5VU5.js";import mt from"./PatientInfoCard-CpCIs-ZV.js";import pt from"./PatientCaseCard-Ba7OWUqq.js";import vt from"./DailyMatrix-Dso5cnBC.js";import{l as ft}from"./doctor-DfXlpBtf.js";import{Q as gt}from"./tcm-B_U8CrQ9.js";import{i as g,_ as _t}from"./index-DiYdpaIG.js";import{f as ht}from"./diag-display-DCz_VAqj.js";import{O as yt,l as kt,J as St,a8 as Ct}from"./@element-plus/icons-vue-B0jSCQ-G.js";import{f as wt,w as Et,b as Dt,n as bt,d as qt,as as It,ak as u,I as h,J as s,a as d,aN as m,aP as B,F as xe,ap as xt,O as b,G as w,H as q,at as Re,P as Te,A as H}from"./@vue/runtime-core-C6bnekPw.js";import{Q as S,o as J}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as re,n as l}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker-D9fcgO3K.js";import"./index-JpA6TixL.js";import"./index-HnXSQ-Mh.js";import"./index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import"./index-DPe01mMR.js";import"./index-DITSRXGV.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BwO4oT1W.js";import"./index.vue_vue_type_script_setup_true_lang-Lcfr_gGB.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"./perm-1ezFGXyy.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";import"./blood-thresholds-CJ1fqMjh.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./vue-echarts-BNtg2q_G.js";import"./resize-detector-G6vbKCU7.js";import"./DiagnosisTodoList-B9wzYAB_.js";const Rt={class:"reception-page"},Tt={class:"reception-header"},$t={class:"header-left"},Nt={class:"header-meta"},Vt={class:"header-right"},Pt={class:"live-pill"},Lt={class:"filter-shell"},Mt={class:"filter-tabs"},zt={class:"main-area"},At={class:"queue-col"},Ot={class:"queue-panel"},Bt={class:"queue-head"},Ft={class:"queue-title"},Qt={class:"queue-meta"},Ut=["onClick"],jt={class:"row-name"},Gt={class:"name-line"},Wt={class:"name-meta"},Ht={class:"time-line"},Jt=["disabled","onClick"],Kt=["onClick"],Yt={key:0},Zt={key:1,class:"no-more"},Xt={class:"sidebar"},ea={key:0,class:"placeholder-card"},ta={class:"card note-card"},aa={class:"card metric-card"},na={key:0,class:"float-bar"},ue=5e3,de=15,sa=wt({__name:"index",setup(oa){const $e=Te(()=>qe(()=>import("./index-C83g_b3i.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]))),Ne=Te(()=>qe(()=>import("./edit-ChNdxY1u.js"),__vite__mapDeps([65,1,2,3,4,5,6,7,8,9,10,11,12,13,14,43,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,66,67,68,69,70,71,72,73,74,75,76,15,77,78,79,80,53,54,55,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,61,98,99,100,101,102,103,104,42,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119]))),_=l(1),y=l([]),F=l(0),K=l(0),Y=l(0),Z=l(1),Q=l(!0),U=l(!1),j=l(!1),X=l(!1),c=l(null),v=l(null),ee=l(!1),C=l(""),V=l(!1),P=l(ue/1e3),L=l(null);let I=null,x=null,te=!1,M=!1,E=null,G=0,R=0;const ae=l(null),W=l(null),ce=l(),me=l(),T=l(!1),z=l(""),ne=l(!1),$=H(()=>{var e;return((e=v.value)==null?void 0:e.appointment)||{}}),k=H(()=>{var e;return((e=v.value)==null?void 0:e.diagnosis)||{}}),Ve=H(()=>{var e;return((e=v.value)==null?void 0:e.doctor_notes)||[]}),Pe=H(()=>{const e=new Date,t=["周日","周一","周二","周三","周四","周五","周六"][e.getDay()],n=o=>String(o).padStart(2,"0");return`${e.getFullYear()}-${n(e.getMonth()+1)}-${n(e.getDate())} ${t}`}),Le=()=>{const e=new Date,t=n=>String(n).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`},Me=e=>[ht(e.gender),e.age!=null?e.age+"岁":""].filter(n=>n&&n!=="—").join(" "),ze=e=>e?e.replace(/^(\d{2}:\d{2})(:\d{2})?$/,"$1"):"—",se=async(e,t,n)=>{const o=Le(),i=await dt({status:t??_.value,start_date:o,end_date:o,patient_name:(n??C.value)||void 0,page_no:e,page_size:de}),D=(i==null?void 0:i.lists)||(i==null?void 0:i.data)||[],p=Number((i==null?void 0:i.count)??(i==null?void 0:i.total)??0);return{list:D,count:p}},Ae=async(e,t,n)=>{const o=e===1?4:1;try{const{count:i}=await se(1,o,t||void 0);if(n!==G||_.value!==e||C.value!==t)return;o===1?K.value=i:Y.value=i}catch{}},A=async e=>{const t=(e==null?void 0:e.silent)===!0;if(t&&te)return;const n=++G,o=_.value,i=C.value,D=(e==null?void 0:e.autoSelect)??!t;te=!0,t||(j.value=!0);try{Z.value=1;const{list:p,count:f}=await se(1,o,i||void 0);if(n!==G||_.value!==o||C.value!==i)return;y.value=p,F.value=f||p.length,o===1?K.value=f:Y.value=f,Q.value=p.length>=de&&y.value.length<(f||0),Ae(o,i,n),c.value&&!p.some(ie=>ie.id===c.value)&&(c.value=null,v.value=null),!c.value&&D&&p.length>0&&await pe(p[0])}catch(p){t||console.error("加载队列失败:",p)}finally{n===G&&(j.value=!1,te=!1)}},Oe=async()=>{if(U.value||!Q.value)return;const e=_.value,t=C.value;U.value=!0;try{const n=Z.value+1,{list:o,count:i}=await se(n,e,t||void 0);if(_.value!==e||C.value!==t)return;const D=new Set(y.value.map(f=>f.id)),p=o.filter(f=>!D.has(f.id));y.value=[...y.value,...p],Z.value=n,F.value=i||F.value,Q.value=o.length>=de&&y.value.length<(i||0)}catch(n){console.error("加载更多失败:",n)}finally{U.value=!1}},Be=async()=>{if(!c.value||M)return;const e=c.value,t=++R;M=!0;try{const n=await Ie({id:e});if(t!==R||c.value!==e)return;v.value=n||v.value}catch{}finally{t===R&&(M=!1)}},pe=async e=>{if(c.value===e.id)return;const t=e.id,n=++R;c.value=e.id,v.value=null,X.value=!0,M=!0,O();try{const o=await Ie({id:t});if(n!==R||c.value!==t)return;v.value=o||null}catch(o){console.error("加载详情失败:",o),g.msgError("加载患者详情失败")}finally{n===R&&(X.value=!1,M=!1)}},ve=async e=>{_.value!==e&&(_.value=e,c.value=null,v.value=null,await A(),O())},fe=async()=>{c.value=null,v.value=null,await A(),O()},Fe=async e=>{var t;if(!e.patient_id){g.msgWarning("患者信息不完整");return}try{const n=await gt({patient_id:e.patient_id,diagnosis_id:e.diagnosis_id||e.id});(t=ce.value)==null||t.open({patientId:e.patient_id,patientName:e.patient_name,diagnosisId:e.diagnosis_id||e.id,signatureData:n})}catch(n){console.error("获取通话签名失败:",n),g.msgError((n==null?void 0:n.message)||"获取通话签名失败")}},Qe=async e=>{if(!L.value){L.value=e.id;try{await rt({id:e.id}),g.msgSuccess(`已通知医助 ${e.assistant_name||""}`),await N()}catch(t){g.msgError((t==null?void 0:t.message)||"通知失败")}finally{L.value=null}}},Ue=()=>{var e,t;(e=k.value)!=null&&e.patient_id&&((t=me.value)==null||t.open("edit",k.value.patient_id))},je=async()=>{await N()},N=async()=>{const e=c.value;await A({silent:!0,autoSelect:!1}),e&&c.value===e&&await Be(),O()},Ge=async()=>{var e;if((e=$.value)!=null&&e.id){try{await g.confirm("确认将该患者标记为「已完成接诊」?此操作不可撤销。")}catch{return}ee.value=!0;try{await ft({id:$.value.id}),g.msgSuccess("已完成接诊"),c.value=null,v.value=null,await A({autoSelect:!0}),O()}catch(t){g.msgError((t==null?void 0:t.message)||"操作失败")}finally{ee.value=!1}}},We=async()=>{var n;const e=(n=k.value)==null?void 0:n.id;if(!e){g.msgWarning("当前患者无诊单,无法添加备注");return}const t=z.value.trim();if(!t){g.msgWarning("请输入备注内容");return}ne.value=!0;try{await ut({diagnosis_id:e,content:t}),g.msgSuccess("备注保存成功"),z.value="",T.value=!1,await N()}catch(o){g.msgError((o==null?void 0:o.message)||"保存失败")}finally{ne.value=!1}},He=()=>{P.value=ue/1e3},Je=()=>{x&&clearInterval(x),He(),x=setInterval(()=>{V.value||(P.value>1?P.value-=1:P.value=1)},1e3)},ge=()=>{I&&clearTimeout(I),!V.value&&(Je(),I=setTimeout(async()=>{await N()},ue))},O=()=>{ge()},Ke=()=>{oe(),ge()},oe=()=>{I&&(clearTimeout(I),I=null),x&&(clearInterval(x),x=null)},_e=()=>{V.value=document.hidden,document.hidden?oe():N()},he=e=>{var n;const t=String(((n=e==null?void 0:e.reason)==null?void 0:n.message)||(e==null?void 0:e.reason)||"");/Receiving end does not exist|Could not establish connection/i.test(t)&&e.preventDefault()},ye=()=>{!W.value||!ae.value||(E==null||E.disconnect(),E=new IntersectionObserver(e=>{for(const t of e)t.isIntersecting&&Oe()},{root:ae.value,rootMargin:"80px",threshold:0}),E.observe(W.value))};return Et(W,()=>ye()),Dt(()=>{A(),Ke(),document.addEventListener("visibilitychange",_e),window.addEventListener("unhandledrejection",he),bt(()=>ye())}),qt(()=>{oe(),E==null||E.disconnect(),document.removeEventListener("visibilitychange",_e),window.removeEventListener("unhandledrejection",he)}),(e,t)=>{var Se,Ce,we,Ee,De;const n=Ye,o=Ze,i=et,D=tt,p=at,f=nt,ie=st,ke=Xe,le=It("perms");return u(),h("div",Rt,[s("div",Tt,[s("div",$t,[t[8]||(t[8]=s("h1",{class:"header-title"},"接诊台",-1)),s("div",Nt,S(a(Pe)),1)]),s("div",Vt,[s("div",Pt,[s("span",{class:J(["live-dot",{paused:a(V)}])},null,2),s("span",null,S(a(V)?"已暂停":`${a(P)}s 后刷新`),1)])])]),s("div",Lt,[d(o,{modelValue:a(C),"onUpdate:modelValue":t[0]||(t[0]=r=>re(C)?C.value=r:null),placeholder:"请输入患者姓名",clearable:"",size:"default",class:"search-input",onKeyup:ot(fe,["enter"]),onClear:fe},{prefix:m(()=>[d(n,null,{default:m(()=>[d(a(yt))]),_:1})]),_:1},8,["modelValue"]),s("div",Mt,[s("span",{class:J(["filter-tab",{active:a(_)===1}]),onClick:t[1]||(t[1]=r=>ve(1))},"待接诊 "+S(a(K))+" 人",3),t[9]||(t[9]=s("span",{class:"filter-sep"},"·",-1)),s("span",{class:J(["filter-tab",{active:a(_)===4}]),onClick:t[2]||(t[2]=r=>ve(4))},"已过号 "+S(a(Y))+" 人",3)])]),s("div",zt,[s("aside",At,[s("div",Ot,[s("div",Bt,[s("span",Ft,S(a(_)===1?"待接诊":"已过号"),1),s("span",Qt,S(a(F))+" 人",1)]),B((u(),h("div",{ref_key:"queueScrollRef",ref:ae,class:"queue-list"},[(u(!0),h(xe,null,xt(a(y),r=>(u(),h("div",{key:r.id,class:J(["queue-row",{active:a(c)===r.id,passed:r.status===4}]),onClick:be=>pe(r)},[s("div",jt,[s("div",Gt,[b(S(r.patient_name||"未命名")+" ",1),s("span",Wt,S(Me(r)),1),r.status===4?(u(),w(i,{key:0,size:"small",type:"warning",class:"ml-1"},{default:m(()=>[...t[10]||(t[10]=[b("已过号",-1)])]),_:1})):q("",!0)]),s("div",Ht,S(ze(r.appointment_time))+" · 医助 "+S(r.assistant_name||"—"),1)]),s("div",{class:"row-actions",onClick:t[3]||(t[3]=it(()=>{},["stop"]))},[d(D,{content:"通知医助(企业微信)",placement:"top"},{default:m(()=>[s("button",{class:"row-icon-btn notify",disabled:a(L)===r.id,onClick:be=>Qe(r)},[a(L)===r.id?(u(),w(n,{key:0,class:"is-loading"},{default:m(()=>[d(a(kt))]),_:1})):(u(),w(n,{key:1},{default:m(()=>[d(a(St))]),_:1}))],8,Jt)]),_:2},1024),d(D,{content:"发起通话",placement:"top"},{default:m(()=>[s("button",{class:"row-icon-btn call",onClick:be=>Fe(r)},[d(n,null,{default:m(()=>[d(a(Ct))]),_:1})],8,Kt)]),_:2},1024)])],10,Ut))),128)),a(y).length>0?(u(),h("div",{key:0,ref_key:"sentinelRef",ref:W,class:"scroll-sentinel"},[a(U)?(u(),h("span",Yt,"加载中…")):a(Q)?q("",!0):(u(),h("span",Zt,"— 已全部加载 —"))],512)):q("",!0),!a(j)&&a(y).length===0?(u(),w(p,{key:1,description:"暂无待接诊患者","image-size":64})):q("",!0)])),[[ke,a(j)&&a(y).length===0]])])]),B((u(),h("section",Xt,[a(c)?a(v)?(u(),h(xe,{key:1},[d(mt,{apt:a($),diag:a(k)},null,8,["apt","diag"]),d(pt,{apt:a($),diag:a(k)},null,8,["apt","diag"]),s("div",ta,[t[11]||(t[11]=s("div",{class:"card-title"},"医生备注 & 舌苔照片 & 检查报告",-1)),d(ct,{notes:a(Ve),"diagnosis-id":(Se=a(k))==null?void 0:Se.id,onRefresh:N},null,8,["notes","diagnosis-id"])]),s("div",aa,[t[12]||(t[12]=s("div",{class:"card-title"},"日常记录",-1)),d(vt,{"diagnosis-id":Number(((Ce=a(k))==null?void 0:Ce.id)??0),"patient-id":Number(((we=a(k))==null?void 0:we.patient_id)??0),age:((Ee=a(k))==null?void 0:Ee.age)??null,"patient-name":((De=a(k))==null?void 0:De.patient_name)||"","read-only":!0},null,8,["diagnosis-id","patient-id","age","patient-name"])])],64)):q("",!0):(u(),h("div",ea,[d(p,{description:"请从左侧选择一位待接诊患者"})]))])),[[ke,a(X)&&!a(v)]])]),d(lt,{name:"fade"},{default:m(()=>[a(c)&&a(v)?(u(),h("div",na,[B((u(),w(f,{class:"float-action note",size:"large",onClick:t[4]||(t[4]=r=>T.value=!0)},{default:m(()=>[...t[13]||(t[13]=[b(" 备注 ",-1)])]),_:1})),[[le,["doctor.appointment/addDoctorNote"]]]),B((u(),w(f,{class:"float-action edit",size:"large",onClick:Ue},{default:m(()=>[...t[14]||(t[14]=[b(" 编辑病历 ",-1)])]),_:1})),[[le,["tcm.diagnosis/edit"]]]),a($).status===1||a($).status===4?B((u(),w(f,{key:0,class:"float-action finish",size:"large",loading:a(ee),onClick:Ge},{default:m(()=>[...t[15]||(t[15]=[b(" 完成接诊 ",-1)])]),_:1},8,["loading"])),[[le,["doctor.appointment/complete"]]]):q("",!0)])):q("",!0)]),_:1}),d(ie,{modelValue:a(T),"onUpdate:modelValue":t[7]||(t[7]=r=>re(T)?T.value=r:null),title:"添加备注",width:"480px","append-to-body":""},{footer:m(()=>[d(f,{onClick:t[6]||(t[6]=r=>T.value=!1)},{default:m(()=>[...t[16]||(t[16]=[b("取消",-1)])]),_:1}),d(f,{type:"primary",loading:a(ne),onClick:We},{default:m(()=>[...t[17]||(t[17]=[b("保存",-1)])]),_:1},8,["loading"])]),default:m(()=>[d(o,{modelValue:a(z),"onUpdate:modelValue":t[5]||(t[5]=r=>re(z)?z.value=r:null),type:"textarea",rows:4,placeholder:"输入今日备注...",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1},8,["modelValue"]),(u(),w(Re(a($e)),{ref_key:"chatDialogRef",ref:ce},null,512)),(u(),w(Re(a(Ne)),{ref_key:"diagnosisEditRef",ref:me,onSuccess:je},null,544))])}}}),yn=_t(sa,[["__scopeId","data-v-2cfceb5b"]]);export{yn as default};
diff --git a/server/public/admin/assets/index-L56aoc9j.js b/server/public/admin/assets/index-BlD0P1wk.js
similarity index 94%
rename from server/public/admin/assets/index-L56aoc9j.js
rename to server/public/admin/assets/index-BlD0P1wk.js
index 7e079e87..58b24d35 100644
--- a/server/public/admin/assets/index-L56aoc9j.js
+++ b/server/public/admin/assets/index-BlD0P1wk.js
@@ -1 +1 @@
-import{D as z,B as A,C as G,P as H,Q as M,i as Q,J as W,M as X,N as Y,T as Z,L as ee}from"./element-plus-Bolc0EfP.js";import{_ as te}from"./index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import{c as oe,k as le,i as ae}from"./index-CzSP4TPL.js";import{w as P}from"./@vue/runtime-dom-DDAG46FW.js";import{f as ne,i as ie}from"./dict-BorqwjB7.js";import{u as se}from"./usePaging-VsbTxSU0.js";import{_ as re}from"./edit.vue_vue_type_script_setup_true_lang-DycdNvBB.js";import{f as R,ar as me,as as de,ak as n,I as $,a as t,aN as o,O as s,J as V,aP as u,G as d,H as pe,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as ue,q as ce,n as N,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-B0jSCQ-G.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-DWEeyCDR.js";const fe={class:"dict-type"},ye={class:"mt-4"},ve={class:"flex justify-end mt-4"},ge=R({name:"dictType"}),rt=R({...ge,setup(ke){const y=ce(),v=N(!1),r=_e({name:"",type:"",status:""}),{pager:c,getLists:g,resetPage:b,resetParams:K}=se({fetchFun:ne,params:r}),C=N([]),S=i=>{C.value=i.map(({id:e})=>e)},F=async()=>{var i;v.value=!0,await B(),(i=y.value)==null||i.open("add")},I=async i=>{var e,_;v.value=!0,await B(),(e=y.value)==null||e.open("edit"),(_=y.value)==null||_.setFormData(i)},E=async i=>{await ae.confirm("确定要删除?"),await ie({id:i}),g()};return g(),(i,e)=>{const _=G,k=A,w=M,L=H,p=Q,U=z,x=W,D=oe,m=Y,T=Z,q=me("router-link"),J=X,O=te,f=de("perms"),h=ee;return n(),$("div",fe,[t(x,{class:"!border-none",shadow:"never"},{default:o(()=>[t(U,{ref:"formRef",class:"mb-[-16px]",model:l(r),inline:""},{default:o(()=>[t(k,{class:"w-[280px]",label:"字典名称"},{default:o(()=>[t(_,{modelValue:l(r).name,"onUpdate:modelValue":e[0]||(e[0]=a=>l(r).name=a),clearable:"",onKeyup:P(l(b),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"字典类型"},{default:o(()=>[t(_,{modelValue:l(r).type,"onUpdate:modelValue":e[1]||(e[1]=a=>l(r).type=a),clearable:"",onKeyup:P(l(b),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"状态"},{default:o(()=>[t(L,{modelValue:l(r).status,"onUpdate:modelValue":e[2]||(e[2]=a=>l(r).status=a)},{default:o(()=>[t(w,{label:"全部",value:""}),t(w,{label:"正常",value:1}),t(w,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(k,null,{default:o(()=>[t(p,{type:"primary",onClick:l(b)},{default:o(()=>[...e[6]||(e[6]=[s("查询",-1)])]),_:1},8,["onClick"]),t(p,{onClick:l(K)},{default:o(()=>[...e[7]||(e[7]=[s("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(x,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[V("div",null,[u((n(),d(p,{type:"primary",onClick:F},{icon:o(()=>[t(D,{name:"el-icon-Plus"})]),default:o(()=>[e[8]||(e[8]=s(" 新增 ",-1))]),_:1})),[[f,["setting.dict.dict_type/add"]]]),u((n(),d(p,{disabled:!l(C).length,type:"danger",onClick:e[3]||(e[3]=a=>E(l(C)))},{icon:o(()=>[t(D,{name:"el-icon-Delete"})]),default:o(()=>[e[9]||(e[9]=s(" 删除 ",-1))]),_:1},8,["disabled"])),[[f,["setting.dict.dict_type/delete"]]])]),u((n(),$("div",ye,[V("div",null,[t(J,{data:l(c).lists,size:"large",onSelectionChange:S},{default:o(()=>[t(m,{type:"selection",width:"55"}),t(m,{label:"ID",prop:"id"}),t(m,{label:"字典名称",prop:"name","min-width":"120"}),t(m,{label:"字典类型",prop:"type","min-width":"120"}),t(m,{label:"状态"},{default:o(({row:a})=>[a.status==1?(n(),d(T,{key:0},{default:o(()=>[...e[10]||(e[10]=[s("正常",-1)])]),_:1})):(n(),d(T,{key:1,type:"danger"},{default:o(()=>[...e[11]||(e[11]=[s("停用",-1)])]),_:1}))]),_:1}),t(m,{label:"备注",prop:"remark","show-tooltip-when-overflow":""}),t(m,{label:"创建时间",prop:"create_time","min-width":"180"}),t(m,{label:"操作",width:"190",fixed:"right"},{default:o(({row:a})=>[u((n(),d(p,{link:"",type:"primary",onClick:j=>I(a)},{default:o(()=>[...e[12]||(e[12]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/edit"]]]),u((n(),d(p,{type:"primary",link:""},{default:o(()=>[t(q,{to:{path:l(le)("setting.dict.dict_data/lists"),query:{id:a.id}}},{default:o(()=>[...e[13]||(e[13]=[s(" 数据管理 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[f,["setting.dict.dict_data/lists"]]]),u((n(),d(p,{link:"",type:"danger",onClick:j=>E(a.id)},{default:o(()=>[...e[14]||(e[14]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",ve,[t(O,{modelValue:l(c),"onUpdate:modelValue":e[4]||(e[4]=a=>ue(c)?c.value=a:null),onChange:l(g)},null,8,["modelValue","onChange"])])])),[[h,l(c).loading]])]),_:1}),l(v)?(n(),d(re,{key:0,ref_key:"editRef",ref:y,onSuccess:l(g),onClose:e[5]||(e[5]=a=>v.value=!1)},null,8,["onSuccess"])):pe("",!0)])}}});export{rt as default};
+import{D as z,B as A,C as G,P as H,Q as M,i as Q,J as W,M as X,N as Y,T as Z,L as ee}from"./element-plus-Bolc0EfP.js";import{_ as te}from"./index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import{c as oe,k as le,i as ae}from"./index-DiYdpaIG.js";import{w as P}from"./@vue/runtime-dom-DDAG46FW.js";import{f as ne,i as ie}from"./dict-D9DhEIzs.js";import{u as se}from"./usePaging-VsbTxSU0.js";import{_ as re}from"./edit.vue_vue_type_script_setup_true_lang-DnXzP6Nu.js";import{f as R,ar as me,as as de,ak as n,I as $,a as t,aN as o,O as s,J as V,aP as u,G as d,H as pe,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as ue,q as ce,n as N,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-B0jSCQ-G.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-JpA6TixL.js";const fe={class:"dict-type"},ye={class:"mt-4"},ve={class:"flex justify-end mt-4"},ge=R({name:"dictType"}),rt=R({...ge,setup(ke){const y=ce(),v=N(!1),r=_e({name:"",type:"",status:""}),{pager:c,getLists:g,resetPage:b,resetParams:K}=se({fetchFun:ne,params:r}),C=N([]),S=i=>{C.value=i.map(({id:e})=>e)},F=async()=>{var i;v.value=!0,await B(),(i=y.value)==null||i.open("add")},I=async i=>{var e,_;v.value=!0,await B(),(e=y.value)==null||e.open("edit"),(_=y.value)==null||_.setFormData(i)},E=async i=>{await ae.confirm("确定要删除?"),await ie({id:i}),g()};return g(),(i,e)=>{const _=G,k=A,w=M,L=H,p=Q,U=z,x=W,D=oe,m=Y,T=Z,q=me("router-link"),J=X,O=te,f=de("perms"),h=ee;return n(),$("div",fe,[t(x,{class:"!border-none",shadow:"never"},{default:o(()=>[t(U,{ref:"formRef",class:"mb-[-16px]",model:l(r),inline:""},{default:o(()=>[t(k,{class:"w-[280px]",label:"字典名称"},{default:o(()=>[t(_,{modelValue:l(r).name,"onUpdate:modelValue":e[0]||(e[0]=a=>l(r).name=a),clearable:"",onKeyup:P(l(b),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"字典类型"},{default:o(()=>[t(_,{modelValue:l(r).type,"onUpdate:modelValue":e[1]||(e[1]=a=>l(r).type=a),clearable:"",onKeyup:P(l(b),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"状态"},{default:o(()=>[t(L,{modelValue:l(r).status,"onUpdate:modelValue":e[2]||(e[2]=a=>l(r).status=a)},{default:o(()=>[t(w,{label:"全部",value:""}),t(w,{label:"正常",value:1}),t(w,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(k,null,{default:o(()=>[t(p,{type:"primary",onClick:l(b)},{default:o(()=>[...e[6]||(e[6]=[s("查询",-1)])]),_:1},8,["onClick"]),t(p,{onClick:l(K)},{default:o(()=>[...e[7]||(e[7]=[s("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(x,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[V("div",null,[u((n(),d(p,{type:"primary",onClick:F},{icon:o(()=>[t(D,{name:"el-icon-Plus"})]),default:o(()=>[e[8]||(e[8]=s(" 新增 ",-1))]),_:1})),[[f,["setting.dict.dict_type/add"]]]),u((n(),d(p,{disabled:!l(C).length,type:"danger",onClick:e[3]||(e[3]=a=>E(l(C)))},{icon:o(()=>[t(D,{name:"el-icon-Delete"})]),default:o(()=>[e[9]||(e[9]=s(" 删除 ",-1))]),_:1},8,["disabled"])),[[f,["setting.dict.dict_type/delete"]]])]),u((n(),$("div",ye,[V("div",null,[t(J,{data:l(c).lists,size:"large",onSelectionChange:S},{default:o(()=>[t(m,{type:"selection",width:"55"}),t(m,{label:"ID",prop:"id"}),t(m,{label:"字典名称",prop:"name","min-width":"120"}),t(m,{label:"字典类型",prop:"type","min-width":"120"}),t(m,{label:"状态"},{default:o(({row:a})=>[a.status==1?(n(),d(T,{key:0},{default:o(()=>[...e[10]||(e[10]=[s("正常",-1)])]),_:1})):(n(),d(T,{key:1,type:"danger"},{default:o(()=>[...e[11]||(e[11]=[s("停用",-1)])]),_:1}))]),_:1}),t(m,{label:"备注",prop:"remark","show-tooltip-when-overflow":""}),t(m,{label:"创建时间",prop:"create_time","min-width":"180"}),t(m,{label:"操作",width:"190",fixed:"right"},{default:o(({row:a})=>[u((n(),d(p,{link:"",type:"primary",onClick:j=>I(a)},{default:o(()=>[...e[12]||(e[12]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/edit"]]]),u((n(),d(p,{type:"primary",link:""},{default:o(()=>[t(q,{to:{path:l(le)("setting.dict.dict_data/lists"),query:{id:a.id}}},{default:o(()=>[...e[13]||(e[13]=[s(" 数据管理 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[f,["setting.dict.dict_data/lists"]]]),u((n(),d(p,{link:"",type:"danger",onClick:j=>E(a.id)},{default:o(()=>[...e[14]||(e[14]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",ve,[t(O,{modelValue:l(c),"onUpdate:modelValue":e[4]||(e[4]=a=>ue(c)?c.value=a:null),onChange:l(g)},null,8,["modelValue","onChange"])])])),[[h,l(c).loading]])]),_:1}),l(v)?(n(),d(re,{key:0,ref_key:"editRef",ref:y,onSuccess:l(g),onClose:e[5]||(e[5]=a=>v.value=!1)},null,8,["onSuccess"])):pe("",!0)])}}});export{rt as default};
diff --git a/server/public/admin/assets/index-Pb72-1vG.js b/server/public/admin/assets/index-Bqps7brS.js
similarity index 91%
rename from server/public/admin/assets/index-Pb72-1vG.js
rename to server/public/admin/assets/index-Bqps7brS.js
index 66984d6b..03627061 100644
--- a/server/public/admin/assets/index-Pb72-1vG.js
+++ b/server/public/admin/assets/index-Bqps7brS.js
@@ -1 +1 @@
-import{Q as V,P as b}from"./element-plus-Bolc0EfP.js";import{m as k}from"./medicine-Cpa7L0_Z.js";import{f as w,w as x,ak as l,I as d,G as u,aN as B,F as C,ap as E}from"./@vue/runtime-core-C6bnekPw.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import{y as p,n as f}from"./@vue/reactivity-DiY1c2vO.js";import{_ as M}from"./index-CzSP4TPL.js";const S={key:0,class:"medicine-name-readonly"},F=w({__name:"index",props:{modelValue:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(o,{emit:v}){const i=o,_=v,n=f(!1),a=f([]);function m(){const e=(i.modelValue||"").trim();e&&(a.value.some(t=>t.name===e)||(a.value=[{id:0,name:e},...a.value]))}const c=async e=>{n.value=!0;try{const t=(e||"").trim(),s=await k({name:t||void 0,page_no:1,page_size:100,status:1});a.value=s.lists||[],m()}catch(t){console.error(t),a.value=[]}finally{n.value=!1}},y=e=>{e&&a.value.length===0&&c("")},h=e=>{_("update:modelValue",e||"")};return x(()=>i.modelValue,()=>{m()},{immediate:!0}),(e,t)=>{const s=V,g=b;return o.disabled?(l(),d("span",S,I(o.modelValue||"—"),1)):(l(),u(g,{key:1,"model-value":o.modelValue,class:"medicine-name-select w-full",filterable:"",remote:"","reserve-keyword":"",placeholder:"搜索药材名称或拼音首字母","remote-method":c,loading:p(n),clearable:"",onVisibleChange:y,"onUpdate:modelValue":h},{default:B(()=>[(l(!0),d(C,null,E(p(a),r=>(l(),u(s,{key:r.id,label:r.name,value:r.name},null,8,["label","value"]))),128))]),_:1},8,["model-value","loading"]))}}}),z=M(F,[["__scopeId","data-v-01d726b0"]]);export{z as M};
+import{Q as V,P as b}from"./element-plus-Bolc0EfP.js";import{m as k}from"./medicine-Cfn93t8t.js";import{f as w,w as x,ak as l,I as d,G as u,aN as B,F as C,ap as E}from"./@vue/runtime-core-C6bnekPw.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import{y as p,n as f}from"./@vue/reactivity-DiY1c2vO.js";import{_ as M}from"./index-DiYdpaIG.js";const S={key:0,class:"medicine-name-readonly"},F=w({__name:"index",props:{modelValue:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(o,{emit:v}){const i=o,_=v,n=f(!1),a=f([]);function m(){const e=(i.modelValue||"").trim();e&&(a.value.some(t=>t.name===e)||(a.value=[{id:0,name:e},...a.value]))}const c=async e=>{n.value=!0;try{const t=(e||"").trim(),s=await k({name:t||void 0,page_no:1,page_size:100,status:1});a.value=s.lists||[],m()}catch(t){console.error(t),a.value=[]}finally{n.value=!1}},y=e=>{e&&a.value.length===0&&c("")},h=e=>{_("update:modelValue",e||"")};return x(()=>i.modelValue,()=>{m()},{immediate:!0}),(e,t)=>{const s=V,g=b;return o.disabled?(l(),d("span",S,I(o.modelValue||"—"),1)):(l(),u(g,{key:1,"model-value":o.modelValue,class:"medicine-name-select w-full",filterable:"",remote:"","reserve-keyword":"",placeholder:"搜索药材名称或拼音首字母","remote-method":c,loading:p(n),clearable:"",onVisibleChange:y,"onUpdate:modelValue":h},{default:B(()=>[(l(!0),d(C,null,E(p(a),r=>(l(),u(s,{key:r.id,label:r.name,value:r.name},null,8,["label","value"]))),128))]),_:1},8,["model-value","loading"]))}}}),z=M(F,[["__scopeId","data-v-01d726b0"]]);export{z as M};
diff --git a/server/public/admin/assets/index-BTgqGLdn.js b/server/public/admin/assets/index-BsCLmumC.js
similarity index 94%
rename from server/public/admin/assets/index-BTgqGLdn.js
rename to server/public/admin/assets/index-BsCLmumC.js
index 62980d26..49a3ba26 100644
--- a/server/public/admin/assets/index-BTgqGLdn.js
+++ b/server/public/admin/assets/index-BsCLmumC.js
@@ -1 +1 @@
-import{D as A,B as H,C as O,i as Q,J as W,L as X,M as Y,N as Z,p as ee,n as te,o as oe}from"./element-plus-Bolc0EfP.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import{c as ae,k as le,i as x}from"./index-CzSP4TPL.js";import{w as B}from"./@vue/runtime-dom-DDAG46FW.js";import{b as re,c as se,d as ie,e as me,s as de}from"./code-Dvgv9m87.js";import{u as pe}from"./usePaging-VsbTxSU0.js";import{_ as ue}from"./code-preview.vue_vue_type_script_setup_true_lang-CWICztaf.js";import{_ as _e}from"./data-table.vue_vue_type_script_setup_true_lang-C7wQBGsf.js";import{f as S,ar as ce,as as fe,ak as r,I as b,a as t,aN as o,O as i,aP as m,G as p,J as w,H as ge}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as ye,r as N,n as be}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-B0jSCQ-G.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-DWEeyCDR.js";const we={class:"code-generation"},ke={class:"flex"},ve={class:"mt-4"},Ce={class:"flex items-center"},Ve={class:"flex justify-end mt-4"},xe=S({name:"codeGenerate"}),ft=S({...xe,setup(Ee){const u=N({table_name:"",table_comment:""}),_=N({show:!1,loading:!1,code:[]}),{pager:f,getLists:y,resetParams:T,resetPage:k}=pe({fetchFun:re,params:u}),g=be([]),I=a=>{g.value=a.map(({id:e})=>e)},K=async a=>{await x.confirm("确定要同步表结构?"),await de({id:a})},E=async a=>{await x.confirm("确定要删除?"),await se({id:a}),y()},G=async a=>{const e=await ie({id:a});_.code=e,_.show=!0},U=a=>a.some(e=>e.generate_type==1),D=async a=>{if(U(a))return x.msgError("生成方式为生成到模块,请在前端开发模式下使用,详细参考文档");const e=await me({id:a});e.file&&window.open(e.file,"_blank")},F=(a,e)=>{switch(a){case"generate":D([e.id]);break;case"sync":K(e.id);break;case"delete":E(e.id)}};return y(),(a,e)=>{const P=O,v=H,s=Q,L=A,$=W,C=ae,c=Z,M=ce("router-link"),V=oe,z=te,J=ee,R=Y,j=ne,d=fe("perms"),q=X;return r(),b("div",we,[t($,{class:"!border-none",shadow:"never"},{default:o(()=>[t(L,{class:"mb-[-16px]",model:n(u),inline:""},{default:o(()=>[t(v,{class:"w-[280px]",label:"表名称"},{default:o(()=>[t(P,{modelValue:n(u).table_name,"onUpdate:modelValue":e[0]||(e[0]=l=>n(u).table_name=l),clearable:"",onKeyup:B(n(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(v,{class:"w-[280px]",label:"表描述"},{default:o(()=>[t(P,{modelValue:n(u).table_comment,"onUpdate:modelValue":e[1]||(e[1]=l=>n(u).table_comment=l),clearable:"",onKeyup:B(n(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(v,null,{default:o(()=>[t(s,{type:"primary",onClick:n(k)},{default:o(()=>[...e[6]||(e[6]=[i("查询",-1)])]),_:1},8,["onClick"]),t(s,{onClick:n(T)},{default:o(()=>[...e[7]||(e[7]=[i("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),m((r(),p($,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[w("div",ke,[m((r(),p(_e,{class:"inline-block mr-[10px]",onSuccess:n(y)},{default:o(()=>[t(s,{type:"primary"},{icon:o(()=>[t(C,{name:"el-icon-Plus"})]),default:o(()=>[e[8]||(e[8]=i(" 导入数据表 ",-1))]),_:1})]),_:1},8,["onSuccess"])),[[d,["tools.generator/selectTable"]]]),m((r(),p(s,{disabled:!n(g).length,onClick:e[2]||(e[2]=l=>E(n(g))),type:"danger"},{icon:o(()=>[t(C,{name:"el-icon-Delete"})]),default:o(()=>[e[9]||(e[9]=i(" 删除 ",-1))]),_:1},8,["disabled"])),[[d,["tools.generator/delete"]]]),m((r(),p(s,{disabled:!n(g).length,onClick:e[3]||(e[3]=l=>D(n(g)))},{default:o(()=>[...e[10]||(e[10]=[i(" 生成代码 ",-1)])]),_:1},8,["disabled"])),[[d,["tools.generator/generate"]]])]),w("div",ve,[t(R,{data:n(f).lists,size:"large",onSelectionChange:I},{default:o(()=>[t(c,{type:"selection",width:"55"}),t(c,{label:"表名称",prop:"table_name","min-width":"180"}),t(c,{label:"表描述",prop:"table_comment","min-width":"180"}),t(c,{label:"创建时间",prop:"create_time","min-width":"180"}),t(c,{label:"更新时间",prop:"update_time","min-width":"180"}),t(c,{label:"操作",width:"160",fixed:"right"},{default:o(({row:l})=>[w("div",Ce,[m((r(),p(s,{type:"primary",link:"",onClick:h=>G(l.id)},{default:o(()=>[...e[11]||(e[11]=[i(" 预览 ",-1)])]),_:1},8,["onClick"])),[[d,["tools.generator/preview"]]]),t(s,{type:"primary",link:""},{default:o(()=>[m((r(),p(M,{to:{path:n(le)("tools.generator/edit"),query:{id:l.id}}},{default:o(()=>[...e[12]||(e[12]=[i(" 编辑 ",-1)])]),_:1},8,["to"])),[[d,["tools.generator/edit"]]])]),_:2},1024),m((r(),p(J,{class:"ml-2",onCommand:h=>F(h,l)},{dropdown:o(()=>[t(z,null,{default:o(()=>[m((r(),b("div",null,[t(V,{command:"generate"},{default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[...e[14]||(e[14]=[i(" 生成代码 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/generate"]]]),m((r(),b("div",null,[t(V,{command:"sync"},{default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[...e[15]||(e[15]=[i(" 同步 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/syncColumn"]]]),m((r(),b("div",null,[t(V,{command:"delete"},{default:o(()=>[t(s,{type:"danger",link:""},{default:o(()=>[...e[16]||(e[16]=[i(" 删除 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/delete"]]])]),_:1})]),default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[e[13]||(e[13]=i(" 更多 ",-1)),t(C,{name:"el-icon-ArrowDown",size:14})]),_:1})]),_:1},8,["onCommand"])),[[d,["tools.generator/generate","tools.generator/syncColumn","tools.generator/delete"]]])])]),_:1})]),_:1},8,["data"])]),w("div",Ve,[t(j,{modelValue:n(f),"onUpdate:modelValue":e[4]||(e[4]=l=>ye(f)?f.value=l:null),onChange:n(y)},null,8,["modelValue","onChange"])])]),_:1})),[[q,n(f).loading]]),n(_).show?(r(),p(ue,{key:0,modelValue:n(_).show,"onUpdate:modelValue":e[5]||(e[5]=l=>n(_).show=l),code:n(_).code},null,8,["modelValue","code"])):ge("",!0)])}}});export{ft as default};
+import{D as A,B as H,C as O,i as Q,J as W,L as X,M as Y,N as Z,p as ee,n as te,o as oe}from"./element-plus-Bolc0EfP.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import{c as ae,k as le,i as x}from"./index-DiYdpaIG.js";import{w as B}from"./@vue/runtime-dom-DDAG46FW.js";import{b as re,c as se,d as ie,e as me,s as de}from"./code-CfHONNaG.js";import{u as pe}from"./usePaging-VsbTxSU0.js";import{_ as ue}from"./code-preview.vue_vue_type_script_setup_true_lang-CYOTUiqA.js";import{_ as _e}from"./data-table.vue_vue_type_script_setup_true_lang-Ggj-uZGp.js";import{f as S,ar as ce,as as fe,ak as r,I as b,a as t,aN as o,O as i,aP as m,G as p,J as w,H as ge}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as ye,r as N,n as be}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-B0jSCQ-G.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-JpA6TixL.js";const we={class:"code-generation"},ke={class:"flex"},ve={class:"mt-4"},Ce={class:"flex items-center"},Ve={class:"flex justify-end mt-4"},xe=S({name:"codeGenerate"}),ft=S({...xe,setup(Ee){const u=N({table_name:"",table_comment:""}),_=N({show:!1,loading:!1,code:[]}),{pager:f,getLists:y,resetParams:T,resetPage:k}=pe({fetchFun:re,params:u}),g=be([]),I=a=>{g.value=a.map(({id:e})=>e)},K=async a=>{await x.confirm("确定要同步表结构?"),await de({id:a})},E=async a=>{await x.confirm("确定要删除?"),await se({id:a}),y()},G=async a=>{const e=await ie({id:a});_.code=e,_.show=!0},U=a=>a.some(e=>e.generate_type==1),D=async a=>{if(U(a))return x.msgError("生成方式为生成到模块,请在前端开发模式下使用,详细参考文档");const e=await me({id:a});e.file&&window.open(e.file,"_blank")},F=(a,e)=>{switch(a){case"generate":D([e.id]);break;case"sync":K(e.id);break;case"delete":E(e.id)}};return y(),(a,e)=>{const P=O,v=H,s=Q,L=A,$=W,C=ae,c=Z,M=ce("router-link"),V=oe,z=te,J=ee,R=Y,j=ne,d=fe("perms"),q=X;return r(),b("div",we,[t($,{class:"!border-none",shadow:"never"},{default:o(()=>[t(L,{class:"mb-[-16px]",model:n(u),inline:""},{default:o(()=>[t(v,{class:"w-[280px]",label:"表名称"},{default:o(()=>[t(P,{modelValue:n(u).table_name,"onUpdate:modelValue":e[0]||(e[0]=l=>n(u).table_name=l),clearable:"",onKeyup:B(n(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(v,{class:"w-[280px]",label:"表描述"},{default:o(()=>[t(P,{modelValue:n(u).table_comment,"onUpdate:modelValue":e[1]||(e[1]=l=>n(u).table_comment=l),clearable:"",onKeyup:B(n(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(v,null,{default:o(()=>[t(s,{type:"primary",onClick:n(k)},{default:o(()=>[...e[6]||(e[6]=[i("查询",-1)])]),_:1},8,["onClick"]),t(s,{onClick:n(T)},{default:o(()=>[...e[7]||(e[7]=[i("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),m((r(),p($,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[w("div",ke,[m((r(),p(_e,{class:"inline-block mr-[10px]",onSuccess:n(y)},{default:o(()=>[t(s,{type:"primary"},{icon:o(()=>[t(C,{name:"el-icon-Plus"})]),default:o(()=>[e[8]||(e[8]=i(" 导入数据表 ",-1))]),_:1})]),_:1},8,["onSuccess"])),[[d,["tools.generator/selectTable"]]]),m((r(),p(s,{disabled:!n(g).length,onClick:e[2]||(e[2]=l=>E(n(g))),type:"danger"},{icon:o(()=>[t(C,{name:"el-icon-Delete"})]),default:o(()=>[e[9]||(e[9]=i(" 删除 ",-1))]),_:1},8,["disabled"])),[[d,["tools.generator/delete"]]]),m((r(),p(s,{disabled:!n(g).length,onClick:e[3]||(e[3]=l=>D(n(g)))},{default:o(()=>[...e[10]||(e[10]=[i(" 生成代码 ",-1)])]),_:1},8,["disabled"])),[[d,["tools.generator/generate"]]])]),w("div",ve,[t(R,{data:n(f).lists,size:"large",onSelectionChange:I},{default:o(()=>[t(c,{type:"selection",width:"55"}),t(c,{label:"表名称",prop:"table_name","min-width":"180"}),t(c,{label:"表描述",prop:"table_comment","min-width":"180"}),t(c,{label:"创建时间",prop:"create_time","min-width":"180"}),t(c,{label:"更新时间",prop:"update_time","min-width":"180"}),t(c,{label:"操作",width:"160",fixed:"right"},{default:o(({row:l})=>[w("div",Ce,[m((r(),p(s,{type:"primary",link:"",onClick:h=>G(l.id)},{default:o(()=>[...e[11]||(e[11]=[i(" 预览 ",-1)])]),_:1},8,["onClick"])),[[d,["tools.generator/preview"]]]),t(s,{type:"primary",link:""},{default:o(()=>[m((r(),p(M,{to:{path:n(le)("tools.generator/edit"),query:{id:l.id}}},{default:o(()=>[...e[12]||(e[12]=[i(" 编辑 ",-1)])]),_:1},8,["to"])),[[d,["tools.generator/edit"]]])]),_:2},1024),m((r(),p(J,{class:"ml-2",onCommand:h=>F(h,l)},{dropdown:o(()=>[t(z,null,{default:o(()=>[m((r(),b("div",null,[t(V,{command:"generate"},{default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[...e[14]||(e[14]=[i(" 生成代码 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/generate"]]]),m((r(),b("div",null,[t(V,{command:"sync"},{default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[...e[15]||(e[15]=[i(" 同步 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/syncColumn"]]]),m((r(),b("div",null,[t(V,{command:"delete"},{default:o(()=>[t(s,{type:"danger",link:""},{default:o(()=>[...e[16]||(e[16]=[i(" 删除 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/delete"]]])]),_:1})]),default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[e[13]||(e[13]=i(" 更多 ",-1)),t(C,{name:"el-icon-ArrowDown",size:14})]),_:1})]),_:1},8,["onCommand"])),[[d,["tools.generator/generate","tools.generator/syncColumn","tools.generator/delete"]]])])]),_:1})]),_:1},8,["data"])]),w("div",Ve,[t(j,{modelValue:n(f),"onUpdate:modelValue":e[4]||(e[4]=l=>ye(f)?f.value=l:null),onChange:n(y)},null,8,["modelValue","onChange"])])]),_:1})),[[q,n(f).loading]]),n(_).show?(r(),p(ue,{key:0,modelValue:n(_).show,"onUpdate:modelValue":e[5]||(e[5]=l=>n(_).show=l),code:n(_).code},null,8,["modelValue","code"])):ge("",!0)])}}});export{ft as default};
diff --git a/server/public/admin/assets/index-Cj_gN9of.js b/server/public/admin/assets/index-C83g_b3i.js
similarity index 99%
rename from server/public/admin/assets/index-Cj_gN9of.js
rename to server/public/admin/assets/index-C83g_b3i.js
index 9d5f38fc..ad688f22 100644
--- a/server/public/admin/assets/index-Cj_gN9of.js
+++ b/server/public/admin/assets/index-C83g_b3i.js
@@ -1 +1 @@
-var en=Object.defineProperty;var nn=(i,n,a)=>n in i?en(i,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[n]=a;var L=(i,n,a)=>nn(i,typeof n!="symbol"?n+"":n,a);import{d as on,i as an,r as sn,K as rn}from"./element-plus-Bolc0EfP.js";import{q as Pt,s as dt}from"./@vue/runtime-dom-DDAG46FW.js";import{c as ue,ai as ln,aj as cn,l as un,ak as dn,al as fn}from"./@element-plus/icons-vue-B0jSCQ-G.js";import{u as mn,l as hn}from"./file-DA0zt1Rz.js";import{a as pn}from"./patient-B-TtpnKl.js";import{Q as Vt,ae as gn,aA as vn,aB as yn,aC as _n}from"./tcm-B2eDN42y.js";import{_ as we,u as wn,i as M}from"./index-CzSP4TPL.js";import{E as Sn}from"./@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js";import{p as Cn}from"./im-business-message-parse-QKjFLn3X.js";import{g as Tn,G as En,C as An,M as In,a as kn,O as bn,E as Rn,N as Mn,S as Ln,A as Dn,b as xn}from"./tuikit-atomicx-vue3-Dln8Zi6e.js";import{f as Se,aB as Un,ak as R,I as H,H as B,J as A,G as F,ab as Pn,A as q,b as Vn,d as Hn,w as Nn,aP as Ht,a as S,aN as b,O as On,T as Kn,n as Nt}from"./@vue/runtime-core-C6bnekPw.js";import{Q as G,p as de,o as $n}from"./@vue/shared-mAAVTE9n.js";import{y as E,n as y}from"./@vue/reactivity-DiY1c2vO.js";import{T as Z}from"./@tencentcloud/chat-AC2Y2r2A.js";import{X as fe}from"./@tencentcloud/chat-uikit-engine-zx802ozq.js";import{u as zn,F as x,z as Bn,g as $,a as z,l as N}from"./@tencentcloud/call-uikit-vue-DB7vt9Ht.js";import{c as ft}from"./@tencentcloud/call-engine-js-BX2W9Lhf.js";import{D as jn}from"./@tencentcloud/uikit-base-component-vue3-YgTqL4da.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"./@tencentcloud/tui-core-8M7p1XHw.js";import"./tim-upload-plugin-HO4N4AW9.js";import"./tim-profanity-filter-plugin-Dn_Cf-mP.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./@tencentcloud/tuiroom-engine-js-Br9swJyU.js";import"./rtc-detect-Chu-fZvE.js";import"./tcplayer.js-qpFBCYzN.js";function Wn(){const i=["video/webm;codecs=vp9,opus","video/webm;codecs=vp8,opus","video/webm;codecs=vp9","video/webm;codecs=vp8","video/webm"];for(const n of i)if(MediaRecorder.isTypeSupported(n))return n;return""}function Fn(){const i=window;return i.AudioContext||i.webkitAudioContext||null}function me(i,n,a,s,r,u){const f=n.videoWidth||n.clientWidth||1,d=n.videoHeight||n.clientHeight||1,p=Math.max(r/f,u/d),c=f*p,m=d*p,_=a+(r-c)/2,D=s+(u-m)/2;try{i.drawImage(n,_,D,c,m)}catch{}}function qn(i,n,a,s){i.fillStyle="#0b0b0b",i.fillRect(0,0,a,s);const r=n.filter(c=>c.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA);if(r.length===0)return;if(r.length===1){me(i,r[0],0,0,a,s);return}const u=Math.ceil(Math.sqrt(r.length)),f=Math.ceil(r.length/u),d=a/u,p=s/f;r.forEach((c,m)=>{const _=m%u,D=Math.floor(m/u);me(i,c,_*d,D*p,d,p)})}function Gn(i){const n=new Set,a=[];for(const s of i){const r=s.srcObject;if(r instanceof MediaStream)for(const u of r.getAudioTracks())u.kind!=="audio"||u.readyState==="ended"||!u.enabled||n.has(u.id)||(n.add(u.id),a.push(u))}return a}function Xn(i){var s;const n=new Set,a=[];for(const r of i){if(r.readyState
${t.marker}${t.seriesName}: ¥${Number(t.value).toFixed(2)}`}},grid:{left:60,right:24,top:36,bottom:36},xAxis:{type:"category",data:r.chart.dates,axisLabel:{interval:r.chart.dates.length>15?"auto":0,rotate:r.chart.dates.length>10?30:0}},yAxis:{type:"value",name:"金额(元)",axisLabel:{formatter:e=>e>=1e4?(e/1e4).toFixed(1)+"万":String(e)}},series:[{name:"业绩",type:"line",smooth:!0,showSymbol:!0,symbolSize:6,lineStyle:{width:3,color:"#4a78ff"},itemStyle:{color:"#4a78ff"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(74, 120, 255, 0.25)"},{offset:1,color:"rgba(74, 120, 255, 0.02)"}]}},data:r.chart.amounts}]})),N=(e,t)=>{var c;const n=((c=r.summary)==null?void 0:c[e])??0;return t==="money"?`¥${Number(n).toFixed(2)}`:String(n)},d=async()=>{_.value=!0;try{const e={time_type:i.time_type};i.time_type==="custom"&&(e.start_date=l.value[0]||"",e.end_date=l.value[1]||"");const t=await j(e);Object.assign(r,t||{})}catch(e){console.error("获取业绩数据失败:",e),J.error((e==null?void 0:e.msg)||"获取业绩数据失败")}finally{_.value=!1}},B=()=>{i.time_type!=="custom"&&(l.value=[],d())},$=()=>{var e;((e=l.value)==null?void 0:e.length)===2&&d()},R=()=>{i.time_type="month",l.value=[],d()};return q(()=>{d()}),(e,t)=>{const n=A,c=z,f=Y,P=G,b=H,M=T,h=I,O=L;return u(),k("div",tt,[o(h,{class:"!border-none",shadow:"never"},{default:a(()=>[o(M,{inline:!0,class:"stats-filter-form"},{default:a(()=>[o(f,{label:"时间范围"},{default:a(()=>[o(c,{modelValue:i.time_type,"onUpdate:modelValue":t[0]||(t[0]=s=>i.time_type=s),onChange:B},{default:a(()=>[o(n,{label:"today"},{default:a(()=>[...t[2]||(t[2]=[m("今天",-1)])]),_:1}),o(n,{label:"yesterday"},{default:a(()=>[...t[3]||(t[3]=[m("昨天",-1)])]),_:1}),o(n,{label:"week"},{default:a(()=>[...t[4]||(t[4]=[m("最近7天",-1)])]),_:1}),o(n,{label:"month"},{default:a(()=>[...t[5]||(t[5]=[m("最近30天",-1)])]),_:1}),o(n,{label:"custom"},{default:a(()=>[...t[6]||(t[6]=[m("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i.time_type==="custom"?(u(),y(f,{key:0},{default:a(()=>[o(P,{modelValue:l.value,"onUpdate:modelValue":t[1]||(t[1]=s=>l.value=s),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"260px"},onChange:$},null,8,["modelValue"])]),_:1})):Q("",!0),o(f,null,{default:a(()=>[o(b,{type:"primary",loading:_.value,onClick:d},{default:a(()=>[...t[7]||(t[7]=[m("查询",-1)])]),_:1},8,["loading"]),o(b,{onClick:R},{default:a(()=>[...t[8]||(t[8]=[m("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),p("div",et,[(u(),k(W,null,K(w,s=>p("div",{key:s.key,class:x(["stats-kpi-card",s.cardClass])},[p("div",at,v(s.label),1),p("div",{class:x(["stats-kpi-value",{"is-money":s.type==="money"}])},v(N(s.key,s.type)),3)],2)),64))]),o(h,{class:"!border-none mt-4",shadow:"never"},{header:a(()=>[p("div",ot,[t[9]||(t[9]=p("span",{class:"card-title"},"业绩趋势",-1)),p("span",rt,v(S.value)+" · 履约完成业绩",1)])]),default:a(()=>[D.value?(u(),y(X(U),{key:0,class:"stats-chart",option:F.value,autoresize:""},null,8,["option"])):(u(),y(O,{key:1,description:"暂无数据"}))]),_:1})])}}}),qt=Z(nt,[["__scopeId","data-v-297158c8"]]);export{qt as default};
+import{D as T,B as Y,G as z,F as A,R as G,i as H,J as I,W as L,E as J}from"./element-plus-Bolc0EfP.js";import{H as U}from"./vue-echarts-BNtg2q_G.js";import{r as j}from"./stats-DusALmU7.js";import{f as V,b as q,ak as u,I as k,a as o,aN as a,O as m,G as y,H as Q,J as p,F as W,ap as K,A as g}from"./@vue/runtime-core-C6bnekPw.js";import{o as x,Q as v}from"./@vue/shared-mAAVTE9n.js";import{y as X,n as C,r as E}from"./@vue/reactivity-DiY1c2vO.js";import{_ as Z}from"./index-DiYdpaIG.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-B0jSCQ-G.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 tt={class:"assistant-performance-page"},et={class:"stats-kpi-grid"},at={class:"stats-kpi-label"},ot={class:"card-header"},rt={class:"card-hint"},st=V({name:"assistantPerformancePage"}),nt=V({...st,setup(lt){const _=C(!1),l=C([]),i=E({time_type:"month",start_date:"",end_date:""}),r=E({date_range:[],summary:{total_amount:0,total_count:0},chart:{dates:[],amounts:[],counts:[]}}),w=[{key:"total_amount",label:"业绩",type:"money",cardClass:""},{key:"total_count",label:"有效订单数",type:"count",cardClass:""}],S=g(()=>{var e;return(e=r.date_range)!=null&&e.length?`${r.date_range[0]} 至 ${r.date_range[1]}`:"未选择"}),D=g(()=>r.chart.dates.length>0&&r.chart.amounts.some(e=>e>0)),F=g(()=>({tooltip:{trigger:"axis",formatter:e=>{const t=e[0];return`${t.axisValue}
${t.marker}${t.seriesName}: ¥${Number(t.value).toFixed(2)}`}},grid:{left:60,right:24,top:36,bottom:36},xAxis:{type:"category",data:r.chart.dates,axisLabel:{interval:r.chart.dates.length>15?"auto":0,rotate:r.chart.dates.length>10?30:0}},yAxis:{type:"value",name:"金额(元)",axisLabel:{formatter:e=>e>=1e4?(e/1e4).toFixed(1)+"万":String(e)}},series:[{name:"业绩",type:"line",smooth:!0,showSymbol:!0,symbolSize:6,lineStyle:{width:3,color:"#4a78ff"},itemStyle:{color:"#4a78ff"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(74, 120, 255, 0.25)"},{offset:1,color:"rgba(74, 120, 255, 0.02)"}]}},data:r.chart.amounts}]})),N=(e,t)=>{var c;const n=((c=r.summary)==null?void 0:c[e])??0;return t==="money"?`¥${Number(n).toFixed(2)}`:String(n)},d=async()=>{_.value=!0;try{const e={time_type:i.time_type};i.time_type==="custom"&&(e.start_date=l.value[0]||"",e.end_date=l.value[1]||"");const t=await j(e);Object.assign(r,t||{})}catch(e){console.error("获取业绩数据失败:",e),J.error((e==null?void 0:e.msg)||"获取业绩数据失败")}finally{_.value=!1}},B=()=>{i.time_type!=="custom"&&(l.value=[],d())},$=()=>{var e;((e=l.value)==null?void 0:e.length)===2&&d()},R=()=>{i.time_type="month",l.value=[],d()};return q(()=>{d()}),(e,t)=>{const n=A,c=z,f=Y,P=G,b=H,M=T,h=I,O=L;return u(),k("div",tt,[o(h,{class:"!border-none",shadow:"never"},{default:a(()=>[o(M,{inline:!0,class:"stats-filter-form"},{default:a(()=>[o(f,{label:"时间范围"},{default:a(()=>[o(c,{modelValue:i.time_type,"onUpdate:modelValue":t[0]||(t[0]=s=>i.time_type=s),onChange:B},{default:a(()=>[o(n,{label:"today"},{default:a(()=>[...t[2]||(t[2]=[m("今天",-1)])]),_:1}),o(n,{label:"yesterday"},{default:a(()=>[...t[3]||(t[3]=[m("昨天",-1)])]),_:1}),o(n,{label:"week"},{default:a(()=>[...t[4]||(t[4]=[m("最近7天",-1)])]),_:1}),o(n,{label:"month"},{default:a(()=>[...t[5]||(t[5]=[m("最近30天",-1)])]),_:1}),o(n,{label:"custom"},{default:a(()=>[...t[6]||(t[6]=[m("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i.time_type==="custom"?(u(),y(f,{key:0},{default:a(()=>[o(P,{modelValue:l.value,"onUpdate:modelValue":t[1]||(t[1]=s=>l.value=s),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"260px"},onChange:$},null,8,["modelValue"])]),_:1})):Q("",!0),o(f,null,{default:a(()=>[o(b,{type:"primary",loading:_.value,onClick:d},{default:a(()=>[...t[7]||(t[7]=[m("查询",-1)])]),_:1},8,["loading"]),o(b,{onClick:R},{default:a(()=>[...t[8]||(t[8]=[m("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),p("div",et,[(u(),k(W,null,K(w,s=>p("div",{key:s.key,class:x(["stats-kpi-card",s.cardClass])},[p("div",at,v(s.label),1),p("div",{class:x(["stats-kpi-value",{"is-money":s.type==="money"}])},v(N(s.key,s.type)),3)],2)),64))]),o(h,{class:"!border-none mt-4",shadow:"never"},{header:a(()=>[p("div",ot,[t[9]||(t[9]=p("span",{class:"card-title"},"业绩趋势",-1)),p("span",rt,v(S.value)+" · 履约完成业绩",1)])]),default:a(()=>[D.value?(u(),y(X(U),{key:0,class:"stats-chart",option:F.value,autoresize:""},null,8,["option"])):(u(),y(O,{key:1,description:"暂无数据"}))]),_:1})])}}}),qt=Z(nt,[["__scopeId","data-v-297158c8"]]);export{qt as default};
diff --git a/server/public/admin/assets/index-DZo3h3zy.js b/server/public/admin/assets/index-U1-cLQe1.js
similarity index 87%
rename from server/public/admin/assets/index-DZo3h3zy.js
rename to server/public/admin/assets/index-U1-cLQe1.js
index be6b9949..01594135 100644
--- a/server/public/admin/assets/index-DZo3h3zy.js
+++ b/server/public/admin/assets/index-U1-cLQe1.js
@@ -1 +1 @@
-import{m as c,l as f,J as u}from"./element-plus-Bolc0EfP.js";import{a as y}from"./index-BL6dsbzE.js";import{f as i,ak as m,I as a,a as o,aN as p,F as b,ap as x}from"./@vue/runtime-core-C6bnekPw.js";import{a as g,y as v,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{_ as E}from"./index-CzSP4TPL.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-B0jSCQ-G.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.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import"./index-C5CUkFFb.js";import"./index-DWEeyCDR.js";import"./index-8GEGc2Yz.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DA0zt1Rz.js";import"./index.vue_vue_type_script_setup_true_lang-Lcfr_gGB.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.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 V={class:"material-index"},z=i({name:"material"}),C=i({...z,setup(T){const n=[{type:"image",name:"图片"},{type:"video",name:"视频"},{type:"file",name:"文件"}],e=k("image");return(h,r)=>{const s=y,l=f,_=c,d=u;return m(),a("div",V,[o(d,{class:"!border-none",shadow:"never"},{default:p(()=>[o(_,{modelValue:v(e),"onUpdate:modelValue":r[0]||(r[0]=t=>g(e)?e.value=t:null)},{default:p(()=>[(m(),a(b,null,x(n,t=>o(l,{label:t.name,name:t.type,index:t.type,key:t.type,lazy:""},{default:p(()=>[o(s,{type:t.type,mode:"page","file-size":"120px",limit:-1,"page-size":20},null,8,["type"])]),_:2},1032,["label","name","index"])),64))]),_:1},8,["modelValue"])]),_:1})])}}}),vt=E(C,[["__scopeId","data-v-01f37926"]]);export{vt as default};
+import{m as c,l as f,J as u}from"./element-plus-Bolc0EfP.js";import{a as y}from"./index-HnXSQ-Mh.js";import{f as i,ak as m,I as a,a as o,aN as p,F as b,ap as x}from"./@vue/runtime-core-C6bnekPw.js";import{a as g,y as v,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{_ as E}from"./index-DiYdpaIG.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-B0jSCQ-G.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.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import"./index-DPe01mMR.js";import"./index-JpA6TixL.js";import"./index-DITSRXGV.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BwO4oT1W.js";import"./index.vue_vue_type_script_setup_true_lang-Lcfr_gGB.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.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 V={class:"material-index"},z=i({name:"material"}),C=i({...z,setup(T){const n=[{type:"image",name:"图片"},{type:"video",name:"视频"},{type:"file",name:"文件"}],e=k("image");return(h,r)=>{const s=y,l=f,_=c,d=u;return m(),a("div",V,[o(d,{class:"!border-none",shadow:"never"},{default:p(()=>[o(_,{modelValue:v(e),"onUpdate:modelValue":r[0]||(r[0]=t=>g(e)?e.value=t:null)},{default:p(()=>[(m(),a(b,null,x(n,t=>o(l,{label:t.name,name:t.type,index:t.type,key:t.type,lazy:""},{default:p(()=>[o(s,{type:t.type,mode:"page","file-size":"120px",limit:-1,"page-size":20},null,8,["type"])]),_:2},1032,["label","name","index"])),64))]),_:1},8,["modelValue"])]),_:1})])}}}),vt=E(C,[["__scopeId","data-v-01f37926"]]);export{vt as default};
diff --git a/server/public/admin/assets/index-B8M25Aam.js b/server/public/admin/assets/index-WmW6zhOP.js
similarity index 99%
rename from server/public/admin/assets/index-B8M25Aam.js
rename to server/public/admin/assets/index-WmW6zhOP.js
index 7b210dc6..685b2b61 100644
--- a/server/public/admin/assets/index-B8M25Aam.js
+++ b/server/public/admin/assets/index-WmW6zhOP.js
@@ -1 +1 @@
-import{D as Ht,B as Xt,C as Zt,P as el,Q as tl,i as ll,J as al,m as ol,l as nl,M as sl,N as rl,T as dl,L as il,a6 as ul,a7 as pl,Y as ml,U as fl,V as yl,R as _l,K as cl,G as vl,I as gl,g as bl,h as kl,d as xl}from"./element-plus-Bolc0EfP.js";import{_ as Vl}from"./index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import{_ as wl}from"./index.vue_vue_type_script_setup_true_lang-CmT7udlZ.js";import{_ as Cl}from"./index.vue_vue_type_script_setup_true_lang-zwvapztR.js";import{w as dt,s as it}from"./@vue/runtime-dom-DDAG46FW.js";import{u as Tl}from"./usePaging-VsbTxSU0.js";import{o as Sl,a as Dl,b as Pl,c as El,d as Ul,e as $l,s as ut,f as hl,g as Al,h as Ll,i as Ol,j as Ml,k as Rl,l as ql,m as pt,n as zl,w as Fl,p as Nl,q as Il,r as Wl,t as Bl}from"./order-wP7yM0V1.js";import{P as Yl,h as jl}from"./tcm-B2eDN42y.js";import{l as Ql}from"./@element-plus/icons-vue-B0jSCQ-G.js";import{i as v,_ as Gl}from"./index-CzSP4TPL.js";import{f as mt,b as Kl,as as Jl,ak as d,I as V,a as t,aN as a,F as R,ap as ne,G as _,O as s,aP as T,J as g,H as b,A as Be}from"./@vue/runtime-core-C6bnekPw.js";import{n as p,y as o,a as S,r as Ye}from"./@vue/reactivity-DiY1c2vO.js";import{Q as f}from"./@vue/shared-mAAVTE9n.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"./index-DWEeyCDR.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 Hl={class:"order-list"},Xl={class:"flex items-center justify-between mb-4"},Zl={class:"flex items-center gap-4 text-sm"},ea={class:"text-red-500 font-semibold text-lg"},ta={class:"text-gray-400"},la={class:"mb-3 flex items-center gap-3"},aa={key:0,class:"text-sm text-gray-500"},oa={key:0},na={key:1,class:"text-amber-600"},sa={class:"text-xs text-gray-400"},ra={key:0,class:"text-xs text-gray-400"},da={class:"text-red-500 font-semibold"},ia={class:"flex justify-end mt-4"},ua={class:"text-red-500 font-semibold"},pa={key:2,class:"text-xs text-gray-500 mb-2"},ma={key:4,class:"flex justify-end mt-3"},fa={key:0,class:"text-xs text-gray-500 mb-3"},ya={class:"text-sm text-gray-600 mb-3"},_a={class:"text-red-500 font-semibold"},ca={class:"text-red-500 font-semibold"},va={class:"text-sm text-gray-600 mb-3"},ga={class:"font-mono"},ba={class:"text-red-500 font-semibold"},ka={class:"space-y-2 mb-3 max-h-[320px] overflow-y-auto pr-1"},xa={class:"text-sm text-gray-500 w-14 shrink-0"},Va={class:"flex flex-col items-center justify-center py-4"},wa={key:0,class:"text-center"},Ca={key:1,class:"text-center"},Ta=["src"],Sa={class:"mt-4 text-sm text-gray-600"},Da={key:2,class:"text-center text-gray-500"},Pa=mt({name:"orderList"}),Ea=mt({...Pa,setup(Ua){const w=Ye({order_no:"",patient_keyword:"",assistant_id:void 0,order_type:"",status:"",patient_association:"",create_time_start:"",create_time_end:""}),se=p([]),je=p(null),Qe=p([]),F=Be(()=>Qe.value.map(n=>n.id).filter(n=>n>0)),N=p(!1),xe=p(!1),X=Ye({assistant_id:void 0}),re=p(""),de=p({amount:"0.00",count:0}),{pager:I,getLists:D,resetPage:Ge,resetParams:ft}=Tl({fetchFun:Sl,params:w}),yt=n=>{Qe.value=n||[]},_t=()=>{if(!F.value.length){v.msgWarning("请先勾选要指派的支付单");return}X.assistant_id=void 0,N.value=!0},ct=async()=>{var n;if(X.assistant_id==null){v.msgWarning("请选择医助");return}xe.value=!0;try{await Pl({order_ids:[...F.value],assistant_id:X.assistant_id}),v.msgSuccess("指派成功"),N.value=!1,(n=je.value)==null||n.clearSelection(),D(),W()}catch(e){e!=null&&e.msg&&v.msgError(e.msg)}finally{xe.value=!1}},Ve=()=>{Ge()},vt=n=>{w.patient_association=n||"",Ge()},W=async()=>{try{const n=await El();de.value=(n==null?void 0:n.data)||n||{amount:"0.00",count:0}}catch{de.value={amount:"0.00",count:0}}},gt=()=>{re.value="",ft()},ie=p(!1),k=p(null),we=p(0),Ce=p(!1),Te=p([]),Se=p(0),B=p(1),ue=p(10),pe=p(!1),me=p(!1),De=p([]),M=p(null),Z=p(""),Pe=async()=>{if(we.value){Ce.value=!0;try{const n=await Ul({order_id:we.value,page_no:B.value,page_size:ue.value});Te.value=(n==null?void 0:n.lists)||[],Se.value=(n==null?void 0:n.count)??0}catch{Te.value=[],Se.value=0}finally{Ce.value=!1}}},bt=()=>{B.value=1,Pe()},kt=()=>{M.value=null,Ke()},Ke=async()=>{me.value=!0;try{const n={};M.value&&M.value.length===2&&(n.start_time=M.value[0],n.end_time=M.value[1]);const e=await $l(Object.keys(n).length?n:void 0);De.value=(e==null?void 0:e.list)||[],e!=null&&e.start_time&&(e!=null&&e.end_time)?Z.value=`${e.start_time} ~ ${e.end_time}`:Z.value=""}catch{De.value=[],Z.value=""}finally{me.value=!1}},q=p(!1),fe=p(!1),y=p({order_id:0,order_no:"",amount:0,fubeiPendingAudit:!1,payment_method:"alipay",payType:"supplement",supplement_order_no:""}),z=p(!1),Ee=p(),Ue=p(!1),$e=p(!1),he=p([]),m=Ye({createType:"normal",requirePaymentSlipAudit:!1,patient_id:"",order_type:"",amount:0,remark:""}),xt={patient_id:[{required:!0,message:"请选择患者",trigger:"change"}],order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},Y=p(!1),Je=p(),Ae=p(!1),Le=p(!1),ee=p([]),A=p(null),Vt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}]},wt=async n=>{if(!n){he.value=[];return}try{$e.value=!0;const e=await ut({keyword:n,page_no:1,page_size:10});he.value=(e==null?void 0:e.lists)||[]}catch(e){console.error("搜索患者失败:",e)}finally{$e.value=!1}},He=()=>{var n;m.createType="normal",m.requirePaymentSlipAudit=!1,m.patient_id="",m.order_type="",m.amount=0,m.remark="",(n=Ee.value)==null||n.clearValidate()},Ct=()=>{He(),z.value=!0},j=p(!1),ye=p(!1),Oe=p(!1),_e=p(""),Q=p([new Date(Date.now()-7*864e5).toISOString().slice(0,10),new Date().toISOString().slice(0,10)]),Tt=[{text:"最近7天",value:()=>{const n=new Date,e=new Date;return e.setTime(e.getTime()-7*864e5),[e,n]}},{text:"最近30天",value:()=>{const n=new Date,e=new Date;return e.setTime(e.getTime()-30*864e5),[e,n]}},{text:"今天",value:()=>{const n=new Date;return[n,n]}}],St=()=>{Q.value=[new Date(Date.now()-7*864e5).toISOString().slice(0,10),new Date().toISOString().slice(0,10)],j.value=!0},Dt=async()=>{var e;const n=Q.value;if(!n||n.length!==2){v.msgError("请先选择时间范围");return}try{Oe.value=!0;const u=await hl({begin_time:n[0],end_time:n[1],payee_userid:_e.value||void 0}),r=(u==null?void 0:u.data)||u;let i=`配置:${r.config_ok?"✓":"✗"} | token:${r.access_token} | errcode:${r.api_errcode} | errmsg:${r.api_errmsg||"-"} | 账单数:${r.bill_count}`;(e=r.try_payee_userids)!=null&&e.length&&(i+=`。可尝试收款人: ${r.try_payee_userids.join(", ")}`),r.api_errcode!==0&&r.api_errcode!==-999&&(i+="。提示:需使用「对外收款」应用的Secret(管理后台-应用管理-对外收款-API)"),v.msgSuccess(i),console.log("企业微信同步调试:",r)}catch(u){v.msgError((u==null?void 0:u.message)||"排查失败")}finally{Oe.value=!1}},Pt=async()=>{var e;const n=Q.value;if(!n||n.length!==2){v.msgError("请选择时间范围");return}try{ye.value=!0;const u=await Al({begin_time:n[0],end_time:n[1]}),r=(u==null?void 0:u.data)||u;j.value=!1,D();const i=`同步完成:新增 ${r.created||0} 笔,更新 ${r.updated||0} 笔,跳过 ${r.skipped||0} 笔`+((e=r.errors)!=null&&e.length?`;错误:${r.errors.join(";")}`:"");v.msgSuccess(i),W()}catch(u){v.msgError((u==null?void 0:u.message)||"同步失败")}finally{ye.value=!1}},Et=async()=>{var n,e;try{if(await((n=Ee.value)==null?void 0:n.validate()),Ue.value=!0,m.createType==="wechat_work"){const u={patient_id:m.patient_id,order_type:m.order_type,amount:m.amount,remark:m.remark,create_type:"wechat_work"},r=await Ll(u),i=(r==null?void 0:r.order_no)??((e=r==null?void 0:r.data)==null?void 0:e.order_no);z.value=!1,D(),v.msgSuccess(i?`订单创建成功,请在企业微信收款时使用订单号:${i}`:"订单创建成功")}else{const u={patient_id:m.patient_id,order_type:m.order_type,amount:m.amount,remark:m.remark,create_type:m.createType};m.createType==="fubei"?(u.payment_channel="fubei",u.require_payment_slip_audit=m.requirePaymentSlipAudit?1:0):m.createType==="express_cod"?(u.payment_channel="express_cod",u.require_payment_slip_audit=m.requirePaymentSlipAudit?1:0):(u.payment_channel="normal",u.require_payment_slip_audit=0),await Ol(u);const r=(m.createType==="fubei"||m.createType==="express_cod")&&m.requirePaymentSlipAudit?"订单已创建,支付状态为「待审核」":"订单创建成功";v.msgSuccess(r),z.value=!1,D()}}catch(u){console.error("创建订单失败:",u)}finally{Ue.value=!1}},Xe=n=>({1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"})[n]||"未知",Ze=n=>({1:"success",2:"info",3:"warning"})[n]||"info",et=n=>({1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"})[n]||"未知",tt=n=>({1:"warning",2:"success",3:"info",4:"danger",5:"warning"})[n]||"info",lt=n=>n?{alipay:"支付宝",wechat:"微信",wechat_work:"企业微信",fubei:"付呗",manual:"手动确认"}[n]||"未知":"-",at=n=>{const e={normal:"普通订单",wechat_work:"企业微信对外收款",fubei:"付呗",express_cod:"快递代收"},u=n==null?void 0:n.create_type;return u==="wechat_work"||u==="fubei"||u==="express_cod"?e[u]:u==="normal"&&(n!=null&&n.payment_method)?lt(n.payment_method):u&&e[u]?e[u]:lt(n==null?void 0:n.payment_method)},Ut=n=>{A.value={id:n.id,patient_id:n.patient_id||null,order_type:n.order_type},ee.value=n.patient?[n.patient]:[],Y.value=!0},$t=async n=>{if(!n){ee.value=[];return}try{Le.value=!0;const e=await ut({keyword:n,page_no:1,page_size:10});ee.value=(e==null?void 0:e.lists)||[]}catch{ee.value=[]}finally{Le.value=!1}},ht=async()=>{var n;if(A.value)try{await((n=Je.value)==null?void 0:n.validate()),Ae.value=!0,await Ml({id:A.value.id,patient_id:A.value.patient_id??0,order_type:A.value.order_type}),v.msgSuccess("保存成功"),Y.value=!1,D(),W()}catch(e){e!=null&&e.message&&v.msgError(e.message)}finally{Ae.value=!1}},G=p(!1),$=p(null),K=p(2),J=p([]),te=p([]),Me=p(!1),ot=()=>{if(!$.value)return;const n=Number($.value.amount),e=Math.max(2,Math.min(20,Math.floor(Number(K.value)||2)));K.value=e;const u=Math.round(n*100),r=Math.floor(u/e),i=u%e,E=[];for(let H=0;H{var t;return((t=G.value)==null?void 0:t.detail)??null}),Sl=w(()=>{var e;const t=(e=$.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),Ua=w(()=>`${m.dose_unit||"剂"}数`),Me=g(!1),qt=g(!1),mt=g(),me=fe({id:0,amount:void 0}),Nl={amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(t,e,s)=>{const i=Number(e);if(!Number.isFinite(i)||i<0){s(new Error("订单金额不能为负数"));return}s()},trigger:"blur"}]},Ce=g(null),_t=g(!1),je=w(()=>Br(Ce.value)),qe=g(!1),Bt=g(!1),Gt=g(),ne=fe({patient_name:"",phone:""}),Cl={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function Pl(){const t=Sl.value,e=$.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){N.msgWarning("无处方数据");return}ne.patient_name=String(t.patient_name??"").trim(),ne.phone=String(t.phone??"").trim(),qe.value=!0,rt(()=>{var s;return(s=Gt.value)==null?void 0:s.clearValidate()})}function Ol(){ne.patient_name="",ne.phone=""}function Al(){var t;me.id=0,me.amount=void 0,(t=mt.value)==null||t.clearValidate()}function Rl(){const t=$.value;if(!xs(t)){N.msgWarning("当前订单状态不允许修改金额");return}me.id=Number(t==null?void 0:t.id)||0;const e=Number(t==null?void 0:t.amount);me.amount=Number.isFinite(e)?e:void 0,Me.value=!0,rt(()=>{var s;return(s=mt.value)==null?void 0:s.clearValidate()})}async function Ht(){var t;await((t=G.value)==null?void 0:t.refresh())}async function Tl(){var s;const t=Gt.value;if(!t)return;try{await t.validate()}catch{return}const e=(s=$.value)==null?void 0:s.id;if(e){Bt.value=!0;try{await ai({id:e,patient_name:ne.patient_name.trim(),phone:ne.phone.trim()}),qe.value=!1,await Ht()}catch(i){console.error(i)}finally{Bt.value=!1}}}async function Ia(){const t=mt.value;if(!t)return;try{await t.validate()}catch{return}if(!xs($.value)){N.msgWarning("当前订单状态不允许修改金额");return}const e=me.id;qt.value=!0;try{await si({id:e,amount:Number(me.amount)}),N.msgSuccess("修改成功"),Me.value=!1,await Ht(),I()}catch{}finally{qt.value=!1}}async function $l(t){var e;await((e=G.value)==null?void 0:e.open(t))}const ke=g(!1),Wt=g(!1),Kt=g(!1),L=g(0),re=g(null),ie=g(!1),ft=g(""),El=w(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][L.value]??""),La=w(()=>{const t=re.value,e=Gr(t==null?void 0:t.herbs);if(!e.length)return"暂无药材明细";const s=e.map(i=>`${i.name} ${i.dosage}g`).join("、");return s.length>120?`${s.slice(0,120)}…`:s}),Dl=["recipient_name","recipient_phone","region","shipping_address"],he=g(),m=fe({id:0,prescription_id:0,diagnosis_id:0,recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,dose_count:1,dose_unit:"剂",prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",fee_type:3,amount:0,remark_extra:"",remark_assistant:"",pay_order_ids:[],internal_cost:void 0,assistant_id:0,diagnosis_creator_id:0,diagnosis_creator_name:"",diagnosis_creator_dept_path:""}),Fl=w(()=>Hr(Dt.value,m.service_package)),za=w(()=>{const t=String(m.diagnosis_creator_dept_path||"").trim();return t?t.split(";").map(e=>e.trim()).filter(Boolean).map(e=>e.includes(" / ")?e.split(" / ").map(s=>s.trim()).filter(Boolean):e.split("/").map(s=>s.trim()).filter(Boolean)).filter(e=>e.length>0):[]}),Be=g([]),Qt=g(!1),M=g(0);function vt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const Jt=w(()=>{const t=new Set(m.pay_order_ids.map(s=>Number(s)));let e=0;for(const s of Be.value)t.has(Number(s.id))&&(e+=Number(s.amount)||0);return Math.round(e*100)/100}),Ul=w(()=>{const t=M.value;return t>0?Math.round(t*100)/100:0});async function Il(t,e){var s,i;if(!t){Be.value=[];return}try{Qt.value=!0;const u=await Vs({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),c=(u==null?void 0:u.lists)??((s=u==null?void 0:u.data)==null?void 0:s.lists)??[];Be.value=Array.isArray(c)?c:[];const p=Number((u==null?void 0:u.deposit_min_amount)??((i=u==null?void 0:u.data)==null?void 0:i.deposit_min_amount));!Number.isNaN(p)&&p>=0&&(M.value=p)}catch{Be.value=[]}finally{Qt.value=!1}}const Ll=w(()=>{const t={recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],region:[{required:!0,message:"请选择省/市/区",trigger:"change",type:"array"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(e,s,i)=>{const u=M.value,c=Number(s);if(u>0&&(!Number.isFinite(c)||c0){const e=`已开启关联支付门槛(¥${q(M.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function zl(){var t;L.value=0,re.value=null,ie.value=!1,ft.value="",(t=he.value)==null||t.clearValidate()}function Ml(){L.value>0&&(L.value-=1)}async function jl(){const t=he.value;if(t)try{L.value===0?await t.validateField([...Dl]):L.value===1&&M.value>0&&await t.validateField(["pay_order_ids"]),L.value<2&&(L.value+=1)}catch{}}async function ql(t){if(!$a(t)){Ra(t)&&Ta(t)&&!Aa()&&N.msgWarning("处方与支付单均已审核通过,创建人不可再编辑");return}L.value=0,re.value=null,ke.value=!0,Wt.value=!0;try{const e=await nt({id:t.id}),s=(e==null?void 0:e.data)??e;if(!s){N.msgError("加载数据结构异常"),ke.value=!1;return}const i=s.prescription;i&&typeof i=="object"?re.value=i:Number(s.prescription_id)>0?re.value={id:Number(s.prescription_id),sn:"",patient_name:String(s.recipient_name||""),herbs:[]}:re.value=null,m.id=s.id,m.prescription_id=Number(s.prescription_id)||0,m.diagnosis_id=Number(s.diagnosis_id)||0,m.assistant_id=Number(s.assistant_id)||0,m.diagnosis_creator_id=Number(s.diagnosis_creator_id)||0,m.diagnosis_creator_name=s.diagnosis_creator_name!=null&&s.diagnosis_creator_name!==""?String(s.diagnosis_creator_name):"",m.diagnosis_creator_dept_path=s.diagnosis_creator_dept_path!=null&&s.diagnosis_creator_dept_path!==""?String(s.diagnosis_creator_dept_path):"",m.recipient_name=s.recipient_name||"",m.recipient_phone=s.recipient_phone||"";const u=s.shipping_province||"",c=s.shipping_city||"",p=s.shipping_district||"";u||c||p?m.region=[u,c,p].filter(T=>T!==""):m.region=[],m.shipping_address=s.shipping_address||"",m.is_follow_up=s.is_follow_up?1:0,m.medication_days=s.medication_days>0?s.medication_days:void 0,m.dose_count=s.dose_count>0?s.dose_count:1,m.dose_unit=s.dose_unit||"剂",m.prev_staff=s.prev_staff||"",m.service_channel=s.service_channel||"",m.service_package=Wr(s.service_package),m.express_company=String(s.express_company||"auto")||"auto",m.tracking_number=s.tracking_number||"",m.fee_type=Number(s.fee_type)||3,M.value=Number(s.deposit_min_amount)||0;let h=Number(s.amount)||0;const j=Math.round((Number(s.linked_pay_paid_total)||0)*100)/100,b=M.value;if(b>0){const T=Math.round(b*100)/100;hNumber(T)).filter(T=>!Number.isNaN(T)):[],m.internal_cost=s.internal_cost!=null&&s.internal_cost!==""?Number(s.internal_cost):void 0;const J=String(s.gancao_reciperl_order_no||"").trim(),R=Number(s.gancao_submit_time||0);ie.value=J!==""||R>0,ft.value=J||"",await Il(m.diagnosis_id,m.id),rt(()=>{var T;(T=he.value)==null||T.clearValidate()})}catch(e){N.msgError((e==null?void 0:e.message)||"加载异常"),ke.value=!1}finally{Wt.value=!1}}async function Bl(){if(!he.value)return;const t=ie.value;if(!(!t&&L.value!==2)){t?he.value.clearValidate():await he.value.validate(),Kt.value=!0;try{const e={id:m.id,recipient_name:m.recipient_name,recipient_phone:m.recipient_phone,shipping_address:m.shipping_address,is_follow_up:m.is_follow_up,prev_staff:m.prev_staff||"",service_channel:m.service_channel||"",service_package:Array.isArray(m.service_package)?m.service_package.join(","):"",express_company:m.express_company||"auto",tracking_number:m.tracking_number||"",fee_type:m.fee_type,amount:m.amount,remark_extra:m.remark_extra||"",remark_assistant:m.remark_assistant||"",medication_days:m.medication_days!=null&&String(m.medication_days).trim()!==""?m.medication_days:"",dose_unit:m.dose_unit||"剂",dose_count:m.dose_count||1,internal_cost:m.internal_cost!=null&&String(m.internal_cost).trim()!==""?m.internal_cost:""};m.region&&m.region.length>0?(e.shipping_province=m.region[0]||"",e.shipping_city=m.region[1]||"",e.shipping_district=m.region[2]||""):(e.shipping_province="",e.shipping_city="",e.shipping_district=""),e.pay_order_ids=[...m.pay_order_ids],await _a(e),N.msgSuccess("保存成功"),ke.value=!1,I()}catch{}finally{Kt.value=!1}}}const Ge=g(!1),Yt=g("prescription"),Xt=g(0),He=g(null),Pe=g(""),gt=g(!1),Gl=w(()=>Yt.value==="prescription"?"处方业务审核":"关联支付单审核");function Ma(t,e){Yt.value=e,Xt.value=t.id,He.value=t,Pe.value="",Ge.value=!0}async function ja(t){var e;if(t==="reject"&&!Pe.value.trim()){N.msgError("驳回或阻止时必须填写明确的审核意见");return}gt.value=!0;try{const s={id:Xt.value,action:t,remark:Pe.value.trim()};Yt.value==="prescription"?await li(s):await ni(s),N.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),Ge.value=!1,I(),await((e=G.value)==null?void 0:e.refreshIfCurrent(Xt.value))}catch{}finally{gt.value=!1}}async function Hl(t){try{await lt.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await ri({id:t.id}),N.msgSuccess("撤回成功"),I()}catch{}}const Zt=g(0),yt=g(!1),Oe=g(!1),D=g(null);function ea(t){if(!t)return"0.00";const e=Number(t.m_cost)||0,s=Number(t.proces_cost)||0,i=Number(t.lis_cost)||0;return(e+s+i).toFixed(2)}function Wl(t,e){const s=parseFloat(ea(t))||0,i=Number(e)||0;return i<=0?"—":(s/i*100).toFixed(2)}function Kl(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((s,i)=>s+(Number(i.quantity)||0),0).toFixed(0)}async function Ql(){if(!m.id){N.msgError("请先保存订单");return}Oe.value=!0;try{const t=await hs({id:m.id,dose_count:m.dose_count||1,medication_days:m.medication_days||void 0}),e=(t==null?void 0:t.data)??t;e&&e.success&&(D.value=e,yt.value=!0,N.msgSuccess("预下单测试成功"))}catch{}finally{Oe.value=!1}}async function Jl(){var t,e;if(!((t=$.value)!=null&&t.id)){N.msgError("订单数据不存在");return}Oe.value=!0;try{const s=await hs({id:$.value.id,dose_count:$.value.dose_count||1,medication_days:$.value.medication_days||void 0}),i=(s==null?void 0:s.data)??s;if(i&&i.success&&(D.value=i,yt.value=!0,$t()&&i.fee)){const u=ea(i.fee);try{const c=await nt({id:$.value.id}),p=(c==null?void 0:c.data)??c;if(p!=null&&p.id){const h=p.service_package,j=Array.isArray(h)?h.join(","):String(h||"");await _a({id:p.id,recipient_name:p.recipient_name||"",recipient_phone:p.recipient_phone||"",shipping_province:p.shipping_province||"",shipping_city:p.shipping_city||"",shipping_district:p.shipping_district||"",shipping_address:p.shipping_address||"",is_follow_up:p.is_follow_up?1:0,medication_days:p.medication_days!=null&&String(p.medication_days).trim()!==""?p.medication_days:"",dose_unit:p.dose_unit||"剂",dose_count:p.dose_count>0?p.dose_count:1,prev_staff:p.prev_staff||"",service_channel:p.service_channel||"",service_package:j,express_company:p.express_company||"auto",tracking_number:p.tracking_number||"",fee_type:Number(p.fee_type)||3,amount:Number(p.amount)||0,remark_extra:p.remark_extra||"",remark_assistant:p.remark_assistant||"",internal_cost:u,pay_order_ids:Array.isArray(p.pay_order_ids)?p.pay_order_ids:[]}),N.msgSuccess("内部成本已按预报价总计更新"),I(),await((e=G.value)==null?void 0:e.refreshIfCurrent(p.id))}}catch{}}}catch{}finally{Oe.value=!1}}async function Yl(t){var e;try{await lt.confirm("将把本单关联处方提交至甘草药管家开放平台(先 CTM_PREVIEW 预检查再 CTM_SUBMIT_RECIPEL 正式下单;成功后将按甘草侧规则扣费,详见 https://apidoc.igancao.com/service-doc/scm-outer-recipel.html )。确定继续?","上传甘草药方",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),Zt.value=t.id;const s=await ii({id:t.id}),i=(s==null?void 0:s.data)??s,u=(i==null?void 0:i.recipel_order_no)!=null?String(i.recipel_order_no):"";N.msgSuccess(u?`上传成功,甘草处方单号:${u}`:"上传成功"),I(),await((e=G.value)==null?void 0:e.refreshIfCurrent(t.id))}catch{}finally{Zt.value=0}}Vi(async()=>{await js(),await qs(),await zs(),ul(),await rt(),I()});const We=g(!1),bt=g(!1),xt=g(0),Z=fe({express_company:"auto",tracking_number:""});function Xl(t){xt.value=t.id,Z.express_company=String(t.express_company||"auto")||"auto",Z.tracking_number=String(t.tracking_number||""),We.value=!0}async function qa(){var t;if(!Z.tracking_number.trim()){N.msgError("请填写快递单号");return}bt.value=!0;try{const e=await nt({id:xt.value}),s=(e==null?void 0:e.data)??e;if(!s){N.msgError("加载订单数据失败");return}if(await _a({id:s.id,recipient_name:s.recipient_name||"",recipient_phone:s.recipient_phone||"",shipping_province:s.shipping_province||"",shipping_city:s.shipping_city||"",shipping_district:s.shipping_district||"",shipping_address:s.shipping_address||"",is_follow_up:s.is_follow_up?1:0,medication_days:s.medication_days!=null&&String(s.medication_days).trim()!==""?s.medication_days:"",prev_staff:s.prev_staff||"",service_channel:s.service_channel||"",service_package:s.service_package||"",fee_type:Number(s.fee_type)||3,amount:Number(s.amount)||0,remark_extra:s.remark_extra||"",remark_assistant:s.remark_assistant||"",internal_cost:s.internal_cost!=null&&s.internal_cost!==""?s.internal_cost:"",pay_order_ids:Array.isArray(s.pay_order_ids)?s.pay_order_ids:[],express_company:Z.express_company||"auto",tracking_number:Z.tracking_number.trim()}),N.msgSuccess("快递单号已保存"),We.value=!1,I(),await((t=G.value)==null?void 0:t.refreshIfCurrent(xt.value)),Lt({fulfillment_status:Number(s.fulfillment_status)}))try{await lt.confirm(`快递单号「${Z.tracking_number}」已保存,是否立即确认发货?`,"确认发货",{type:"success",confirmButtonText:"确认发货",cancelButtonText:"稍后再说"}),ta({id:xt.value,tracking_number:Z.tracking_number,express_company:Z.express_company})}catch{}}catch{}finally{bt.value=!1}}const we=g(!1),kt=g(!1),Ae=g(0),H=fe({ship_mode:"gancao",express_company:"auto",tracking_number:""});function Zl(t){var e;return Mt((e=$.value)==null?void 0:e.id,t.id)?le($.value.ship_mode):le(t.ship_mode)}function ta(t){Ae.value=Number(t.id),H.ship_mode=Zl(t),H.express_company=String(t.express_company||"auto")||"auto",H.tracking_number=String(t.tracking_number||""),we.value=!0}fa(()=>{var t;return(t=$.value)==null?void 0:t.ship_mode},t=>{var e;!we.value||!Ae.value||!Mt((e=$.value)==null?void 0:e.id,Ae.value)||(H.ship_mode=le(t))});async function Ba(){var t;if(!H.tracking_number.trim()){N.msgError("请先填写快递单号再确认发货");return}kt.value=!0;try{await oi({id:Ae.value,ship_mode:le(H.ship_mode),express_company:H.express_company||"auto",tracking_number:H.tracking_number.trim()}),N.msgSuccess("确认发货成功,订单已进入「已发货」状态"),we.value=!1,I(),await((t=G.value)==null?void 0:t.refreshIfCurrent(Ae.value))}catch{}finally{kt.value=!1}}const en=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],Re=g(!1),Te=g(0),ye=g(3),Ke=g(!1),Qe=g(!1),pe=g([]),aa=g(),ee=fe({reason:"",refund_amount:void 0}),be=g(0),tn=w(()=>sa(pe.value)),an=w(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,s)=>{const i=Number(e),u=be.value;if(!Number.isFinite(i)||i<=0){s(new Error("退款金额须大于 0"));return}if(u>0&&i>u+.009){s(new Error(`不能超过可退上限 ¥${q(u)}`));return}s()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));let Je=0;function sn(){var t;Te.value=0,pe.value=[],Qe.value=!1,ee.reason="",ee.refund_amount=void 0,be.value=0,(t=aa.value)==null||t.clearValidate(),Je+=1,Ce.value=null,_t.value=!1}async function ln(t){if(!t){pe.value=[];return}Qe.value=!0;try{const e=await nt({id:t}),s=(e==null?void 0:e.data)??e??null,i=s==null?void 0:s.linked_pay_orders;pe.value=Array.isArray(i)?i:[];const u=sa(pe.value),c=Number(s==null?void 0:s.paid)||0;be.value=u>0?u:c,ee.refund_amount=be.value}catch{pe.value=[],be.value=0}finally{Qe.value=!1}}async function nn(t){const e=Number(t.id),s=String(t.tracking_number||"").trim();if(!e||!s)return;const i=++Je;_t.value=!0,Ce.value=null;try{const u=String(t.recipient_phone||"").replace(/\D/g,""),c={id:e,express_company:String(t.express_company||"auto")||"auto"};u.length>=4&&(c.phone_tail=u);const p=await vi(c);if(i!==Je||Te.value!==e)return;Ce.value=Qr(p,s,e)}catch{if(i!==Je||Te.value!==e)return;Ce.value=null}finally{i===Je&&Te.value===e&&(_t.value=!1)}}async function rn(){var e,s,i;const t=Te.value;if(t){if(ye.value===10){if(!await((e=aa.value)==null?void 0:e.validate().catch(()=>!1)))return;Ke.value=!0;try{await ws({id:t,reason:ee.reason.trim(),refund_amount:Number(ee.refund_amount)}),N.msgSuccess("退款成功"),Re.value=!1,I(),await((s=G.value)==null?void 0:s.refreshIfCurrent(t))}catch{}finally{Ke.value=!1}return}Ke.value=!0;try{await ui({id:t,fulfillment_status:ye.value}),N.msgSuccess("订单状态已更新"),Re.value=!1,I(),await((i=G.value)==null?void 0:i.refreshIfCurrent(t))}catch{}finally{Ke.value=!1}}}function sa(t){let e=0;for(const s of t||[]){const i=Number(s==null?void 0:s.status);(i===2||i===5)&&(e+=Number(s==null?void 0:s.amount)||0)}return Math.round(e*100)/100}const Ye=g(!1),la=g(0),na=g(!1),ra=g(),oe=g(0),Q=fe({reason:"",refund_amount:void 0}),on=w(()=>{const t=q(oe.value),e=q(Q.refund_amount);return Number(Q.refund_amount)>=oe.value-.009?`确认全额退款 ¥${t}:关联收款将标记已退款,本单已付清零,且不可撤销。`:`确认部分退款 ¥${e}(可退上限 ¥${t}):将扣减本单已付,并按金额依次标记关联收款已退款。`}),un=w(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,s)=>{const i=Number(e),u=oe.value;if(!Number.isFinite(i)||i<=0){s(new Error("退款金额须大于 0"));return}if(u>0&&i>u+.009){s(new Error(`不能超过可退上限 ¥${q(u)}`));return}s()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));function dn(){var t;la.value=0,Q.reason="",Q.refund_amount=void 0,oe.value=0,(t=ra.value)==null||t.clearValidate()}async function Ga(t){la.value=t.id,Q.reason="",Q.refund_amount=void 0,oe.value=0,Ye.value=!0;try{const e=await nt({id:t.id}),s=(e==null?void 0:e.data)??e??null,i=Array.isArray(s==null?void 0:s.linked_pay_orders)?s.linked_pay_orders:[],u=sa(i),c=Number(s==null?void 0:s.paid)||0;oe.value=u>0?u:c,Q.refund_amount=oe.value}catch{oe.value=0}}async function pn(){var s,i;const t=la.value;if(!(!t||!await((s=ra.value)==null?void 0:s.validate().catch(()=>!1)))){na.value=!0;try{await ws({id:t,reason:Q.reason.trim(),refund_amount:Number(Q.refund_amount)}),N.msgSuccess("退款成功"),Ye.value=!1,I(),await((i=G.value)==null?void 0:i.refreshIfCurrent(t))}catch{}finally{na.value=!1}}}const Xe=g(!1),ht=g(!1),Ze=g(0),wt=g(),ia=g(!1),Vt=g([]),cn=w(()=>C.add_mode==="completion_only"?"不创建或关联支付单,仅提交完单申请,由审核人员在支付审核时处理。":C.add_mode==="create_express"?"通过快递代收创建新支付单(流转同付呗),或关联已存在但未绑定的支付单。":"可以通过付呗创建新支付单,或关联已存在但未绑定的支付单。"),C=fe({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),mn=w(()=>{const t={add_mode:[{required:!0,message:"请选择添加方式",trigger:"change"}]};return C.add_mode==="create"||C.add_mode==="create_express"?(t.order_type=[{required:!0,message:"请选择费用类别",trigger:"change"}],t.pay_amount=[{validator:(e,s,i)=>{if(s==null||s===""){i(new Error("请输入支付金额"));return}const u=Number(s);!Number.isFinite(u)||u<0?i(new Error("金额不能小于 0")):i()},trigger:"blur"}]):C.add_mode==="link"&&(t.link_pay_order_ids=[{required:!0,message:"请至少选择一个支付单",trigger:"change",validator:(e,s,i)=>{!Array.isArray(s)||s.length===0?i(new Error("请至少选择一个支付单")):i()}}]),t});async function _n(t,e=[]){var s;if(!t){Vt.value=[];return}try{ia.value=!0;const i=await Vs({diagnosis_id:t}),u=(i==null?void 0:i.lists)??((s=i==null?void 0:i.data)==null?void 0:s.lists)??[],c=Array.isArray(u)?u.filter(p=>!e.includes(p.id)):[];Vt.value=c}catch{Vt.value=[]}finally{ia.value=!1}}function Ha(t){var i,u;if(!jt(t)){N.msgWarning("订单总金额与已付金额一致,无需补齐支付单");return}Ze.value=t.id,C.add_mode="create",C.order_type=3,C.pay_amount=void 0,C.pay_remark="",C.link_pay_order_ids=[],C.completion_request=0,Xe.value=!0;const e=t.diagnosis_id||((i=$.value)==null?void 0:i.diagnosis_id),s=t.pay_order_ids||((u=$.value)==null?void 0:u.pay_order_ids)||[];e&&_n(e,s)}async function fn(){var t;if(wt.value){await wt.value.validate(),ht.value=!0;try{if(C.add_mode==="completion_only")await di({id:Ze.value}),N.msgSuccess("完单申请已提交,请等待支付审核");else if(C.add_mode==="create"||C.add_mode==="create_express")await pi({id:Ze.value,order_type:C.order_type,pay_amount:C.pay_amount,pay_remark:C.pay_remark||"",completion_request:C.completion_request,pay_create_type:C.add_mode==="create_express"?"express_cod":"fubei"}),N.msgSuccess("支付单已新增,请等待审核");else{const e=C.link_pay_order_ids;if(e.length===0){N.msgError("请至少选择一个支付单");return}await ci({id:Ze.value,pay_order_ids:e,completion_request:C.completion_request}),N.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}Xe.value=!1,I(),await((t=G.value)==null?void 0:t.refreshIfCurrent(Ze.value))}catch{}finally{ht.value=!1}}}function Wa(t){Te.value=t.id,ye.value=3,ee.reason="",ee.refund_amount=void 0,pe.value=[],Ce.value=null,Re.value=!0,ln(t.id),String(t.tracking_number||"").trim()&&nn(t)}async function vn(t){var e;try{await lt.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await mi({id:t.id}),N.msgSuccess("处方审核已撤回"),I(),await((e=G.value)==null?void 0:e.refreshIfCurrent(t.id))}catch{}}async function gn(t){var e;try{await lt.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await _i({id:t.id}),N.msgSuccess("支付单审核已撤回"),I(),await((e=G.value)==null?void 0:e.refreshIfCurrent(t.id))}catch{}}const yn="成都双流甄养堂互联网医院 处方笺",St=g(!1),Nt=g(!1),x=g(null),$e=g(""),W=g("internal"),Ka=g(null),Ee=g(!1);function Qa(t,e,s){const i=t.prescription_type||"浓缩水丸",u=Number(t.times_per_day)>0?Number(t.times_per_day):3,c=t.dosage_amount!=null?Number(t.dosage_amount):10,p=t.dosage_unit||(i==="饮片"?"ml":"g"),h=t.usage_way||e||"温水送服",j=t.usage_time||s||"",b=[];if(b.push(`每天${u}次`),i==="浓缩水丸"){const te=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;b.push(`一次${te}袋`),b.push(`每袋${c}${p}`)}else b.push(`一次${c}${p}`);return b.push(h),j&&b.push(j),b.join(", ")}const et=w(()=>{var e;const t=(e=x.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),Ct=w(()=>et.value.filter(t=>ma(t==null?void 0:t.formula_type)==="主方")),De=w(()=>et.value.filter(t=>ma(t==null?void 0:t.formula_type)==="辅方")),Ja=w(()=>{var t;return Kr((t=x.value)==null?void 0:t.dietary_taboo)}),Ya=w(()=>{const t=x.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸")return null;const e=Number(t.medication_days??t.usage_days??t.dose_count),s=Number(t.times_per_day),i=Number(t.dosage_amount),u=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(s)||!Number.isFinite(i)||e<=0||s<=0||i<=0?null:e*s*i*u}),Xa=w(()=>{const t=x.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸"||!De.value.length)return null;const e=ks(t.aux_usage,t.prescription_type||"浓缩水丸"),s=Number(t.medication_days??e.usage_days),i=Number(e.times_per_day),u=Number(e.dosage_amount),c=Number(e.dosage_bag_count)>0?Number(e.dosage_bag_count):1;return!Number.isFinite(s)||!Number.isFinite(i)||!Number.isFinite(u)||s<=0||i<=0||u<=0?null:s*i*u*c}),Pt=t=>String(t).padStart(2,"0"),bn=w(()=>{const t=x.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const s=String(e).length===10?Number(e)*1e3:Number(e),i=new Date(s);if(!isNaN(i.getTime()))return`${i.getFullYear()}-${Pt(i.getMonth()+1)}-${Pt(i.getDate())} ${Pt(i.getHours())}:${Pt(i.getMinutes())}`}return t.prescription_date||"—"}),xn=w(()=>{const t=x.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const s=String(t.visit_no??"").trim();return s||"—"}),kn=w(()=>{const t=x.value;if(!t)return"—";const e=Number(t.appointment_id);return Number.isFinite(e)&&e>0?String(e):"—"}),Za=w(()=>{const t=x.value;return t?String(t.order_no??"").trim():""}),hn=w(()=>{const t=x.value;if(!t)return"—";if(t.recipient_text)return t.recipient_text;const e=[];(t.recipient_name||t.patient_name)&&e.push(t.recipient_name||t.patient_name),(t.recipient_phone||t.phone)&&e.push(t.recipient_phone||t.phone);let s=t.region;return Array.isArray(s)&&(s=s.filter(Boolean).join("")),s&&e.push(String(s)),t.shipping_address?e.push(String(t.shipping_address)):t.address&&e.push(String(t.address)),e.length?e.join(","):"—"}),es=w(()=>{var e;const t=Number((e=x.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),wn=w(()=>{const e=et.value.reduce((s,i)=>s+(Number(i==null?void 0:i.dosage)||0),0);return Ve(e)}),ts=t=>{const e=Number(t)||0;return Ve(e*es.value)},Vn=w(()=>{const t=x.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return e==="饮片"?"饮片":/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),as=w(()=>{const t=x.value;return t?t.usage_text?t.usage_text:Qa(t):"—"}),oa=w(()=>{const t=x.value;if(!t||!De.value.length)return"";const e=ks(t.aux_usage,t.prescription_type||"浓缩水丸");return Qa({prescription_type:t.prescription_type,dosage_amount:e.dosage_amount,dosage_unit:t.dosage_unit,dosage_bag_count:e.dosage_bag_count,times_per_day:e.times_per_day,usage_way:t.usage_way,usage_time:t.usage_time},t.usage_way,t.usage_time)}),Sn=w(()=>{const t=Ya.value,e=Xa.value,s=typeof t=="number"&&isFinite(t)&&t>0?t:0,i=typeof e=="number"&&isFinite(e)&&e>0?e:0,u=s+i;if(u>0)return Ve(u);const c=x.value;if(!c)return"";const p=c.out_pellet||c.total_weight;if(p&&Number(p)>0)return Ve(Number(p));const h=et.value;if(!h.length)return"";const j=h.reduce((b,te)=>b+(Number(te==null?void 0:te.dosage)||0),0);return Ve(j*es.value)}),ss=w(()=>{const t=x.value;return t&&t.medical_advice||""}),ls=w(()=>{const t=x.value;if(!t)return"";const e=[];return e.push(`共${et.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),ns=w(()=>{const t=x.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),rs=w(()=>{const t=Sn.value;if(!t)return"";const e=Ya.value,s=Xa.value;return typeof e=="number"&&isFinite(e)&&e>0&&typeof s=="number"&&isFinite(s)&&s>0?`${t}克(主方 ${Ve(e)}克 + 辅方 ${Ve(s)}克)`:`${t}克`});function Ve(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function is(t){if(!t)return"";const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}function Nn(t){return t?is(t):"—"}function Cn(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function Pn(t){return t==null||t===""?"—":`${t}岁`}function On(){us(m)}function os(t){return t.map(e=>`${String(e.name??"").trim()}:${Number(e.dosage)||0}`).sort().join("|")}function An(t,e){return!t.length||!e.length||t.length!==e.length?!1:os(t)===os(e)}function Rn(t){if(!t||typeof t!="object")return"";const e=t;return String(e.prescription_name??e.library_name??"").trim()}async function Tn(t){const e=Rn(t.aux_usage);if(e)return e;const i=(Array.isArray(t.herbs)?t.herbs:[]).filter(c=>ma(c==null?void 0:c.formula_type)==="辅方");if(!i.length)return"";const u=Number(t.creator_id)>0?Number(t.creator_id):0;if(!u)return"";try{const c=await gi({page_no:1,page_size:200,formula_type:"辅方",prescribing_creator_id:u}),p=Array.isArray(c==null?void 0:c.lists)?c.lists:[];for(const h of p){const j=Array.isArray(h==null?void 0:h.herbs)?h.herbs:[];if(An(i,j))return String((h==null?void 0:h.prescription_name)??"").trim()}}catch{}return""}async function us(t){if(!t.prescription_id){N.msgWarning("该订单未关联处方");return}St.value=!0,Nt.value=!0,x.value=null,$e.value="",W.value="internal";try{const e=await fi({id:t.prescription_id}),s=(e==null?void 0:e.data)??e??null;if(s){const i=t.medication_days,u={...s};i!=null&&String(i).trim()!==""&&(u.medication_days=i),t.order_no&&!u.order_no&&(u.order_no=t.order_no),t.recipient_name&&!u.recipient_name&&(u.recipient_name=t.recipient_name),t.recipient_phone&&!u.recipient_phone&&(u.recipient_phone=t.recipient_phone),t.shipping_address&&!u.shipping_address&&(u.shipping_address=t.shipping_address),t.amount!=null&&u.order_amount==null&&(u.order_amount=t.amount),t.dose_count!=null&&String(t.dose_count).trim()!==""&&Number(t.dose_count)>0&&(u.dose_count=Number(t.dose_count)),t.dose_unit!=null&&String(t.dose_unit).trim()!==""&&(u.dose_unit=String(t.dose_unit));const c=t.linked_appointment;(!u.appointment_id||Number(u.appointment_id)<=0)&&c&&typeof c=="object"&&Number(c.id)>0&&(u.appointment_id=Number(c.id)),x.value=u,$e.value=await Tn(u)}else x.value=null,$e.value=""}catch(e){N.msgError((e==null?void 0:e.message)||"加载处方详情失败"),St.value=!1,$e.value=""}finally{Nt.value=!1}}async function $n(t){const e=t.querySelectorAll('img[src^="http"]'),s=Array.from(e).map(async i=>{try{const u=await fetch(i.src,{mode:"cors"});if(!u.ok)return;const c=await u.blob(),p=await new Promise((h,j)=>{const b=new FileReader;b.onload=()=>h(b.result),b.onerror=j,b.readAsDataURL(c)});i.src=p}catch{}});await Promise.allSettled(s)}async function ds(){await rt();const t=Ka.value;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await $n(t),await new Promise(e=>requestAnimationFrame(()=>e(null))),await new Promise(e=>setTimeout(e,250)),yi(t,{scale:2,useCORS:!0,allowTaint:!1,logging:!1,backgroundColor:"#ffffff",windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight,ignoreElements:e=>e instanceof HTMLElement&&e.classList.contains("cf-slip-no-export")})}function ps(){var s;const t=(s=x.value)==null?void 0:s.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function En(){if(x.value){Ee.value=!0;try{const t=await ds(),e=document.createElement("a");e.download=`${ps()}.png`,e.href=t.toDataURL("image/png"),e.click(),N.msgSuccess("图片已下载")}catch{N.msgError("下载图片失败")}finally{Ee.value=!1}}}async function Dn(){if(x.value){Ee.value=!0;try{const t=await ds(),e=t.toDataURL("image/jpeg",.95),s=new qn({orientation:"portrait",unit:"mm",format:"a4"}),i=210,u=297,c=i,p=t.height*c/t.width;if(p<=u)s.addImage(e,"JPEG",0,0,c,p);else{let h=p,j=0;for(;h>0;)s.addImage(e,"JPEG",0,j,c,p),h-=u,j-=u,h>0&&s.addPage()}s.save(`${ps()}.pdf`),N.msgSuccess("PDF已下载")}catch{N.msgError("下载PDF失败")}finally{Ee.value=!1}}}return(t,e)=>{const s=Bn,i=Gn,u=Qn,c=Kn,p=Yn,h=Jn,j=Xn,b=Zn,te=Sr,J=Wn,R=tr,T=ar,Ot=sr,At=lr,tt=er,at=Vr,Se=rr,Fe=nr,ae=ir,Y=or,xe=ur,ua=pr,Fn=dr,z=mr,st=cr,Un=_r,In=vr,Ln=fr,zn=gr,Ue=yr,cs=xr,Mn=br,ms=kr,ce=wr,da=hr,_e=Hn,F=Si("perms");return o(),_("div",Pi,[l(s,{class:"!border-none shadow-sm mb-4",shadow:"never"},{default:n(()=>[r("div",Oi,[it.value?(o(),_("div",Ai,[e[89]||(e[89]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(o(),_(O,null,U(Js,a=>r("div",{key:a.value,class:B(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.prescription_audit_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Xs(a.value)},[r("span",Ti,d(a.label),1)],10,Ri)),64))])):v("",!0),r("div",$i,[e[90]||(e[90]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(o(),_(O,null,U(Ys,a=>r("div",{key:a.value,class:B(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.payment_slip_audit_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Zs(a.value)},[r("span",Di,d(a.label),1)],10,Ei)),64))]),r("div",Fi,[e[91]||(e[91]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(o(),_(O,null,U(Bs,a=>r("div",{key:"fs-"+String(a.value),class:B(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.fulfillment_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Gs(a.value)},[r("span",Ii,d(a.label),1)],10,Ui)),64))]),r("div",Li,[e[92]||(e[92]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(o(),_(O,null,U(Hs,a=>r("div",{key:"sm-"+String(a.value),class:B(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.supply_mode===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Ws(a.value)},[r("span",Mi,d(a.label),1)],10,zi)),64))]),r("div",ji,[e[93]||(e[93]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(o(),_(O,null,U(Ks,a=>r("div",{key:"ec-"+String(a.value),class:B(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.express_company===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Qs(a.value)},[r("span",Bi,d(a.label),1)],10,qi)),64))])])]),_:1}),l(s,{class:"!border-none po-filter-card shadow-sm",shadow:"never"},{default:n(()=>[A((o(),_("div",Gi,[r("div",Hi,[e[94]||(e[94]=r("div",{class:"po-stat-deco po-stat-deco--o pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),r("div",Wi,[r("div",null,[r("div",Ki,[l(i,{size:16,class:"text-sky-500"},{default:n(()=>[l(V(Cr))]),_:1}),f(" "+d(de.value.orderHeading),1)]),r("div",Qi,[r("div",Ji," ¥"+d(de.value.orderPerformanceStr),1),r("div",Yi,[r("span",null,"合计 ¥"+d(de.value.orderStr),1),r("span",Xi,"已取消 ¥"+d(de.value.orderCancelledStr),1)])])]),r("div",Zi,[l(i,{size:20},{default:n(()=>[l(V(Pr))]),_:1})])]),r("p",eo,d(de.value.periodLine),1)]),r("div",to,[e[95]||(e[95]=r("div",{class:"po-stat-deco po-stat-deco--p pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),r("div",ao,[r("div",null,[r("div",so,[l(i,{size:16,class:"text-emerald-500"},{default:n(()=>[l(V(Or))]),_:1}),f(" "+d(de.value.payHeading),1)]),r("div",lo,[r("div",no," ¥"+d(de.value.payPerformanceStr),1),r("div",ro,[r("span",null,"合计 ¥"+d(de.value.payStr),1),r("span",io,"已取消 ¥"+d(de.value.payCancelledStr),1)])])]),r("div",oo,[l(i,{size:20},{default:n(()=>[l(V(Ar))]),_:1})])]),r("p",uo,d(de.value.periodLine),1)])])),[[_e,V(X).loading]]),l(J,{class:"ls-form",model:y,inline:""},{default:n(()=>[l(Er,{"time-type":V(ze),"onUpdate:timeType":e[0]||(e[0]=a=>va(ze)?ze.value=a:null),"date-range":V(Ut),"onUpdate:dateRange":e[1]||(e[1]=a=>va(Ut)?Ut.value=a:null),label:"创建时间",variant:"inline","show-all":"","picker-width":"230px",onTimeTypeChange:ll,onCustomChange:nl},null,8,["time-type","date-range"]),l(c,{class:"w-[260px]",label:"订单号"},{default:n(()=>[l(u,{modelValue:y.order_no,"onUpdate:modelValue":e[2]||(e[2]=a=>y.order_no=a),placeholder:"业务订单号",clearable:"",onKeyup:Rt(V(K),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(c,{class:"w-[140px]",label:"处方ID"},{default:n(()=>[l(u,{modelValue:y.prescription_id,"onUpdate:modelValue":e[3]||(e[3]=a=>y.prescription_id=a),placeholder:"处方ID",clearable:"",onKeyup:Rt(V(K),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(c,{class:"w-[220px]",label:"患者"},{default:n(()=>[l(u,{modelValue:y.patient_keyword,"onUpdate:modelValue":e[4]||(e[4]=a=>y.patient_keyword=a),placeholder:"姓名 / 手机号",clearable:"",onKeyup:Rt(V(K),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(c,{class:"w-[220px]",label:"快递"},{default:n(()=>[l(u,{modelValue:y.express_keyword,"onUpdate:modelValue":e[5]||(e[5]=a=>y.express_keyword=a),placeholder:"快递单号 / 公司",clearable:"",onKeyup:Rt(V(K),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),Ts.value?(o(),k(c,{key:0,class:"w-[200px]",label:"下单人"},{default:n(()=>[l(h,{modelValue:y.audit_admin_id,"onUpdate:modelValue":e[6]||(e[6]=a=>y.audit_admin_id=a),clearable:"",filterable:"",placeholder:"全部下单人",class:"!w-full"},{default:n(()=>[(o(!0),_(O,null,U(ba.value,a=>(o(),k(p,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):v("",!0),l(c,{class:"w-[200px]",label:"医生"},{default:n(()=>[l(h,{modelValue:y.doctor_id,"onUpdate:modelValue":e[7]||(e[7]=a=>y.doctor_id=a),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:n(()=>[(o(!0),_(O,null,U(Ft.value,a=>(o(),k(p,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(c,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:n(()=>[l(j,{modelValue:y.assistant_dept_id,"onUpdate:modelValue":e[8]||(e[8]=a=>y.assistant_dept_id=a),data:dt.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:Is,placeholder:"医助部门(选父级含子级)",onChange:dl},null,8,["modelValue","data"])]),_:1}),l(c,{class:"w-[200px]",label:"医助"},{default:n(()=>[l(h,{modelValue:y.assistant_id,"onUpdate:modelValue":e[9]||(e[9]=a=>y.assistant_id=a),clearable:"",filterable:"",placeholder:"订单创建人",class:"!w-full"},{default:n(()=>[(o(!0),_(O,null,U(Ca.value,a=>(o(),k(p,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(c,{class:"w-[160px]",label:"服务渠道"},{default:n(()=>[l(h,{modelValue:y.service_channel,"onUpdate:modelValue":e[10]||(e[10]=a=>y.service_channel=a),clearable:"",placeholder:"全部",class:"!w-full"},{default:n(()=>[l(p,{label:"未指派",value:"0"})]),_:1},8,["modelValue"])]),_:1}),l(c,{class:"w-[140px]",label:"辅方"},{default:n(()=>[l(h,{modelValue:y.has_aux_formula,"onUpdate:modelValue":e[11]||(e[11]=a=>y.has_aux_formula=a),clearable:"",placeholder:"全部",class:"!w-full"},{default:n(()=>[l(p,{label:"含辅方",value:"1"}),l(p,{label:"不含辅方",value:"0"})]),_:1},8,["modelValue"])]),_:1}),l(c,null,{default:n(()=>[l(b,{type:"primary",onClick:V(K)},{default:n(()=>[...e[96]||(e[96]=[f("查询",-1)])]),_:1},8,["onClick"]),l(b,{onClick:cl},{default:n(()=>[...e[97]||(e[97]=[f("重置",-1)])]),_:1}),A(l(te,{class:"ml-2.5","fetch-fun":V(Jr),params:il.value,"page-size":V(X).size,"export-hint":"导出范围与上方筛选一致(履约状态、创建时间及其他条件均会生效)。含「自媒体渠道(挂号渠道来源)」:优先取该单关联处方登记的挂号;无则诊单下同患者挂号取 id 最大的一条(与前台挂号选择的记录一致);业绩侧栏带渠道筛选导出时与同页列表高亮挂号同源。「服务套餐」按字典 server_order 解析展示。「处方」导出主方/辅方药材明细;「主方/辅方服用方式、天数」与详情侧栏同口径(主方/辅方天数分别取处方 usage_days、辅方 aux_usage.usage_days;「天数」列为订单 medication_days)。「关联收款记录」与详情侧栏同源(已支付/已退款/待审核),每笔两行展示(摘要行+明细行),多笔空行分隔,单元格自动换行。「签收日期」与详情/业绩看板同源,仅读物流库(轨迹/签收时间):导出不再实时查快递100,速度只取决于数据库;签收时间由 `tcm:backfill-sign-time` 命令与物流自动更新定时任务落库,刚发货尚未同步的单子会暂时为空,待下次回填/定时任务刷新后显示。"},null,8,["fetch-fun","params","page-size"]),[[F,["tcm.prescriptionOrder/export"]]])]),_:1})]),_:1},8,["model"])]),_:1}),A((o(),k(s,{class:"!border-none mt-4 po-table-card shadow-sm",shadow:"never"},{default:n(()=>[r("div",po,[r("div",co,[e[98]||(e[98]=r("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),r("span",mo,"共 "+d(V(X).count)+" 条",1),ka.value?(o(),k(b,{key:0,type:"primary",plain:"",size:"small",class:"ml-3",disabled:ge.value.length===0,onClick:Fs},{default:n(()=>[f(" 批量改派医助"+d(ge.value.length?`(${ge.value.length})`:""),1)]),_:1},8,["disabled"])):v("",!0)]),r("div",_o,[r("div",{class:B(["po-focus-board__item is-pending-rx",{"is-active":se.value==="pendingRx"}]),onClick:e[12]||(e[12]=a=>pt("pendingRx"))},[e[99]||(e[99]=r("span",{class:"po-focus-board__label"},"待处方审核",-1)),r("strong",fo,d(ct.value.pendingRx),1)],2),r("div",{class:B(["po-focus-board__item is-pending-pay",{"is-active":se.value==="pendingPay"}]),onClick:e[13]||(e[13]=a=>pt("pendingPay"))},[e[100]||(e[100]=r("span",{class:"po-focus-board__label"},"待支付审核",-1)),r("strong",vo,d(ct.value.pendingPay),1)],2),r("div",{class:B(["po-focus-board__item is-pending-ship",{"is-active":se.value==="pendingShip"}]),onClick:e[14]||(e[14]=a=>pt("pendingShip"))},[e[101]||(e[101]=r("span",{class:"po-focus-board__label"},"待发货",-1)),r("strong",go,d(ct.value.pendingShip),1)],2),r("div",{class:B(["po-focus-board__item is-risk",{"is-active":se.value==="risk"}]),onClick:e[15]||(e[15]=a=>pt("risk"))},[e[102]||(e[102]=r("span",{class:"po-focus-board__label"},"重点异常",-1)),r("strong",yo,d(ct.value.risk),1)],2)])]),l(tt,{data:V(X).lists,size:"default",stripe:"",class:"po-data-table","row-class-name":pl,onSelectionChange:Ds},{default:n(()=>[ka.value?(o(),k(R,{key:0,type:"selection",width:"44",selectable:()=>!0})):v("",!0),l(R,{label:"订单号","min-width":"178","show-overflow-tooltip":""},{default:n(({row:a})=>[r("div",bo,[r("div",xo,d(a.order_no||"—"),1),r("div",ko,[l(T,{size:"small",effect:"plain",type:String(a.gancao_reciperl_order_no||"").trim()?"success":"info"},{default:n(()=>[f(d(String(a.gancao_reciperl_order_no||"").trim()?"甘草":"自营"),1)]),_:2},1032,["type"]),r("span",ho,"#"+d(a.id),1)])])]),_:1}),l(R,{label:"处方ID",prop:"prescription_id",width:"86"}),l(R,{label:"诊单ID",prop:"diagnosis_id",width:"86"}),l(R,{label:"收货人","min-width":"100"},{default:n(({row:a})=>[r("div",null,d(a.recipient_name||"—"),1),r("div",{class:B(["text-xs",V(ca)(a.recipient_phone,a.prescription_phone)?"text-red-600 font-semibold":"text-gray-400"])},[f(d(a.recipient_phone||"—")+" ",1),V(ca)(a.recipient_phone,a.prescription_phone)?(o(),_("span",wo,"(与处方手机不一致)")):v("",!0)],2)]),_:1}),l(R,{label:"费用类别",width:"96"},{default:n(({row:a})=>[f(d(V(ys)(a.fee_type)),1)]),_:1}),l(R,{label:"金额","min-width":"100"},{default:n(({row:a})=>[r("div",Vo,[r("span",So,"¥"+d(a.amount),1),l(Ot,{placement:"top",width:200,trigger:"hover"},{reference:n(()=>[l(i,{class:"text-gray-400 cursor-pointer hover:text-primary"},{default:n(()=>[l(V(Rr))]),_:1})]),default:n(()=>[r("div",No,[r("div",Co,[e[103]||(e[103]=r("span",{class:"text-gray-500"},"业务订单单据:",-1)),r("span",Po,"¥"+d(a.amount),1)]),r("div",Oo,[e[104]||(e[104]=r("span",{class:"text-gray-500"},"定金下限:",-1)),r("span",null,"¥"+d(V(q)(a.deposit_min_amount)),1)]),r("div",Ao,[e[105]||(e[105]=r("span",{class:"text-gray-500"},"实付(关联):",-1)),r("span",Ro,"¥"+d(V(q)(a.linked_pay_paid_total)),1)]),$t()&&a.internal_cost!=null&&a.internal_cost!==""?(o(),_("div",To,[e[106]||(e[106]=r("span",{class:"text-gray-500"},"内部成本:",-1)),r("span",{class:B(["font-medium cursor-pointer select-none",ue.value?"text-orange-600":"text-gray-400"]),title:"点击显示/隐藏",onClick:e[16]||(e[16]=Ie(P=>ue.value=!ue.value,["stop"]))},d(ue.value?`¥${V(q)(a.internal_cost)}`:"****"),3)])):v("",!0)])]),_:2},1024)])]),_:1}),$t()?(o(),k(R,{key:1,width:"100"},{header:n(()=>[r("span",{class:"cursor-pointer select-none hover:text-primary",title:"点击显示/隐藏内部成本",onClick:e[17]||(e[17]=Ie(a=>ue.value=!ue.value,["stop"]))}," 内部成本 ")]),default:n(({row:a})=>[a.internal_cost!=null&&a.internal_cost!==""?(o(),_("span",{key:0,class:B(["cursor-pointer select-none",ue.value?"text-orange-600 font-medium":"text-gray-400"]),title:"点击显示/隐藏",onClick:e[18]||(e[18]=Ie(P=>ue.value=!ue.value,["stop"]))},d(ue.value?`¥${a.internal_cost}`:"****"),3)):(o(),_("span",$o,"—"))]),_:1})):v("",!0),l(R,{label:"处方审核",width:"110"},{default:n(({row:a})=>[l(T,{type:Oa(a.prescription_audit_status),size:"small",class:B(It("rx",a))},{default:n(()=>[f(d(Pa(a.prescription_audit_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(R,{label:"支付单审核",width:"110"},{default:n(({row:a})=>[l(T,{type:Oa(a.payment_slip_audit_status),size:"small",class:B(It("pay",a))},{default:n(()=>[f(d(Pa(a.payment_slip_audit_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(R,{label:"履约",width:"108"},{default:n(({row:a})=>[l(T,{type:V(Ur)(a.fulfillment_status),size:"small",class:B(It("fulfillment",a))},{default:n(()=>[f(d(V(Ir)(a.fulfillment_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(R,{label:"关联支付单",width:"100"},{default:n(({row:a})=>[Number(a.linked_pay_order_count)>0?(o(),_("span",{key:0,class:"text-primary cursor-default",title:a.linked_pay_order_id?`#${a.linked_pay_order_id}…`:""},d(a.linked_pay_order_count)+" 笔 ",9,Eo)):(o(),_("span",Do,"—"))]),_:1}),l(R,{label:"创建时间","min-width":"144"},{default:n(({row:a})=>[f(d(V(bs)(a.create_time)),1)]),_:1}),l(R,{label:"开方人",prop:"doctor_name",width:"90","show-overflow-tooltip":""}),l(R,{label:"创建人",prop:"creator_name",width:"90","show-overflow-tooltip":""}),l(R,{"min-width":"128","show-overflow-tooltip":""},{header:n(()=>[e[107]||(e[107]=r("span",null,"二中心·指派",-1)),l(At,{placement:"top","max-width":"320",content:"与诊单「指派记录」快照一致:仅当本条业务单在操作瞬间为快照中的「关联业务单」(创建人+创建时间命中)时显示。绿色=新医助在名称含「二中心」的部门及其下级;灰色=系统自动释放诊单医助。"},{default:n(()=>[l(i,{class:"ml-0.5 align-middle text-gray-400 cursor-help"},{default:n(()=>[l(V(Tr))]),_:1})]),_:1})]),default:n(({row:a})=>[Number(a.po_assign_snapshot_hit)?Number(a.po_assign_is_release)?(o(),k(T,{key:1,type:"info",size:"small"},{default:n(()=>[...e[108]||(e[108]=[f("已释放",-1)])]),_:1})):Number(a.po_assign_to_er_center)?(o(),k(T,{key:2,type:"success",size:"small"},{default:n(()=>[f(d(a.po_assign_to_assistant_name||"医助#"+a.po_assign_to_assistant_id),1)]),_:2},1024)):(o(),k(T,{key:3,type:"warning",size:"small",effect:"plain"},{default:n(()=>[f(" 非二中心 "+d(a.po_assign_to_assistant_name||"医助#"+a.po_assign_to_assistant_id),1)]),_:2},1024)):(o(),_("span",Fo,"—"))]),_:1}),l(R,{label:"操作",width:"310",fixed:"right"},{default:n(({row:a})=>[r("div",Uo,[A((o(),k(b,{type:"primary",link:"",onClick:P=>$l(a.id)},{default:n(()=>[f(d($s.value),1)]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/detail"]]]),$a(a)?A((o(),k(b,{key:0,type:"primary",link:"",onClick:P=>ql(a)},{default:n(()=>[...e[109]||(e[109]=[f("编辑",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/edit"]]]):v("",!0),wl(a)?A((o(),k(b,{key:1,type:"success",link:"",onClick:P=>Xl(a)},{default:n(()=>[...e[110]||(e[110]=[f("修改单号",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/ddcode"]]]):v("",!0),Lt(a)?A((o(),k(b,{key:2,type:"primary",link:"",onClick:P=>ta(a)},{default:n(()=>[...e[111]||(e[111]=[f("确认发货",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/ship"]]]):v("",!0),jt(a)?A((o(),k(b,{key:3,type:"success",link:"",onClick:P=>Ha(a)},{default:n(()=>[...e[112]||(e[112]=[f("补齐支付单",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),Da(a)?A((o(),k(b,{key:4,type:"primary",link:"",onClick:P=>Wa(a)},{default:n(()=>[...e[113]||(e[113]=[f("完成订单",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/complete"]]]):v("",!0),Fa(a)?A((o(),k(b,{key:5,type:"danger",link:"",onClick:P=>Ga(a)},{default:n(()=>[...e[114]||(e[114]=[f("退款",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/refund"]]]):v("",!0),gl(a)?A((o(),k(b,{key:6,type:"danger",link:"",onClick:P=>Hl(a)},{default:n(()=>[...e[115]||(e[115]=[f("撤回",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/withdraw"]]]):v("",!0),Vl(a)?A((o(),k(b,{key:7,type:"warning",link:"",loading:Zt.value===a.id,onClick:P=>Yl(a)},{default:n(()=>[...e[116]||(e[116]=[f("上传药方",-1)])]),_:1},8,["loading","onClick"])),[[F,["tcm.prescriptionOrder/submitGancaoRecipel"]]]):v("",!0)])]),_:1})]),_:1},8,["data"]),r("div",Io,[l(at,{modelValue:V(X),"onUpdate:modelValue":e[19]||(e[19]=a=>va(X)?X.value=a:null),"page-sizes":[15,20,30,40,100,150,200],onChange:V(I)},null,8,["modelValue","onChange"])])]),_:1})),[[_e,V(X).loading]]),l(Fr,{ref_key:"detailDrawerRef",ref:G,"gancao-preview-loading":Oe.value,onUpdateAmount:Rl,onPatchRxPatient:Pl,onViewPrescription:e[20]||(e[20]=a=>$.value&&us($.value)),onTestGancaoPreview:Jl,onViewPatient:Ps,onDetailChanged:V(I)},{"header-extra":n(({detail:a})=>[r("div",Lo,[e[119]||(e[119]=r("span",{class:"text-sm text-gray-500"},"发货类型",-1)),A((o(),k(Fe,{"model-value":le(a.ship_mode),size:"small",disabled:zt.value||!Ea(a),onChange:hl},{default:n(()=>[l(Se,{label:"gancao"},{default:n(()=>[...e[117]||(e[117]=[f("甘草药房",-1)])]),_:1}),l(Se,{label:"direct",disabled:xl(a)},{default:n(()=>[...e[118]||(e[118]=[f("洛阳药房",-1)])]),_:1},8,["disabled"])]),_:2},1032,["model-value","disabled"])),[[F,["tcm.prescriptionOrder/setShipMode"]]]),yl.value?v("",!0):(o(),k(T,{key:0,type:le(a.ship_mode)==="direct"?"warning":"success",effect:"plain",round:""},{default:n(()=>[f(d(bl(a.ship_mode)),1)]),_:2},1032,["type"]))])]),"header-actions":n(({detail:a})=>[ml(a)?A((o(),k(b,{key:0,type:"warning",size:"small",plain:"",onClick:P=>Ma(a,"prescription")},{default:n(()=>[...e[120]||(e[120]=[f(" 处方审核 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),fl(a)?A((o(),k(b,{key:1,type:"info",size:"small",plain:"",onClick:P=>vn(a)},{default:n(()=>[...e[121]||(e[121]=[f(" 撤回处方审核 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),_l(a)?A((o(),k(b,{key:2,type:"warning",size:"small",plain:"",onClick:P=>Ma(a,"payment")},{default:n(()=>[...e[122]||(e[122]=[f(" 支付审核 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),vl(a)?A((o(),k(b,{key:3,type:"info",size:"small",plain:"",onClick:P=>gn(a)},{default:n(()=>[...e[123]||(e[123]=[f(" 撤回支付审核 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),Lt(a)?A((o(),k(b,{key:4,type:"primary",size:"small",plain:"",onClick:P=>ta(a)},{default:n(()=>[...e[124]||(e[124]=[f(" 确认发货 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/ship"]]]):v("",!0),jt(a)?A((o(),k(b,{key:5,type:"success",size:"small",plain:"",onClick:P=>Ha(a)},{default:n(()=>[...e[125]||(e[125]=[f(" 关联支付单 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),Da(a)?A((o(),k(b,{key:6,type:"primary",size:"small",plain:"",onClick:P=>Wa(a)},{default:n(()=>[...e[126]||(e[126]=[f(" 完成订单 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/complete"]]]):v("",!0),Fa(a)?A((o(),k(b,{key:7,type:"danger",size:"small",plain:"",onClick:P=>Ga(a)},{default:n(()=>[...e[127]||(e[127]=[f(" 退款 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/refund"]]]):v("",!0)]),_:1},8,["gancao-preview-loading","onDetailChanged"]),l(Y,{modelValue:Me.value,"onUpdate:modelValue":e[23]||(e[23]=a=>Me.value=a),title:"修改订单金额",width:"420px","destroy-on-close":"","close-on-click-modal":!1,onClosed:Al},{footer:n(()=>[l(b,{onClick:e[22]||(e[22]=a=>Me.value=!1)},{default:n(()=>[...e[129]||(e[129]=[f("取消",-1)])]),_:1}),l(b,{type:"primary",loading:qt.value,onClick:Ia},{default:n(()=>[...e[130]||(e[130]=[f(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(J,{ref_key:"updateAmountFormRef",ref:mt,model:me,rules:Nl,"label-width":"96px",class:"pr-2",onSubmit:Ie(Ia,["prevent"])},{default:n(()=>[l(c,{label:"当前金额"},{default:n(()=>{var a;return[r("div",zo,"¥"+d(V(q)((a=$.value)==null?void 0:a.amount)),1)]}),_:1}),l(c,{label:"新金额",prop:"amount"},{default:n(()=>[l(ae,{modelValue:me.amount,"onUpdate:modelValue":e[21]||(e[21]=a=>me.amount=a),min:0,step:.01,precision:2,"controls-position":"right",class:"w-full",placeholder:"请输入新金额"},null,8,["modelValue"])]),_:1}),e[128]||(e[128]=r("div",{class:"text-xs text-gray-400 pl-[96px] -mt-1 leading-relaxed"}," 已完成或已取消订单不可修改。提交成功后会刷新详情与操作日志。 ",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(Y,{modelValue:ke.value,"onUpdate:modelValue":e[46]||(e[46]=a=>ke.value=a),title:ie.value?"修改物流信息(甘草订单)":"编辑业务订单",width:"940px",top:"4vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog",onClosed:zl},{footer:n(()=>[r("div",hu,[ie.value?v("",!0):(o(),_("div",wu,[r("span",Vu,"第 "+d(L.value+1)+" / 3 步",1),L.value===2&&M.value>0?(o(),_("span",Su," 订单金额与关联支付单合计须 ≥ ¥"+d(V(q)(M.value)),1)):v("",!0)])),r("div",Nu,[l(b,{size:"large",onClick:e[45]||(e[45]=a=>ke.value=!1)},{default:n(()=>[...e[143]||(e[143]=[f("取消",-1)])]),_:1}),ie.value?v("",!0):(o(),_(O,{key:0},[L.value>0?(o(),k(b,{key:0,size:"large",onClick:Ml},{default:n(()=>[...e[144]||(e[144]=[f("上一步",-1)])]),_:1})):v("",!0),L.value<2?(o(),k(b,{key:1,type:"primary",size:"large",onClick:jl},{default:n(()=>[...e[145]||(e[145]=[f(" 下一步 ",-1)])]),_:1})):v("",!0)],64)),ie.value||L.value===2?(o(),k(b,{key:1,type:"primary",size:"large",loading:Kt.value,onClick:Bl},{default:n(()=>[...e[146]||(e[146]=[f(" 确认保存 ",-1)])]),_:1},8,["loading"])):v("",!0)])])]),default:n(()=>[A((o(),_("div",Mo,[re.value?(o(),_("div",jo,[r("div",qo,[e[131]||(e[131]=r("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),r("div",Bo,[r("span",Go,"#"+d(re.value.id),1),re.value.sn?(o(),_("span",Ho,d(re.value.sn),1)):v("",!0),r("span",Wo,d(re.value.patient_name||"—"),1)])]),l(At,{content:La.value,placement:"bottom","show-after":300},{default:n(()=>[r("div",Ko,d(La.value),1)]),_:1},8,["content"])])):v("",!0),ie.value?(o(),k(xe,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4",title:"订单已提交甘草,仅可修改快递单号与承运商;地址、金额等变更请先走取消流程。"},Ni({_:2},[ft.value?{name:"default",fn:n(()=>[r("div",Qo,"甘草处方单号:"+d(ft.value),1)]),key:"0"}:void 0]),1024)):v("",!0),ie.value?v("",!0):(o(),_(O,{key:2},[l(Fn,{active:L.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:n(()=>[l(ua,{title:"患者与收货",description:"诊单与物流地址"}),l(ua,{title:"服务与支付单",description:"套餐与关联收款"}),l(ua,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),r("p",Jo,d(El.value),1)],64)),l(J,{ref_key:"editFormRef",ref:he,model:m,rules:Ll.value,"label-width":"108px",class:"create-order-form"},{default:n(()=>[ie.value?(o(),k(st,{key:0,gutter:20},{default:n(()=>[l(z,{span:24},{default:n(()=>[l(c,{label:"物流设置"},{default:n(()=>[r("div",Yo,[l(h,{modelValue:m.express_company,"onUpdate:modelValue":e[24]||(e[24]=a=>m.express_company=a),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(p,{label:"自动识别",value:"auto"}),l(p,{label:"顺丰速运",value:"sf"}),l(p,{label:"京东快递",value:"jd"}),l(p,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(u,{modelValue:m.tracking_number,"onUpdate:modelValue":e[25]||(e[25]=a=>m.tracking_number=a),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1})]),_:1})):v("",!0),ie.value?v("",!0):(o(),_(O,{key:1},[A(r("div",Xo,[l(st,{gutter:20},{default:n(()=>[l(z,{span:12},{default:n(()=>[l(c,{label:"收货人",prop:"recipient_name"},{default:n(()=>[l(u,{modelValue:m.recipient_name,"onUpdate:modelValue":e[26]||(e[26]=a=>m.recipient_name=a),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(z,{span:12},{default:n(()=>[l(c,{label:"收货手机",prop:"recipient_phone"},{default:n(()=>[l(u,{modelValue:m.recipient_phone,"onUpdate:modelValue":e[27]||(e[27]=a=>m.recipient_phone=a),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),l(z,{span:24},{default:n(()=>[l(c,{label:"省市区",prop:"region"},{default:n(()=>[l(Un,{modelValue:m.region,"onUpdate:modelValue":e[28]||(e[28]=a=>m.region=a),options:ut.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),l(z,{span:24},{default:n(()=>[l(c,{label:"详细地址",prop:"shipping_address"},{default:n(()=>[l(u,{modelValue:m.shipping_address,"onUpdate:modelValue":e[29]||(e[29]=a=>m.shipping_address=a),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[pa,L.value===0]]),A(r("div",Zo,[it.value?(o(),k(st,{key:0,gutter:20,class:"mb-1"},{default:n(()=>[l(z,{span:24},{default:n(()=>[r("div",eu,[e[134]||(e[134]=r("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),m.prescription_id?(o(),k(b,{key:0,type:"primary",size:"small",link:"",onClick:On},{default:n(()=>[...e[132]||(e[132]=[f(" 详细 ",-1)])]),_:1})):v("",!0),m.id?(o(),k(b,{key:1,type:"warning",size:"small",link:"",loading:Oe.value,icon:V($r),onClick:Ql},{default:n(()=>[...e[133]||(e[133]=[f(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0),r("span",tu,"ID: "+d(m.prescription_id||"—"),1)]),r("div",au,[za.value.length?(o(),_("div",su,[e[135]||(e[135]=r("div",{class:"text-gray-500"},"创建人所属部门",-1)),(o(!0),_(O,null,U(za.value,(a,P)=>(o(),_("div",{key:P,class:"pl-0 min-w-0"},[a.length?(o(),k(Ln,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:n(()=>[(o(!0),_(O,null,U(a,(S,E)=>(o(),k(In,{key:E},{default:n(()=>[r("span",lu,d(S),1)]),_:2},1024))),128))]),_:2},1024)):v("",!0)]))),128))])):(o(),_("div",nu,"创建人所属部门:—"))])]),_:1}),l(z,{xs:24,sm:8},{default:n(()=>[l(c,{label:"复诊"},{default:n(()=>[l(zn,{modelValue:m.is_follow_up,"onUpdate:modelValue":e[30]||(e[30]=a=>m.is_follow_up=a),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),l(z,{xs:24,sm:8},{default:n(()=>[l(c,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:n(()=>[r("div",ru,[l(ae,{modelValue:m.medication_days,"onUpdate:modelValue":e[31]||(e[31]=a=>m.medication_days=a),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[136]||(e[136]=r("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),l(z,{xs:24,sm:8},{default:n(()=>[l(c,{label:"上次医生"},{default:n(()=>[l(u,{modelValue:m.prev_staff,"onUpdate:modelValue":e[32]||(e[32]=a=>m.prev_staff=a),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(z,{span:12},{default:n(()=>[l(c,{label:Ua.value,prop:"dose_count"},{default:n(()=>[l(ae,{modelValue:m.dose_count,"onUpdate:modelValue":e[33]||(e[33]=a=>m.dose_count=a),min:1,placeholder:Ua.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),l(z,{span:12},{default:n(()=>[l(c,{label:"剂量单位",prop:"dose_unit"},{default:n(()=>[l(h,{modelValue:m.dose_unit,"onUpdate:modelValue":e[34]||(e[34]=a=>m.dose_unit=a),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(p,{label:"剂",value:"剂"}),l(p,{label:"丸",value:"丸"}),l(p,{label:"袋",value:"袋"}),l(p,{label:"盒",value:"盒"}),l(p,{label:"瓶",value:"瓶"}),l(p,{label:"膏",value:"膏"}),l(p,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):v("",!0),l(st,{gutter:20},{default:n(()=>[l(z,{span:12},{default:n(()=>[l(c,{label:"服务渠道"},{default:n(()=>[l(h,{modelValue:m.service_channel,"onUpdate:modelValue":e[35]||(e[35]=a=>m.service_channel=a),class:"w-full",filterable:"","allow-create":"","default-first-option":"",clearable:"",placeholder:"可选或自定义输入"},{default:n(()=>[l(p,{label:"未指派",value:"0"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(z,{span:12},{default:n(()=>[l(c,{label:"服务套餐"},{default:n(()=>[l(h,{modelValue:m.service_package,"onUpdate:modelValue":e[36]||(e[36]=a=>m.service_package=a),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:n(()=>[(o(!0),_(O,null,U(Fl.value,a=>(o(),k(p,{key:a.value,label:a.name,value:a.value,disabled:a.status===0},null,8,["label","value","disabled"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(z,{span:24},{default:n(()=>[l(c,{label:"物流设置"},{default:n(()=>[r("div",iu,[l(h,{modelValue:m.express_company,"onUpdate:modelValue":e[37]||(e[37]=a=>m.express_company=a),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(p,{label:"自动识别",value:"auto"}),l(p,{label:"顺丰速运",value:"sf"}),l(p,{label:"京东快递",value:"jd"}),l(p,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(u,{modelValue:m.tracking_number,"onUpdate:modelValue":e[38]||(e[38]=a=>m.tracking_number=a),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),l(z,{span:24},{default:n(()=>[l(c,{label:"关联支付单",prop:"pay_order_ids",required:M.value>0},{default:n(()=>[l(h,{modelValue:m.pay_order_ids,"onUpdate:modelValue":e[39]||(e[39]=a=>m.pay_order_ids=a),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:M.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Qt.value},{default:n(()=>[(o(!0),_(O,null,U(Be.value,a=>(o(),k(p,{key:a.id,label:`${a.order_no} · ¥${a.amount} · ${vt(a.order_type)} · ${V(Tt)(a)}`,value:a.id,class:"!h-auto py-1.5"},{default:n(()=>[r("div",ou,[r("div",uu,[r("span",du,d(a.order_no),1),r("span",pu,"¥"+d(a.amount),1)]),r("div",cu,[r("span",mu,[f(d(vt(a.order_type))+" · "+d(V(Tt)(a)),1),a.remark?(o(),_(O,{key:0},[f(" · "+d(a.remark),1)],64)):v("",!0)]),r("span",_u,d(String(a.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),r("div",fu,[M.value>0?(o(),_(O,{key:0},[r("span",vu,"当前已开启关联支付门槛(¥"+d(V(q)(M.value))+"),须至少选择一笔支付单。",1),e[137]||(e[137]=r("span",{class:"mx-1"},null,-1))],64)):v("",!0),e[139]||(e[139]=f(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),l(At,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:n(()=>[...e[138]||(e[138]=[r("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1},8,["required"])]),_:1})]),_:1})],512),[[pa,L.value===1]]),A(r("div",gu,[r("div",{class:B(["create-order-deposit-bar",Jt.value>=M.value?"is-ok":"is-warn"])},[r("div",yu,[e[140]||(e[140]=r("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),r("strong",null,"¥"+d(V(q)(M.value)),1),r("span",bu,d(M.value>0?"须 ≥ 此值":"未设置"),1)]),e[142]||(e[142]=r("div",{class:"create-order-deposit-bar__sep"},null,-1)),r("div",xu,[e[141]||(e[141]=r("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),r("strong",null,"¥"+d(V(q)(Jt.value)),1),r("span",ku,d(Jt.value>=M.value?"已达标":"未达标"),1)])],2),l(st,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:n(()=>[l(z,{span:12},{default:n(()=>[l(c,{label:"费用类别",prop:"fee_type"},{default:n(()=>[l(h,{modelValue:m.fee_type,"onUpdate:modelValue":e[40]||(e[40]=a=>m.fee_type=a),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(p,{label:"挂号费",value:1}),l(p,{label:"问诊费",value:2}),l(p,{label:"药品费用",value:3}),l(p,{label:"首付费用",value:4}),l(p,{label:"尾款费用",value:5}),l(p,{label:"其他费用",value:6}),l(p,{label:"全部费用",value:7}),l(p,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(z,{span:12},{default:n(()=>[l(c,{label:"总金额",prop:"amount"},{default:n(()=>[l(ae,{modelValue:m.amount,"onUpdate:modelValue":e[41]||(e[41]=a=>m.amount=a),min:Ul.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),A((o(),k(z,{span:12},{default:n(()=>[l(c,{label:"内部成本"},{default:n(()=>[l(ae,{modelValue:m.internal_cost,"onUpdate:modelValue":e[42]||(e[42]=a=>m.internal_cost=a),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[F,["finance.account_log/lists"]]]),l(z,{span:24},{default:n(()=>[A((o(),k(c,{label:"药房备注"},{default:n(()=>[l(u,{modelValue:m.remark_extra,"onUpdate:modelValue":e[43]||(e[43]=a=>m.remark_extra=a),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[F,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(c,{label:"医助备注"},{default:n(()=>[l(u,{modelValue:m.remark_assistant,"onUpdate:modelValue":e[44]||(e[44]=a=>m.remark_assistant=a),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[pa,L.value===2]])],64))]),_:1},8,["model","rules"])])),[[_e,Wt.value]])]),_:1},8,["modelValue","title"]),l(Y,{modelValue:Ge.value,"onUpdate:modelValue":e[51]||(e[51]=a=>Ge.value=a),title:Gl.value,width:"480px","destroy-on-close":"",onClosed:e[52]||(e[52]=a=>Pe.value="")},{footer:n(()=>[l(b,{onClick:e[48]||(e[48]=a=>Ge.value=!1)},{default:n(()=>[...e[148]||(e[148]=[f("取消",-1)])]),_:1}),l(b,{type:"primary",loading:gt.value,onClick:e[49]||(e[49]=a=>ja("approve"))},{default:n(()=>[...e[149]||(e[149]=[f("同意通过",-1)])]),_:1},8,["loading"]),l(b,{type:"danger",loading:gt.value,onClick:e[50]||(e[50]=a=>ja("reject"))},{default:n(()=>[...e[150]||(e[150]=[f("驳回阻止",-1)])]),_:1},8,["loading"])]),default:n(()=>[He.value&&He.value.completion_request===1?(o(),k(xe,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:n(()=>[r("div",Cu,[e[147]||(e[147]=r("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),r("div",Pu," 申请人:"+d(He.value.completion_request_by_name||"—"),1),r("div",Ou," 申请时间:"+d(V(bs)(He.value.completion_request_time)),1)])]),_:1})):v("",!0),e[151]||(e[151]=r("p",{class:"text-[13px] text-gray-500 mb-3 bg-gray-50/80 border border-gray-100 p-2 rounded"},"驳回时必须填写意见;通过时意见选填。",-1)),l(u,{modelValue:Pe.value,"onUpdate:modelValue":e[47]||(e[47]=a=>Pe.value=a),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),l(Y,{modelValue:We.value,"onUpdate:modelValue":e[56]||(e[56]=a=>We.value=a),title:"修改快递单号",width:"420px","destroy-on-close":"","close-on-click-modal":!1},{footer:n(()=>[l(b,{onClick:e[55]||(e[55]=a=>We.value=!1)},{default:n(()=>[...e[153]||(e[153]=[f("取消",-1)])]),_:1}),l(b,{type:"primary",loading:bt.value,onClick:qa},{default:n(()=>[...e[154]||(e[154]=[f("保存单号",-1)])]),_:1},8,["loading"])]),default:n(()=>[A((o(),k(J,{"label-width":"90px",class:"pr-2",onSubmit:Ie(qa,["prevent"])},{default:n(()=>[l(c,{label:"承运商"},{default:n(()=>[l(h,{modelValue:Z.express_company,"onUpdate:modelValue":e[53]||(e[53]=a=>Z.express_company=a),class:"w-full",placeholder:"选择承运商"},{default:n(()=>[l(p,{label:"自动识别",value:"auto"}),l(p,{label:"顺丰速运",value:"sf"}),l(p,{label:"京东快递",value:"jd"}),l(p,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(c,{label:"快递单号"},{default:n(()=>[l(u,{modelValue:Z.tracking_number,"onUpdate:modelValue":e[54]||(e[54]=a=>Z.tracking_number=a),maxlength:"80",placeholder:"请输入快递单号",clearable:"",autofocus:""},null,8,["modelValue"])]),_:1}),e[152]||(e[152]=r("div",{class:"text-xs text-gray-400 pl-[90px] -mt-1 leading-relaxed"}," 仅更新快递信息,其他字段不受影响。 ",-1))]),_:1})),[[_e,bt.value]])]),_:1},8,["modelValue"]),l(Y,{modelValue:we.value,"onUpdate:modelValue":e[60]||(e[60]=a=>we.value=a),title:"确认发货",width:"440px","destroy-on-close":"","close-on-click-modal":!1},{footer:n(()=>[l(b,{onClick:e[59]||(e[59]=a=>we.value=!1)},{default:n(()=>[...e[156]||(e[156]=[f("取消",-1)])]),_:1}),l(b,{type:"primary",loading:kt.value,onClick:Ba},{default:n(()=>[...e[157]||(e[157]=[f(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(xe,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),A((o(),k(J,{"label-width":"90px",class:"pr-2",onSubmit:Ie(Ba,["prevent"])},{default:n(()=>[l(c,{label:"发货方式"},{default:n(()=>[l(T,{type:le(H.ship_mode)==="direct"?"warning":"success",effect:"plain",size:"default"},{default:n(()=>[f(d(kl.value),1)]),_:1},8,["type"]),e[155]||(e[155]=r("span",{class:"text-xs text-gray-400 ml-2"},"请在订单详情顶部「发货类型」中设置,此处不可修改",-1))]),_:1}),l(c,{label:"承运商"},{default:n(()=>[l(h,{modelValue:H.express_company,"onUpdate:modelValue":e[57]||(e[57]=a=>H.express_company=a),class:"w-full"},{default:n(()=>[l(p,{label:"自动识别",value:"auto"}),l(p,{label:"顺丰速运",value:"sf"}),l(p,{label:"京东快递",value:"jd"}),l(p,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(c,{label:"快递单号"},{default:n(()=>[l(u,{modelValue:H.tracking_number,"onUpdate:modelValue":e[58]||(e[58]=a=>H.tracking_number=a),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[_e,kt.value]])]),_:1},8,["modelValue"]),l(Y,{modelValue:Re.value,"onUpdate:modelValue":e[65]||(e[65]=a=>Re.value=a),title:"完成订单",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:sn},{footer:n(()=>[l(b,{onClick:e[64]||(e[64]=a=>Re.value=!1)},{default:n(()=>[...e[161]||(e[161]=[f("取消",-1)])]),_:1}),l(b,{type:ye.value===10?"danger":"primary",loading:Ke.value,onClick:rn},{default:n(()=>[f(d(ye.value===10?"确认退款":"确定"),1)]),_:1},8,["type","loading"])]),default:n(()=>[A((o(),_("div",Au,[je.value.show?(o(),k(xe,{key:0,type:"error",effect:"dark",closable:!1,"show-icon":"",class:"mb-3 !items-start ring-2 ring-red-600/70",title:"物流异常:轨迹含拒收/退回等,请先核实处理再结案"},{default:n(()=>[r("div",Ru,[je.value.keywords.length?(o(),_("div",Tu,[e[158]||(e[158]=r("span",{class:"text-red-100/90"},"命中:",-1)),(o(!0),_(O,null,U(je.value.keywords,a=>(o(),k(T,{key:a,type:"danger",effect:"plain",size:"small",class:"!border-white/35 !text-white"},{default:n(()=>[f(d(a),1)]),_:2},1024))),128))])):v("",!0),je.value.lines.length?(o(),_("ul",$u,[(o(!0),_(O,null,U(je.value.lines,(a,P)=>(o(),_("li",{key:P},d(a),1))),128))])):v("",!0),e[159]||(e[159]=r("div",{class:"text-red-100/85 border-t border-white/15 pt-1.5"}," 确认已协调拒收/退回后续(重发、退款、改址等)后再完成订单。 ",-1))])]),_:1})):v("",!0),e[160]||(e[160]=r("p",{class:"text-sm text-gray-600 mb-3"}," 请选择本单结案状态。选择「已完成」时,实付将按已关联的支付单金额汇总;选择「退款」时将关联收款单标记为已退款并清零本单已付。 ",-1)),l(h,{modelValue:ye.value,"onUpdate:modelValue":e[61]||(e[61]=a=>ye.value=a),class:"w-full",placeholder:"请选择"},{default:n(()=>[(o(),_(O,null,U(en,a=>l(p,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),ye.value===10?(o(),_(O,{key:1},[l(xe,{type:"warning",closable:!1,"show-icon":"",class:"mt-3 !items-start",title:"退款将处理本单全部关联收款单,已付总额清零,且不可撤销。"}),A((o(),_("div",Eu,[pe.value.length?(o(),_("div",Du,[r("div",Fu," 将退款的关联收款("+d(pe.value.length)+" 笔 · 合计 ¥"+d(V(q)(tn.value))+") ",1),l(tt,{data:pe.value,size:"small",border:"",stripe:"","max-height":"200"},{default:n(()=>[l(R,{prop:"order_no",label:"单号","min-width":"120","show-overflow-tooltip":""}),l(R,{label:"类型",width:"88"},{default:n(({row:a})=>[f(d(a.order_type_desc||V(ys)(a.order_type)),1)]),_:1}),l(R,{label:"金额",width:"88",align:"right"},{default:n(({row:a})=>[r("span",Uu,"¥"+d(a.amount),1)]),_:1}),l(R,{label:"状态",width:"92",align:"center"},{default:n(({row:a})=>[l(T,{type:V(Lr)(a.status),size:"small"},{default:n(()=>[f(d(a.status_desc||V(zr)(a.status)),1)]),_:2},1032,["type"])]),_:1})]),_:1},8,["data"])])):Qe.value?v("",!0):(o(),_("p",Iu," 当前无已关联的收款单;提交后仍将本单标记为「退款」并清零已付。 "))])),[[_e,Qe.value]]),l(J,{ref_key:"completeRefundFormRef",ref:aa,model:ee,rules:an.value,"label-width":"88px",class:"mt-3"},{default:n(()=>[l(c,{label:"退款金额",prop:"refund_amount"},{default:n(()=>[l(ae,{modelValue:ee.refund_amount,"onUpdate:modelValue":e[62]||(e[62]=a=>ee.refund_amount=a),min:.01,max:be.value>0?be.value:void 0,step:.01,precision:2,class:"w-full","controls-position":"right"},null,8,["modelValue","max"]),r("div",Lu," 可退上限 ¥"+d(V(q)(be.value)),1)]),_:1}),l(c,{label:"退款原因",prop:"reason"},{default:n(()=>[l(u,{modelValue:ee.reason,"onUpdate:modelValue":e[63]||(e[63]=a=>ee.reason=a),type:"textarea",rows:3,maxlength:"500","show-word-limit":"",placeholder:"请填写退款原因(必填)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])],64)):v("",!0)])),[[_e,_t.value]])]),_:1},8,["modelValue"]),l(Y,{modelValue:Ye.value,"onUpdate:modelValue":e[69]||(e[69]=a=>Ye.value=a),title:"订单退款",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:dn},{footer:n(()=>[l(b,{onClick:e[68]||(e[68]=a=>Ye.value=!1)},{default:n(()=>[...e[162]||(e[162]=[f("取消",-1)])]),_:1}),l(b,{type:"danger",loading:na.value,onClick:pn},{default:n(()=>[...e[163]||(e[163]=[f(" 确认退款 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(xe,{type:"warning",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:on.value},null,8,["title"]),l(J,{ref_key:"refundOrderFormRef",ref:ra,model:Q,rules:un.value,"label-width":"88px"},{default:n(()=>[l(c,{label:"退款金额",prop:"refund_amount"},{default:n(()=>[l(ae,{modelValue:Q.refund_amount,"onUpdate:modelValue":e[66]||(e[66]=a=>Q.refund_amount=a),min:.01,max:oe.value>0?oe.value:void 0,step:.01,precision:2,class:"w-full","controls-position":"right"},null,8,["modelValue","max"]),r("div",zu," 可退上限 ¥"+d(V(q)(oe.value))+"(默认全额);部分退款时按金额从关联收款单依次标记已退款,并扣减本单已付。 ",1)]),_:1}),l(c,{label:"退款原因",prop:"reason"},{default:n(()=>[l(u,{modelValue:Q.reason,"onUpdate:modelValue":e[67]||(e[67]=a=>Q.reason=a),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"请填写退款原因(必填)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"]),l(Y,{modelValue:Xe.value,"onUpdate:modelValue":e[77]||(e[77]=a=>Xe.value=a),title:"补齐支付单",width:"600px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[78]||(e[78]=a=>{var P;return(P=wt.value)==null?void 0:P.clearValidate()})},{footer:n(()=>[l(b,{onClick:e[76]||(e[76]=a=>Xe.value=!1)},{default:n(()=>[...e[173]||(e[173]=[f("取消",-1)])]),_:1}),l(b,{type:"primary",loading:ht.value,onClick:fn},{default:n(()=>[f(d(C.add_mode==="completion_only"?"提交申请":"确认新增"),1)]),_:1},8,["loading"])]),default:n(()=>[l(xe,{title:cn.value,type:"info",closable:!1,"show-icon":"",class:"mb-4"},null,8,["title"]),A((o(),k(J,{ref_key:"addPayOrderFormRef",ref:wt,model:C,rules:mn.value,"label-width":"90px",class:"pr-2"},{default:n(()=>[l(c,{label:"添加方式",prop:"add_mode"},{default:n(()=>[l(Fe,{modelValue:C.add_mode,"onUpdate:modelValue":e[70]||(e[70]=a=>C.add_mode=a)},{default:n(()=>[l(Ue,{value:"create"},{default:n(()=>[...e[164]||(e[164]=[f("付呗",-1)])]),_:1}),l(Ue,{value:"create_express"},{default:n(()=>[...e[165]||(e[165]=[f("快递代收",-1)])]),_:1}),l(Ue,{value:"link"},{default:n(()=>[...e[166]||(e[166]=[f("关联已有",-1)])]),_:1}),l(Ue,{value:"completion_only"},{default:n(()=>[...e[167]||(e[167]=[f("直接完单申请",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),C.add_mode==="create"||C.add_mode==="create_express"?(o(),_(O,{key:0},[l(c,{label:"费用类别",prop:"order_type"},{default:n(()=>[l(h,{modelValue:C.order_type,"onUpdate:modelValue":e[71]||(e[71]=a=>C.order_type=a),class:"w-full"},{default:n(()=>[l(p,{label:"挂号费",value:1}),l(p,{label:"问诊费",value:2}),l(p,{label:"药品费用",value:3}),l(p,{label:"首付费用",value:4}),l(p,{label:"尾款费用",value:5}),l(p,{label:"其他费用",value:6}),l(p,{label:"全部费用",value:7}),l(p,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l(c,{label:"支付金额",prop:"pay_amount"},{default:n(()=>[l(ae,{modelValue:C.pay_amount,"onUpdate:modelValue":e[72]||(e[72]=a=>C.pay_amount=a),min:0,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元,可为 0)"},null,8,["modelValue"])]),_:1}),l(c,{label:"备注",prop:"pay_remark"},{default:n(()=>[l(u,{modelValue:C.pay_remark,"onUpdate:modelValue":e[73]||(e[73]=a=>C.pay_remark=a),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):C.add_mode==="completion_only"?(o(),k(xe,{key:1,type:"warning",closable:!1,"show-icon":"",class:"!mb-0"},{title:n(()=>[...e[168]||(e[168]=[f(" 不新增或关联支付单,仅向审核人员提交「完成订单」申请;提交后支付审核将变为待审核,审核通过后将自动结案。 ",-1)])]),_:1})):(o(),k(c,{key:2,label:"选择支付单",prop:"link_pay_order_id"},{default:n(()=>[l(h,{modelValue:C.link_pay_order_ids,"onUpdate:modelValue":e[74]||(e[74]=a=>C.link_pay_order_ids=a),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:ia.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:n(()=>[(o(!0),_(O,null,U(Vt.value,a=>(o(),k(p,{key:a.id,label:`${a.order_no} · ¥${a.amount} · ${vt(a.order_type)} · ${V(Tt)(a)}`,value:a.id},{default:n(()=>[r("div",Mu,[r("div",ju,[r("span",qu,d(a.order_no),1),r("span",Bu,"¥"+d(a.amount),1)]),r("div",Gu,d(vt(a.order_type))+" · "+d(V(Tt)(a)),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[169]||(e[169]=r("div",{class:"text-xs text-gray-500 mt-1.5"}," 仅显示本诊单下未被其他业务订单占用的支付单,可同时选择多个 ",-1))]),_:1})),C.add_mode!=="completion_only"?(o(),k(c,{key:3,label:"完单申请"},{default:n(()=>[l(Fe,{modelValue:C.completion_request,"onUpdate:modelValue":e[75]||(e[75]=a=>C.completion_request=a)},{default:n(()=>[l(Ue,{value:0},{default:n(()=>[...e[170]||(e[170]=[f("不申请",-1)])]),_:1}),l(Ue,{value:1},{default:n(()=>[...e[171]||(e[171]=[f("申请完成订单",-1)])]),_:1})]),_:1},8,["modelValue"]),e[172]||(e[172]=r("div",{class:"text-xs text-gray-400 mt-1"},' 选择"申请完成订单"后,审核人员可在支付审核时看到此申请 ',-1))]),_:1})):v("",!0)]),_:1},8,["model","rules"])),[[_e,ht.value]])]),_:1},8,["modelValue"]),l(Y,{modelValue:qe.value,"onUpdate:modelValue":e[82]||(e[82]=a=>qe.value=a),title:"修改处方患者信息",width:"440px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:Ol},{footer:n(()=>[l(b,{onClick:e[81]||(e[81]=a=>qe.value=!1)},{default:n(()=>[...e[174]||(e[174]=[f("取消",-1)])]),_:1}),l(b,{type:"primary",loading:Bt.value,onClick:Tl},{default:n(()=>[...e[175]||(e[175]=[f(" 保存 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(J,{ref_key:"patchRxPatientFormRef",ref:Gt,model:ne,rules:Cl,"label-width":"96px"},{default:n(()=>[l(c,{label:"患者姓名",prop:"patient_name"},{default:n(()=>[l(u,{modelValue:ne.patient_name,"onUpdate:modelValue":e[79]||(e[79]=a=>ne.patient_name=a),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),l(c,{label:"手机",prop:"phone"},{default:n(()=>[l(u,{modelValue:ne.phone,"onUpdate:modelValue":e[80]||(e[80]=a=>ne.phone=a),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(ms,{modelValue:St.value,"onUpdate:modelValue":e[84]||(e[84]=a=>St.value=a),size:"920px","close-on-click-modal":!1},{header:n(()=>[r("div",Hu,[e[178]||(e[178]=r("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),x.value&&!Nt.value?(o(),_("div",Wu,[l(b,{size:"small",loading:Ee.value,onClick:En},{default:n(()=>[...e[176]||(e[176]=[f(" 下载图片 ",-1)])]),_:1},8,["loading"]),l(b,{size:"small",loading:Ee.value,onClick:Dn},{default:n(()=>[...e[177]||(e[177]=[f(" 下载PDF ",-1)])]),_:1},8,["loading"])])):v("",!0)])]),default:n(()=>{var a,P;return[A((o(),_("div",Ku,[x.value?(o(),k(Mn,{key:0,modelValue:W.value,"onUpdate:modelValue":e[83]||(e[83]=S=>W.value=S),class:"mx-4 mt-2",style:{"margin-bottom":"0px","z-index":"1",position:"relative"}},{default:n(()=>[l(cs,{label:"药房联",name:"internal"}),l(cs,{label:"处方联",name:"user"})]),_:1},8,["modelValue"])):v("",!0),x.value?(o(),_("div",Qu,[Number(x.value.void_status)===1?(o(),k(T,{key:0,type:"danger",size:"small"},{default:n(()=>[...e[179]||(e[179]=[f("已作废",-1)])]),_:1})):Number(x.value.business_prescription_audit_rejected)===1?(o(),k(T,{key:1,type:"danger",size:"small"},{default:n(()=>[...e[180]||(e[180]=[f("业务订单已驳回",-1)])]),_:1})):Number(x.value.audit_status)===1?(o(),k(T,{key:2,type:"success",size:"small"},{default:n(()=>[...e[181]||(e[181]=[f("已通过",-1)])]),_:1})):Number(x.value.audit_status)===0?(o(),k(T,{key:3,type:"warning",size:"small"},{default:n(()=>[...e[182]||(e[182]=[f("待审核",-1)])]),_:1})):(o(),k(T,{key:4,type:"danger",size:"small"},{default:n(()=>[...e[183]||(e[183]=[f("已驳回",-1)])]),_:1}))])):v("",!0),x.value&&Number(x.value.void_status)===1?(o(),_("div",Ju," 作废人:"+d(x.value.void_by_name||"—")+",作废时间:"+d(Nn(x.value.void_time)),1)):x.value&&Number(x.value.business_prescription_audit_rejected)===1?(o(),_("div",Yu,[e[184]||(e[184]=r("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),x.value.business_prescription_audit_remark?(o(),_("div",Xu," 驳回意见:"+d(x.value.business_prescription_audit_remark),1)):v("",!0)])):x.value&&Number(x.value.audit_status)===2?(o(),_("div",Zu,[e[185]||(e[185]=r("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),x.value.audit_remark?(o(),_("div",ed,"驳回意见:"+d(x.value.audit_remark),1)):v("",!0)])):v("",!0),x.value?(o(),_("div",{key:5,ref_key:"prescriptionSlipPrintRef",ref:Ka,class:"rx-paper"},[r("div",td,d(W.value==="internal"?"药房联":yn),1),r("div",ad,[r("span",sd,d(W.value==="user"?"服药前请核对姓名、电话、医生等信息以及医嘱等要点":"服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点"),1),r("div",ld,[r("div",nd,[e[186]||(e[186]=r("span",{class:"rx-meta-label"},"日期",-1)),r("span",rd,d(bn.value),1)]),r("div",id,[e[187]||(e[187]=r("span",{class:"rx-meta-label"},"处方编号",-1)),r("span",od,d(xn.value),1)]),r("div",ud,[e[188]||(e[188]=r("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),r("span",dd,d(kn.value),1)]),Za.value?(o(),_("div",pd,[e[189]||(e[189]=r("span",{class:"rx-meta-label"},"业务单号",-1)),r("span",cd,d(Za.value),1)])):v("",!0)])]),r("div",md,[r("div",_d,[r("div",fd,[e[190]||(e[190]=r("span",{class:"rx-key"},"姓名",-1)),r("span",vd,d(x.value.patient_name||"—"),1)]),r("div",gd,[e[191]||(e[191]=r("span",{class:"rx-key"},"性别",-1)),r("span",yd,d(Cn(x.value.gender)),1)]),r("div",bd,[e[192]||(e[192]=r("span",{class:"rx-key"},"年龄",-1)),r("span",xd,d(Pn(x.value.age)),1)]),r("div",kd,[e[193]||(e[193]=r("span",{class:"rx-key"},"电话",-1)),r("span",hd,d(x.value.phone||x.value.recipient_phone||"—"),1)])]),r("div",wd,[r("div",Vd,[e[194]||(e[194]=r("span",{class:"rx-key"},"收件信息",-1)),r("span",Sd,d(hn.value),1)])]),r("div",Nd,[r("div",Cd,[e[195]||(e[195]=r("span",{class:"rx-key"},"临床诊断",-1)),r("span",Pd,d(x.value.clinical_diagnosis||"—"),1)])])]),r("div",Od,[r("div",Ad,d(W.value==="internal"?"药房联":"处方联"),1),r("div",Rd,[e[198]||(e[198]=r("div",{class:"rx-rp-label"},"Rp.",-1)),r("div",Td,[r("div",$d,[e[196]||(e[196]=r("span",null,"用药 (单剂)",-1)),r("span",null,d(W.value==="user"?"用量":"总量"),1)]),r("div",Ed,[e[197]||(e[197]=r("span",null,"用药 (单剂)",-1)),r("span",null,d(W.value==="user"?"用量":"总量"),1)])])]),r("div",Dd,[W.value==="internal"?(o(),_(O,{key:0},[Ct.value.length?(o(),_(O,{key:0},[e[199]||(e[199]=r("div",{class:"rx-herb-section-label"},"主方",-1)),(o(!0),_(O,null,U(Ct.value,(S,E)=>(o(),_("div",{key:"main-"+E,class:"rx-herb-cell"},[r("span",Fd,d(S.name)+" ("+d(S.dosage)+"克)",1),r("span",Ud,d(ts(S.dosage))+"克",1)]))),128))],64)):v("",!0),De.value.length?(o(),_(O,{key:1},[r("div",Id,[e[200]||(e[200]=f(" 辅方",-1)),$e.value?(o(),_("span",Ld,"("+d($e.value)+")",1)):v("",!0)]),(o(!0),_(O,null,U(De.value,(S,E)=>(o(),_("div",{key:"aux-"+E,class:"rx-herb-cell"},[r("span",zd,d(S.name)+" ("+d(S.dosage)+"克)",1),r("span",Md,d(ts(S.dosage))+"克",1)]))),128))],64)):v("",!0)],64)):(o(),_(O,{key:1},[Ct.value.length?(o(),_(O,{key:0},[e[201]||(e[201]=r("div",{class:"rx-herb-section-label"},"主方",-1)),(o(!0),_(O,null,U(Ct.value,(S,E)=>(o(),_("div",{key:"user-main-"+E,class:"rx-herb-cell"},[r("span",jd,d(S.name),1),r("span",qd,d(S.dosage)+"克",1)]))),128))],64)):v("",!0),De.value.length?(o(),_(O,{key:1},[e[202]||(e[202]=r("div",{class:"rx-herb-section-label rx-herb-section-label--aux"},"辅方",-1)),(o(!0),_(O,null,U(De.value,(S,E)=>(o(),_("div",{key:"user-aux-"+E,class:"rx-herb-cell"},[r("span",Bd,d(S.name),1),r("span",Gd,d(S.dosage)+"克",1)]))),128))],64)):v("",!0)],64))])]),r("div",Hd,[W.value==="internal"?(o(),_(O,{key:0},[oa.value?(o(),_("p",Wd,"主服法:"+d(as.value),1)):(o(),_("p",Kd,"服法:"+d(as.value),1)),oa.value?(o(),_("p",Qd,"辅服法:"+d(oa.value),1)):v("",!0)],64)):v("",!0),ss.value?(o(),_("p",Jd,"医嘱:"+d(ss.value),1)):v("",!0),Ja.value?(o(),_("p",Yd,"忌口:"+d(Ja.value),1)):v("",!0),W.value==="internal"&&ls.value?(o(),_("p",Xd,"备注:"+d(ls.value),1)):v("",!0),ns.value?(o(),_("p",Zd," 药房备注:"+d(ns.value),1)):v("",!0),W.value==="internal"&&rs.value&&((a=x.value)==null?void 0:a.prescription_type)!=="饮片"?(o(),_("p",ep," 出丸:"+d(rs.value),1)):v("",!0)]),r("div",tp,[r("div",{class:B(["rx-bot-row rx-bot-row-1",{"rx-bot-row-1--user":W.value==="user"}])},[r("div",ap,[e[203]||(e[203]=r("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),r("div",sp,[x.value.doctor_signature?(o(),_("img",{key:0,src:x.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,lp)):v("",!0),x.value.doctor_signature?v("",!0):(o(),_("span",np,d(x.value.doctor_name||"—"),1))])]),W.value==="internal"?(o(),_("div",rp,[e[204]||(e[204]=r("span",{class:"rx-bot-meta-key"},"类型:",-1)),r("span",ip,d(Vn.value),1)])):v("",!0),r("div",op,[e[205]||(e[205]=r("span",{class:"rx-bot-meta-key"},"天数:",-1)),r("span",up,d(((P=$.value)==null?void 0:P.medication_days)!=null&&String($.value.medication_days).trim()!==""?$.value.medication_days+" 天":"—"),1)]),W.value==="internal"?(o(),_("div",dp,[e[206]||(e[206]=r("span",{class:"rx-bot-meta-key"},"剂量:",-1)),r("span",pp,d(wn.value)+"克",1)])):v("",!0)],2)]),e[207]||(e[207]=r("div",{class:"rx-bot-row rx-hospital-row"},[r("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),r("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512)):v("",!0),x.value&&(x.value.audit_by_name||x.value.audit_remark)?(o(),_("div",cp,[x.value.audit_by_name?(o(),_("div",mp,[f(" 审核人:"+d(x.value.audit_by_name)+" ",1),x.value.audit_time?(o(),_("span",_p,d(is(x.value.audit_time)),1)):v("",!0)])):v("",!0),x.value.audit_remark?(o(),_("div",fp,"审核意见:"+d(x.value.audit_remark),1)):v("",!0)])):v("",!0)])),[[_e,Nt.value]])]}),_:1},8,["modelValue"]),l(ms,{modelValue:yt.value,"onUpdate:modelValue":e[85]||(e[85]=a=>yt.value=a),title:"甘草预下单测试结果",size:"800px","destroy-on-close":""},{default:n(()=>{var a,P;return[D.value?(o(),_("div",vp,[l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[r("div",gp,[e[209]||(e[209]=r("span",{class:"font-semibold"},"价格信息",-1)),l(T,{type:"success"},{default:n(()=>[...e[208]||(e[208]=[f("预下单成功",-1)])]),_:1})])]),default:n(()=>[l(da,{column:2,border:""},{default:n(()=>[l(ce,{label:"药材成本"},{default:n(()=>{var S;return[r("span",yp,"¥"+d(((S=D.value.fee)==null?void 0:S.m_cost)||"0.00"),1)]}),_:1}),l(ce,{label:"制作费"},{default:n(()=>{var S;return[r("span",bp,"¥"+d((((S=D.value.fee)==null?void 0:S.proces_cost)||0).toFixed(2)),1)]}),_:1}),l(ce,{label:"物流费"},{default:n(()=>{var S;return[r("span",xp,"¥"+d((((S=D.value.fee)==null?void 0:S.lis_cost)||0).toFixed(2)),1)]}),_:1}),l(ce,{label:"总计"},{default:n(()=>[r("div",null,[r("span",kp," ¥"+d(ea(D.value.fee)),1),A((o(),_("div",hp,[e[210]||(e[210]=f(" 占订单总金额: ",-1)),r("span",wp,d(Wl(D.value.fee,D.value.amount)),1),D.value.amount>0?(o(),_("span",Vp,"%(预报价 ÷ 订单金额 × 100)")):v("",!0)])),[[F,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[...e[211]||(e[211]=[r("span",{class:"font-semibold"},"配送信息",-1)])]),default:n(()=>[l(da,{column:2,border:""},{default:n(()=>[l(ce,{label:"调配中心"},{default:n(()=>{var S;return[f(d(((S=D.value.result)==null?void 0:S.ds_name)||"—"),1)]}),_:1}),l(ce,{label:"调配中心ID"},{default:n(()=>{var S;return[f(d(((S=D.value.result)==null?void 0:S.ds_id)||"—"),1)]}),_:1}),l(ce,{label:"服用天数范围",span:2},{default:n(()=>{var S,E,_s,fs,vs,gs;return[f(d(((E=(S=D.value.result)==null?void 0:S.take_days)==null?void 0:E.min)||"—")+" - "+d(((fs=(_s=D.value.result)==null?void 0:_s.take_days)==null?void 0:fs.max)||"—")+" 天 (默认: "+d(((gs=(vs=D.value.result)==null?void 0:vs.take_days)==null?void 0:gs.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(P=(a=D.value.result)==null?void 0:a.rule_check)!=null&&P.length?(o(),k(s,{key:0,shadow:"never",class:"mb-4"},{header:n(()=>[...e[212]||(e[212]=[r("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:n(()=>[r("div",Sp,d(D.value.result.rule_check.map(S=>S.msg).join(" ")),1)]),_:1})):v("",!0),l(s,{shadow:"never"},{header:n(()=>{var S,E;return[r("div",Np,[e[213]||(e[213]=r("span",{class:"font-semibold"},"药材明细",-1)),r("span",Cp,"共 "+d(((E=(S=D.value.result)==null?void 0:S.m_list)==null?void 0:E.length)||0)+" 味药",1)])]}),default:n(()=>{var S;return[l(tt,{data:((S=D.value.result)==null?void 0:S.m_list)||[],border:"",stripe:"","max-height":"400"},{default:n(()=>[l(R,{type:"index",label:"#",width:"50",align:"center"}),l(R,{prop:"title",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),l(R,{prop:"quantity",label:"用量",width:"80",align:"right"},{default:n(({row:E})=>[f(d(E.quantity)+d(E.unit),1)]),_:1}),l(R,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:n(({row:E})=>[f(" ¥"+d(Number(E.price).toFixed(4)),1)]),_:1}),l(R,{label:"小计",width:"100",align:"right"},{default:n(({row:E})=>[r("span",Pp," ¥"+d((Number(E.price)*Number(E.quantity)).toFixed(2)),1)]),_:1}),l(R,{prop:"is_available",label:"库存状态",width:"100",align:"center"},{default:n(({row:E})=>[l(T,{type:E.is_available===1?"success":"danger",size:"small"},{default:n(()=>[f(d(E.is_available===1?"有货":"缺货"),1)]),_:2},1032,["type"])]),_:1}),l(R,{prop:"brief",label:"备注","min-width":"120","show-overflow-tooltip":""})]),_:1},8,["data"])]}),_:1}),l(s,{shadow:"never",class:"mt-4"},{header:n(()=>[...e[214]||(e[214]=[r("span",{class:"font-semibold"},"订单信息",-1)])]),default:n(()=>[l(da,{column:2,border:""},{default:n(()=>[l(ce,{label:"订单号",span:2},{default:n(()=>[f(d(D.value.order_no||"—"),1)]),_:1}),l(ce,{label:"剂数"},{default:n(()=>[r("span",Op,d(D.value.dose_count||"—")+"剂",1)]),_:1}),l(ce,{label:"单剂量"},{default:n(()=>{var S;return[r("span",Ap,d(Kl((S=D.value.result)==null?void 0:S.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):v("",!0)]}),_:1},8,["modelValue"]),l(Y,{modelValue:Le.value,"onUpdate:modelValue":e[88]||(e[88]=a=>Le.value=a),title:"批量改派医助",width:"440px","append-to-body":""},{footer:n(()=>[l(b,{onClick:e[87]||(e[87]=a=>Le.value=!1)},{default:n(()=>[...e[217]||(e[217]=[f("取消",-1)])]),_:1}),l(b,{type:"primary",loading:Et.value,onClick:Us},{default:n(()=>[...e[218]||(e[218]=[f("确定改派",-1)])]),_:1},8,["loading"])]),default:n(()=>[r("div",Rp,[e[215]||(e[215]=f(" 已选 ",-1)),r("strong",Tp,d(ge.value.length),1),e[216]||(e[216]=f(" 单,将订单「创建人(医助归属)」改派为: ",-1))]),l(h,{modelValue:ot.value,"onUpdate:modelValue":e[86]||(e[86]=a=>ot.value=a),clearable:"",filterable:"",placeholder:"选择目标医助",class:"!w-full"},{default:n(()=>[(o(!0),_(O,null,U(Ne.value,a=>(o(),k(p,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e[219]||(e[219]=r("p",{class:"text-xs text-gray-400 mt-2 leading-relaxed"}," 仅变更订单的业务归属(医助筛选 / 业绩口径),并写入操作日志;不影响处方、支付单及审核状态。已是该医助的订单会自动跳过。 ",-1))]),_:1},8,["modelValue"]),l(V(Ns),{ref_key:"diagnosisViewRef",ref:ga},null,512)])}}}),Ac=ki(Ep,[["__scopeId","data-v-d3166b95"]]);export{Ac as default};
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-ChNdxY1u.js","assets/element-plus-Bolc0EfP.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-B0jSCQ-G.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-CL62-hT2.css","assets/tcm-B_U8CrQ9.js","assets/index-DiYdpaIG.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-B8eb0l7L.css","assets/perm-1ezFGXyy.js","assets/DailyMatrix-Dso5cnBC.js","assets/picker-D9fcgO3K.js","assets/index-JpA6TixL.js","assets/index-B3imPWFk.css","assets/index-HnXSQ-Mh.js","assets/index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js","assets/index-DPe01mMR.js","assets/index-D0f1Mn00.css","assets/index-DITSRXGV.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BwO4oT1W.js","assets/index.vue_vue_type_script_setup_true_lang-Lcfr_gGB.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-B9wzYAB_.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-B-1Ze8K5.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-KPPC31vG.js","assets/RecordingPlaybackBlock-C7_D6R_w.js","assets/RecordingVideoPlayer-Dm4eRh1Y.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-BiEHAtVz.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-Eat0WsJx.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-DMQBS3f3.js","assets/doctor-DfXlpBtf.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-GmFM5VU5.js","assets/patient-BQT9cOvr.js","assets/NoteTimeline-I2FSxX4s.css","assets/PatientOrderList-CORHHu7_.js","assets/PrescriptionOrderDetailDrawer-C5kLoPGO.js","assets/prescription-order-utils-JfPHOgCe.js","assets/PrescriptionOrderDetailDrawer-CvPY-EBw.css","assets/PatientOrderList-D8-uh2iu.css","assets/index-DCL6uid3.js","assets/index-Bqps7brS.js","assets/medicine-Cfn93t8t.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DVzcucvm.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]);
+import{_ as jn,E as qn}from"./jspdf-BsthCvR5.js";import{J as Bn,d as Gn,L as Hn,D as Wn,B as Kn,C as Qn,P as Jn,Q as Yn,Z as Xn,i as Zn,M as er,N as tr,T as ar,a2 as sr,r as lr,G as nr,F as rr,h as ir,V as or,K as ur,a4 as dr,a5 as pr,ab as cr,ac as mr,ad as _r,k as fr,j as vr,g as gr,I as yr,m as br,l as xr,e as kr,a6 as hr,a7 as wr,a as lt}from"./element-plus-Bolc0EfP.js";import{_ as Vr}from"./index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import{_ as Sr}from"./index.vue_vue_type_script_setup_true_lang-CfgS6spO.js";import{w as Rt,s as Ie,q as pa}from"./@vue/runtime-dom-DDAG46FW.js";import{u as Nr}from"./vue-router-QlpZ4wdW.js";import{k as Cr,G as Pr,S as Or,X as Ar,i as Rr,Y as Tr,O as $r}from"./@element-plus/icons-vue-B0jSCQ-G.js";import{L as Er,u as Dr}from"./useListTimeFilter-CkwZvVhO.js";import Fr from"./PrescriptionOrderDetailDrawer-C5kLoPGO.js";import{s as ca,g as ys,b as q,z as Ur,a as Ir,f as bs,h as Tt,p as Lr,o as zr,T as Mr,P as jr,n as qr,y as Br,c as xs,u as Gr,A as Hr,B as Wr,C as ma,r as Kr,w as ks,q as Qr}from"./prescription-order-utils-JfPHOgCe.js";import{w as Jr,x as Yr,g as Xr,h as Zr,s as ei,y as ti,z as ai,A as si,d as nt,B as _a,C as li,D as ni,E as ri,F as hs,G as ii,H as oi,I as ws,J as ui,K as di,L as pi,M as ci,N as mi,O as _i,j as fi,f as Vs,b as vi,n as gi}from"./tcm-B_U8CrQ9.js";import yi from"./html2canvas-QH1iLAAe.js";import{u as bi,i as N,m as xi,_ as ki}from"./index-DiYdpaIG.js";import{d as hi}from"./department-C41RIW3v.js";import{u as wi}from"./usePaging-VsbTxSU0.js";import{f as Ss,w as fa,b as Vi,n as rt,as as Si,ak as o,I as _,a as l,aN as n,J as r,F as O,ap as U,H as v,aP as A,O as f,G as k,M as Ni,P as Ci,A as w}from"./@vue/runtime-core-C6bnekPw.js";import{o as B,Q as d}from"./@vue/shared-mAAVTE9n.js";import{y as V,a as va,n as g,r as fe}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-JpA6TixL.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 Pi={class:"prescription-order-page prescription-order-list px-4 py-4 pb-8"},Oi={class:"flex flex-col gap-3"},Ai={key:0,class:"flex items-center gap-2 flex-wrap"},Ri=["onClick"],Ti={class:"font-medium"},$i={class:"flex items-center gap-2 flex-wrap"},Ei=["onClick"],Di={class:"font-medium"},Fi={class:"flex items-center gap-2 flex-wrap"},Ui=["onClick"],Ii={class:"font-medium"},Li={class:"flex items-center gap-2 flex-wrap"},zi=["onClick"],Mi={class:"font-medium"},ji={class:"flex items-center gap-2 flex-wrap"},qi=["onClick"],Bi={class:"font-medium"},Gi={class:"po-list-stats grid grid-cols-1 sm:grid-cols-2 gap-4 mb-5"},Hi={class:"po-stat-surface po-stat-surface--order relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},Wi={class:"relative flex items-start justify-between gap-3"},Ki={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},Qi={class:"mt-2 space-y-1.5 min-w-0"},Ji={class:"text-2xl sm:text-[28px] font-bold text-sky-700 tabular-nums leading-none"},Yi={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},Xi={class:"text-slate-400"},Zi={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-sky-500/10 flex items-center justify-center text-sky-600"},eo={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},to={class:"po-stat-surface po-stat-surface--pay relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},ao={class:"relative flex items-start justify-between gap-3"},so={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},lo={class:"mt-2 space-y-1.5 min-w-0"},no={class:"text-2xl sm:text-[28px] font-bold text-emerald-700 tabular-nums leading-none"},ro={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},io={class:"text-slate-400"},oo={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-emerald-500/10 flex items-center justify-center text-emerald-600"},uo={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},po={class:"po-table-toolbar"},co={class:"po-table-toolbar__title-wrap"},mo={class:"po-table-hint text-gray-400"},_o={class:"po-focus-board"},fo={class:"po-focus-board__value"},vo={class:"po-focus-board__value"},go={class:"po-focus-board__value"},yo={class:"po-focus-board__value"},bo={class:"po-order-no-cell"},xo={class:"po-order-no-main"},ko={class:"po-order-no-sub"},ho={class:"text-gray-400"},wo={key:0,class:"ml-1"},Vo={class:"flex items-center gap-1"},So={class:"text-red-500 font-medium whitespace-nowrap"},No={class:"text-sm"},Co={class:"flex justify-between mb-1"},Po={class:"font-medium text-red-500"},Oo={class:"flex justify-between mb-1"},Ao={class:"flex justify-between mb-1"},Ro={class:"font-medium"},To={key:0,class:"flex justify-between"},$o={key:1},Eo=["title"],Do={key:1},Fo={key:0,class:"text-gray-400"},Uo={class:"flex items-center gap-1 flex-wrap"},Io={class:"flex justify-end mt-4"},Lo={class:"flex items-center gap-2 ml-4 shrink-0"},zo={class:"text-sm text-gray-700 font-medium"},Mo={class:"create-order-dialog__inner"},jo={key:0,class:"create-order-rx-card"},qo={class:"create-order-rx-card__head"},Bo={class:"create-order-rx-card__meta"},Go={class:"create-order-rx-card__id"},Ho={key:0,class:"create-order-rx-card__sn"},Wo={class:"create-order-rx-card__patient"},Ko={class:"create-order-rx-card__herbs"},Qo={class:"text-sm text-gray-700 mt-1"},Jo={class:"create-order-step-lead"},Yo={class:"flex gap-2 w-full"},Xo={class:"create-order-step-panel"},Zo={class:"create-order-step-panel"},eu={class:"flex flex-wrap items-center gap-2 pb-2 border-b border-gray-100"},tu={class:"text-xs text-gray-400"},au={class:"mt-2 space-y-1.5 text-xs sm:text-sm"},su={key:0,class:"space-y-1.5"},lu={class:"text-gray-800 break-all"},nu={key:1,class:"text-gray-400"},ru={class:"flex items-center gap-1 w-full"},iu={class:"flex gap-2 w-full"},ou={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},uu={class:"flex items-center justify-between"},du={class:"font-medium text-[13px] text-gray-800"},pu={class:"text-orange-500 font-medium ml-4"},cu={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},mu={class:"truncate pr-2"},_u={class:"shrink-0"},fu={class:"create-order-pay-hint text-gray-500"},vu={class:"text-amber-600 font-medium"},gu={class:"create-order-step-panel"},yu={class:"create-order-deposit-bar__cell"},bu={class:"create-order-deposit-bar__sub"},xu={class:"create-order-deposit-bar__cell"},ku={class:"create-order-deposit-bar__sub"},hu={class:"create-order-footer"},wu={key:0,class:"create-order-footer__hint"},Vu={class:"create-order-footer__step"},Su={key:0,class:"create-order-footer__warn"},Nu={class:"create-order-footer__actions"},Cu={class:"text-sm"},Pu={class:"text-gray-600"},Ou={class:"text-gray-600"},Au={class:"min-h-[52px]"},Ru={class:"text-xs leading-relaxed space-y-1.5"},Tu={key:0,class:"flex flex-wrap gap-1 items-center"},$u={key:1,class:"list-disc pl-4 space-y-0.5 text-red-50"},Eu={class:"mt-3"},Du={key:0,class:"rounded-lg border border-amber-200/80 bg-amber-50/50 p-3"},Fu={class:"text-xs font-semibold text-amber-900 mb-2"},Uu={class:"text-red-500"},Iu={key:1,class:"text-xs text-gray-500 mt-2"},Lu={class:"text-xs text-gray-500 mt-1"},zu={class:"text-xs text-gray-500 mt-1"},Mu={class:"flex flex-col gap-0.5 py-0.5"},ju={class:"flex items-center justify-between"},qu={class:"text-sm"},Bu={class:"text-orange-500 font-medium ml-4"},Gu={class:"text-xs text-gray-400"},Hu={class:"flex items-center justify-between w-full pr-2 gap-3"},Wu={key:0,class:"flex items-center gap-2 shrink-0"},Ku={class:"rx-wrap"},Qu={key:1,class:"rx-statusbar"},Ju={key:2,class:"rx-status rx-status-danger"},Yu={key:3,class:"rx-status rx-status-danger"},Xu={key:0,class:"mt-1"},Zu={key:4,class:"rx-status rx-status-danger"},ed={key:0,class:"mt-1"},td={class:"rx-title"},ad={class:"rx-notice"},sd={class:"rx-notice-text"},ld={class:"rx-notice-meta"},nd={class:"rx-meta-item"},rd={class:"rx-meta-value"},id={class:"rx-meta-item"},od={class:"rx-meta-value"},ud={class:"rx-meta-item"},dd={class:"rx-meta-value"},pd={key:0,class:"rx-meta-item"},cd={class:"rx-meta-value"},md={class:"rx-info"},_d={class:"rx-info-row"},fd={class:"rx-info-cell"},vd={class:"rx-val"},gd={class:"rx-info-cell"},yd={class:"rx-val"},bd={class:"rx-info-cell"},xd={class:"rx-val"},kd={class:"rx-info-cell"},hd={class:"rx-val"},wd={class:"rx-info-row rx-info-row-full"},Vd={class:"rx-info-cell"},Sd={class:"rx-val"},Nd={class:"rx-info-row rx-info-row-full"},Cd={class:"rx-info-cell"},Pd={class:"rx-val"},Od={class:"rx-rp"},Ad={class:"rx-watermark"},Rd={class:"rx-rp-head"},Td={class:"rx-rp-cols-head"},$d={class:"rx-rp-col-head"},Ed={class:"rx-rp-col-head"},Dd={class:"rx-herbs"},Fd={class:"rx-herb-name"},Ud={class:"rx-herb-total"},Id={class:"rx-herb-section-label rx-herb-section-label--aux"},Ld={key:0,class:"rx-herb-library-name"},zd={class:"rx-herb-name"},Md={class:"rx-herb-total"},jd={class:"rx-herb-name"},qd={class:"rx-herb-total"},Bd={class:"rx-herb-name"},Gd={class:"rx-herb-total"},Hd={class:"rx-text"},Wd={key:0},Kd={key:1},Qd={key:2},Jd={key:1},Yd={key:2},Xd={key:3},Zd={key:4,class:"rx-text-warn"},ep={key:5,class:"rx-text-warn"},tp={class:"rx-bottom"},ap={class:"rx-bot-cell rx-bot-doctor"},sp={class:"rx-bot-doctor-body"},lp=["src"],np={key:1,class:"rx-bot-doctor-name"},rp={key:0,class:"rx-bot-cell rx-bot-meta"},ip={class:"rx-bot-meta-val"},op={class:"rx-bot-cell rx-bot-meta"},up={class:"rx-bot-meta-val"},dp={key:1,class:"rx-bot-cell rx-bot-meta"},pp={class:"rx-bot-meta-val"},cp={key:6,class:"rx-audit"},mp={key:0},_p={key:0,class:"ml-2 text-gray-400"},fp={key:1,class:"mt-1"},vp={key:0,class:"px-4"},gp={class:"flex items-center justify-between"},yp={class:"text-lg font-semibold text-orange-600"},bp={class:"text-lg font-semibold text-blue-600"},xp={class:"text-lg font-semibold text-green-600"},kp={class:"text-xl font-bold text-red-600"},hp={class:"text-sm text-gray-500 mt-1.5"},wp={class:"font-medium text-gray-700"},Vp={key:0},Sp={class:"text-sm text-gray-700 leading-relaxed"},Np={class:"flex items-center justify-between"},Cp={class:"text-sm text-gray-500"},Pp={class:"font-medium text-orange-600"},Op={class:"text-base font-medium"},Ap={class:"text-base font-medium"},Rp={class:"text-sm text-gray-600 mb-3"},Tp={class:"text-primary"},$p=Ss({name:"prescriptionOrderList"}),Ep=Ss({...$p,setup(Dp){const Ns=Ci(()=>jn(()=>import("./edit-ChNdxY1u.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,99,100,101]))),ve=bi(),Cs=Nr(),ga=g(null);function Ps(){var e,s;const t=Number((e=$.value)==null?void 0:e.diagnosis_id);if(!t){N.msgWarning("本订单未关联诊单,无法查看患者诊单信息");return}(s=ga.value)==null||s.openViewOnly(t)}const Os=6,ya=[3,8],As=w(()=>{const t=ve.userInfo;if(!t||Number(t.root)===1)return!1;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return e.includes(Os)?!ya.some(s=>e.includes(s)):!1}),Rs=w(()=>{const t=ve.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return ya.some(s=>e.includes(s))}),Ts=w(()=>As.value||Rs.value),ba=g([]),it=w(()=>{const t=ve.userInfo;if(!t||Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return e.includes(Mr)?e.some(s=>jr.includes(s)):!0}),$s=w(()=>it.value?"详情/审核":"详情"),Es=[0,3,6],xa=[0,3],$t=()=>{const t=ve.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return Es.some(s=>e.includes(s))},ue=g(!1),ka=w(()=>{const t=ve.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return xa.some(s=>e.includes(s))}),ge=g([]);function Ds(t){ge.value=Array.isArray(t)?t:[]}const Le=g(!1),ot=g(""),Et=g(!1);function Fs(){if(ge.value.length===0){N.msgWarning("请先勾选要改派的订单");return}ot.value="",Le.value=!0}async function Us(){const t=Number(ot.value);if(!t){N.msgWarning("请选择目标医助");return}const e=ge.value.map(s=>Number(s.id)).filter(s=>s>0);if(e.length===0){N.msgWarning("请先勾选要改派的订单");return}Et.value=!0;try{const s=await Yr({order_ids:e,assistant_id:t}),i=Number((s==null?void 0:s.success)??0),u=Array.isArray(s==null?void 0:s.errors)?s.errors:[];let c=`已改派 ${i} 单`;u.length&&(c+=`;${u.join(";")}`),N.msgSuccess(c),Le.value=!1,ge.value=[],I()}catch{}finally{Et.value=!1}}const ut=g([]),Dt=g([]),Ft=g([]),Ne=g([]),dt=g([]),Is={value:"id",label:"name",children:"children"};function ha(t,e){for(const s of t||[]){if(s==null||typeof s!="object")continue;const i=s;if(Number(i.id)===e)return i;const u=ha(i.children||[],e);if(u)return u}return null}function wa(t){const e=Number(t.id),s=[];Number.isFinite(e)&&e>0&&s.push(e);for(const i of t.children||[])i&&typeof i=="object"&&s.push(...wa(i));return s}function Ls(t,e){const s=ha(e,t);return s?wa(s):[t]}async function zs(){try{const[t,e,s]=await Promise.all([Xr(),Zr(),hi()]);Ft.value=Array.isArray(t)?t:[],Ne.value=Array.isArray(e)?e:[];const i=Array.isArray(s)?s:[];dt.value=i}catch{Ft.value=[],Ne.value=[],dt.value=[]}}const Ms=t=>t.map(e=>{var s;return{value:e.province,label:e.province,code:e.code,children:((s=e.citys)==null?void 0:s.map(i=>{var u;return{value:i.city,label:i.city,code:i.code,children:((u=i.areas)==null?void 0:u.map(c=>({value:c.area,label:c.area,code:c.code})))||[]}}))||[]}}),js=async()=>{try{console.log("开始加载省市区数据...");const e=await fetch("https://cos.zhenyangtang.com.cn/area/ChinaCitys.json");if(console.log("响应状态:",e.status),!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const s=await e.json();console.log("加载的数据条数:",s==null?void 0:s.length),ut.value=Ms(s),console.log("regionOptions 已设置,条数:",ut.value.length)}catch(t){console.error("加载省市区数据失败:",t),ut.value=[]}},qs=async()=>{try{const t=await xi({type:"server_order"});Dt.value=qr(t==null?void 0:t.server_order)}catch(t){console.error("加载服务套餐选项失败:",t),Dt.value=[]}},Bs=[{label:"全部",value:""},{label:"待双审通过",value:1},{label:"待发货",value:2},{label:"已发货",value:5},{label:"已签收",value:6},{label:"已完成",value:3},{label:"已取消",value:4},{label:"进行中",value:7},{label:"暂不制药",value:8},{label:"拒收",value:9},{label:"退款",value:10},{label:"保留药方",value:11},{label:"制药缓发",value:12}];function Gs(t){se.value="",y.exclude_fulfillment_cancelled=0,y.fulfillment_status=t,K()}const se=g(""),Hs=[{label:"全部",value:""},{label:"甘草",value:"gancao"},{label:"自营",value:"self"}];function Ws(t){y.supply_mode=t,K()}const Ks=[{label:"全部",value:""},{label:"顺丰",value:"sf"},{label:"京东",value:"jd"}];function Qs(t){y.express_company=t,K()}const y=fe({order_no:"",prescription_id:"",patient_keyword:"",express_keyword:"",express_company:"",doctor_id:"",assistant_id:"",assistant_dept_id:"",fulfillment_status:"",prescription_audit_status:"",payment_slip_audit_status:"",supply_mode:"",service_channel:"",has_aux_formula:"",exclude_fulfillment_cancelled:0,audit_admin_id:""}),Js=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],Ys=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}];function Xs(t){se.value="",y.exclude_fulfillment_cancelled=0,y.prescription_audit_status=t,K()}function Zs(t){se.value="",y.exclude_fulfillment_cancelled=0,y.payment_slip_audit_status=t,K()}function pt(t){if(se.value===t){se.value="",y.prescription_audit_status="",y.payment_slip_audit_status="",y.fulfillment_status="",y.exclude_fulfillment_cancelled=0,K();return}se.value=t,y.prescription_audit_status="",y.payment_slip_audit_status="",y.fulfillment_status="",y.exclude_fulfillment_cancelled=0,t==="pendingRx"?(y.prescription_audit_status=0,y.exclude_fulfillment_cancelled=1):t==="pendingPay"?(y.prescription_audit_status=1,y.payment_slip_audit_status=0):t==="pendingShip"?y.fulfillment_status=2:t==="risk"&&(y.payment_slip_audit_status=2),K()}const{time_type:ze,dateRange:Ut,resolve:Va,handleTimeTypeChange:el,handleCustomDateChange:tl,resetTimeFilter:al,applyCustomRange:sl}=Dr("all"),Sa=()=>{X.page=1,I()},ll=()=>el(Sa),nl=()=>tl(Sa);function Na(t){const e={...t};if(e.prescription_id===""||e.prescription_id===void 0?delete e.prescription_id:e.prescription_id=Number(e.prescription_id),e.fulfillment_status===""||e.fulfillment_status===void 0||e.fulfillment_status===null?delete e.fulfillment_status:e.fulfillment_status=Number(e.fulfillment_status),e.prescription_audit_status===""||e.prescription_audit_status===void 0||e.prescription_audit_status===null?delete e.prescription_audit_status:e.prescription_audit_status=Number(e.prescription_audit_status),e.payment_slip_audit_status===""||e.payment_slip_audit_status===void 0||e.payment_slip_audit_status===null?delete e.payment_slip_audit_status:e.payment_slip_audit_status=Number(e.payment_slip_audit_status),(!e.supply_mode||e.supply_mode==="")&&delete e.supply_mode,e.doctor_id===""||e.doctor_id===void 0||e.doctor_id===null?delete e.doctor_id:e.doctor_id=Number(e.doctor_id),e.assistant_id===""||e.assistant_id===void 0||e.assistant_id===null?delete e.assistant_id:e.assistant_id=Number(e.assistant_id),e.assistant_dept_id===""||e.assistant_dept_id===void 0||e.assistant_dept_id===null?delete e.assistant_dept_id:e.assistant_dept_id=Number(e.assistant_dept_id),e.order_no||delete e.order_no,String(e.patient_keyword||"").trim()||delete e.patient_keyword,e.audit_admin_id===""||e.audit_admin_id===void 0||e.audit_admin_id===null?delete e.audit_admin_id:e.audit_admin_id=Number(e.audit_admin_id),String(e.express_keyword||"").trim()||delete e.express_keyword,(!e.express_company||e.express_company==="")&&delete e.express_company,e.service_channel===""||e.service_channel===void 0||e.service_channel===null?delete e.service_channel:(e.service_channel=String(e.service_channel).trim(),e.service_channel===""&&delete e.service_channel),e.has_aux_formula===""||e.has_aux_formula===void 0||e.has_aux_formula===null?delete e.has_aux_formula:e.has_aux_formula=Number(e.has_aux_formula),Number(e.exclude_fulfillment_cancelled)!==1&&delete e.exclude_fulfillment_cancelled,!String(e.start_time||"").trim()||!String(e.end_time||"").trim())delete e.start_time,delete e.end_time;else{const s=String(e.start_time||"").trim(),i=String(e.end_time||"").trim();/^\d{4}-\d{2}-\d{2}$/.test(s)&&/^\d{4}-\d{2}-\d{2}$/.test(i)&&(e.start_time=`${s} 00:00:00`,e.end_time=`${i} 23:59:59`)}return e}async function rl(t){const[e,s]=Va(),i=Na({...t,start_time:e,end_time:s});return ei(i)}const il=w(()=>{const[t,e]=Va();return Na({...y,start_time:t,end_time:e})}),{pager:X,getLists:I,resetPage:K,resetParams:ol}=wi({fetchFun:rl,params:y});fa(()=>{var t;return(t=X.extend)==null?void 0:t.audit_admin_options},t=>{Array.isArray(t)&&(ba.value=t.map(e=>{if(e==null||typeof e!="object")return null;const s=e,i=Number(s.id),u=String(s.name??"").trim();return!Number.isFinite(i)||i<=0||u===""?null:{id:i,name:u}}).filter(e=>e!=null))},{immediate:!0});function ul(){const t=Cs.query,e=p=>{const h=p!=null?String(p).trim():"";return h?h.length>=10?h.slice(0,10):h:""},s=e(t.start_time),i=e(t.end_time);s&&i&&sl(s,i);const u=t.assistant_dept_id;if(u!=null&&String(u)!==""){const p=Number(u);Number.isFinite(p)&&p>0&&(y.assistant_dept_id=p)}const c=t.assistant_id;if(c!=null&&String(c)!==""){const p=Number(c);Number.isFinite(p)&&p>0&&(y.assistant_id=p)}}const Ca=w(()=>{const t=y.assistant_dept_id;if(t===""||t==null)return Ne.value;const e=Number(t);if(!Number.isFinite(e))return Ne.value;const s=new Set(Ls(e,dt.value));return Ne.value.filter(i=>{const u=i.dept_ids;return!Array.isArray(u)||u.length===0?!1:u.map(Number).some(c=>s.has(c))})});function dl(){const t=y.assistant_id;if(t!==""&&t!=null){const e=Number(t);Ca.value.some(i=>Number(i.id)===e)||(y.assistant_id="")}K()}const de=w(()=>{const t=X.extend,e=(t==null?void 0:t.stats_order_amount)??(t==null?void 0:t.today_order_amount),s=(t==null?void 0:t.stats_linked_pay_amount)??(t==null?void 0:t.today_linked_pay_amount),i=ae=>{const Y=Number(ae);return Number.isFinite(Y)?Math.round(Y*100)/100:0},u=ae=>ae.toFixed(2),c=(t==null?void 0:t.stats_order_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_order_amount_cancelled)!==void 0,p=(t==null?void 0:t.stats_linked_pay_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_linked_pay_amount_cancelled)!==void 0,h=i(c?t==null?void 0:t.stats_order_amount_not_cancelled:e),j=c?i(t==null?void 0:t.stats_order_amount_cancelled):0,b=i(p?t==null?void 0:t.stats_linked_pay_amount_not_cancelled:s),te=p?i(t==null?void 0:t.stats_linked_pay_amount_cancelled):0,J=(t==null?void 0:t.stats_order_amount_performance)!==void 0?i(t==null?void 0:t.stats_order_amount_performance):h,R=(t==null?void 0:t.stats_linked_pay_amount_performance)!==void 0?i(t==null?void 0:t.stats_linked_pay_amount_performance):b,T=String((t==null?void 0:t.stats_time_start)??"").trim(),Ot=String((t==null?void 0:t.stats_time_end)??"").trim(),tt=T&&Ot?`统计时间:${T} ~ ${Ot}`:"统计时间:—",at=String((t==null?void 0:t.stats_scope)??"restricted");let Se="统计口径:与当前列表数据可见范围一致";at==="all"?Se="统计口径:支付单审核白名单角色,按全量订单;与下方筛选项(医生/医助/医助部门/患者等,不含「创建时间」)一致":at==="assistant"?Se="统计口径:仅计诊单医助为本人且满足下方其它筛选项的订单":at==="own_rx"&&(Se="统计口径:本人创建的订单 + 关联处方开方人为本人的订单(含医助代建);与下方筛选项(不含「创建时间」)一致");const Fe=ze.value==="all"?"全部":ze.value==="today"?"今日":"区间";return{order:i(e),pay:i(s),orderStr:u(i(e)),payStr:u(i(s)),orderNotCancelledStr:u(h),orderCancelledStr:u(j),payNotCancelledStr:u(b),payCancelledStr:u(te),orderPerformanceStr:u(J),payPerformanceStr:u(R),orderHeading:`${Fe}业绩(业务订单额)`,payHeading:`${Fe}业绩(关联实付)`,periodLine:tt,scopeHint:Se,orderSplitHint:"业绩 = 除履约已取消(4)外全部订单金额;下方为合计与已取消明细"}}),ct=w(()=>{const t=X.extend,e=p=>{const h=Number(p);return!Number.isFinite(h)||h<0?0:Math.trunc(h)},s=e(t==null?void 0:t.focus_pending_rx_count),i=e(t==null?void 0:t.focus_pending_pay_count),u=e(t==null?void 0:t.focus_pending_ship_count),c=e(t==null?void 0:t.focus_risk_count);return{pendingRx:s,pendingPay:i,pendingShip:u,risk:c}});function It(t,e){const s=Number(e==null?void 0:e.prescription_audit_status),i=Number(e==null?void 0:e.payment_slip_audit_status),u=Number(e==null?void 0:e.fulfillment_status);return t==="rx"&&s===0||t==="pay"&&s===1&&i===0||t==="fulfillment"&&u===2?"po-status-tag is-focus":t==="rx"&&s===2||t==="pay"&&i===2||t==="fulfillment"&&u===4?"po-status-tag is-risk":"po-status-tag"}function pl({row:t}){const e=Number(t==null?void 0:t.prescription_audit_status),s=Number(t==null?void 0:t.payment_slip_audit_status),i=Number(t==null?void 0:t.fulfillment_status),u=ca(t==null?void 0:t.recipient_phone,t==null?void 0:t.prescription_phone);return e===2||s===2||u?"po-row-risk":e===0||e===1&&s===0||i===2?"po-row-focus":i===3||i===6?"po-row-done":""}fa(it,t=>{t||y.prescription_audit_status===""||y.prescription_audit_status===void 0||(y.prescription_audit_status="",y.exclude_fulfillment_cancelled=0,K())},{immediate:!0});function cl(){se.value="",al(),y.order_no="",y.prescription_id="",y.patient_keyword="",y.express_keyword="",y.express_company="",y.doctor_id="",y.assistant_id="",y.assistant_dept_id="",y.fulfillment_status="",y.prescription_audit_status="",y.payment_slip_audit_status="",y.supply_mode="",y.service_channel="",y.has_aux_formula="",y.audit_admin_id="",y.exclude_fulfillment_cancelled=0,ol()}function Pa(t){return t===1?"已通过":t===2?"已驳回":"待审核"}function Oa(t){return t===1?"success":t===2?"danger":"info"}function Aa(){const t=ve.userInfo;return t?Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[]).some(s=>xa.includes(s)):!1}function Ra(t){var s;const e=Number((s=ve.userInfo)==null?void 0:s.id);return e>0&&Number(t.creator_id)===e}function Ta(t){return Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===1}function $a(t){const e=Number(t.fulfillment_status);if(e===3||e===4||Ra(t)&&Ta(t)&&!Aa())return!1;const s=String(t.gancao_reciperl_order_no||"").trim(),i=Number(t.gancao_submit_time||0);return s!==""||i>0?[1,2,5,7].includes(e):e===1||e===2}function ml(t){const e=Number(t.fulfillment_status);return e===3||e===4||e===6?!1:Number(t.prescription_audit_status)===0}function _l(t){const e=Number(t.fulfillment_status);return e===3||e===4?!1:Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===0}function fl(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const s=Number(t.prescription_audit_status),i=Number(t.payment_slip_audit_status);return(s===1||s===2)&&i===0}function vl(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const s=Number(t.prescription_audit_status),i=Number(t.payment_slip_audit_status);return s===1&&(i===1||i===2)}function gl(t){return Number(t.fulfillment_status)===1}function Lt(t){return Number(t.fulfillment_status)===2}const yl=w(()=>{const t=ve.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/setShipMode")});function le(t){return String(t||"").toLowerCase()==="direct"?"direct":"gancao"}function bl(t){return le(t)==="direct"?"洛阳药房":"甘草药房"}function xl(t){return String(t.gancao_reciperl_order_no||"").trim()!==""}function Ea(t){const e=Number(t.fulfillment_status);return e!==3&&e!==4}const zt=g(!1);function Mt(t,e){const s=Number(t),i=Number(e);return s>0&&s===i}const kl=w(()=>le(H.ship_mode)==="direct"?"洛阳药房直发":"甘草药房直发");async function hl(t){const e=$.value;if(!(e!=null&&e.id))return;const s=le(t),i=le(e.ship_mode);if(s!==i){if(!Ea(e)){N.msgWarning("当前订单状态不可修改发货类型");return}zt.value=!0;try{await ti({id:e.id,ship_mode:s}),$.value&&($.value.ship_mode=s),we.value&&Mt(Ae.value,e.id)&&(H.ship_mode=s),await Ht(),N.msgSuccess("发货类型已保存"),I()}catch{}finally{zt.value=!1}}}function jt(t){const e=Number(t.fulfillment_status);if(e!==5&&e!==6)return!1;const s=Math.round((Number(t.amount)||0)*100)/100;return Math.round((Number(t.linked_pay_paid_total)||0)*100)/100{var t;return((t=G.value)==null?void 0:t.detail)??null}),Sl=w(()=>{var e;const t=(e=$.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),Ua=w(()=>`${m.dose_unit||"剂"}数`),Me=g(!1),qt=g(!1),mt=g(),me=fe({id:0,amount:void 0}),Nl={amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(t,e,s)=>{const i=Number(e);if(!Number.isFinite(i)||i<0){s(new Error("订单金额不能为负数"));return}s()},trigger:"blur"}]},Ce=g(null),_t=g(!1),je=w(()=>Br(Ce.value)),qe=g(!1),Bt=g(!1),Gt=g(),ne=fe({patient_name:"",phone:""}),Cl={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function Pl(){const t=Sl.value,e=$.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){N.msgWarning("无处方数据");return}ne.patient_name=String(t.patient_name??"").trim(),ne.phone=String(t.phone??"").trim(),qe.value=!0,rt(()=>{var s;return(s=Gt.value)==null?void 0:s.clearValidate()})}function Ol(){ne.patient_name="",ne.phone=""}function Al(){var t;me.id=0,me.amount=void 0,(t=mt.value)==null||t.clearValidate()}function Rl(){const t=$.value;if(!xs(t)){N.msgWarning("当前订单状态不允许修改金额");return}me.id=Number(t==null?void 0:t.id)||0;const e=Number(t==null?void 0:t.amount);me.amount=Number.isFinite(e)?e:void 0,Me.value=!0,rt(()=>{var s;return(s=mt.value)==null?void 0:s.clearValidate()})}async function Ht(){var t;await((t=G.value)==null?void 0:t.refresh())}async function Tl(){var s;const t=Gt.value;if(!t)return;try{await t.validate()}catch{return}const e=(s=$.value)==null?void 0:s.id;if(e){Bt.value=!0;try{await ai({id:e,patient_name:ne.patient_name.trim(),phone:ne.phone.trim()}),qe.value=!1,await Ht()}catch(i){console.error(i)}finally{Bt.value=!1}}}async function Ia(){const t=mt.value;if(!t)return;try{await t.validate()}catch{return}if(!xs($.value)){N.msgWarning("当前订单状态不允许修改金额");return}const e=me.id;qt.value=!0;try{await si({id:e,amount:Number(me.amount)}),N.msgSuccess("修改成功"),Me.value=!1,await Ht(),I()}catch{}finally{qt.value=!1}}async function $l(t){var e;await((e=G.value)==null?void 0:e.open(t))}const ke=g(!1),Wt=g(!1),Kt=g(!1),L=g(0),re=g(null),ie=g(!1),ft=g(""),El=w(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][L.value]??""),La=w(()=>{const t=re.value,e=Gr(t==null?void 0:t.herbs);if(!e.length)return"暂无药材明细";const s=e.map(i=>`${i.name} ${i.dosage}g`).join("、");return s.length>120?`${s.slice(0,120)}…`:s}),Dl=["recipient_name","recipient_phone","region","shipping_address"],he=g(),m=fe({id:0,prescription_id:0,diagnosis_id:0,recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,dose_count:1,dose_unit:"剂",prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",fee_type:3,amount:0,remark_extra:"",remark_assistant:"",pay_order_ids:[],internal_cost:void 0,assistant_id:0,diagnosis_creator_id:0,diagnosis_creator_name:"",diagnosis_creator_dept_path:""}),Fl=w(()=>Hr(Dt.value,m.service_package)),za=w(()=>{const t=String(m.diagnosis_creator_dept_path||"").trim();return t?t.split(";").map(e=>e.trim()).filter(Boolean).map(e=>e.includes(" / ")?e.split(" / ").map(s=>s.trim()).filter(Boolean):e.split("/").map(s=>s.trim()).filter(Boolean)).filter(e=>e.length>0):[]}),Be=g([]),Qt=g(!1),M=g(0);function vt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const Jt=w(()=>{const t=new Set(m.pay_order_ids.map(s=>Number(s)));let e=0;for(const s of Be.value)t.has(Number(s.id))&&(e+=Number(s.amount)||0);return Math.round(e*100)/100}),Ul=w(()=>{const t=M.value;return t>0?Math.round(t*100)/100:0});async function Il(t,e){var s,i;if(!t){Be.value=[];return}try{Qt.value=!0;const u=await Vs({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),c=(u==null?void 0:u.lists)??((s=u==null?void 0:u.data)==null?void 0:s.lists)??[];Be.value=Array.isArray(c)?c:[];const p=Number((u==null?void 0:u.deposit_min_amount)??((i=u==null?void 0:u.data)==null?void 0:i.deposit_min_amount));!Number.isNaN(p)&&p>=0&&(M.value=p)}catch{Be.value=[]}finally{Qt.value=!1}}const Ll=w(()=>{const t={recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],region:[{required:!0,message:"请选择省/市/区",trigger:"change",type:"array"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(e,s,i)=>{const u=M.value,c=Number(s);if(u>0&&(!Number.isFinite(c)||c0){const e=`已开启关联支付门槛(¥${q(M.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function zl(){var t;L.value=0,re.value=null,ie.value=!1,ft.value="",(t=he.value)==null||t.clearValidate()}function Ml(){L.value>0&&(L.value-=1)}async function jl(){const t=he.value;if(t)try{L.value===0?await t.validateField([...Dl]):L.value===1&&M.value>0&&await t.validateField(["pay_order_ids"]),L.value<2&&(L.value+=1)}catch{}}async function ql(t){if(!$a(t)){Ra(t)&&Ta(t)&&!Aa()&&N.msgWarning("处方与支付单均已审核通过,创建人不可再编辑");return}L.value=0,re.value=null,ke.value=!0,Wt.value=!0;try{const e=await nt({id:t.id}),s=(e==null?void 0:e.data)??e;if(!s){N.msgError("加载数据结构异常"),ke.value=!1;return}const i=s.prescription;i&&typeof i=="object"?re.value=i:Number(s.prescription_id)>0?re.value={id:Number(s.prescription_id),sn:"",patient_name:String(s.recipient_name||""),herbs:[]}:re.value=null,m.id=s.id,m.prescription_id=Number(s.prescription_id)||0,m.diagnosis_id=Number(s.diagnosis_id)||0,m.assistant_id=Number(s.assistant_id)||0,m.diagnosis_creator_id=Number(s.diagnosis_creator_id)||0,m.diagnosis_creator_name=s.diagnosis_creator_name!=null&&s.diagnosis_creator_name!==""?String(s.diagnosis_creator_name):"",m.diagnosis_creator_dept_path=s.diagnosis_creator_dept_path!=null&&s.diagnosis_creator_dept_path!==""?String(s.diagnosis_creator_dept_path):"",m.recipient_name=s.recipient_name||"",m.recipient_phone=s.recipient_phone||"";const u=s.shipping_province||"",c=s.shipping_city||"",p=s.shipping_district||"";u||c||p?m.region=[u,c,p].filter(T=>T!==""):m.region=[],m.shipping_address=s.shipping_address||"",m.is_follow_up=s.is_follow_up?1:0,m.medication_days=s.medication_days>0?s.medication_days:void 0,m.dose_count=s.dose_count>0?s.dose_count:1,m.dose_unit=s.dose_unit||"剂",m.prev_staff=s.prev_staff||"",m.service_channel=s.service_channel||"",m.service_package=Wr(s.service_package),m.express_company=String(s.express_company||"auto")||"auto",m.tracking_number=s.tracking_number||"",m.fee_type=Number(s.fee_type)||3,M.value=Number(s.deposit_min_amount)||0;let h=Number(s.amount)||0;const j=Math.round((Number(s.linked_pay_paid_total)||0)*100)/100,b=M.value;if(b>0){const T=Math.round(b*100)/100;hNumber(T)).filter(T=>!Number.isNaN(T)):[],m.internal_cost=s.internal_cost!=null&&s.internal_cost!==""?Number(s.internal_cost):void 0;const J=String(s.gancao_reciperl_order_no||"").trim(),R=Number(s.gancao_submit_time||0);ie.value=J!==""||R>0,ft.value=J||"",await Il(m.diagnosis_id,m.id),rt(()=>{var T;(T=he.value)==null||T.clearValidate()})}catch(e){N.msgError((e==null?void 0:e.message)||"加载异常"),ke.value=!1}finally{Wt.value=!1}}async function Bl(){if(!he.value)return;const t=ie.value;if(!(!t&&L.value!==2)){t?he.value.clearValidate():await he.value.validate(),Kt.value=!0;try{const e={id:m.id,recipient_name:m.recipient_name,recipient_phone:m.recipient_phone,shipping_address:m.shipping_address,is_follow_up:m.is_follow_up,prev_staff:m.prev_staff||"",service_channel:m.service_channel||"",service_package:Array.isArray(m.service_package)?m.service_package.join(","):"",express_company:m.express_company||"auto",tracking_number:m.tracking_number||"",fee_type:m.fee_type,amount:m.amount,remark_extra:m.remark_extra||"",remark_assistant:m.remark_assistant||"",medication_days:m.medication_days!=null&&String(m.medication_days).trim()!==""?m.medication_days:"",dose_unit:m.dose_unit||"剂",dose_count:m.dose_count||1,internal_cost:m.internal_cost!=null&&String(m.internal_cost).trim()!==""?m.internal_cost:""};m.region&&m.region.length>0?(e.shipping_province=m.region[0]||"",e.shipping_city=m.region[1]||"",e.shipping_district=m.region[2]||""):(e.shipping_province="",e.shipping_city="",e.shipping_district=""),e.pay_order_ids=[...m.pay_order_ids],await _a(e),N.msgSuccess("保存成功"),ke.value=!1,I()}catch{}finally{Kt.value=!1}}}const Ge=g(!1),Yt=g("prescription"),Xt=g(0),He=g(null),Pe=g(""),gt=g(!1),Gl=w(()=>Yt.value==="prescription"?"处方业务审核":"关联支付单审核");function Ma(t,e){Yt.value=e,Xt.value=t.id,He.value=t,Pe.value="",Ge.value=!0}async function ja(t){var e;if(t==="reject"&&!Pe.value.trim()){N.msgError("驳回或阻止时必须填写明确的审核意见");return}gt.value=!0;try{const s={id:Xt.value,action:t,remark:Pe.value.trim()};Yt.value==="prescription"?await li(s):await ni(s),N.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),Ge.value=!1,I(),await((e=G.value)==null?void 0:e.refreshIfCurrent(Xt.value))}catch{}finally{gt.value=!1}}async function Hl(t){try{await lt.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await ri({id:t.id}),N.msgSuccess("撤回成功"),I()}catch{}}const Zt=g(0),yt=g(!1),Oe=g(!1),D=g(null);function ea(t){if(!t)return"0.00";const e=Number(t.m_cost)||0,s=Number(t.proces_cost)||0,i=Number(t.lis_cost)||0;return(e+s+i).toFixed(2)}function Wl(t,e){const s=parseFloat(ea(t))||0,i=Number(e)||0;return i<=0?"—":(s/i*100).toFixed(2)}function Kl(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((s,i)=>s+(Number(i.quantity)||0),0).toFixed(0)}async function Ql(){if(!m.id){N.msgError("请先保存订单");return}Oe.value=!0;try{const t=await hs({id:m.id,dose_count:m.dose_count||1,medication_days:m.medication_days||void 0}),e=(t==null?void 0:t.data)??t;e&&e.success&&(D.value=e,yt.value=!0,N.msgSuccess("预下单测试成功"))}catch{}finally{Oe.value=!1}}async function Jl(){var t,e;if(!((t=$.value)!=null&&t.id)){N.msgError("订单数据不存在");return}Oe.value=!0;try{const s=await hs({id:$.value.id,dose_count:$.value.dose_count||1,medication_days:$.value.medication_days||void 0}),i=(s==null?void 0:s.data)??s;if(i&&i.success&&(D.value=i,yt.value=!0,$t()&&i.fee)){const u=ea(i.fee);try{const c=await nt({id:$.value.id}),p=(c==null?void 0:c.data)??c;if(p!=null&&p.id){const h=p.service_package,j=Array.isArray(h)?h.join(","):String(h||"");await _a({id:p.id,recipient_name:p.recipient_name||"",recipient_phone:p.recipient_phone||"",shipping_province:p.shipping_province||"",shipping_city:p.shipping_city||"",shipping_district:p.shipping_district||"",shipping_address:p.shipping_address||"",is_follow_up:p.is_follow_up?1:0,medication_days:p.medication_days!=null&&String(p.medication_days).trim()!==""?p.medication_days:"",dose_unit:p.dose_unit||"剂",dose_count:p.dose_count>0?p.dose_count:1,prev_staff:p.prev_staff||"",service_channel:p.service_channel||"",service_package:j,express_company:p.express_company||"auto",tracking_number:p.tracking_number||"",fee_type:Number(p.fee_type)||3,amount:Number(p.amount)||0,remark_extra:p.remark_extra||"",remark_assistant:p.remark_assistant||"",internal_cost:u,pay_order_ids:Array.isArray(p.pay_order_ids)?p.pay_order_ids:[]}),N.msgSuccess("内部成本已按预报价总计更新"),I(),await((e=G.value)==null?void 0:e.refreshIfCurrent(p.id))}}catch{}}}catch{}finally{Oe.value=!1}}async function Yl(t){var e;try{await lt.confirm("将把本单关联处方提交至甘草药管家开放平台(先 CTM_PREVIEW 预检查再 CTM_SUBMIT_RECIPEL 正式下单;成功后将按甘草侧规则扣费,详见 https://apidoc.igancao.com/service-doc/scm-outer-recipel.html )。确定继续?","上传甘草药方",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),Zt.value=t.id;const s=await ii({id:t.id}),i=(s==null?void 0:s.data)??s,u=(i==null?void 0:i.recipel_order_no)!=null?String(i.recipel_order_no):"";N.msgSuccess(u?`上传成功,甘草处方单号:${u}`:"上传成功"),I(),await((e=G.value)==null?void 0:e.refreshIfCurrent(t.id))}catch{}finally{Zt.value=0}}Vi(async()=>{await js(),await qs(),await zs(),ul(),await rt(),I()});const We=g(!1),bt=g(!1),xt=g(0),Z=fe({express_company:"auto",tracking_number:""});function Xl(t){xt.value=t.id,Z.express_company=String(t.express_company||"auto")||"auto",Z.tracking_number=String(t.tracking_number||""),We.value=!0}async function qa(){var t;if(!Z.tracking_number.trim()){N.msgError("请填写快递单号");return}bt.value=!0;try{const e=await nt({id:xt.value}),s=(e==null?void 0:e.data)??e;if(!s){N.msgError("加载订单数据失败");return}if(await _a({id:s.id,recipient_name:s.recipient_name||"",recipient_phone:s.recipient_phone||"",shipping_province:s.shipping_province||"",shipping_city:s.shipping_city||"",shipping_district:s.shipping_district||"",shipping_address:s.shipping_address||"",is_follow_up:s.is_follow_up?1:0,medication_days:s.medication_days!=null&&String(s.medication_days).trim()!==""?s.medication_days:"",prev_staff:s.prev_staff||"",service_channel:s.service_channel||"",service_package:s.service_package||"",fee_type:Number(s.fee_type)||3,amount:Number(s.amount)||0,remark_extra:s.remark_extra||"",remark_assistant:s.remark_assistant||"",internal_cost:s.internal_cost!=null&&s.internal_cost!==""?s.internal_cost:"",pay_order_ids:Array.isArray(s.pay_order_ids)?s.pay_order_ids:[],express_company:Z.express_company||"auto",tracking_number:Z.tracking_number.trim()}),N.msgSuccess("快递单号已保存"),We.value=!1,I(),await((t=G.value)==null?void 0:t.refreshIfCurrent(xt.value)),Lt({fulfillment_status:Number(s.fulfillment_status)}))try{await lt.confirm(`快递单号「${Z.tracking_number}」已保存,是否立即确认发货?`,"确认发货",{type:"success",confirmButtonText:"确认发货",cancelButtonText:"稍后再说"}),ta({id:xt.value,tracking_number:Z.tracking_number,express_company:Z.express_company})}catch{}}catch{}finally{bt.value=!1}}const we=g(!1),kt=g(!1),Ae=g(0),H=fe({ship_mode:"gancao",express_company:"auto",tracking_number:""});function Zl(t){var e;return Mt((e=$.value)==null?void 0:e.id,t.id)?le($.value.ship_mode):le(t.ship_mode)}function ta(t){Ae.value=Number(t.id),H.ship_mode=Zl(t),H.express_company=String(t.express_company||"auto")||"auto",H.tracking_number=String(t.tracking_number||""),we.value=!0}fa(()=>{var t;return(t=$.value)==null?void 0:t.ship_mode},t=>{var e;!we.value||!Ae.value||!Mt((e=$.value)==null?void 0:e.id,Ae.value)||(H.ship_mode=le(t))});async function Ba(){var t;if(!H.tracking_number.trim()){N.msgError("请先填写快递单号再确认发货");return}kt.value=!0;try{await oi({id:Ae.value,ship_mode:le(H.ship_mode),express_company:H.express_company||"auto",tracking_number:H.tracking_number.trim()}),N.msgSuccess("确认发货成功,订单已进入「已发货」状态"),we.value=!1,I(),await((t=G.value)==null?void 0:t.refreshIfCurrent(Ae.value))}catch{}finally{kt.value=!1}}const en=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],Re=g(!1),Te=g(0),ye=g(3),Ke=g(!1),Qe=g(!1),pe=g([]),aa=g(),ee=fe({reason:"",refund_amount:void 0}),be=g(0),tn=w(()=>sa(pe.value)),an=w(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,s)=>{const i=Number(e),u=be.value;if(!Number.isFinite(i)||i<=0){s(new Error("退款金额须大于 0"));return}if(u>0&&i>u+.009){s(new Error(`不能超过可退上限 ¥${q(u)}`));return}s()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));let Je=0;function sn(){var t;Te.value=0,pe.value=[],Qe.value=!1,ee.reason="",ee.refund_amount=void 0,be.value=0,(t=aa.value)==null||t.clearValidate(),Je+=1,Ce.value=null,_t.value=!1}async function ln(t){if(!t){pe.value=[];return}Qe.value=!0;try{const e=await nt({id:t}),s=(e==null?void 0:e.data)??e??null,i=s==null?void 0:s.linked_pay_orders;pe.value=Array.isArray(i)?i:[];const u=sa(pe.value),c=Number(s==null?void 0:s.paid)||0;be.value=u>0?u:c,ee.refund_amount=be.value}catch{pe.value=[],be.value=0}finally{Qe.value=!1}}async function nn(t){const e=Number(t.id),s=String(t.tracking_number||"").trim();if(!e||!s)return;const i=++Je;_t.value=!0,Ce.value=null;try{const u=String(t.recipient_phone||"").replace(/\D/g,""),c={id:e,express_company:String(t.express_company||"auto")||"auto"};u.length>=4&&(c.phone_tail=u);const p=await vi(c);if(i!==Je||Te.value!==e)return;Ce.value=Qr(p,s,e)}catch{if(i!==Je||Te.value!==e)return;Ce.value=null}finally{i===Je&&Te.value===e&&(_t.value=!1)}}async function rn(){var e,s,i;const t=Te.value;if(t){if(ye.value===10){if(!await((e=aa.value)==null?void 0:e.validate().catch(()=>!1)))return;Ke.value=!0;try{await ws({id:t,reason:ee.reason.trim(),refund_amount:Number(ee.refund_amount)}),N.msgSuccess("退款成功"),Re.value=!1,I(),await((s=G.value)==null?void 0:s.refreshIfCurrent(t))}catch{}finally{Ke.value=!1}return}Ke.value=!0;try{await ui({id:t,fulfillment_status:ye.value}),N.msgSuccess("订单状态已更新"),Re.value=!1,I(),await((i=G.value)==null?void 0:i.refreshIfCurrent(t))}catch{}finally{Ke.value=!1}}}function sa(t){let e=0;for(const s of t||[]){const i=Number(s==null?void 0:s.status);(i===2||i===5)&&(e+=Number(s==null?void 0:s.amount)||0)}return Math.round(e*100)/100}const Ye=g(!1),la=g(0),na=g(!1),ra=g(),oe=g(0),Q=fe({reason:"",refund_amount:void 0}),on=w(()=>{const t=q(oe.value),e=q(Q.refund_amount);return Number(Q.refund_amount)>=oe.value-.009?`确认全额退款 ¥${t}:关联收款将标记已退款,本单已付清零,且不可撤销。`:`确认部分退款 ¥${e}(可退上限 ¥${t}):将扣减本单已付,并按金额依次标记关联收款已退款。`}),un=w(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,s)=>{const i=Number(e),u=oe.value;if(!Number.isFinite(i)||i<=0){s(new Error("退款金额须大于 0"));return}if(u>0&&i>u+.009){s(new Error(`不能超过可退上限 ¥${q(u)}`));return}s()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));function dn(){var t;la.value=0,Q.reason="",Q.refund_amount=void 0,oe.value=0,(t=ra.value)==null||t.clearValidate()}async function Ga(t){la.value=t.id,Q.reason="",Q.refund_amount=void 0,oe.value=0,Ye.value=!0;try{const e=await nt({id:t.id}),s=(e==null?void 0:e.data)??e??null,i=Array.isArray(s==null?void 0:s.linked_pay_orders)?s.linked_pay_orders:[],u=sa(i),c=Number(s==null?void 0:s.paid)||0;oe.value=u>0?u:c,Q.refund_amount=oe.value}catch{oe.value=0}}async function pn(){var s,i;const t=la.value;if(!(!t||!await((s=ra.value)==null?void 0:s.validate().catch(()=>!1)))){na.value=!0;try{await ws({id:t,reason:Q.reason.trim(),refund_amount:Number(Q.refund_amount)}),N.msgSuccess("退款成功"),Ye.value=!1,I(),await((i=G.value)==null?void 0:i.refreshIfCurrent(t))}catch{}finally{na.value=!1}}}const Xe=g(!1),ht=g(!1),Ze=g(0),wt=g(),ia=g(!1),Vt=g([]),cn=w(()=>C.add_mode==="completion_only"?"不创建或关联支付单,仅提交完单申请,由审核人员在支付审核时处理。":C.add_mode==="create_express"?"通过快递代收创建新支付单(流转同付呗),或关联已存在但未绑定的支付单。":"可以通过付呗创建新支付单,或关联已存在但未绑定的支付单。"),C=fe({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),mn=w(()=>{const t={add_mode:[{required:!0,message:"请选择添加方式",trigger:"change"}]};return C.add_mode==="create"||C.add_mode==="create_express"?(t.order_type=[{required:!0,message:"请选择费用类别",trigger:"change"}],t.pay_amount=[{validator:(e,s,i)=>{if(s==null||s===""){i(new Error("请输入支付金额"));return}const u=Number(s);!Number.isFinite(u)||u<0?i(new Error("金额不能小于 0")):i()},trigger:"blur"}]):C.add_mode==="link"&&(t.link_pay_order_ids=[{required:!0,message:"请至少选择一个支付单",trigger:"change",validator:(e,s,i)=>{!Array.isArray(s)||s.length===0?i(new Error("请至少选择一个支付单")):i()}}]),t});async function _n(t,e=[]){var s;if(!t){Vt.value=[];return}try{ia.value=!0;const i=await Vs({diagnosis_id:t}),u=(i==null?void 0:i.lists)??((s=i==null?void 0:i.data)==null?void 0:s.lists)??[],c=Array.isArray(u)?u.filter(p=>!e.includes(p.id)):[];Vt.value=c}catch{Vt.value=[]}finally{ia.value=!1}}function Ha(t){var i,u;if(!jt(t)){N.msgWarning("订单总金额与已付金额一致,无需补齐支付单");return}Ze.value=t.id,C.add_mode="create",C.order_type=3,C.pay_amount=void 0,C.pay_remark="",C.link_pay_order_ids=[],C.completion_request=0,Xe.value=!0;const e=t.diagnosis_id||((i=$.value)==null?void 0:i.diagnosis_id),s=t.pay_order_ids||((u=$.value)==null?void 0:u.pay_order_ids)||[];e&&_n(e,s)}async function fn(){var t;if(wt.value){await wt.value.validate(),ht.value=!0;try{if(C.add_mode==="completion_only")await di({id:Ze.value}),N.msgSuccess("完单申请已提交,请等待支付审核");else if(C.add_mode==="create"||C.add_mode==="create_express")await pi({id:Ze.value,order_type:C.order_type,pay_amount:C.pay_amount,pay_remark:C.pay_remark||"",completion_request:C.completion_request,pay_create_type:C.add_mode==="create_express"?"express_cod":"fubei"}),N.msgSuccess("支付单已新增,请等待审核");else{const e=C.link_pay_order_ids;if(e.length===0){N.msgError("请至少选择一个支付单");return}await ci({id:Ze.value,pay_order_ids:e,completion_request:C.completion_request}),N.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}Xe.value=!1,I(),await((t=G.value)==null?void 0:t.refreshIfCurrent(Ze.value))}catch{}finally{ht.value=!1}}}function Wa(t){Te.value=t.id,ye.value=3,ee.reason="",ee.refund_amount=void 0,pe.value=[],Ce.value=null,Re.value=!0,ln(t.id),String(t.tracking_number||"").trim()&&nn(t)}async function vn(t){var e;try{await lt.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await mi({id:t.id}),N.msgSuccess("处方审核已撤回"),I(),await((e=G.value)==null?void 0:e.refreshIfCurrent(t.id))}catch{}}async function gn(t){var e;try{await lt.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await _i({id:t.id}),N.msgSuccess("支付单审核已撤回"),I(),await((e=G.value)==null?void 0:e.refreshIfCurrent(t.id))}catch{}}const yn="成都双流甄养堂互联网医院 处方笺",St=g(!1),Nt=g(!1),x=g(null),$e=g(""),W=g("internal"),Ka=g(null),Ee=g(!1);function Qa(t,e,s){const i=t.prescription_type||"浓缩水丸",u=Number(t.times_per_day)>0?Number(t.times_per_day):3,c=t.dosage_amount!=null?Number(t.dosage_amount):10,p=t.dosage_unit||(i==="饮片"?"ml":"g"),h=t.usage_way||e||"温水送服",j=t.usage_time||s||"",b=[];if(b.push(`每天${u}次`),i==="浓缩水丸"){const te=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;b.push(`一次${te}袋`),b.push(`每袋${c}${p}`)}else b.push(`一次${c}${p}`);return b.push(h),j&&b.push(j),b.join(", ")}const et=w(()=>{var e;const t=(e=x.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),Ct=w(()=>et.value.filter(t=>ma(t==null?void 0:t.formula_type)==="主方")),De=w(()=>et.value.filter(t=>ma(t==null?void 0:t.formula_type)==="辅方")),Ja=w(()=>{var t;return Kr((t=x.value)==null?void 0:t.dietary_taboo)}),Ya=w(()=>{const t=x.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸")return null;const e=Number(t.medication_days??t.usage_days??t.dose_count),s=Number(t.times_per_day),i=Number(t.dosage_amount),u=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(s)||!Number.isFinite(i)||e<=0||s<=0||i<=0?null:e*s*i*u}),Xa=w(()=>{const t=x.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸"||!De.value.length)return null;const e=ks(t.aux_usage,t.prescription_type||"浓缩水丸"),s=Number(t.medication_days??e.usage_days),i=Number(e.times_per_day),u=Number(e.dosage_amount),c=Number(e.dosage_bag_count)>0?Number(e.dosage_bag_count):1;return!Number.isFinite(s)||!Number.isFinite(i)||!Number.isFinite(u)||s<=0||i<=0||u<=0?null:s*i*u*c}),Pt=t=>String(t).padStart(2,"0"),bn=w(()=>{const t=x.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const s=String(e).length===10?Number(e)*1e3:Number(e),i=new Date(s);if(!isNaN(i.getTime()))return`${i.getFullYear()}-${Pt(i.getMonth()+1)}-${Pt(i.getDate())} ${Pt(i.getHours())}:${Pt(i.getMinutes())}`}return t.prescription_date||"—"}),xn=w(()=>{const t=x.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const s=String(t.visit_no??"").trim();return s||"—"}),kn=w(()=>{const t=x.value;if(!t)return"—";const e=Number(t.appointment_id);return Number.isFinite(e)&&e>0?String(e):"—"}),Za=w(()=>{const t=x.value;return t?String(t.order_no??"").trim():""}),hn=w(()=>{const t=x.value;if(!t)return"—";if(t.recipient_text)return t.recipient_text;const e=[];(t.recipient_name||t.patient_name)&&e.push(t.recipient_name||t.patient_name),(t.recipient_phone||t.phone)&&e.push(t.recipient_phone||t.phone);let s=t.region;return Array.isArray(s)&&(s=s.filter(Boolean).join("")),s&&e.push(String(s)),t.shipping_address?e.push(String(t.shipping_address)):t.address&&e.push(String(t.address)),e.length?e.join(","):"—"}),es=w(()=>{var e;const t=Number((e=x.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),wn=w(()=>{const e=et.value.reduce((s,i)=>s+(Number(i==null?void 0:i.dosage)||0),0);return Ve(e)}),ts=t=>{const e=Number(t)||0;return Ve(e*es.value)},Vn=w(()=>{const t=x.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return e==="饮片"?"饮片":/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),as=w(()=>{const t=x.value;return t?t.usage_text?t.usage_text:Qa(t):"—"}),oa=w(()=>{const t=x.value;if(!t||!De.value.length)return"";const e=ks(t.aux_usage,t.prescription_type||"浓缩水丸");return Qa({prescription_type:t.prescription_type,dosage_amount:e.dosage_amount,dosage_unit:t.dosage_unit,dosage_bag_count:e.dosage_bag_count,times_per_day:e.times_per_day,usage_way:t.usage_way,usage_time:t.usage_time},t.usage_way,t.usage_time)}),Sn=w(()=>{const t=Ya.value,e=Xa.value,s=typeof t=="number"&&isFinite(t)&&t>0?t:0,i=typeof e=="number"&&isFinite(e)&&e>0?e:0,u=s+i;if(u>0)return Ve(u);const c=x.value;if(!c)return"";const p=c.out_pellet||c.total_weight;if(p&&Number(p)>0)return Ve(Number(p));const h=et.value;if(!h.length)return"";const j=h.reduce((b,te)=>b+(Number(te==null?void 0:te.dosage)||0),0);return Ve(j*es.value)}),ss=w(()=>{const t=x.value;return t&&t.medical_advice||""}),ls=w(()=>{const t=x.value;if(!t)return"";const e=[];return e.push(`共${et.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),ns=w(()=>{const t=x.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),rs=w(()=>{const t=Sn.value;if(!t)return"";const e=Ya.value,s=Xa.value;return typeof e=="number"&&isFinite(e)&&e>0&&typeof s=="number"&&isFinite(s)&&s>0?`${t}克(主方 ${Ve(e)}克 + 辅方 ${Ve(s)}克)`:`${t}克`});function Ve(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function is(t){if(!t)return"";const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}function Nn(t){return t?is(t):"—"}function Cn(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function Pn(t){return t==null||t===""?"—":`${t}岁`}function On(){us(m)}function os(t){return t.map(e=>`${String(e.name??"").trim()}:${Number(e.dosage)||0}`).sort().join("|")}function An(t,e){return!t.length||!e.length||t.length!==e.length?!1:os(t)===os(e)}function Rn(t){if(!t||typeof t!="object")return"";const e=t;return String(e.prescription_name??e.library_name??"").trim()}async function Tn(t){const e=Rn(t.aux_usage);if(e)return e;const i=(Array.isArray(t.herbs)?t.herbs:[]).filter(c=>ma(c==null?void 0:c.formula_type)==="辅方");if(!i.length)return"";const u=Number(t.creator_id)>0?Number(t.creator_id):0;if(!u)return"";try{const c=await gi({page_no:1,page_size:200,formula_type:"辅方",prescribing_creator_id:u}),p=Array.isArray(c==null?void 0:c.lists)?c.lists:[];for(const h of p){const j=Array.isArray(h==null?void 0:h.herbs)?h.herbs:[];if(An(i,j))return String((h==null?void 0:h.prescription_name)??"").trim()}}catch{}return""}async function us(t){if(!t.prescription_id){N.msgWarning("该订单未关联处方");return}St.value=!0,Nt.value=!0,x.value=null,$e.value="",W.value="internal";try{const e=await fi({id:t.prescription_id}),s=(e==null?void 0:e.data)??e??null;if(s){const i=t.medication_days,u={...s};i!=null&&String(i).trim()!==""&&(u.medication_days=i),t.order_no&&!u.order_no&&(u.order_no=t.order_no),t.recipient_name&&!u.recipient_name&&(u.recipient_name=t.recipient_name),t.recipient_phone&&!u.recipient_phone&&(u.recipient_phone=t.recipient_phone),t.shipping_address&&!u.shipping_address&&(u.shipping_address=t.shipping_address),t.amount!=null&&u.order_amount==null&&(u.order_amount=t.amount),t.dose_count!=null&&String(t.dose_count).trim()!==""&&Number(t.dose_count)>0&&(u.dose_count=Number(t.dose_count)),t.dose_unit!=null&&String(t.dose_unit).trim()!==""&&(u.dose_unit=String(t.dose_unit));const c=t.linked_appointment;(!u.appointment_id||Number(u.appointment_id)<=0)&&c&&typeof c=="object"&&Number(c.id)>0&&(u.appointment_id=Number(c.id)),x.value=u,$e.value=await Tn(u)}else x.value=null,$e.value=""}catch(e){N.msgError((e==null?void 0:e.message)||"加载处方详情失败"),St.value=!1,$e.value=""}finally{Nt.value=!1}}async function $n(t){const e=t.querySelectorAll('img[src^="http"]'),s=Array.from(e).map(async i=>{try{const u=await fetch(i.src,{mode:"cors"});if(!u.ok)return;const c=await u.blob(),p=await new Promise((h,j)=>{const b=new FileReader;b.onload=()=>h(b.result),b.onerror=j,b.readAsDataURL(c)});i.src=p}catch{}});await Promise.allSettled(s)}async function ds(){await rt();const t=Ka.value;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await $n(t),await new Promise(e=>requestAnimationFrame(()=>e(null))),await new Promise(e=>setTimeout(e,250)),yi(t,{scale:2,useCORS:!0,allowTaint:!1,logging:!1,backgroundColor:"#ffffff",windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight,ignoreElements:e=>e instanceof HTMLElement&&e.classList.contains("cf-slip-no-export")})}function ps(){var s;const t=(s=x.value)==null?void 0:s.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function En(){if(x.value){Ee.value=!0;try{const t=await ds(),e=document.createElement("a");e.download=`${ps()}.png`,e.href=t.toDataURL("image/png"),e.click(),N.msgSuccess("图片已下载")}catch{N.msgError("下载图片失败")}finally{Ee.value=!1}}}async function Dn(){if(x.value){Ee.value=!0;try{const t=await ds(),e=t.toDataURL("image/jpeg",.95),s=new qn({orientation:"portrait",unit:"mm",format:"a4"}),i=210,u=297,c=i,p=t.height*c/t.width;if(p<=u)s.addImage(e,"JPEG",0,0,c,p);else{let h=p,j=0;for(;h>0;)s.addImage(e,"JPEG",0,j,c,p),h-=u,j-=u,h>0&&s.addPage()}s.save(`${ps()}.pdf`),N.msgSuccess("PDF已下载")}catch{N.msgError("下载PDF失败")}finally{Ee.value=!1}}}return(t,e)=>{const s=Bn,i=Gn,u=Qn,c=Kn,p=Yn,h=Jn,j=Xn,b=Zn,te=Sr,J=Wn,R=tr,T=ar,Ot=sr,At=lr,tt=er,at=Vr,Se=rr,Fe=nr,ae=ir,Y=or,xe=ur,ua=pr,Fn=dr,z=mr,st=cr,Un=_r,In=vr,Ln=fr,zn=gr,Ue=yr,cs=xr,Mn=br,ms=kr,ce=wr,da=hr,_e=Hn,F=Si("perms");return o(),_("div",Pi,[l(s,{class:"!border-none shadow-sm mb-4",shadow:"never"},{default:n(()=>[r("div",Oi,[it.value?(o(),_("div",Ai,[e[89]||(e[89]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(o(),_(O,null,U(Js,a=>r("div",{key:a.value,class:B(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.prescription_audit_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Xs(a.value)},[r("span",Ti,d(a.label),1)],10,Ri)),64))])):v("",!0),r("div",$i,[e[90]||(e[90]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(o(),_(O,null,U(Ys,a=>r("div",{key:a.value,class:B(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.payment_slip_audit_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Zs(a.value)},[r("span",Di,d(a.label),1)],10,Ei)),64))]),r("div",Fi,[e[91]||(e[91]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(o(),_(O,null,U(Bs,a=>r("div",{key:"fs-"+String(a.value),class:B(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.fulfillment_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Gs(a.value)},[r("span",Ii,d(a.label),1)],10,Ui)),64))]),r("div",Li,[e[92]||(e[92]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(o(),_(O,null,U(Hs,a=>r("div",{key:"sm-"+String(a.value),class:B(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.supply_mode===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Ws(a.value)},[r("span",Mi,d(a.label),1)],10,zi)),64))]),r("div",ji,[e[93]||(e[93]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(o(),_(O,null,U(Ks,a=>r("div",{key:"ec-"+String(a.value),class:B(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",y.express_company===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Qs(a.value)},[r("span",Bi,d(a.label),1)],10,qi)),64))])])]),_:1}),l(s,{class:"!border-none po-filter-card shadow-sm",shadow:"never"},{default:n(()=>[A((o(),_("div",Gi,[r("div",Hi,[e[94]||(e[94]=r("div",{class:"po-stat-deco po-stat-deco--o pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),r("div",Wi,[r("div",null,[r("div",Ki,[l(i,{size:16,class:"text-sky-500"},{default:n(()=>[l(V(Cr))]),_:1}),f(" "+d(de.value.orderHeading),1)]),r("div",Qi,[r("div",Ji," ¥"+d(de.value.orderPerformanceStr),1),r("div",Yi,[r("span",null,"合计 ¥"+d(de.value.orderStr),1),r("span",Xi,"已取消 ¥"+d(de.value.orderCancelledStr),1)])])]),r("div",Zi,[l(i,{size:20},{default:n(()=>[l(V(Pr))]),_:1})])]),r("p",eo,d(de.value.periodLine),1)]),r("div",to,[e[95]||(e[95]=r("div",{class:"po-stat-deco po-stat-deco--p pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),r("div",ao,[r("div",null,[r("div",so,[l(i,{size:16,class:"text-emerald-500"},{default:n(()=>[l(V(Or))]),_:1}),f(" "+d(de.value.payHeading),1)]),r("div",lo,[r("div",no," ¥"+d(de.value.payPerformanceStr),1),r("div",ro,[r("span",null,"合计 ¥"+d(de.value.payStr),1),r("span",io,"已取消 ¥"+d(de.value.payCancelledStr),1)])])]),r("div",oo,[l(i,{size:20},{default:n(()=>[l(V(Ar))]),_:1})])]),r("p",uo,d(de.value.periodLine),1)])])),[[_e,V(X).loading]]),l(J,{class:"ls-form",model:y,inline:""},{default:n(()=>[l(Er,{"time-type":V(ze),"onUpdate:timeType":e[0]||(e[0]=a=>va(ze)?ze.value=a:null),"date-range":V(Ut),"onUpdate:dateRange":e[1]||(e[1]=a=>va(Ut)?Ut.value=a:null),label:"创建时间",variant:"inline","show-all":"","picker-width":"230px",onTimeTypeChange:ll,onCustomChange:nl},null,8,["time-type","date-range"]),l(c,{class:"w-[260px]",label:"订单号"},{default:n(()=>[l(u,{modelValue:y.order_no,"onUpdate:modelValue":e[2]||(e[2]=a=>y.order_no=a),placeholder:"业务订单号",clearable:"",onKeyup:Rt(V(K),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(c,{class:"w-[140px]",label:"处方ID"},{default:n(()=>[l(u,{modelValue:y.prescription_id,"onUpdate:modelValue":e[3]||(e[3]=a=>y.prescription_id=a),placeholder:"处方ID",clearable:"",onKeyup:Rt(V(K),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(c,{class:"w-[220px]",label:"患者"},{default:n(()=>[l(u,{modelValue:y.patient_keyword,"onUpdate:modelValue":e[4]||(e[4]=a=>y.patient_keyword=a),placeholder:"姓名 / 手机号",clearable:"",onKeyup:Rt(V(K),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(c,{class:"w-[220px]",label:"快递"},{default:n(()=>[l(u,{modelValue:y.express_keyword,"onUpdate:modelValue":e[5]||(e[5]=a=>y.express_keyword=a),placeholder:"快递单号 / 公司",clearable:"",onKeyup:Rt(V(K),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),Ts.value?(o(),k(c,{key:0,class:"w-[200px]",label:"下单人"},{default:n(()=>[l(h,{modelValue:y.audit_admin_id,"onUpdate:modelValue":e[6]||(e[6]=a=>y.audit_admin_id=a),clearable:"",filterable:"",placeholder:"全部下单人",class:"!w-full"},{default:n(()=>[(o(!0),_(O,null,U(ba.value,a=>(o(),k(p,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):v("",!0),l(c,{class:"w-[200px]",label:"医生"},{default:n(()=>[l(h,{modelValue:y.doctor_id,"onUpdate:modelValue":e[7]||(e[7]=a=>y.doctor_id=a),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:n(()=>[(o(!0),_(O,null,U(Ft.value,a=>(o(),k(p,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(c,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:n(()=>[l(j,{modelValue:y.assistant_dept_id,"onUpdate:modelValue":e[8]||(e[8]=a=>y.assistant_dept_id=a),data:dt.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:Is,placeholder:"医助部门(选父级含子级)",onChange:dl},null,8,["modelValue","data"])]),_:1}),l(c,{class:"w-[200px]",label:"医助"},{default:n(()=>[l(h,{modelValue:y.assistant_id,"onUpdate:modelValue":e[9]||(e[9]=a=>y.assistant_id=a),clearable:"",filterable:"",placeholder:"订单创建人",class:"!w-full"},{default:n(()=>[(o(!0),_(O,null,U(Ca.value,a=>(o(),k(p,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(c,{class:"w-[160px]",label:"服务渠道"},{default:n(()=>[l(h,{modelValue:y.service_channel,"onUpdate:modelValue":e[10]||(e[10]=a=>y.service_channel=a),clearable:"",placeholder:"全部",class:"!w-full"},{default:n(()=>[l(p,{label:"未指派",value:"0"})]),_:1},8,["modelValue"])]),_:1}),l(c,{class:"w-[140px]",label:"辅方"},{default:n(()=>[l(h,{modelValue:y.has_aux_formula,"onUpdate:modelValue":e[11]||(e[11]=a=>y.has_aux_formula=a),clearable:"",placeholder:"全部",class:"!w-full"},{default:n(()=>[l(p,{label:"含辅方",value:"1"}),l(p,{label:"不含辅方",value:"0"})]),_:1},8,["modelValue"])]),_:1}),l(c,null,{default:n(()=>[l(b,{type:"primary",onClick:V(K)},{default:n(()=>[...e[96]||(e[96]=[f("查询",-1)])]),_:1},8,["onClick"]),l(b,{onClick:cl},{default:n(()=>[...e[97]||(e[97]=[f("重置",-1)])]),_:1}),A(l(te,{class:"ml-2.5","fetch-fun":V(Jr),params:il.value,"page-size":V(X).size,"export-hint":"导出范围与上方筛选一致(履约状态、创建时间及其他条件均会生效)。含「自媒体渠道(挂号渠道来源)」:优先取该单关联处方登记的挂号;无则诊单下同患者挂号取 id 最大的一条(与前台挂号选择的记录一致);业绩侧栏带渠道筛选导出时与同页列表高亮挂号同源。「服务套餐」按字典 server_order 解析展示。「处方」导出主方/辅方药材明细;「主方/辅方服用方式、天数」与详情侧栏同口径(主方/辅方天数分别取处方 usage_days、辅方 aux_usage.usage_days;「天数」列为订单 medication_days)。「关联收款记录」与详情侧栏同源(已支付/已退款/待审核),每笔两行展示(摘要行+明细行),多笔空行分隔,单元格自动换行。「签收日期」与详情/业绩看板同源,仅读物流库(轨迹/签收时间):导出不再实时查快递100,速度只取决于数据库;签收时间由 `tcm:backfill-sign-time` 命令与物流自动更新定时任务落库,刚发货尚未同步的单子会暂时为空,待下次回填/定时任务刷新后显示。"},null,8,["fetch-fun","params","page-size"]),[[F,["tcm.prescriptionOrder/export"]]])]),_:1})]),_:1},8,["model"])]),_:1}),A((o(),k(s,{class:"!border-none mt-4 po-table-card shadow-sm",shadow:"never"},{default:n(()=>[r("div",po,[r("div",co,[e[98]||(e[98]=r("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),r("span",mo,"共 "+d(V(X).count)+" 条",1),ka.value?(o(),k(b,{key:0,type:"primary",plain:"",size:"small",class:"ml-3",disabled:ge.value.length===0,onClick:Fs},{default:n(()=>[f(" 批量改派医助"+d(ge.value.length?`(${ge.value.length})`:""),1)]),_:1},8,["disabled"])):v("",!0)]),r("div",_o,[r("div",{class:B(["po-focus-board__item is-pending-rx",{"is-active":se.value==="pendingRx"}]),onClick:e[12]||(e[12]=a=>pt("pendingRx"))},[e[99]||(e[99]=r("span",{class:"po-focus-board__label"},"待处方审核",-1)),r("strong",fo,d(ct.value.pendingRx),1)],2),r("div",{class:B(["po-focus-board__item is-pending-pay",{"is-active":se.value==="pendingPay"}]),onClick:e[13]||(e[13]=a=>pt("pendingPay"))},[e[100]||(e[100]=r("span",{class:"po-focus-board__label"},"待支付审核",-1)),r("strong",vo,d(ct.value.pendingPay),1)],2),r("div",{class:B(["po-focus-board__item is-pending-ship",{"is-active":se.value==="pendingShip"}]),onClick:e[14]||(e[14]=a=>pt("pendingShip"))},[e[101]||(e[101]=r("span",{class:"po-focus-board__label"},"待发货",-1)),r("strong",go,d(ct.value.pendingShip),1)],2),r("div",{class:B(["po-focus-board__item is-risk",{"is-active":se.value==="risk"}]),onClick:e[15]||(e[15]=a=>pt("risk"))},[e[102]||(e[102]=r("span",{class:"po-focus-board__label"},"重点异常",-1)),r("strong",yo,d(ct.value.risk),1)],2)])]),l(tt,{data:V(X).lists,size:"default",stripe:"",class:"po-data-table","row-class-name":pl,onSelectionChange:Ds},{default:n(()=>[ka.value?(o(),k(R,{key:0,type:"selection",width:"44",selectable:()=>!0})):v("",!0),l(R,{label:"订单号","min-width":"178","show-overflow-tooltip":""},{default:n(({row:a})=>[r("div",bo,[r("div",xo,d(a.order_no||"—"),1),r("div",ko,[l(T,{size:"small",effect:"plain",type:String(a.gancao_reciperl_order_no||"").trim()?"success":"info"},{default:n(()=>[f(d(String(a.gancao_reciperl_order_no||"").trim()?"甘草":"自营"),1)]),_:2},1032,["type"]),r("span",ho,"#"+d(a.id),1)])])]),_:1}),l(R,{label:"处方ID",prop:"prescription_id",width:"86"}),l(R,{label:"诊单ID",prop:"diagnosis_id",width:"86"}),l(R,{label:"收货人","min-width":"100"},{default:n(({row:a})=>[r("div",null,d(a.recipient_name||"—"),1),r("div",{class:B(["text-xs",V(ca)(a.recipient_phone,a.prescription_phone)?"text-red-600 font-semibold":"text-gray-400"])},[f(d(a.recipient_phone||"—")+" ",1),V(ca)(a.recipient_phone,a.prescription_phone)?(o(),_("span",wo,"(与处方手机不一致)")):v("",!0)],2)]),_:1}),l(R,{label:"费用类别",width:"96"},{default:n(({row:a})=>[f(d(V(ys)(a.fee_type)),1)]),_:1}),l(R,{label:"金额","min-width":"100"},{default:n(({row:a})=>[r("div",Vo,[r("span",So,"¥"+d(a.amount),1),l(Ot,{placement:"top",width:200,trigger:"hover"},{reference:n(()=>[l(i,{class:"text-gray-400 cursor-pointer hover:text-primary"},{default:n(()=>[l(V(Rr))]),_:1})]),default:n(()=>[r("div",No,[r("div",Co,[e[103]||(e[103]=r("span",{class:"text-gray-500"},"业务订单单据:",-1)),r("span",Po,"¥"+d(a.amount),1)]),r("div",Oo,[e[104]||(e[104]=r("span",{class:"text-gray-500"},"定金下限:",-1)),r("span",null,"¥"+d(V(q)(a.deposit_min_amount)),1)]),r("div",Ao,[e[105]||(e[105]=r("span",{class:"text-gray-500"},"实付(关联):",-1)),r("span",Ro,"¥"+d(V(q)(a.linked_pay_paid_total)),1)]),$t()&&a.internal_cost!=null&&a.internal_cost!==""?(o(),_("div",To,[e[106]||(e[106]=r("span",{class:"text-gray-500"},"内部成本:",-1)),r("span",{class:B(["font-medium cursor-pointer select-none",ue.value?"text-orange-600":"text-gray-400"]),title:"点击显示/隐藏",onClick:e[16]||(e[16]=Ie(P=>ue.value=!ue.value,["stop"]))},d(ue.value?`¥${V(q)(a.internal_cost)}`:"****"),3)])):v("",!0)])]),_:2},1024)])]),_:1}),$t()?(o(),k(R,{key:1,width:"100"},{header:n(()=>[r("span",{class:"cursor-pointer select-none hover:text-primary",title:"点击显示/隐藏内部成本",onClick:e[17]||(e[17]=Ie(a=>ue.value=!ue.value,["stop"]))}," 内部成本 ")]),default:n(({row:a})=>[a.internal_cost!=null&&a.internal_cost!==""?(o(),_("span",{key:0,class:B(["cursor-pointer select-none",ue.value?"text-orange-600 font-medium":"text-gray-400"]),title:"点击显示/隐藏",onClick:e[18]||(e[18]=Ie(P=>ue.value=!ue.value,["stop"]))},d(ue.value?`¥${a.internal_cost}`:"****"),3)):(o(),_("span",$o,"—"))]),_:1})):v("",!0),l(R,{label:"处方审核",width:"110"},{default:n(({row:a})=>[l(T,{type:Oa(a.prescription_audit_status),size:"small",class:B(It("rx",a))},{default:n(()=>[f(d(Pa(a.prescription_audit_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(R,{label:"支付单审核",width:"110"},{default:n(({row:a})=>[l(T,{type:Oa(a.payment_slip_audit_status),size:"small",class:B(It("pay",a))},{default:n(()=>[f(d(Pa(a.payment_slip_audit_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(R,{label:"履约",width:"108"},{default:n(({row:a})=>[l(T,{type:V(Ur)(a.fulfillment_status),size:"small",class:B(It("fulfillment",a))},{default:n(()=>[f(d(V(Ir)(a.fulfillment_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(R,{label:"关联支付单",width:"100"},{default:n(({row:a})=>[Number(a.linked_pay_order_count)>0?(o(),_("span",{key:0,class:"text-primary cursor-default",title:a.linked_pay_order_id?`#${a.linked_pay_order_id}…`:""},d(a.linked_pay_order_count)+" 笔 ",9,Eo)):(o(),_("span",Do,"—"))]),_:1}),l(R,{label:"创建时间","min-width":"144"},{default:n(({row:a})=>[f(d(V(bs)(a.create_time)),1)]),_:1}),l(R,{label:"开方人",prop:"doctor_name",width:"90","show-overflow-tooltip":""}),l(R,{label:"创建人",prop:"creator_name",width:"90","show-overflow-tooltip":""}),l(R,{"min-width":"128","show-overflow-tooltip":""},{header:n(()=>[e[107]||(e[107]=r("span",null,"二中心·指派",-1)),l(At,{placement:"top","max-width":"320",content:"与诊单「指派记录」快照一致:仅当本条业务单在操作瞬间为快照中的「关联业务单」(创建人+创建时间命中)时显示。绿色=新医助在名称含「二中心」的部门及其下级;灰色=系统自动释放诊单医助。"},{default:n(()=>[l(i,{class:"ml-0.5 align-middle text-gray-400 cursor-help"},{default:n(()=>[l(V(Tr))]),_:1})]),_:1})]),default:n(({row:a})=>[Number(a.po_assign_snapshot_hit)?Number(a.po_assign_is_release)?(o(),k(T,{key:1,type:"info",size:"small"},{default:n(()=>[...e[108]||(e[108]=[f("已释放",-1)])]),_:1})):Number(a.po_assign_to_er_center)?(o(),k(T,{key:2,type:"success",size:"small"},{default:n(()=>[f(d(a.po_assign_to_assistant_name||"医助#"+a.po_assign_to_assistant_id),1)]),_:2},1024)):(o(),k(T,{key:3,type:"warning",size:"small",effect:"plain"},{default:n(()=>[f(" 非二中心 "+d(a.po_assign_to_assistant_name||"医助#"+a.po_assign_to_assistant_id),1)]),_:2},1024)):(o(),_("span",Fo,"—"))]),_:1}),l(R,{label:"操作",width:"310",fixed:"right"},{default:n(({row:a})=>[r("div",Uo,[A((o(),k(b,{type:"primary",link:"",onClick:P=>$l(a.id)},{default:n(()=>[f(d($s.value),1)]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/detail"]]]),$a(a)?A((o(),k(b,{key:0,type:"primary",link:"",onClick:P=>ql(a)},{default:n(()=>[...e[109]||(e[109]=[f("编辑",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/edit"]]]):v("",!0),wl(a)?A((o(),k(b,{key:1,type:"success",link:"",onClick:P=>Xl(a)},{default:n(()=>[...e[110]||(e[110]=[f("修改单号",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/ddcode"]]]):v("",!0),Lt(a)?A((o(),k(b,{key:2,type:"primary",link:"",onClick:P=>ta(a)},{default:n(()=>[...e[111]||(e[111]=[f("确认发货",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/ship"]]]):v("",!0),jt(a)?A((o(),k(b,{key:3,type:"success",link:"",onClick:P=>Ha(a)},{default:n(()=>[...e[112]||(e[112]=[f("补齐支付单",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),Da(a)?A((o(),k(b,{key:4,type:"primary",link:"",onClick:P=>Wa(a)},{default:n(()=>[...e[113]||(e[113]=[f("完成订单",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/complete"]]]):v("",!0),Fa(a)?A((o(),k(b,{key:5,type:"danger",link:"",onClick:P=>Ga(a)},{default:n(()=>[...e[114]||(e[114]=[f("退款",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/refund"]]]):v("",!0),gl(a)?A((o(),k(b,{key:6,type:"danger",link:"",onClick:P=>Hl(a)},{default:n(()=>[...e[115]||(e[115]=[f("撤回",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/withdraw"]]]):v("",!0),Vl(a)?A((o(),k(b,{key:7,type:"warning",link:"",loading:Zt.value===a.id,onClick:P=>Yl(a)},{default:n(()=>[...e[116]||(e[116]=[f("上传药方",-1)])]),_:1},8,["loading","onClick"])),[[F,["tcm.prescriptionOrder/submitGancaoRecipel"]]]):v("",!0)])]),_:1})]),_:1},8,["data"]),r("div",Io,[l(at,{modelValue:V(X),"onUpdate:modelValue":e[19]||(e[19]=a=>va(X)?X.value=a:null),"page-sizes":[15,20,30,40,100,150,200],onChange:V(I)},null,8,["modelValue","onChange"])])]),_:1})),[[_e,V(X).loading]]),l(Fr,{ref_key:"detailDrawerRef",ref:G,"gancao-preview-loading":Oe.value,onUpdateAmount:Rl,onPatchRxPatient:Pl,onViewPrescription:e[20]||(e[20]=a=>$.value&&us($.value)),onTestGancaoPreview:Jl,onViewPatient:Ps,onDetailChanged:V(I)},{"header-extra":n(({detail:a})=>[r("div",Lo,[e[119]||(e[119]=r("span",{class:"text-sm text-gray-500"},"发货类型",-1)),A((o(),k(Fe,{"model-value":le(a.ship_mode),size:"small",disabled:zt.value||!Ea(a),onChange:hl},{default:n(()=>[l(Se,{label:"gancao"},{default:n(()=>[...e[117]||(e[117]=[f("甘草药房",-1)])]),_:1}),l(Se,{label:"direct",disabled:xl(a)},{default:n(()=>[...e[118]||(e[118]=[f("洛阳药房",-1)])]),_:1},8,["disabled"])]),_:2},1032,["model-value","disabled"])),[[F,["tcm.prescriptionOrder/setShipMode"]]]),yl.value?v("",!0):(o(),k(T,{key:0,type:le(a.ship_mode)==="direct"?"warning":"success",effect:"plain",round:""},{default:n(()=>[f(d(bl(a.ship_mode)),1)]),_:2},1032,["type"]))])]),"header-actions":n(({detail:a})=>[ml(a)?A((o(),k(b,{key:0,type:"warning",size:"small",plain:"",onClick:P=>Ma(a,"prescription")},{default:n(()=>[...e[120]||(e[120]=[f(" 处方审核 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),fl(a)?A((o(),k(b,{key:1,type:"info",size:"small",plain:"",onClick:P=>vn(a)},{default:n(()=>[...e[121]||(e[121]=[f(" 撤回处方审核 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),_l(a)?A((o(),k(b,{key:2,type:"warning",size:"small",plain:"",onClick:P=>Ma(a,"payment")},{default:n(()=>[...e[122]||(e[122]=[f(" 支付审核 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),vl(a)?A((o(),k(b,{key:3,type:"info",size:"small",plain:"",onClick:P=>gn(a)},{default:n(()=>[...e[123]||(e[123]=[f(" 撤回支付审核 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),Lt(a)?A((o(),k(b,{key:4,type:"primary",size:"small",plain:"",onClick:P=>ta(a)},{default:n(()=>[...e[124]||(e[124]=[f(" 确认发货 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/ship"]]]):v("",!0),jt(a)?A((o(),k(b,{key:5,type:"success",size:"small",plain:"",onClick:P=>Ha(a)},{default:n(()=>[...e[125]||(e[125]=[f(" 关联支付单 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),Da(a)?A((o(),k(b,{key:6,type:"primary",size:"small",plain:"",onClick:P=>Wa(a)},{default:n(()=>[...e[126]||(e[126]=[f(" 完成订单 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/complete"]]]):v("",!0),Fa(a)?A((o(),k(b,{key:7,type:"danger",size:"small",plain:"",onClick:P=>Ga(a)},{default:n(()=>[...e[127]||(e[127]=[f(" 退款 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.prescriptionOrder/refund"]]]):v("",!0)]),_:1},8,["gancao-preview-loading","onDetailChanged"]),l(Y,{modelValue:Me.value,"onUpdate:modelValue":e[23]||(e[23]=a=>Me.value=a),title:"修改订单金额",width:"420px","destroy-on-close":"","close-on-click-modal":!1,onClosed:Al},{footer:n(()=>[l(b,{onClick:e[22]||(e[22]=a=>Me.value=!1)},{default:n(()=>[...e[129]||(e[129]=[f("取消",-1)])]),_:1}),l(b,{type:"primary",loading:qt.value,onClick:Ia},{default:n(()=>[...e[130]||(e[130]=[f(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(J,{ref_key:"updateAmountFormRef",ref:mt,model:me,rules:Nl,"label-width":"96px",class:"pr-2",onSubmit:Ie(Ia,["prevent"])},{default:n(()=>[l(c,{label:"当前金额"},{default:n(()=>{var a;return[r("div",zo,"¥"+d(V(q)((a=$.value)==null?void 0:a.amount)),1)]}),_:1}),l(c,{label:"新金额",prop:"amount"},{default:n(()=>[l(ae,{modelValue:me.amount,"onUpdate:modelValue":e[21]||(e[21]=a=>me.amount=a),min:0,step:.01,precision:2,"controls-position":"right",class:"w-full",placeholder:"请输入新金额"},null,8,["modelValue"])]),_:1}),e[128]||(e[128]=r("div",{class:"text-xs text-gray-400 pl-[96px] -mt-1 leading-relaxed"}," 已完成或已取消订单不可修改。提交成功后会刷新详情与操作日志。 ",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(Y,{modelValue:ke.value,"onUpdate:modelValue":e[46]||(e[46]=a=>ke.value=a),title:ie.value?"修改物流信息(甘草订单)":"编辑业务订单",width:"940px",top:"4vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog",onClosed:zl},{footer:n(()=>[r("div",hu,[ie.value?v("",!0):(o(),_("div",wu,[r("span",Vu,"第 "+d(L.value+1)+" / 3 步",1),L.value===2&&M.value>0?(o(),_("span",Su," 订单金额与关联支付单合计须 ≥ ¥"+d(V(q)(M.value)),1)):v("",!0)])),r("div",Nu,[l(b,{size:"large",onClick:e[45]||(e[45]=a=>ke.value=!1)},{default:n(()=>[...e[143]||(e[143]=[f("取消",-1)])]),_:1}),ie.value?v("",!0):(o(),_(O,{key:0},[L.value>0?(o(),k(b,{key:0,size:"large",onClick:Ml},{default:n(()=>[...e[144]||(e[144]=[f("上一步",-1)])]),_:1})):v("",!0),L.value<2?(o(),k(b,{key:1,type:"primary",size:"large",onClick:jl},{default:n(()=>[...e[145]||(e[145]=[f(" 下一步 ",-1)])]),_:1})):v("",!0)],64)),ie.value||L.value===2?(o(),k(b,{key:1,type:"primary",size:"large",loading:Kt.value,onClick:Bl},{default:n(()=>[...e[146]||(e[146]=[f(" 确认保存 ",-1)])]),_:1},8,["loading"])):v("",!0)])])]),default:n(()=>[A((o(),_("div",Mo,[re.value?(o(),_("div",jo,[r("div",qo,[e[131]||(e[131]=r("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),r("div",Bo,[r("span",Go,"#"+d(re.value.id),1),re.value.sn?(o(),_("span",Ho,d(re.value.sn),1)):v("",!0),r("span",Wo,d(re.value.patient_name||"—"),1)])]),l(At,{content:La.value,placement:"bottom","show-after":300},{default:n(()=>[r("div",Ko,d(La.value),1)]),_:1},8,["content"])])):v("",!0),ie.value?(o(),k(xe,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4",title:"订单已提交甘草,仅可修改快递单号与承运商;地址、金额等变更请先走取消流程。"},Ni({_:2},[ft.value?{name:"default",fn:n(()=>[r("div",Qo,"甘草处方单号:"+d(ft.value),1)]),key:"0"}:void 0]),1024)):v("",!0),ie.value?v("",!0):(o(),_(O,{key:2},[l(Fn,{active:L.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:n(()=>[l(ua,{title:"患者与收货",description:"诊单与物流地址"}),l(ua,{title:"服务与支付单",description:"套餐与关联收款"}),l(ua,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),r("p",Jo,d(El.value),1)],64)),l(J,{ref_key:"editFormRef",ref:he,model:m,rules:Ll.value,"label-width":"108px",class:"create-order-form"},{default:n(()=>[ie.value?(o(),k(st,{key:0,gutter:20},{default:n(()=>[l(z,{span:24},{default:n(()=>[l(c,{label:"物流设置"},{default:n(()=>[r("div",Yo,[l(h,{modelValue:m.express_company,"onUpdate:modelValue":e[24]||(e[24]=a=>m.express_company=a),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(p,{label:"自动识别",value:"auto"}),l(p,{label:"顺丰速运",value:"sf"}),l(p,{label:"京东快递",value:"jd"}),l(p,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(u,{modelValue:m.tracking_number,"onUpdate:modelValue":e[25]||(e[25]=a=>m.tracking_number=a),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1})]),_:1})):v("",!0),ie.value?v("",!0):(o(),_(O,{key:1},[A(r("div",Xo,[l(st,{gutter:20},{default:n(()=>[l(z,{span:12},{default:n(()=>[l(c,{label:"收货人",prop:"recipient_name"},{default:n(()=>[l(u,{modelValue:m.recipient_name,"onUpdate:modelValue":e[26]||(e[26]=a=>m.recipient_name=a),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(z,{span:12},{default:n(()=>[l(c,{label:"收货手机",prop:"recipient_phone"},{default:n(()=>[l(u,{modelValue:m.recipient_phone,"onUpdate:modelValue":e[27]||(e[27]=a=>m.recipient_phone=a),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),l(z,{span:24},{default:n(()=>[l(c,{label:"省市区",prop:"region"},{default:n(()=>[l(Un,{modelValue:m.region,"onUpdate:modelValue":e[28]||(e[28]=a=>m.region=a),options:ut.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),l(z,{span:24},{default:n(()=>[l(c,{label:"详细地址",prop:"shipping_address"},{default:n(()=>[l(u,{modelValue:m.shipping_address,"onUpdate:modelValue":e[29]||(e[29]=a=>m.shipping_address=a),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[pa,L.value===0]]),A(r("div",Zo,[it.value?(o(),k(st,{key:0,gutter:20,class:"mb-1"},{default:n(()=>[l(z,{span:24},{default:n(()=>[r("div",eu,[e[134]||(e[134]=r("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),m.prescription_id?(o(),k(b,{key:0,type:"primary",size:"small",link:"",onClick:On},{default:n(()=>[...e[132]||(e[132]=[f(" 详细 ",-1)])]),_:1})):v("",!0),m.id?(o(),k(b,{key:1,type:"warning",size:"small",link:"",loading:Oe.value,icon:V($r),onClick:Ql},{default:n(()=>[...e[133]||(e[133]=[f(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0),r("span",tu,"ID: "+d(m.prescription_id||"—"),1)]),r("div",au,[za.value.length?(o(),_("div",su,[e[135]||(e[135]=r("div",{class:"text-gray-500"},"创建人所属部门",-1)),(o(!0),_(O,null,U(za.value,(a,P)=>(o(),_("div",{key:P,class:"pl-0 min-w-0"},[a.length?(o(),k(Ln,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:n(()=>[(o(!0),_(O,null,U(a,(S,E)=>(o(),k(In,{key:E},{default:n(()=>[r("span",lu,d(S),1)]),_:2},1024))),128))]),_:2},1024)):v("",!0)]))),128))])):(o(),_("div",nu,"创建人所属部门:—"))])]),_:1}),l(z,{xs:24,sm:8},{default:n(()=>[l(c,{label:"复诊"},{default:n(()=>[l(zn,{modelValue:m.is_follow_up,"onUpdate:modelValue":e[30]||(e[30]=a=>m.is_follow_up=a),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),l(z,{xs:24,sm:8},{default:n(()=>[l(c,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:n(()=>[r("div",ru,[l(ae,{modelValue:m.medication_days,"onUpdate:modelValue":e[31]||(e[31]=a=>m.medication_days=a),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[136]||(e[136]=r("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),l(z,{xs:24,sm:8},{default:n(()=>[l(c,{label:"上次医生"},{default:n(()=>[l(u,{modelValue:m.prev_staff,"onUpdate:modelValue":e[32]||(e[32]=a=>m.prev_staff=a),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(z,{span:12},{default:n(()=>[l(c,{label:Ua.value,prop:"dose_count"},{default:n(()=>[l(ae,{modelValue:m.dose_count,"onUpdate:modelValue":e[33]||(e[33]=a=>m.dose_count=a),min:1,placeholder:Ua.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),l(z,{span:12},{default:n(()=>[l(c,{label:"剂量单位",prop:"dose_unit"},{default:n(()=>[l(h,{modelValue:m.dose_unit,"onUpdate:modelValue":e[34]||(e[34]=a=>m.dose_unit=a),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(p,{label:"剂",value:"剂"}),l(p,{label:"丸",value:"丸"}),l(p,{label:"袋",value:"袋"}),l(p,{label:"盒",value:"盒"}),l(p,{label:"瓶",value:"瓶"}),l(p,{label:"膏",value:"膏"}),l(p,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):v("",!0),l(st,{gutter:20},{default:n(()=>[l(z,{span:12},{default:n(()=>[l(c,{label:"服务渠道"},{default:n(()=>[l(h,{modelValue:m.service_channel,"onUpdate:modelValue":e[35]||(e[35]=a=>m.service_channel=a),class:"w-full",filterable:"","allow-create":"","default-first-option":"",clearable:"",placeholder:"可选或自定义输入"},{default:n(()=>[l(p,{label:"未指派",value:"0"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(z,{span:12},{default:n(()=>[l(c,{label:"服务套餐"},{default:n(()=>[l(h,{modelValue:m.service_package,"onUpdate:modelValue":e[36]||(e[36]=a=>m.service_package=a),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:n(()=>[(o(!0),_(O,null,U(Fl.value,a=>(o(),k(p,{key:a.value,label:a.name,value:a.value,disabled:a.status===0},null,8,["label","value","disabled"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(z,{span:24},{default:n(()=>[l(c,{label:"物流设置"},{default:n(()=>[r("div",iu,[l(h,{modelValue:m.express_company,"onUpdate:modelValue":e[37]||(e[37]=a=>m.express_company=a),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(p,{label:"自动识别",value:"auto"}),l(p,{label:"顺丰速运",value:"sf"}),l(p,{label:"京东快递",value:"jd"}),l(p,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(u,{modelValue:m.tracking_number,"onUpdate:modelValue":e[38]||(e[38]=a=>m.tracking_number=a),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),l(z,{span:24},{default:n(()=>[l(c,{label:"关联支付单",prop:"pay_order_ids",required:M.value>0},{default:n(()=>[l(h,{modelValue:m.pay_order_ids,"onUpdate:modelValue":e[39]||(e[39]=a=>m.pay_order_ids=a),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:M.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Qt.value},{default:n(()=>[(o(!0),_(O,null,U(Be.value,a=>(o(),k(p,{key:a.id,label:`${a.order_no} · ¥${a.amount} · ${vt(a.order_type)} · ${V(Tt)(a)}`,value:a.id,class:"!h-auto py-1.5"},{default:n(()=>[r("div",ou,[r("div",uu,[r("span",du,d(a.order_no),1),r("span",pu,"¥"+d(a.amount),1)]),r("div",cu,[r("span",mu,[f(d(vt(a.order_type))+" · "+d(V(Tt)(a)),1),a.remark?(o(),_(O,{key:0},[f(" · "+d(a.remark),1)],64)):v("",!0)]),r("span",_u,d(String(a.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),r("div",fu,[M.value>0?(o(),_(O,{key:0},[r("span",vu,"当前已开启关联支付门槛(¥"+d(V(q)(M.value))+"),须至少选择一笔支付单。",1),e[137]||(e[137]=r("span",{class:"mx-1"},null,-1))],64)):v("",!0),e[139]||(e[139]=f(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),l(At,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:n(()=>[...e[138]||(e[138]=[r("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1},8,["required"])]),_:1})]),_:1})],512),[[pa,L.value===1]]),A(r("div",gu,[r("div",{class:B(["create-order-deposit-bar",Jt.value>=M.value?"is-ok":"is-warn"])},[r("div",yu,[e[140]||(e[140]=r("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),r("strong",null,"¥"+d(V(q)(M.value)),1),r("span",bu,d(M.value>0?"须 ≥ 此值":"未设置"),1)]),e[142]||(e[142]=r("div",{class:"create-order-deposit-bar__sep"},null,-1)),r("div",xu,[e[141]||(e[141]=r("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),r("strong",null,"¥"+d(V(q)(Jt.value)),1),r("span",ku,d(Jt.value>=M.value?"已达标":"未达标"),1)])],2),l(st,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:n(()=>[l(z,{span:12},{default:n(()=>[l(c,{label:"费用类别",prop:"fee_type"},{default:n(()=>[l(h,{modelValue:m.fee_type,"onUpdate:modelValue":e[40]||(e[40]=a=>m.fee_type=a),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(p,{label:"挂号费",value:1}),l(p,{label:"问诊费",value:2}),l(p,{label:"药品费用",value:3}),l(p,{label:"首付费用",value:4}),l(p,{label:"尾款费用",value:5}),l(p,{label:"其他费用",value:6}),l(p,{label:"全部费用",value:7}),l(p,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(z,{span:12},{default:n(()=>[l(c,{label:"总金额",prop:"amount"},{default:n(()=>[l(ae,{modelValue:m.amount,"onUpdate:modelValue":e[41]||(e[41]=a=>m.amount=a),min:Ul.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),A((o(),k(z,{span:12},{default:n(()=>[l(c,{label:"内部成本"},{default:n(()=>[l(ae,{modelValue:m.internal_cost,"onUpdate:modelValue":e[42]||(e[42]=a=>m.internal_cost=a),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[F,["finance.account_log/lists"]]]),l(z,{span:24},{default:n(()=>[A((o(),k(c,{label:"药房备注"},{default:n(()=>[l(u,{modelValue:m.remark_extra,"onUpdate:modelValue":e[43]||(e[43]=a=>m.remark_extra=a),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[F,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(c,{label:"医助备注"},{default:n(()=>[l(u,{modelValue:m.remark_assistant,"onUpdate:modelValue":e[44]||(e[44]=a=>m.remark_assistant=a),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[pa,L.value===2]])],64))]),_:1},8,["model","rules"])])),[[_e,Wt.value]])]),_:1},8,["modelValue","title"]),l(Y,{modelValue:Ge.value,"onUpdate:modelValue":e[51]||(e[51]=a=>Ge.value=a),title:Gl.value,width:"480px","destroy-on-close":"",onClosed:e[52]||(e[52]=a=>Pe.value="")},{footer:n(()=>[l(b,{onClick:e[48]||(e[48]=a=>Ge.value=!1)},{default:n(()=>[...e[148]||(e[148]=[f("取消",-1)])]),_:1}),l(b,{type:"primary",loading:gt.value,onClick:e[49]||(e[49]=a=>ja("approve"))},{default:n(()=>[...e[149]||(e[149]=[f("同意通过",-1)])]),_:1},8,["loading"]),l(b,{type:"danger",loading:gt.value,onClick:e[50]||(e[50]=a=>ja("reject"))},{default:n(()=>[...e[150]||(e[150]=[f("驳回阻止",-1)])]),_:1},8,["loading"])]),default:n(()=>[He.value&&He.value.completion_request===1?(o(),k(xe,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:n(()=>[r("div",Cu,[e[147]||(e[147]=r("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),r("div",Pu," 申请人:"+d(He.value.completion_request_by_name||"—"),1),r("div",Ou," 申请时间:"+d(V(bs)(He.value.completion_request_time)),1)])]),_:1})):v("",!0),e[151]||(e[151]=r("p",{class:"text-[13px] text-gray-500 mb-3 bg-gray-50/80 border border-gray-100 p-2 rounded"},"驳回时必须填写意见;通过时意见选填。",-1)),l(u,{modelValue:Pe.value,"onUpdate:modelValue":e[47]||(e[47]=a=>Pe.value=a),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),l(Y,{modelValue:We.value,"onUpdate:modelValue":e[56]||(e[56]=a=>We.value=a),title:"修改快递单号",width:"420px","destroy-on-close":"","close-on-click-modal":!1},{footer:n(()=>[l(b,{onClick:e[55]||(e[55]=a=>We.value=!1)},{default:n(()=>[...e[153]||(e[153]=[f("取消",-1)])]),_:1}),l(b,{type:"primary",loading:bt.value,onClick:qa},{default:n(()=>[...e[154]||(e[154]=[f("保存单号",-1)])]),_:1},8,["loading"])]),default:n(()=>[A((o(),k(J,{"label-width":"90px",class:"pr-2",onSubmit:Ie(qa,["prevent"])},{default:n(()=>[l(c,{label:"承运商"},{default:n(()=>[l(h,{modelValue:Z.express_company,"onUpdate:modelValue":e[53]||(e[53]=a=>Z.express_company=a),class:"w-full",placeholder:"选择承运商"},{default:n(()=>[l(p,{label:"自动识别",value:"auto"}),l(p,{label:"顺丰速运",value:"sf"}),l(p,{label:"京东快递",value:"jd"}),l(p,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(c,{label:"快递单号"},{default:n(()=>[l(u,{modelValue:Z.tracking_number,"onUpdate:modelValue":e[54]||(e[54]=a=>Z.tracking_number=a),maxlength:"80",placeholder:"请输入快递单号",clearable:"",autofocus:""},null,8,["modelValue"])]),_:1}),e[152]||(e[152]=r("div",{class:"text-xs text-gray-400 pl-[90px] -mt-1 leading-relaxed"}," 仅更新快递信息,其他字段不受影响。 ",-1))]),_:1})),[[_e,bt.value]])]),_:1},8,["modelValue"]),l(Y,{modelValue:we.value,"onUpdate:modelValue":e[60]||(e[60]=a=>we.value=a),title:"确认发货",width:"440px","destroy-on-close":"","close-on-click-modal":!1},{footer:n(()=>[l(b,{onClick:e[59]||(e[59]=a=>we.value=!1)},{default:n(()=>[...e[156]||(e[156]=[f("取消",-1)])]),_:1}),l(b,{type:"primary",loading:kt.value,onClick:Ba},{default:n(()=>[...e[157]||(e[157]=[f(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(xe,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),A((o(),k(J,{"label-width":"90px",class:"pr-2",onSubmit:Ie(Ba,["prevent"])},{default:n(()=>[l(c,{label:"发货方式"},{default:n(()=>[l(T,{type:le(H.ship_mode)==="direct"?"warning":"success",effect:"plain",size:"default"},{default:n(()=>[f(d(kl.value),1)]),_:1},8,["type"]),e[155]||(e[155]=r("span",{class:"text-xs text-gray-400 ml-2"},"请在订单详情顶部「发货类型」中设置,此处不可修改",-1))]),_:1}),l(c,{label:"承运商"},{default:n(()=>[l(h,{modelValue:H.express_company,"onUpdate:modelValue":e[57]||(e[57]=a=>H.express_company=a),class:"w-full"},{default:n(()=>[l(p,{label:"自动识别",value:"auto"}),l(p,{label:"顺丰速运",value:"sf"}),l(p,{label:"京东快递",value:"jd"}),l(p,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(c,{label:"快递单号"},{default:n(()=>[l(u,{modelValue:H.tracking_number,"onUpdate:modelValue":e[58]||(e[58]=a=>H.tracking_number=a),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[_e,kt.value]])]),_:1},8,["modelValue"]),l(Y,{modelValue:Re.value,"onUpdate:modelValue":e[65]||(e[65]=a=>Re.value=a),title:"完成订单",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:sn},{footer:n(()=>[l(b,{onClick:e[64]||(e[64]=a=>Re.value=!1)},{default:n(()=>[...e[161]||(e[161]=[f("取消",-1)])]),_:1}),l(b,{type:ye.value===10?"danger":"primary",loading:Ke.value,onClick:rn},{default:n(()=>[f(d(ye.value===10?"确认退款":"确定"),1)]),_:1},8,["type","loading"])]),default:n(()=>[A((o(),_("div",Au,[je.value.show?(o(),k(xe,{key:0,type:"error",effect:"dark",closable:!1,"show-icon":"",class:"mb-3 !items-start ring-2 ring-red-600/70",title:"物流异常:轨迹含拒收/退回等,请先核实处理再结案"},{default:n(()=>[r("div",Ru,[je.value.keywords.length?(o(),_("div",Tu,[e[158]||(e[158]=r("span",{class:"text-red-100/90"},"命中:",-1)),(o(!0),_(O,null,U(je.value.keywords,a=>(o(),k(T,{key:a,type:"danger",effect:"plain",size:"small",class:"!border-white/35 !text-white"},{default:n(()=>[f(d(a),1)]),_:2},1024))),128))])):v("",!0),je.value.lines.length?(o(),_("ul",$u,[(o(!0),_(O,null,U(je.value.lines,(a,P)=>(o(),_("li",{key:P},d(a),1))),128))])):v("",!0),e[159]||(e[159]=r("div",{class:"text-red-100/85 border-t border-white/15 pt-1.5"}," 确认已协调拒收/退回后续(重发、退款、改址等)后再完成订单。 ",-1))])]),_:1})):v("",!0),e[160]||(e[160]=r("p",{class:"text-sm text-gray-600 mb-3"}," 请选择本单结案状态。选择「已完成」时,实付将按已关联的支付单金额汇总;选择「退款」时将关联收款单标记为已退款并清零本单已付。 ",-1)),l(h,{modelValue:ye.value,"onUpdate:modelValue":e[61]||(e[61]=a=>ye.value=a),class:"w-full",placeholder:"请选择"},{default:n(()=>[(o(),_(O,null,U(en,a=>l(p,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),ye.value===10?(o(),_(O,{key:1},[l(xe,{type:"warning",closable:!1,"show-icon":"",class:"mt-3 !items-start",title:"退款将处理本单全部关联收款单,已付总额清零,且不可撤销。"}),A((o(),_("div",Eu,[pe.value.length?(o(),_("div",Du,[r("div",Fu," 将退款的关联收款("+d(pe.value.length)+" 笔 · 合计 ¥"+d(V(q)(tn.value))+") ",1),l(tt,{data:pe.value,size:"small",border:"",stripe:"","max-height":"200"},{default:n(()=>[l(R,{prop:"order_no",label:"单号","min-width":"120","show-overflow-tooltip":""}),l(R,{label:"类型",width:"88"},{default:n(({row:a})=>[f(d(a.order_type_desc||V(ys)(a.order_type)),1)]),_:1}),l(R,{label:"金额",width:"88",align:"right"},{default:n(({row:a})=>[r("span",Uu,"¥"+d(a.amount),1)]),_:1}),l(R,{label:"状态",width:"92",align:"center"},{default:n(({row:a})=>[l(T,{type:V(Lr)(a.status),size:"small"},{default:n(()=>[f(d(a.status_desc||V(zr)(a.status)),1)]),_:2},1032,["type"])]),_:1})]),_:1},8,["data"])])):Qe.value?v("",!0):(o(),_("p",Iu," 当前无已关联的收款单;提交后仍将本单标记为「退款」并清零已付。 "))])),[[_e,Qe.value]]),l(J,{ref_key:"completeRefundFormRef",ref:aa,model:ee,rules:an.value,"label-width":"88px",class:"mt-3"},{default:n(()=>[l(c,{label:"退款金额",prop:"refund_amount"},{default:n(()=>[l(ae,{modelValue:ee.refund_amount,"onUpdate:modelValue":e[62]||(e[62]=a=>ee.refund_amount=a),min:.01,max:be.value>0?be.value:void 0,step:.01,precision:2,class:"w-full","controls-position":"right"},null,8,["modelValue","max"]),r("div",Lu," 可退上限 ¥"+d(V(q)(be.value)),1)]),_:1}),l(c,{label:"退款原因",prop:"reason"},{default:n(()=>[l(u,{modelValue:ee.reason,"onUpdate:modelValue":e[63]||(e[63]=a=>ee.reason=a),type:"textarea",rows:3,maxlength:"500","show-word-limit":"",placeholder:"请填写退款原因(必填)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])],64)):v("",!0)])),[[_e,_t.value]])]),_:1},8,["modelValue"]),l(Y,{modelValue:Ye.value,"onUpdate:modelValue":e[69]||(e[69]=a=>Ye.value=a),title:"订单退款",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:dn},{footer:n(()=>[l(b,{onClick:e[68]||(e[68]=a=>Ye.value=!1)},{default:n(()=>[...e[162]||(e[162]=[f("取消",-1)])]),_:1}),l(b,{type:"danger",loading:na.value,onClick:pn},{default:n(()=>[...e[163]||(e[163]=[f(" 确认退款 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(xe,{type:"warning",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:on.value},null,8,["title"]),l(J,{ref_key:"refundOrderFormRef",ref:ra,model:Q,rules:un.value,"label-width":"88px"},{default:n(()=>[l(c,{label:"退款金额",prop:"refund_amount"},{default:n(()=>[l(ae,{modelValue:Q.refund_amount,"onUpdate:modelValue":e[66]||(e[66]=a=>Q.refund_amount=a),min:.01,max:oe.value>0?oe.value:void 0,step:.01,precision:2,class:"w-full","controls-position":"right"},null,8,["modelValue","max"]),r("div",zu," 可退上限 ¥"+d(V(q)(oe.value))+"(默认全额);部分退款时按金额从关联收款单依次标记已退款,并扣减本单已付。 ",1)]),_:1}),l(c,{label:"退款原因",prop:"reason"},{default:n(()=>[l(u,{modelValue:Q.reason,"onUpdate:modelValue":e[67]||(e[67]=a=>Q.reason=a),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"请填写退款原因(必填)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"]),l(Y,{modelValue:Xe.value,"onUpdate:modelValue":e[77]||(e[77]=a=>Xe.value=a),title:"补齐支付单",width:"600px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[78]||(e[78]=a=>{var P;return(P=wt.value)==null?void 0:P.clearValidate()})},{footer:n(()=>[l(b,{onClick:e[76]||(e[76]=a=>Xe.value=!1)},{default:n(()=>[...e[173]||(e[173]=[f("取消",-1)])]),_:1}),l(b,{type:"primary",loading:ht.value,onClick:fn},{default:n(()=>[f(d(C.add_mode==="completion_only"?"提交申请":"确认新增"),1)]),_:1},8,["loading"])]),default:n(()=>[l(xe,{title:cn.value,type:"info",closable:!1,"show-icon":"",class:"mb-4"},null,8,["title"]),A((o(),k(J,{ref_key:"addPayOrderFormRef",ref:wt,model:C,rules:mn.value,"label-width":"90px",class:"pr-2"},{default:n(()=>[l(c,{label:"添加方式",prop:"add_mode"},{default:n(()=>[l(Fe,{modelValue:C.add_mode,"onUpdate:modelValue":e[70]||(e[70]=a=>C.add_mode=a)},{default:n(()=>[l(Ue,{value:"create"},{default:n(()=>[...e[164]||(e[164]=[f("付呗",-1)])]),_:1}),l(Ue,{value:"create_express"},{default:n(()=>[...e[165]||(e[165]=[f("快递代收",-1)])]),_:1}),l(Ue,{value:"link"},{default:n(()=>[...e[166]||(e[166]=[f("关联已有",-1)])]),_:1}),l(Ue,{value:"completion_only"},{default:n(()=>[...e[167]||(e[167]=[f("直接完单申请",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),C.add_mode==="create"||C.add_mode==="create_express"?(o(),_(O,{key:0},[l(c,{label:"费用类别",prop:"order_type"},{default:n(()=>[l(h,{modelValue:C.order_type,"onUpdate:modelValue":e[71]||(e[71]=a=>C.order_type=a),class:"w-full"},{default:n(()=>[l(p,{label:"挂号费",value:1}),l(p,{label:"问诊费",value:2}),l(p,{label:"药品费用",value:3}),l(p,{label:"首付费用",value:4}),l(p,{label:"尾款费用",value:5}),l(p,{label:"其他费用",value:6}),l(p,{label:"全部费用",value:7}),l(p,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l(c,{label:"支付金额",prop:"pay_amount"},{default:n(()=>[l(ae,{modelValue:C.pay_amount,"onUpdate:modelValue":e[72]||(e[72]=a=>C.pay_amount=a),min:0,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元,可为 0)"},null,8,["modelValue"])]),_:1}),l(c,{label:"备注",prop:"pay_remark"},{default:n(()=>[l(u,{modelValue:C.pay_remark,"onUpdate:modelValue":e[73]||(e[73]=a=>C.pay_remark=a),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):C.add_mode==="completion_only"?(o(),k(xe,{key:1,type:"warning",closable:!1,"show-icon":"",class:"!mb-0"},{title:n(()=>[...e[168]||(e[168]=[f(" 不新增或关联支付单,仅向审核人员提交「完成订单」申请;提交后支付审核将变为待审核,审核通过后将自动结案。 ",-1)])]),_:1})):(o(),k(c,{key:2,label:"选择支付单",prop:"link_pay_order_id"},{default:n(()=>[l(h,{modelValue:C.link_pay_order_ids,"onUpdate:modelValue":e[74]||(e[74]=a=>C.link_pay_order_ids=a),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:ia.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:n(()=>[(o(!0),_(O,null,U(Vt.value,a=>(o(),k(p,{key:a.id,label:`${a.order_no} · ¥${a.amount} · ${vt(a.order_type)} · ${V(Tt)(a)}`,value:a.id},{default:n(()=>[r("div",Mu,[r("div",ju,[r("span",qu,d(a.order_no),1),r("span",Bu,"¥"+d(a.amount),1)]),r("div",Gu,d(vt(a.order_type))+" · "+d(V(Tt)(a)),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[169]||(e[169]=r("div",{class:"text-xs text-gray-500 mt-1.5"}," 仅显示本诊单下未被其他业务订单占用的支付单,可同时选择多个 ",-1))]),_:1})),C.add_mode!=="completion_only"?(o(),k(c,{key:3,label:"完单申请"},{default:n(()=>[l(Fe,{modelValue:C.completion_request,"onUpdate:modelValue":e[75]||(e[75]=a=>C.completion_request=a)},{default:n(()=>[l(Ue,{value:0},{default:n(()=>[...e[170]||(e[170]=[f("不申请",-1)])]),_:1}),l(Ue,{value:1},{default:n(()=>[...e[171]||(e[171]=[f("申请完成订单",-1)])]),_:1})]),_:1},8,["modelValue"]),e[172]||(e[172]=r("div",{class:"text-xs text-gray-400 mt-1"},' 选择"申请完成订单"后,审核人员可在支付审核时看到此申请 ',-1))]),_:1})):v("",!0)]),_:1},8,["model","rules"])),[[_e,ht.value]])]),_:1},8,["modelValue"]),l(Y,{modelValue:qe.value,"onUpdate:modelValue":e[82]||(e[82]=a=>qe.value=a),title:"修改处方患者信息",width:"440px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:Ol},{footer:n(()=>[l(b,{onClick:e[81]||(e[81]=a=>qe.value=!1)},{default:n(()=>[...e[174]||(e[174]=[f("取消",-1)])]),_:1}),l(b,{type:"primary",loading:Bt.value,onClick:Tl},{default:n(()=>[...e[175]||(e[175]=[f(" 保存 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(J,{ref_key:"patchRxPatientFormRef",ref:Gt,model:ne,rules:Cl,"label-width":"96px"},{default:n(()=>[l(c,{label:"患者姓名",prop:"patient_name"},{default:n(()=>[l(u,{modelValue:ne.patient_name,"onUpdate:modelValue":e[79]||(e[79]=a=>ne.patient_name=a),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),l(c,{label:"手机",prop:"phone"},{default:n(()=>[l(u,{modelValue:ne.phone,"onUpdate:modelValue":e[80]||(e[80]=a=>ne.phone=a),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(ms,{modelValue:St.value,"onUpdate:modelValue":e[84]||(e[84]=a=>St.value=a),size:"920px","close-on-click-modal":!1},{header:n(()=>[r("div",Hu,[e[178]||(e[178]=r("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),x.value&&!Nt.value?(o(),_("div",Wu,[l(b,{size:"small",loading:Ee.value,onClick:En},{default:n(()=>[...e[176]||(e[176]=[f(" 下载图片 ",-1)])]),_:1},8,["loading"]),l(b,{size:"small",loading:Ee.value,onClick:Dn},{default:n(()=>[...e[177]||(e[177]=[f(" 下载PDF ",-1)])]),_:1},8,["loading"])])):v("",!0)])]),default:n(()=>{var a,P;return[A((o(),_("div",Ku,[x.value?(o(),k(Mn,{key:0,modelValue:W.value,"onUpdate:modelValue":e[83]||(e[83]=S=>W.value=S),class:"mx-4 mt-2",style:{"margin-bottom":"0px","z-index":"1",position:"relative"}},{default:n(()=>[l(cs,{label:"药房联",name:"internal"}),l(cs,{label:"处方联",name:"user"})]),_:1},8,["modelValue"])):v("",!0),x.value?(o(),_("div",Qu,[Number(x.value.void_status)===1?(o(),k(T,{key:0,type:"danger",size:"small"},{default:n(()=>[...e[179]||(e[179]=[f("已作废",-1)])]),_:1})):Number(x.value.business_prescription_audit_rejected)===1?(o(),k(T,{key:1,type:"danger",size:"small"},{default:n(()=>[...e[180]||(e[180]=[f("业务订单已驳回",-1)])]),_:1})):Number(x.value.audit_status)===1?(o(),k(T,{key:2,type:"success",size:"small"},{default:n(()=>[...e[181]||(e[181]=[f("已通过",-1)])]),_:1})):Number(x.value.audit_status)===0?(o(),k(T,{key:3,type:"warning",size:"small"},{default:n(()=>[...e[182]||(e[182]=[f("待审核",-1)])]),_:1})):(o(),k(T,{key:4,type:"danger",size:"small"},{default:n(()=>[...e[183]||(e[183]=[f("已驳回",-1)])]),_:1}))])):v("",!0),x.value&&Number(x.value.void_status)===1?(o(),_("div",Ju," 作废人:"+d(x.value.void_by_name||"—")+",作废时间:"+d(Nn(x.value.void_time)),1)):x.value&&Number(x.value.business_prescription_audit_rejected)===1?(o(),_("div",Yu,[e[184]||(e[184]=r("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),x.value.business_prescription_audit_remark?(o(),_("div",Xu," 驳回意见:"+d(x.value.business_prescription_audit_remark),1)):v("",!0)])):x.value&&Number(x.value.audit_status)===2?(o(),_("div",Zu,[e[185]||(e[185]=r("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),x.value.audit_remark?(o(),_("div",ed,"驳回意见:"+d(x.value.audit_remark),1)):v("",!0)])):v("",!0),x.value?(o(),_("div",{key:5,ref_key:"prescriptionSlipPrintRef",ref:Ka,class:"rx-paper"},[r("div",td,d(W.value==="internal"?"药房联":yn),1),r("div",ad,[r("span",sd,d(W.value==="user"?"服药前请核对姓名、电话、医生等信息以及医嘱等要点":"服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点"),1),r("div",ld,[r("div",nd,[e[186]||(e[186]=r("span",{class:"rx-meta-label"},"日期",-1)),r("span",rd,d(bn.value),1)]),r("div",id,[e[187]||(e[187]=r("span",{class:"rx-meta-label"},"处方编号",-1)),r("span",od,d(xn.value),1)]),r("div",ud,[e[188]||(e[188]=r("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),r("span",dd,d(kn.value),1)]),Za.value?(o(),_("div",pd,[e[189]||(e[189]=r("span",{class:"rx-meta-label"},"业务单号",-1)),r("span",cd,d(Za.value),1)])):v("",!0)])]),r("div",md,[r("div",_d,[r("div",fd,[e[190]||(e[190]=r("span",{class:"rx-key"},"姓名",-1)),r("span",vd,d(x.value.patient_name||"—"),1)]),r("div",gd,[e[191]||(e[191]=r("span",{class:"rx-key"},"性别",-1)),r("span",yd,d(Cn(x.value.gender)),1)]),r("div",bd,[e[192]||(e[192]=r("span",{class:"rx-key"},"年龄",-1)),r("span",xd,d(Pn(x.value.age)),1)]),r("div",kd,[e[193]||(e[193]=r("span",{class:"rx-key"},"电话",-1)),r("span",hd,d(x.value.phone||x.value.recipient_phone||"—"),1)])]),r("div",wd,[r("div",Vd,[e[194]||(e[194]=r("span",{class:"rx-key"},"收件信息",-1)),r("span",Sd,d(hn.value),1)])]),r("div",Nd,[r("div",Cd,[e[195]||(e[195]=r("span",{class:"rx-key"},"临床诊断",-1)),r("span",Pd,d(x.value.clinical_diagnosis||"—"),1)])])]),r("div",Od,[r("div",Ad,d(W.value==="internal"?"药房联":"处方联"),1),r("div",Rd,[e[198]||(e[198]=r("div",{class:"rx-rp-label"},"Rp.",-1)),r("div",Td,[r("div",$d,[e[196]||(e[196]=r("span",null,"用药 (单剂)",-1)),r("span",null,d(W.value==="user"?"用量":"总量"),1)]),r("div",Ed,[e[197]||(e[197]=r("span",null,"用药 (单剂)",-1)),r("span",null,d(W.value==="user"?"用量":"总量"),1)])])]),r("div",Dd,[W.value==="internal"?(o(),_(O,{key:0},[Ct.value.length?(o(),_(O,{key:0},[e[199]||(e[199]=r("div",{class:"rx-herb-section-label"},"主方",-1)),(o(!0),_(O,null,U(Ct.value,(S,E)=>(o(),_("div",{key:"main-"+E,class:"rx-herb-cell"},[r("span",Fd,d(S.name)+" ("+d(S.dosage)+"克)",1),r("span",Ud,d(ts(S.dosage))+"克",1)]))),128))],64)):v("",!0),De.value.length?(o(),_(O,{key:1},[r("div",Id,[e[200]||(e[200]=f(" 辅方",-1)),$e.value?(o(),_("span",Ld,"("+d($e.value)+")",1)):v("",!0)]),(o(!0),_(O,null,U(De.value,(S,E)=>(o(),_("div",{key:"aux-"+E,class:"rx-herb-cell"},[r("span",zd,d(S.name)+" ("+d(S.dosage)+"克)",1),r("span",Md,d(ts(S.dosage))+"克",1)]))),128))],64)):v("",!0)],64)):(o(),_(O,{key:1},[Ct.value.length?(o(),_(O,{key:0},[e[201]||(e[201]=r("div",{class:"rx-herb-section-label"},"主方",-1)),(o(!0),_(O,null,U(Ct.value,(S,E)=>(o(),_("div",{key:"user-main-"+E,class:"rx-herb-cell"},[r("span",jd,d(S.name),1),r("span",qd,d(S.dosage)+"克",1)]))),128))],64)):v("",!0),De.value.length?(o(),_(O,{key:1},[e[202]||(e[202]=r("div",{class:"rx-herb-section-label rx-herb-section-label--aux"},"辅方",-1)),(o(!0),_(O,null,U(De.value,(S,E)=>(o(),_("div",{key:"user-aux-"+E,class:"rx-herb-cell"},[r("span",Bd,d(S.name),1),r("span",Gd,d(S.dosage)+"克",1)]))),128))],64)):v("",!0)],64))])]),r("div",Hd,[W.value==="internal"?(o(),_(O,{key:0},[oa.value?(o(),_("p",Wd,"主服法:"+d(as.value),1)):(o(),_("p",Kd,"服法:"+d(as.value),1)),oa.value?(o(),_("p",Qd,"辅服法:"+d(oa.value),1)):v("",!0)],64)):v("",!0),ss.value?(o(),_("p",Jd,"医嘱:"+d(ss.value),1)):v("",!0),Ja.value?(o(),_("p",Yd,"忌口:"+d(Ja.value),1)):v("",!0),W.value==="internal"&&ls.value?(o(),_("p",Xd,"备注:"+d(ls.value),1)):v("",!0),ns.value?(o(),_("p",Zd," 药房备注:"+d(ns.value),1)):v("",!0),W.value==="internal"&&rs.value&&((a=x.value)==null?void 0:a.prescription_type)!=="饮片"?(o(),_("p",ep," 出丸:"+d(rs.value),1)):v("",!0)]),r("div",tp,[r("div",{class:B(["rx-bot-row rx-bot-row-1",{"rx-bot-row-1--user":W.value==="user"}])},[r("div",ap,[e[203]||(e[203]=r("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),r("div",sp,[x.value.doctor_signature?(o(),_("img",{key:0,src:x.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,lp)):v("",!0),x.value.doctor_signature?v("",!0):(o(),_("span",np,d(x.value.doctor_name||"—"),1))])]),W.value==="internal"?(o(),_("div",rp,[e[204]||(e[204]=r("span",{class:"rx-bot-meta-key"},"类型:",-1)),r("span",ip,d(Vn.value),1)])):v("",!0),r("div",op,[e[205]||(e[205]=r("span",{class:"rx-bot-meta-key"},"天数:",-1)),r("span",up,d(((P=$.value)==null?void 0:P.medication_days)!=null&&String($.value.medication_days).trim()!==""?$.value.medication_days+" 天":"—"),1)]),W.value==="internal"?(o(),_("div",dp,[e[206]||(e[206]=r("span",{class:"rx-bot-meta-key"},"剂量:",-1)),r("span",pp,d(wn.value)+"克",1)])):v("",!0)],2)]),e[207]||(e[207]=r("div",{class:"rx-bot-row rx-hospital-row"},[r("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),r("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512)):v("",!0),x.value&&(x.value.audit_by_name||x.value.audit_remark)?(o(),_("div",cp,[x.value.audit_by_name?(o(),_("div",mp,[f(" 审核人:"+d(x.value.audit_by_name)+" ",1),x.value.audit_time?(o(),_("span",_p,d(is(x.value.audit_time)),1)):v("",!0)])):v("",!0),x.value.audit_remark?(o(),_("div",fp,"审核意见:"+d(x.value.audit_remark),1)):v("",!0)])):v("",!0)])),[[_e,Nt.value]])]}),_:1},8,["modelValue"]),l(ms,{modelValue:yt.value,"onUpdate:modelValue":e[85]||(e[85]=a=>yt.value=a),title:"甘草预下单测试结果",size:"800px","destroy-on-close":""},{default:n(()=>{var a,P;return[D.value?(o(),_("div",vp,[l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[r("div",gp,[e[209]||(e[209]=r("span",{class:"font-semibold"},"价格信息",-1)),l(T,{type:"success"},{default:n(()=>[...e[208]||(e[208]=[f("预下单成功",-1)])]),_:1})])]),default:n(()=>[l(da,{column:2,border:""},{default:n(()=>[l(ce,{label:"药材成本"},{default:n(()=>{var S;return[r("span",yp,"¥"+d(((S=D.value.fee)==null?void 0:S.m_cost)||"0.00"),1)]}),_:1}),l(ce,{label:"制作费"},{default:n(()=>{var S;return[r("span",bp,"¥"+d((((S=D.value.fee)==null?void 0:S.proces_cost)||0).toFixed(2)),1)]}),_:1}),l(ce,{label:"物流费"},{default:n(()=>{var S;return[r("span",xp,"¥"+d((((S=D.value.fee)==null?void 0:S.lis_cost)||0).toFixed(2)),1)]}),_:1}),l(ce,{label:"总计"},{default:n(()=>[r("div",null,[r("span",kp," ¥"+d(ea(D.value.fee)),1),A((o(),_("div",hp,[e[210]||(e[210]=f(" 占订单总金额: ",-1)),r("span",wp,d(Wl(D.value.fee,D.value.amount)),1),D.value.amount>0?(o(),_("span",Vp,"%(预报价 ÷ 订单金额 × 100)")):v("",!0)])),[[F,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[...e[211]||(e[211]=[r("span",{class:"font-semibold"},"配送信息",-1)])]),default:n(()=>[l(da,{column:2,border:""},{default:n(()=>[l(ce,{label:"调配中心"},{default:n(()=>{var S;return[f(d(((S=D.value.result)==null?void 0:S.ds_name)||"—"),1)]}),_:1}),l(ce,{label:"调配中心ID"},{default:n(()=>{var S;return[f(d(((S=D.value.result)==null?void 0:S.ds_id)||"—"),1)]}),_:1}),l(ce,{label:"服用天数范围",span:2},{default:n(()=>{var S,E,_s,fs,vs,gs;return[f(d(((E=(S=D.value.result)==null?void 0:S.take_days)==null?void 0:E.min)||"—")+" - "+d(((fs=(_s=D.value.result)==null?void 0:_s.take_days)==null?void 0:fs.max)||"—")+" 天 (默认: "+d(((gs=(vs=D.value.result)==null?void 0:vs.take_days)==null?void 0:gs.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(P=(a=D.value.result)==null?void 0:a.rule_check)!=null&&P.length?(o(),k(s,{key:0,shadow:"never",class:"mb-4"},{header:n(()=>[...e[212]||(e[212]=[r("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:n(()=>[r("div",Sp,d(D.value.result.rule_check.map(S=>S.msg).join(" ")),1)]),_:1})):v("",!0),l(s,{shadow:"never"},{header:n(()=>{var S,E;return[r("div",Np,[e[213]||(e[213]=r("span",{class:"font-semibold"},"药材明细",-1)),r("span",Cp,"共 "+d(((E=(S=D.value.result)==null?void 0:S.m_list)==null?void 0:E.length)||0)+" 味药",1)])]}),default:n(()=>{var S;return[l(tt,{data:((S=D.value.result)==null?void 0:S.m_list)||[],border:"",stripe:"","max-height":"400"},{default:n(()=>[l(R,{type:"index",label:"#",width:"50",align:"center"}),l(R,{prop:"title",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),l(R,{prop:"quantity",label:"用量",width:"80",align:"right"},{default:n(({row:E})=>[f(d(E.quantity)+d(E.unit),1)]),_:1}),l(R,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:n(({row:E})=>[f(" ¥"+d(Number(E.price).toFixed(4)),1)]),_:1}),l(R,{label:"小计",width:"100",align:"right"},{default:n(({row:E})=>[r("span",Pp," ¥"+d((Number(E.price)*Number(E.quantity)).toFixed(2)),1)]),_:1}),l(R,{prop:"is_available",label:"库存状态",width:"100",align:"center"},{default:n(({row:E})=>[l(T,{type:E.is_available===1?"success":"danger",size:"small"},{default:n(()=>[f(d(E.is_available===1?"有货":"缺货"),1)]),_:2},1032,["type"])]),_:1}),l(R,{prop:"brief",label:"备注","min-width":"120","show-overflow-tooltip":""})]),_:1},8,["data"])]}),_:1}),l(s,{shadow:"never",class:"mt-4"},{header:n(()=>[...e[214]||(e[214]=[r("span",{class:"font-semibold"},"订单信息",-1)])]),default:n(()=>[l(da,{column:2,border:""},{default:n(()=>[l(ce,{label:"订单号",span:2},{default:n(()=>[f(d(D.value.order_no||"—"),1)]),_:1}),l(ce,{label:"剂数"},{default:n(()=>[r("span",Op,d(D.value.dose_count||"—")+"剂",1)]),_:1}),l(ce,{label:"单剂量"},{default:n(()=>{var S;return[r("span",Ap,d(Kl((S=D.value.result)==null?void 0:S.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):v("",!0)]}),_:1},8,["modelValue"]),l(Y,{modelValue:Le.value,"onUpdate:modelValue":e[88]||(e[88]=a=>Le.value=a),title:"批量改派医助",width:"440px","append-to-body":""},{footer:n(()=>[l(b,{onClick:e[87]||(e[87]=a=>Le.value=!1)},{default:n(()=>[...e[217]||(e[217]=[f("取消",-1)])]),_:1}),l(b,{type:"primary",loading:Et.value,onClick:Us},{default:n(()=>[...e[218]||(e[218]=[f("确定改派",-1)])]),_:1},8,["loading"])]),default:n(()=>[r("div",Rp,[e[215]||(e[215]=f(" 已选 ",-1)),r("strong",Tp,d(ge.value.length),1),e[216]||(e[216]=f(" 单,将订单「创建人(医助归属)」改派为: ",-1))]),l(h,{modelValue:ot.value,"onUpdate:modelValue":e[86]||(e[86]=a=>ot.value=a),clearable:"",filterable:"",placeholder:"选择目标医助",class:"!w-full"},{default:n(()=>[(o(!0),_(O,null,U(Ne.value,a=>(o(),k(p,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e[219]||(e[219]=r("p",{class:"text-xs text-gray-400 mt-2 leading-relaxed"}," 仅变更订单的业务归属(医助筛选 / 业绩口径),并写入操作日志;不影响处方、支付单及审核状态。已是该医助的订单会自动跳过。 ",-1))]),_:1},8,["modelValue"]),l(V(Ns),{ref_key:"diagnosisViewRef",ref:ga},null,512)])}}}),Ac=ki(Ep,[["__scopeId","data-v-d3166b95"]]);export{Ac as default};
diff --git a/server/public/admin/assets/order_list_h5-Bf2R7Gg1.js b/server/public/admin/assets/order_list_h5-JzJgujoK.js
similarity index 98%
rename from server/public/admin/assets/order_list_h5-Bf2R7Gg1.js
rename to server/public/admin/assets/order_list_h5-JzJgujoK.js
index 1260c45f..5a37b47a 100644
--- a/server/public/admin/assets/order_list_h5-Bf2R7Gg1.js
+++ b/server/public/admin/assets/order_list_h5-JzJgujoK.js
@@ -1,2 +1,2 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DJu_2QAV.js","assets/element-plus-Bolc0EfP.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-B0jSCQ-G.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-CL62-hT2.css","assets/tcm-B2eDN42y.js","assets/index-CzSP4TPL.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-B8eb0l7L.css","assets/perm-Ba4WXYK7.js","assets/DailyMatrix-BykpJjGm.js","assets/picker-BFSyGoz9.js","assets/index-DWEeyCDR.js","assets/index-B3imPWFk.css","assets/index-BL6dsbzE.js","assets/index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js","assets/index-C5CUkFFb.js","assets/index-D0f1Mn00.css","assets/index-8GEGc2Yz.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-DA0zt1Rz.js","assets/index.vue_vue_type_script_setup_true_lang-Lcfr_gGB.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-DVfXtsgC.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-CdYwSXQk.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-DbPxSfko.js","assets/RecordingPlaybackBlock-CUlY7YyE.js","assets/RecordingVideoPlayer-D1_T25z0.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-CfA9lIP0.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-BlIdJQ7L.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-CQZii2JX.js","assets/doctor-CwO7n1kw.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-2XD75WaJ.js","assets/patient-B-TtpnKl.js","assets/NoteTimeline-I2FSxX4s.css","assets/PatientOrderList-Dgam7DDA.js","assets/PrescriptionOrderDetailDrawer-BL7WuF4P.js","assets/prescription-order-utils-JfPHOgCe.js","assets/PrescriptionOrderDetailDrawer-CvPY-EBw.css","assets/PatientOrderList-D8-uh2iu.css","assets/index-CPYf9n-I.js","assets/index-Pb72-1vG.js","assets/medicine-Cpa7L0_Z.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DVzcucvm.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]);
-import{_ as dr,E as pr}from"./jspdf-BsthCvR5.js";import{J as cr,d as mr,L as _r,T as fr,D as vr,B as gr,C as yr,P as br,Q as xr,Z as kr,i as hr,W as wr,p as Vr,n as Nr,o as Sr,a3 as Cr,K as Pr,a4 as Ar,a5 as Or,a6 as Tr,a7 as Rr,M as Er,N as Dr,S as Ur,a8 as $r,a9 as Fr,e as zr,h as Ir,V as Lr,r as jr,ab as qr,ac as Mr,ad as Br,k as Hr,j as Gr,g as Wr,G as Kr,I as Qr,a as pt}from"./element-plus-Bolc0EfP.js";import{_ as Jr}from"./index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import{w as ct,q as Gt,s as Wt}from"./@vue/runtime-dom-DDAG46FW.js";import{k as Yr,G as Xr,S as Zr,X as ei,O as Ra,e as Fs,i as ti,Z as ai,M as si,l as li}from"./@element-plus/icons-vue-B0jSCQ-G.js";import{L as ni,u as ri}from"./useListTimeFilter-OQGIG68A.js";import{g as ii,h as oi,s as ui,b as di,p as pi,d as Q,z as ci,A as mi,B as zs,C as _i,D as fi,E as vi,F as Is,G as gi,H as yi,I as Ls,J as bi,K as xi,L as ki,M as hi,N as wi,O as Vi,j as Ni,f as Ea,e as Si}from"./tcm-B2eDN42y.js";import{n as Ci,x as Pi,r as js,v as qs,w as Ai,A as Oi,B as Ti}from"./prescription-order-utils-JfPHOgCe.js";import Ri from"./html2canvas-QH1iLAAe.js";import{u as Ei,i as P,m as Di,_ as Ui}from"./index-CzSP4TPL.js";import{d as $i}from"./department-My2tgZUX.js";import{u as Fi}from"./usePaging-VsbTxSU0.js";import{f as Bs,w as Ms,b as zi,as as Ii,ak as u,I as m,J as s,a as l,aN as n,F as T,ap as H,H as f,aP as R,O as p,G as y,P as Li,A as k,n as mt}from"./@vue/runtime-core-C6bnekPw.js";import{o as I,Q as o}from"./@vue/shared-mAAVTE9n.js";import{y as E,a as Da,n as b,r as fe}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.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 ji={class:"prescription-order-page prescription-order-list prescription-order-h5 po-h5-app"},qi={class:"flex flex-col gap-3"},Mi={key:0,class:"flex items-center gap-2 flex-wrap"},Bi=["onClick"],Hi={class:"font-medium"},Gi={class:"flex items-center gap-2 flex-wrap"},Wi=["onClick"],Ki={class:"font-medium"},Qi={class:"flex items-center gap-2 flex-wrap"},Ji=["onClick"],Yi={class:"font-medium"},Xi={class:"flex items-center gap-2 flex-wrap"},Zi=["onClick"],eo={class:"font-medium"},to={class:"flex items-center gap-2 flex-wrap"},ao=["onClick"],so={class:"font-medium"},lo={class:"po-list-stats grid grid-cols-1 sm:grid-cols-2 gap-4 mb-5"},no={class:"po-stat-surface po-stat-surface--order relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},ro={class:"relative flex items-start justify-between gap-3"},io={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},oo={class:"mt-2 space-y-1.5 min-w-0"},uo={class:"text-2xl sm:text-[28px] font-bold text-sky-700 tabular-nums leading-none"},po={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},co={class:"text-slate-400"},mo={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-sky-500/10 flex items-center justify-center text-sky-600"},_o={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},fo={class:"po-stat-surface po-stat-surface--pay relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},vo={class:"relative flex items-start justify-between gap-3"},go={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},yo={class:"mt-2 space-y-1.5 min-w-0"},bo={class:"text-2xl sm:text-[28px] font-bold text-emerald-700 tabular-nums leading-none"},xo={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},ko={class:"text-slate-400"},ho={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-emerald-500/10 flex items-center justify-center text-emerald-600"},wo={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},Vo={class:"po-filter-toggle__label"},No={class:"po-h5-list-head"},So={class:"po-table-toolbar"},Co={class:"po-table-toolbar__title-wrap"},Po={class:"po-table-hint text-gray-400"},Ao={class:"po-focus-board"},Oo={class:"po-focus-board__value"},To={class:"po-focus-board__value"},Ro={class:"po-focus-board__value"},Eo={class:"po-focus-board__value"},Do={class:"po-card-list"},Uo=["onClick"],$o={class:"po-card__head"},Fo={class:"po-card__order-no"},zo={class:"po-card__order-no-main"},Io={class:"po-card__tags"},Lo={class:"po-card__id"},jo={key:0,class:"po-card__alert"},qo={class:"po-card__row"},Mo={class:"po-card__field"},Bo={class:"po-card__value"},Ho={class:"po-card__field po-card__field--right"},Go={class:"po-card__value po-card__amount"},Wo={class:"po-card__row"},Ko={class:"po-card__field"},Qo={class:"po-card__field po-card__field--right"},Jo={class:"po-card__value"},Yo={class:"po-card__row"},Xo={class:"po-card__field"},Zo={class:"po-card__value"},eu={class:"po-card__field po-card__field--right"},tu={class:"po-card__value"},au={key:1,class:"po-card__row"},su={class:"po-card__field"},lu={class:"po-card__value text-orange-600 font-semibold"},nu={class:"po-card__field po-card__field--right"},ru={class:"po-card__value"},iu={key:0,class:"text-primary"},ou={key:1},uu={key:2,class:"po-card__row"},du={class:"po-card__field"},pu={class:"po-card__value"},cu={key:0,class:"text-primary"},mu={key:1},_u={class:"po-card__field po-card__field--right"},fu={class:"po-card__value po-card__time"},vu={class:"po-card__tags-row"},gu={class:"po-card__meta"},yu={key:0},bu={key:1},xu={key:2,class:"po-card__meta-time"},ku={class:"flex justify-end mt-4"},hu={class:"po-detail-drawer-head flex w-full min-w-0 flex-col gap-2"},wu={class:"po-detail-drawer-head-main flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1"},Vu={key:0,class:"po-detail-drawer-actions flex flex-wrap items-center gap-2"},Nu={key:1,class:"po-detail-body px-6 pb-6 h-full overflow-y-auto"},Su={class:"min-w-0 break-words text-sm leading-relaxed"},Cu={class:"font-mono font-semibold text-red-700"},Pu={class:"font-mono font-semibold text-red-700"},Au={class:"po-workflow-steps-wrap bg-gray-50/80 border border-gray-100 rounded-lg p-5 mb-5 shadow-sm"},Ou={key:0,class:"text-red-500 font-medium"},Tu={key:1},Ru={key:2,class:"text-green-600"},Eu={key:3,class:"text-gray-400"},Du={key:0,class:"text-red-500 font-medium"},Uu={key:1},$u={key:2,class:"text-green-600"},Fu={key:3,class:"text-gray-400"},zu={key:0,class:"text-amber-600 font-medium"},Iu={key:1,class:"text-primary font-medium"},Lu={key:2},ju={key:3,class:"text-green-600"},qu={key:4,class:"text-red-500 font-medium"},Mu={class:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-4 mb-5"},Bu={class:"flex items-center justify-between mb-1"},Hu={class:"stat-value text-red-500 font-bold text-xl"},Gu={class:"stat-value text-green-600 font-bold text-xl"},Wu={class:"stat-value text-primary font-bold text-xl"},Ku={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},Qu={key:0,class:"audit-stamp stamp-pass"},Ju={key:1,class:"audit-stamp stamp-reject"},Yu={class:"po-panel-rx-header flex w-full min-w-0 flex-col gap-2"},Xu={class:"flex w-full min-w-0 flex-wrap items-center justify-between gap-x-2 gap-y-1"},Zu={class:"shrink-0 text-xs text-gray-400 tabular-nums"},ed={key:0,class:"min-w-0 text-xs leading-snug text-gray-500"},td={class:"text-primary font-medium"},ad={class:"flex w-full min-w-0 flex-wrap items-center gap-x-3 gap-y-1"},sd={class:"text-red-500 font-medium"},ld={class:"flex flex-col gap-1 text-sm leading-relaxed"},nd={key:0,class:"text-gray-500 mr-1"},rd={key:1,class:"ml-2 text-gray-500"},id={key:0},od={key:1,class:"ml-2 text-gray-500"},ud={class:"flex items-center gap-1 flex-wrap"},dd={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},pd={key:0},cd={key:0,class:"mt-4"},md={class:"flex flex-col gap-4 h-full"},_d={class:"text-red-500"},fd={key:0,class:"audit-stamp stamp-pass"},vd={key:1,class:"audit-stamp stamp-reject"},gd={class:"flex items-center justify-between"},yd={class:"flex items-center gap-3"},bd={key:0,class:"text-xs text-gray-500"},xd={class:"text-primary font-medium"},kd={class:"text-red-500"},hd={class:"po-biz-diagnosis-id flex min-w-0 flex-col gap-3 rounded-2xl border border-slate-200/90 bg-gradient-to-br from-slate-50 to-white px-4 py-3.5 shadow-sm sm:flex-row sm:items-center sm:justify-between"},wd={class:"flex min-w-0 flex-col gap-1"},Vd={class:"font-mono text-[1.125rem] font-semibold leading-tight tracking-tight text-slate-900 tabular-nums"},Nd={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-[13px]"},Sd={class:"font-mono text-primary"},Cd={class:"text-gray-500"},Pd={key:0},Ad={key:1,class:"text-gray-500"},Od={key:0,class:"text-xs text-gray-500 mt-1"},Td={key:1,class:"text-gray-400"},Rd={class:"po-audit-remark"},Ed={class:"po-audit-remark"},Dd={class:"po-logistics-toolbar flex flex-wrap items-center gap-2 mb-4"},Ud={class:"po-logistics-toolbar__links flex items-center gap-3 w-full pt-1"},$d={key:1,class:"py-6 text-center text-sm text-gray-500"},Fd={key:2,class:"logistics-content bg-gray-50/50 p-4 rounded-md"},zd={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},Id={class:"text-gray-800"},Ld={key:1,class:"text-xs text-gray-400 ml-1"},jd={key:2,class:"text-xs text-gray-400"},qd={class:"flex items-center gap-2 mb-1"},Md={class:"font-medium text-[13px]"},Bd={class:"text-sm text-gray-700 font-medium"},Hd={class:"create-order-dialog__inner"},Gd={key:0,class:"create-order-rx-card"},Wd={class:"create-order-rx-card__head"},Kd={class:"create-order-rx-card__meta"},Qd={class:"create-order-rx-card__id"},Jd={key:0,class:"create-order-rx-card__sn"},Yd={class:"create-order-rx-card__patient"},Xd={class:"create-order-rx-card__herbs"},Zd={class:"create-order-step-lead"},ep={class:"create-order-step-panel"},tp={class:"create-order-step-panel"},ap={class:"flex flex-wrap items-center gap-2 pb-2 border-b border-gray-100"},sp={class:"text-xs text-gray-400"},lp={class:"mt-2 space-y-1.5 text-xs sm:text-sm"},np={key:0,class:"space-y-1.5"},rp={class:"text-gray-800 break-all"},ip={key:1,class:"text-gray-400"},op={class:"flex items-center gap-1 w-full"},up={class:"flex gap-2 w-full"},dp={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},pp={class:"flex items-center justify-between"},cp={class:"font-medium text-[13px] text-gray-800"},mp={class:"text-orange-500 font-medium ml-4"},_p={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},fp={class:"truncate pr-2"},vp={class:"shrink-0"},gp={class:"create-order-pay-hint text-gray-500"},yp={class:"text-amber-600 font-medium"},bp={class:"create-order-step-panel"},xp={class:"create-order-deposit-bar__cell"},kp={class:"create-order-deposit-bar__sub"},hp={class:"create-order-deposit-bar__cell"},wp={class:"create-order-deposit-bar__sub"},Vp={class:"create-order-footer"},Np={class:"create-order-footer__hint"},Sp={class:"create-order-footer__step"},Cp={key:0,class:"create-order-footer__warn"},Pp={class:"create-order-footer__actions"},Ap={class:"text-sm"},Op={class:"text-gray-600"},Tp={class:"text-gray-600"},Rp={key:0,class:"text-xs text-amber-800 mt-2"},Ep={class:"text-xs text-gray-500 mt-1"},Dp={class:"text-xs text-gray-500 mt-1"},Up={class:"flex flex-col gap-0.5 py-0.5"},$p={class:"flex items-center justify-between"},Fp={class:"text-sm"},zp={class:"text-orange-500 font-medium ml-4"},Ip={class:"text-xs text-gray-400"},Lp={key:0,class:"text-xs font-medium text-gray-500 mb-3"},jp={class:"flex items-center gap-1 w-full"},qp={class:"flex items-center gap-1 w-full"},Mp={class:"flex items-center gap-1 w-full"},Bp={class:"flex items-center justify-between w-full pr-2 gap-3"},Hp={key:0,class:"flex items-center gap-2 shrink-0"},Gp={class:"rx-wrap"},Wp={key:0,class:"rx-statusbar"},Kp={key:1,class:"rx-status rx-status-danger"},Qp={key:2,class:"rx-status rx-status-danger"},Jp={key:0,class:"mt-1"},Yp={key:3,class:"rx-status rx-status-danger"},Xp={key:0,class:"mt-1"},Zp={class:"rx-notice"},ec={class:"rx-notice-meta"},tc={class:"rx-meta-item"},ac={class:"rx-meta-value"},sc={class:"rx-meta-item"},lc={class:"rx-meta-value"},nc={class:"rx-meta-item"},rc={class:"rx-meta-value"},ic={key:0,class:"rx-meta-item"},oc={class:"rx-meta-value"},uc={class:"rx-info"},dc={class:"rx-info-row"},pc={class:"rx-info-cell"},cc={class:"rx-val"},mc={class:"rx-info-cell"},_c={class:"rx-val"},fc={class:"rx-info-cell"},vc={class:"rx-val"},gc={class:"rx-info-cell"},yc={class:"rx-val"},bc={class:"rx-info-row rx-info-row-full"},xc={class:"rx-info-cell"},kc={class:"rx-val"},hc={class:"rx-info-row rx-info-row-full"},wc={class:"rx-info-cell"},Vc={class:"rx-val"},Nc={class:"rx-rp"},Sc={class:"rx-herbs"},Cc={class:"rx-herb-name"},Pc={class:"rx-herb-total"},Ac={class:"rx-text"},Oc={key:0},Tc={key:1},Rc={key:2},Ec={key:3,class:"rx-text-warn"},Dc={key:4,class:"rx-text-warn"},Uc={class:"rx-bottom"},$c={class:"rx-bot-row rx-bot-row-1"},Fc={class:"rx-bot-cell rx-bot-doctor"},zc={class:"rx-bot-doctor-body"},Ic=["src"],Lc={key:1,class:"rx-bot-doctor-name"},jc={class:"rx-bot-cell rx-bot-meta"},qc={class:"rx-bot-meta-val"},Mc={class:"rx-bot-cell rx-bot-meta"},Bc={class:"rx-bot-meta-val"},Hc={class:"rx-bot-cell rx-bot-meta"},Gc={class:"rx-bot-meta-val"},Wc={key:5,class:"rx-audit"},Kc={key:0},Qc={key:0,class:"ml-2 text-gray-400"},Jc={key:1,class:"mt-1"},Yc={key:0,class:"px-4"},Xc={class:"flex items-center justify-between"},Zc={class:"text-lg font-semibold text-orange-600"},em={class:"text-lg font-semibold text-blue-600"},tm={class:"text-lg font-semibold text-green-600"},am={class:"text-xl font-bold text-red-600"},sm={class:"text-sm text-gray-500 mt-1.5"},lm={class:"font-medium text-gray-700"},nm={key:0},rm={class:"text-sm text-gray-700 leading-relaxed"},im={class:"flex items-center justify-between"},om={class:"text-sm text-gray-500"},um={class:"font-medium text-orange-600"},dm={class:"text-base font-medium"},pm={class:"text-base font-medium"},cm=Bs({name:"prescriptionOrderListH5"}),mm=Bs({...cm,setup(_m){const Hs=Li(()=>dr(()=>import("./edit-DJu_2QAV.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,99,100,101]))),Ve=Ei(),Ua=b(null);function Gs(){var e,a;const t=Number((e=c.value)==null?void 0:e.diagnosis_id);if(!t){P.msgWarning("本订单未关联诊单,无法查看患者诊单信息");return}(a=Ua.value)==null||a.openViewOnly(t)}const Ws=2,Ks=6,$a=[3,8],Qs=[0,3,6],Js=k(()=>{const t=Ve.userInfo;if(!t||Number(t.root)===1)return!1;const e=Array.isArray(t.role_ids)?t.role_ids.map(a=>Number(a)):[];return e.includes(Ks)?!$a.some(a=>e.includes(a)):!1}),Ys=k(()=>{const t=Ve.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(a=>Number(a)):[];return $a.some(a=>e.includes(a))}),Xs=k(()=>Js.value||Ys.value),Fa=b([]),Ne=k(()=>{const t=Ve.userInfo;if(!t||Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(a=>Number(a)):[];return e.includes(Ws)?e.some(a=>Qs.includes(a)):!0}),Zs=k(()=>Ne.value?"详情/审核":"详情"),el=[0,3,6],za=()=>{const t=Ve.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(a=>Number(a)):[];return el.some(a=>e.includes(a))},_t=b([]),ft=b([]),Kt=b([]),Be=b([]),vt=b([]),tl={value:"id",label:"name",children:"children"};function Ia(t,e){for(const a of t||[]){if(a==null||typeof a!="object")continue;const i=a;if(Number(i.id)===e)return i;const d=Ia(i.children||[],e);if(d)return d}return null}function La(t){const e=Number(t.id),a=[];Number.isFinite(e)&&e>0&&a.push(e);for(const i of t.children||[])i&&typeof i=="object"&&a.push(...La(i));return a}function al(t,e){const a=Ia(e,t);return a?La(a):[t]}async function sl(){try{const[t,e,a]=await Promise.all([ii(),oi(),$i()]);Kt.value=Array.isArray(t)?t:[],Be.value=Array.isArray(e)?e:[];const i=Array.isArray(a)?a:[];vt.value=i}catch{Kt.value=[],Be.value=[],vt.value=[]}}const ll=t=>t.map(e=>{var a;return{value:e.province,label:e.province,code:e.code,children:((a=e.citys)==null?void 0:a.map(i=>{var d;return{value:i.city,label:i.city,code:i.code,children:((d=i.areas)==null?void 0:d.map(g=>({value:g.area,label:g.area,code:g.code})))||[]}}))||[]}}),nl=async()=>{try{console.log("开始加载省市区数据...");const e=await fetch("https://cos.zhenyangtang.com.cn/area/ChinaCitys.json");if(console.log("响应状态:",e.status),!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const a=await e.json();console.log("加载的数据条数:",a==null?void 0:a.length),_t.value=ll(a),console.log("regionOptions 已设置,条数:",_t.value.length)}catch(t){console.error("加载省市区数据失败:",t),_t.value=[]}},rl=async()=>{try{const t=await Di({type:"server_order"});ft.value=Ci(t==null?void 0:t.server_order)}catch(t){console.error("加载服务套餐选项失败:",t),ft.value=[]}},il=[{label:"全部",value:""},{label:"待双审通过",value:1},{label:"待发货",value:2},{label:"已发货",value:5},{label:"已签收",value:6},{label:"已完成",value:3},{label:"已取消",value:4},{label:"进行中",value:7},{label:"暂不制药",value:8},{label:"拒收",value:9},{label:"退款",value:10},{label:"保留药方",value:11},{label:"制药缓发",value:12}];function ol(t){ie.value="",h.fulfillment_status=t,J()}const ie=b(""),ul=[{label:"全部",value:""},{label:"甘草",value:"gancao"},{label:"自营",value:"self"}];function dl(t){h.supply_mode=t,J()}const pl=[{label:"全部",value:""},{label:"顺丰",value:"sf"},{label:"京东",value:"jd"}];function cl(t){h.express_company=t,J()}const h=fe({order_no:"",prescription_id:"",patient_keyword:"",express_keyword:"",express_company:"",doctor_id:"",assistant_id:"",assistant_dept_id:"",fulfillment_status:"",prescription_audit_status:"",payment_slip_audit_status:"",supply_mode:"",audit_admin_id:""}),ml=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],_l=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}];function fl(t){ie.value="",h.prescription_audit_status=t,J()}function vl(t){ie.value="",h.payment_slip_audit_status=t,J()}function gt(t){if(ie.value===t){ie.value="",h.prescription_audit_status="",h.payment_slip_audit_status="",h.fulfillment_status="",J();return}ie.value=t,h.prescription_audit_status="",h.payment_slip_audit_status="",h.fulfillment_status="",t==="pendingRx"?h.prescription_audit_status=0:t==="pendingPay"?(h.prescription_audit_status=1,h.payment_slip_audit_status=0):t==="pendingShip"?h.fulfillment_status=2:t==="risk"&&(h.payment_slip_audit_status=2),J()}const{time_type:Te,dateRange:Qt,resolve:gl,handleTimeTypeChange:yl,handleCustomDateChange:bl,resetTimeFilter:xl}=ri("all"),ja=()=>{te.page=1,G()},kl=()=>yl(ja),hl=()=>bl(ja);async function wl(t){const[e,a]=gl(),i={...t,start_time:e,end_time:a};if(i.prescription_id===""||i.prescription_id===void 0?delete i.prescription_id:i.prescription_id=Number(i.prescription_id),(i.fulfillment_status===""||i.fulfillment_status===void 0)&&delete i.fulfillment_status,(i.prescription_audit_status===""||i.prescription_audit_status===void 0)&&delete i.prescription_audit_status,(i.payment_slip_audit_status===""||i.payment_slip_audit_status===void 0)&&delete i.payment_slip_audit_status,(!i.supply_mode||i.supply_mode==="")&&delete i.supply_mode,i.doctor_id===""||i.doctor_id===void 0||i.doctor_id===null?delete i.doctor_id:i.doctor_id=Number(i.doctor_id),i.assistant_id===""||i.assistant_id===void 0||i.assistant_id===null?delete i.assistant_id:i.assistant_id=Number(i.assistant_id),i.assistant_dept_id===""||i.assistant_dept_id===void 0||i.assistant_dept_id===null?delete i.assistant_dept_id:i.assistant_dept_id=Number(i.assistant_dept_id),i.order_no||delete i.order_no,String(i.patient_keyword||"").trim()||delete i.patient_keyword,i.audit_admin_id===""||i.audit_admin_id===void 0||i.audit_admin_id===null?delete i.audit_admin_id:i.audit_admin_id=Number(i.audit_admin_id),String(i.express_keyword||"").trim()||delete i.express_keyword,(!i.express_company||i.express_company==="")&&delete i.express_company,!String(i.start_time||"").trim()||!String(i.end_time||"").trim())delete i.start_time,delete i.end_time;else{const d=String(i.start_time||"").trim(),g=String(i.end_time||"").trim();/^\d{4}-\d{2}-\d{2}$/.test(d)&&/^\d{4}-\d{2}-\d{2}$/.test(g)&&(i.start_time=`${d} 00:00:00`,i.end_time=`${g} 23:59:59`)}return ui(i)}const{pager:te,getLists:G,resetPage:J,resetParams:Vl}=Fi({fetchFun:wl,params:h});Ms(()=>{var t;return(t=te.extend)==null?void 0:t.audit_admin_options},t=>{Array.isArray(t)&&(Fa.value=t.map(e=>{if(e==null||typeof e!="object")return null;const a=e,i=Number(a.id),d=String(a.name??"").trim();return!Number.isFinite(i)||i<=0||d===""?null:{id:i,name:d}}).filter(e=>e!=null))},{immediate:!0});const qa=k(()=>{const t=h.assistant_dept_id;if(t===""||t==null)return Be.value;const e=Number(t);if(!Number.isFinite(e))return Be.value;const a=new Set(al(e,vt.value));return Be.value.filter(i=>{const d=i.dept_ids;return!Array.isArray(d)||d.length===0?!1:d.map(Number).some(g=>a.has(g))})});function Nl(){const t=h.assistant_id;if(t!==""&&t!=null){const e=Number(t);qa.value.some(i=>Number(i.id)===e)||(h.assistant_id="")}J()}const me=k(()=>{const t=te.extend,e=(t==null?void 0:t.stats_order_amount)??(t==null?void 0:t.today_order_amount),a=(t==null?void 0:t.stats_linked_pay_amount)??(t==null?void 0:t.today_linked_pay_amount),i=Me=>{const S=Number(Me);return Number.isFinite(S)?Math.round(S*100)/100:0},d=Me=>Me.toFixed(2),g=(t==null?void 0:t.stats_order_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_order_amount_cancelled)!==void 0,v=(t==null?void 0:t.stats_linked_pay_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_linked_pay_amount_cancelled)!==void 0,x=i(g?t==null?void 0:t.stats_order_amount_not_cancelled:e),$=g?i(t==null?void 0:t.stats_order_amount_cancelled):0,le=i(v?t==null?void 0:t.stats_linked_pay_amount_not_cancelled:a),V=v?i(t==null?void 0:t.stats_linked_pay_amount_cancelled):0,F=(t==null?void 0:t.stats_order_amount_performance)!==void 0?i(t==null?void 0:t.stats_order_amount_performance):x,ye=(t==null?void 0:t.stats_linked_pay_amount_performance)!==void 0?i(t==null?void 0:t.stats_linked_pay_amount_performance):le,he=String((t==null?void 0:t.stats_time_start)??"").trim(),Mt=String((t==null?void 0:t.stats_time_end)??"").trim(),Pa=he&&Mt?`统计时间:${he} ~ ${Mt}`:"统计时间:—",it=String((t==null?void 0:t.stats_scope)??"restricted");let ee="统计口径:与当前列表数据可见范围一致";it==="all"?ee="统计口径:支付单审核白名单角色,按全量订单;与下方筛选项(医生/医助/医助部门/患者等,不含「创建时间」)一致":it==="assistant"?ee="统计口径:仅计诊单医助为本人且满足下方其它筛选项的订单":it==="own_rx"&&(ee="统计口径:本人创建的订单 + 关联处方开方人为本人的订单(含医助代建);与下方筛选项(不含「创建时间」)一致");const ce=Te.value==="all"?"全部":Te.value==="today"?"今日":"区间";return{order:i(e),pay:i(a),orderStr:d(i(e)),payStr:d(i(a)),orderNotCancelledStr:d(x),orderCancelledStr:d($),payNotCancelledStr:d(le),payCancelledStr:d(V),orderPerformanceStr:d(F),payPerformanceStr:d(ye),orderHeading:`${ce}业绩(业务订单额)`,payHeading:`${ce}业绩(关联实付)`,periodLine:Pa,scopeHint:ee,orderSplitHint:"业绩 = 除履约已取消(4)外全部订单金额;下方为合计与已取消明细"}}),yt=k(()=>{const t=te.extend,e=v=>{const x=Number(v);return!Number.isFinite(x)||x<0?0:Math.trunc(x)},a=e(t==null?void 0:t.focus_pending_rx_count),i=e(t==null?void 0:t.focus_pending_pay_count),d=e(t==null?void 0:t.focus_pending_ship_count),g=e(t==null?void 0:t.focus_risk_count);return{pendingRx:a,pendingPay:i,pendingShip:d,risk:g}});function Jt(t,e){const a=Number(e==null?void 0:e.prescription_audit_status),i=Number(e==null?void 0:e.payment_slip_audit_status),d=Number(e==null?void 0:e.fulfillment_status);return t==="rx"&&a===0||t==="pay"&&a===1&&i===0||t==="fulfillment"&&d===2?"po-status-tag is-focus":t==="rx"&&a===2||t==="pay"&&i===2||t==="fulfillment"&&d===4?"po-status-tag is-risk":"po-status-tag"}function bt({row:t}){const e=Number(t==null?void 0:t.prescription_audit_status),a=Number(t==null?void 0:t.payment_slip_audit_status),i=Number(t==null?void 0:t.fulfillment_status),d=St(t==null?void 0:t.recipient_phone,t==null?void 0:t.prescription_phone);return e===2||a===2||d?"po-row-risk":e===0||e===1&&a===0||i===2?"po-row-focus":i===3||i===6?"po-row-done":""}Ms(Ne,t=>{t||h.prescription_audit_status===""||h.prescription_audit_status===void 0||(h.prescription_audit_status="",J())},{immediate:!0});function Sl(){ie.value="",xl(),h.order_no="",h.prescription_id="",h.patient_keyword="",h.express_keyword="",h.express_company="",h.doctor_id="",h.assistant_id="",h.assistant_dept_id="",h.fulfillment_status="",h.prescription_audit_status="",h.payment_slip_audit_status="",h.supply_mode="",h.audit_admin_id="",Vl()}function xt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"}[Number(t)]??"—"}function Ma(t){return t===1?"已通过":t===2?"已驳回":"待审核"}function Ba(t){return t===1?"success":t===2?"danger":"info"}function Yt(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function Cl(t){const e=Number(t);return e===3||e===6?"success":e===5?"primary":e===4?"danger":e===2||e===7?"warning":e===8||e===11||e===12?"info":e===9||e===10?"danger":"info"}function W(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function Se(t){if(t==null||t==="")return"—";if(typeof t=="number"&&t>1e9&&t<1e11){const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}return String(t)}const Pl=[0,3];function Ha(){const t=Ve.userInfo;return t?Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(a=>Number(a)):[]).some(a=>Pl.includes(a)):!1}function Ga(t){var a;const e=Number((a=Ve.userInfo)==null?void 0:a.id);return e>0&&Number(t.creator_id)===e}function Wa(t){return Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===1}function Ka(t){const e=Number(t.fulfillment_status);if(e===3||e===4||Ga(t)&&Wa(t)&&!Ha())return!1;const a=String(t.gancao_reciperl_order_no||"").trim(),i=Number(t.gancao_submit_time||0);return a!==""||i>0?[1,2,5,7].includes(e):e===1||e===2}function Al(t){const e=Number(t.fulfillment_status);return e===3||e===4||e===6?!1:Number(t.prescription_audit_status)===0}function Ol(t){const e=Number(t.fulfillment_status);return e===3||e===4?!1:Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===0}function Tl(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const a=Number(t.prescription_audit_status),i=Number(t.payment_slip_audit_status);return(a===1||a===2)&&i===0}function Rl(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const a=Number(t.prescription_audit_status),i=Number(t.payment_slip_audit_status);return a===1&&(i===1||i===2)}function Qa(t){return Number(t.fulfillment_status)===1}function Xt(t){return Number(t.fulfillment_status)===2}function Zt(t){const e=Number(t.fulfillment_status);return e===5||e===6}function ea(t){const e=Number(t.fulfillment_status);return(e===5||e===6)&&Number(t.payment_slip_audit_status)===1}function ta(t){const e=Number(t.fulfillment_status);return(e===5||e===6||e===3||e===9)&&Number(t.payment_slip_audit_status)===1}function El(t){return Number(t.fulfillment_status)===5}function Ja(t){const e=Number(t.prescription_audit_status),a=String(t.gancao_reciperl_order_no||"").trim();return e===1&&a===""}function Ya(t){return{1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"}[Number(t)]??"—"}const kt=b(!0),Xa=k(()=>{const t=h,e=["order_no","prescription_id","patient_keyword","express_keyword","doctor_id","assistant_dept_id","assistant_id"];let a=Te.value!=="all"?1:0;for(const i of e){const d=t[i];d!=null&&(typeof d=="string"&&d.trim()===""||Array.isArray(d)&&d.length===0||(a+=1))}return a});function Dl(t){return Zt(t)||ea(t)||ta(t)||Ja(t)||Qa(t)}function Ul(t,e){t==="addPayOrder"?bs(e):t==="complete"?xs(e):t==="refund"?ys(e):t==="submitGancao"?Vn(e):t==="withdraw"&&bn(e)}function aa(t){if(!(t!=null&&t.id))return!1;const e=Number(t.fulfillment_status);return e!==3&&e!==4}const Y=b(!1),sa=b(!1),c=b(null),$l=k(()=>{var t;return Pi((t=c.value)==null?void 0:t.service_package,ft.value)}),ht=k(()=>{if(!c.value)return 0;const t=Number(c.value.fulfillment_status),e=Number(c.value.prescription_audit_status),a=Number(c.value.payment_slip_audit_status);return t===3||[8,9,10,11,12].includes(t)?5:t===6||t===5||t===7?4:t===4?e===2?1:a===2?2:3:t===2?3:e===0||e===2?1:a===0||a===2?2:3}),wt=k(()=>{var e;const t=Number((e=c.value)==null?void 0:e.prescription_audit_status);return t===1?"success":t===2?"error":ht.value===1?"process":"wait"}),Vt=k(()=>{var e;const t=Number((e=c.value)==null?void 0:e.payment_slip_audit_status);return t===1?"success":t===2?"error":ht.value===2?"process":"wait"}),Re=k(()=>{var e;const t=Number((e=c.value)==null?void 0:e.fulfillment_status);return t===3||t===5||t===6||t===8||t===11||t===12?"success":t===4||t===9||t===10?"error":t===7||ht.value===3?"process":"wait"}),la=k(()=>{const t=c.value;if(!t)return[];const e=t.linked_pay_orders;return Array.isArray(e)?e:[]}),Za=k(()=>{const t=c.value;if(!t)return 0;const e=t.agency_collect_amount;if(e!=null&&e!=="")return Number(e)||0;const a=Number(t.amount)||0,i=Number(t.linked_pay_paid_total)||0;return Math.round((a-i)*100)/100}),Ee=b([]);async function Fl(t,e,a){var i;if(!t){Ee.value=[];return}try{const d=await Ea({diagnosis_id:t,prescription_order_id:e}),g=(d==null?void 0:d.lists)??((i=d==null?void 0:d.data)==null?void 0:i.lists)??[],v=Array.isArray(g)?g.filter(x=>!a.includes(x.id)):[];Ee.value=v}catch{Ee.value=[]}}function es(t){return t?Array.isArray(t)?t.map(e=>({name:String((e==null?void 0:e.name)??"").trim(),dosage:Number(e==null?void 0:e.dosage)||0})):[]:[]}const N=k(()=>{var e;const t=(e=c.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),ts=k(()=>{var t;return js((t=N.value)==null?void 0:t.dietary_taboo)});function Nt(t){return t==null?"":String(t).replace(/\s/g,"").trim()}function St(t,e){const a=Nt(t),i=Nt(e);return!a||!i?!1:a!==i}const He=k(()=>{var a,i;const t=(a=N.value)==null?void 0:a.phone,e=(i=c.value)==null?void 0:i.recipient_phone;return St(e,t)}),zl=k(()=>{var e;return Nt((e=N.value)==null?void 0:e.phone)||"—"}),Il=k(()=>{var e;return Nt((e=c.value)==null?void 0:e.recipient_phone)||"—"}),X=k(()=>{var e;const t=(e=c.value)==null?void 0:e.linked_appointment;return t&&typeof t=="object"?t:null}),as=k(()=>{var e;const t=String(((e=X.value)==null?void 0:e.resolved_from)||"");return t==="prescription"?"处方绑定挂号":t==="diagnosis"?"诊单关联挂号":""}),ss=k(()=>{var t;return es((t=N.value)==null?void 0:t.herbs)}),Ce=k(()=>qs(N.value)),Z=k(()=>{const t=N.value;if(!t||!qs(t))return null;const e=t.aux_usage;return e==null||e===""||Array.isArray(e)&&e.length===0?null:Ai(e,t.prescription_type||"浓缩水丸")}),Ll=k(()=>{var t;return((t=c.value)==null?void 0:t.prescription_detail_herbs_visible)!==!1}),jl=k(()=>{const t=c.value;if(!t)return"—";const e=[];return t.shipping_province&&e.push(t.shipping_province),t.shipping_city&&e.push(t.shipping_city),t.shipping_district&&e.push(t.shipping_district),t.shipping_address&&e.push(t.shipping_address),e.length>0?e.join(" "):"—"}),ls=k(()=>`${_.dose_unit||"剂"}数`);function ql(t){const e=Number(t);return e===1?"已通过":e===2?"已驳回":"待审核"}function Ml(t){const e=Number(t);return e===1?"success":e===2?"danger":"warning"}function ns(t){const e=Number(t);return e===2?"success":e===1?"warning":"info"}function rs(t){return t==null||t===""?"—":typeof t=="string"&&String(t).includes("-")?String(t):Se(t)}const Ge=b("auto"),Ct=b(!1),K=b(null),We=b("");let na=0;function Bl(){na+=1,K.value=null}function ra(t){var e,a;return t.requestSeq!==na||Number((e=c.value)==null?void 0:e.id)!==t.orderId?!1:String(((a=c.value)==null?void 0:a.tracking_number)||"").trim()===t.trackingNumber}function Hl(t,e,a){const i=(t==null?void 0:t.data)??t;if(!i||typeof i!="object")return null;const d=i,g=String(d.tracking_number||"").trim();if(g&&g!==e)return null;const v=Number(d.order_id);return v>0&&v!==a?null:d}const De=b([]),Ke=b(!1),ia=b(!1),Pt=b(),ve=fe({id:0,amount:void 0}),Gl={amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(t,e,a)=>{const i=Number(e);if(!Number.isFinite(i)||i<0){a(new Error("订单金额不能为负数"));return}a()},trigger:"blur"}]};function Wl(){const t=Ve.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function Ue(t){if(!Wl()){De.value=[];return}try{const e=await Si({id:t});De.value=(e==null?void 0:e.data)??e??[]}catch{De.value=[]}}function Kl(t){return{create:"创建",edit:"编辑",audit_rx_approve:"处方审核",audit_rx_reject:"处方审核",audit_pay_approve:"支付审核",audit_pay_reject:"支付审核",fill_tracking:"填快递单",ship:"确认发货",withdraw:"撤销",link_pay_order:"关联支付单",revoke_rx_audit:"撤回处方审核",revoke_pay_audit:"撤回支付审核",gancao_submit:"甘草下单",patch_rx_patient:"处方患者信息",update_amount:"修改订单金额",complete:"完成订单",refund:"退款"}[t]||t}const oa=k(()=>{var a;const t=String(((a=c.value)==null?void 0:a.tracking_number)||"").trim();if(!t)return{sf:"javascript:void(0)",jd:"javascript:void(0)",jt:"javascript:void(0)"};const e=encodeURIComponent(t);return{sf:`https://www.sf-express.com/cn/sc/dynamic_function/waybill/#search/bill-number/${e}`,jd:`https://www.jdl.com/#/trackQuery?waybillCode=${e}`,jt:`https://www.jtexpress.com.cn/index/query/gzquery.html?bills=${e}`}}),is=k(()=>{const t=K.value;return!t||!Array.isArray(t.traces)?[]:t.traces});function Ql(t){const e=String(t||"").toLowerCase();return e==="sf"?"顺丰速运":e==="jd"?"京东快递":e==="jt"||e==="jtexpress"?"极兔速递":"自动识别"}async function ua(){var d,g;const t=Number((d=c.value)==null?void 0:d.id),e=String(((g=c.value)==null?void 0:g.tracking_number)||"").trim();if(!t||!e)return;const i={requestSeq:++na,orderId:t,trackingNumber:e};Ct.value=!0;try{const v=String(We.value||"").replace(/\D/g,""),x={id:t,express_company:Ge.value};v.length>=4&&(x.phone_tail=v);const $=await di(x);if(!ra(i))return;K.value=Hl($,e,t)}catch{if(!ra(i))return;K.value=null}finally{ra(i)&&(Ct.value=!1)}}const Qe=b(!1),da=b(!1),pa=b(),oe=fe({patient_name:"",phone:""}),Jl={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]},Je=b(!1),ca=b(!1),ma=b(),D=fe({times_per_day:3,usage_days:7,aux_times_per_day:3,aux_usage_days:7,medication_days:void 0}),Yl=k(()=>{const t={times_per_day:[{required:!0,message:"请填写主方每天次数",trigger:"change"}],usage_days:[{required:!0,message:"请填写主方开立天数",trigger:"change"}],medication_days:[{required:!0,message:"请填写订单服用天数",trigger:"change"}]};return Ce.value&&(t.aux_times_per_day=[{required:!0,message:"请填写辅方每天次数",trigger:"change"}],t.aux_usage_days=[{required:!0,message:"请填写辅方开立天数",trigger:"change"}]),t});function Xl(){const t=N.value,e=c.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){P.msgWarning("无处方数据");return}const a=Z.value;D.times_per_day=Number(t.times_per_day)>0?Number(t.times_per_day):3,D.usage_days=Number(t.usage_days)>0?Number(t.usage_days):7,D.aux_times_per_day=a&&Number(a.times_per_day)>0?Number(a.times_per_day):3,D.aux_usage_days=a&&Number(a.usage_days)>0?Number(a.usage_days):7;const i=Number(e.medication_days);D.medication_days=i>0?i:Number(t.usage_days)>0?Number(t.usage_days):7,Je.value=!0,mt(()=>{var d;return(d=ma.value)==null?void 0:d.clearValidate()})}function Zl(){D.times_per_day=3,D.usage_days=7,D.aux_times_per_day=3,D.aux_usage_days=7,D.medication_days=void 0}async function en(){var a;const t=ma.value;if(!t)return;try{await t.validate()}catch{return}const e=(a=c.value)==null?void 0:a.id;if(e){ca.value=!0;try{const i={id:e,times_per_day:Number(D.times_per_day),usage_days:Number(D.usage_days),medication_days:Number(D.medication_days)};Ce.value&&(i.aux_times_per_day=Number(D.aux_times_per_day),i.aux_usage_days=Number(D.aux_usage_days)),await pi(i),P.msgSuccess("保存成功"),Je.value=!1,await _a(),await Ue(e),G()}catch{}finally{ca.value=!1}}}function tn(){const t=N.value,e=c.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){P.msgWarning("无处方数据");return}oe.patient_name=String(t.patient_name??"").trim(),oe.phone=String(t.phone??"").trim(),Qe.value=!0,mt(()=>{var a;return(a=pa.value)==null?void 0:a.clearValidate()})}function an(){oe.patient_name="",oe.phone=""}function sn(){var t;ve.id=0,ve.amount=void 0,(t=Pt.value)==null||t.clearValidate()}function ln(){const t=c.value;if(!aa(t)){P.msgWarning("当前订单状态不允许修改金额");return}ve.id=Number(t==null?void 0:t.id)||0;const e=Number(t==null?void 0:t.amount);ve.amount=Number.isFinite(e)?e:void 0,Ke.value=!0,mt(()=>{var a;return(a=Pt.value)==null?void 0:a.clearValidate()})}async function _a(){var e;const t=(e=c.value)==null?void 0:e.id;if(t)try{const a=await Q({id:t}),i=(a==null?void 0:a.data)??a??null;i&&(c.value=i)}catch{}}async function nn(){var a;const t=pa.value;if(!t)return;try{await t.validate()}catch{return}const e=(a=c.value)==null?void 0:a.id;if(e){da.value=!0;try{await ci({id:e,patient_name:oe.patient_name.trim(),phone:oe.phone.trim()}),Qe.value=!1,await _a(),await Ue(e)}catch(i){console.error(i)}finally{da.value=!1}}}async function os(){const t=Pt.value;if(!t)return;try{await t.validate()}catch{return}if(!aa(c.value)){P.msgWarning("当前订单状态不允许修改金额");return}const e=ve.id;ia.value=!0;try{await mi({id:e,amount:Number(ve.amount)}),P.msgSuccess("修改成功"),Ke.value=!1,await _a(),await Ue(e),G()}catch{}finally{ia.value=!1}}async function us(t){c.value=null,Ee.value=[],Bl(),Ge.value="auto",We.value="",De.value=[],Y.value=!0,sa.value=!0;try{const e=await Q({id:t}),a=(e==null?void 0:e.data)??e??null;if(c.value=a,a){Ge.value=String(a.express_company||"auto")||"auto";const i=String(a.recipient_phone||"").replace(/\D/g,"");We.value=i.length>=4?i:"",String(a.tracking_number||"").trim()&&ua(),Ue(t);const d=a.diagnosis_id,g=a.pay_order_ids||[];d&&Fl(d,t,g)}}catch(e){P.msgError((e==null?void 0:e.message)||"加载失败"),Y.value=!1}finally{sa.value=!1}}const Pe=b(!1),fa=b(!1),va=b(!1),q=b(0),ue=b(null),rn=k(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][q.value]??""),ds=k(()=>{const t=ue.value,e=es(t==null?void 0:t.herbs);if(!e.length)return"暂无药材明细";const a=e.map(i=>`${i.name} ${i.dosage}g`).join("、");return a.length>120?`${a.slice(0,120)}…`:a}),on=["recipient_name","recipient_phone","region","shipping_address"],$e=b(),_=fe({id:0,prescription_id:0,diagnosis_id:0,recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,dose_count:1,dose_unit:"剂",prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",fee_type:3,amount:0,remark_extra:"",remark_assistant:"",pay_order_ids:[],internal_cost:void 0,assistant_id:0,diagnosis_creator_id:0,diagnosis_creator_name:"",diagnosis_creator_dept_path:""}),un=k(()=>Oi(ft.value,_.service_package)),ps=k(()=>{const t=String(_.diagnosis_creator_dept_path||"").trim();return t?t.split(";").map(e=>e.trim()).filter(Boolean).map(e=>e.includes(" / ")?e.split(" / ").map(a=>a.trim()).filter(Boolean):e.split("/").map(a=>a.trim()).filter(Boolean)).filter(e=>e.length>0):[]}),Ye=b([]),ga=b(!1),M=b(0);function At(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}function Fe(t){const e=String((t==null?void 0:t.create_type)||"");if(e==="wechat_work")return"企业微信对外收款";if(e==="fubei")return"付呗";if(e==="express_cod")return"快递代收";const a=String((t==null?void 0:t.payment_method)||""),i={alipay:"支付宝",wechat:"微信",wechat_work:"企业微信",fubei:"付呗",express_cod:"快递代收",manual:"手动确认到账"};return a&&i[a]?i[a]:"普通订单"}const ya=k(()=>{const t=new Set(_.pay_order_ids.map(a=>Number(a)));let e=0;for(const a of Ye.value)t.has(Number(a.id))&&(e+=Number(a.amount)||0);return Math.round(e*100)/100}),dn=k(()=>{const t=M.value;return t>0?Math.round(t*100)/100:0});async function pn(t,e){var a,i;if(!t){Ye.value=[];return}try{ga.value=!0;const d=await Ea({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),g=(d==null?void 0:d.lists)??((a=d==null?void 0:d.data)==null?void 0:a.lists)??[];Ye.value=Array.isArray(g)?g:[];const v=Number((d==null?void 0:d.deposit_min_amount)??((i=d==null?void 0:d.data)==null?void 0:i.deposit_min_amount));!Number.isNaN(v)&&v>=0&&(M.value=v)}catch{Ye.value=[]}finally{ga.value=!1}}const cn=k(()=>{const t={recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],region:[{required:!0,message:"请选择省/市/区",trigger:"change",type:"array"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(e,a,i)=>{const d=M.value,g=Number(a);if(d>0&&(!Number.isFinite(g)||g
接诊诊单:${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}]}}),It=C(()=>B.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),Ha=C(()=>{const t=[...B.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,L)=>Number(L.deal_amount)-Number(p.deal_amount)).slice(0,5);if(t.length<2)return{radar:{indicator:[]},series:[{type:"radar",data:[]}]};const e=p=>{const L=String(p.doctor_name||"—");return L.length>7?`${L.slice(0,7)}…`:L},n=p=>Number(p.system_prescription_count??0)+Number(p.manual_prescription_count??0),s=p=>{const L=Number(p.avg_deal_amount);if(Number.isFinite(L)&&L>0)return L;const Y=Number(p.deal_order_count);return Y>0?Number(p.deal_amount)/Y:0},d=Math.max(...t.map(p=>Number(p.deal_amount)),1e-9),g=Math.max(...t.map(p=>Number(p.deal_order_count)),1e-9),h=Math.max(...t.map(n),1e-9),w=Math.max(...t.map(p=>Number(p.appointment_completed??0)),1e-9),I=Math.max(...t.map(s),1e-9),E=t.map(p=>({name:e(p),value:[Number(p.deal_amount)/d*100,Number(p.deal_order_count)/g*100,n(p)/h*100,Number(p.appointment_completed??0)/w*100,s(p)/I*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:E,emphasis:{lineStyle:{width:3}}}]}}),Wa=C(()=>{const t=[...B.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]}}]}}),qa=C(()=>{const t=[...B.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 Ja(){var e,n;const t={};if(x.value&&(t.channel_code=x.value),z.value.length>0&&(t.dept_ids=z.value.join(",")),(e=H.value)!=null&&e[0]&&((n=H.value)!=null&&n[1]))t.start_date=H.value[0],t.end_date=H.value[1];else{const s=gt(new Date);t.start_date=s,t.end_date=s}return t}function ta(t){return Number(t??0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function aa(t){if(t==null||t==="")return"—";const e=Number(t);return Number.isFinite(e)?`${e.toFixed(2)}%`:"—"}function Ga(t){const e=pe.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]=`¥ ${ta(e.deal_amount)}`;break;case"deal_order_count":n[d]=String(e.deal_order_count??0);break;case"appointment_total":n[d]=String(e.appointment_total??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;case"appointment_conversion_rate":n[d]=aa(e.appointment_conversion_rate);break;default:n[d]=""}}),n}async function Mt(){if(!W.value){B.value=[],pe.value={},Be.value=null;return}Fe.value=!0;try{const t=await $l(Ja());B.value=(t==null?void 0:t.rows)??[],pe.value=(t==null?void 0:t.total)??{},t!=null&&t.start_date&&(t!=null&&t.end_date)&&(Be.value={start:t.start_date,end:t.end_date})}catch(t){if(te.isCancel(t))return;B.value=[],pe.value={},Be.value=null}finally{Fe.value=!1}}const se=v(!1),we=v(!1),et=v(""),tt=v(""),ke=v([]),_t=v(0),K=v(1),pt=v(15),X=v("channel"),q=v(null),at=v(null),ie=v(null),na=C(()=>{const t=ie.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}),la=C(()=>{const t=ie.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}),Za=C(()=>ke.value.reduce((t,e)=>t+Number(e.amount??0),0)),oa=C(()=>!!x.value&&se.value),Ot=C(()=>{var e;const t=x.value;if(!t)return"";for(const n of st.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}),Xa=C(()=>{const t=q.value;return t&&X.value==="total"?Number.isFinite(t.channelAmount)?t.channelAmount:null:na.value}),Ye=v(null),mt=v(!1);function Ka(){const t=new Date;return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`}function Qa(t){const[e,n]=t.split("-").map(Number);return new Date(e,n,0).getDate()}async function en(){var t,e,n,s;if(!Ke.value){Ye.value=null;return}mt.value=!0,Ye.value=null;try{let d=function(y,$=0){const A=[];for(const P of y??[])A.push({node:P,depth:$}),A.push(...d(P.children??[],$+1));return A},g=function(y){const $=Ce.value.find(G=>Number(G.id)===y);if(!$)return"";const A=Number($.pid);if(!A)return"";const P=Ce.value.find(G=>Number(G.id)===A);return P!=null&&P.name?String(P.name):""},h=function(y){const $=[],A=[y];for(;A.length;){const P=A.shift();for(const G of Ce.value)Number(G.pid)===P&&($.push(G.id),A.push(G.id))}return $},w=function(y,$){const A=new Map;for(const P of(y==null?void 0:y.rows)??[])A.set(Number(P.dept_id),Number(P[$]??0));return A};const I=Ka(),E=await Vl({year_month:I}),p=(E==null?void 0:E.rows)??[];if(!p.length)return;const Y=d(p).filter(y=>y.depth>=1&&Number(y.node.target_amount)>0).map(y=>y.node);if(!Y.length)return;const R=new Set,me=Y.map(y=>{const $=Number(y.dept_id),A=h($),P=A.length?A:[$];return P.forEach(G=>R.add(G)),{dept_id:$,dept_name:String(y.dept_name),target_amount:Number(y.target_amount),totalIds:P}});if(!R.size)return;const He=st.value.flatMap(y=>y.channels),J=(t=He.find(y=>y.channel_name.includes("自媒体1")))==null?void 0:t.channel_code,Se=(e=He.find(y=>y.channel_name.includes("自媒体3")))==null?void 0:e.channel_code,Ne=(n=He.find(y=>y.channel_name.includes("自媒体4")))==null?void 0:n.channel_code,We=Array.from(R).join(","),[ve,V,l,b]=await Promise.all([lt({dept_ids:We}),J?lt({dept_ids:We,channel_code:J}):Promise.resolve(null),Se?lt({dept_ids:We,channel_code:Se}):Promise.resolve(null),Ne?lt({dept_ids:We,channel_code:Ne}):Promise.resolve(null)]),m=y=>{var $;return((y==null?void 0:y.tables)??[]).find(A=>String(A.label).includes("月"))??(($=y==null?void 0:y.tables)==null?void 0:$[0])},T=y=>{var $,A;return((y==null?void 0:y.tables)??[]).find(P=>String(P.label).includes("昨"))??((A=y==null?void 0:y.tables)==null?void 0:A[(($=y==null?void 0:y.tables)==null?void 0:$.length)-1])},Ca=w(m(ve),"performance_amount"),Qn=w(T(ve),"performance_amount"),Da=V?w(m(V),"completed_performance_amount"):null,La=l?w(m(l),"completed_performance_amount"):null,za=b?w(m(b),"completed_performance_amount"):null,nt=(y,$)=>$.reduce((A,P)=>A+(y.get(P)??0),0),Ht=new Date,el=Qa(I),tl=Ht.getDate(),al=me.map(y=>{const $=nt(Ca,y.totalIds),A=nt(Qn,y.totalIds),P=Da?nt(Da,y.totalIds):null,G=La?nt(La,y.totalIds):null,$a=za?nt(za,y.totalIds):null,Wt=G!==null||$a!==null?(G??0)+($a??0):null,sl=Math.round(y.target_amount*(tl/el)*100)/100,il=y.target_amount>0?$/y.target_amount:null;return{dept_id:y.dept_id,dept_name:y.dept_name,parent_dept_name:g(y.dept_id),target_amount:y.target_amount,total_amount:$,yesterday_amount:A,douyin_amount:P&&P>0?P:null,tuifen_amount:Wt&&Wt>0?Wt:null,target_progress:sl,completion_rate:il}}),nl=((s=p[0])==null?void 0:s.dept_name)??"",ll=Ht.getMonth()+1,ol=Ht.getDate();Ye.value={title:`${nl}诊金-${ll}.${ol}`,sections:al}}catch{}finally{mt.value=!1}}const tn=C(()=>{var e;const t=(e=S.value)==null?void 0:e.leaderboards;return t?t.filter(n=>n.rows.length>0).length:0}),sa=[{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 an(t){const e=t.value();H.value=[gt(e[0]),gt(e[1])],Ue()}async function nn(){bt.value=!0;try{const t=await Al();Ce.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{bt.value=!1}}async function ln(){wt.value=!0;try{const t=await Pl(),e=(t==null?void 0:t.groups)||[];st.value=e}catch{}finally{wt.value=!1}}async function ia(t){if(!oe.value){S.value=null;return}de.value=!0;try{const e={start_date:t.start,end_date:t.end};z.value.length>0&&(e.dept_ids=z.value.join(",")),x.value&&(e.channel_code=x.value);const n=await Il(e);S.value={start_date:n.start_date,end_date:n.end_date,channel_code:n.channel_code||"",channel_name:n.channel_name||"",channel_filter_note:n.channel_filter_note||"",range_note:n.range_note||"",leaderboards:n.leaderboards||[]}}catch(e){if(te.isCancel(e))return;S.value=null}finally{de.value=!1}}async function Ue(){if(ne.value=!0,S.value=null,!Ve.value){re.value=[],ne.value=!1,W.value?Mt():(B.value=[],pe.value={},Be.value=null);return}try{const t={};if(z.value.length>0&&(t.dept_ids=z.value.join(",")),x.value&&(t.channel_code=x.value),H.value&&H.value[0]&&H.value[1]){const[s,d]=H.value,g={...t,start_date:s,end_date:d},h=await Rl(g);re.value=[{label:s===d?s:`${s} ~ ${d}`,start_date:h.start_date,end_date:h.end_date,channel_code:h.channel_code||"",channel_name:h.channel_name||"",channel_group:h.channel_group||"",channel_filter_note:h.channel_filter_note||"",rows:h.rows||[],total:h.total}],await ia({start:h.start_date,end:h.end_date});return}const e=await lt(t);re.value=((e==null?void 0:e.tables)||[]).map(s=>({label:s.label,start_date:s.start_date,end_date:s.end_date,channel_code:s.channel_code||"",channel_name:s.channel_name||"",channel_group:s.channel_group||"",channel_filter_note:s.channel_filter_note||"",rows:s.rows||[],total:s.total}));const n=gt(new Date);await ia({start:n,end:n})}catch(t){if(te.isCancel(t))return;const e=t;ee.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载失败")}finally{ne.value=!1,W.value?Mt():(B.value=[],pe.value={},Be.value=null)}}function on(){z.value=[],H.value=null,x.value="",Ue()}function sn(t){return t<=0?!1:Ce.value.some(e=>Number(e.pid)===t)}function rn(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function vt(t){return t==null||!Number.isFinite(Number(t))?"—":Number(t).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function dn(t){return(K.value-1)*pt.value+t+1}function un(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 ra(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 cn(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 g=d.getFullYear(),h=String(d.getMonth()+1).padStart(2,"0"),w=String(d.getDate()).padStart(2,"0"),I=String(d.getHours()).padStart(2,"0"),E=String(d.getMinutes()).padStart(2,"0");return`${g}-${h}-${w} ${I}:${E}`}}const n=String(t);return n.length>=16?n.slice(0,16):n}function da(){const t=at.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,z.value.length>0&&(e.dept_ids=z.value.join(",")),t.yejiTableRowDeptIds&&t.yejiTableRowDeptIds.length>0&&(e.yeji_table_row_dept_ids=t.yejiTableRowDeptIds.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&&se.value&&X.value==="channel"&&(e.channel_code=x.value),e}async function _n(){const t=da();if(!t||!x.value)return;const e={...t,channel_code:x.value,page_no:1,page_size:1};try{const n=await Aa(e),s=n!=null&&n.extend&&typeof n.extend=="object"?n.extend:null;s&&s.stats_yeji_drawer_total_performance_amount!=null&&(q.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 je(){const t=da();if(t){x.value&&X.value==="total"&&(q.value=null),we.value=!0;try{const e={...t,page_no:K.value,page_size:pt.value},n=await Aa(e);ke.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],_t.value=Number((n==null?void 0:n.count)??0),ie.value=n!=null&&n.extend&&typeof n.extend=="object"?n.extend:null,x.value&&X.value==="channel"&&ie.value&&ie.value.stats_yeji_drawer_total_performance_amount!=null&&(q.value={totalAmount:Number(ie.value.stats_yeji_drawer_total_performance_amount),totalOrderCount:Number(ie.value.stats_yeji_drawer_total_performance_order_count??0),channelAmount:Number(ie.value.stats_order_amount_performance??0),channelOrderCount:Number((n==null?void 0:n.count)??0)}),x.value&&se.value&&X.value==="total"&&await _n()}catch(e){if(te.isCancel(e))return;const n=e;ee.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载业务订单失败"),ke.value=[],_t.value=0,ie.value=null}finally{we.value=!1}}}function ua(t,e,n){const s=!!(x.value&&t.channel_name);X.value=s?(n==null?void 0:n.listTab)??"channel":"channel",q.value=null,at.value={mode:"dept",deptId:e.dept_id,deptName:e.dept_name,start:t.start_date,end:t.end_date,yejiTableRowDeptIds:t.rows.map(d=>d.dept_id).filter(d=>typeof d=="number"&&d>0)},et.value=`业务订单 · ${e.dept_name}`,tt.value=`创建时间:${t.start_date} ~ ${t.end_date} · 与「合计业绩 / 接诊诊单」同口径:订单创建人人事部门 ∈ 本部门子树 · 不含履约 4/9/10`,K.value=1,se.value=!0,je()}function pn(t,e,n){const s=!!(x.value&&t.channel_name);X.value=s?n:"channel",q.value=null,at.value={mode:"dept",deptId:e,deptName:"当前展示合计",start:t.start_date,end:t.end_date,yejiTableRowDeptIds:t.rows.map(d=>d.dept_id).filter(d=>typeof d=="number"&&d>0)},et.value="业务订单 · 当前展示合计",tt.value=`创建时间:${t.start_date} ~ ${t.end_date} · 已选展示部门 1 个根节点(含其下全部展示行)· 不含履约 4/9/10`,K.value=1,se.value=!0,je()}function Et(t,e,n){return!(xe(e)||e.dept_id<=0||n==="channel"&&!t.channel_name)}function Vt(t,e){return!(z.value.length!==1||e==="channel"&&!t.channel_name)}function ca(t,e,n){if(!Et(t,e,n))return;ua(t,e,{listTab:n==="total"?"total":"channel"})}function _a(t,e){if(!Vt(t,e))return;const n=z.value[0];if(!n)return;pn(t,n,e==="total"?"total":"channel")}function mn(t,e,n){X.value="channel",q.value=null,at.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n},et.value=`业务订单 · ${t.name}`,tt.value=`创建时间:${e} ~ ${n} · 创建人=${t.name}(与排行榜诊金同口径)· 不含履约 4/9/10`,K.value=1,se.value=!0,je()}function Ft(t,e,n,s){X.value="channel",q.value=null,at.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n,erCenterRevisitSlot:s};const d=s===0?"复诊合计":it(s);et.value=`业务订单 · ${t.name} · ${d}`,tt.value=`创建时间:${e} ~ ${n} · 创建人=${t.name}(与部门表 / 排行榜复诊同口径)· 仅二中心复诊口径 · ${d} · 不含履约 4/9/10`,K.value=1,se.value=!0,je()}function vn(t){if(!t||t.admin_id<=0||!S.value||Number(t.revisit_count??0)<=0)return;const{start_date:e,end_date:n}=S.value;Ft({admin_id:t.admin_id,name:t.name},e,n,0)}function fn(t,e){if(!t||t.admin_id<=0||!S.value||le(t,e)<=0)return;const{start_date:n,end_date:s}=S.value;Ft({admin_id:t.admin_id,name:t.name},n,s,e)}function yn(){K.value=1,je()}function gn(t){K.value=t,je()}function hn(t){pt.value=t,K.value=1,je()}function xe(t){return t.dept_id<=0&&t.dept_name==="未归属中心"}function bn(t,e){e.dept_id<=0||xe(e)||Number(e.revisit_count??0)<=0||ma(t,e,0)}function wn(t,e,n){e.dept_id<=0||xe(e)||le(e,n)<=0||ma(t,e,n)}function pa(t){const e=Xt.value;!e||Number(t.order_count)<=0||Ft({admin_id:t.admin_id,name:t.name},e.start,e.end,e.revisitSlot)}async function ma(t,e,n){const s=n===0?"复诊合计":it(n);Zt.value=`${e.dept_name} · ${s} · ${t.start_date} ~ ${t.end_date}`,Xt.value={start:t.start_date,end:t.end_date,revisitSlot:n},Je.value="",$e.value=[],St.value=!0,ze.value=!0;try{const d={start_date:t.start_date,end_date:t.end_date,dept_id:e.dept_id,revisit_slot:n};z.value.length>0&&(d.dept_ids=z.value.join(",")),x.value&&(d.channel_code=x.value);const g=await Tl(d);$e.value=Array.isArray(g==null?void 0:g.rows)?g.rows:[],Je.value=typeof(g==null?void 0:g.note)=="string"?g.note:""}catch(d){if(te.isCancel(d))return;const g=d;ee.error((g==null?void 0:g.msg)||(g==null?void 0:g.message)||"加载复诊拆解失败"),$e.value=[],Je.value=""}finally{ze.value=!1}}function va(t){const e=[`区间:${t.start_date} ~ ${t.end_date}`];return x.value&&e.push(`渠道:${t.channel_name||x.value}`),z.value.length>0&&e.push(`已选展示部门 ${z.value.length} 个`),e.join(" · ")}async function kn(t){Gt.value=va(t),qe.value="",Le.value=[],xt.value=!0,De.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date};z.value.length>0&&(e.dept_ids=z.value.join(",")),x.value&&(e.channel_code=x.value);const n=await Ml(e);Le.value=Array.isArray(n==null?void 0:n.rows)?n.rows:[],qe.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){if(te.isCancel(e))return;const n=e;ee.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载未归属拆解失败"),Le.value=[],qe.value=""}finally{De.value=!1}}function jn(t,e,n){n.dept_id<=0||Number(n.lead_count)<=0||(t.stopPropagation(),Rn(e,n))}function fa(t){return t.dept_id>0&&Number(t.assign_count??0)>0}function xn(t,e,n){fa(n)&&(t.stopPropagation(),Cn(e,n))}function Sn(t){return(be.value-1)*Ee.value+t+1}function Nn(t,e){const n=$t.value;if(!n)return null;const s={start_date:n.start_date,end_date:n.end_date,page:t,page_size:e};return n.mode==="dept"?s.dept_id=n.dept_id:s.assistant_id=n.assistant_id,z.value.length>0&&(s.dept_ids=z.value.join(",")),x.value&&(s.channel_code=x.value),s}async function ft(){const t=Nn(be.value,Ee.value);if(t){ge.value=!0;try{const e=await Ol(t);he.value=Array.isArray(e==null?void 0:e.lists)?e.lists:[],Oe.value=Number((e==null?void 0:e.count)??0),Me.value=typeof(e==null?void 0:e.note)=="string"?e.note:""}catch(e){if(te.isCancel(e))return;const n=e;ee.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载被指派明细失败"),he.value=[],Oe.value=0,Me.value=""}finally{ge.value=!1}}}async function Cn(t,e){$t.value={mode:"dept",dept_id:e.dept_id,dept_name:e.dept_name,start_date:t.start_date,end_date:t.end_date},zt.value=`${e.dept_name} · ${t.start_date} ~ ${t.end_date}`,Me.value="",he.value=[],Oe.value=0,be.value=1,Ee.value=20,ut.value=!0,await ft()}function Dn(t){if(!t||t.admin_id<=0||!S.value||Number(t.assign_count??0)<=0)return;const e=S.value;$t.value={mode:"assistant",assistant_id:t.admin_id,name:t.name,start_date:e.start_date,end_date:e.end_date},zt.value=`${t.name} · 医助 · ${e.start_date} ~ ${e.end_date}`,Me.value="",he.value=[],Oe.value=0,be.value=1,Ee.value=20,ut.value=!0,ft()}function Ln(t){be.value=t,ft()}function zn(t){Ee.value=t,be.value=1,ft()}const ya=[{key:"event_time_text",label:"进线时间"},{key:"reception_admin_name",label:"接待"},{key:"external_contact_name",label:"客户"},{key:"external_userid",label:"外部联系人ID"},{key:"user_id",label:"企微成员ID"},{key:"state",label:"渠道参数"}];function Bt(t,e,n){const{tb:s,row:d}=t,g={start_date:s.start_date,end_date:s.end_date,dept_id:d.dept_id,page:e,page_size:n};return z.value.length>0&&(g.dept_ids=z.value.join(",")),x.value&&(g.channel_code=x.value),g}function ga(t){const e=t==null?"":String(t);return/[",\n\r]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function $n(t){const e=ya.map(s=>ga(s.label)).join(","),n=t.map(s=>ya.map(d=>ga(s[d.key])).join(",")).join(`
`);return`\uFEFF${e}
${n}`}function An(t,e){const n=new Blob([e],{type:"text/csv;charset=utf-8;"}),s=URL.createObjectURL(n),d=document.createElement("a");d.href=s,d.download=t,d.click(),URL.revokeObjectURL(s)}function Pn(t){const{tb:e,row:n}=t;return`进线数据明细_${(n.dept_name||`dept${n.dept_id}`).replace(/[\\/:*?"<>|]/g,"_")}_${e.start_date}_${e.end_date}.csv`}async function Yt(){const t=Ct.value;if(t){ue.value=!0;try{const e=await qt(Bt(t,Xe.value,rt.value));Ae.value=Array.isArray(e==null?void 0:e.lists)?e.lists:[],Pe.value=Number((e==null?void 0:e.count)??0),Ze.value=typeof(e==null?void 0:e.note)=="string"?e.note:""}catch(e){if(te.isCancel(e))return;const n=e;ee.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载进线明细失败"),Ae.value=[],Pe.value=0,Ze.value=""}finally{ue.value=!1}}}async function Rn(t,e){Ct.value={tb:t,row:e},Kt.value=`${e.dept_name} · ${va(t)}`,Ze.value="",Ae.value=[],Pe.value=0,Xe.value=1,rt.value=20,Nt.value=!0,await Yt()}function Tn(t){Xe.value=t,Yt()}function In(t){rt.value=t,Xe.value=1,Yt()}async function Mn(){const t=Ct.value;if(!(!t||Ge.value)){Ge.value=!0;try{const n=await qt(Bt(t,1,100)),s=Number((n==null?void 0:n.count)??0);if(s<=0){ee.warning("暂无进线明细可导出");return}const d=Array.isArray(n==null?void 0:n.lists)?[...n.lists]:[],g=Math.ceil(s/100);for(let h=2;h<=g;h++){const w=await qt(Bt(t,h,100)),I=Array.isArray(w==null?void 0:w.lists)?w.lists:[];d.push(...I)}An(Pn(t),$n(d)),ee.success(`已导出 ${d.length} 条进线明细`)}catch(e){if(te.isCancel(e))return;const n=e;ee.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"导出进线明细失败")}finally{Ge.value=!1}}}function On(t){return(ye.value-1)*Ie.value+t+1}function ha(t){return xe(t)?!0:t.dept_id>0}async function yt(){const t=Lt.value;if(t){fe.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date,page:ye.value,page_size:Ie.value};t.mode==="dept"?e.dept_id=t.dept_id:e.assistant_id=t.assistant_id,z.value.length>0&&(e.dept_ids=z.value.join(",")),x.value&&(e.channel_code=x.value);const n=await El(e);ce.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],Te.value=Number((n==null?void 0:n.count)??0),Re.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){if(te.isCancel(e))return;const n=e;ee.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载挂号明细失败"),ce.value=[],Te.value=0,Re.value=""}finally{fe.value=!1}}}function En(t){if(!t||t.admin_id<=0||!S.value||Number(t.appointment_count??0)<=0)return;const e=S.value;Lt.value={mode:"assistant",assistant_id:t.admin_id,name:t.name,start_date:e.start_date,end_date:e.end_date},Dt.value=`${t.name} · 医助 · ${e.start_date} ~ ${e.end_date}`,Re.value="",ce.value=[],Te.value=0,ye.value=1,Ie.value=20,dt.value=!0,yt()}function Vn(t,e){!ha(e)||Number(e.appointment_booked_count??0)<=0||(Lt.value={mode:"dept",dept_id:e.dept_id,dept_name:e.dept_name,start_date:t.start_date,end_date:t.end_date},Dt.value=`${e.dept_name} · ${t.start_date} ~ ${t.end_date}`,Re.value="",ce.value=[],Te.value=0,ye.value=1,Ie.value=20,dt.value=!0,yt())}function Fn(t){ye.value=t,yt()}function Bn(t){Ie.value=t,ye.value=1,yt()}function Yn(t,e){if(xe(e)){kn(t);return}if(!(e.dept_id<=0)){if(sn(e.dept_id)){z.value=[e.dept_id],Ue();return}ua(t,e)}}function Un(t){if(!t||t.admin_id<=0||!S.value)return;const{start_date:e,end_date:n}=S.value;mn(t,e,n)}function ba(t){const e=t.channel_name?` · ${t.channel_name}`:"";return`${t.label}${e}`}function Hn(t){const e=t.rows.filter(h=>h.dept_id>0),n=e.map(h=>h.dept_name.length>10?`${h.dept_name.slice(0,10)}…`:h.dept_name),s=["#64748b","#38bdf8","#6366f1"],d=[{name:"进线",type:"bar",data:e.map(h=>h.lead_count),yAxisIndex:0,barMaxWidth:16},{name:"接诊",type:"bar",data:e.map(h=>h.consult_count),yAxisIndex:0,barMaxWidth:16},{name:"成交单",type:"bar",data:e.map(h=>h.deal_order_count),yAxisIndex:0,barMaxWidth:16},{name:"合计业绩",type:"bar",data:e.map(h=>h.performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#d97706"}}];t.channel_name&&d.push({name:`${t.channel_name}业绩`,type:"bar",data:e.map(h=>h.completed_performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#0d9488"}});const g=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:g?56:28,containLabel:!1},dataZoom:g?[{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 Wn(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 wa(t){return t.rows.some(e=>Number(e.fee_amount)>0)}function qn(t,e){const s=[...t.rows].filter(d=>Number(d.fee_amount)>0).sort((d,g)=>Number(g.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}
diff --git a/server/public/admin/assets/yeji-edit-CQ3kqFq_.js b/server/public/admin/assets/yeji-edit-CEUe5Z96.js
similarity index 87%
rename from server/public/admin/assets/yeji-edit-CQ3kqFq_.js
rename to server/public/admin/assets/yeji-edit-CEUe5Z96.js
index 8c552648..0b9b8292 100644
--- a/server/public/admin/assets/yeji-edit-CQ3kqFq_.js
+++ b/server/public/admin/assets/yeji-edit-CEUe5Z96.js
@@ -1 +1 @@
-import{_ as o}from"./yeji-edit.vue_vue_type_script_setup_true_lang-CGmBd-Br.js";import"./element-plus-Bolc0EfP.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-B0jSCQ-G.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"./self_input_stats-B5uqy0dW.js";import"./index-CzSP4TPL.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-DWEeyCDR.js";import"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-DBM4IcXw.js";export{o as default};
+import{_ as o}from"./yeji-edit.vue_vue_type_script_setup_true_lang-qk9EaWWO.js";import"./element-plus-Bolc0EfP.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-B0jSCQ-G.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"./self_input_stats-D636fUL0.js";import"./index-DiYdpaIG.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-JpA6TixL.js";import"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-DBM4IcXw.js";export{o as default};
diff --git a/server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-CGmBd-Br.js b/server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-qk9EaWWO.js
similarity index 98%
rename from server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-CGmBd-Br.js
rename to server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-qk9EaWWO.js
index 8aa3d894..7206d904 100644
--- a/server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-CGmBd-Br.js
+++ b/server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-qk9EaWWO.js
@@ -1 +1 @@
-import{D as C,B as D,R as Y,ab as S,ac as q,h as B,C as F}from"./element-plus-Bolc0EfP.js";import{f as I,h as A}from"./self_input_stats-B5uqy0dW.js";import{_ as L}from"./index-DWEeyCDR.js";import{_ as M}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-DBM4IcXw.js";import{f as O,ak as z,I as P,a as o,aN as n,A as T}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as f,n as $,r as G}from"./@vue/reactivity-DiY1c2vO.js";const H={class:"edit-popup"},h=O({__name:"yeji-edit",props:{mediaSourceOptions:{default:()=>[]},mediaSourceLoading:{type:Boolean,default:!1}},emits:["success","close"],setup(s,{expose:V,emit:w}){const i=w,c=f(),_=f(),m=$("add"),b=T(()=>m.value==="edit"?"编辑业绩":"新增业绩"),e=G({id:"",yeji_date:"",media_source:"",add_fans_count:0,total_open_count:0,unreplied_count:0,paid_appointment_count:0,free_appointment_count:0,interview_count:0,order_amount:0,completed_order_count:0,remark:""}),g={yeji_date:[{required:!0,message:"请选择业绩日期",trigger:["change"]}],media_source:[{required:!0,message:"请填写自媒体来源",trigger:["blur"]}],add_fans_count:[{required:!0,message:"请填写加粉数",trigger:["blur","change"]}]},v=()=>{e.id="",e.yeji_date="",e.media_source="",e.add_fans_count=0,e.total_open_count=0,e.unreplied_count=0,e.paid_appointment_count=0,e.free_appointment_count=0,e.interview_count=0,e.order_amount=0,e.completed_order_count=0,e.remark=""},y=async()=>{var u,t;await((u=c.value)==null?void 0:u.validate()),m.value==="edit"?await I(e):await A(e),(t=_.value)==null||t.close(),i("success")},k=(u="add")=>{var t;m.value=u,v(),(t=_.value)==null||t.open()},j=u=>{e.id=u.id??"",e.yeji_date=u.yeji_date??"",e.media_source=u.media_source??"",e.add_fans_count=Number(u.add_fans_count??0),e.total_open_count=Number(u.total_open_count??0),e.unreplied_count=Number(u.unreplied_count??0),e.paid_appointment_count=Number(u.paid_appointment_count??0),e.free_appointment_count=Number(u.free_appointment_count??0),e.interview_count=Number(u.interview_count??0),e.order_amount=Number(u.order_amount??0),e.completed_order_count=Number(u.completed_order_count??0),e.remark=u.remark??""},N=()=>{i("close")};return V({open:k,setFormData:j}),(u,t)=>{const U=Y,d=D,r=B,p=q,R=S,x=F,E=C;return z(),P("div",H,[o(L,{ref_key:"popupRef",ref:_,title:l(b),async:!0,width:"640px",onConfirm:y,onClose:N},{default:n(()=>[o(E,{ref_key:"formRef",ref:c,model:l(e),"label-width":"110px",rules:g},{default:n(()=>[o(d,{label:"业绩日期",prop:"yeji_date"},{default:n(()=>[o(U,{modelValue:l(e).yeji_date,"onUpdate:modelValue":t[0]||(t[0]=a=>l(e).yeji_date=a),type:"date","value-format":"YYYY-MM-DD",placeholder:"请选择日期",disabled:l(m)==="edit",class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),o(d,{label:"自媒体来源",prop:"media_source"},{default:n(()=>[o(M,{modelValue:l(e).media_source,"onUpdate:modelValue":t[1]||(t[1]=a=>l(e).media_source=a),options:s.mediaSourceOptions,loading:s.mediaSourceLoading,placeholder:"请选择自媒体来源","allow-create":!1,disabled:l(m)==="edit","select-class":"w-full"},null,8,["modelValue","options","loading","disabled"])]),_:1}),o(R,{gutter:16},{default:n(()=>[o(p,{span:12},{default:n(()=>[o(d,{label:"加粉数",prop:"add_fans_count"},{default:n(()=>[o(r,{modelValue:l(e).add_fans_count,"onUpdate:modelValue":t[2]||(t[2]=a=>l(e).add_fans_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"总开口",prop:"total_open_count"},{default:n(()=>[o(r,{modelValue:l(e).total_open_count,"onUpdate:modelValue":t[3]||(t[3]=a=>l(e).total_open_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"未回复",prop:"unreplied_count"},{default:n(()=>[o(r,{modelValue:l(e).unreplied_count,"onUpdate:modelValue":t[4]||(t[4]=a=>l(e).unreplied_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"付费挂号",prop:"paid_appointment_count"},{default:n(()=>[o(r,{modelValue:l(e).paid_appointment_count,"onUpdate:modelValue":t[5]||(t[5]=a=>l(e).paid_appointment_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"免费挂号",prop:"free_appointment_count"},{default:n(()=>[o(r,{modelValue:l(e).free_appointment_count,"onUpdate:modelValue":t[6]||(t[6]=a=>l(e).free_appointment_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"面诊",prop:"interview_count"},{default:n(()=>[o(r,{modelValue:l(e).interview_count,"onUpdate:modelValue":t[7]||(t[7]=a=>l(e).interview_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"订单金额",prop:"order_amount"},{default:n(()=>[o(r,{modelValue:l(e).order_amount,"onUpdate:modelValue":t[8]||(t[8]=a=>l(e).order_amount=a),min:0,step:.01,precision:2,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"接诊诊单",prop:"completed_order_count"},{default:n(()=>[o(r,{modelValue:l(e).completed_order_count,"onUpdate:modelValue":t[9]||(t[9]=a=>l(e).completed_order_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(d,{label:"备注",prop:"remark"},{default:n(()=>[o(x,{modelValue:l(e).remark,"onUpdate:modelValue":t[10]||(t[10]=a=>l(e).remark=a),type:"textarea",autosize:{minRows:3,maxRows:5},maxlength:"255","show-word-limit":"",placeholder:"选填"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{h as _};
+import{D as C,B as D,R as Y,ab as S,ac as q,h as B,C as F}from"./element-plus-Bolc0EfP.js";import{f as I,h as A}from"./self_input_stats-D636fUL0.js";import{_ as L}from"./index-JpA6TixL.js";import{_ as M}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-DBM4IcXw.js";import{f as O,ak as z,I as P,a as o,aN as n,A as T}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as f,n as $,r as G}from"./@vue/reactivity-DiY1c2vO.js";const H={class:"edit-popup"},h=O({__name:"yeji-edit",props:{mediaSourceOptions:{default:()=>[]},mediaSourceLoading:{type:Boolean,default:!1}},emits:["success","close"],setup(s,{expose:V,emit:w}){const i=w,c=f(),_=f(),m=$("add"),b=T(()=>m.value==="edit"?"编辑业绩":"新增业绩"),e=G({id:"",yeji_date:"",media_source:"",add_fans_count:0,total_open_count:0,unreplied_count:0,paid_appointment_count:0,free_appointment_count:0,interview_count:0,order_amount:0,completed_order_count:0,remark:""}),g={yeji_date:[{required:!0,message:"请选择业绩日期",trigger:["change"]}],media_source:[{required:!0,message:"请填写自媒体来源",trigger:["blur"]}],add_fans_count:[{required:!0,message:"请填写加粉数",trigger:["blur","change"]}]},v=()=>{e.id="",e.yeji_date="",e.media_source="",e.add_fans_count=0,e.total_open_count=0,e.unreplied_count=0,e.paid_appointment_count=0,e.free_appointment_count=0,e.interview_count=0,e.order_amount=0,e.completed_order_count=0,e.remark=""},y=async()=>{var u,t;await((u=c.value)==null?void 0:u.validate()),m.value==="edit"?await I(e):await A(e),(t=_.value)==null||t.close(),i("success")},k=(u="add")=>{var t;m.value=u,v(),(t=_.value)==null||t.open()},j=u=>{e.id=u.id??"",e.yeji_date=u.yeji_date??"",e.media_source=u.media_source??"",e.add_fans_count=Number(u.add_fans_count??0),e.total_open_count=Number(u.total_open_count??0),e.unreplied_count=Number(u.unreplied_count??0),e.paid_appointment_count=Number(u.paid_appointment_count??0),e.free_appointment_count=Number(u.free_appointment_count??0),e.interview_count=Number(u.interview_count??0),e.order_amount=Number(u.order_amount??0),e.completed_order_count=Number(u.completed_order_count??0),e.remark=u.remark??""},N=()=>{i("close")};return V({open:k,setFormData:j}),(u,t)=>{const U=Y,d=D,r=B,p=q,R=S,x=F,E=C;return z(),P("div",H,[o(L,{ref_key:"popupRef",ref:_,title:l(b),async:!0,width:"640px",onConfirm:y,onClose:N},{default:n(()=>[o(E,{ref_key:"formRef",ref:c,model:l(e),"label-width":"110px",rules:g},{default:n(()=>[o(d,{label:"业绩日期",prop:"yeji_date"},{default:n(()=>[o(U,{modelValue:l(e).yeji_date,"onUpdate:modelValue":t[0]||(t[0]=a=>l(e).yeji_date=a),type:"date","value-format":"YYYY-MM-DD",placeholder:"请选择日期",disabled:l(m)==="edit",class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),o(d,{label:"自媒体来源",prop:"media_source"},{default:n(()=>[o(M,{modelValue:l(e).media_source,"onUpdate:modelValue":t[1]||(t[1]=a=>l(e).media_source=a),options:s.mediaSourceOptions,loading:s.mediaSourceLoading,placeholder:"请选择自媒体来源","allow-create":!1,disabled:l(m)==="edit","select-class":"w-full"},null,8,["modelValue","options","loading","disabled"])]),_:1}),o(R,{gutter:16},{default:n(()=>[o(p,{span:12},{default:n(()=>[o(d,{label:"加粉数",prop:"add_fans_count"},{default:n(()=>[o(r,{modelValue:l(e).add_fans_count,"onUpdate:modelValue":t[2]||(t[2]=a=>l(e).add_fans_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"总开口",prop:"total_open_count"},{default:n(()=>[o(r,{modelValue:l(e).total_open_count,"onUpdate:modelValue":t[3]||(t[3]=a=>l(e).total_open_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"未回复",prop:"unreplied_count"},{default:n(()=>[o(r,{modelValue:l(e).unreplied_count,"onUpdate:modelValue":t[4]||(t[4]=a=>l(e).unreplied_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"付费挂号",prop:"paid_appointment_count"},{default:n(()=>[o(r,{modelValue:l(e).paid_appointment_count,"onUpdate:modelValue":t[5]||(t[5]=a=>l(e).paid_appointment_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"免费挂号",prop:"free_appointment_count"},{default:n(()=>[o(r,{modelValue:l(e).free_appointment_count,"onUpdate:modelValue":t[6]||(t[6]=a=>l(e).free_appointment_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"面诊",prop:"interview_count"},{default:n(()=>[o(r,{modelValue:l(e).interview_count,"onUpdate:modelValue":t[7]||(t[7]=a=>l(e).interview_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"订单金额",prop:"order_amount"},{default:n(()=>[o(r,{modelValue:l(e).order_amount,"onUpdate:modelValue":t[8]||(t[8]=a=>l(e).order_amount=a),min:0,step:.01,precision:2,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"接诊诊单",prop:"completed_order_count"},{default:n(()=>[o(r,{modelValue:l(e).completed_order_count,"onUpdate:modelValue":t[9]||(t[9]=a=>l(e).completed_order_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(d,{label:"备注",prop:"remark"},{default:n(()=>[o(x,{modelValue:l(e).remark,"onUpdate:modelValue":t[10]||(t[10]=a=>l(e).remark=a),type:"textarea",autosize:{minRows:3,maxRows:5},maxlength:"255","show-word-limit":"",placeholder:"选填"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{h as _};
diff --git a/server/public/admin/index.html b/server/public/admin/index.html
index 7218a746..72a8f3dc 100644
--- a/server/public/admin/index.html
+++ b/server/public/admin/index.html
@@ -163,7 +163,7 @@
z-index: 2147483641;
}
-
+
diff --git a/server/sql/1.9.20260717/add_auto_assign_log_rollback.sql b/server/sql/1.9.20260717/add_auto_assign_log_rollback.sql
new file mode 100644
index 00000000..0ff220ad
--- /dev/null
+++ b/server/sql/1.9.20260717/add_auto_assign_log_rollback.sql
@@ -0,0 +1,20 @@
+-- 自动分配日志:支持回退(撤回已自动分配的医助至上一任/一中心原医助)
+-- 表:zyt_tcm_diagnosis_auto_assign_log
+-- 接口权限:stats.autoAssignLog/rollback
+
+ALTER TABLE `zyt_tcm_diagnosis_auto_assign_log`
+ ADD COLUMN `rollback_time` int unsigned NOT NULL DEFAULT 0 COMMENT '回退时间戳,0=未回退' AFTER `create_time`,
+ ADD COLUMN `rollback_admin_id` int unsigned NOT NULL DEFAULT 0 COMMENT '回退操作人管理员ID' AFTER `rollback_time`,
+ ADD COLUMN `rollback_admin_name` varchar(64) NOT NULL DEFAULT '' COMMENT '回退操作人姓名' AFTER `rollback_admin_id`;
+
+SET @menu_id = (SELECT id FROM zyt_system_menu WHERE perms = 'stats.autoAssignLog/lists' LIMIT 1);
+
+INSERT INTO `zyt_system_menu`
+ (`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
+SELECT
+ @menu_id, 'A', '回退自动分配', '', 1,
+ 'stats.autoAssignLog/rollback', '', '',
+ '', '', 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
+FROM DUAL
+WHERE @menu_id IS NOT NULL
+ AND NOT EXISTS (SELECT 1 FROM zyt_system_menu WHERE perms = 'stats.autoAssignLog/rollback');