健康日历
+2026年5月 · 已记录 3 / 7 天
+血糖明细
+共 3 天 +稳糖乐园
+用健康打卡浇灌你的稳糖树
+今日控糖任务
+还差 15 XP 升级至 Lv.4
+浇水可消耗 5 积分,获得 10 XP
+邀请家人点赞
+分享战报给家人,邀请他们为您点赞鼓励
+先完成血糖记录,今日第一格就亮起来。
+ +吕帅
+2026年5月 · 已记录 3 / 7 天
+用健康打卡浇灌你的稳糖树
+还差 15 XP 升级至 Lv.4
+浇水可消耗 5 积分,获得 10 XP
+分享战报给家人,邀请他们为您点赞鼓励
+先完成血糖记录,今日第一格就亮起来。
+ +是否添加医生备注?
+{{ detailData.remark || '无' }}
+确认患者已就诊完成?
+{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 点前」拆分「本期提成 / 顺延下期」 (仅有签收在范围内、尾款晚于截止仍会顺延); 展示部门/渠道下拉与列表不同,勾选后会与列表计数不同。 0){const e=`已开启关联支付门槛(¥${oe(D.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function kt(){var t;T.value=0,_.patient_id="",_.recipient_name="",_.recipient_phone="",_.shipping_address="",_.is_follow_up=0,_.medication_days=void 0,_.prev_staff="",_.service_channel="",_.service_package=[],_.express_company="auto",_.tracking_number="",_.fee_type=3,_.amount=0,_.internal_cost=void 0,_.remark_extra="",_.remark_assistant="",_.pay_order_ids=[],Q.value=[],ne.value=[],D.value=0,q.value=null,(t=_e.value)==null||t.clearValidate()}function ma(){const t=D.value;if(t<=0)return;const e=Math.round(t*100)/100;Number(_.amount) 0){const e=`已开启关联支付门槛(¥${oe(D.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function kt(){var t;T.value=0,_.patient_id="",_.recipient_name="",_.recipient_phone="",_.shipping_address="",_.is_follow_up=0,_.medication_days=void 0,_.prev_staff="",_.service_channel="",_.service_package=[],_.express_company="auto",_.tracking_number="",_.fee_type=3,_.amount=0,_.internal_cost=void 0,_.remark_extra="",_.remark_assistant="",_.pay_order_ids=[],Q.value=[],ne.value=[],D.value=0,q.value=null,(t=_e.value)==null||t.clearValidate()}function ma(){const t=D.value;if(t<=0)return;const e=Math.round(t*100)/100;Number(_.amount)提成结算业绩
提成结算业绩
{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,a5 as ut,a4 as bt,W as mt}from"./element-plus-lurTijPg.js";import{H as O}from"./vue-echarts-BNtg2q_G.js";import{L as Q,ae as _t,af as ht,a4 as yt}from"./@element-plus/icons-vue-HOEUG8sr.js";import{l as wt,O as V,Q as ft,_ as vt}from"./index-DF1MLuL8.js";import{at as gt}from"./tcm-tCkhN6ch.js";import{u as kt}from"./order-B5HPxuEV.js";import{u as U}from"./getExposeType-MUpmx9zy.js";import{f as Y,w as xt,b as St,ak as l,I as c,J as t,a,aN as r,O as C,F as A,ap as D,G as w,H as B,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{r as M,y as f,n as J}from"./@vue/reactivity-DiY1c2vO.js";import{Q as n}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ot={class:"workbench-page"},Ct={class:"wb-hero"},At={class:"wb-section wb-section--order"},Dt={class:"wb-section-head"},Nt={class:"wb-section-title"},$t={class:"wb-section-icon wb-section-icon--violet"},zt={class:"wb-section-sub"},Et={class:"wb-toolbar"},Lt={class:"wb-section-body"},Vt={class:"wb-kpi wb-kpi--violet"},Rt={class:"wb-kpi-value"},Pt={class:"wb-kpi wb-kpi--amber"},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"},Qt={class:"wb-chart-card"},Ut={class:"wb-chart-card wb-ranking-card"},Mt={key:0,class:"wb-ranking-list"},jt={class:"wb-ranking-rank"},Gt={class:"wb-ranking-name"},Jt={class:"wb-ranking-meta"},Yt={class:"wb-ranking-money"},qt={key:0,class:"wb-dept-block"},Kt={class:"wb-dept-card wb-dept-card--order"},Xt={class:"wb-dept-card-head"},Zt={class:"wb-dept-total"},te={class:"wb-dept-list"},ee={class:"wb-dept-num"},se={key:0,class:"wb-dept-empty"},ae={class:"wb-section wb-section--diagnosis"},oe={class:"wb-section-head"},le={class:"wb-section-title"},re={class:"wb-section-icon wb-section-icon--blue"},ie={class:"wb-section-sub"},ne={class:"wb-toolbar"},de={class:"wb-section-body"},ce={class:"wb-kpi wb-kpi--blue"},pe={class:"wb-kpi-value"},ue={class:"wb-rank-strip"},be={key:0,class:"wb-rank-chips"},me={key:1,class:"wb-rank-empty"},_e={class:"wb-chart-card"},he={class:"wb-chart-card"},ye={key:0,class:"wb-dept-block"},we={class:"wb-dept-card"},fe={class:"wb-dept-card-head"},ve={class:"wb-dept-total"},ge={class:"wb-dept-list"},ke={class:"wb-dept-num"},xe={key:0,class:"wb-dept-empty"},Se={class:"wb-section wb-section--trend"},Oe={class:"wb-section-head"},Ce={class:"wb-section-title"},Ae={class:"wb-section-icon wb-section-icon--teal"},De={class:"wb-section-body wb-trend-body"},Ne={class:"wb-chart-card wb-trend-card"},$e={class:"wb-chart-card wb-trend-card"},ze=Y({name:"workbench"}),Ee=Y({...ze,setup(Le){const g=wt(),H=U(),T=U(),q=U(),I=["#5b7cfa","#36cfc9","#ffc53d","#ff7a45","#b37feb","#597ef7","#73d13d","#ff85c0"];function j(s){if(s==null)return 0;const e=parseFloat(String(s).replace(/,/g,""));return Number.isFinite(e)?e:0}const p=M({days:0,departments:[],today_ranking:[],ranking:[],chart:{xAxis:[],series:[]}}),K=S(()=>(p.departments||[]).some(s=>Number(s.total)>0)),X=S(()=>{const s=(p.departments||[]).filter(e=>Number(e.total)>0).map(e=>({name:e.dept_name||"—",value:Number(e.total)}));return{color:I,tooltip:{trigger:"item",formatter:"{b}
{c} 单 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"诊单",type:"pie",radius:["46%","72%"],center:["50%","46%"],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b}
{c}`},data:s}]}}),Z=S(()=>{var b;const s=g.theme,e=(p.chart.series||[]).map(i=>({...i,name:i.name||"诊单数",type:"bar",barWidth:"46%",itemStyle:{borderRadius:[8,8,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:V(s,.75)},{offset:1,color:s}]}}})),h=((b=e[0])==null?void 0:b.data)||[];return{color:[s,"#f0b429"],legend:{data:["诊单数","趋势"],top:4},xAxis:{type:"category",data:p.chart.xAxis||[],axisLabel:{rotate:28,fontSize:11},axisLine:{lineStyle:{color:"#e4e7ec"}}},yAxis:{type:"value",name:"诊单数",splitLine:{lineStyle:{type:"dashed",color:"#eef0f4"}}},tooltip:{trigger:"axis"},grid:{left:"2%",right:"2%",bottom:"12%",top:48,containLabel:!0},series:[...e,{name:"趋势",type:"line",smooth:.35,symbol:"circle",symbolSize:7,lineStyle:{width:3,color:"#f0b429"},itemStyle:{color:"#f0b429"},data:h}]}}),R=()=>{gt({days:p.days}).then(s=>{p.date_range=s.date_range,p.today_total=s.today_total??0,p.today_ranking=s.today_ranking||[],p.departments=s.departments||[],p.ranking=s.ranking||[],p.chart=s.chart||{xAxis:[],series:[]}}).catch(()=>{})},P=J(-1),W=J(0),_=M({order_type_name:"",date_range:[],today_total:0,today_amount:"0.00",today_ranking:[],departments:[],ranking:[],chart:{xAxis:[],series:[]}}),tt=S(()=>(_.departments||[]).some(s=>Number(s.total)>0)),et=S(()=>(_.departments||[]).some(s=>j(s.amount)>0)),st=S(()=>{const s=(_.departments||[]).filter(e=>Number(e.total)>0).map(e=>({name:e.dept_name||"—",value:Number(e.total)}));return{color:I,tooltip:{trigger:"item",formatter:"{b}
{c} 单 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"单数",type:"pie",radius:["44%","70%"],center:["50%","46%"],itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b}
{c}`},data:s}]}}),at=S(()=>{const s=(_.departments||[]).map(e=>({name:e.dept_name||"—",value:j(e.amount)})).filter(e=>e.value>0);return{color:I,tooltip:{trigger:"item",formatter:e=>{const h=e.value;return`${e.name}
¥${Number(h).toFixed(2)} (${e.percent}%)`}},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"金额",type:"pie",radius:["44%","70%"],center:["50%","46%"],itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:e=>`${e.name}
¥${Number(e.value).toFixed(0)}`},data:s}]}}),ot=S(()=>{const s=_.date_range;if((s==null?void 0:s.length)>=2)return`${s[0]} 至 ${s[1]}`;const e=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:V(s,.72)},{offset:1,color:s}]}}})),h=((i=e[0])==null?void 0:i.data)||[];return{color:[s,"#fa8c16"],legend:{data:["单数","趋势"],top:4},xAxis:{type:"category",data:((k=_.chart)==null?void 0:k.xAxis)||[],axisLabel:{rotate:28,fontSize:11},axisLine:{lineStyle:{color:"#e4e7ec"}}},yAxis:{type:"value",name:"单数",splitLine:{lineStyle:{type:"dashed",color:"#eef0f4"}}},tooltip:{trigger:"axis"},grid:{left:"2%",right:"2%",bottom:"12%",top:48,containLabel:!0},series:[...e,{name:"趋势",type:"line",smooth:.35,symbol:"circle",symbolSize:7,lineStyle:{width:3,color:"#fa8c16"},itemStyle:{color:"#fa8c16"},data:h}]}}),N=()=>{kt({order_type:P.value,days: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=M({version:{version:"",website:"",based:"",channel:{gitee:"",website:""}},support:[],today:{},menu:[],visitor:[],article:[],visitorOption:{xAxis:{type:"category",data:[]},yAxis:{type:"value"},legend:{data:["访问量"],top:8},tooltip:{trigger:"axis"},grid:{left:"2%",right:"3%",bottom:"3%",top:40,containLabel:!0},series:[{name:"访问量",data:[],type:"line",smooth:!0,color:g.theme,lineStyle:{color:g.theme,width:2},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:g.theme},{offset:1,color:g.theme}]},opacity:.12}}]},saleOption:{xAxis:{type:"category",data:[]},yAxis:{type:"value",name:"万"},tooltip:{trigger:"axis"},grid:{left:"2%",right:"3%",bottom:"3%",top:36,containLabel:!0},series:[{name:"销售量",data:[],type:"bar",showBackground:!0,backgroundStyle:{color:"rgba(120, 130, 150, 0.08)",borderRadius:[10,10,0,0]},barWidth:"42%",itemStyle:{borderRadius:[10,10,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:V(g.theme,.65)},{offset:1,color:g.theme}]}}}]}}),G=()=>{ft().then(s=>{var e,h,b,i,k,m,v,x,$,z,E,L;u.version=s.version,u.today=s.today,u.menu=s.menu,u.visitor=s.visitor,u.support=s.support,u.visitorOption.xAxis.data=[],u.visitorOption.series[0].data=[],u.saleOption.xAxis.data=[],u.saleOption.series[0].data=[],(h=(e=s.visitor)==null?void 0:e.date)==null||h.reverse().forEach(o=>{u.visitorOption.xAxis.data.push(o)}),(m=(k=(i=(b=s.visitor)==null?void 0:b.list)==null?void 0:i[0])==null?void 0:k.data)==null||m.forEach(o=>{u.visitorOption.series[0].data.push(o)}),(x=(v=s.sale)==null?void 0:v.date)==null||x.reverse().forEach(o=>{u.saleOption.xAxis.data.push(o)}),(L=(E=(z=($=s.sale)==null?void 0:$.list)==null?void 0:z[0])==null?void 0:E.data)==null||L.forEach(o=>{let d=o;o<=50&&(d={value:o,itemStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:V("#ff8729",.7)},{offset:1,color:"#ff8729"}]}}}),u.saleOption.series[0].data.push(d)})}).catch(s=>{console.log("err",s)})},it=()=>{var e,h,b,i;const s=g.theme;u.visitorOption.series[0].color=s,u.visitorOption.series[0].lineStyle.color=s,u.visitorOption.series[0].areaStyle.color.colorStops=[{offset:0,color:s},{offset:1,color:s}],u.saleOption.series[0].itemStyle.color.colorStops=[{offset:0,color:V(s,.65)},{offset:1,color:s}],(e=H.value)==null||e.clear(),(h=T.value)==null||h.clear(),(b=H.value)==null||b.setOption(u.saleOption),(i=T.value)==null||i.setOption(u.visitorOption)};return St(()=>{G(),R(),N()}),(s,e)=>{var $,z,E,L;const h=nt,b=dt,i=ct,k=pt,m=ut,v=bt,x=mt;return l(),c("div",Ot,[t("header",Ct,[e[4]||(e[4]=t("div",{class:"wb-hero-text"},[t("h1",{class:"wb-hero-title"},"数据工作台"),t("p",{class:"wb-hero-desc"},"医助诊单、订单营收与运营趋势一屏掌握")],-1)),a(h,{type:"primary",icon:f(Q),round:"",class:"wb-refresh-btn",onClick:rt},{default:r(()=>[...e[3]||(e[3]=[C(" 刷新全部 ",-1)])]),_:1},8,["icon"])]),t("section",At,[t("div",Dt,[t("div",Nt,[t("span",$t,[a(b,null,{default:r(()=>[a(f(_t))]),_:1})]),t("div",null,[e[5]||(e[5]=t("div",{class:"wb-section-name"},"订单统计",-1)),t("div",zt,n(ot.value)+" · "+n(_.order_type_name||"—"),1)])]),t("div",Et,[a(k,{modelValue:P.value,"onUpdate:modelValue":e[0]||(e[0]=o=>P.value=o),class:"wb-select wb-select--wide",onChange:N},{default:r(()=>[a(i,{label:"全部(已支付)",value:-1}),a(i,{label:"挂号费",value:1}),a(i,{label:"问诊费",value:2}),a(i,{label:"药品费用",value:3}),a(i,{label:"首付费用",value:4}),a(i,{label:"尾款费用",value:5}),a(i,{label:"其他费用",value:6}),a(i,{label:"全部费用",value:7}),a(i,{label:"驼奶费用",value:8}),a(i,{label:"退款统计",value:0})]),_:1},8,["modelValue"]),a(k,{modelValue: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(Q),circle:"",onClick:N},null,8,["icon"])])]),t("div",Lt,[a(v,{gutter:16,class:"wb-kpi-row"},{default:r(()=>[a(m,{xs:24,sm:8},{default:r(()=>[t("div",Vt,[e[6]||(e[6]=t("div",{class:"wb-kpi-label"},"今日单数",-1)),t("div",Rt,n(_.today_total??0),1)])]),_:1}),a(m,{xs:24,sm:8},{default:r(()=>[t("div",Pt,[e[7]||(e[7]=t("div",{class:"wb-kpi-label"},"今日金额",-1)),t("div",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",Qt,[e[11]||(e[11]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门金额占比")],-1)),et.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"300px"},option:at.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无数据"}))])]),_:1}),a(m,{xs:24,lg:14},{default:r(()=>{var o;return[t("div",Ut,[e[13]||(e[13]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"周期内排行"),t("span",{class:"wb-chart-hint"},"单数 / 金额")],-1)),(o=_.ranking)!=null&&o.length?(l(),c("div",Mt,[(l(!0),c(A,null,D(_.ranking,(d,y)=>(l(),c("div",{key:d.id,class:"wb-ranking-item"},[t("span",jt,n(Number(y)+1),1),t("span",Gt,n(d.name),1),t("span",Jt,[t("b",null,n(d.count),1),e[12]||(e[12]=C(" 单 ",-1)),t("span",Yt,"¥"+n(d.amount),1)])]))),128))])):(l(),w(x,{key:1,description:"暂无排行"}))])]}),_:1})]),_:1}),($=_.departments)!=null&&$.length?(l(),c("div",qt,[e[14]||(e[14]=t("div",{class:"wb-dept-title"},"按部门统计",-1)),a(v,{gutter:16},{default:r(()=>[(l(!0),c(A,null,D(_.departments,o=>(l(),w(m,{key:o.dept_id,xs:24,sm:12,lg:8},{default:r(()=>{var d;return[t("div",Kt,[t("div",Xt,[C(n(o.dept_name)+" ",1),t("span",Zt,n(o.total)+" 单 · ¥"+n(o.amount),1)]),t("div",te,[(l(!0),c(A,null,D(o.members,y=>(l(),c("div",{key:`${o.dept_id}-${y.id}`,class:"wb-dept-row"},[t("span",null,n(y.name),1),t("span",ee,[C(n(y.count)+" ",1),t("small",null,"¥"+n(y.amount),1)])]))),128)),(d=o.members)!=null&&d.length?B("",!0):(l(),c("div",se,"暂无"))])])]}),_:2},1024))),128))]),_:1})])):B("",!0)])]),t("section",ae,[t("div",oe,[t("div",le,[t("span",re,[a(b,null,{default:r(()=>[a(f(ht))]),_:1})]),t("div",null,[e[15]||(e[15]=t("div",{class:"wb-section-name"},"医助理诊单统计",-1)),t("div",ie,n((z=p.date_range)==null?void 0:z[0])+" 至 "+n((E=p.date_range)==null?void 0:E[1]),1)])]),t("div",ne,[a(k,{modelValue:p.days,"onUpdate:modelValue":e[2]||(e[2]=o=>p.days=o),class:"wb-select",onChange:R},{default:r(()=>[a(i,{label:"今天",value:0}),a(i,{label:"最近7天",value:7}),a(i,{label:"最近14天",value:14}),a(i,{label:"最近30天",value:30})]),_:1},8,["modelValue"]),a(h,{icon:f(Q),circle:"",onClick:R},null,8,["icon"])])]),t("div",de,[a(v,{gutter:16,class:"wb-kpi-row"},{default:r(()=>[a(m,{xs:24,sm:8,lg:6},{default:r(()=>[t("div",ce,[e[16]||(e[16]=t("div",{class:"wb-kpi-label"},"今日创建诊单",-1)),t("div",pe,n(p.today_total??0),1),e[17]||(e[17]=t("div",{class:"wb-kpi-hint"},"当日新增总量",-1))])]),_:1}),a(m,{xs:24,sm:16,lg:18},{default:r(()=>{var o;return[t("div",ue,[e[18]||(e[18]=t("span",{class:"wb-rank-strip-label"},"今日排行",-1)),(o=p.today_ranking)!=null&&o.length?(l(),c("div",be,[(l(!0),c(A,null,D(p.today_ranking.slice(0,6),(d,y)=>(l(),c("span",{key:d.id,class:"wb-rank-chip"},[t("em",null,n(y+1),1),C(" "+n(d.name)+" ",1),t("strong",null,n(d.count),1)]))),128))])):(l(),c("span",me,"暂无排行数据"))])]}),_:1})]),_:1}),a(v,{gutter:20,class:"wb-chart-row"},{default:r(()=>[a(m,{xs:24,lg:15},{default:r(()=>{var o;return[t("div",_e,[e[19]||(e[19]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"诊单量分布"),t("span",{class:"wb-chart-hint"},"柱状 + 趋势线")],-1)),(o=p.chart.xAxis)!=null&&o.length?(l(),w(f(O),{key:0,ref_key:"assistantChart",ref:q,class:"wb-chart",style:{height:"340px"},option:Z.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无图表数据"}))])]}),_:1}),a(m,{xs:24,lg:9},{default:r(()=>[t("div",he,[e[20]||(e[20]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门占比"),t("span",{class:"wb-chart-hint"},"按诊单数")],-1)),K.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"340px"},option:X.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无部门数据"}))])]),_:1})]),_:1}),(L=p.departments)!=null&&L.length?(l(),c("div",ye,[e[21]||(e[21]=t("div",{class:"wb-dept-title"},"按部门明细",-1)),a(v,{gutter:16},{default:r(()=>[(l(!0),c(A,null,D(p.departments,o=>(l(),w(m,{key:o.dept_id,xs:24,sm:12,lg:8},{default:r(()=>{var d;return[t("div",we,[t("div",fe,[C(n(o.dept_name)+" ",1),t("span",ve,"共 "+n(o.total),1)]),t("div",ge,[(l(!0),c(A,null,D(o.assistants,y=>(l(),c("div",{key:`${o.dept_id}-${y.id}`,class:"wb-dept-row"},[t("span",null,n(y.name),1),t("span",ke,n(y.count),1)]))),128)),(d=o.assistants)!=null&&d.length?B("",!0):(l(),c("div",xe,"暂无医助"))])])]}),_:2},1024))),128))]),_:1})])):B("",!0)])]),t("section",Se,[t("div",Oe,[t("div",Ce,[t("span",Ae,[a(b,null,{default:r(()=>[a(f(yt))]),_:1})]),e[22]||(e[22]=t("div",null,[t("div",{class:"wb-section-name"},"运营趋势"),t("div",{class:"wb-section-sub"},"访问量与销售额走势")],-1))])]),t("div",De,[a(v,{gutter:20},{default:r(()=>[a(m,{xs:24,lg:14},{default:r(()=>[t("div",Ne,[e[23]||(e[23]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"访问量趋势")],-1)),a(f(O),{ref_key:"visitorChart",ref:T,class:"wb-chart",style:{height:"320px"},option:u.visitorOption,autoresize:!0},null,8,["option"])])]),_:1}),a(m,{xs:24,lg:10},{default:r(()=>[t("div",$e,[e[24]||(e[24]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"销售额趋势"),t("span",{class:"wb-chart-hint"},"单位(万)")],-1)),a(f(O),{ref_key:"saleChart",ref:H,class:"wb-chart",style:{height:"320px"},option:u.saleOption,autoresize:!0},null,8,["option"])])]),_:1})]),_:1})])])])}}}),ks=vt(Ee,[["__scopeId","data-v-2f6eaa33"]]);export{ks as default};
diff --git a/server/public/admin/assets/index-C7rVlwzx.js b/server/public/admin/assets/index-CL6MNqTV.js
similarity index 98%
rename from server/public/admin/assets/index-C7rVlwzx.js
rename to server/public/admin/assets/index-CL6MNqTV.js
index 82b04d88..8c70b549 100644
--- a/server/public/admin/assets/index-C7rVlwzx.js
+++ b/server/public/admin/assets/index-CL6MNqTV.js
@@ -1,5 +1,5 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-Cu8Q4Det.js","assets/element-plus-lurTijPg.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-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-BWcL4HTv.js","assets/index-hTkp7Jz4.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-cWYbZtDX.css","assets/perm-DkI2zRqK.js","assets/DailyMatrix-B7FixtFa.js","assets/picker-CIEIqcz7.js","assets/index-NODwdV06.js","assets/index-B3imPWFk.css","assets/index-DQyvoLLY.js","assets/index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js","assets/index-Qf24LWMn.js","assets/index-D0f1Mn00.css","assets/index-By8JT914.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-CdkUkN_s.js","assets/index.vue_vue_type_script_setup_true_lang-SfFZFG0h.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-C0fu6LYx.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-vL5fks47.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-C-LWSbRs.js","assets/RecordingPlaybackBlock-DkJlXeMs.js","assets/RecordingVideoPlayer-DDmfklnD.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-HSPoCsus.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-t63zNqNL.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-D5ay4wdF.js","assets/doctor-DFHZkvQL.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-Bo3EvlXD.js","assets/patient-rB-xF1_j.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-1oYAhEfs.js","assets/PatientOrderList-Dx28GIXs.css","assets/index-ljSxsacS.js","assets/index-DJDgcnLL.js","assets/medicine-DKZiK12I.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-j-ocBozB.css","assets/edit-B0YJchTk.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]);
-import{_ as Sl,E as Cl}from"./jspdf-BsthCvR5.js";import{G as Ul,F as $l,D as Pl,B as Dl,C as Rl,P as Tl,Q as Ol,i as Al,J as El,L as Ll,M as Fl,N as zl,T as Il,K as jl,a4 as Ml,a5 as Hl,I as Wl,h as ql,R as Yl,e as Bl,V as Gl,a6 as Kl,a7 as Jl,a8 as Ql,g as Xl,r as Zl,U as es}from"./element-plus-lurTijPg.js";import{_ as ts}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{u as as,c as ls,i as S,m as ss,_ as ns}from"./index-hTkp7Jz4.js";import{w as mt,s as we,q as _t}from"./@vue/runtime-dom-DDAG46FW.js";import{g as os,p as rs,b as is,c as ct,d as us,e as ds,f as ps,h as ms,i as _s,j as cs,k as fs,l as gs}from"./tcm-BWcL4HTv.js";import{m as vs}from"./medicine-DKZiK12I.js";import{r as bs}from"./role-BnSMOvSI.js";import{u as ys}from"./usePaging-VsbTxSU0.js";import{_ as xs}from"./index.vue_vue_type_script_setup_true_lang-BL8k8rcl.js";import{M as Jt}from"./index-DJDgcnLL.js";import{T as ks,M as Vs,U as hs,N as ws}from"./@element-plus/icons-vue-HOEUG8sr.js";import{a as Ns}from"./vue-router-QlpZ4wdW.js";import Ss from"./html2canvas-QH1iLAAe.js";import{f as Qt,w as ze,b as Cs,as as Us,ak as m,I as b,a,aN as s,J as r,O as c,F as E,ap as Y,G as k,aP as O,H as y,P as $s,A as $,n as te}from"./@vue/runtime-core-C6bnekPw.js";import{y as j,a as Ps,r as Ne,n as x}from"./@vue/reactivity-DiY1c2vO.js";import{Q as f,o as Ds}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./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"./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 Rs={class:"prescription-list"},Ts={class:"pl-toolbar"},Os={class:"pl-toolbar__line"},As={class:"pl-toolbar__line pl-toolbar__line--second"},Es={class:"pl-toolbar__actions"},Ls={class:"pl-table-head"},Fs={class:"flex items-center gap-2"},zs={class:"mt-3"},Is={class:"font-medium"},js={class:"text-xs text-gray-400 mt-0.5"},Ms={key:1,class:"text-gray-400 text-sm"},Hs={class:"font-medium"},Ws={class:"text-xs text-gray-500 mt-0.5"},qs={class:"flex flex-col gap-1"},Ys={class:"flex flex-wrap items-center gap-1"},Bs={key:0,class:"text-xs text-gray-500"},Gs=["title"],Ks={key:1,class:"text-gray-400"},Js={class:"font-medium"},Qs={class:"text-xs text-gray-500 mt-0.5"},Xs={class:"text-sm"},Zs={class:"flex mt-2 justify-end"},en={key:0,class:"rx-wrap"},tn={class:"rx-toolbar"},an={key:0,class:"rx-status rx-status-danger"},ln={key:1,class:"rx-status rx-status-danger"},sn={key:0,class:"mt-1"},nn={key:2,class:"rx-status rx-status-danger"},on={key:0,class:"mt-1"},rn={class:"rx-notice"},un={class:"rx-notice-meta"},dn={class:"rx-info"},pn={class:"rx-info-row"},mn={class:"rx-info-cell"},_n={class:"rx-val"},cn={class:"rx-info-cell"},fn={class:"rx-val"},gn={class:"rx-info-cell"},vn={class:"rx-val"},bn={class:"rx-info-cell"},yn={class:"rx-val"},xn={class:"rx-info-row rx-info-row-full"},kn={class:"rx-info-cell"},Vn={class:"rx-val"},hn={class:"rx-info-row rx-info-row-full"},wn={class:"rx-info-cell"},Nn={class:"rx-val"},Sn={class:"rx-rp"},Cn={class:"rx-herbs"},Un={class:"rx-herb-name"},$n={class:"rx-herb-total"},Pn={class:"rx-herb-name"},Dn={class:"rx-herb-total"},Rn={class:"rx-text"},Tn={key:0},On={key:1},An={key:2},En={key:3,class:"rx-text-warn"},Ln={key:4,class:"rx-text-warn"},Fn={class:"rx-bottom"},zn={class:"rx-bot-row rx-bot-row-1"},In={class:"rx-bot-cell rx-bot-stack rx-bot-doctor"},jn={class:"rx-bot-doctor-body"},Mn=["src"],Hn={class:"rx-bot-doctor-name"},Wn={class:"rx-bot-cell rx-bot-meta"},qn={class:"rx-bot-meta-val"},Yn={class:"rx-bot-cell rx-bot-meta"},Bn={class:"rx-bot-meta-val"},Gn={class:"rx-bot-cell rx-bot-meta"},Kn={class:"rx-bot-meta-val"},Jn={key:4,class:"rx-audit"},Qn={key:0},Xn={key:0,class:"ml-2 text-gray-400"},Zn={key:1,class:"mt-1"},eo={class:"text-sm mt-1"},to={key:0,class:"text-sm mt-2 text-gray-800 font-medium"},ao={key:5,class:"mb-3 flex flex-wrap items-center gap-2 pl-[120px]"},lo={class:"text-xs text-gray-400"},so={class:"w-full"},no={class:"flex flex-wrap items-center gap-2"},oo={class:"herb-formula-block mt-3"},ro={class:"herb-formula-block__head"},io={class:"herb-formula-block mt-4"},uo={class:"herb-formula-block__head"},po={class:"text-sm mt-1 leading-relaxed"},mo={key:0,class:"mb-1.5"},_o={class:"font-mono text-primary"},co={class:"mb-1.5"},fo={class:"whitespace-pre-wrap"},go={key:1,class:"text-gray-600"},vo={class:"signature-pad-wrap"},bo={class:"signature-actions"},yo={class:"text-gray-700"},xo={class:"create-order-dialog__inner"},ko={key:0,class:"create-order-rx-card"},Vo={class:"create-order-rx-card__head"},ho={class:"create-order-rx-card__meta"},wo={class:"create-order-rx-card__id"},No={key:0,class:"create-order-rx-card__sn"},So={class:"create-order-rx-card__patient"},Co={class:"create-order-step-lead"},Uo={class:"create-order-step-panel"},$o={class:"create-order-step-panel"},Po={class:"flex items-center gap-1 w-full"},Do={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},Ro={class:"flex items-center justify-between"},To={class:"font-medium text-[13px] text-gray-800"},Oo={class:"text-orange-500 font-medium ml-4"},Ao={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},Eo={class:"truncate pr-2"},Lo={class:"shrink-0"},Fo={class:"create-order-pay-hint text-gray-500"},zo={class:"text-amber-600 font-medium"},Io={class:"create-order-step-panel"},jo={class:"create-order-deposit-bar__cell"},Mo={class:"create-order-deposit-bar__sub"},Ho={class:"create-order-deposit-bar__cell"},Wo={class:"create-order-deposit-bar__sub"},qo={class:"create-order-footer"},Yo={class:"create-order-footer__hint"},Bo={class:"create-order-footer__step"},Go={key:0,class:"create-order-footer__warn"},Ko={class:"create-order-footer__actions"},Jo={class:"mb-4 flex gap-3"},Qo={class:"mb-3 flex flex-wrap items-center gap-x-4 gap-y-2"},Xo={key:0},Zo={key:1,class:"text-gray-400"},er={class:"flex justify-end mt-4"},tr={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},ar=Qt({name:"prescriptionList"}),lr=Qt({...ar,setup(sr){const Xt=$s(()=>Sl(()=>import("./edit-Cu8Q4Det.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])));function Se(t="浓缩水丸"){return t==="饮片"?{dosage_amount:50,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:t==="浓缩水丸"?{dosage_amount:5,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:{dosage_amount:1,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}}function ft(t,e){const o=Se(e);if(!t||typeof t!="object")return{...o};const u=t;return{dosage_amount:u.dosage_amount!==null&&u.dosage_amount!==void 0&&u.dosage_amount!==""?Number(u.dosage_amount):o.dosage_amount,dosage_bag_count:u.dosage_bag_count!=null?Number(u.dosage_bag_count)||1:o.dosage_bag_count,need_decoction:u.need_decoction===1||u.need_decoction===!0,bags_per_dose:u.bags_per_dose!=null?Number(u.bags_per_dose)||1:o.bags_per_dose,times_per_day:u.times_per_day!=null?Number(u.times_per_day)||3:o.times_per_day,usage_days:u.usage_days!=null?Number(u.usage_days)||7:o.usage_days,prescription_name:String(u.prescription_name??"").trim()}}function gt(t,e,o){const u=t.prescription_type||"浓缩水丸",p=Number(t.times_per_day)>0?Number(t.times_per_day):3,d=t.dosage_amount!=null?Number(t.dosage_amount):10,i=t.dosage_unit||(u==="饮片"?"ml":"g"),V=t.usage_way||e||"温水送服",L=t.usage_time||o||"",v=[];if(v.push(`每天${p}次`),u==="浓缩水丸"){const K=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;v.push(`一次${K}袋`),v.push(`每袋${d}${i}`)}else v.push(`一次${d}${i}`);return v.push(V),L&&v.push(L),v.join(", ")}function W(t){return t==="辅方"?"辅方":"主方"}function Ie(t){return{name:String((t==null?void 0:t.name)??"").trim(),dosage:Number(t==null?void 0:t.dosage)||0,formula_type:W(t==null?void 0:t.formula_type)}}function je(t){return t?Array.isArray(t)?t.map(e=>Ie(e)):[]:[]}const ie=as(),vt=Ns();function Zt(){const t=vt.getRoutes().find(e=>{var o;return((o=e.meta)==null?void 0:o.perms)==="tcm.prescriptionOrder/lists"});t!=null&&t.path?vt.push(t.path):S.msgWarning("未配置「处方业务订单」菜单,请在权限管理中执行菜单 SQL 或手动添加路由")}const w=Ne({sn:"",patient_name:"",creator_ids:[],audit_filter:"all",source_filter:"all",start_time:"",end_time:""}),Me=x([]),B=x("all"),J=x(!1),R=x("add"),He=x(!1),X=x(),G=x(),ue=x(null),ae=560,le=168,g=x(null),We=x(!1),bt=x([]),de=x(!1),yt=x(0),se=x(""),Ce=x(!1),pe=x(!1),qe=x(!1),Ye=x(),P=Ne({id:0,patient_name:"",gender:1,phone:""}),ea={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function ta(t){P.id=Number(t.id)||0,P.patient_name=String(t.patient_name??"").trim();const e=Number(t.gender);P.gender=e===0||e===1?e:1,P.phone=String(t.phone??"").trim(),pe.value=!0}function aa(){var t;P.id=0,P.patient_name="",P.gender=1,P.phone="",(t=Ye.value)==null||t.clearValidate()}async function la(){const t=Ye.value;if(t){try{await t.validate()}catch{return}qe.value=!0;try{await rs({id:P.id,patient_name:P.patient_name.trim(),phone:P.phone.trim(),gender:P.gender}),S.msgSuccess("已保存"),pe.value=!1,Z()}catch(e){const o=e&&typeof e=="object"&&"msg"in e?String(e.msg):"";S.msgError(o||"保存失败")}finally{qe.value=!1}}}const me=x(!1),T=x(0),sa=$(()=>["请核对诊单患者并填写完整收货信息,便于发货与物流联系。","按需填写服务相关信息,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;提交前请对照定金门槛是否已满足。"][T.value]??""),na=["patient_id","recipient_name","recipient_phone","region","shipping_address"],q=x(null),_e=x(),Be=x(!1),Ge=x(!1),Q=x([]),ne=x([]),Ke=x(!1),D=x(0);function oe(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function xt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const _=Ne({patient_id:"",recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",fee_type:3,amount:0,internal_cost:void 0,remark_extra:"",remark_assistant:"",pay_order_ids:[]}),ce=x([]),Je=x([]),oa=t=>t.map(e=>{var o;return{name:e.province,code:e.code,children:((o=e.citys)==null?void 0:o.map(u=>{var p;return{name:u.city,code:u.code,children:((p=u.areas)==null?void 0:p.map(d=>({name:d.area,code:d.code})))||[]}}))||[]}}),ra=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 o=await e.json();console.log("加载的数据条数:",o==null?void 0:o.length),ce.value=oa(o),console.log("regionOptions 已设置,条数:",ce.value.length)}catch(t){console.error("加载省市区数据失败:",t),ce.value=[{name:"四川省",children:[{name:"成都市",children:[{name:"锦江区"},{name:"青羊区"},{name:"金牛区"},{name:"武侯区"},{name:"成华区"},{name:"龙泉驿区"},{name:"青白江区"},{name:"新都区"},{name:"温江区"},{name:"双流区"}]},{name:"绵阳市",children:[{name:"涪城区"},{name:"游仙区"},{name:"安州区"}]}]},{name:"北京市",children:[{name:"北京市",children:[{name:"东城区"},{name:"西城区"},{name:"朝阳区"},{name:"丰台区"},{name:"海淀区"}]}]},{name:"上海市",children:[{name:"上海市",children:[{name:"黄浦区"},{name:"徐汇区"},{name:"长宁区"},{name:"静安区"},{name:"普陀区"}]}]},{name:"广东省",children:[{name:"广州市",children:[{name:"荔湾区"},{name:"越秀区"},{name:"海珠区"},{name:"天河区"},{name:"白云区"}]},{name:"深圳市",children:[{name:"罗湖区"},{name:"福田区"},{name:"南山区"},{name:"宝安区"}]}]}],console.log("使用后备数据,条数:",ce.value.length)}},ia=async()=>{try{const t=await ss({type:"server_order"});Je.value=((t==null?void 0:t.server_order)||[]).filter(e=>e.status!==0)}catch{Je.value=[]}},ua=t=>{console.log("选择的省市区:",t)},Qe=$(()=>{const t=new Set(_.pay_order_ids.map(o=>Number(o)));let e=0;for(const o of ne.value)t.has(Number(o.id))&&(e+=Number(o.amount)||0);return Math.round(e*100)/100}),da=$(()=>{const t=D.value;return t>0?Math.round(t*100)/100:0}),pa=$(()=>{const t={patient_id:[{required:!0,message:"请选择诊单患者",trigger:"change"}],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,o,u)=>{const p=D.value,d=Number(o);if(p>0&&(!Number.isFinite(d)||d
${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 U(e);Object.assign(r,t||{})}catch(e){console.error("获取业绩数据失败:",e),q.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 j(()=>{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(J),{key:0,class:"stats-chart",option:F.value,autoresize:""},null,8,["option"])):(u(),y(O,{key:1,description:"暂无数据"}))]),_:1})])}}}),jt=Z(nt,[["__scopeId","data-v-297158c8"]]);export{jt 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 q}from"./element-plus-lurTijPg.js";import{H as J}from"./vue-echarts-BNtg2q_G.js";import{q as U}from"./stats-CDvKN6s6.js";import{f as V,b as j,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-DF1MLuL8.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./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 U(e);Object.assign(r,t||{})}catch(e){console.error("获取业绩数据失败:",e),q.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 j(()=>{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(J),{key:0,class:"stats-chart",option:F.value,autoresize:""},null,8,["option"])):(u(),y(O,{key:1,description:"暂无数据"}))]),_:1})])}}}),jt=Z(nt,[["__scopeId","data-v-297158c8"]]);export{jt as default};
diff --git a/server/public/admin/assets/index-BfvFNelm.js b/server/public/admin/assets/index-qC9beHcQ.js
similarity index 94%
rename from server/public/admin/assets/index-BfvFNelm.js
rename to server/public/admin/assets/index-qC9beHcQ.js
index aab497b4..bcc29b8d 100644
--- a/server/public/admin/assets/index-BfvFNelm.js
+++ b/server/public/admin/assets/index-qC9beHcQ.js
@@ -1 +1 @@
-import{D as ue,B as pe,C as de,R as me,i as _e,J as fe,m as ce,l as ge,M as ye,N as ve,v as be,S as ke,T as Ve,L as Ee,U as we,G as xe,I as Ce,P as Re,Q as Ue,V as Se,E as k,a as De}from"./element-plus-lurTijPg.js";import{w as ze}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Te,b as Ae,c as Le,d as Oe,e as Pe}from"./asset-DsYnGE6U.js";import{_ as Be}from"./picker-CIEIqcz7.js";import{U as j}from"./index-By8JT914.js";import{f as Ie,b as he,ak as r,I as V,a as t,aN as l,O as s,J as D,aP as Me,G as p,H as E,F as Ne,ap as je,A as Fe}from"./@vue/runtime-core-C6bnekPw.js";import{Q as z}from"./@vue/shared-mAAVTE9n.js";import{n as m,r as T}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.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-hTkp7Jz4.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-NODwdV06.js";import"./index-DQyvoLLY.js";import"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import"./index-Qf24LWMn.js";import"./index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js";import"./file-CdkUkN_s.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"./cos-js-sdk-v5-DSMN0LUT.js";const qe={class:"asset-resource-container"},Ye={class:"mb-4"},Ge={key:1},Qe={class:"mt-4 flex justify-end"},$e=["title"],Jt=Ie({__name:"index",setup(Je){const w=m(!1),A=m([]),L=m(0),n=T({title:"",dateRange:[]}),u=T({type:"1",page_no:1,page_size:15}),y=m(!1),x=m(!1),C=m(),_=m(!1),R=m(0),O=m([]),i=T({type:1,title:"",file_url:"",cover_url:"",user_ids:[]}),F=Fe(()=>_.value?{title:[{required:!0,message:"请输入标题",trigger:"blur"}]}:{title:[{required:!0,message:"请输入标题",trigger:"blur"}],file_url:[{required:!0,message:"请输入或上传文件获取链接",trigger:"blur"}]}),q=()=>{const o={...u};return n.title&&(o.title=n.title),n.dateRange&&n.dateRange.length===2&&(o.start_time=n.dateRange[0],o.end_time=n.dateRange[1]),o},f=async()=>{w.value=!0;try{const o=await Te(q());A.value=o.lists,L.value=o.count}catch(o){console.error(o)}finally{w.value=!1}},P=async()=>{try{const o=await Pe({page_no:1,page_size:9999});O.value=o.lists}catch(o){console.error(o)}},B=()=>{u.page_no=1,f()},Y=()=>{n.title="",n.dateRange=[],u.page_no=1,f()},G=()=>{u.page_no=1,f()},Q=()=>{_.value=!1,R.value=0,Object.assign(i,{type:parseInt(u.type),title:"",file_url:"",cover_url:"",user_ids:[]}),P(),y.value=!0},$=o=>{var e;_.value=!0,R.value=o.id,Object.assign(i,{type:o.type,title:o.title,file_url:o.file_url,cover_url:o.cover_url||"",user_ids:((e=o.users)==null?void 0:e.map(c=>c.id))||[]}),P(),y.value=!0},I=o=>{var e,c;i.file_url=((e=o==null?void 0:o.data)==null?void 0:e.uri)||((c=o==null?void 0:o.data)==null?void 0:c.url)||"",k.success("上传成功")},J=async o=>{try{await De.confirm("确定要删除该资源吗?用户将无法再看到。","提示",{type:"warning"}),await Ae({id:o.id}),k.success("删除成功"),f()}catch{}},K=async()=>{C.value&&await C.value.validate(async o=>{if(o){x.value=!0;try{_.value?(await Le({id:R.value,title:i.title,user_ids:i.user_ids}),k.success("编辑成功")):(await Oe(i),k.success("上传分发成功")),y.value=!1,f()}catch(e){console.error(e)}finally{x.value=!1}}})};return he(()=>{f()}),(o,e)=>{const c=de,g=pe,H=me,d=_e,h=ue,M=fe,U=ge,W=ce,v=ve,X=be,Z=ke,ee=Ve,te=ye,le=we,S=Ce,ae=xe,oe=Ue,ie=Re,re=Se,se=Ee;return r(),V("div",qe,[t(M,{class:"!border-none",shadow:"never"},{default:l(()=>[t(h,{class:"ls-form",model:n,inline:""},{default:l(()=>[t(g,{class:"w-[280px]",label:"标题"},{default:l(()=>[t(c,{placeholder:"请输入标题关键词",modelValue:n.title,"onUpdate:modelValue":e[0]||(e[0]=a=>n.title=a),clearable:"",onKeyup:ze(B,["enter"])},null,8,["modelValue"])]),_:1}),t(g,{label:"上传时间"},{default:l(()=>[t(H,{modelValue:n.dateRange,"onUpdate:modelValue":e[1]||(e[1]=a=>n.dateRange=a),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:"",style:{width:"280px"}},null,8,["modelValue"])]),_:1}),t(g,null,{default:l(()=>[t(d,{type:"primary",onClick:B},{default:l(()=>[...e[11]||(e[11]=[s("查询",-1)])]),_:1}),t(d,{onClick:Y},{default:l(()=>[...e[12]||(e[12]=[s("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(M,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[D("div",Ye,[t(d,{type:"primary",onClick:Q},{default:l(()=>[...e[13]||(e[13]=[s("上传资源",-1)])]),_:1})]),t(W,{modelValue:u.type,"onUpdate:modelValue":e[2]||(e[2]=a=>u.type=a),onTabChange:G},{default:l(()=>[t(U,{label:"图片",name:"1"}),t(U,{label:"视频",name:"2"}),t(U,{label:"语音",name:"3"})]),_:1},8,["modelValue"]),Me((r(),p(te,{data:A.value},{default:l(()=>[t(v,{prop:"title",label:"标题","min-width":"80"}),t(v,{label:"预览",width:"100"},{default:l(({row:a})=>[a.type==1?(r(),p(X,{key:0,src:a.file_url,style:{width:"50px",height:"50px"},"preview-src-list":[a.file_url],"preview-teleported":""},null,8,["src","preview-src-list"])):(r(),p(Z,{key:1,href:a.file_url,target:"_blank",type:"primary"},{default:l(()=>[...e[14]||(e[14]=[s("点击预览",-1)])]),_:1},8,["href"]))]),_:1}),t(v,{label:"关联账号","min-width":"150","show-overflow-tooltip":""},{default:l(({row:a})=>{var b,N;return[(b=a.users)!=null&&b.length?(r(),V("span",Ge,z((N=a.users)==null?void 0:N.map(ne=>ne.phone).join(", ")),1)):(r(),p(ee,{key:0,type:"info",size:"small"},{default:l(()=>[...e[15]||(e[15]=[s("公开资源",-1)])]),_:1}))]}),_:1}),t(v,{prop:"create_time",label:"上传时间",width:"180"}),t(v,{label:"操作",width:"150",fixed:"right"},{default:l(({row:a})=>[t(d,{type:"primary",link:"",onClick:b=>$(a)},{default:l(()=>[...e[16]||(e[16]=[s("编辑",-1)])]),_:1},8,["onClick"]),t(d,{type:"danger",link:"",onClick:b=>J(a)},{default:l(()=>[...e[17]||(e[17]=[s("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[se,w.value]]),D("div",Qe,[t(le,{"current-page":u.page_no,"onUpdate:currentPage":e[3]||(e[3]=a=>u.page_no=a),"page-size":u.page_size,"onUpdate:pageSize":e[4]||(e[4]=a=>u.page_size=a),total:L.value,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:f,onCurrentChange:f},null,8,["current-page","page-size","total"])])]),_:1}),t(re,{modelValue:y.value,"onUpdate:modelValue":e[10]||(e[10]=a=>y.value=a),title:_.value?"编辑资源":"新增分发资源",width:"600px","destroy-on-close":""},{footer:l(()=>[t(d,{onClick:e[9]||(e[9]=a=>y.value=!1)},{default:l(()=>[...e[24]||(e[24]=[s("取消",-1)])]),_:1}),t(d,{type:"primary",onClick:K,loading:x.value},{default:l(()=>[s(z(_.value?"保存修改":"确定发布"),1)]),_:1},8,["loading"])]),default:l(()=>[t(h,{ref_key:"formRef",ref:C,model:i,rules:F.value,"label-width":"100px"},{default:l(()=>[_.value?E("",!0):(r(),p(g,{key:0,label:"资源类型",prop:"type"},{default:l(()=>[t(ae,{modelValue:i.type,"onUpdate:modelValue":e[5]||(e[5]=a=>i.type=a)},{default:l(()=>[t(S,{label:1},{default:l(()=>[...e[18]||(e[18]=[s("图片",-1)])]),_:1}),t(S,{label:2},{default:l(()=>[...e[19]||(e[19]=[s("视频",-1)])]),_:1}),t(S,{label:3},{default:l(()=>[...e[20]||(e[20]=[s("语音",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})),t(g,{label:"标题",prop:"title"},{default:l(()=>[t(c,{modelValue:i.title,"onUpdate:modelValue":e[6]||(e[6]=a=>i.title=a),placeholder:"请输入资源标题"},null,8,["modelValue"])]),_:1}),_.value?E("",!0):(r(),p(g,{key:1,label:"资源文件",prop:"file_url"},{default:l(()=>[i.type===1?(r(),p(Be,{key:0,modelValue:i.file_url,"onUpdate:modelValue":e[7]||(e[7]=a=>i.file_url=a),limit:1,type:"image"},null,8,["modelValue"])):i.type===2?(r(),p(j,{key:1,type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:I},{default:l(()=>[t(d,{type:"primary"},{default:l(()=>[...e[21]||(e[21]=[s("上传视频 (OSS直传)",-1)])]),_:1})]),_:1})):i.type===3?(r(),p(j,{key:2,type:"voice",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:I},{default:l(()=>[t(d,{type:"primary"},{default:l(()=>[...e[22]||(e[22]=[s("上传语音 (OSS直传)",-1)])]),_:1})]),_:1})):E("",!0),i.file_url&&i.type!==1?(r(),V("div",{key:3,class:"ml-4 text-primary truncate max-w-xs",title:i.file_url}," 已上传: "+z(i.file_url),9,$e)):E("",!0)]),_:1})),t(g,{label:"关联账号",prop:"user_ids"},{default:l(()=>[t(ie,{modelValue:i.user_ids,"onUpdate:modelValue":e[8]||(e[8]=a=>i.user_ids=a),multiple:"",filterable:"",placeholder:"不选择则为公开资源",clearable:"",style:{width:"100%"}},{default:l(()=>[(r(!0),V(Ne,null,je(O.value,a=>(r(),p(oe,{key:a.id,label:a.phone,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e[23]||(e[23]=D("div",{style:{"font-size":"12px",color:"#909399","margin-top":"4px"}},"不选择账号则资源为公开资源,所有人可见",-1))]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}});export{Jt as default};
+import{D as ue,B as pe,C as de,R as me,i as _e,J as fe,m as ce,l as ge,M as ye,N as ve,v as be,S as ke,T as Ve,L as Ee,U as we,G as xe,I as Ce,P as Re,Q as Ue,V as Se,E as k,a as De}from"./element-plus-lurTijPg.js";import{w as ze}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Te,b as Ae,c as Le,d as Oe,e as Pe}from"./asset-DfzLQAAa.js";import{_ as Be}from"./picker-BPfrB1Pn.js";import{U as j}from"./index-_ERDssCQ.js";import{f as Ie,b as he,ak as r,I as V,a as t,aN as l,O as s,J as D,aP as Me,G as p,H as E,F as Ne,ap as je,A as Fe}from"./@vue/runtime-core-C6bnekPw.js";import{Q as z}from"./@vue/shared-mAAVTE9n.js";import{n as m,r as T}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.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-DF1MLuL8.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-CnpV87Ke.js";import"./index-BP_YKY_y.js";import"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import"./index-mDy9ToMf.js";import"./index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js";import"./file-BdGKYRpa.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"./cos-js-sdk-v5-DSMN0LUT.js";const qe={class:"asset-resource-container"},Ye={class:"mb-4"},Ge={key:1},Qe={class:"mt-4 flex justify-end"},$e=["title"],Jt=Ie({__name:"index",setup(Je){const w=m(!1),A=m([]),L=m(0),n=T({title:"",dateRange:[]}),u=T({type:"1",page_no:1,page_size:15}),y=m(!1),x=m(!1),C=m(),_=m(!1),R=m(0),O=m([]),i=T({type:1,title:"",file_url:"",cover_url:"",user_ids:[]}),F=Fe(()=>_.value?{title:[{required:!0,message:"请输入标题",trigger:"blur"}]}:{title:[{required:!0,message:"请输入标题",trigger:"blur"}],file_url:[{required:!0,message:"请输入或上传文件获取链接",trigger:"blur"}]}),q=()=>{const o={...u};return n.title&&(o.title=n.title),n.dateRange&&n.dateRange.length===2&&(o.start_time=n.dateRange[0],o.end_time=n.dateRange[1]),o},f=async()=>{w.value=!0;try{const o=await Te(q());A.value=o.lists,L.value=o.count}catch(o){console.error(o)}finally{w.value=!1}},P=async()=>{try{const o=await Pe({page_no:1,page_size:9999});O.value=o.lists}catch(o){console.error(o)}},B=()=>{u.page_no=1,f()},Y=()=>{n.title="",n.dateRange=[],u.page_no=1,f()},G=()=>{u.page_no=1,f()},Q=()=>{_.value=!1,R.value=0,Object.assign(i,{type:parseInt(u.type),title:"",file_url:"",cover_url:"",user_ids:[]}),P(),y.value=!0},$=o=>{var e;_.value=!0,R.value=o.id,Object.assign(i,{type:o.type,title:o.title,file_url:o.file_url,cover_url:o.cover_url||"",user_ids:((e=o.users)==null?void 0:e.map(c=>c.id))||[]}),P(),y.value=!0},I=o=>{var e,c;i.file_url=((e=o==null?void 0:o.data)==null?void 0:e.uri)||((c=o==null?void 0:o.data)==null?void 0:c.url)||"",k.success("上传成功")},J=async o=>{try{await De.confirm("确定要删除该资源吗?用户将无法再看到。","提示",{type:"warning"}),await Ae({id:o.id}),k.success("删除成功"),f()}catch{}},K=async()=>{C.value&&await C.value.validate(async o=>{if(o){x.value=!0;try{_.value?(await Le({id:R.value,title:i.title,user_ids:i.user_ids}),k.success("编辑成功")):(await Oe(i),k.success("上传分发成功")),y.value=!1,f()}catch(e){console.error(e)}finally{x.value=!1}}})};return he(()=>{f()}),(o,e)=>{const c=de,g=pe,H=me,d=_e,h=ue,M=fe,U=ge,W=ce,v=ve,X=be,Z=ke,ee=Ve,te=ye,le=we,S=Ce,ae=xe,oe=Ue,ie=Re,re=Se,se=Ee;return r(),V("div",qe,[t(M,{class:"!border-none",shadow:"never"},{default:l(()=>[t(h,{class:"ls-form",model:n,inline:""},{default:l(()=>[t(g,{class:"w-[280px]",label:"标题"},{default:l(()=>[t(c,{placeholder:"请输入标题关键词",modelValue:n.title,"onUpdate:modelValue":e[0]||(e[0]=a=>n.title=a),clearable:"",onKeyup:ze(B,["enter"])},null,8,["modelValue"])]),_:1}),t(g,{label:"上传时间"},{default:l(()=>[t(H,{modelValue:n.dateRange,"onUpdate:modelValue":e[1]||(e[1]=a=>n.dateRange=a),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:"",style:{width:"280px"}},null,8,["modelValue"])]),_:1}),t(g,null,{default:l(()=>[t(d,{type:"primary",onClick:B},{default:l(()=>[...e[11]||(e[11]=[s("查询",-1)])]),_:1}),t(d,{onClick:Y},{default:l(()=>[...e[12]||(e[12]=[s("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(M,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[D("div",Ye,[t(d,{type:"primary",onClick:Q},{default:l(()=>[...e[13]||(e[13]=[s("上传资源",-1)])]),_:1})]),t(W,{modelValue:u.type,"onUpdate:modelValue":e[2]||(e[2]=a=>u.type=a),onTabChange:G},{default:l(()=>[t(U,{label:"图片",name:"1"}),t(U,{label:"视频",name:"2"}),t(U,{label:"语音",name:"3"})]),_:1},8,["modelValue"]),Me((r(),p(te,{data:A.value},{default:l(()=>[t(v,{prop:"title",label:"标题","min-width":"80"}),t(v,{label:"预览",width:"100"},{default:l(({row:a})=>[a.type==1?(r(),p(X,{key:0,src:a.file_url,style:{width:"50px",height:"50px"},"preview-src-list":[a.file_url],"preview-teleported":""},null,8,["src","preview-src-list"])):(r(),p(Z,{key:1,href:a.file_url,target:"_blank",type:"primary"},{default:l(()=>[...e[14]||(e[14]=[s("点击预览",-1)])]),_:1},8,["href"]))]),_:1}),t(v,{label:"关联账号","min-width":"150","show-overflow-tooltip":""},{default:l(({row:a})=>{var b,N;return[(b=a.users)!=null&&b.length?(r(),V("span",Ge,z((N=a.users)==null?void 0:N.map(ne=>ne.phone).join(", ")),1)):(r(),p(ee,{key:0,type:"info",size:"small"},{default:l(()=>[...e[15]||(e[15]=[s("公开资源",-1)])]),_:1}))]}),_:1}),t(v,{prop:"create_time",label:"上传时间",width:"180"}),t(v,{label:"操作",width:"150",fixed:"right"},{default:l(({row:a})=>[t(d,{type:"primary",link:"",onClick:b=>$(a)},{default:l(()=>[...e[16]||(e[16]=[s("编辑",-1)])]),_:1},8,["onClick"]),t(d,{type:"danger",link:"",onClick:b=>J(a)},{default:l(()=>[...e[17]||(e[17]=[s("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[se,w.value]]),D("div",Qe,[t(le,{"current-page":u.page_no,"onUpdate:currentPage":e[3]||(e[3]=a=>u.page_no=a),"page-size":u.page_size,"onUpdate:pageSize":e[4]||(e[4]=a=>u.page_size=a),total:L.value,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:f,onCurrentChange:f},null,8,["current-page","page-size","total"])])]),_:1}),t(re,{modelValue:y.value,"onUpdate:modelValue":e[10]||(e[10]=a=>y.value=a),title:_.value?"编辑资源":"新增分发资源",width:"600px","destroy-on-close":""},{footer:l(()=>[t(d,{onClick:e[9]||(e[9]=a=>y.value=!1)},{default:l(()=>[...e[24]||(e[24]=[s("取消",-1)])]),_:1}),t(d,{type:"primary",onClick:K,loading:x.value},{default:l(()=>[s(z(_.value?"保存修改":"确定发布"),1)]),_:1},8,["loading"])]),default:l(()=>[t(h,{ref_key:"formRef",ref:C,model:i,rules:F.value,"label-width":"100px"},{default:l(()=>[_.value?E("",!0):(r(),p(g,{key:0,label:"资源类型",prop:"type"},{default:l(()=>[t(ae,{modelValue:i.type,"onUpdate:modelValue":e[5]||(e[5]=a=>i.type=a)},{default:l(()=>[t(S,{label:1},{default:l(()=>[...e[18]||(e[18]=[s("图片",-1)])]),_:1}),t(S,{label:2},{default:l(()=>[...e[19]||(e[19]=[s("视频",-1)])]),_:1}),t(S,{label:3},{default:l(()=>[...e[20]||(e[20]=[s("语音",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})),t(g,{label:"标题",prop:"title"},{default:l(()=>[t(c,{modelValue:i.title,"onUpdate:modelValue":e[6]||(e[6]=a=>i.title=a),placeholder:"请输入资源标题"},null,8,["modelValue"])]),_:1}),_.value?E("",!0):(r(),p(g,{key:1,label:"资源文件",prop:"file_url"},{default:l(()=>[i.type===1?(r(),p(Be,{key:0,modelValue:i.file_url,"onUpdate:modelValue":e[7]||(e[7]=a=>i.file_url=a),limit:1,type:"image"},null,8,["modelValue"])):i.type===2?(r(),p(j,{key:1,type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:I},{default:l(()=>[t(d,{type:"primary"},{default:l(()=>[...e[21]||(e[21]=[s("上传视频 (OSS直传)",-1)])]),_:1})]),_:1})):i.type===3?(r(),p(j,{key:2,type:"voice",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:I},{default:l(()=>[t(d,{type:"primary"},{default:l(()=>[...e[22]||(e[22]=[s("上传语音 (OSS直传)",-1)])]),_:1})]),_:1})):E("",!0),i.file_url&&i.type!==1?(r(),V("div",{key:3,class:"ml-4 text-primary truncate max-w-xs",title:i.file_url}," 已上传: "+z(i.file_url),9,$e)):E("",!0)]),_:1})),t(g,{label:"关联账号",prop:"user_ids"},{default:l(()=>[t(ie,{modelValue:i.user_ids,"onUpdate:modelValue":e[8]||(e[8]=a=>i.user_ids=a),multiple:"",filterable:"",placeholder:"不选择则为公开资源",clearable:"",style:{width:"100%"}},{default:l(()=>[(r(!0),V(Ne,null,je(O.value,a=>(r(),p(oe,{key:a.id,label:a.phone,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e[23]||(e[23]=D("div",{style:{"font-size":"12px",color:"#909399","margin-top":"4px"}},"不选择账号则资源为公开资源,所有人可见",-1))]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}});export{Jt as default};
diff --git a/server/public/admin/assets/index-B82mf6yS.js b/server/public/admin/assets/index-ziLshuYJ.js
similarity index 95%
rename from server/public/admin/assets/index-B82mf6yS.js
rename to server/public/admin/assets/index-ziLshuYJ.js
index 88f478c5..acc6045d 100644
--- a/server/public/admin/assets/index-B82mf6yS.js
+++ b/server/public/admin/assets/index-ziLshuYJ.js
@@ -1,2 +1,2 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-Cu8Q4Det.js","assets/element-plus-lurTijPg.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-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-BWcL4HTv.js","assets/index-hTkp7Jz4.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-cWYbZtDX.css","assets/perm-DkI2zRqK.js","assets/DailyMatrix-B7FixtFa.js","assets/picker-CIEIqcz7.js","assets/index-NODwdV06.js","assets/index-B3imPWFk.css","assets/index-DQyvoLLY.js","assets/index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js","assets/index-Qf24LWMn.js","assets/index-D0f1Mn00.css","assets/index-By8JT914.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-CdkUkN_s.js","assets/index.vue_vue_type_script_setup_true_lang-SfFZFG0h.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-C0fu6LYx.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-vL5fks47.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-C-LWSbRs.js","assets/RecordingPlaybackBlock-DkJlXeMs.js","assets/RecordingVideoPlayer-DDmfklnD.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-HSPoCsus.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-t63zNqNL.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-D5ay4wdF.js","assets/doctor-DFHZkvQL.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-Bo3EvlXD.js","assets/patient-rB-xF1_j.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-1oYAhEfs.js","assets/PatientOrderList-Dx28GIXs.css","assets/index-ljSxsacS.js","assets/index-DJDgcnLL.js","assets/medicine-DKZiK12I.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-j-ocBozB.css","assets/edit-B0YJchTk.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-kL52KetM.js","assets/appointment-CaxZ1iHL.js","assets/appointment-B5q1nzzB.css","assets/AssistantWatchCallDialog-43mUGlZ0.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css"])))=>i.map(i=>d[i]);
-import{_ as _e}from"./jspdf-BsthCvR5.js";import{R as ga,C as fa,i as va,d as ya,P as ha,Q as ka,J as ba,M as Ca,N as xa,T as Va,r as Da,p as Aa,n as Ea,o as wa,L as Ra,W as Ia,ac as $a,ad as Sa,e as La,V as Na,D as za,B as Pa,H as Ta,h as Wa,aa as Fa,ab as Ma,Y as Ya,v as Oa}from"./element-plus-lurTijPg.js";import{_ as Ua}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{w as yt,q as qa,s as Ze}from"./@vue/runtime-dom-DDAG46FW.js";import{aj as M,a as Qa,K as Ba,ak as Se,al as Ha,am as Ga,Y as ht,an as kt,ao as Ka,ap as ja,aq as Ja,ar as Xa}from"./tcm-BWcL4HTv.js";import{i as Za}from"./order-BAV7DCyD.js";import{m as bt}from"./doctor-DFHZkvQL.js";import{u as es}from"./usePaging-VsbTxSU0.js";import{u as ts,m as Ct,i as g,_ as ns}from"./index-hTkp7Jz4.js";import{g as xt}from"./weapp-BmlcC_IL.js";import{h as Y}from"./perm-DkI2zRqK.js";import{e as Vt,X as as,ab as ss,O as Dt,b as is,a7 as ls,G as os,H as ds,l as rs}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as us,a as ms}from"./vue-router-QlpZ4wdW.js";import{d as Le}from"./dayjs-DG77mNTn.js";import{f as At,w as ps,b as cs,d as _s,as as gs,ak as o,I as u,a as i,aN as s,J as d,F as E,ap as S,O as m,H as C,aP as R,G as f,P as ge,A as X}from"./@vue/runtime-core-C6bnekPw.js";import{o as O,Q as p}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as B,r as et,n as c}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"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.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 fs={class:"tcm-diagnosis"},vs={class:"filter-main"},ys={class:"date-chips"},hs=["onClick"],ks={key:0},bs={key:0},Cs={key:0},xs={class:"pending-assign-wrap"},Vs={key:0},Ds={class:"search-row"},As={class:"filter-chips"},Es=["onClick"],ws=["onClick"],Rs={class:"filter-more"},Is={class:"list-header"},$s={class:"list-actions"},Ss={key:0,class:"list-selected"},Ls={class:"table-wrap px-4"},Ns={class:"patient-cell"},zs={class:"patient-info"},Ps={class:"patient-name"},Ts={class:"patient-cell"},Ws={class:"patient-info"},Fs={class:"patient-name"},Ms={class:"apt-badge"},Ys={class:"apt-doctor"},Os={class:"apt-time"},Us={key:0,class:"apt-actions"},qs={class:"apt-badge"},Qs={class:"apt-doctor"},Bs={class:"apt-time"},Hs={key:1,class:"apt-none"},Gs={key:0,class:"status-confirmed"},Ks={key:1,class:"status-unconfirmed"},js={key:0,class:"followup-cell"},Js={class:"followup-time"},Xs={class:"followup-doctor"},Zs={key:1,class:"followup-none"},ei={class:"assistant-cell"},ti={key:0,class:"status-prescribed"},ni={key:1,class:"status-unprescribed"},ai={key:1,class:"unserved-days unserved-muted"},si={class:"video-watch-col"},ii={class:"video-watch-trigger"},li={key:1,class:"video-watch-muted"},oi={key:1,class:"video-watch-muted"},di={class:"pagination-wrap"},ri={class:"min-h-[100px]"},ui={key:0,class:"text-sm text-gray-600 mb-4 pb-3 border-b border-gray-100"},mi={class:"font-medium text-gray-800"},pi={class:"flex flex-wrap items-center gap-2"},ci={class:"text-sm font-medium text-gray-800"},_i={class:"text-xs text-gray-600 mt-1.5 leading-relaxed"},gi={class:"flex flex-col items-center justify-center py-4"},fi={key:0,class:"text-center"},vi={key:1,class:"text-center"},yi=["src"],hi={class:"mt-4 text-sm text-gray-600"},ki={class:"mt-2"},bi={key:2,class:"text-center text-gray-500"},Ci={class:"text-gray-500"},xi={class:"text-gray-500"},Vi={class:"font-medium"},Di={class:"font-medium"},Ai={key:0,class:"mb-4"},Ei={key:0},wi={key:0,class:"mt-2"},Ri={key:1,class:"mt-2"},Ii={class:"mb-4"},$i={class:"flex gap-2"},Si={key:0,class:"text-center text-gray-400 py-10"},Li={key:1,class:"record-list"},Ni={class:"record-header"},zi={class:"flex items-center gap-2"},Pi={class:"font-medium text-sm"},Ti={class:"flex items-center gap-2"},Wi={class:"text-xs text-gray-400"},Fi={class:"record-content"},Mi={key:0,class:"mt-1"},Yi={key:2,class:"text-center mt-4"},Oi=At({name:"tcmDiagnosis"}),Ui=At({...Oi,setup(qi){const Et=ge(()=>_e(()=>import("./edit-Cu8Q4Det.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]))),wt=ge(()=>_e(()=>import("./detail-kL52KetM.js"),__vite__mapDeps([99,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),Rt=ge(()=>_e(()=>import("./index-ljSxsacS.js"),__vite__mapDeps([90,1,2,3,4,5,6,7,8,9,10,11,12,13,14,91,92,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,93,94,15,95,96]))),It=ge(()=>_e(()=>import("./appointment-CaxZ1iHL.js"),__vite__mapDeps([100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,101]))),$t=ge(()=>_e(()=>import("./AssistantWatchCallDialog-43mUGlZ0.js"),__vite__mapDeps([102,1,2,3,4,5,6,7,8,9,10,11,12,13,14,103,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,104]))),St=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return Le(e).format("YYYY-MM-DD HH:mm:ss")},tt=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),l=et({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",start_time:"",end_time:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:"",pending_assign_order_month:"",pending_assign_keyword:""}),nt=c("all"),re=c(!1),Lt=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],Nt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],zt=t=>{l.has_appointment=t,l.pending_booking="",l.completed_appointment="",V.page=1,x(),w()},Pt=t=>{l.diagnosis_confirmed=t,l.pending_booking="",l.completed_appointment="",V.page=1,x(),w()};function Tt(t){if(!(t.pending_assign==="1"||t.pending_assign===1))return!1;const r=String(t.pending_assign_keyword??"").trim(),_=String(t.keyword??"").trim();return r!==""||_!==""}function at(t){if(!Tt(t))return t;const e=String(t.pending_assign_keyword??"").trim(),r=String(t.keyword??"").trim(),_=e!==""?e:r;return{page_no:t.page_no,page_size:t.page_size,pending_assign:1,pending_assign_keyword:_}}function Wt(){const t=String(l.pending_assign_order_month??"").trim();return t!==""?t:l.pending_assign==="1"?"":Le().format("YYYY-MM")}function Ft(){return at({...l,page_no:1,page_size:1,pending_assign:1,appointment_date:"",has_appointment:"",pending_booking:"",completed_appointment:"",pending_assign_order_month:Wt()})}const Mt=t=>M(at(t));function Yt(){if(l.pending_assign!=="1")return;const t=(l.pending_assign_keyword??"").trim(),e=(l.keyword??"").trim();t===""&&e===""||(l.appointment_date="",l.pending_booking="",l.completed_appointment="",l.diagnosis_confirmed="",l.has_appointment="",l.diagnosis_type="",l.syndrome_type="",l.assistant_id="",l.start_time="",l.end_time="",l.pending_assign_order_month="",nt.value="all",t!==""&&(l.keyword=""))}const Z=()=>{Yt(),V.page=1,x(),w()},Ot=X(()=>[{label:"昨天挂号",value:Me.value},{label:"前天挂号",value:Ye.value},{label:"当天挂号",value:ve.value},{label:"明天挂号",value:We.value},{label:"后天挂号",value:Fe.value},{label:"全部",value:""}]),Ne=c({}),ze=c(void 0),Pe=c(void 0),Te=c(void 0),Ut=async t=>{l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="",l.completed_appointment="",l.has_appointment="",l.appointment_date=t,V.page=1,await x(),w()},qt=async()=>{l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="1",l.completed_appointment="",l.appointment_date="",l.has_appointment="0",V.page=1,await x(),w()},Qt=async()=>{l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="",l.completed_appointment="1",l.has_appointment="",l.appointment_date="",V.page=1,await x(),w()},Bt=async()=>{l.pending_assign="1",l.pending_booking="",l.completed_appointment="",l.has_appointment="",l.appointment_date="",l.pending_assign_order_month||(l.pending_assign_order_month=Le().format("YYYY-MM")),V.page=1,await x(),w()},Ht=async t=>{l.pending_assign_order_month=t||"",l.pending_assign==="1"&&(V.page=1,await x(),w())},w=async()=>{try{const[t,e,r,_,v,h,A,Q,de]=await Promise.all([M({appointment_date:Me.value,page_no:1,page_size:1}),M({appointment_date:Ye.value,page_no:1,page_size:1}),M({appointment_date:ve.value,page_no:1,page_size:1}),M({appointment_date:We.value,page_no:1,page_size:1}),M({appointment_date:Fe.value,page_no:1,page_size:1}),M({page_no:1,page_size:1}),M({has_appointment:0,page_no:1,page_size:1}),M({completed_appointment:1,page_no:1,page_size:1}),M(Ft())]);Ne.value={[Me.value]:(t==null?void 0:t.count)??0,[Ye.value]:(e==null?void 0:e.count)??0,[ve.value]:(r==null?void 0:r.count)??0,[We.value]:(_==null?void 0:_.count)??0,[Fe.value]:(v==null?void 0:v.count)??0,"":(h==null?void 0:h.count)??0},ze.value=(A==null?void 0:A.count)??0,Pe.value=(Q==null?void 0:Q.count)??0,Te.value=(de==null?void 0:de.count)??0}catch(t){console.error("获取日期数量失败",t)}};function Gt(){const t=()=>w();typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:2500}):setTimeout(t,120)}const Kt=2e4;let fe=null;function jt(){typeof document<"u"&&document.hidden||(x({silent:!0}).catch(()=>{}),w())}const z=t=>String(t).padStart(2,"0"),ve=X(()=>{const t=new Date;return`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),We=X(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),Fe=X(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),Me=X(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),Ye=X(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),st=c([]),it=c([]),ue=c([]),Jt=async()=>{try{const[t,e,r]=await Promise.all([Ct({type:"diagnosis_type"}),Ct({type:"syndrome_type"}),Qa()]);st.value=(t==null?void 0:t.diagnosis_type)||[],it.value=(e==null?void 0:e.syndrome_type)||[],ue.value=r||[]}catch(t){console.error("获取字典数据失败:",t)}},Xt=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(ue.value.length===0)return"...";const r=ue.value.find(_=>(typeof _.id=="string"?parseInt(_.id):_.id)===e);return r?r.name:"-"},{pager:V,getLists:x}=es({fetchFun:Mt,params:l}),Zt=()=>x({silent:!0}),en=()=>{nt.value="all",l.keyword="",l.diagnosis_type="",l.syndrome_type="",l.assistant_id="",l.diagnosis_confirmed="",l.appointment_date="",l.has_appointment="",l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="",l.completed_appointment="",V.page=1,x(),w()},lt=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(r=>r.is_confirmed==1)},tn=t=>{if(t==null)return"unserved-muted";const e=Number(t);return Number.isFinite(e)?e>=7?"unserved-red":e>=3?"unserved-orange":"unserved-green":"unserved-muted"},nn=({row:t})=>lt(t)?t.has_appointment?"":"row-no-appointment":"row-unconfirmed",ae=c(),an=c(),ot=c(),dt=c(),ye=c(null),he=ts();ps([ae,ye],()=>{const t=ye.value,e=ae.value;t==null||!(e!=null&&e.open)||(e.open("edit",t),ye.value=null)},{flush:"post"});const ke=c(!1),rt=c(0),sn=t=>{var r;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((r=he.userInfo)==null?void 0:r.id)},ln=t=>{rt.value=Number(t.id)||0,ke.value=!0},on=t=>sn(t)&&Y(["tcm.diagnosis/watchCall"]),be=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},dn=t=>{const e=t.video_call_hint,r="点击进入实时房间(仅观看,不推流、不上麦)";return e!=null&&e.start_time?`${r}。开始时间:${St(e.start_time)}`:r},rn=t=>{const e=be(t);return e==="live"||e==="pending_room"},un=t=>be(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":dn(t),mn=t=>{if(be(t)!=="live"){g.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}ln(t)},pn=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},cn=t=>{const e=be(t);if(e==="none")return"—";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const r=t.video_call_hint;return(r==null?void 0:r.label)||"—"},se=c(!1),Ce=c(),Oe=c(!1),y=et({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),_n={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},gn=t=>{var e;y.patient_id=t.patient_id||t.id,y.patient_name=t.patient_name,y.phone=t.phone||"",y.order_type="",y.amount=0,y.remark="",y.has_appointment=!!t.has_appointment,y.appointment_time_text=t.appointment_time_text||"",(e=Ce.value)==null||e.clearValidate(),se.value=!0},fn=()=>{var t;y.patient_id="",y.patient_name="",y.phone="",y.order_type="",y.amount=0,y.remark="",y.has_appointment=!1,y.appointment_time_text="",(t=Ce.value)==null||t.clearValidate()},vn=async()=>{var t;try{await((t=Ce.value)==null?void 0:t.validate()),Oe.value=!0;const e=await Za({patient_id:y.patient_id,order_type:y.order_type,amount:y.amount,remark:y.remark});se.value=!1,x();const r=e==null?void 0:e.order_no;if(r){U.value=!0,H.value=!0,G.value="",K.value={patient_name:y.patient_name,has_appointment:y.has_appointment,appointment_time_text:y.appointment_time_text};try{const _=await Ba({order_no:r});_!=null&&_.qrcode_url?G.value=_.qrcode_url:g.msgError("二维码生成失败")}catch(_){g.msgError((_==null?void 0:_.msg)||"生成二维码失败")}finally{H.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Oe.value=!1}},U=c(!1),H=c(!1),G=c(""),K=c(null),yn=X(()=>{const t=K.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ue=c("小程序二维码"),qe=c("confirm"),I=c([]),ie=c([]),ee=c(!1),Qe=c(!1),me=c("batch"),pe=c(null),D=c({assistant_id:null,is_inherit:!1});function hn(){ie.value=[],D.value.assistant_id=null,D.value.is_inherit=!1}const kn=t=>{I.value=t.map(e=>e.id)},xe=t=>Number((t==null?void 0:t.assistant_id)??(t==null?void 0:t.assistant)??0)>0,bn=X(()=>{if(!I.value.length)return!1;const t=new Set(I.value);return V.lists.some(e=>t.has(e.id)&&xe(e))}),Cn=t=>{me.value="single",pe.value=t,ie.value=[],D.value.assistant_id=Number(t.assistant_id)>0?Number(t.assistant_id):null,D.value.is_inherit=!1,ee.value=!0},xn=()=>{if(I.value.length===0){g.msgWarning("请先选择要指派的诊单");return}me.value="batch",pe.value=null,D.value.assistant_id=null,D.value.is_inherit=!1,ie.value=[...I.value],ee.value=!0},Vn=async()=>{if(!D.value.assistant_id){g.msgWarning("请选择医助");return}Qe.value=!0;try{if(me.value==="single")await Se({id:pe.value.id,assistant_id:D.value.assistant_id,is_inherit:D.value.is_inherit?1:0});else{const t=ie.value;if(!t.length){g.msgWarning("没有可指派的诊单,请关闭后重新勾选");return}for(const e of t)await Se({id:e,assistant_id:D.value.assistant_id,is_inherit:D.value.is_inherit?1:0});I.value=[],ie.value=[]}ee.value=!1,x()}catch(t){console.error("指派失败:",t)}finally{Qe.value=!1}},Dn=async t=>{if(!(t!=null&&t.id)||!xe(t)){g.msgWarning("该诊单未指派医助");return}await g.confirm("确定取消该诊单的医助指派吗?"),await Se({id:t.id,assistant_id:0}),x()},An=async()=>{if(!I.value.length){g.msgWarning("请先选择诊单");return}const t=new Set(I.value),e=V.lists.filter(r=>t.has(r.id)&&xe(r));if(!e.length){g.msgWarning("所选诊单中没有已指派医助的记录");return}await g.confirm(`确定取消 ${e.length} 条诊单的医助指派吗?`),await Promise.all(e.map(r=>Se({id:r.id,assistant_id:0}))),I.value=[],x()},En=()=>{ae.value.open("add")},wn=t=>{ae.value.open("edit",t)};function Rn(t){return l.pending_assign==="1"?"开方":Number(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方"}const In=t=>{var e;if(!(t!=null&&t.id)){g.msgWarning("诊单信息不完整");return}(e=ot.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},$n=()=>{var t,e;x(),(e=(t=ae.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Sn=async t=>{await g.confirm("确定要删除该诊单吗?"),await Ja({id:t}),x()},Ln=(t,e)=>{switch(t){case"assign":Cn(e);break;case"cancelAssign":Dn(e);break;case"videoQr":if(!ce(e)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}pt(e);break;case"confirmQr":ct(e);break;case"cancelApt":Fn(e);break;case"guahaoLogs":Un(e);break;case"order":gn(e);break;case"delete":Sn(e.id);break}},Nn=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},zn=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},Ve=t=>{const e=Array.isArray(t.appointments)?t.appointments:[];return e.length>0?e:t.has_appointment?[{id:t.appointment_id,status:t.appointment_status,doctor_id:t.appointment_doctor_id,doctor_name:t.appointment_doctor_name,time_text:t.appointment_time_text}]:[]},Pn=t=>{const e=Number(t==null?void 0:t.status);return{"apt-item-done":e===3,"apt-item-missed":e===4,"apt-item-active":e===1}},Tn=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},ce=t=>t.has_appointment&&Number(t.appointment_status)===1,ut=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Be=t=>{const e=Number(t==null?void 0:t.status);return!!(t!=null&&t.id&&(e===1||e===4))},Wn=t=>ut(t)?Ve(t).length<=1:!1,Fn=async t=>{var v;if(!ut(t)){const h=Number(t.appointment_status);t.has_appointment&&h===3?g.msgWarning("已完成就诊,无法取消挂号"):g.msgWarning("该诊单未挂号或挂号信息异常");return}const e=Ve(t),r=e.length===1?e[0]:null,_=r!=null&&r.id&&Be(r)?r.id:t.appointment_id;try{await g.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await bt({id:_}),g.msgSuccess("取消挂号成功"),x(),w(),te.value&&((v=q.value)==null?void 0:v.id)===t.id&&await Ae(t.id)}catch(h){h!=="cancel"&&g.msgError((h==null?void 0:h.msg)||"取消挂号失败")}},Mn=async(t,e)=>{var v;if(!Be(e)){Number(e==null?void 0:e.status)===3?g.msgWarning("已完成就诊,无法取消挂号"):g.msgWarning("该挂号无法取消");return}const r=e.doctor_name||"—",_=e.time_text||"—";try{await g.confirm(`确定取消「${r}」${_} 的挂号吗?(患者:${t.patient_name||"—"})`),await bt({id:e.id}),g.msgSuccess("取消挂号成功"),x(),w(),te.value&&((v=q.value)==null?void 0:v.id)===t.id&&await Ae(t.id)}catch(h){h!=="cancel"&&g.msgError((h==null?void 0:h.msg)||"取消挂号失败")}},te=c(!1),De=c(!1),le=c([]),q=c(null);function Yn(){le.value=[],q.value=null}function On(t){const e=String((t==null?void 0:t.admin_name)||"").trim(),r=Number(t==null?void 0:t.admin_id);return e||(r>0?`管理员 #${r}`:"—")}async function Ae(t){De.value=!0;try{const e=await Ha({id:t});le.value=Array.isArray(e==null?void 0:e.data)?e.data:Array.isArray(e)?e:[]}catch{le.value=[]}finally{De.value=!1}}async function Un(t){if(!(t!=null&&t.id)){g.msgWarning("诊单信息不完整");return}q.value=t,te.value=!0,await Ae(Number(t.id))}async function qn(){var t;await x({silent:!0}),w(),te.value&&((t=q.value)!=null&&t.id)&&await Ae(Number(q.value.id))}const Qn=t=>{var e;if(!t.patient_id){g.msgWarning("患者信息不完整");return}(e=dt.value)==null||e.open(t)},oe=c(!1),He=c(!1),mt=c(),P=et({id:0,patient_name:"",id_card:""}),Bn={id_card:[{required:!0,validator:(t,e,r)=>{if(!e){r(new Error("请输入身份证号"));return}const _=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),v=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);_||v?r():r(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},Hn=t=>{P.id=t.id,P.patient_name=t.patient_name||"-",P.id_card=t.id_card||"",oe.value=!0},Gn=async()=>{var t;await((t=mt.value)==null?void 0:t.validate()),He.value=!0;try{await Ga({id:P.id,id_card:P.id_card}),g.msgSuccess("补全成功,年龄已自动更新"),oe.value=!1,x()}catch(e){g.msgError((e==null?void 0:e.msg)||"补全失败")}finally{He.value=!1}},pt=async t=>{var e;if(!ce(t)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}qe.value="video",K.value=t,U.value=!0,H.value=!0,G.value="",Ue.value="视频二维码";try{const r=await xt();if(!(r!=null&&r.app_id)){g.msgError("小程序未配置,请先配置小程序信息"),U.value=!1;return}const _=await ht({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=he.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});_!=null&&_.qrcode_url?G.value=_.qrcode_url:g.msgError("二维码生成失败")}catch(r){g.msgError((r==null?void 0:r.msg)||"生成二维码失败,请重试")}finally{H.value=!1}},ct=async t=>{if(!ce(t)){g.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}qe.value="confirm",K.value=t,U.value=!0,H.value=!0,G.value="",Ue.value="诊单二维码";try{const e=await xt();if(!(e!=null&&e.app_id)){g.msgError("小程序未配置,请先配置小程序信息"),U.value=!1;return}const r=he.userInfo,_=await ht({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:(r==null?void 0:r.id)||""});_!=null&&_.qrcode_url?G.value=_.qrcode_url:g.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),g.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{H.value=!1}},Kn=()=>{K.value&&(qe.value==="video"?pt(K.value):ct(K.value))},Ee=c(!1),L=c(null),j=c([]),we=c(0),Ge=c(!1),N=c(null),ne=c(""),Ke=c(!1),je=c(1),jn=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return Le(e).format("YYYY-MM-DD HH:mm")},Jn=async t=>{L.value=t,Ee.value=!0,j.value=[],we.value=0,N.value=null,ne.value="",je.value=1,Ge.value=!0;try{const[e,r]=await Promise.all([kt({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),Xa({patient_id:t.patient_id||t.id}).catch(()=>null)]);j.value=(e==null?void 0:e.lists)||[],we.value=(e==null?void 0:e.count)||0,N.value=r}catch(e){console.error("加载企业微信记录失败:",e)}finally{Ge.value=!1}},Xn=async()=>{if(L.value){je.value++;try{const t=await kt({diagnosis_id:L.value.id,patient_id:L.value.patient_id,page_no:je.value,page_size:20});j.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error("加载更多记录失败:",t)}}},Zn=async()=>{var t;if(!ne.value.trim()){g.msgWarning("请输入内容");return}Ke.value=!0;try{await Ka({diagnosis_id:L.value.id,patient_id:L.value.patient_id,content:ne.value.trim(),msg_type:"note",staff_name:((t=he.userInfo)==null?void 0:t.name)||"",external_name:L.value.patient_name||""}),ne.value="",Jn(L.value)}catch(e){g.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Ke.value=!1}},ea=async t=>{await g.confirm("确定删除该记录吗?");try{await ja({id:t}),j.value=j.value.filter(e=>e.id!==t),we.value--}catch(e){g.msgError((e==null?void 0:e.msg)||"删除失败")}},ta=us(),na=ms(),_t=t=>{if(!Y(["tcm.diagnosis/readonlyDetail"]))return;const e=Number(t==null?void 0:t.id);!e||e<=0||na.push({path:"/tcm/diagnosis-readonly",query:{id:String(e)}})};return cs(()=>{l.appointment_date=ve.value,Jt(),x(),Gt(),fe=setInterval(jt,Kt);const t=ta.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(ye.value=e)}}),_s(()=>{fe!=null&&(clearInterval(fe),fe=null)}),(t,e)=>{var vt;const r=ga,_=fa,v=va,h=ya,A=ka,Q=ha,de=ba,$=xa,T=Va,gt=Da,J=wa,aa=Ea,sa=Aa,ia=Ca,la=Ua,oa=Ia,da=Sa,ra=$a,ft=La,Re=Na,W=Pa,ua=Ta,Je=za,ma=Wa,Ie=Ma,pa=Fa,ca=Ya,_a=Oa,F=gs("perms"),Xe=Ra;return o(),u("div",fs,[i(de,{class:"filter-card !border-none",shadow:"never"},{default:s(()=>[d("div",vs,[d("div",ys,[(o(!0),u(E,null,S(Ot.value,n=>(o(),u("span",{key:n.value,class:O(["chip",{active:a(l).pending_assign!=="1"&&a(l).pending_booking!=="1"&&a(l).completed_appointment!=="1"&&a(l).appointment_date===n.value}]),onClick:k=>Ut(n.value)},[m(p(n.label)+" ",1),a(Ne)[n.value]!==void 0?(o(),u("em",ks,p(a(Ne)[n.value]),1)):C("",!0)],10,hs))),128)),d("span",{class:O(["chip","chip-pending-booking",{active:a(l).pending_booking==="1"}]),onClick:qt},[e[29]||(e[29]=m(" 待预约 ",-1)),a(ze)!==void 0?(o(),u("em",bs,p(a(ze)),1)):C("",!0)],2),d("span",{class:O(["chip","chip-completed-visit",{active:a(l).completed_appointment==="1"}]),onClick:Qt},[e[30]||(e[30]=m(" 已完成 ",-1)),a(Pe)!==void 0?(o(),u("em",Cs,p(a(Pe)),1)):C("",!0)],2),R((o(),u("span",xs,[d("span",{class:O(["chip","chip-pending",{active:a(l).pending_assign==="1"}]),onClick:Bt},[e[31]||(e[31]=m(" 待分配医助 ",-1)),a(Te)!==void 0?(o(),u("em",Vs,p(a(Te)),1)):C("",!0)],2),a(l).pending_assign==="1"?(o(),f(r,{key:0,modelValue:a(l).pending_assign_order_month,"onUpdate:modelValue":e[0]||(e[0]=n=>a(l).pending_assign_order_month=n),type:"month",placeholder:"订单月份","value-format":"YYYY-MM",clearable:"",class:"pending-assign-month",onChange:Ht},null,8,["modelValue"])):C("",!0),a(l).pending_assign==="1"?(o(),f(_,{key:1,modelValue:a(l).pending_assign_keyword,"onUpdate:modelValue":e[1]||(e[1]=n=>a(l).pending_assign_keyword=n),placeholder:"搜身份证/诊单ID/患者号/备注…",clearable:"",class:"pending-assign-search",onKeyup:yt(Z,["enter"]),onClear:Z},null,8,["modelValue"])):C("",!0)])),[[F,["tcm.diagnosis/assign"]]])]),d("div",Ds,[i(_,{modelValue:a(l).keyword,"onUpdate:modelValue":e[2]||(e[2]=n=>a(l).keyword=n),placeholder:"患者姓名 / 手机号",clearable:"",class:"search-input",onKeyup:yt(Z,["enter"])},null,8,["modelValue"]),i(v,{type:"primary",onClick:Z},{default:s(()=>[...e[32]||(e[32]=[m("查询",-1)])]),_:1})])]),d("div",As,[e[33]||(e[33]=d("span",{class:"chip-label"},"挂号:",-1)),(o(),u(E,null,S(Lt,n=>d("span",{key:n.value,class:O(["chip","chip-sm",{active:a(l).has_appointment===n.value}]),onClick:k=>zt(n.value)},p(n.label),11,Es)),64)),e[34]||(e[34]=d("span",{class:"chip-divider"},null,-1)),e[35]||(e[35]=d("span",{class:"chip-label"},"确认:",-1)),(o(),u(E,null,S(Nt,n=>d("span",{key:n.value,class:O(["chip","chip-sm",{active:a(l).diagnosis_confirmed===n.value}]),onClick:k=>Pt(n.value)},p(n.label),11,ws)),64)),i(v,{link:"",type:"primary",size:"small",class:"more-btn",onClick:e[3]||(e[3]=n=>re.value=!a(re))},{default:s(()=>[m(p(a(re)?"收起":"更多筛选")+" ",1),i(h,{class:O({"rotate-180":a(re)})},{default:s(()=>[i(a(Vt))]),_:1},8,["class"])]),_:1})]),R(d("div",Rs,[i(Q,{modelValue:a(l).diagnosis_type,"onUpdate:modelValue":e[4]||(e[4]=n=>a(l).diagnosis_type=n),placeholder:"诊断类型",clearable:"",size:"small",onChange:Z},{default:s(()=>[(o(!0),u(E,null,S(a(st),n=>(o(),f(A,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),i(Q,{modelValue:a(l).syndrome_type,"onUpdate:modelValue":e[5]||(e[5]=n=>a(l).syndrome_type=n),placeholder:"证型",clearable:"",size:"small",onChange:Z},{default:s(()=>[(o(!0),u(E,null,S(a(it),n=>(o(),f(A,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),i(Q,{modelValue:a(l).assistant_id,"onUpdate:modelValue":e[6]||(e[6]=n=>a(l).assistant_id=n),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:Z},{default:s(()=>[(o(!0),u(E,null,S(a(ue),n=>(o(),f(A,{key:n.id,label:n.name,value:Number(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),i(v,{size:"small",onClick:en},{default:s(()=>[...e[36]||(e[36]=[m("重置",-1)])]),_:1})],512),[[qa,a(re)]])]),_:1}),i(de,{class:"!border-none mt-3 list-card",shadow:"never"},{default:s(()=>[d("div",Is,[d("div",$s,[R((o(),f(v,{type:"primary",onClick:En},{default:s(()=>[...e[37]||(e[37]=[m("新增诊单",-1)])]),_:1})),[[F,["tcm.diagnosis/add"]]]),R((o(),f(v,{type:"success",onClick:xn,disabled:a(I).length===0},{default:s(()=>[...e[38]||(e[38]=[m(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[F,["tcm.diagnosis/assign"]]]),R((o(),f(v,{type:"warning",plain:"",onClick:An,disabled:!bn.value},{default:s(()=>[...e[39]||(e[39]=[m(" 批量取消指派 ",-1)])]),_:1},8,["disabled"])),[[F,["tcm.diagnosis/assign"]]])]),a(I).length>0?(o(),u("div",Ss,"已选 "+p(a(I).length)+" 条",1)):C("",!0)]),d("div",Ls,[R((o(),f(ia,{data:a(V).lists,"row-key":"id",size:"default",onSelectionChange:kn,onRowDblclick:_t,"row-class-name":nn,class:"diagnosis-table",stripe:""},{default:s(()=>[i($,{type:"selection",width:"48",align:"center"}),i($,{label:"ID","min-width":"70"},{default:s(({row:n})=>[d("div",Ns,[d("div",zs,[d("div",Ps,[m(p(n.id)+" ",1),n.assign_read_at===null&&n.assistant_id>0?(o(),f(T,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-1"},{default:s(()=>[...e[40]||(e[40]=[m("NEW",-1)])]),_:1})):C("",!0)])])])]),_:1}),i($,{label:"患者","min-width":"60"},{default:s(({row:n})=>[d("div",Ts,[d("div",Ws,[d("div",Fs,p(n.patient_name),1)])])]),_:1}),i($,{label:" 性别 / 年龄",width:"100",align:"left"},{default:s(({row:n})=>[d("div",null,p(n.gender_desc||"-")+" · "+p(n.age??"-")+"岁",1)]),_:1}),i($,{label:"挂号","min-width":"175"},{default:s(({row:n})=>[d("div",{class:O(["appointment-cell",Tn(n)])},[n.has_appointment?(o(),u(E,{key:0},[Ve(n).length?(o(!0),u(E,{key:0},S(Ve(n),k=>(o(),u("div",{key:k.id||`${k.doctor_id}-${k.time_text}`,class:O(["apt-item",Pn(k)])},[d("div",Ms,p(zn(k.status)),1),d("div",Ys,p(k.doctor_name||"-"),1),d("div",Os,p(k.time_text||"-"),1),Be(k)?(o(),u("div",Us,[R((o(),f(v,{type:"danger",link:"",size:"small",onClick:Ze(b=>Mn(n,k),["stop"])},{default:s(()=>[...e[41]||(e[41]=[m(" 取消挂号 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/guahao"]]])])):C("",!0)],2))),128)):(o(),u(E,{key:1},[d("div",qs,p(Nn(n)),1),d("div",Qs,p(n.appointment_doctor_name||"-"),1),d("div",Bs,p(n.appointment_time_text||"-"),1)],64))],64)):(o(),u("span",Hs,"未挂号"))],2)]),_:1}),i($,{label:"确认",width:"88",align:"center"},{default:s(({row:n})=>[lt(n)?(o(),u("span",Gs,"已确认")):(o(),u("span",Ks,"未确认"))]),_:1}),i($,{label:"复诊","min-width":"120"},{default:s(({row:n})=>[n.has_prescription?(o(),u("div",js,[d("div",Js,p(n.followup_time_text||"—"),1),d("div",Xs,p(n.followup_doctor_name||"—"),1),n.followup_rx_voided?(o(),f(T,{key:0,type:"info",size:"small",effect:"plain",class:"followup-void-tag"},{default:s(()=>[...e[42]||(e[42]=[m(" 处方已作废 ",-1)])]),_:1})):C("",!0)])):(o(),u("span",Zs,"无"))]),_:1}),i($,{label:"助理",width:"100","show-overflow-tooltip":""},{default:s(({row:n})=>[d("span",ei,p(Xt(n.assistant_id||n.assistant)),1)]),_:1}),i($,{label:"开方",width:"72",align:"center"},{default:s(({row:n})=>[n.has_prescription?(o(),u("span",ti,"已开方")):(o(),u("span",ni,"未开方"))]),_:1}),i($,{label:"未服务天数",width:"110",align:"center"},{default:s(({row:n})=>[n.last_blood_record_at?(o(),f(gt,{key:0,content:`最近一次健康打卡:${n.last_blood_record_at}`,placement:"top"},{default:s(()=>[d("span",{class:O(["unserved-days",tn(n.unserved_days)])},p(n.unserved_days??"—"),3)]),_:2},1032,["content"])):(o(),u("span",ai,"—"))]),_:1}),i($,{label:"视频旁观",width:"120",fixed:"right",align:"center"},{default:s(({row:n})=>[d("div",si,[on(n)?(o(),u(E,{key:0},[rn(n)?(o(),f(gt,{key:0,content:un(n),placement:"top"},{default:s(()=>[d("span",ii,[i(v,{type:"primary",link:"",size:"small",onClick:k=>mn(n)},{default:s(()=>[...e[43]||(e[43]=[m(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(o(),u("span",li,p(pn(n)),1))],64)):(o(),u("span",oi,p(cn(n)),1))])]),_:1}),i($,{label:"操作",width:"340",fixed:"right",align:"left"},{default:s(({row:n})=>[d("div",{class:"action-cell",onClick:e[7]||(e[7]=Ze(()=>{},["stop"])),onDblclick:e[8]||(e[8]=Ze(()=>{},["stop"]))},[R((o(),f(v,{type:"primary",link:"",size:"small",onClick:k=>_t(n)},{default:s(()=>[...e[44]||(e[44]=[m(" 查看 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/readonlyDetail"]]]),R((o(),f(v,{type:"primary",link:"",size:"small",onClick:k=>wn(n.id)},{default:s(()=>[...e[45]||(e[45]=[m("诊单",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/edit"]]]),R((o(),f(v,{type:"primary",link:"",size:"small",onClick:k=>In(n)},{default:s(()=>[m(p(Rn(n)),1)]),_:2},1032,["onClick"])),[[F,["tcm.diagnosis/kaifang"]]]),R((o(),f(v,{type:"success",link:"",size:"small",onClick:k=>Qn(n)},{default:s(()=>[...e[46]||(e[46]=[m("预约",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/guahao"]]]),R((o(),f(v,{type:"warning",link:"",size:"small",onClick:k=>Hn(n)},{default:s(()=>[...e[47]||(e[47]=[m("补全身份证",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/edit"]]]),i(sa,{trigger:"click",onCommand:k=>Ln(k,n),placement:"bottom-end"},{dropdown:s(()=>[i(aa,null,{default:s(()=>[a(Y)(["tcm.diagnosis/assign"])?(o(),f(J,{key:0,command:"assign"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(as))]),_:1}),e[49]||(e[49]=m("指派",-1))]),_:1})):C("",!0),a(Y)(["tcm.diagnosis/assign"])&&xe(n)?(o(),f(J,{key:1,command:"cancelAssign"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ss))]),_:1}),e[50]||(e[50]=m("取消指派 ",-1))]),_:1})):C("",!0),ce(n)&&a(Y)(["tcm.diagnosis/videoQr"])?(o(),f(J,{key:2,command:"videoQr"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(Dt))]),_:1}),e[51]||(e[51]=m("视频二维码",-1))]),_:1})):C("",!0),a(Y)(["tcm.diagnosis/guahao"])&&ce(n)?(o(),f(J,{key:3,command:"confirmQr"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(Dt))]),_:1}),e[52]||(e[52]=m("二维码",-1))]),_:1})):C("",!0),Wn(n)&&a(Y)(["tcm.diagnosis/guahao"])?(o(),f(J,{key:4,command:"cancelApt"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(is))]),_:1}),e[53]||(e[53]=m("取消挂号 ",-1))]),_:1})):C("",!0),a(Y)(["tcm.diagnosis/guahaoLogList"])?(o(),f(J,{key:5,command:"guahaoLogs"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ls))]),_:1}),e[54]||(e[54]=m("挂号日志",-1))]),_:1})):C("",!0),a(Y)(["tcm.diagnosis/order"])?(o(),f(J,{key:6,command:"order"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(os))]),_:1}),e[55]||(e[55]=m("创建订单",-1))]),_:1})):C("",!0),a(Y)(["tcm.diagnosis/delete"])?(o(),f(J,{key:7,command:"delete",divided:""},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ds))]),_:1}),e[56]||(e[56]=d("span",{class:"text-danger"},"删除",-1))]),_:1})):C("",!0)]),_:2},1024)]),default:s(()=>[i(v,{type:"info",link:"",size:"small"},{default:s(()=>[e[48]||(e[48]=m("更多",-1)),i(h,{class:"el-icon--right"},{default:s(()=>[i(a(Vt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])],32)]),_:1})]),_:1},8,["data"])),[[Xe,a(V).loading]]),d("div",di,[i(la,{modelValue:a(V),"onUpdate:modelValue":e[9]||(e[9]=n=>B(V)?V.value=n:null),onChange:a(x)},null,8,["modelValue","onChange"])])])]),_:1}),i(a(Et),{ref_key:"editRef",ref:ae,onSuccess:Zt},null,512),i(a(wt),{ref_key:"detailRef",ref:an},null,512),i(a(Rt),{ref_key:"prescriptionRef",ref:ot,onSuccess:$n},null,512),i(a(It),{ref_key:"appointmentRef",ref:dt,onSuccess:qn},null,512),i(a($t),{modelValue:a(ke),"onUpdate:modelValue":e[10]||(e[10]=n=>B(ke)?ke.value=n:null),"diagnosis-id":a(rt),onClosed:a(x)},null,8,["modelValue","diagnosis-id","onClosed"]),i(ft,{modelValue:a(te),"onUpdate:modelValue":e[11]||(e[11]=n=>B(te)?te.value=n:null),title:"挂号操作日志",size:"460px","destroy-on-close":"",onClosed:Yn},{default:s(()=>[R((o(),u("div",ri,[a(q)?(o(),u("div",ui,[d("span",mi,p(a(q).patient_name),1),e[57]||(e[57]=d("span",{class:"mx-2 text-gray-300"},"|",-1)),d("span",null,"诊单 #"+p(a(q).id),1)])):C("",!0),!a(De)&&a(le).length===0?(o(),f(oa,{key:1,description:"暂无挂号/取消挂号操作记录"})):a(le).length>0?(o(),f(ra,{key:2},{default:s(()=>[(o(!0),u(E,null,S(a(le),(n,k)=>(o(),f(da,{key:n.id??k,timestamp:n.create_time_text||"—",placement:"top"},{default:s(()=>[d("div",pi,[i(T,{size:"small",type:"info"},{default:s(()=>[m(p(n.action_desc),1)]),_:2},1024),d("span",ci,p(On(n)),1)]),d("div",_i,p(n.summary),1)]),_:2},1032,["timestamp"]))),128))]),_:1})):C("",!0)])),[[Xe,a(De)]])]),_:1},8,["modelValue"]),i(Re,{modelValue:a(U),"onUpdate:modelValue":e[13]||(e[13]=n=>B(U)?U.value=n:null),title:a(Ue),width:"400px","close-on-click-modal":!1},{footer:s(()=>[i(v,{onClick:e[12]||(e[12]=n=>U.value=!1)},{default:s(()=>[...e[60]||(e[60]=[m("关闭",-1)])]),_:1}),a(H)?C("",!0):(o(),f(v,{key:0,type:"primary",onClick:Kn},{default:s(()=>[...e[61]||(e[61]=[m(" 重新生成 ",-1)])]),_:1}))]),default:s(()=>{var n;return[d("div",gi,[a(H)?(o(),u("div",fi,[i(h,{class:"is-loading",size:40},{default:s(()=>[i(a(rs))]),_:1}),e[58]||(e[58]=d("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):a(G)?(o(),u("div",vi,[d("img",{src:a(G),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,yi),d("div",hi,[d("div",null,"患者:"+p((n=a(K))==null?void 0:n.patient_name),1),d("div",ki,"挂号时间:"+p(yn.value),1),e[59]||(e[59]=d("div",{class:"mt-2"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(o(),u("div",bi," 生成失败,请重试 "))])]}),_:1},8,["modelValue","title"]),i(Re,{modelValue:a(ee),"onUpdate:modelValue":e[17]||(e[17]=n=>B(ee)?ee.value=n:null),title:a(me)==="batch"?"批量指派医助":"指派医助",width:"500px",onClosed:hn},{footer:s(()=>[i(v,{onClick:e[16]||(e[16]=n=>ee.value=!1)},{default:s(()=>[...e[64]||(e[64]=[m("取消",-1)])]),_:1}),i(v,{type:"primary",onClick:Vn,loading:a(Qe)},{default:s(()=>[...e[65]||(e[65]=[m(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[i(Je,{model:a(D),"label-width":"100px"},{default:s(()=>[i(W,{label:"选择医助",required:""},{default:s(()=>[i(Q,{modelValue:a(D).assistant_id,"onUpdate:modelValue":e[14]||(e[14]=n=>a(D).assistant_id=n),placeholder:"请选择医助",class:"w-full",filterable:"",clearable:""},{default:s(()=>[(o(!0),u(E,null,S(a(ue),n=>(o(),f(A,{key:n.id,label:n.name,value:Number(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),i(W,{label:"继承"},{default:s(()=>[i(ua,{modelValue:a(D).is_inherit,"onUpdate:modelValue":e[15]||(e[15]=n=>a(D).is_inherit=n)},{default:s(()=>[...e[62]||(e[62]=[m("继承",-1)])]),_:1},8,["modelValue"]),e[63]||(e[63]=d("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),a(me)==="batch"?(o(),f(W,{key:0,label:"已选择"},{default:s(()=>[d("div",Ci,p(a(ie).length)+" 条诊单记录",1)]),_:1})):(o(),f(W,{key:1,label:"诊单信息"},{default:s(()=>{var n,k;return[d("div",xi,[d("div",null,"患者:"+p((n=a(pe))==null?void 0:n.patient_name),1),d("div",null,"诊断日期:"+p((k=a(pe))==null?void 0:k.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),i(Re,{modelValue:a(se),"onUpdate:modelValue":e[22]||(e[22]=n=>B(se)?se.value=n:null),title:"创建订单",width:"600px",onClose:fn},{footer:s(()=>[i(v,{onClick:e[21]||(e[21]=n=>se.value=!1)},{default:s(()=>[...e[66]||(e[66]=[m("取消",-1)])]),_:1}),i(v,{type:"primary",onClick:vn,loading:a(Oe)},{default:s(()=>[...e[67]||(e[67]=[m("创建订单",-1)])]),_:1},8,["loading"])]),default:s(()=>[i(Je,{ref_key:"orderFormRef",ref:Ce,model:a(y),rules:_n,"label-width":"100px"},{default:s(()=>[i(W,{label:"患者"},{default:s(()=>[d("span",Vi,p(a(y).patient_name)+" ("+p(tt(a(y).phone))+")",1)]),_:1}),i(W,{label:"订单类型",prop:"order_type"},{default:s(()=>[i(Q,{modelValue:a(y).order_type,"onUpdate:modelValue":e[18]||(e[18]=n=>a(y).order_type=n),placeholder:"请选择",class:"w-full"},{default:s(()=>[i(A,{label:"挂号费",value:1}),i(A,{label:"问诊费",value:2}),i(A,{label:"药品费用",value:3}),i(A,{label:"首付费用",value:4}),i(A,{label:"尾款费用",value:5}),i(A,{label:"其他费用",value:6}),i(A,{label:"全部费用",value:7}),i(A,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),i(W,{label:"订单金额",prop:"amount"},{default:s(()=>[i(ma,{modelValue:a(y).amount,"onUpdate:modelValue":e[19]||(e[19]=n=>a(y).amount=n),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"w-full"},null,8,["modelValue"])]),_:1}),i(W,{label:"备注",prop:"remark"},{default:s(()=>[i(_,{modelValue:a(y).remark,"onUpdate:modelValue":e[20]||(e[20]=n=>a(y).remark=n),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),i(Re,{modelValue:a(oe),"onUpdate:modelValue":e[25]||(e[25]=n=>B(oe)?oe.value=n:null),title:"补全身份证号",width:"400px","close-on-click-modal":!1,onClose:e[26]||(e[26]=n=>a(P).id_card="")},{footer:s(()=>[i(v,{onClick:e[24]||(e[24]=n=>oe.value=!1)},{default:s(()=>[...e[68]||(e[68]=[m("取消",-1)])]),_:1}),i(v,{type:"primary",onClick:Gn,loading:a(He)},{default:s(()=>[...e[69]||(e[69]=[m("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:s(()=>[i(Je,{ref_key:"fillIdCardFormRef",ref:mt,model:a(P),rules:Bn,"label-width":"80px"},{default:s(()=>[i(W,{label:"患者"},{default:s(()=>[d("span",Di,p(a(P).patient_name),1)]),_:1}),i(W,{label:"身份证号",prop:"id_card"},{default:s(()=>[i(_,{modelValue:a(P).id_card,"onUpdate:modelValue":e[23]||(e[23]=n=>a(P).id_card=n),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),i(ft,{modelValue:a(Ee),"onUpdate:modelValue":e[28]||(e[28]=n=>B(Ee)?Ee.value=n:null),title:`企业微信记录 - ${((vt=a(L))==null?void 0:vt.patient_name)||""}`,size:"600px","destroy-on-close":!0},{default:s(()=>{var n,k;return[a(N)?(o(),u("div",Ai,[i(pa,{column:2,border:"",size:"small"},{default:s(()=>[i(Ie,{label:"患者姓名"},{default:s(()=>{var b;return[m(p((b=a(L))==null?void 0:b.patient_name),1)]}),_:1}),i(Ie,{label:"手机号"},{default:s(()=>[m(p(tt(a(N).phone)||"-"),1)]),_:1}),i(Ie,{label:"企微联系人ID"},{default:s(()=>[a(N).external_userid?(o(),u("span",Ei,p(a(N).external_userid),1)):(o(),f(T,{key:1,type:"info",size:"small"},{default:s(()=>[...e[70]||(e[70]=[m("未关联",-1)])]),_:1}))]),_:1}),i(Ie,{label:"会话存档"},{default:s(()=>[a(N).msgaudit_enabled?(o(),f(T,{key:0,type:"success",size:"small"},{default:s(()=>[...e[71]||(e[71]=[m("已开通",-1)])]),_:1})):(o(),f(T,{key:1,type:"info",size:"small"},{default:s(()=>[...e[72]||(e[72]=[m("未配置",-1)])]),_:1}))]),_:1})]),_:1}),(n=a(N).permit_users)!=null&&n.length?(o(),u("div",wi,[e[73]||(e[73]=d("span",{class:"text-sm text-gray-500 mr-2"},"存档成员:",-1)),(o(!0),u(E,null,S(a(N).permit_users,b=>(o(),f(T,{key:b,size:"small",class:"mr-1"},{default:s(()=>[m(p(b),1)]),_:2},1024))),128))])):C("",!0),(k=a(N).msgaudit_agree)!=null&&k.length?(o(),u("div",Ri,[e[74]||(e[74]=d("span",{class:"text-sm text-gray-500 mr-2"},"存档同意:",-1)),(o(!0),u(E,null,S(a(N).msgaudit_agree,(b,$e)=>(o(),f(T,{key:$e,type:b.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:s(()=>[m(p(b.userid)+": "+p(b.agree_status==="Agree"?"已同意":b.agree_status),1)]),_:2},1032,["type"]))),128))])):C("",!0)])):C("",!0),i(ca),d("div",Ii,[d("div",$i,[i(_,{modelValue:a(ne),"onUpdate:modelValue":e[27]||(e[27]=b=>B(ne)?ne.value=b:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),i(v,{type:"primary",onClick:Zn,loading:a(Ke),class:"self-end"},{default:s(()=>[...e[75]||(e[75]=[m(" 添加 ",-1)])]),_:1},8,["loading"])])]),R((o(),u("div",null,[a(j).length===0?(o(),u("div",Si," 暂无聊天记录 ")):(o(),u("div",Li,[(o(!0),u(E,null,S(a(j),b=>{var $e;return o(),u("div",{key:b.id,class:"record-item"},[d("div",Ni,[d("div",zi,[i(T,{type:b.direction===0?"primary":"success",size:"small"},{default:s(()=>[m(p(b.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),d("span",Pi,p(b.direction===0?b.staff_name:b.external_name||(($e=a(L))==null?void 0:$e.patient_name)),1),b.msg_type==="note"?(o(),f(T,{key:0,type:"warning",size:"small"},{default:s(()=>[...e[76]||(e[76]=[m("备注",-1)])]),_:1})):C("",!0)]),d("div",Ti,[d("span",Wi,p(jn(b.chat_time)),1),i(v,{type:"danger",link:"",size:"small",onClick:Bi=>ea(b.id)},{default:s(()=>[...e[77]||(e[77]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])])]),d("div",Fi,p(b.content),1),b.media_url?(o(),u("div",Mi,[i(_a,{src:b.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[b.media_url]},null,8,["src","preview-src-list"])])):C("",!0)])}),128))])),a(we)>a(j).length?(o(),u("div",Yi,[i(v,{link:"",type:"primary",onClick:Xn},{default:s(()=>[...e[78]||(e[78]=[m("加载更多",-1)])]),_:1})])):C("",!0)])),[[Xe,a(Ge)]])]}),_:1},8,["modelValue","title"])])}}}),Tl=ns(Ui,[["__scopeId","data-v-df3ce361"]]);export{Tl as default};
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-Bqsg8jkl.js","assets/element-plus-lurTijPg.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-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-tCkhN6ch.js","assets/index-DF1MLuL8.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-cWYbZtDX.css","assets/perm-DJQOTKtE.js","assets/DailyMatrix-Bv0ZDAsS.js","assets/picker-BPfrB1Pn.js","assets/index-CnpV87Ke.js","assets/index-B3imPWFk.css","assets/index-BP_YKY_y.js","assets/index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js","assets/index-mDy9ToMf.js","assets/index-D0f1Mn00.css","assets/index-_ERDssCQ.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BdGKYRpa.js","assets/index.vue_vue_type_script_setup_true_lang-SfFZFG0h.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-DFW8NrDC.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-GHq4gyBb.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-DhY-d8bi.js","assets/RecordingPlaybackBlock-CszaDVIP.js","assets/RecordingVideoPlayer-Bgdabd2n.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-B3gJp5ia.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CJoC4wHm.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-Cb1bEIBY.js","assets/doctor-Lmz4K3Qd.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-WlJtu4cF.js","assets/patient-CU85GrfB.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-BT6MFGZ3.js","assets/PatientOrderList-Dx28GIXs.css","assets/index-B37DCCed.js","assets/index-BP9srYoP.js","assets/medicine-Thom1b2D.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-j-ocBozB.css","assets/edit-B0YJchTk.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-w3hEgx5f.js","assets/appointment-phVZQGxv.js","assets/appointment-B5q1nzzB.css","assets/AssistantWatchCallDialog-B4LbqZVg.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css"])))=>i.map(i=>d[i]);
+import{_ as _e}from"./jspdf-BsthCvR5.js";import{R as ga,C as fa,i as va,d as ya,P as ha,Q as ka,J as ba,M as Ca,N as xa,T as Va,r as Da,p as Aa,n as Ea,o as wa,L as Ra,W as Ia,ac as $a,ad as Sa,e as La,V as Na,D as za,B as Pa,H as Ta,h as Wa,aa as Fa,ab as Ma,Y as Ya,v as Oa}from"./element-plus-lurTijPg.js";import{_ as Ua}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{w as yt,q as qa,s as Ze}from"./@vue/runtime-dom-DDAG46FW.js";import{aj as M,a as Qa,K as Ba,ak as Se,al as Ha,am as Ga,Y as ht,an as kt,ao as Ka,ap as ja,aq as Ja,ar as Xa}from"./tcm-tCkhN6ch.js";import{i as Za}from"./order-B5HPxuEV.js";import{m as bt}from"./doctor-Lmz4K3Qd.js";import{u as es}from"./usePaging-VsbTxSU0.js";import{u as ts,m as Ct,i as g,_ as ns}from"./index-DF1MLuL8.js";import{g as xt}from"./weapp-Dr76WzC2.js";import{h as Y}from"./perm-DJQOTKtE.js";import{e as Vt,X as as,ab as ss,O as Dt,b as is,a7 as ls,G as os,H as ds,l as rs}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as us,a as ms}from"./vue-router-QlpZ4wdW.js";import{d as Le}from"./dayjs-DG77mNTn.js";import{f as At,w as ps,b as cs,d as _s,as as gs,ak as o,I as u,a as i,aN as s,J as d,F as E,ap as S,O as m,H as C,aP as R,G as f,P as ge,A as X}from"./@vue/runtime-core-C6bnekPw.js";import{o as O,Q as p}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as B,r as et,n as c}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"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.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 fs={class:"tcm-diagnosis"},vs={class:"filter-main"},ys={class:"date-chips"},hs=["onClick"],ks={key:0},bs={key:0},Cs={key:0},xs={class:"pending-assign-wrap"},Vs={key:0},Ds={class:"search-row"},As={class:"filter-chips"},Es=["onClick"],ws=["onClick"],Rs={class:"filter-more"},Is={class:"list-header"},$s={class:"list-actions"},Ss={key:0,class:"list-selected"},Ls={class:"table-wrap px-4"},Ns={class:"patient-cell"},zs={class:"patient-info"},Ps={class:"patient-name"},Ts={class:"patient-cell"},Ws={class:"patient-info"},Fs={class:"patient-name"},Ms={class:"apt-badge"},Ys={class:"apt-doctor"},Os={class:"apt-time"},Us={key:0,class:"apt-actions"},qs={class:"apt-badge"},Qs={class:"apt-doctor"},Bs={class:"apt-time"},Hs={key:1,class:"apt-none"},Gs={key:0,class:"status-confirmed"},Ks={key:1,class:"status-unconfirmed"},js={key:0,class:"followup-cell"},Js={class:"followup-time"},Xs={class:"followup-doctor"},Zs={key:1,class:"followup-none"},ei={class:"assistant-cell"},ti={key:0,class:"status-prescribed"},ni={key:1,class:"status-unprescribed"},ai={key:1,class:"unserved-days unserved-muted"},si={class:"video-watch-col"},ii={class:"video-watch-trigger"},li={key:1,class:"video-watch-muted"},oi={key:1,class:"video-watch-muted"},di={class:"pagination-wrap"},ri={class:"min-h-[100px]"},ui={key:0,class:"text-sm text-gray-600 mb-4 pb-3 border-b border-gray-100"},mi={class:"font-medium text-gray-800"},pi={class:"flex flex-wrap items-center gap-2"},ci={class:"text-sm font-medium text-gray-800"},_i={class:"text-xs text-gray-600 mt-1.5 leading-relaxed"},gi={class:"flex flex-col items-center justify-center py-4"},fi={key:0,class:"text-center"},vi={key:1,class:"text-center"},yi=["src"],hi={class:"mt-4 text-sm text-gray-600"},ki={class:"mt-2"},bi={key:2,class:"text-center text-gray-500"},Ci={class:"text-gray-500"},xi={class:"text-gray-500"},Vi={class:"font-medium"},Di={class:"font-medium"},Ai={key:0,class:"mb-4"},Ei={key:0},wi={key:0,class:"mt-2"},Ri={key:1,class:"mt-2"},Ii={class:"mb-4"},$i={class:"flex gap-2"},Si={key:0,class:"text-center text-gray-400 py-10"},Li={key:1,class:"record-list"},Ni={class:"record-header"},zi={class:"flex items-center gap-2"},Pi={class:"font-medium text-sm"},Ti={class:"flex items-center gap-2"},Wi={class:"text-xs text-gray-400"},Fi={class:"record-content"},Mi={key:0,class:"mt-1"},Yi={key:2,class:"text-center mt-4"},Oi=At({name:"tcmDiagnosis"}),Ui=At({...Oi,setup(qi){const Et=ge(()=>_e(()=>import("./edit-Bqsg8jkl.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]))),wt=ge(()=>_e(()=>import("./detail-w3hEgx5f.js"),__vite__mapDeps([99,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),Rt=ge(()=>_e(()=>import("./index-B37DCCed.js"),__vite__mapDeps([90,1,2,3,4,5,6,7,8,9,10,11,12,13,14,91,92,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,93,94,15,95,96]))),It=ge(()=>_e(()=>import("./appointment-phVZQGxv.js"),__vite__mapDeps([100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,101]))),$t=ge(()=>_e(()=>import("./AssistantWatchCallDialog-B4LbqZVg.js"),__vite__mapDeps([102,1,2,3,4,5,6,7,8,9,10,11,12,13,14,103,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,104]))),St=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return Le(e).format("YYYY-MM-DD HH:mm:ss")},tt=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),l=et({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",start_time:"",end_time:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:"",pending_assign_order_month:"",pending_assign_keyword:""}),nt=c("all"),re=c(!1),Lt=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],Nt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],zt=t=>{l.has_appointment=t,l.pending_booking="",l.completed_appointment="",V.page=1,x(),w()},Pt=t=>{l.diagnosis_confirmed=t,l.pending_booking="",l.completed_appointment="",V.page=1,x(),w()};function Tt(t){if(!(t.pending_assign==="1"||t.pending_assign===1))return!1;const r=String(t.pending_assign_keyword??"").trim(),_=String(t.keyword??"").trim();return r!==""||_!==""}function at(t){if(!Tt(t))return t;const e=String(t.pending_assign_keyword??"").trim(),r=String(t.keyword??"").trim(),_=e!==""?e:r;return{page_no:t.page_no,page_size:t.page_size,pending_assign:1,pending_assign_keyword:_}}function Wt(){const t=String(l.pending_assign_order_month??"").trim();return t!==""?t:l.pending_assign==="1"?"":Le().format("YYYY-MM")}function Ft(){return at({...l,page_no:1,page_size:1,pending_assign:1,appointment_date:"",has_appointment:"",pending_booking:"",completed_appointment:"",pending_assign_order_month:Wt()})}const Mt=t=>M(at(t));function Yt(){if(l.pending_assign!=="1")return;const t=(l.pending_assign_keyword??"").trim(),e=(l.keyword??"").trim();t===""&&e===""||(l.appointment_date="",l.pending_booking="",l.completed_appointment="",l.diagnosis_confirmed="",l.has_appointment="",l.diagnosis_type="",l.syndrome_type="",l.assistant_id="",l.start_time="",l.end_time="",l.pending_assign_order_month="",nt.value="all",t!==""&&(l.keyword=""))}const Z=()=>{Yt(),V.page=1,x(),w()},Ot=X(()=>[{label:"昨天挂号",value:Me.value},{label:"前天挂号",value:Ye.value},{label:"当天挂号",value:ve.value},{label:"明天挂号",value:We.value},{label:"后天挂号",value:Fe.value},{label:"全部",value:""}]),Ne=c({}),ze=c(void 0),Pe=c(void 0),Te=c(void 0),Ut=async t=>{l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="",l.completed_appointment="",l.has_appointment="",l.appointment_date=t,V.page=1,await x(),w()},qt=async()=>{l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="1",l.completed_appointment="",l.appointment_date="",l.has_appointment="0",V.page=1,await x(),w()},Qt=async()=>{l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="",l.completed_appointment="1",l.has_appointment="",l.appointment_date="",V.page=1,await x(),w()},Bt=async()=>{l.pending_assign="1",l.pending_booking="",l.completed_appointment="",l.has_appointment="",l.appointment_date="",l.pending_assign_order_month||(l.pending_assign_order_month=Le().format("YYYY-MM")),V.page=1,await x(),w()},Ht=async t=>{l.pending_assign_order_month=t||"",l.pending_assign==="1"&&(V.page=1,await x(),w())},w=async()=>{try{const[t,e,r,_,v,h,A,Q,de]=await Promise.all([M({appointment_date:Me.value,page_no:1,page_size:1}),M({appointment_date:Ye.value,page_no:1,page_size:1}),M({appointment_date:ve.value,page_no:1,page_size:1}),M({appointment_date:We.value,page_no:1,page_size:1}),M({appointment_date:Fe.value,page_no:1,page_size:1}),M({page_no:1,page_size:1}),M({has_appointment:0,page_no:1,page_size:1}),M({completed_appointment:1,page_no:1,page_size:1}),M(Ft())]);Ne.value={[Me.value]:(t==null?void 0:t.count)??0,[Ye.value]:(e==null?void 0:e.count)??0,[ve.value]:(r==null?void 0:r.count)??0,[We.value]:(_==null?void 0:_.count)??0,[Fe.value]:(v==null?void 0:v.count)??0,"":(h==null?void 0:h.count)??0},ze.value=(A==null?void 0:A.count)??0,Pe.value=(Q==null?void 0:Q.count)??0,Te.value=(de==null?void 0:de.count)??0}catch(t){console.error("获取日期数量失败",t)}};function Gt(){const t=()=>w();typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:2500}):setTimeout(t,120)}const Kt=2e4;let fe=null;function jt(){typeof document<"u"&&document.hidden||(x({silent:!0}).catch(()=>{}),w())}const z=t=>String(t).padStart(2,"0"),ve=X(()=>{const t=new Date;return`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),We=X(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),Fe=X(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),Me=X(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),Ye=X(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),st=c([]),it=c([]),ue=c([]),Jt=async()=>{try{const[t,e,r]=await Promise.all([Ct({type:"diagnosis_type"}),Ct({type:"syndrome_type"}),Qa()]);st.value=(t==null?void 0:t.diagnosis_type)||[],it.value=(e==null?void 0:e.syndrome_type)||[],ue.value=r||[]}catch(t){console.error("获取字典数据失败:",t)}},Xt=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(ue.value.length===0)return"...";const r=ue.value.find(_=>(typeof _.id=="string"?parseInt(_.id):_.id)===e);return r?r.name:"-"},{pager:V,getLists:x}=es({fetchFun:Mt,params:l}),Zt=()=>x({silent:!0}),en=()=>{nt.value="all",l.keyword="",l.diagnosis_type="",l.syndrome_type="",l.assistant_id="",l.diagnosis_confirmed="",l.appointment_date="",l.has_appointment="",l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="",l.completed_appointment="",V.page=1,x(),w()},lt=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(r=>r.is_confirmed==1)},tn=t=>{if(t==null)return"unserved-muted";const e=Number(t);return Number.isFinite(e)?e>=7?"unserved-red":e>=3?"unserved-orange":"unserved-green":"unserved-muted"},nn=({row:t})=>lt(t)?t.has_appointment?"":"row-no-appointment":"row-unconfirmed",ae=c(),an=c(),ot=c(),dt=c(),ye=c(null),he=ts();ps([ae,ye],()=>{const t=ye.value,e=ae.value;t==null||!(e!=null&&e.open)||(e.open("edit",t),ye.value=null)},{flush:"post"});const ke=c(!1),rt=c(0),sn=t=>{var r;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((r=he.userInfo)==null?void 0:r.id)},ln=t=>{rt.value=Number(t.id)||0,ke.value=!0},on=t=>sn(t)&&Y(["tcm.diagnosis/watchCall"]),be=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},dn=t=>{const e=t.video_call_hint,r="点击进入实时房间(仅观看,不推流、不上麦)";return e!=null&&e.start_time?`${r}。开始时间:${St(e.start_time)}`:r},rn=t=>{const e=be(t);return e==="live"||e==="pending_room"},un=t=>be(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":dn(t),mn=t=>{if(be(t)!=="live"){g.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}ln(t)},pn=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},cn=t=>{const e=be(t);if(e==="none")return"—";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const r=t.video_call_hint;return(r==null?void 0:r.label)||"—"},se=c(!1),Ce=c(),Oe=c(!1),y=et({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),_n={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},gn=t=>{var e;y.patient_id=t.patient_id||t.id,y.patient_name=t.patient_name,y.phone=t.phone||"",y.order_type="",y.amount=0,y.remark="",y.has_appointment=!!t.has_appointment,y.appointment_time_text=t.appointment_time_text||"",(e=Ce.value)==null||e.clearValidate(),se.value=!0},fn=()=>{var t;y.patient_id="",y.patient_name="",y.phone="",y.order_type="",y.amount=0,y.remark="",y.has_appointment=!1,y.appointment_time_text="",(t=Ce.value)==null||t.clearValidate()},vn=async()=>{var t;try{await((t=Ce.value)==null?void 0:t.validate()),Oe.value=!0;const e=await Za({patient_id:y.patient_id,order_type:y.order_type,amount:y.amount,remark:y.remark});se.value=!1,x();const r=e==null?void 0:e.order_no;if(r){U.value=!0,H.value=!0,G.value="",K.value={patient_name:y.patient_name,has_appointment:y.has_appointment,appointment_time_text:y.appointment_time_text};try{const _=await Ba({order_no:r});_!=null&&_.qrcode_url?G.value=_.qrcode_url:g.msgError("二维码生成失败")}catch(_){g.msgError((_==null?void 0:_.msg)||"生成二维码失败")}finally{H.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Oe.value=!1}},U=c(!1),H=c(!1),G=c(""),K=c(null),yn=X(()=>{const t=K.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ue=c("小程序二维码"),qe=c("confirm"),I=c([]),ie=c([]),ee=c(!1),Qe=c(!1),me=c("batch"),pe=c(null),D=c({assistant_id:null,is_inherit:!1});function hn(){ie.value=[],D.value.assistant_id=null,D.value.is_inherit=!1}const kn=t=>{I.value=t.map(e=>e.id)},xe=t=>Number((t==null?void 0:t.assistant_id)??(t==null?void 0:t.assistant)??0)>0,bn=X(()=>{if(!I.value.length)return!1;const t=new Set(I.value);return V.lists.some(e=>t.has(e.id)&&xe(e))}),Cn=t=>{me.value="single",pe.value=t,ie.value=[],D.value.assistant_id=Number(t.assistant_id)>0?Number(t.assistant_id):null,D.value.is_inherit=!1,ee.value=!0},xn=()=>{if(I.value.length===0){g.msgWarning("请先选择要指派的诊单");return}me.value="batch",pe.value=null,D.value.assistant_id=null,D.value.is_inherit=!1,ie.value=[...I.value],ee.value=!0},Vn=async()=>{if(!D.value.assistant_id){g.msgWarning("请选择医助");return}Qe.value=!0;try{if(me.value==="single")await Se({id:pe.value.id,assistant_id:D.value.assistant_id,is_inherit:D.value.is_inherit?1:0});else{const t=ie.value;if(!t.length){g.msgWarning("没有可指派的诊单,请关闭后重新勾选");return}for(const e of t)await Se({id:e,assistant_id:D.value.assistant_id,is_inherit:D.value.is_inherit?1:0});I.value=[],ie.value=[]}ee.value=!1,x()}catch(t){console.error("指派失败:",t)}finally{Qe.value=!1}},Dn=async t=>{if(!(t!=null&&t.id)||!xe(t)){g.msgWarning("该诊单未指派医助");return}await g.confirm("确定取消该诊单的医助指派吗?"),await Se({id:t.id,assistant_id:0}),x()},An=async()=>{if(!I.value.length){g.msgWarning("请先选择诊单");return}const t=new Set(I.value),e=V.lists.filter(r=>t.has(r.id)&&xe(r));if(!e.length){g.msgWarning("所选诊单中没有已指派医助的记录");return}await g.confirm(`确定取消 ${e.length} 条诊单的医助指派吗?`),await Promise.all(e.map(r=>Se({id:r.id,assistant_id:0}))),I.value=[],x()},En=()=>{ae.value.open("add")},wn=t=>{ae.value.open("edit",t)};function Rn(t){return l.pending_assign==="1"?"开方":Number(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方"}const In=t=>{var e;if(!(t!=null&&t.id)){g.msgWarning("诊单信息不完整");return}(e=ot.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},$n=()=>{var t,e;x(),(e=(t=ae.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Sn=async t=>{await g.confirm("确定要删除该诊单吗?"),await Ja({id:t}),x()},Ln=(t,e)=>{switch(t){case"assign":Cn(e);break;case"cancelAssign":Dn(e);break;case"videoQr":if(!ce(e)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}pt(e);break;case"confirmQr":ct(e);break;case"cancelApt":Fn(e);break;case"guahaoLogs":Un(e);break;case"order":gn(e);break;case"delete":Sn(e.id);break}},Nn=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},zn=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},Ve=t=>{const e=Array.isArray(t.appointments)?t.appointments:[];return e.length>0?e:t.has_appointment?[{id:t.appointment_id,status:t.appointment_status,doctor_id:t.appointment_doctor_id,doctor_name:t.appointment_doctor_name,time_text:t.appointment_time_text}]:[]},Pn=t=>{const e=Number(t==null?void 0:t.status);return{"apt-item-done":e===3,"apt-item-missed":e===4,"apt-item-active":e===1}},Tn=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},ce=t=>t.has_appointment&&Number(t.appointment_status)===1,ut=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Be=t=>{const e=Number(t==null?void 0:t.status);return!!(t!=null&&t.id&&(e===1||e===4))},Wn=t=>ut(t)?Ve(t).length<=1:!1,Fn=async t=>{var v;if(!ut(t)){const h=Number(t.appointment_status);t.has_appointment&&h===3?g.msgWarning("已完成就诊,无法取消挂号"):g.msgWarning("该诊单未挂号或挂号信息异常");return}const e=Ve(t),r=e.length===1?e[0]:null,_=r!=null&&r.id&&Be(r)?r.id:t.appointment_id;try{await g.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await bt({id:_}),g.msgSuccess("取消挂号成功"),x(),w(),te.value&&((v=q.value)==null?void 0:v.id)===t.id&&await Ae(t.id)}catch(h){h!=="cancel"&&g.msgError((h==null?void 0:h.msg)||"取消挂号失败")}},Mn=async(t,e)=>{var v;if(!Be(e)){Number(e==null?void 0:e.status)===3?g.msgWarning("已完成就诊,无法取消挂号"):g.msgWarning("该挂号无法取消");return}const r=e.doctor_name||"—",_=e.time_text||"—";try{await g.confirm(`确定取消「${r}」${_} 的挂号吗?(患者:${t.patient_name||"—"})`),await bt({id:e.id}),g.msgSuccess("取消挂号成功"),x(),w(),te.value&&((v=q.value)==null?void 0:v.id)===t.id&&await Ae(t.id)}catch(h){h!=="cancel"&&g.msgError((h==null?void 0:h.msg)||"取消挂号失败")}},te=c(!1),De=c(!1),le=c([]),q=c(null);function Yn(){le.value=[],q.value=null}function On(t){const e=String((t==null?void 0:t.admin_name)||"").trim(),r=Number(t==null?void 0:t.admin_id);return e||(r>0?`管理员 #${r}`:"—")}async function Ae(t){De.value=!0;try{const e=await Ha({id:t});le.value=Array.isArray(e==null?void 0:e.data)?e.data:Array.isArray(e)?e:[]}catch{le.value=[]}finally{De.value=!1}}async function Un(t){if(!(t!=null&&t.id)){g.msgWarning("诊单信息不完整");return}q.value=t,te.value=!0,await Ae(Number(t.id))}async function qn(){var t;await x({silent:!0}),w(),te.value&&((t=q.value)!=null&&t.id)&&await Ae(Number(q.value.id))}const Qn=t=>{var e;if(!t.patient_id){g.msgWarning("患者信息不完整");return}(e=dt.value)==null||e.open(t)},oe=c(!1),He=c(!1),mt=c(),P=et({id:0,patient_name:"",id_card:""}),Bn={id_card:[{required:!0,validator:(t,e,r)=>{if(!e){r(new Error("请输入身份证号"));return}const _=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),v=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);_||v?r():r(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},Hn=t=>{P.id=t.id,P.patient_name=t.patient_name||"-",P.id_card=t.id_card||"",oe.value=!0},Gn=async()=>{var t;await((t=mt.value)==null?void 0:t.validate()),He.value=!0;try{await Ga({id:P.id,id_card:P.id_card}),g.msgSuccess("补全成功,年龄已自动更新"),oe.value=!1,x()}catch(e){g.msgError((e==null?void 0:e.msg)||"补全失败")}finally{He.value=!1}},pt=async t=>{var e;if(!ce(t)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}qe.value="video",K.value=t,U.value=!0,H.value=!0,G.value="",Ue.value="视频二维码";try{const r=await xt();if(!(r!=null&&r.app_id)){g.msgError("小程序未配置,请先配置小程序信息"),U.value=!1;return}const _=await ht({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=he.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});_!=null&&_.qrcode_url?G.value=_.qrcode_url:g.msgError("二维码生成失败")}catch(r){g.msgError((r==null?void 0:r.msg)||"生成二维码失败,请重试")}finally{H.value=!1}},ct=async t=>{if(!ce(t)){g.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}qe.value="confirm",K.value=t,U.value=!0,H.value=!0,G.value="",Ue.value="诊单二维码";try{const e=await xt();if(!(e!=null&&e.app_id)){g.msgError("小程序未配置,请先配置小程序信息"),U.value=!1;return}const r=he.userInfo,_=await ht({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:(r==null?void 0:r.id)||""});_!=null&&_.qrcode_url?G.value=_.qrcode_url:g.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),g.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{H.value=!1}},Kn=()=>{K.value&&(qe.value==="video"?pt(K.value):ct(K.value))},Ee=c(!1),L=c(null),j=c([]),we=c(0),Ge=c(!1),N=c(null),ne=c(""),Ke=c(!1),je=c(1),jn=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return Le(e).format("YYYY-MM-DD HH:mm")},Jn=async t=>{L.value=t,Ee.value=!0,j.value=[],we.value=0,N.value=null,ne.value="",je.value=1,Ge.value=!0;try{const[e,r]=await Promise.all([kt({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),Xa({patient_id:t.patient_id||t.id}).catch(()=>null)]);j.value=(e==null?void 0:e.lists)||[],we.value=(e==null?void 0:e.count)||0,N.value=r}catch(e){console.error("加载企业微信记录失败:",e)}finally{Ge.value=!1}},Xn=async()=>{if(L.value){je.value++;try{const t=await kt({diagnosis_id:L.value.id,patient_id:L.value.patient_id,page_no:je.value,page_size:20});j.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error("加载更多记录失败:",t)}}},Zn=async()=>{var t;if(!ne.value.trim()){g.msgWarning("请输入内容");return}Ke.value=!0;try{await Ka({diagnosis_id:L.value.id,patient_id:L.value.patient_id,content:ne.value.trim(),msg_type:"note",staff_name:((t=he.userInfo)==null?void 0:t.name)||"",external_name:L.value.patient_name||""}),ne.value="",Jn(L.value)}catch(e){g.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Ke.value=!1}},ea=async t=>{await g.confirm("确定删除该记录吗?");try{await ja({id:t}),j.value=j.value.filter(e=>e.id!==t),we.value--}catch(e){g.msgError((e==null?void 0:e.msg)||"删除失败")}},ta=us(),na=ms(),_t=t=>{if(!Y(["tcm.diagnosis/readonlyDetail"]))return;const e=Number(t==null?void 0:t.id);!e||e<=0||na.push({path:"/tcm/diagnosis-readonly",query:{id:String(e)}})};return cs(()=>{l.appointment_date=ve.value,Jt(),x(),Gt(),fe=setInterval(jt,Kt);const t=ta.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(ye.value=e)}}),_s(()=>{fe!=null&&(clearInterval(fe),fe=null)}),(t,e)=>{var vt;const r=ga,_=fa,v=va,h=ya,A=ka,Q=ha,de=ba,$=xa,T=Va,gt=Da,J=wa,aa=Ea,sa=Aa,ia=Ca,la=Ua,oa=Ia,da=Sa,ra=$a,ft=La,Re=Na,W=Pa,ua=Ta,Je=za,ma=Wa,Ie=Ma,pa=Fa,ca=Ya,_a=Oa,F=gs("perms"),Xe=Ra;return o(),u("div",fs,[i(de,{class:"filter-card !border-none",shadow:"never"},{default:s(()=>[d("div",vs,[d("div",ys,[(o(!0),u(E,null,S(Ot.value,n=>(o(),u("span",{key:n.value,class:O(["chip",{active:a(l).pending_assign!=="1"&&a(l).pending_booking!=="1"&&a(l).completed_appointment!=="1"&&a(l).appointment_date===n.value}]),onClick:k=>Ut(n.value)},[m(p(n.label)+" ",1),a(Ne)[n.value]!==void 0?(o(),u("em",ks,p(a(Ne)[n.value]),1)):C("",!0)],10,hs))),128)),d("span",{class:O(["chip","chip-pending-booking",{active:a(l).pending_booking==="1"}]),onClick:qt},[e[29]||(e[29]=m(" 待预约 ",-1)),a(ze)!==void 0?(o(),u("em",bs,p(a(ze)),1)):C("",!0)],2),d("span",{class:O(["chip","chip-completed-visit",{active:a(l).completed_appointment==="1"}]),onClick:Qt},[e[30]||(e[30]=m(" 已完成 ",-1)),a(Pe)!==void 0?(o(),u("em",Cs,p(a(Pe)),1)):C("",!0)],2),R((o(),u("span",xs,[d("span",{class:O(["chip","chip-pending",{active:a(l).pending_assign==="1"}]),onClick:Bt},[e[31]||(e[31]=m(" 待分配医助 ",-1)),a(Te)!==void 0?(o(),u("em",Vs,p(a(Te)),1)):C("",!0)],2),a(l).pending_assign==="1"?(o(),f(r,{key:0,modelValue:a(l).pending_assign_order_month,"onUpdate:modelValue":e[0]||(e[0]=n=>a(l).pending_assign_order_month=n),type:"month",placeholder:"订单月份","value-format":"YYYY-MM",clearable:"",class:"pending-assign-month",onChange:Ht},null,8,["modelValue"])):C("",!0),a(l).pending_assign==="1"?(o(),f(_,{key:1,modelValue:a(l).pending_assign_keyword,"onUpdate:modelValue":e[1]||(e[1]=n=>a(l).pending_assign_keyword=n),placeholder:"搜身份证/诊单ID/患者号/备注…",clearable:"",class:"pending-assign-search",onKeyup:yt(Z,["enter"]),onClear:Z},null,8,["modelValue"])):C("",!0)])),[[F,["tcm.diagnosis/assign"]]])]),d("div",Ds,[i(_,{modelValue:a(l).keyword,"onUpdate:modelValue":e[2]||(e[2]=n=>a(l).keyword=n),placeholder:"患者姓名 / 手机号",clearable:"",class:"search-input",onKeyup:yt(Z,["enter"])},null,8,["modelValue"]),i(v,{type:"primary",onClick:Z},{default:s(()=>[...e[32]||(e[32]=[m("查询",-1)])]),_:1})])]),d("div",As,[e[33]||(e[33]=d("span",{class:"chip-label"},"挂号:",-1)),(o(),u(E,null,S(Lt,n=>d("span",{key:n.value,class:O(["chip","chip-sm",{active:a(l).has_appointment===n.value}]),onClick:k=>zt(n.value)},p(n.label),11,Es)),64)),e[34]||(e[34]=d("span",{class:"chip-divider"},null,-1)),e[35]||(e[35]=d("span",{class:"chip-label"},"确认:",-1)),(o(),u(E,null,S(Nt,n=>d("span",{key:n.value,class:O(["chip","chip-sm",{active:a(l).diagnosis_confirmed===n.value}]),onClick:k=>Pt(n.value)},p(n.label),11,ws)),64)),i(v,{link:"",type:"primary",size:"small",class:"more-btn",onClick:e[3]||(e[3]=n=>re.value=!a(re))},{default:s(()=>[m(p(a(re)?"收起":"更多筛选")+" ",1),i(h,{class:O({"rotate-180":a(re)})},{default:s(()=>[i(a(Vt))]),_:1},8,["class"])]),_:1})]),R(d("div",Rs,[i(Q,{modelValue:a(l).diagnosis_type,"onUpdate:modelValue":e[4]||(e[4]=n=>a(l).diagnosis_type=n),placeholder:"诊断类型",clearable:"",size:"small",onChange:Z},{default:s(()=>[(o(!0),u(E,null,S(a(st),n=>(o(),f(A,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),i(Q,{modelValue:a(l).syndrome_type,"onUpdate:modelValue":e[5]||(e[5]=n=>a(l).syndrome_type=n),placeholder:"证型",clearable:"",size:"small",onChange:Z},{default:s(()=>[(o(!0),u(E,null,S(a(it),n=>(o(),f(A,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),i(Q,{modelValue:a(l).assistant_id,"onUpdate:modelValue":e[6]||(e[6]=n=>a(l).assistant_id=n),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:Z},{default:s(()=>[(o(!0),u(E,null,S(a(ue),n=>(o(),f(A,{key:n.id,label:n.name,value:Number(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),i(v,{size:"small",onClick:en},{default:s(()=>[...e[36]||(e[36]=[m("重置",-1)])]),_:1})],512),[[qa,a(re)]])]),_:1}),i(de,{class:"!border-none mt-3 list-card",shadow:"never"},{default:s(()=>[d("div",Is,[d("div",$s,[R((o(),f(v,{type:"primary",onClick:En},{default:s(()=>[...e[37]||(e[37]=[m("新增诊单",-1)])]),_:1})),[[F,["tcm.diagnosis/add"]]]),R((o(),f(v,{type:"success",onClick:xn,disabled:a(I).length===0},{default:s(()=>[...e[38]||(e[38]=[m(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[F,["tcm.diagnosis/assign"]]]),R((o(),f(v,{type:"warning",plain:"",onClick:An,disabled:!bn.value},{default:s(()=>[...e[39]||(e[39]=[m(" 批量取消指派 ",-1)])]),_:1},8,["disabled"])),[[F,["tcm.diagnosis/assign"]]])]),a(I).length>0?(o(),u("div",Ss,"已选 "+p(a(I).length)+" 条",1)):C("",!0)]),d("div",Ls,[R((o(),f(ia,{data:a(V).lists,"row-key":"id",size:"default",onSelectionChange:kn,onRowDblclick:_t,"row-class-name":nn,class:"diagnosis-table",stripe:""},{default:s(()=>[i($,{type:"selection",width:"48",align:"center"}),i($,{label:"ID","min-width":"70"},{default:s(({row:n})=>[d("div",Ns,[d("div",zs,[d("div",Ps,[m(p(n.id)+" ",1),n.assign_read_at===null&&n.assistant_id>0?(o(),f(T,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-1"},{default:s(()=>[...e[40]||(e[40]=[m("NEW",-1)])]),_:1})):C("",!0)])])])]),_:1}),i($,{label:"患者","min-width":"60"},{default:s(({row:n})=>[d("div",Ts,[d("div",Ws,[d("div",Fs,p(n.patient_name),1)])])]),_:1}),i($,{label:" 性别 / 年龄",width:"100",align:"left"},{default:s(({row:n})=>[d("div",null,p(n.gender_desc||"-")+" · "+p(n.age??"-")+"岁",1)]),_:1}),i($,{label:"挂号","min-width":"175"},{default:s(({row:n})=>[d("div",{class:O(["appointment-cell",Tn(n)])},[n.has_appointment?(o(),u(E,{key:0},[Ve(n).length?(o(!0),u(E,{key:0},S(Ve(n),k=>(o(),u("div",{key:k.id||`${k.doctor_id}-${k.time_text}`,class:O(["apt-item",Pn(k)])},[d("div",Ms,p(zn(k.status)),1),d("div",Ys,p(k.doctor_name||"-"),1),d("div",Os,p(k.time_text||"-"),1),Be(k)?(o(),u("div",Us,[R((o(),f(v,{type:"danger",link:"",size:"small",onClick:Ze(b=>Mn(n,k),["stop"])},{default:s(()=>[...e[41]||(e[41]=[m(" 取消挂号 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/guahao"]]])])):C("",!0)],2))),128)):(o(),u(E,{key:1},[d("div",qs,p(Nn(n)),1),d("div",Qs,p(n.appointment_doctor_name||"-"),1),d("div",Bs,p(n.appointment_time_text||"-"),1)],64))],64)):(o(),u("span",Hs,"未挂号"))],2)]),_:1}),i($,{label:"确认",width:"88",align:"center"},{default:s(({row:n})=>[lt(n)?(o(),u("span",Gs,"已确认")):(o(),u("span",Ks,"未确认"))]),_:1}),i($,{label:"复诊","min-width":"120"},{default:s(({row:n})=>[n.has_prescription?(o(),u("div",js,[d("div",Js,p(n.followup_time_text||"—"),1),d("div",Xs,p(n.followup_doctor_name||"—"),1),n.followup_rx_voided?(o(),f(T,{key:0,type:"info",size:"small",effect:"plain",class:"followup-void-tag"},{default:s(()=>[...e[42]||(e[42]=[m(" 处方已作废 ",-1)])]),_:1})):C("",!0)])):(o(),u("span",Zs,"无"))]),_:1}),i($,{label:"助理",width:"100","show-overflow-tooltip":""},{default:s(({row:n})=>[d("span",ei,p(Xt(n.assistant_id||n.assistant)),1)]),_:1}),i($,{label:"开方",width:"72",align:"center"},{default:s(({row:n})=>[n.has_prescription?(o(),u("span",ti,"已开方")):(o(),u("span",ni,"未开方"))]),_:1}),i($,{label:"未服务天数",width:"110",align:"center"},{default:s(({row:n})=>[n.last_blood_record_at?(o(),f(gt,{key:0,content:`最近一次健康打卡:${n.last_blood_record_at}`,placement:"top"},{default:s(()=>[d("span",{class:O(["unserved-days",tn(n.unserved_days)])},p(n.unserved_days??"—"),3)]),_:2},1032,["content"])):(o(),u("span",ai,"—"))]),_:1}),i($,{label:"视频旁观",width:"120",fixed:"right",align:"center"},{default:s(({row:n})=>[d("div",si,[on(n)?(o(),u(E,{key:0},[rn(n)?(o(),f(gt,{key:0,content:un(n),placement:"top"},{default:s(()=>[d("span",ii,[i(v,{type:"primary",link:"",size:"small",onClick:k=>mn(n)},{default:s(()=>[...e[43]||(e[43]=[m(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(o(),u("span",li,p(pn(n)),1))],64)):(o(),u("span",oi,p(cn(n)),1))])]),_:1}),i($,{label:"操作",width:"340",fixed:"right",align:"left"},{default:s(({row:n})=>[d("div",{class:"action-cell",onClick:e[7]||(e[7]=Ze(()=>{},["stop"])),onDblclick:e[8]||(e[8]=Ze(()=>{},["stop"]))},[R((o(),f(v,{type:"primary",link:"",size:"small",onClick:k=>_t(n)},{default:s(()=>[...e[44]||(e[44]=[m(" 查看 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/readonlyDetail"]]]),R((o(),f(v,{type:"primary",link:"",size:"small",onClick:k=>wn(n.id)},{default:s(()=>[...e[45]||(e[45]=[m("诊单",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/edit"]]]),R((o(),f(v,{type:"primary",link:"",size:"small",onClick:k=>In(n)},{default:s(()=>[m(p(Rn(n)),1)]),_:2},1032,["onClick"])),[[F,["tcm.diagnosis/kaifang"]]]),R((o(),f(v,{type:"success",link:"",size:"small",onClick:k=>Qn(n)},{default:s(()=>[...e[46]||(e[46]=[m("预约",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/guahao"]]]),R((o(),f(v,{type:"warning",link:"",size:"small",onClick:k=>Hn(n)},{default:s(()=>[...e[47]||(e[47]=[m("补全身份证",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/edit"]]]),i(sa,{trigger:"click",onCommand:k=>Ln(k,n),placement:"bottom-end"},{dropdown:s(()=>[i(aa,null,{default:s(()=>[a(Y)(["tcm.diagnosis/assign"])?(o(),f(J,{key:0,command:"assign"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(as))]),_:1}),e[49]||(e[49]=m("指派",-1))]),_:1})):C("",!0),a(Y)(["tcm.diagnosis/assign"])&&xe(n)?(o(),f(J,{key:1,command:"cancelAssign"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ss))]),_:1}),e[50]||(e[50]=m("取消指派 ",-1))]),_:1})):C("",!0),ce(n)&&a(Y)(["tcm.diagnosis/videoQr"])?(o(),f(J,{key:2,command:"videoQr"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(Dt))]),_:1}),e[51]||(e[51]=m("视频二维码",-1))]),_:1})):C("",!0),a(Y)(["tcm.diagnosis/guahao"])&&ce(n)?(o(),f(J,{key:3,command:"confirmQr"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(Dt))]),_:1}),e[52]||(e[52]=m("二维码",-1))]),_:1})):C("",!0),Wn(n)&&a(Y)(["tcm.diagnosis/guahao"])?(o(),f(J,{key:4,command:"cancelApt"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(is))]),_:1}),e[53]||(e[53]=m("取消挂号 ",-1))]),_:1})):C("",!0),a(Y)(["tcm.diagnosis/guahaoLogList"])?(o(),f(J,{key:5,command:"guahaoLogs"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ls))]),_:1}),e[54]||(e[54]=m("挂号日志",-1))]),_:1})):C("",!0),a(Y)(["tcm.diagnosis/order"])?(o(),f(J,{key:6,command:"order"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(os))]),_:1}),e[55]||(e[55]=m("创建订单",-1))]),_:1})):C("",!0),a(Y)(["tcm.diagnosis/delete"])?(o(),f(J,{key:7,command:"delete",divided:""},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ds))]),_:1}),e[56]||(e[56]=d("span",{class:"text-danger"},"删除",-1))]),_:1})):C("",!0)]),_:2},1024)]),default:s(()=>[i(v,{type:"info",link:"",size:"small"},{default:s(()=>[e[48]||(e[48]=m("更多",-1)),i(h,{class:"el-icon--right"},{default:s(()=>[i(a(Vt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])],32)]),_:1})]),_:1},8,["data"])),[[Xe,a(V).loading]]),d("div",di,[i(la,{modelValue:a(V),"onUpdate:modelValue":e[9]||(e[9]=n=>B(V)?V.value=n:null),onChange:a(x)},null,8,["modelValue","onChange"])])])]),_:1}),i(a(Et),{ref_key:"editRef",ref:ae,onSuccess:Zt},null,512),i(a(wt),{ref_key:"detailRef",ref:an},null,512),i(a(Rt),{ref_key:"prescriptionRef",ref:ot,onSuccess:$n},null,512),i(a(It),{ref_key:"appointmentRef",ref:dt,onSuccess:qn},null,512),i(a($t),{modelValue:a(ke),"onUpdate:modelValue":e[10]||(e[10]=n=>B(ke)?ke.value=n:null),"diagnosis-id":a(rt),onClosed:a(x)},null,8,["modelValue","diagnosis-id","onClosed"]),i(ft,{modelValue:a(te),"onUpdate:modelValue":e[11]||(e[11]=n=>B(te)?te.value=n:null),title:"挂号操作日志",size:"460px","destroy-on-close":"",onClosed:Yn},{default:s(()=>[R((o(),u("div",ri,[a(q)?(o(),u("div",ui,[d("span",mi,p(a(q).patient_name),1),e[57]||(e[57]=d("span",{class:"mx-2 text-gray-300"},"|",-1)),d("span",null,"诊单 #"+p(a(q).id),1)])):C("",!0),!a(De)&&a(le).length===0?(o(),f(oa,{key:1,description:"暂无挂号/取消挂号操作记录"})):a(le).length>0?(o(),f(ra,{key:2},{default:s(()=>[(o(!0),u(E,null,S(a(le),(n,k)=>(o(),f(da,{key:n.id??k,timestamp:n.create_time_text||"—",placement:"top"},{default:s(()=>[d("div",pi,[i(T,{size:"small",type:"info"},{default:s(()=>[m(p(n.action_desc),1)]),_:2},1024),d("span",ci,p(On(n)),1)]),d("div",_i,p(n.summary),1)]),_:2},1032,["timestamp"]))),128))]),_:1})):C("",!0)])),[[Xe,a(De)]])]),_:1},8,["modelValue"]),i(Re,{modelValue:a(U),"onUpdate:modelValue":e[13]||(e[13]=n=>B(U)?U.value=n:null),title:a(Ue),width:"400px","close-on-click-modal":!1},{footer:s(()=>[i(v,{onClick:e[12]||(e[12]=n=>U.value=!1)},{default:s(()=>[...e[60]||(e[60]=[m("关闭",-1)])]),_:1}),a(H)?C("",!0):(o(),f(v,{key:0,type:"primary",onClick:Kn},{default:s(()=>[...e[61]||(e[61]=[m(" 重新生成 ",-1)])]),_:1}))]),default:s(()=>{var n;return[d("div",gi,[a(H)?(o(),u("div",fi,[i(h,{class:"is-loading",size:40},{default:s(()=>[i(a(rs))]),_:1}),e[58]||(e[58]=d("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):a(G)?(o(),u("div",vi,[d("img",{src:a(G),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,yi),d("div",hi,[d("div",null,"患者:"+p((n=a(K))==null?void 0:n.patient_name),1),d("div",ki,"挂号时间:"+p(yn.value),1),e[59]||(e[59]=d("div",{class:"mt-2"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(o(),u("div",bi," 生成失败,请重试 "))])]}),_:1},8,["modelValue","title"]),i(Re,{modelValue:a(ee),"onUpdate:modelValue":e[17]||(e[17]=n=>B(ee)?ee.value=n:null),title:a(me)==="batch"?"批量指派医助":"指派医助",width:"500px",onClosed:hn},{footer:s(()=>[i(v,{onClick:e[16]||(e[16]=n=>ee.value=!1)},{default:s(()=>[...e[64]||(e[64]=[m("取消",-1)])]),_:1}),i(v,{type:"primary",onClick:Vn,loading:a(Qe)},{default:s(()=>[...e[65]||(e[65]=[m(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[i(Je,{model:a(D),"label-width":"100px"},{default:s(()=>[i(W,{label:"选择医助",required:""},{default:s(()=>[i(Q,{modelValue:a(D).assistant_id,"onUpdate:modelValue":e[14]||(e[14]=n=>a(D).assistant_id=n),placeholder:"请选择医助",class:"w-full",filterable:"",clearable:""},{default:s(()=>[(o(!0),u(E,null,S(a(ue),n=>(o(),f(A,{key:n.id,label:n.name,value:Number(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),i(W,{label:"继承"},{default:s(()=>[i(ua,{modelValue:a(D).is_inherit,"onUpdate:modelValue":e[15]||(e[15]=n=>a(D).is_inherit=n)},{default:s(()=>[...e[62]||(e[62]=[m("继承",-1)])]),_:1},8,["modelValue"]),e[63]||(e[63]=d("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),a(me)==="batch"?(o(),f(W,{key:0,label:"已选择"},{default:s(()=>[d("div",Ci,p(a(ie).length)+" 条诊单记录",1)]),_:1})):(o(),f(W,{key:1,label:"诊单信息"},{default:s(()=>{var n,k;return[d("div",xi,[d("div",null,"患者:"+p((n=a(pe))==null?void 0:n.patient_name),1),d("div",null,"诊断日期:"+p((k=a(pe))==null?void 0:k.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),i(Re,{modelValue:a(se),"onUpdate:modelValue":e[22]||(e[22]=n=>B(se)?se.value=n:null),title:"创建订单",width:"600px",onClose:fn},{footer:s(()=>[i(v,{onClick:e[21]||(e[21]=n=>se.value=!1)},{default:s(()=>[...e[66]||(e[66]=[m("取消",-1)])]),_:1}),i(v,{type:"primary",onClick:vn,loading:a(Oe)},{default:s(()=>[...e[67]||(e[67]=[m("创建订单",-1)])]),_:1},8,["loading"])]),default:s(()=>[i(Je,{ref_key:"orderFormRef",ref:Ce,model:a(y),rules:_n,"label-width":"100px"},{default:s(()=>[i(W,{label:"患者"},{default:s(()=>[d("span",Vi,p(a(y).patient_name)+" ("+p(tt(a(y).phone))+")",1)]),_:1}),i(W,{label:"订单类型",prop:"order_type"},{default:s(()=>[i(Q,{modelValue:a(y).order_type,"onUpdate:modelValue":e[18]||(e[18]=n=>a(y).order_type=n),placeholder:"请选择",class:"w-full"},{default:s(()=>[i(A,{label:"挂号费",value:1}),i(A,{label:"问诊费",value:2}),i(A,{label:"药品费用",value:3}),i(A,{label:"首付费用",value:4}),i(A,{label:"尾款费用",value:5}),i(A,{label:"其他费用",value:6}),i(A,{label:"全部费用",value:7}),i(A,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),i(W,{label:"订单金额",prop:"amount"},{default:s(()=>[i(ma,{modelValue:a(y).amount,"onUpdate:modelValue":e[19]||(e[19]=n=>a(y).amount=n),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"w-full"},null,8,["modelValue"])]),_:1}),i(W,{label:"备注",prop:"remark"},{default:s(()=>[i(_,{modelValue:a(y).remark,"onUpdate:modelValue":e[20]||(e[20]=n=>a(y).remark=n),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),i(Re,{modelValue:a(oe),"onUpdate:modelValue":e[25]||(e[25]=n=>B(oe)?oe.value=n:null),title:"补全身份证号",width:"400px","close-on-click-modal":!1,onClose:e[26]||(e[26]=n=>a(P).id_card="")},{footer:s(()=>[i(v,{onClick:e[24]||(e[24]=n=>oe.value=!1)},{default:s(()=>[...e[68]||(e[68]=[m("取消",-1)])]),_:1}),i(v,{type:"primary",onClick:Gn,loading:a(He)},{default:s(()=>[...e[69]||(e[69]=[m("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:s(()=>[i(Je,{ref_key:"fillIdCardFormRef",ref:mt,model:a(P),rules:Bn,"label-width":"80px"},{default:s(()=>[i(W,{label:"患者"},{default:s(()=>[d("span",Di,p(a(P).patient_name),1)]),_:1}),i(W,{label:"身份证号",prop:"id_card"},{default:s(()=>[i(_,{modelValue:a(P).id_card,"onUpdate:modelValue":e[23]||(e[23]=n=>a(P).id_card=n),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),i(ft,{modelValue:a(Ee),"onUpdate:modelValue":e[28]||(e[28]=n=>B(Ee)?Ee.value=n:null),title:`企业微信记录 - ${((vt=a(L))==null?void 0:vt.patient_name)||""}`,size:"600px","destroy-on-close":!0},{default:s(()=>{var n,k;return[a(N)?(o(),u("div",Ai,[i(pa,{column:2,border:"",size:"small"},{default:s(()=>[i(Ie,{label:"患者姓名"},{default:s(()=>{var b;return[m(p((b=a(L))==null?void 0:b.patient_name),1)]}),_:1}),i(Ie,{label:"手机号"},{default:s(()=>[m(p(tt(a(N).phone)||"-"),1)]),_:1}),i(Ie,{label:"企微联系人ID"},{default:s(()=>[a(N).external_userid?(o(),u("span",Ei,p(a(N).external_userid),1)):(o(),f(T,{key:1,type:"info",size:"small"},{default:s(()=>[...e[70]||(e[70]=[m("未关联",-1)])]),_:1}))]),_:1}),i(Ie,{label:"会话存档"},{default:s(()=>[a(N).msgaudit_enabled?(o(),f(T,{key:0,type:"success",size:"small"},{default:s(()=>[...e[71]||(e[71]=[m("已开通",-1)])]),_:1})):(o(),f(T,{key:1,type:"info",size:"small"},{default:s(()=>[...e[72]||(e[72]=[m("未配置",-1)])]),_:1}))]),_:1})]),_:1}),(n=a(N).permit_users)!=null&&n.length?(o(),u("div",wi,[e[73]||(e[73]=d("span",{class:"text-sm text-gray-500 mr-2"},"存档成员:",-1)),(o(!0),u(E,null,S(a(N).permit_users,b=>(o(),f(T,{key:b,size:"small",class:"mr-1"},{default:s(()=>[m(p(b),1)]),_:2},1024))),128))])):C("",!0),(k=a(N).msgaudit_agree)!=null&&k.length?(o(),u("div",Ri,[e[74]||(e[74]=d("span",{class:"text-sm text-gray-500 mr-2"},"存档同意:",-1)),(o(!0),u(E,null,S(a(N).msgaudit_agree,(b,$e)=>(o(),f(T,{key:$e,type:b.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:s(()=>[m(p(b.userid)+": "+p(b.agree_status==="Agree"?"已同意":b.agree_status),1)]),_:2},1032,["type"]))),128))])):C("",!0)])):C("",!0),i(ca),d("div",Ii,[d("div",$i,[i(_,{modelValue:a(ne),"onUpdate:modelValue":e[27]||(e[27]=b=>B(ne)?ne.value=b:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),i(v,{type:"primary",onClick:Zn,loading:a(Ke),class:"self-end"},{default:s(()=>[...e[75]||(e[75]=[m(" 添加 ",-1)])]),_:1},8,["loading"])])]),R((o(),u("div",null,[a(j).length===0?(o(),u("div",Si," 暂无聊天记录 ")):(o(),u("div",Li,[(o(!0),u(E,null,S(a(j),b=>{var $e;return o(),u("div",{key:b.id,class:"record-item"},[d("div",Ni,[d("div",zi,[i(T,{type:b.direction===0?"primary":"success",size:"small"},{default:s(()=>[m(p(b.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),d("span",Pi,p(b.direction===0?b.staff_name:b.external_name||(($e=a(L))==null?void 0:$e.patient_name)),1),b.msg_type==="note"?(o(),f(T,{key:0,type:"warning",size:"small"},{default:s(()=>[...e[76]||(e[76]=[m("备注",-1)])]),_:1})):C("",!0)]),d("div",Ti,[d("span",Wi,p(jn(b.chat_time)),1),i(v,{type:"danger",link:"",size:"small",onClick:Bi=>ea(b.id)},{default:s(()=>[...e[77]||(e[77]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])])]),d("div",Fi,p(b.content),1),b.media_url?(o(),u("div",Mi,[i(_a,{src:b.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[b.media_url]},null,8,["src","preview-src-list"])])):C("",!0)])}),128))])),a(we)>a(j).length?(o(),u("div",Yi,[i(v,{link:"",type:"primary",onClick:Xn},{default:s(()=>[...e[78]||(e[78]=[m("加载更多",-1)])]),_:1})])):C("",!0)])),[[Xe,a(Ge)]])]}),_:1},8,["modelValue","title"])])}}}),Tl=ns(Ui,[["__scopeId","data-v-df3ce361"]]);export{Tl as default};
diff --git a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-CJvDveQH.js b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DxwD8bBq.js
similarity index 96%
rename from server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-CJvDveQH.js
rename to server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DxwD8bBq.js
index 2e1f7b4f..3f6b5d90 100644
--- a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-CJvDveQH.js
+++ b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DxwD8bBq.js
@@ -1 +1 @@
-import{D as N,B as q,G as D,I as S,C as H,i as I}from"./element-plus-lurTijPg.js";import{_ as O}from"./index-NODwdV06.js";import{i as f}from"./index-hTkp7Jz4.js";import{f as U,ak as g,I as v,a as t,aN as l,J as c,H as w,O as i,G}from"./@vue/runtime-core-C6bnekPw.js";import{Q as m}from"./@vue/shared-mAAVTE9n.js";import{y as a,q as z,r as E}from"./@vue/reactivity-DiY1c2vO.js";const h={class:"export-data"},j={key:0,class:"text-sm text-gray-500 mb-3 leading-relaxed"},L={class:"flex"},P=U({__name:"index",props:{params:{type:Object,default:()=>({})},pageSize:{type:Number,default:25},fetchFun:{type:Function,required:!0},exportHint:{type:String,default:""}},setup(R){const x=z(),n=R,y=z(),o=E({page_type:0,page_start:1,page_end:200,file_name:""}),k={page_start:[{required:!0,message:"请输入起始页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,p)=>{if(e<=0)return p(new Error("页码必须大于0"));p()}}],page_end:[{required:!0,message:"请输入结束页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,p)=>{if(e<=0)return p(new Error("页码必须大于0"));p()}}]},u=E({count:0,sum_page:0,page_size:0,max_page:0,all_max_size:0}),V=async()=>{const r=await n.fetchFun({...n.params,page_size:n.pageSize,export:1});Object.assign(u,r),o.file_name=r.file_name,o.page_end=r.page_end,o.page_start=r.page_start},B=async()=>{var r,e;await((r=x.value)==null?void 0:r.validate()),f.loading("正在导出中...");try{await n.fetchFun({...n.params,...o,page_size:n.pageSize,export:2}),(e=y.value)==null||e.close(),f.closeLoading()}catch{f.closeLoading()}};return V(),(r,e)=>{const p=I,s=q,b=S,C=D,_=H,F=N;return g(),v("div",h,[t(O,{ref_key:"popupRef",ref:y,title:"导出设置",width:"500px","confirm-button-text":"确认导出",onConfirm:B,async:!0,onOpen:V},{trigger:l(()=>[t(p,null,{default:l(()=>[...e[4]||(e[4]=[i("导出",-1)])]),_:1})]),default:l(()=>[c("div",null,[n.exportHint?(g(),v("p",j,m(n.exportHint),1)):w("",!0),t(F,{ref_key:"formRef",ref:x,model:a(o),"label-width":"120px",rules:k},{default:l(()=>[t(s,{label:"数据量:"},{default:l(()=>[i(" 预计导出"+m(a(u).count)+"条数据, 共"+m(a(u).sum_page)+"页,每页"+m(a(u).page_size)+"条数据 ",1)]),_:1}),t(s,{label:"导出限制:"},{default:l(()=>[i(" 每次导出最大允许"+m(a(u).max_page)+"页,共"+m(a(u).all_max_size)+"条数据 ",1)]),_:1}),t(s,{prop:"page_type",label:"导出范围:",required:""},{default:l(()=>[t(C,{modelValue:a(o).page_type,"onUpdate:modelValue":e[0]||(e[0]=d=>a(o).page_type=d)},{default:l(()=>[t(b,{value:0},{default:l(()=>[...e[5]||(e[5]=[i("全部导出",-1)])]),_:1}),t(b,{value:1},{default:l(()=>[...e[6]||(e[6]=[i("分页导出",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(o).page_type==1?(g(),G(s,{key:0,label:"分页范围:"},{default:l(()=>[c("div",L,[t(s,{prop:"page_start"},{default:l(()=>[t(_,{style:{width:"140px"},modelValue:a(o).page_start,"onUpdate:modelValue":e[1]||(e[1]=d=>a(o).page_start=d),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1}),e[7]||(e[7]=c("span",{class:"flex-none ml-2 mr-2"},"页,至",-1)),t(s,{prop:"page_end"},{default:l(()=>[t(_,{style:{width:"140px"},modelValue:a(o).page_end,"onUpdate:modelValue":e[2]||(e[2]=d=>a(o).page_end=d),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1})])]),_:1})):w("",!0),t(s,{label:"导出文件名称:",prop:"file_name"},{default:l(()=>[t(_,{modelValue:a(o).file_name,"onUpdate:modelValue":e[3]||(e[3]=d=>a(o).file_name=d),placeholder:"请输入导出文件名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)])}}});export{P as _};
+import{D as N,B as q,G as D,I as S,C as H,i as I}from"./element-plus-lurTijPg.js";import{_ as O}from"./index-CnpV87Ke.js";import{i as f}from"./index-DF1MLuL8.js";import{f as U,ak as g,I as v,a as t,aN as l,J as c,H as w,O as i,G}from"./@vue/runtime-core-C6bnekPw.js";import{Q as m}from"./@vue/shared-mAAVTE9n.js";import{y as a,q as z,r as E}from"./@vue/reactivity-DiY1c2vO.js";const h={class:"export-data"},j={key:0,class:"text-sm text-gray-500 mb-3 leading-relaxed"},L={class:"flex"},P=U({__name:"index",props:{params:{type:Object,default:()=>({})},pageSize:{type:Number,default:25},fetchFun:{type:Function,required:!0},exportHint:{type:String,default:""}},setup(R){const x=z(),n=R,y=z(),o=E({page_type:0,page_start:1,page_end:200,file_name:""}),k={page_start:[{required:!0,message:"请输入起始页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,p)=>{if(e<=0)return p(new Error("页码必须大于0"));p()}}],page_end:[{required:!0,message:"请输入结束页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,p)=>{if(e<=0)return p(new Error("页码必须大于0"));p()}}]},u=E({count:0,sum_page:0,page_size:0,max_page:0,all_max_size:0}),V=async()=>{const r=await n.fetchFun({...n.params,page_size:n.pageSize,export:1});Object.assign(u,r),o.file_name=r.file_name,o.page_end=r.page_end,o.page_start=r.page_start},B=async()=>{var r,e;await((r=x.value)==null?void 0:r.validate()),f.loading("正在导出中...");try{await n.fetchFun({...n.params,...o,page_size:n.pageSize,export:2}),(e=y.value)==null||e.close(),f.closeLoading()}catch{f.closeLoading()}};return V(),(r,e)=>{const p=I,s=q,b=S,C=D,_=H,F=N;return g(),v("div",h,[t(O,{ref_key:"popupRef",ref:y,title:"导出设置",width:"500px","confirm-button-text":"确认导出",onConfirm:B,async:!0,onOpen:V},{trigger:l(()=>[t(p,null,{default:l(()=>[...e[4]||(e[4]=[i("导出",-1)])]),_:1})]),default:l(()=>[c("div",null,[n.exportHint?(g(),v("p",j,m(n.exportHint),1)):w("",!0),t(F,{ref_key:"formRef",ref:x,model:a(o),"label-width":"120px",rules:k},{default:l(()=>[t(s,{label:"数据量:"},{default:l(()=>[i(" 预计导出"+m(a(u).count)+"条数据, 共"+m(a(u).sum_page)+"页,每页"+m(a(u).page_size)+"条数据 ",1)]),_:1}),t(s,{label:"导出限制:"},{default:l(()=>[i(" 每次导出最大允许"+m(a(u).max_page)+"页,共"+m(a(u).all_max_size)+"条数据 ",1)]),_:1}),t(s,{prop:"page_type",label:"导出范围:",required:""},{default:l(()=>[t(C,{modelValue:a(o).page_type,"onUpdate:modelValue":e[0]||(e[0]=d=>a(o).page_type=d)},{default:l(()=>[t(b,{value:0},{default:l(()=>[...e[5]||(e[5]=[i("全部导出",-1)])]),_:1}),t(b,{value:1},{default:l(()=>[...e[6]||(e[6]=[i("分页导出",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(o).page_type==1?(g(),G(s,{key:0,label:"分页范围:"},{default:l(()=>[c("div",L,[t(s,{prop:"page_start"},{default:l(()=>[t(_,{style:{width:"140px"},modelValue:a(o).page_start,"onUpdate:modelValue":e[1]||(e[1]=d=>a(o).page_start=d),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1}),e[7]||(e[7]=c("span",{class:"flex-none ml-2 mr-2"},"页,至",-1)),t(s,{prop:"page_end"},{default:l(()=>[t(_,{style:{width:"140px"},modelValue:a(o).page_end,"onUpdate:modelValue":e[2]||(e[2]=d=>a(o).page_end=d),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1})])]),_:1})):w("",!0),t(s,{label:"导出文件名称:",prop:"file_name"},{default:l(()=>[t(_,{modelValue:a(o).file_name,"onUpdate:modelValue":e[3]||(e[3]=d=>a(o).file_name=d),placeholder:"请输入导出文件名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)])}}});export{P as _};
diff --git a/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-DQFTiDWW.js b/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-BxyC29XL.js
similarity index 96%
rename from server/public/admin/assets/index.vue_vue_type_style_index_0_lang-DQFTiDWW.js
rename to server/public/admin/assets/index.vue_vue_type_style_index_0_lang-BxyC29XL.js
index 0423fe58..2d512857 100644
--- a/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-DQFTiDWW.js
+++ b/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-BxyC29XL.js
@@ -1 +1 @@
-import"./@wangeditor/editor-Cyf37SuL.js";import{T as k,E as x}from"./@wangeditor/editor-for-vue-D1vSph3l.js";import{_ as R}from"./picker-CIEIqcz7.js";import{n as f}from"./index-hTkp7Jz4.js";import{f as U,ae as _,ak as B,I as E,a as u,A as c,n as P}from"./@vue/runtime-core-C6bnekPw.js";import{p as T}from"./@vue/shared-mAAVTE9n.js";import{y as t,a as A,q as p,n as h}from"./@vue/reactivity-DiY1c2vO.js";const M=U({__name:"index",props:{modelValue:{default:""},mode:{default:"default"},height:{default:"100%"},width:{default:"auto"},toolbarConfig:{default:()=>({})}},emits:["update:modelValue"],setup(a,{emit:g}){const l=a,v=g,d=p(),n=p(),r=h(""),m=h(!1);let s;const C={MENU_CONF:{uploadImage:{customBrowseAndUpload(e){var o;r.value="image",(o=n.value)==null||o.showPopup(-1),s=e}},uploadVideo:{customBrowseAndUpload(e){var o;r.value="video",(o=n.value)==null||o.showPopup(-1),s=e}}}},b=c(()=>({height:f(l.height),width:f(l.width)})),i=c({get(){return l.modelValue},set(e){m.value&&v("update:modelValue",e)}}),y=e=>{e.forEach(o=>{s(o)})};_(()=>{const e=d.value;e!=null&&e.destroy()});const w=e=>{d.value=e,P(()=>{m.value=!0})};return(e,o)=>(B(),E("div",{class:"border border-br flex flex-col",style:T(t(b))},[u(t(k),{class:"border-b border-br",editor:t(d),defaultConfig:a.toolbarConfig,mode:a.mode},null,8,["editor","defaultConfig","mode"]),u(t(x),{class:"flex-1 overflow-hidden",modelValue:t(i),"onUpdate:modelValue":o[0]||(o[0]=V=>A(i)?i.value=V:null),defaultConfig:C,mode:a.mode,onOnCreated:w},null,8,["modelValue","mode"]),u(R,{ref_key:"materialPickerRef",ref:n,type:t(r),limit:-1,"hidden-upload":"",onChange:y},null,8,["type"])],4))}});export{M as _};
+import"./@wangeditor/editor-Cyf37SuL.js";import{T as k,E as x}from"./@wangeditor/editor-for-vue-D1vSph3l.js";import{_ as R}from"./picker-BPfrB1Pn.js";import{n as f}from"./index-DF1MLuL8.js";import{f as U,ae as _,ak as B,I as E,a as u,A as c,n as P}from"./@vue/runtime-core-C6bnekPw.js";import{p as T}from"./@vue/shared-mAAVTE9n.js";import{y as t,a as A,q as p,n as h}from"./@vue/reactivity-DiY1c2vO.js";const M=U({__name:"index",props:{modelValue:{default:""},mode:{default:"default"},height:{default:"100%"},width:{default:"auto"},toolbarConfig:{default:()=>({})}},emits:["update:modelValue"],setup(a,{emit:g}){const l=a,v=g,d=p(),n=p(),r=h(""),m=h(!1);let s;const C={MENU_CONF:{uploadImage:{customBrowseAndUpload(e){var o;r.value="image",(o=n.value)==null||o.showPopup(-1),s=e}},uploadVideo:{customBrowseAndUpload(e){var o;r.value="video",(o=n.value)==null||o.showPopup(-1),s=e}}}},b=c(()=>({height:f(l.height),width:f(l.width)})),i=c({get(){return l.modelValue},set(e){m.value&&v("update:modelValue",e)}}),y=e=>{e.forEach(o=>{s(o)})};_(()=>{const e=d.value;e!=null&&e.destroy()});const w=e=>{d.value=e,P(()=>{m.value=!0})};return(e,o)=>(B(),E("div",{class:"border border-br flex flex-col",style:T(t(b))},[u(t(k),{class:"border-b border-br",editor:t(d),defaultConfig:a.toolbarConfig,mode:a.mode},null,8,["editor","defaultConfig","mode"]),u(t(x),{class:"flex-1 overflow-hidden",modelValue:t(i),"onUpdate:modelValue":o[0]||(o[0]=V=>A(i)?i.value=V:null),defaultConfig:C,mode:a.mode,onOnCreated:w},null,8,["modelValue","mode"]),u(R,{ref_key:"materialPickerRef",ref:n,type:t(r),limit:-1,"hidden-upload":"",onChange:y},null,8,["type"])],4))}});export{M as _};
diff --git a/server/public/admin/assets/index_h5-Bds20Aet.js b/server/public/admin/assets/index_h5-eEjJ8aqc.js
similarity index 94%
rename from server/public/admin/assets/index_h5-Bds20Aet.js
rename to server/public/admin/assets/index_h5-eEjJ8aqc.js
index 59911442..c4b1f9b6 100644
--- a/server/public/admin/assets/index_h5-Bds20Aet.js
+++ b/server/public/admin/assets/index_h5-eEjJ8aqc.js
@@ -1,2 +1,2 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-Cu8Q4Det.js","assets/element-plus-lurTijPg.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-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-BWcL4HTv.js","assets/index-hTkp7Jz4.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-cWYbZtDX.css","assets/perm-DkI2zRqK.js","assets/DailyMatrix-B7FixtFa.js","assets/picker-CIEIqcz7.js","assets/index-NODwdV06.js","assets/index-B3imPWFk.css","assets/index-DQyvoLLY.js","assets/index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js","assets/index-Qf24LWMn.js","assets/index-D0f1Mn00.css","assets/index-By8JT914.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-CdkUkN_s.js","assets/index.vue_vue_type_script_setup_true_lang-SfFZFG0h.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-C0fu6LYx.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-vL5fks47.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-C-LWSbRs.js","assets/RecordingPlaybackBlock-DkJlXeMs.js","assets/RecordingVideoPlayer-DDmfklnD.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-HSPoCsus.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-t63zNqNL.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-D5ay4wdF.js","assets/doctor-DFHZkvQL.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-Bo3EvlXD.js","assets/patient-rB-xF1_j.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-1oYAhEfs.js","assets/PatientOrderList-Dx28GIXs.css","assets/index-ljSxsacS.js","assets/index-DJDgcnLL.js","assets/medicine-DKZiK12I.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-j-ocBozB.css","assets/edit-B0YJchTk.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-kL52KetM.js","assets/appointment-CaxZ1iHL.js","assets/appointment-B5q1nzzB.css","assets/AssistantWatchCallDialog-43mUGlZ0.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css"])))=>i.map(i=>d[i]);
-import{_ as se}from"./jspdf-BsthCvR5.js";import{C as ga,i as fa,d as ha,Q as ya,P as ka,L as ba,W as Ca,e as Va,D as xa,B as Da,H as Ea,h as $a,V as Ra,T as Ia,v as Aa}from"./element-plus-lurTijPg.js";import{w as za,q as Sa}from"./@vue/runtime-dom-DDAG46FW.js";import{aj as $,a as Pa,ak as wa,K as qa,am as La,Y as nt,an as st,ar as Na,ao as Ta,ap as Fa,aq as Wa}from"./tcm-BWcL4HTv.js";import{i as Ua}from"./order-BAV7DCyD.js";import{m as Oa}from"./doctor-DFHZkvQL.js";import{u as Ma,m as lt,i as f,_ as Qa}from"./index-hTkp7Jz4.js";import{g as it}from"./weapp-BmlcC_IL.js";import{u as Ya}from"./usePaging-VsbTxSU0.js";import{h as V}from"./perm-DkI2zRqK.js";import{N as Ba,e as ot,A as Ha,X as Ka,O as dt,b as ja,ac as Ga,G as Ja,J as Xa,H as Za,l as en,P as tn}from"./@element-plus/icons-vue-HOEUG8sr.js";import{d as rt}from"./dayjs-DG77mNTn.js";import{f as ut,b as an,d as nn,ak as l,I as o,J as s,a as n,aN as i,O as g,F as x,ap as S,H as _,aP as Le,G as E,P as le,A as Q}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as Ne,n as c}from"./@vue/reactivity-DiY1c2vO.js";import{o as P,Q as p}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const sn={class:"dh5"},ln={class:"dh5-topbar"},on={class:"dh5-search"},dn={class:"dh5-chips dh5-chips--scroll"},rn=["onClick"],un={key:0},pn={key:0},cn={key:0},mn={key:0},_n={class:"dh5-quick"},vn={class:"dh5-quick-group"},gn=["onClick"],fn={class:"dh5-quick-group"},hn=["onClick"],yn={class:"dh5-more-filter"},kn={class:"dh5-list"},bn={key:0,class:"dh5-empty"},Cn=["onClick"],Vn={class:"dh5-card-avatar"},xn={class:"dh5-card-id-name"},Dn={class:"dh5-card-name"},En={key:0,class:"dh5-meta-gender"},$n={key:1,class:"dh5-meta-age"},Rn={class:"dh5-card-sub"},In={key:0,class:"dh5-tag-new"},An={class:"dh5-card-tags"},zn={key:0,class:"dh5-tag dh5-tag--ok"},Sn={key:1,class:"dh5-tag dh5-tag--warn"},Pn={key:2,class:"dh5-tag dh5-tag--info"},wn=["onClick"],qn={class:"dh5-row-val"},Ln={class:"dh5-apt-status"},Nn={class:"dh5-apt-doctor"},Tn={class:"dh5-apt-time"},Fn={class:"dh5-apt-status"},Wn={class:"dh5-apt-doctor"},Un={class:"dh5-apt-time"},On={key:1,class:"dh5-apt-none"},Mn={key:0,class:"dh5-row dh5-row--followup"},Qn={class:"dh5-row-val"},Yn={class:"dh5-meta-doctor"},Bn={key:0,class:"dh5-tag dh5-tag--gray"},Hn={class:"dh5-row"},Kn={class:"dh5-row-val"},jn={key:1,class:"dh5-row"},Gn={class:"dh5-row-val"},Jn={key:0,class:"dh5-meta-mute"},Xn={key:1},Zn={key:0,class:"dh5-card-watch"},es={class:"dh5-watch-tip"},ts={key:1,class:"dh5-watch-mute"},as={class:"dh5-card-foot"},ns={key:2,class:"dh5-no-more"},ss={key:0,class:"dh5-actions"},ls={class:"dh5-form-tip"},is={class:"font-medium"},os={class:"dh5-qr"},ds={key:0,class:"dh5-qr-loading"},rs={key:1},us=["src"],ps={class:"dh5-qr-meta"},cs={key:2,class:"dh5-qr-fail"},ms={key:0,class:"dh5-wx-contact"},_s={class:"dh5-wx-contact-row"},vs={class:"dh5-wx-val"},gs={class:"dh5-wx-contact-row"},fs={class:"dh5-wx-val"},hs={key:0},ys={class:"dh5-wx-contact-row"},ks={class:"dh5-wx-val"},bs={class:"dh5-wx-add"},Cs={class:"dh5-wx-list-wrap"},Vs={key:0,class:"dh5-wx-empty"},xs={key:1,class:"dh5-wx-list"},Ds={class:"dh5-wx-head"},Es={class:"dh5-wx-head-left"},$s={class:"dh5-wx-name"},Rs={class:"dh5-wx-head-right"},Is={class:"dh5-wx-time"},As={class:"dh5-wx-content"},zs={key:0,class:"dh5-wx-media"},Ss=ut({name:"tcmDiagnosisH5"}),Ps=ut({...Ss,setup(ws){const pt=le(()=>se(()=>import("./edit-Cu8Q4Det.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),ct=le(()=>se(()=>import("./detail-kL52KetM.js"),__vite__mapDeps([99,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),mt=le(()=>se(()=>import("./index-ljSxsacS.js"),__vite__mapDeps([90,1,2,3,4,5,6,7,8,9,10,11,12,13,14,91,92,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,93,94,15,95,96]))),_t=le(()=>se(()=>import("./appointment-CaxZ1iHL.js"),__vite__mapDeps([100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,101]))),vt=le(()=>se(()=>import("./AssistantWatchCallDialog-43mUGlZ0.js"),__vite__mapDeps([102,1,2,3,4,5,6,7,8,9,10,11,12,13,14,103,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,104]))),ie=Ma(),gt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return rt(e).format("YYYY-MM-DD HH:mm")},ft=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return rt(e).format("YYYY-MM-DD HH:mm")},Te=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),R=t=>String(t).padStart(2,"0"),ve=Q(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),ge=Q(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),K=Q(()=>{const t=new Date;return`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),fe=Q(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),he=Q(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),d=Ne({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:""}),j=c(!1),ht=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],yt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],kt=Q(()=>[{label:"昨天挂号",value:ve.value},{label:"前天挂号",value:ge.value},{label:"当天挂号",value:K.value},{label:"明天挂号",value:fe.value},{label:"后天挂号",value:he.value},{label:"全部",value:""}]),ye=c({}),ke=c(void 0),be=c(void 0),Ce=c(void 0),{pager:h,getLists:b}=Ya({fetchFun:$,params:d}),Ve=Q(()=>h.lists.length<(h.count||0)),Fe=()=>b({silent:!0}),B=()=>{h.page=1,b(),D()},bt=()=>{d.keyword="",d.diagnosis_type="",d.syndrome_type="",d.assistant_id="",d.diagnosis_confirmed="",d.appointment_date=K.value,d.has_appointment="",d.pending_assign="",d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},Ct=t=>{d.has_appointment=t,d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},Vt=t=>{d.diagnosis_confirmed=t,d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},xt=async t=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date=t,h.page=1,await b(),D()},Dt=async()=>{d.pending_assign="",d.pending_booking="1",d.completed_appointment="",d.appointment_date="",d.has_appointment="0",h.page=1,await b(),D()},Et=async()=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="1",d.has_appointment="",d.appointment_date="",h.page=1,await b(),D()},$t=async()=>{d.pending_assign="1",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date="",h.page=1,await b(),D()},D=async()=>{try{const[t,e,r,u,k,C,w,ae,M]=await Promise.all([$({appointment_date:ve.value,page_no:1,page_size:1}),$({appointment_date:ge.value,page_no:1,page_size:1}),$({appointment_date:K.value,page_no:1,page_size:1}),$({appointment_date:fe.value,page_no:1,page_size:1}),$({appointment_date:he.value,page_no:1,page_size:1}),$({page_no:1,page_size:1}),$({has_appointment:0,page_no:1,page_size:1}),$({completed_appointment:1,page_no:1,page_size:1}),$({pending_assign:1,page_no:1,page_size:1})]);ye.value={[ve.value]:(t==null?void 0:t.count)??0,[ge.value]:(e==null?void 0:e.count)??0,[K.value]:(r==null?void 0:r.count)??0,[fe.value]:(u==null?void 0:u.count)??0,[he.value]:(k==null?void 0:k.count)??0,"":(C==null?void 0:C.count)??0},ke.value=(w==null?void 0:w.count)??0,be.value=(ae==null?void 0:ae.count)??0,Ce.value=(M==null?void 0:M.count)??0}catch(t){console.error("获取日期数量失败",t)}},Rt=async()=>{if(h.loading||!Ve.value)return;const t=(h.page||1)+1;h.loading=!0;try{const e=await $({page_no:t,page_size:h.size,...d});h.page=t,h.lists.push(...(e==null?void 0:e.lists)||[]),h.count=(e==null?void 0:e.count)??h.count}catch(e){console.error("加载更多失败:",e)}finally{h.loading=!1}},xe=c([]),De=c([]),G=c([]),It=async()=>{try{const[t,e,r]=await Promise.all([lt({type:"diagnosis_type"}),lt({type:"syndrome_type"}),Pa()]);xe.value=(t==null?void 0:t.diagnosis_type)||[],De.value=(e==null?void 0:e.syndrome_type)||[],G.value=r||[]}catch(t){console.error("获取字典数据失败:",t)}},We=(t,e)=>{const r=t.find(u=>u.value===e);return r?r.name:e||"-"},At=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(G.value.length===0)return"...";const r=G.value.find(u=>(typeof u.id=="string"?parseInt(u.id):u.id)===e);return r?r.name:"-"},Ue=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(r=>r.is_confirmed==1)},zt=t=>Ue(t)?t.has_appointment?"":"dh5-card--noapt":"dh5-card--unconfirmed",St=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},Pt=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},Oe=t=>{const e=Array.isArray(t.appointments)?t.appointments:[];return e.length>0?e:t.has_appointment?[{id:t.appointment_id,status:t.appointment_status,doctor_id:t.appointment_doctor_id,doctor_name:t.appointment_doctor_name,time_text:t.appointment_time_text}]:[]},wt=t=>{const e=Number(t==null?void 0:t.status);return{"dh5-apt-item--done":e===3,"dh5-apt-item--missed":e===4,"dh5-apt-item--active":e===1}},qt=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},J=t=>t.has_appointment&&Number(t.appointment_status)===1,Me=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Lt=t=>{var r;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((r=ie.userInfo)==null?void 0:r.id)},Ee=t=>Lt(t)&&V(["tcm.diagnosis/watchCall"]),X=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},Nt=t=>{const e=X(t);return e==="live"||e==="pending_room"},Tt=t=>X(t)==="pending_room"?"医生未接通或未同步房间":"点击进入实时房间",Ft=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Wt=t=>{const e=X(t);if(e==="none")return"";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const r=t.video_call_hint;return(r==null?void 0:r.label)||""},Ut=t=>{if(Ee(t))return!0;const e=X(t);return e==="live"||e==="pending_room"},$e=c(!1),Qe=c(0),Ot=t=>{if(X(t)!=="live"){f.msgWarning("医生未接通或未同步房间号,请稍后再试");return}Qe.value=Number(t.id)||0,$e.value=!0},oe=c(),Ye=c(),Be=c(),He=c(),Mt=()=>{var t;return(t=oe.value)==null?void 0:t.open("add")},Qt=t=>{var e;return(e=oe.value)==null?void 0:e.open("edit",t)},Ke=t=>{var e;return(e=Ye.value)==null?void 0:e.open(t)},je=t=>(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方",Yt=t=>{var e;if(!(t!=null&&t.id)){f.msgWarning("诊单信息不完整");return}(e=Be.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},Bt=()=>{var t,e;b(),(e=(t=oe.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Ht=t=>{var e;if(!t.patient_id){f.msgWarning("患者信息不完整");return}(e=He.value)==null||e.open(t)},Kt=async t=>{await f.confirm("确定要删除该诊单吗?"),await Wa({id:t}),b()},de=c(!1),L=c(null),jt=t=>{L.value=t,de.value=!0},N=t=>{const e=L.value;if(de.value=!1,!!e)switch(t){case"assign":Gt(e);break;case"videoQr":if(!J(e)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}Je(e);break;case"confirmQr":Xe(e);break;case"cancelApt":oa(e);break;case"fillIdCard":na(e);break;case"order":Zt(e);break;case"wechat":Ze(e);break;case"delete":Kt(e.id);break}},Z=c(!1),Re=c(!1),re=c(null),I=c({assistant_id:null,is_inherit:!1}),Gt=t=>{re.value=t,I.value.assistant_id=t.assistant_id?Number(t.assistant_id):null,I.value.is_inherit=!1,Z.value=!0},Jt=async()=>{if(!I.value.assistant_id){f.msgWarning("请选择医助");return}Re.value=!0;try{await wa({id:re.value.id,assistant_id:I.value.assistant_id,is_inherit:I.value.is_inherit?1:0}),Z.value=!1,b()}catch(t){console.error("指派失败:",t)}finally{Re.value=!1}},ee=c(!1),ue=c(),Ie=c(!1),v=Ne({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),Xt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},Zt=t=>{var e;v.patient_id=t.patient_id||t.id,v.patient_name=t.patient_name,v.phone=t.phone||"",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!!t.has_appointment,v.appointment_time_text=t.appointment_time_text||"",(e=ue.value)==null||e.clearValidate(),ee.value=!0},ea=()=>{var t;v.patient_id="",v.patient_name="",v.phone="",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!1,v.appointment_time_text="",(t=ue.value)==null||t.clearValidate()},ta=async()=>{var t;try{await((t=ue.value)==null?void 0:t.validate()),Ie.value=!0;const e=await Ua({patient_id:v.patient_id,order_type:v.order_type,amount:v.amount,remark:v.remark});ee.value=!1,b();const r=e==null?void 0:e.order_no;if(r){T.value=!0,F.value=!0,W.value="",pe.value="收款二维码",U.value={patient_name:v.patient_name,has_appointment:v.has_appointment,appointment_time_text:v.appointment_time_text};try{const u=await qa({order_no:r});u!=null&&u.qrcode_url?W.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(u){f.msgError((u==null?void 0:u.msg)||"生成二维码失败")}finally{F.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ie.value=!1}},te=c(!1),Ae=c(!1),Ge=c(),A=Ne({id:0,patient_name:"",id_card:""}),aa={id_card:[{required:!0,validator:(t,e,r)=>{if(!e){r(new Error("请输入身份证号"));return}const u=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),k=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);u||k?r():r(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},na=t=>{A.id=t.id,A.patient_name=t.patient_name||"-",A.id_card=t.id_card||"",te.value=!0},sa=async()=>{var t;await((t=Ge.value)==null?void 0:t.validate()),Ae.value=!0;try{await La({id:A.id,id_card:A.id_card}),f.msgSuccess("补全成功,年龄已自动更新"),te.value=!1,b()}catch(e){f.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ae.value=!1}},T=c(!1),F=c(!1),W=c(""),U=c(null),pe=c("小程序二维码"),ze=c("confirm"),la=Q(()=>{const t=U.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Je=async t=>{var e;if(!J(t)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){f.msgWarning("患者信息不完整");return}ze.value="video",U.value=t,T.value=!0,F.value=!0,W.value="",pe.value="视频二维码";try{const r=await it();if(!(r!=null&&r.app_id)){f.msgError("小程序未配置"),T.value=!1;return}const u=await nt({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ie.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});u!=null&&u.qrcode_url?W.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(r){f.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{F.value=!1}},Xe=async t=>{var e;if(!J(t)){f.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){f.msgWarning("患者信息不完整");return}ze.value="confirm",U.value=t,T.value=!0,F.value=!0,W.value="",pe.value="诊单二维码";try{const r=await it();if(!(r!=null&&r.app_id)){f.msgError("小程序未配置"),T.value=!1;return}const u=await nt({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ie.userInfo)==null?void 0:e.id)||""});u!=null&&u.qrcode_url?W.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(r){f.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{F.value=!1}},ia=()=>{U.value&&(ze.value==="video"?Je(U.value):Xe(U.value))},oa=async t=>{if(!Me(t)){const e=Number(t.appointment_status);t.has_appointment&&e===3?f.msgWarning("已完成就诊,无法取消挂号"):f.msgWarning("该诊单未挂号或挂号信息异常");return}try{await f.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await Oa({id:t.appointment_id}),f.msgSuccess("取消挂号成功"),b(),D()}catch(e){e!=="cancel"&&f.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},Se=c(!1),z=c(null),O=c([]),ce=c(0),me=c(!1),Y=c(null),H=c(""),Pe=c(!1),we=c(1),Ze=async t=>{z.value=t,Se.value=!0,O.value=[],ce.value=0,Y.value=null,H.value="",we.value=1,me.value=!0;try{const[e,r]=await Promise.all([st({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),Na({patient_id:t.patient_id||t.id}).catch(()=>null)]);O.value=(e==null?void 0:e.lists)||[],ce.value=(e==null?void 0:e.count)||0,Y.value=r}catch(e){console.error(e)}finally{me.value=!1}},da=async()=>{if(z.value){we.value++;try{const t=await st({diagnosis_id:z.value.id,patient_id:z.value.patient_id,page_no:we.value,page_size:20});O.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error(t)}}},ra=async()=>{var t;if(!H.value.trim()){f.msgWarning("请输入内容");return}Pe.value=!0;try{await Ta({diagnosis_id:z.value.id,patient_id:z.value.patient_id,content:H.value.trim(),msg_type:"note",staff_name:((t=ie.userInfo)==null?void 0:t.name)||"",external_name:z.value.patient_name||""}),H.value="",Ze(z.value)}catch(e){f.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Pe.value=!1}},ua=async t=>{await f.confirm("确定删除该记录吗?");try{await Fa({id:t}),O.value=O.value.filter(e=>e.id!==t),ce.value--}catch(e){f.msgError((e==null?void 0:e.msg)||"删除失败")}},pa=15e3;let _e=null;const ca=()=>{typeof document<"u"&&document.hidden||(b({silent:!0}).catch(()=>{}),D())};return an(async()=>{document.body.classList.add("h5-mode"),d.appointment_date=K.value,It(),b(),typeof requestIdleCallback=="function"?requestIdleCallback(()=>D(),{timeout:2500}):setTimeout(D,200),_e=setInterval(ca,pa)}),nn(()=>{document.body.classList.remove("h5-mode"),_e&&(clearInterval(_e),_e=null)}),(t,e)=>{var at;const r=ga,u=fa,k=ha,C=ya,w=ka,ae=Ca,M=Va,q=Da,ma=Ea,qe=xa,_a=$a,et=Ra,ne=Ia,va=Aa,tt=ba;return l(),o("div",sn,[s("header",ln,[s("div",on,[n(r,{modelValue:d.keyword,"onUpdate:modelValue":e[0]||(e[0]=a=>d.keyword=a),placeholder:"患者姓名 / 手机号",clearable:"","prefix-icon":m(Ba),onKeyup:za(B,["enter"]),onClear:B},null,8,["modelValue","prefix-icon"]),n(u,{class:"dh5-search-btn",type:"primary",onClick:B},{default:i(()=>[...e[32]||(e[32]=[g("查询",-1)])]),_:1})]),s("div",dn,[(l(!0),o(x,null,S(kt.value,a=>(l(),o("span",{key:a.value||"all",class:P(["dh5-chip",{active:d.pending_assign!=="1"&&d.pending_booking!=="1"&&d.completed_appointment!=="1"&&d.appointment_date===a.value}]),onClick:y=>xt(a.value)},[g(p(a.label)+" ",1),ye.value[a.value]!==void 0?(l(),o("em",un,p(ye.value[a.value]),1)):_("",!0)],10,rn))),128)),s("span",{class:P(["dh5-chip","dh5-chip--booking",{active:d.pending_booking==="1"}]),onClick:Dt},[e[33]||(e[33]=g(" 待预约 ",-1)),ke.value!==void 0?(l(),o("em",pn,p(ke.value),1)):_("",!0)],2),s("span",{class:P(["dh5-chip","dh5-chip--done",{active:d.completed_appointment==="1"}]),onClick:Et},[e[34]||(e[34]=g(" 已完成 ",-1)),be.value!==void 0?(l(),o("em",cn,p(be.value),1)):_("",!0)],2),m(V)(["tcm.diagnosis/assign"])?(l(),o("span",{key:0,class:P(["dh5-chip","dh5-chip--pending",{active:d.pending_assign==="1"}]),onClick:$t},[e[35]||(e[35]=g(" 待分配医助 ",-1)),Ce.value!==void 0?(l(),o("em",mn,p(Ce.value),1)):_("",!0)],2)):_("",!0)]),s("div",_n,[s("div",vn,[e[36]||(e[36]=s("span",{class:"dh5-quick-label"},"挂号",-1)),(l(),o(x,null,S(ht,a=>s("span",{key:"a"+a.value,class:P(["dh5-pill",{active:d.has_appointment===a.value}]),onClick:y=>Ct(a.value)},p(a.label),11,gn)),64))]),s("div",fn,[e[37]||(e[37]=s("span",{class:"dh5-quick-label"},"确认",-1)),(l(),o(x,null,S(yt,a=>s("span",{key:"c"+a.value,class:P(["dh5-pill",{active:d.diagnosis_confirmed===a.value}]),onClick:y=>Vt(a.value)},p(a.label),11,hn)),64))]),n(u,{link:"",type:"primary",size:"small",class:"dh5-more-toggle",onClick:e[1]||(e[1]=a=>j.value=!j.value)},{default:i(()=>[g(p(j.value?"收起":"更多")+" ",1),n(k,{class:P({"rotate-180":j.value})},{default:i(()=>[n(m(ot))]),_:1},8,["class"])]),_:1})]),Le(s("div",yn,[n(w,{modelValue:d.diagnosis_type,"onUpdate:modelValue":e[2]||(e[2]=a=>d.diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:B},{default:i(()=>[(l(!0),o(x,null,S(xe.value,a=>(l(),E(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(w,{modelValue:d.syndrome_type,"onUpdate:modelValue":e[3]||(e[3]=a=>d.syndrome_type=a),placeholder:"证型",clearable:"",size:"small",onChange:B},{default:i(()=>[(l(!0),o(x,null,S(De.value,a=>(l(),E(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(w,{modelValue:d.assistant_id,"onUpdate:modelValue":e[4]||(e[4]=a=>d.assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:B},{default:i(()=>[(l(!0),o(x,null,S(G.value,a=>(l(),E(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(u,{size:"small",onClick:bt},{default:i(()=>[...e[38]||(e[38]=[g("重置",-1)])]),_:1})],512),[[Sa,j.value]])]),Le((l(),o("main",kn,[m(h).lists.length===0&&!m(h).loading?(l(),o("div",bn,[n(ae,{description:"暂无诊单","image-size":120})])):_("",!0),(l(!0),o(x,null,S(m(h).lists,a=>(l(),o("article",{key:a.id,class:P(["dh5-card",zt(a)])},[s("header",{class:"dh5-card-head",onClick:y=>Ke(a.id)},[s("div",Vn,p((a.patient_name||"患").charAt(0)),1),s("div",xn,[s("div",Dn,[g(p(a.patient_name||"-")+" ",1),a.gender_desc?(l(),o("span",En,p(a.gender_desc),1)):_("",!0),a.age!=null?(l(),o("span",$n,p(a.age)+"岁",1)):_("",!0)]),s("div",Rn,[g(" #"+p(a.id)+" · "+p(a.diagnosis_date_text||gt(a.create_time))+" ",1),a.assign_read_at===null&&a.assistant_id>0?(l(),o("span",In,"NEW")):_("",!0)])]),s("div",An,[Ue(a)?(l(),o("span",zn,"已确认")):(l(),o("span",Sn,"未确认")),a.has_prescription?(l(),o("span",Pn,"已开方")):_("",!0)])],8,Cn),s("section",{class:"dh5-card-body",onClick:y=>Ke(a.id)},[s("div",{class:P(["dh5-row","dh5-row--apt",qt(a)])},[e[39]||(e[39]=s("span",{class:"dh5-row-key"},"挂号",-1)),s("div",qn,[a.has_appointment?(l(),o(x,{key:0},[Oe(a).length?(l(!0),o(x,{key:0},S(Oe(a),y=>(l(),o("div",{key:y.id||`${y.doctor_id}-${y.time_text}`,class:P(["dh5-apt-item",wt(y)])},[s("span",Ln,p(Pt(y.status)),1),s("span",Nn,p(y.doctor_name||"-"),1),s("span",Tn,p(y.time_text||"-"),1)],2))),128)):(l(),o(x,{key:1},[s("span",Fn,p(St(a)),1),s("span",Wn,p(a.appointment_doctor_name||"-"),1),s("span",Un,p(a.appointment_time_text||"-"),1)],64))],64)):(l(),o("span",On,"未挂号"))])],2),a.has_prescription?(l(),o("div",Mn,[e[40]||(e[40]=s("span",{class:"dh5-row-key"},"复诊",-1)),s("div",Qn,[s("span",null,p(a.followup_time_text||"—"),1),s("span",Yn,p(a.followup_doctor_name||"—"),1),a.followup_rx_voided?(l(),o("span",Bn,"处方作废")):_("",!0)])])):_("",!0),s("div",Hn,[e[41]||(e[41]=s("span",{class:"dh5-row-key"},"助理",-1)),s("span",Kn,p(At(a.assistant_id||a.assistant)),1)]),a.diagnosis_type?(l(),o("div",jn,[e[42]||(e[42]=s("span",{class:"dh5-row-key"},"诊断",-1)),s("span",Gn,[g(p(We(xe.value,a.diagnosis_type))+" ",1),a.syndrome_type?(l(),o("span",Jn,"·")):_("",!0),a.syndrome_type?(l(),o("span",Xn,p(We(De.value,a.syndrome_type)),1)):_("",!0)])])):_("",!0)],8,wn),Ut(a)?(l(),o("div",Zn,[Ee(a)&&Nt(a)?(l(),o(x,{key:0},[n(u,{type:"primary",size:"small",icon:m(tn),onClick:y=>Ot(a)},{default:i(()=>[...e[43]||(e[43]=[g(" 进入旁观 ",-1)])]),_:1},8,["icon","onClick"]),s("span",es,p(Tt(a)),1)],64)):(l(),o("span",ts,p(Ee(a)?Ft(a):Wt(a)),1))])):_("",!0),s("footer",as,[m(V)(["tcm.diagnosis/edit"])?(l(),E(u,{key:0,type:"primary",size:"small",plain:"",onClick:y=>Qt(a.id)},{default:i(()=>[...e[44]||(e[44]=[g(" 诊单 ",-1)])]),_:1},8,["onClick"])):_("",!0),m(V)(["tcm.diagnosis/kaifang"])?(l(),E(u,{key:1,type:je(a)==="查看"?"success":"primary",size:"small",onClick:y=>Yt(a)},{default:i(()=>[g(p(je(a)),1)]),_:2},1032,["type","onClick"])):_("",!0),m(V)(["tcm.diagnosis/guahao"])?(l(),E(u,{key:2,type:"success",size:"small",plain:"",onClick:y=>Ht(a)},{default:i(()=>[...e[45]||(e[45]=[g(" 预约 ",-1)])]),_:1},8,["onClick"])):_("",!0),n(u,{size:"small",class:"dh5-more-btn",onClick:y=>jt(a)},{default:i(()=>[e[46]||(e[46]=g(" 更多",-1)),n(k,{class:"el-icon--right"},{default:i(()=>[n(m(ot))]),_:1})]),_:1},8,["onClick"])])],2))),128)),Ve.value?(l(),o("div",{key:1,class:"dh5-load-more",onClick:Rt},p(m(h).loading?"加载中…":"加载更多"),1)):_("",!0),!Ve.value&&m(h).lists.length>0?(l(),o("div",ns,"— 没有更多了 —")):_("",!0)])),[[tt,m(h).loading]]),m(V)(["tcm.diagnosis/add"])?(l(),o("button",{key:0,class:"dh5-fab",type:"button","aria-label":"新增诊单",onClick:Mt},[n(k,{size:22},{default:i(()=>[n(m(Ha))]),_:1})])):_("",!0),n(m(pt),{ref_key:"editRef",ref:oe,onSuccess:Fe},null,512),n(m(ct),{ref_key:"detailRef",ref:Ye},null,512),n(m(mt),{ref_key:"prescriptionRef",ref:Be,onSuccess:Bt},null,512),n(m(_t),{ref_key:"appointmentRef",ref:He,onSuccess:Fe},null,512),n(m(vt),{modelValue:$e.value,"onUpdate:modelValue":e[5]||(e[5]=a=>$e.value=a),"diagnosis-id":Qe.value,onClosed:m(b)},null,8,["modelValue","diagnosis-id","onClosed"]),n(M,{modelValue:de.value,"onUpdate:modelValue":e[14]||(e[14]=a=>de.value=a),title:L.value?`${L.value.patient_name||"诊单"} · 更多操作`:"更多操作",direction:"btt",size:"auto","with-header":!0,"destroy-on-close":!0},{default:i(()=>[L.value?(l(),o("div",ss,[m(V)(["tcm.diagnosis/assign"])?(l(),o("button",{key:0,class:"dh5-action",onClick:e[6]||(e[6]=a=>N("assign"))},[n(k,null,{default:i(()=>[n(m(Ka))]),_:1}),e[47]||(e[47]=s("span",null,"指派医助",-1))])):_("",!0),J(L.value)&&m(V)(["tcm.diagnosis/videoQr"])?(l(),o("button",{key:1,class:"dh5-action",onClick:e[7]||(e[7]=a=>N("videoQr"))},[n(k,null,{default:i(()=>[n(m(dt))]),_:1}),e[48]||(e[48]=s("span",null,"视频二维码",-1))])):_("",!0),J(L.value)&&m(V)(["tcm.diagnosis/guahao"])?(l(),o("button",{key:2,class:"dh5-action",onClick:e[8]||(e[8]=a=>N("confirmQr"))},[n(k,null,{default:i(()=>[n(m(dt))]),_:1}),e[49]||(e[49]=s("span",null,"诊单二维码",-1))])):_("",!0),Me(L.value)&&m(V)(["tcm.diagnosis/guahao"])?(l(),o("button",{key:3,class:"dh5-action",onClick:e[9]||(e[9]=a=>N("cancelApt"))},[n(k,null,{default:i(()=>[n(m(ja))]),_:1}),e[50]||(e[50]=s("span",null,"取消挂号",-1))])):_("",!0),m(V)(["tcm.diagnosis/edit"])?(l(),o("button",{key:4,class:"dh5-action",onClick:e[10]||(e[10]=a=>N("fillIdCard"))},[n(k,null,{default:i(()=>[n(m(Ga))]),_:1}),e[51]||(e[51]=s("span",null,"补全身份证",-1))])):_("",!0),m(V)(["tcm.diagnosis/order"])?(l(),o("button",{key:5,class:"dh5-action",onClick:e[11]||(e[11]=a=>N("order"))},[n(k,null,{default:i(()=>[n(m(Ja))]),_:1}),e[52]||(e[52]=s("span",null,"创建订单",-1))])):_("",!0),s("button",{class:"dh5-action",onClick:e[12]||(e[12]=a=>N("wechat"))},[n(k,null,{default:i(()=>[n(m(Xa))]),_:1}),e[53]||(e[53]=s("span",null,"企微记录",-1))]),m(V)(["tcm.diagnosis/delete"])?(l(),o("button",{key:6,class:"dh5-action dh5-action--danger",onClick:e[13]||(e[13]=a=>N("delete"))},[n(k,null,{default:i(()=>[n(m(Za))]),_:1}),e[54]||(e[54]=s("span",null,"删除诊单",-1))])):_("",!0)])):_("",!0)]),_:1},8,["modelValue","title"]),n(M,{modelValue:Z.value,"onUpdate:modelValue":e[18]||(e[18]=a=>Z.value=a),title:"指派医助",direction:"btt",size:"46%"},{footer:i(()=>[n(u,{class:"dh5-flex1",onClick:e[17]||(e[17]=a=>Z.value=!1)},{default:i(()=>[...e[57]||(e[57]=[g("取消",-1)])]),_:1}),n(u,{class:"dh5-flex1",type:"primary",loading:Re.value,onClick:Jt},{default:i(()=>[...e[58]||(e[58]=[g(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{model:I.value,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(q,{label:"选择医助",required:""},{default:i(()=>[n(w,{modelValue:I.value.assistant_id,"onUpdate:modelValue":e[15]||(e[15]=a=>I.value.assistant_id=a),placeholder:"请选择医助",class:"!w-full",filterable:"",clearable:""},{default:i(()=>[(l(!0),o(x,null,S(G.value,a=>(l(),E(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(q,{label:"继承"},{default:i(()=>[n(ma,{modelValue:I.value.is_inherit,"onUpdate:modelValue":e[16]||(e[16]=a=>I.value.is_inherit=a)},{default:i(()=>[...e[55]||(e[55]=[g("继承",-1)])]),_:1},8,["modelValue"]),e[56]||(e[56]=s("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),n(q,{label:"诊单信息"},{default:i(()=>{var a,y;return[s("div",ls,[s("div",null,"患者:"+p((a=re.value)==null?void 0:a.patient_name),1),s("div",null,"诊断日期:"+p(((y=re.value)==null?void 0:y.diagnosis_date_text)||"—"),1)])]}),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(M,{modelValue:ee.value,"onUpdate:modelValue":e[23]||(e[23]=a=>ee.value=a),title:"创建订单",direction:"btt",size:"64%",onClose:ea},{footer:i(()=>[n(u,{class:"dh5-flex1",onClick:e[22]||(e[22]=a=>ee.value=!1)},{default:i(()=>[...e[59]||(e[59]=[g("取消",-1)])]),_:1}),n(u,{class:"dh5-flex1",type:"primary",loading:Ie.value,onClick:ta},{default:i(()=>[...e[60]||(e[60]=[g(" 创建订单 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{ref_key:"orderFormRef",ref:ue,model:v,rules:Xt,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(q,{label:"患者"},{default:i(()=>[s("span",null,p(v.patient_name)+" ("+p(Te(v.phone))+")",1)]),_:1}),n(q,{label:"订单类型",prop:"order_type"},{default:i(()=>[n(w,{modelValue:v.order_type,"onUpdate:modelValue":e[19]||(e[19]=a=>v.order_type=a),placeholder:"请选择",class:"!w-full"},{default:i(()=>[n(C,{label:"挂号费",value:1}),n(C,{label:"问诊费",value:2}),n(C,{label:"药品费用",value:3}),n(C,{label:"首付费用",value:4}),n(C,{label:"尾款费用",value:5}),n(C,{label:"其他费用",value:6}),n(C,{label:"全部费用",value:7}),n(C,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),n(q,{label:"订单金额",prop:"amount"},{default:i(()=>[n(_a,{modelValue:v.amount,"onUpdate:modelValue":e[20]||(e[20]=a=>v.amount=a),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"!w-full"},null,8,["modelValue"])]),_:1}),n(q,{label:"备注",prop:"remark"},{default:i(()=>[n(r,{modelValue:v.remark,"onUpdate:modelValue":e[21]||(e[21]=a=>v.remark=a),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(et,{modelValue:te.value,"onUpdate:modelValue":e[26]||(e[26]=a=>te.value=a),title:"补全身份证号","close-on-click-modal":!1,onClose:e[27]||(e[27]=a=>A.id_card="")},{footer:i(()=>[n(u,{onClick:e[25]||(e[25]=a=>te.value=!1)},{default:i(()=>[...e[61]||(e[61]=[g("取消",-1)])]),_:1}),n(u,{type:"primary",loading:Ae.value,onClick:sa},{default:i(()=>[...e[62]||(e[62]=[g(" 提交 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{ref_key:"fillIdCardFormRef",ref:Ge,model:A,rules:aa,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(q,{label:"患者"},{default:i(()=>[s("span",is,p(A.patient_name),1)]),_:1}),n(q,{label:"身份证号",prop:"id_card"},{default:i(()=>[n(r,{modelValue:A.id_card,"onUpdate:modelValue":e[24]||(e[24]=a=>A.id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(et,{modelValue:T.value,"onUpdate:modelValue":e[29]||(e[29]=a=>T.value=a),title:pe.value,"close-on-click-modal":!1},{footer:i(()=>[n(u,{onClick:e[28]||(e[28]=a=>T.value=!1)},{default:i(()=>[...e[65]||(e[65]=[g("关闭",-1)])]),_:1}),F.value?_("",!0):(l(),E(u,{key:0,type:"primary",onClick:ia},{default:i(()=>[...e[66]||(e[66]=[g("重新生成",-1)])]),_:1}))]),default:i(()=>{var a;return[s("div",os,[F.value?(l(),o("div",ds,[n(k,{class:"is-loading",size:36},{default:i(()=>[n(m(en))]),_:1}),e[63]||(e[63]=s("div",{class:"dh5-qr-tip"},"生成中...",-1))])):W.value?(l(),o("div",rs,[s("img",{src:W.value,alt:"小程序二维码",class:"dh5-qr-img"},null,8,us),s("div",ps,[s("div",null,"患者:"+p((a=U.value)==null?void 0:a.patient_name),1),s("div",null,"挂号时间:"+p(la.value),1),e[64]||(e[64]=s("div",{class:"dh5-qr-hint"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(l(),o("div",cs,"生成失败,请重试"))])]}),_:1},8,["modelValue","title"]),n(M,{modelValue:Se.value,"onUpdate:modelValue":e[31]||(e[31]=a=>Se.value=a),title:`企微记录 - ${((at=z.value)==null?void 0:at.patient_name)||""}`,direction:"rtl",size:"100%","destroy-on-close":!0},{default:i(()=>[Y.value?(l(),o("div",ms,[s("div",_s,[e[67]||(e[67]=s("span",{class:"dh5-wx-key"},"手机号",-1)),s("span",vs,p(Te(Y.value.phone)||"-"),1)]),s("div",gs,[e[69]||(e[69]=s("span",{class:"dh5-wx-key"},"企微 ID",-1)),s("span",fs,[Y.value.external_userid?(l(),o("span",hs,p(Y.value.external_userid),1)):(l(),E(ne,{key:1,type:"info",size:"small"},{default:i(()=>[...e[68]||(e[68]=[g("未关联",-1)])]),_:1}))])]),s("div",ys,[e[72]||(e[72]=s("span",{class:"dh5-wx-key"},"会话存档",-1)),s("span",ks,[Y.value.msgaudit_enabled?(l(),E(ne,{key:0,type:"success",size:"small"},{default:i(()=>[...e[70]||(e[70]=[g("已开通",-1)])]),_:1})):(l(),E(ne,{key:1,type:"info",size:"small"},{default:i(()=>[...e[71]||(e[71]=[g("未配置",-1)])]),_:1}))])])])):_("",!0),s("div",bs,[n(r,{modelValue:H.value,"onUpdate:modelValue":e[30]||(e[30]=a=>H.value=a),type:"textarea",rows:2,placeholder:"添加沟通记录..."},null,8,["modelValue"]),n(u,{type:"primary",loading:Pe.value,size:"small",onClick:ra},{default:i(()=>[...e[73]||(e[73]=[g(" 添加 ",-1)])]),_:1},8,["loading"])]),Le((l(),o("div",Cs,[O.value.length===0&&!me.value?(l(),o("div",Vs," 暂无聊天记录 ")):(l(),o("div",xs,[(l(!0),o(x,null,S(O.value,a=>{var y;return l(),o("div",{key:a.id,class:"dh5-wx-item"},[s("div",Ds,[s("div",Es,[n(ne,{type:a.direction===0?"primary":"success",size:"small"},{default:i(()=>[g(p(a.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),s("span",$s,p(a.direction===0?a.staff_name:a.external_name||((y=z.value)==null?void 0:y.patient_name)),1),a.msg_type==="note"?(l(),E(ne,{key:0,type:"warning",size:"small"},{default:i(()=>[...e[74]||(e[74]=[g("备注",-1)])]),_:1})):_("",!0)]),s("div",Rs,[s("span",Is,p(ft(a.chat_time)),1),n(u,{type:"danger",link:"",size:"small",onClick:Ls=>ua(a.id)},{default:i(()=>[...e[75]||(e[75]=[g(" 删除 ",-1)])]),_:1},8,["onClick"])])]),s("div",As,p(a.content),1),a.media_url?(l(),o("div",zs,[n(va,{src:a.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[a.media_url]},null,8,["src","preview-src-list"])])):_("",!0)])}),128))])),ce.value>O.value.length?(l(),o("div",{key:2,class:"dh5-load-more",onClick:da}," 加载更多 ")):_("",!0)])),[[tt,me.value]])]),_:1},8,["modelValue","title"])])}}}),El=Qa(Ps,[["__scopeId","data-v-d44354f3"]]);export{El as default};
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-Bqsg8jkl.js","assets/element-plus-lurTijPg.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-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-tCkhN6ch.js","assets/index-DF1MLuL8.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-cWYbZtDX.css","assets/perm-DJQOTKtE.js","assets/DailyMatrix-Bv0ZDAsS.js","assets/picker-BPfrB1Pn.js","assets/index-CnpV87Ke.js","assets/index-B3imPWFk.css","assets/index-BP_YKY_y.js","assets/index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js","assets/index-mDy9ToMf.js","assets/index-D0f1Mn00.css","assets/index-_ERDssCQ.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BdGKYRpa.js","assets/index.vue_vue_type_script_setup_true_lang-SfFZFG0h.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-DFW8NrDC.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-GHq4gyBb.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-DhY-d8bi.js","assets/RecordingPlaybackBlock-CszaDVIP.js","assets/RecordingVideoPlayer-Bgdabd2n.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-B3gJp5ia.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CJoC4wHm.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-Cb1bEIBY.js","assets/doctor-Lmz4K3Qd.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-WlJtu4cF.js","assets/patient-CU85GrfB.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-BT6MFGZ3.js","assets/PatientOrderList-Dx28GIXs.css","assets/index-B37DCCed.js","assets/index-BP9srYoP.js","assets/medicine-Thom1b2D.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-j-ocBozB.css","assets/edit-B0YJchTk.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-w3hEgx5f.js","assets/appointment-phVZQGxv.js","assets/appointment-B5q1nzzB.css","assets/AssistantWatchCallDialog-B4LbqZVg.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css"])))=>i.map(i=>d[i]);
+import{_ as se}from"./jspdf-BsthCvR5.js";import{C as ga,i as fa,d as ha,Q as ya,P as ka,L as ba,W as Ca,e as Va,D as xa,B as Da,H as Ea,h as $a,V as Ra,T as Ia,v as Aa}from"./element-plus-lurTijPg.js";import{w as za,q as Sa}from"./@vue/runtime-dom-DDAG46FW.js";import{aj as $,a as Pa,ak as wa,K as qa,am as La,Y as nt,an as st,ar as Na,ao as Ta,ap as Fa,aq as Wa}from"./tcm-tCkhN6ch.js";import{i as Ua}from"./order-B5HPxuEV.js";import{m as Oa}from"./doctor-Lmz4K3Qd.js";import{u as Ma,m as lt,i as f,_ as Qa}from"./index-DF1MLuL8.js";import{g as it}from"./weapp-Dr76WzC2.js";import{u as Ya}from"./usePaging-VsbTxSU0.js";import{h as V}from"./perm-DJQOTKtE.js";import{N as Ba,e as ot,A as Ha,X as Ka,O as dt,b as ja,ac as Ga,G as Ja,J as Xa,H as Za,l as en,P as tn}from"./@element-plus/icons-vue-HOEUG8sr.js";import{d as rt}from"./dayjs-DG77mNTn.js";import{f as ut,b as an,d as nn,ak as l,I as o,J as s,a as n,aN as i,O as g,F as x,ap as S,H as _,aP as Le,G as E,P as le,A as Q}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as Ne,n as c}from"./@vue/reactivity-DiY1c2vO.js";import{o as P,Q as p}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const sn={class:"dh5"},ln={class:"dh5-topbar"},on={class:"dh5-search"},dn={class:"dh5-chips dh5-chips--scroll"},rn=["onClick"],un={key:0},pn={key:0},cn={key:0},mn={key:0},_n={class:"dh5-quick"},vn={class:"dh5-quick-group"},gn=["onClick"],fn={class:"dh5-quick-group"},hn=["onClick"],yn={class:"dh5-more-filter"},kn={class:"dh5-list"},bn={key:0,class:"dh5-empty"},Cn=["onClick"],Vn={class:"dh5-card-avatar"},xn={class:"dh5-card-id-name"},Dn={class:"dh5-card-name"},En={key:0,class:"dh5-meta-gender"},$n={key:1,class:"dh5-meta-age"},Rn={class:"dh5-card-sub"},In={key:0,class:"dh5-tag-new"},An={class:"dh5-card-tags"},zn={key:0,class:"dh5-tag dh5-tag--ok"},Sn={key:1,class:"dh5-tag dh5-tag--warn"},Pn={key:2,class:"dh5-tag dh5-tag--info"},wn=["onClick"],qn={class:"dh5-row-val"},Ln={class:"dh5-apt-status"},Nn={class:"dh5-apt-doctor"},Tn={class:"dh5-apt-time"},Fn={class:"dh5-apt-status"},Wn={class:"dh5-apt-doctor"},Un={class:"dh5-apt-time"},On={key:1,class:"dh5-apt-none"},Mn={key:0,class:"dh5-row dh5-row--followup"},Qn={class:"dh5-row-val"},Yn={class:"dh5-meta-doctor"},Bn={key:0,class:"dh5-tag dh5-tag--gray"},Hn={class:"dh5-row"},Kn={class:"dh5-row-val"},jn={key:1,class:"dh5-row"},Gn={class:"dh5-row-val"},Jn={key:0,class:"dh5-meta-mute"},Xn={key:1},Zn={key:0,class:"dh5-card-watch"},es={class:"dh5-watch-tip"},ts={key:1,class:"dh5-watch-mute"},as={class:"dh5-card-foot"},ns={key:2,class:"dh5-no-more"},ss={key:0,class:"dh5-actions"},ls={class:"dh5-form-tip"},is={class:"font-medium"},os={class:"dh5-qr"},ds={key:0,class:"dh5-qr-loading"},rs={key:1},us=["src"],ps={class:"dh5-qr-meta"},cs={key:2,class:"dh5-qr-fail"},ms={key:0,class:"dh5-wx-contact"},_s={class:"dh5-wx-contact-row"},vs={class:"dh5-wx-val"},gs={class:"dh5-wx-contact-row"},fs={class:"dh5-wx-val"},hs={key:0},ys={class:"dh5-wx-contact-row"},ks={class:"dh5-wx-val"},bs={class:"dh5-wx-add"},Cs={class:"dh5-wx-list-wrap"},Vs={key:0,class:"dh5-wx-empty"},xs={key:1,class:"dh5-wx-list"},Ds={class:"dh5-wx-head"},Es={class:"dh5-wx-head-left"},$s={class:"dh5-wx-name"},Rs={class:"dh5-wx-head-right"},Is={class:"dh5-wx-time"},As={class:"dh5-wx-content"},zs={key:0,class:"dh5-wx-media"},Ss=ut({name:"tcmDiagnosisH5"}),Ps=ut({...Ss,setup(ws){const pt=le(()=>se(()=>import("./edit-Bqsg8jkl.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),ct=le(()=>se(()=>import("./detail-w3hEgx5f.js"),__vite__mapDeps([99,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),mt=le(()=>se(()=>import("./index-B37DCCed.js"),__vite__mapDeps([90,1,2,3,4,5,6,7,8,9,10,11,12,13,14,91,92,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,93,94,15,95,96]))),_t=le(()=>se(()=>import("./appointment-phVZQGxv.js"),__vite__mapDeps([100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,101]))),vt=le(()=>se(()=>import("./AssistantWatchCallDialog-B4LbqZVg.js"),__vite__mapDeps([102,1,2,3,4,5,6,7,8,9,10,11,12,13,14,103,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,104]))),ie=Ma(),gt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return rt(e).format("YYYY-MM-DD HH:mm")},ft=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return rt(e).format("YYYY-MM-DD HH:mm")},Te=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),R=t=>String(t).padStart(2,"0"),ve=Q(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),ge=Q(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),K=Q(()=>{const t=new Date;return`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),fe=Q(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),he=Q(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),d=Ne({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:""}),j=c(!1),ht=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],yt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],kt=Q(()=>[{label:"昨天挂号",value:ve.value},{label:"前天挂号",value:ge.value},{label:"当天挂号",value:K.value},{label:"明天挂号",value:fe.value},{label:"后天挂号",value:he.value},{label:"全部",value:""}]),ye=c({}),ke=c(void 0),be=c(void 0),Ce=c(void 0),{pager:h,getLists:b}=Ya({fetchFun:$,params:d}),Ve=Q(()=>h.lists.length<(h.count||0)),Fe=()=>b({silent:!0}),B=()=>{h.page=1,b(),D()},bt=()=>{d.keyword="",d.diagnosis_type="",d.syndrome_type="",d.assistant_id="",d.diagnosis_confirmed="",d.appointment_date=K.value,d.has_appointment="",d.pending_assign="",d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},Ct=t=>{d.has_appointment=t,d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},Vt=t=>{d.diagnosis_confirmed=t,d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},xt=async t=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date=t,h.page=1,await b(),D()},Dt=async()=>{d.pending_assign="",d.pending_booking="1",d.completed_appointment="",d.appointment_date="",d.has_appointment="0",h.page=1,await b(),D()},Et=async()=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="1",d.has_appointment="",d.appointment_date="",h.page=1,await b(),D()},$t=async()=>{d.pending_assign="1",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date="",h.page=1,await b(),D()},D=async()=>{try{const[t,e,r,u,k,C,w,ae,M]=await Promise.all([$({appointment_date:ve.value,page_no:1,page_size:1}),$({appointment_date:ge.value,page_no:1,page_size:1}),$({appointment_date:K.value,page_no:1,page_size:1}),$({appointment_date:fe.value,page_no:1,page_size:1}),$({appointment_date:he.value,page_no:1,page_size:1}),$({page_no:1,page_size:1}),$({has_appointment:0,page_no:1,page_size:1}),$({completed_appointment:1,page_no:1,page_size:1}),$({pending_assign:1,page_no:1,page_size:1})]);ye.value={[ve.value]:(t==null?void 0:t.count)??0,[ge.value]:(e==null?void 0:e.count)??0,[K.value]:(r==null?void 0:r.count)??0,[fe.value]:(u==null?void 0:u.count)??0,[he.value]:(k==null?void 0:k.count)??0,"":(C==null?void 0:C.count)??0},ke.value=(w==null?void 0:w.count)??0,be.value=(ae==null?void 0:ae.count)??0,Ce.value=(M==null?void 0:M.count)??0}catch(t){console.error("获取日期数量失败",t)}},Rt=async()=>{if(h.loading||!Ve.value)return;const t=(h.page||1)+1;h.loading=!0;try{const e=await $({page_no:t,page_size:h.size,...d});h.page=t,h.lists.push(...(e==null?void 0:e.lists)||[]),h.count=(e==null?void 0:e.count)??h.count}catch(e){console.error("加载更多失败:",e)}finally{h.loading=!1}},xe=c([]),De=c([]),G=c([]),It=async()=>{try{const[t,e,r]=await Promise.all([lt({type:"diagnosis_type"}),lt({type:"syndrome_type"}),Pa()]);xe.value=(t==null?void 0:t.diagnosis_type)||[],De.value=(e==null?void 0:e.syndrome_type)||[],G.value=r||[]}catch(t){console.error("获取字典数据失败:",t)}},We=(t,e)=>{const r=t.find(u=>u.value===e);return r?r.name:e||"-"},At=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(G.value.length===0)return"...";const r=G.value.find(u=>(typeof u.id=="string"?parseInt(u.id):u.id)===e);return r?r.name:"-"},Ue=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(r=>r.is_confirmed==1)},zt=t=>Ue(t)?t.has_appointment?"":"dh5-card--noapt":"dh5-card--unconfirmed",St=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},Pt=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},Oe=t=>{const e=Array.isArray(t.appointments)?t.appointments:[];return e.length>0?e:t.has_appointment?[{id:t.appointment_id,status:t.appointment_status,doctor_id:t.appointment_doctor_id,doctor_name:t.appointment_doctor_name,time_text:t.appointment_time_text}]:[]},wt=t=>{const e=Number(t==null?void 0:t.status);return{"dh5-apt-item--done":e===3,"dh5-apt-item--missed":e===4,"dh5-apt-item--active":e===1}},qt=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},J=t=>t.has_appointment&&Number(t.appointment_status)===1,Me=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Lt=t=>{var r;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((r=ie.userInfo)==null?void 0:r.id)},Ee=t=>Lt(t)&&V(["tcm.diagnosis/watchCall"]),X=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},Nt=t=>{const e=X(t);return e==="live"||e==="pending_room"},Tt=t=>X(t)==="pending_room"?"医生未接通或未同步房间":"点击进入实时房间",Ft=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Wt=t=>{const e=X(t);if(e==="none")return"";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const r=t.video_call_hint;return(r==null?void 0:r.label)||""},Ut=t=>{if(Ee(t))return!0;const e=X(t);return e==="live"||e==="pending_room"},$e=c(!1),Qe=c(0),Ot=t=>{if(X(t)!=="live"){f.msgWarning("医生未接通或未同步房间号,请稍后再试");return}Qe.value=Number(t.id)||0,$e.value=!0},oe=c(),Ye=c(),Be=c(),He=c(),Mt=()=>{var t;return(t=oe.value)==null?void 0:t.open("add")},Qt=t=>{var e;return(e=oe.value)==null?void 0:e.open("edit",t)},Ke=t=>{var e;return(e=Ye.value)==null?void 0:e.open(t)},je=t=>(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方",Yt=t=>{var e;if(!(t!=null&&t.id)){f.msgWarning("诊单信息不完整");return}(e=Be.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},Bt=()=>{var t,e;b(),(e=(t=oe.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Ht=t=>{var e;if(!t.patient_id){f.msgWarning("患者信息不完整");return}(e=He.value)==null||e.open(t)},Kt=async t=>{await f.confirm("确定要删除该诊单吗?"),await Wa({id:t}),b()},de=c(!1),L=c(null),jt=t=>{L.value=t,de.value=!0},N=t=>{const e=L.value;if(de.value=!1,!!e)switch(t){case"assign":Gt(e);break;case"videoQr":if(!J(e)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}Je(e);break;case"confirmQr":Xe(e);break;case"cancelApt":oa(e);break;case"fillIdCard":na(e);break;case"order":Zt(e);break;case"wechat":Ze(e);break;case"delete":Kt(e.id);break}},Z=c(!1),Re=c(!1),re=c(null),I=c({assistant_id:null,is_inherit:!1}),Gt=t=>{re.value=t,I.value.assistant_id=t.assistant_id?Number(t.assistant_id):null,I.value.is_inherit=!1,Z.value=!0},Jt=async()=>{if(!I.value.assistant_id){f.msgWarning("请选择医助");return}Re.value=!0;try{await wa({id:re.value.id,assistant_id:I.value.assistant_id,is_inherit:I.value.is_inherit?1:0}),Z.value=!1,b()}catch(t){console.error("指派失败:",t)}finally{Re.value=!1}},ee=c(!1),ue=c(),Ie=c(!1),v=Ne({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),Xt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},Zt=t=>{var e;v.patient_id=t.patient_id||t.id,v.patient_name=t.patient_name,v.phone=t.phone||"",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!!t.has_appointment,v.appointment_time_text=t.appointment_time_text||"",(e=ue.value)==null||e.clearValidate(),ee.value=!0},ea=()=>{var t;v.patient_id="",v.patient_name="",v.phone="",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!1,v.appointment_time_text="",(t=ue.value)==null||t.clearValidate()},ta=async()=>{var t;try{await((t=ue.value)==null?void 0:t.validate()),Ie.value=!0;const e=await Ua({patient_id:v.patient_id,order_type:v.order_type,amount:v.amount,remark:v.remark});ee.value=!1,b();const r=e==null?void 0:e.order_no;if(r){T.value=!0,F.value=!0,W.value="",pe.value="收款二维码",U.value={patient_name:v.patient_name,has_appointment:v.has_appointment,appointment_time_text:v.appointment_time_text};try{const u=await qa({order_no:r});u!=null&&u.qrcode_url?W.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(u){f.msgError((u==null?void 0:u.msg)||"生成二维码失败")}finally{F.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ie.value=!1}},te=c(!1),Ae=c(!1),Ge=c(),A=Ne({id:0,patient_name:"",id_card:""}),aa={id_card:[{required:!0,validator:(t,e,r)=>{if(!e){r(new Error("请输入身份证号"));return}const u=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),k=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);u||k?r():r(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},na=t=>{A.id=t.id,A.patient_name=t.patient_name||"-",A.id_card=t.id_card||"",te.value=!0},sa=async()=>{var t;await((t=Ge.value)==null?void 0:t.validate()),Ae.value=!0;try{await La({id:A.id,id_card:A.id_card}),f.msgSuccess("补全成功,年龄已自动更新"),te.value=!1,b()}catch(e){f.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ae.value=!1}},T=c(!1),F=c(!1),W=c(""),U=c(null),pe=c("小程序二维码"),ze=c("confirm"),la=Q(()=>{const t=U.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Je=async t=>{var e;if(!J(t)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){f.msgWarning("患者信息不完整");return}ze.value="video",U.value=t,T.value=!0,F.value=!0,W.value="",pe.value="视频二维码";try{const r=await it();if(!(r!=null&&r.app_id)){f.msgError("小程序未配置"),T.value=!1;return}const u=await nt({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ie.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});u!=null&&u.qrcode_url?W.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(r){f.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{F.value=!1}},Xe=async t=>{var e;if(!J(t)){f.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){f.msgWarning("患者信息不完整");return}ze.value="confirm",U.value=t,T.value=!0,F.value=!0,W.value="",pe.value="诊单二维码";try{const r=await it();if(!(r!=null&&r.app_id)){f.msgError("小程序未配置"),T.value=!1;return}const u=await nt({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ie.userInfo)==null?void 0:e.id)||""});u!=null&&u.qrcode_url?W.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(r){f.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{F.value=!1}},ia=()=>{U.value&&(ze.value==="video"?Je(U.value):Xe(U.value))},oa=async t=>{if(!Me(t)){const e=Number(t.appointment_status);t.has_appointment&&e===3?f.msgWarning("已完成就诊,无法取消挂号"):f.msgWarning("该诊单未挂号或挂号信息异常");return}try{await f.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await Oa({id:t.appointment_id}),f.msgSuccess("取消挂号成功"),b(),D()}catch(e){e!=="cancel"&&f.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},Se=c(!1),z=c(null),O=c([]),ce=c(0),me=c(!1),Y=c(null),H=c(""),Pe=c(!1),we=c(1),Ze=async t=>{z.value=t,Se.value=!0,O.value=[],ce.value=0,Y.value=null,H.value="",we.value=1,me.value=!0;try{const[e,r]=await Promise.all([st({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),Na({patient_id:t.patient_id||t.id}).catch(()=>null)]);O.value=(e==null?void 0:e.lists)||[],ce.value=(e==null?void 0:e.count)||0,Y.value=r}catch(e){console.error(e)}finally{me.value=!1}},da=async()=>{if(z.value){we.value++;try{const t=await st({diagnosis_id:z.value.id,patient_id:z.value.patient_id,page_no:we.value,page_size:20});O.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error(t)}}},ra=async()=>{var t;if(!H.value.trim()){f.msgWarning("请输入内容");return}Pe.value=!0;try{await Ta({diagnosis_id:z.value.id,patient_id:z.value.patient_id,content:H.value.trim(),msg_type:"note",staff_name:((t=ie.userInfo)==null?void 0:t.name)||"",external_name:z.value.patient_name||""}),H.value="",Ze(z.value)}catch(e){f.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Pe.value=!1}},ua=async t=>{await f.confirm("确定删除该记录吗?");try{await Fa({id:t}),O.value=O.value.filter(e=>e.id!==t),ce.value--}catch(e){f.msgError((e==null?void 0:e.msg)||"删除失败")}},pa=15e3;let _e=null;const ca=()=>{typeof document<"u"&&document.hidden||(b({silent:!0}).catch(()=>{}),D())};return an(async()=>{document.body.classList.add("h5-mode"),d.appointment_date=K.value,It(),b(),typeof requestIdleCallback=="function"?requestIdleCallback(()=>D(),{timeout:2500}):setTimeout(D,200),_e=setInterval(ca,pa)}),nn(()=>{document.body.classList.remove("h5-mode"),_e&&(clearInterval(_e),_e=null)}),(t,e)=>{var at;const r=ga,u=fa,k=ha,C=ya,w=ka,ae=Ca,M=Va,q=Da,ma=Ea,qe=xa,_a=$a,et=Ra,ne=Ia,va=Aa,tt=ba;return l(),o("div",sn,[s("header",ln,[s("div",on,[n(r,{modelValue:d.keyword,"onUpdate:modelValue":e[0]||(e[0]=a=>d.keyword=a),placeholder:"患者姓名 / 手机号",clearable:"","prefix-icon":m(Ba),onKeyup:za(B,["enter"]),onClear:B},null,8,["modelValue","prefix-icon"]),n(u,{class:"dh5-search-btn",type:"primary",onClick:B},{default:i(()=>[...e[32]||(e[32]=[g("查询",-1)])]),_:1})]),s("div",dn,[(l(!0),o(x,null,S(kt.value,a=>(l(),o("span",{key:a.value||"all",class:P(["dh5-chip",{active:d.pending_assign!=="1"&&d.pending_booking!=="1"&&d.completed_appointment!=="1"&&d.appointment_date===a.value}]),onClick:y=>xt(a.value)},[g(p(a.label)+" ",1),ye.value[a.value]!==void 0?(l(),o("em",un,p(ye.value[a.value]),1)):_("",!0)],10,rn))),128)),s("span",{class:P(["dh5-chip","dh5-chip--booking",{active:d.pending_booking==="1"}]),onClick:Dt},[e[33]||(e[33]=g(" 待预约 ",-1)),ke.value!==void 0?(l(),o("em",pn,p(ke.value),1)):_("",!0)],2),s("span",{class:P(["dh5-chip","dh5-chip--done",{active:d.completed_appointment==="1"}]),onClick:Et},[e[34]||(e[34]=g(" 已完成 ",-1)),be.value!==void 0?(l(),o("em",cn,p(be.value),1)):_("",!0)],2),m(V)(["tcm.diagnosis/assign"])?(l(),o("span",{key:0,class:P(["dh5-chip","dh5-chip--pending",{active:d.pending_assign==="1"}]),onClick:$t},[e[35]||(e[35]=g(" 待分配医助 ",-1)),Ce.value!==void 0?(l(),o("em",mn,p(Ce.value),1)):_("",!0)],2)):_("",!0)]),s("div",_n,[s("div",vn,[e[36]||(e[36]=s("span",{class:"dh5-quick-label"},"挂号",-1)),(l(),o(x,null,S(ht,a=>s("span",{key:"a"+a.value,class:P(["dh5-pill",{active:d.has_appointment===a.value}]),onClick:y=>Ct(a.value)},p(a.label),11,gn)),64))]),s("div",fn,[e[37]||(e[37]=s("span",{class:"dh5-quick-label"},"确认",-1)),(l(),o(x,null,S(yt,a=>s("span",{key:"c"+a.value,class:P(["dh5-pill",{active:d.diagnosis_confirmed===a.value}]),onClick:y=>Vt(a.value)},p(a.label),11,hn)),64))]),n(u,{link:"",type:"primary",size:"small",class:"dh5-more-toggle",onClick:e[1]||(e[1]=a=>j.value=!j.value)},{default:i(()=>[g(p(j.value?"收起":"更多")+" ",1),n(k,{class:P({"rotate-180":j.value})},{default:i(()=>[n(m(ot))]),_:1},8,["class"])]),_:1})]),Le(s("div",yn,[n(w,{modelValue:d.diagnosis_type,"onUpdate:modelValue":e[2]||(e[2]=a=>d.diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:B},{default:i(()=>[(l(!0),o(x,null,S(xe.value,a=>(l(),E(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(w,{modelValue:d.syndrome_type,"onUpdate:modelValue":e[3]||(e[3]=a=>d.syndrome_type=a),placeholder:"证型",clearable:"",size:"small",onChange:B},{default:i(()=>[(l(!0),o(x,null,S(De.value,a=>(l(),E(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(w,{modelValue:d.assistant_id,"onUpdate:modelValue":e[4]||(e[4]=a=>d.assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:B},{default:i(()=>[(l(!0),o(x,null,S(G.value,a=>(l(),E(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(u,{size:"small",onClick:bt},{default:i(()=>[...e[38]||(e[38]=[g("重置",-1)])]),_:1})],512),[[Sa,j.value]])]),Le((l(),o("main",kn,[m(h).lists.length===0&&!m(h).loading?(l(),o("div",bn,[n(ae,{description:"暂无诊单","image-size":120})])):_("",!0),(l(!0),o(x,null,S(m(h).lists,a=>(l(),o("article",{key:a.id,class:P(["dh5-card",zt(a)])},[s("header",{class:"dh5-card-head",onClick:y=>Ke(a.id)},[s("div",Vn,p((a.patient_name||"患").charAt(0)),1),s("div",xn,[s("div",Dn,[g(p(a.patient_name||"-")+" ",1),a.gender_desc?(l(),o("span",En,p(a.gender_desc),1)):_("",!0),a.age!=null?(l(),o("span",$n,p(a.age)+"岁",1)):_("",!0)]),s("div",Rn,[g(" #"+p(a.id)+" · "+p(a.diagnosis_date_text||gt(a.create_time))+" ",1),a.assign_read_at===null&&a.assistant_id>0?(l(),o("span",In,"NEW")):_("",!0)])]),s("div",An,[Ue(a)?(l(),o("span",zn,"已确认")):(l(),o("span",Sn,"未确认")),a.has_prescription?(l(),o("span",Pn,"已开方")):_("",!0)])],8,Cn),s("section",{class:"dh5-card-body",onClick:y=>Ke(a.id)},[s("div",{class:P(["dh5-row","dh5-row--apt",qt(a)])},[e[39]||(e[39]=s("span",{class:"dh5-row-key"},"挂号",-1)),s("div",qn,[a.has_appointment?(l(),o(x,{key:0},[Oe(a).length?(l(!0),o(x,{key:0},S(Oe(a),y=>(l(),o("div",{key:y.id||`${y.doctor_id}-${y.time_text}`,class:P(["dh5-apt-item",wt(y)])},[s("span",Ln,p(Pt(y.status)),1),s("span",Nn,p(y.doctor_name||"-"),1),s("span",Tn,p(y.time_text||"-"),1)],2))),128)):(l(),o(x,{key:1},[s("span",Fn,p(St(a)),1),s("span",Wn,p(a.appointment_doctor_name||"-"),1),s("span",Un,p(a.appointment_time_text||"-"),1)],64))],64)):(l(),o("span",On,"未挂号"))])],2),a.has_prescription?(l(),o("div",Mn,[e[40]||(e[40]=s("span",{class:"dh5-row-key"},"复诊",-1)),s("div",Qn,[s("span",null,p(a.followup_time_text||"—"),1),s("span",Yn,p(a.followup_doctor_name||"—"),1),a.followup_rx_voided?(l(),o("span",Bn,"处方作废")):_("",!0)])])):_("",!0),s("div",Hn,[e[41]||(e[41]=s("span",{class:"dh5-row-key"},"助理",-1)),s("span",Kn,p(At(a.assistant_id||a.assistant)),1)]),a.diagnosis_type?(l(),o("div",jn,[e[42]||(e[42]=s("span",{class:"dh5-row-key"},"诊断",-1)),s("span",Gn,[g(p(We(xe.value,a.diagnosis_type))+" ",1),a.syndrome_type?(l(),o("span",Jn,"·")):_("",!0),a.syndrome_type?(l(),o("span",Xn,p(We(De.value,a.syndrome_type)),1)):_("",!0)])])):_("",!0)],8,wn),Ut(a)?(l(),o("div",Zn,[Ee(a)&&Nt(a)?(l(),o(x,{key:0},[n(u,{type:"primary",size:"small",icon:m(tn),onClick:y=>Ot(a)},{default:i(()=>[...e[43]||(e[43]=[g(" 进入旁观 ",-1)])]),_:1},8,["icon","onClick"]),s("span",es,p(Tt(a)),1)],64)):(l(),o("span",ts,p(Ee(a)?Ft(a):Wt(a)),1))])):_("",!0),s("footer",as,[m(V)(["tcm.diagnosis/edit"])?(l(),E(u,{key:0,type:"primary",size:"small",plain:"",onClick:y=>Qt(a.id)},{default:i(()=>[...e[44]||(e[44]=[g(" 诊单 ",-1)])]),_:1},8,["onClick"])):_("",!0),m(V)(["tcm.diagnosis/kaifang"])?(l(),E(u,{key:1,type:je(a)==="查看"?"success":"primary",size:"small",onClick:y=>Yt(a)},{default:i(()=>[g(p(je(a)),1)]),_:2},1032,["type","onClick"])):_("",!0),m(V)(["tcm.diagnosis/guahao"])?(l(),E(u,{key:2,type:"success",size:"small",plain:"",onClick:y=>Ht(a)},{default:i(()=>[...e[45]||(e[45]=[g(" 预约 ",-1)])]),_:1},8,["onClick"])):_("",!0),n(u,{size:"small",class:"dh5-more-btn",onClick:y=>jt(a)},{default:i(()=>[e[46]||(e[46]=g(" 更多",-1)),n(k,{class:"el-icon--right"},{default:i(()=>[n(m(ot))]),_:1})]),_:1},8,["onClick"])])],2))),128)),Ve.value?(l(),o("div",{key:1,class:"dh5-load-more",onClick:Rt},p(m(h).loading?"加载中…":"加载更多"),1)):_("",!0),!Ve.value&&m(h).lists.length>0?(l(),o("div",ns,"— 没有更多了 —")):_("",!0)])),[[tt,m(h).loading]]),m(V)(["tcm.diagnosis/add"])?(l(),o("button",{key:0,class:"dh5-fab",type:"button","aria-label":"新增诊单",onClick:Mt},[n(k,{size:22},{default:i(()=>[n(m(Ha))]),_:1})])):_("",!0),n(m(pt),{ref_key:"editRef",ref:oe,onSuccess:Fe},null,512),n(m(ct),{ref_key:"detailRef",ref:Ye},null,512),n(m(mt),{ref_key:"prescriptionRef",ref:Be,onSuccess:Bt},null,512),n(m(_t),{ref_key:"appointmentRef",ref:He,onSuccess:Fe},null,512),n(m(vt),{modelValue:$e.value,"onUpdate:modelValue":e[5]||(e[5]=a=>$e.value=a),"diagnosis-id":Qe.value,onClosed:m(b)},null,8,["modelValue","diagnosis-id","onClosed"]),n(M,{modelValue:de.value,"onUpdate:modelValue":e[14]||(e[14]=a=>de.value=a),title:L.value?`${L.value.patient_name||"诊单"} · 更多操作`:"更多操作",direction:"btt",size:"auto","with-header":!0,"destroy-on-close":!0},{default:i(()=>[L.value?(l(),o("div",ss,[m(V)(["tcm.diagnosis/assign"])?(l(),o("button",{key:0,class:"dh5-action",onClick:e[6]||(e[6]=a=>N("assign"))},[n(k,null,{default:i(()=>[n(m(Ka))]),_:1}),e[47]||(e[47]=s("span",null,"指派医助",-1))])):_("",!0),J(L.value)&&m(V)(["tcm.diagnosis/videoQr"])?(l(),o("button",{key:1,class:"dh5-action",onClick:e[7]||(e[7]=a=>N("videoQr"))},[n(k,null,{default:i(()=>[n(m(dt))]),_:1}),e[48]||(e[48]=s("span",null,"视频二维码",-1))])):_("",!0),J(L.value)&&m(V)(["tcm.diagnosis/guahao"])?(l(),o("button",{key:2,class:"dh5-action",onClick:e[8]||(e[8]=a=>N("confirmQr"))},[n(k,null,{default:i(()=>[n(m(dt))]),_:1}),e[49]||(e[49]=s("span",null,"诊单二维码",-1))])):_("",!0),Me(L.value)&&m(V)(["tcm.diagnosis/guahao"])?(l(),o("button",{key:3,class:"dh5-action",onClick:e[9]||(e[9]=a=>N("cancelApt"))},[n(k,null,{default:i(()=>[n(m(ja))]),_:1}),e[50]||(e[50]=s("span",null,"取消挂号",-1))])):_("",!0),m(V)(["tcm.diagnosis/edit"])?(l(),o("button",{key:4,class:"dh5-action",onClick:e[10]||(e[10]=a=>N("fillIdCard"))},[n(k,null,{default:i(()=>[n(m(Ga))]),_:1}),e[51]||(e[51]=s("span",null,"补全身份证",-1))])):_("",!0),m(V)(["tcm.diagnosis/order"])?(l(),o("button",{key:5,class:"dh5-action",onClick:e[11]||(e[11]=a=>N("order"))},[n(k,null,{default:i(()=>[n(m(Ja))]),_:1}),e[52]||(e[52]=s("span",null,"创建订单",-1))])):_("",!0),s("button",{class:"dh5-action",onClick:e[12]||(e[12]=a=>N("wechat"))},[n(k,null,{default:i(()=>[n(m(Xa))]),_:1}),e[53]||(e[53]=s("span",null,"企微记录",-1))]),m(V)(["tcm.diagnosis/delete"])?(l(),o("button",{key:6,class:"dh5-action dh5-action--danger",onClick:e[13]||(e[13]=a=>N("delete"))},[n(k,null,{default:i(()=>[n(m(Za))]),_:1}),e[54]||(e[54]=s("span",null,"删除诊单",-1))])):_("",!0)])):_("",!0)]),_:1},8,["modelValue","title"]),n(M,{modelValue:Z.value,"onUpdate:modelValue":e[18]||(e[18]=a=>Z.value=a),title:"指派医助",direction:"btt",size:"46%"},{footer:i(()=>[n(u,{class:"dh5-flex1",onClick:e[17]||(e[17]=a=>Z.value=!1)},{default:i(()=>[...e[57]||(e[57]=[g("取消",-1)])]),_:1}),n(u,{class:"dh5-flex1",type:"primary",loading:Re.value,onClick:Jt},{default:i(()=>[...e[58]||(e[58]=[g(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{model:I.value,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(q,{label:"选择医助",required:""},{default:i(()=>[n(w,{modelValue:I.value.assistant_id,"onUpdate:modelValue":e[15]||(e[15]=a=>I.value.assistant_id=a),placeholder:"请选择医助",class:"!w-full",filterable:"",clearable:""},{default:i(()=>[(l(!0),o(x,null,S(G.value,a=>(l(),E(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(q,{label:"继承"},{default:i(()=>[n(ma,{modelValue:I.value.is_inherit,"onUpdate:modelValue":e[16]||(e[16]=a=>I.value.is_inherit=a)},{default:i(()=>[...e[55]||(e[55]=[g("继承",-1)])]),_:1},8,["modelValue"]),e[56]||(e[56]=s("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),n(q,{label:"诊单信息"},{default:i(()=>{var a,y;return[s("div",ls,[s("div",null,"患者:"+p((a=re.value)==null?void 0:a.patient_name),1),s("div",null,"诊断日期:"+p(((y=re.value)==null?void 0:y.diagnosis_date_text)||"—"),1)])]}),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(M,{modelValue:ee.value,"onUpdate:modelValue":e[23]||(e[23]=a=>ee.value=a),title:"创建订单",direction:"btt",size:"64%",onClose:ea},{footer:i(()=>[n(u,{class:"dh5-flex1",onClick:e[22]||(e[22]=a=>ee.value=!1)},{default:i(()=>[...e[59]||(e[59]=[g("取消",-1)])]),_:1}),n(u,{class:"dh5-flex1",type:"primary",loading:Ie.value,onClick:ta},{default:i(()=>[...e[60]||(e[60]=[g(" 创建订单 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{ref_key:"orderFormRef",ref:ue,model:v,rules:Xt,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(q,{label:"患者"},{default:i(()=>[s("span",null,p(v.patient_name)+" ("+p(Te(v.phone))+")",1)]),_:1}),n(q,{label:"订单类型",prop:"order_type"},{default:i(()=>[n(w,{modelValue:v.order_type,"onUpdate:modelValue":e[19]||(e[19]=a=>v.order_type=a),placeholder:"请选择",class:"!w-full"},{default:i(()=>[n(C,{label:"挂号费",value:1}),n(C,{label:"问诊费",value:2}),n(C,{label:"药品费用",value:3}),n(C,{label:"首付费用",value:4}),n(C,{label:"尾款费用",value:5}),n(C,{label:"其他费用",value:6}),n(C,{label:"全部费用",value:7}),n(C,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),n(q,{label:"订单金额",prop:"amount"},{default:i(()=>[n(_a,{modelValue:v.amount,"onUpdate:modelValue":e[20]||(e[20]=a=>v.amount=a),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"!w-full"},null,8,["modelValue"])]),_:1}),n(q,{label:"备注",prop:"remark"},{default:i(()=>[n(r,{modelValue:v.remark,"onUpdate:modelValue":e[21]||(e[21]=a=>v.remark=a),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(et,{modelValue:te.value,"onUpdate:modelValue":e[26]||(e[26]=a=>te.value=a),title:"补全身份证号","close-on-click-modal":!1,onClose:e[27]||(e[27]=a=>A.id_card="")},{footer:i(()=>[n(u,{onClick:e[25]||(e[25]=a=>te.value=!1)},{default:i(()=>[...e[61]||(e[61]=[g("取消",-1)])]),_:1}),n(u,{type:"primary",loading:Ae.value,onClick:sa},{default:i(()=>[...e[62]||(e[62]=[g(" 提交 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{ref_key:"fillIdCardFormRef",ref:Ge,model:A,rules:aa,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(q,{label:"患者"},{default:i(()=>[s("span",is,p(A.patient_name),1)]),_:1}),n(q,{label:"身份证号",prop:"id_card"},{default:i(()=>[n(r,{modelValue:A.id_card,"onUpdate:modelValue":e[24]||(e[24]=a=>A.id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(et,{modelValue:T.value,"onUpdate:modelValue":e[29]||(e[29]=a=>T.value=a),title:pe.value,"close-on-click-modal":!1},{footer:i(()=>[n(u,{onClick:e[28]||(e[28]=a=>T.value=!1)},{default:i(()=>[...e[65]||(e[65]=[g("关闭",-1)])]),_:1}),F.value?_("",!0):(l(),E(u,{key:0,type:"primary",onClick:ia},{default:i(()=>[...e[66]||(e[66]=[g("重新生成",-1)])]),_:1}))]),default:i(()=>{var a;return[s("div",os,[F.value?(l(),o("div",ds,[n(k,{class:"is-loading",size:36},{default:i(()=>[n(m(en))]),_:1}),e[63]||(e[63]=s("div",{class:"dh5-qr-tip"},"生成中...",-1))])):W.value?(l(),o("div",rs,[s("img",{src:W.value,alt:"小程序二维码",class:"dh5-qr-img"},null,8,us),s("div",ps,[s("div",null,"患者:"+p((a=U.value)==null?void 0:a.patient_name),1),s("div",null,"挂号时间:"+p(la.value),1),e[64]||(e[64]=s("div",{class:"dh5-qr-hint"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(l(),o("div",cs,"生成失败,请重试"))])]}),_:1},8,["modelValue","title"]),n(M,{modelValue:Se.value,"onUpdate:modelValue":e[31]||(e[31]=a=>Se.value=a),title:`企微记录 - ${((at=z.value)==null?void 0:at.patient_name)||""}`,direction:"rtl",size:"100%","destroy-on-close":!0},{default:i(()=>[Y.value?(l(),o("div",ms,[s("div",_s,[e[67]||(e[67]=s("span",{class:"dh5-wx-key"},"手机号",-1)),s("span",vs,p(Te(Y.value.phone)||"-"),1)]),s("div",gs,[e[69]||(e[69]=s("span",{class:"dh5-wx-key"},"企微 ID",-1)),s("span",fs,[Y.value.external_userid?(l(),o("span",hs,p(Y.value.external_userid),1)):(l(),E(ne,{key:1,type:"info",size:"small"},{default:i(()=>[...e[68]||(e[68]=[g("未关联",-1)])]),_:1}))])]),s("div",ys,[e[72]||(e[72]=s("span",{class:"dh5-wx-key"},"会话存档",-1)),s("span",ks,[Y.value.msgaudit_enabled?(l(),E(ne,{key:0,type:"success",size:"small"},{default:i(()=>[...e[70]||(e[70]=[g("已开通",-1)])]),_:1})):(l(),E(ne,{key:1,type:"info",size:"small"},{default:i(()=>[...e[71]||(e[71]=[g("未配置",-1)])]),_:1}))])])])):_("",!0),s("div",bs,[n(r,{modelValue:H.value,"onUpdate:modelValue":e[30]||(e[30]=a=>H.value=a),type:"textarea",rows:2,placeholder:"添加沟通记录..."},null,8,["modelValue"]),n(u,{type:"primary",loading:Pe.value,size:"small",onClick:ra},{default:i(()=>[...e[73]||(e[73]=[g(" 添加 ",-1)])]),_:1},8,["loading"])]),Le((l(),o("div",Cs,[O.value.length===0&&!me.value?(l(),o("div",Vs," 暂无聊天记录 ")):(l(),o("div",xs,[(l(!0),o(x,null,S(O.value,a=>{var y;return l(),o("div",{key:a.id,class:"dh5-wx-item"},[s("div",Ds,[s("div",Es,[n(ne,{type:a.direction===0?"primary":"success",size:"small"},{default:i(()=>[g(p(a.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),s("span",$s,p(a.direction===0?a.staff_name:a.external_name||((y=z.value)==null?void 0:y.patient_name)),1),a.msg_type==="note"?(l(),E(ne,{key:0,type:"warning",size:"small"},{default:i(()=>[...e[74]||(e[74]=[g("备注",-1)])]),_:1})):_("",!0)]),s("div",Rs,[s("span",Is,p(ft(a.chat_time)),1),n(u,{type:"danger",link:"",size:"small",onClick:Ls=>ua(a.id)},{default:i(()=>[...e[75]||(e[75]=[g(" 删除 ",-1)])]),_:1},8,["onClick"])])]),s("div",As,p(a.content),1),a.media_url?(l(),o("div",zs,[n(va,{src:a.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[a.media_url]},null,8,["src","preview-src-list"])])):_("",!0)])}),128))])),ce.value>O.value.length?(l(),o("div",{key:2,class:"dh5-load-more",onClick:da}," 加载更多 ")):_("",!0)])),[[tt,me.value]])]),_:1},8,["modelValue","title"])])}}}),El=Qa(Ps,[["__scopeId","data-v-d44354f3"]]);export{El as default};
diff --git a/server/public/admin/assets/information-KV1O5BA-.js b/server/public/admin/assets/information-BUqR2byp.js
similarity index 94%
rename from server/public/admin/assets/information-KV1O5BA-.js
rename to server/public/admin/assets/information-BUqR2byp.js
index feb35d8f..3057fb02 100644
--- a/server/public/admin/assets/information-KV1O5BA-.js
+++ b/server/public/admin/assets/information-BUqR2byp.js
@@ -1 +1 @@
-import{_ as C}from"./index-BAsXhEKk.js";import{J as q,B as k,C as U,D as y,i as O}from"./element-plus-lurTijPg.js";import{_ as P}from"./picker-CIEIqcz7.js";import{a as M,b as B}from"./website-BlK3UwW_.js";import{e as E}from"./index-hTkp7Jz4.js";import{f,as as G,ak as _,I as D,a as o,aN as m,J as i,aP as L,G as I,O as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,n as S,r as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-NODwdV06.js";import"./index-DQyvoLLY.js";import"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import"./index-Qf24LWMn.js";import"./index-By8JT914.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-CdkUkN_s.js";import"./index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const F={class:"website-information"},J={class:"w-80"},R={class:"w-80"},A={class:"w-80"},T={class:"w-80"},z={class:"w-80"},H=f({name:"webInformation"}),Qe=f({...H,setup(K){const u=S(),b=E(),l=W({name:"",web_favicon:"",web_logo:"",login_image:"",h5_favicon:"",shop_name:"",shop_logo:"",pc_logo:"",pc_title:"",pc_desc:"",pc_ico:"",pc_keywords:""}),v={name:[{required:!0,message:"请输入网站名称",trigger:["blur"]}],web_favicon:[{required:!0,message:"请选择网站图标",trigger:["change"]}],web_logo:[{required:!0,message:"请选择网站logo",trigger:["change"]}],login_image:[{required:!0,message:"请选择登录页广告图",trigger:["change"]}],shop_name:[{required:!0,message:"请输入店铺/商城名称",trigger:["blur"]}],shop_logo:[{required:!0,message:"请选择商城LOGO",trigger:["change"]}],pc_logo:[{required:!0,message:"请选择PC端LOGO",trigger:["change"]}],pc_title:[{required:!0,message:"请输入PC端网站标题",trigger:["blur"]}],pc_ico:[{required:!0,message:"请选择PC端网站图标",trigger:["change"]}]},g=async()=>{const a=await M();for(const e in l)l[e]=a[e]},w=async()=>{var a;await((a=u.value)==null?void 0:a.validate()),await B(l),b.getConfig(),g()};return g(),(a,e)=>{const d=U,p=k,s=P,n=q,V=y,c=O,x=C,j=G("perms");return _(),D("div",F,[o(V,{ref_key:"formRef",ref:u,rules:v,class:"ls-form",model:t(l),"label-width":"120px","scroll-to-error":""},{default:m(()=>[o(n,{shadow:"never",class:"!border-none"},{default:m(()=>[e[15]||(e[15]=i("div",{class:"text-xl font-medium mb-[20px]"},"后台设置",-1)),o(p,{label:"网站名称",prop:"name"},{default:m(()=>[i("div",J,[o(d,{modelValue:t(l).name,"onUpdate:modelValue":e[0]||(e[0]=r=>t(l).name=r),modelModifiers:{trim:!0},placeholder:"请输入网站名称",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"web_favicon",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).web_favicon,"onUpdate:modelValue":e[1]||(e[1]=r=>t(l).web_favicon=r),limit:1},null,8,["modelValue"]),e[12]||(e[12]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站LOGO",prop:"web_logo",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).web_logo,"onUpdate:modelValue":e[2]||(e[2]=r=>t(l).web_logo=r),modelModifiers:{trim:!0},limit:1},null,8,["modelValue"]),e[13]||(e[13]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"登录页广告图",prop:"login_image",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).login_image,"onUpdate:modelValue":e[3]||(e[3]=r=>t(l).login_image=r),modelModifiers:{trim:!0},limit:1},null,8,["modelValue"]),e[14]||(e[14]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(n,{shadow:"never",class:"!border-none mt-4"},{default:m(()=>[e[18]||(e[18]=i("div",{class:"text-xl font-medium mb-[20px]"},"前台设置",-1)),o(p,{label:"前台名称",prop:"shop_name"},{default:m(()=>[i("div",R,[o(d,{modelValue:t(l).shop_name,"onUpdate:modelValue":e[4]||(e[4]=r=>t(l).shop_name=r),modelModifiers:{trim:!0},placeholder:"请输入前台名称",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"web_favicon",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).h5_favicon,"onUpdate:modelValue":e[5]||(e[5]=r=>t(l).h5_favicon=r),limit:1},null,8,["modelValue"]),e[16]||(e[16]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"前台LOGO",prop:"shop_logo"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).shop_logo,"onUpdate:modelValue":e[6]||(e[6]=r=>t(l).shop_logo=r),limit:1},null,8,["modelValue"]),e[17]||(e[17]=i("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(n,{shadow:"never",class:"!border-none mt-4"},{default:m(()=>[e[21]||(e[21]=i("div",{class:"text-xl font-medium mb-[20px]"},"PC端设置",-1)),o(p,{label:"PC端LOGO",prop:"pc_logo"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).pc_logo,"onUpdate:modelValue":e[7]||(e[7]=r=>t(l).pc_logo=r),limit:1},null,8,["modelValue"]),e[19]||(e[19]=i("div",{class:"form-tips"},"建议尺寸:120*28px,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站标题",prop:"pc_title"},{default:m(()=>[i("div",A,[o(d,{modelValue:t(l).pc_title,"onUpdate:modelValue":e[8]||(e[8]=r=>t(l).pc_title=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站标题",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"pc_ico"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).pc_ico,"onUpdate:modelValue":e[9]||(e[9]=r=>t(l).pc_ico=r),limit:1},null,8,["modelValue"]),e[20]||(e[20]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站描述",prop:"pc_desc"},{default:m(()=>[i("div",T,[o(d,{modelValue:t(l).pc_desc,"onUpdate:modelValue":e[10]||(e[10]=r=>t(l).pc_desc=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站描述"},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站关键词",prop:"pc_keywords"},{default:m(()=>[i("div",z,[o(d,{modelValue:t(l).pc_keywords,"onUpdate:modelValue":e[11]||(e[11]=r=>t(l).pc_keywords=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站关键词"},null,8,["modelValue"])])]),_:1})]),_:1})]),_:1},8,["model"]),L((_(),I(x,null,{default:m(()=>[o(c,{type:"primary",onClick:w},{default:m(()=>[...e[22]||(e[22]=[N("保存",-1)])]),_:1})]),_:1})),[[j,["setting.web.web_setting/setWebsite"]]])])}}});export{Qe as default};
+import{_ as C}from"./index-BdBEjexV.js";import{J as q,B as k,C as U,D as y,i as O}from"./element-plus-lurTijPg.js";import{_ as P}from"./picker-BPfrB1Pn.js";import{a as M,b as B}from"./website-eiyCWusj.js";import{e as E}from"./index-DF1MLuL8.js";import{f,as as G,ak as _,I as D,a as o,aN as m,J as i,aP as L,G as I,O as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,n as S,r as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-CnpV87Ke.js";import"./index-BP_YKY_y.js";import"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import"./index-mDy9ToMf.js";import"./index-_ERDssCQ.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BdGKYRpa.js";import"./index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const F={class:"website-information"},J={class:"w-80"},R={class:"w-80"},A={class:"w-80"},T={class:"w-80"},z={class:"w-80"},H=f({name:"webInformation"}),Qe=f({...H,setup(K){const u=S(),b=E(),l=W({name:"",web_favicon:"",web_logo:"",login_image:"",h5_favicon:"",shop_name:"",shop_logo:"",pc_logo:"",pc_title:"",pc_desc:"",pc_ico:"",pc_keywords:""}),v={name:[{required:!0,message:"请输入网站名称",trigger:["blur"]}],web_favicon:[{required:!0,message:"请选择网站图标",trigger:["change"]}],web_logo:[{required:!0,message:"请选择网站logo",trigger:["change"]}],login_image:[{required:!0,message:"请选择登录页广告图",trigger:["change"]}],shop_name:[{required:!0,message:"请输入店铺/商城名称",trigger:["blur"]}],shop_logo:[{required:!0,message:"请选择商城LOGO",trigger:["change"]}],pc_logo:[{required:!0,message:"请选择PC端LOGO",trigger:["change"]}],pc_title:[{required:!0,message:"请输入PC端网站标题",trigger:["blur"]}],pc_ico:[{required:!0,message:"请选择PC端网站图标",trigger:["change"]}]},g=async()=>{const a=await M();for(const e in l)l[e]=a[e]},w=async()=>{var a;await((a=u.value)==null?void 0:a.validate()),await B(l),b.getConfig(),g()};return g(),(a,e)=>{const d=U,p=k,s=P,n=q,V=y,c=O,x=C,j=G("perms");return _(),D("div",F,[o(V,{ref_key:"formRef",ref:u,rules:v,class:"ls-form",model:t(l),"label-width":"120px","scroll-to-error":""},{default:m(()=>[o(n,{shadow:"never",class:"!border-none"},{default:m(()=>[e[15]||(e[15]=i("div",{class:"text-xl font-medium mb-[20px]"},"后台设置",-1)),o(p,{label:"网站名称",prop:"name"},{default:m(()=>[i("div",J,[o(d,{modelValue:t(l).name,"onUpdate:modelValue":e[0]||(e[0]=r=>t(l).name=r),modelModifiers:{trim:!0},placeholder:"请输入网站名称",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"web_favicon",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).web_favicon,"onUpdate:modelValue":e[1]||(e[1]=r=>t(l).web_favicon=r),limit:1},null,8,["modelValue"]),e[12]||(e[12]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站LOGO",prop:"web_logo",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).web_logo,"onUpdate:modelValue":e[2]||(e[2]=r=>t(l).web_logo=r),modelModifiers:{trim:!0},limit:1},null,8,["modelValue"]),e[13]||(e[13]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"登录页广告图",prop:"login_image",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).login_image,"onUpdate:modelValue":e[3]||(e[3]=r=>t(l).login_image=r),modelModifiers:{trim:!0},limit:1},null,8,["modelValue"]),e[14]||(e[14]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(n,{shadow:"never",class:"!border-none mt-4"},{default:m(()=>[e[18]||(e[18]=i("div",{class:"text-xl font-medium mb-[20px]"},"前台设置",-1)),o(p,{label:"前台名称",prop:"shop_name"},{default:m(()=>[i("div",R,[o(d,{modelValue:t(l).shop_name,"onUpdate:modelValue":e[4]||(e[4]=r=>t(l).shop_name=r),modelModifiers:{trim:!0},placeholder:"请输入前台名称",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"web_favicon",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).h5_favicon,"onUpdate:modelValue":e[5]||(e[5]=r=>t(l).h5_favicon=r),limit:1},null,8,["modelValue"]),e[16]||(e[16]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"前台LOGO",prop:"shop_logo"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).shop_logo,"onUpdate:modelValue":e[6]||(e[6]=r=>t(l).shop_logo=r),limit:1},null,8,["modelValue"]),e[17]||(e[17]=i("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(n,{shadow:"never",class:"!border-none mt-4"},{default:m(()=>[e[21]||(e[21]=i("div",{class:"text-xl font-medium mb-[20px]"},"PC端设置",-1)),o(p,{label:"PC端LOGO",prop:"pc_logo"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).pc_logo,"onUpdate:modelValue":e[7]||(e[7]=r=>t(l).pc_logo=r),limit:1},null,8,["modelValue"]),e[19]||(e[19]=i("div",{class:"form-tips"},"建议尺寸:120*28px,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站标题",prop:"pc_title"},{default:m(()=>[i("div",A,[o(d,{modelValue:t(l).pc_title,"onUpdate:modelValue":e[8]||(e[8]=r=>t(l).pc_title=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站标题",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"pc_ico"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).pc_ico,"onUpdate:modelValue":e[9]||(e[9]=r=>t(l).pc_ico=r),limit:1},null,8,["modelValue"]),e[20]||(e[20]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站描述",prop:"pc_desc"},{default:m(()=>[i("div",T,[o(d,{modelValue:t(l).pc_desc,"onUpdate:modelValue":e[10]||(e[10]=r=>t(l).pc_desc=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站描述"},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站关键词",prop:"pc_keywords"},{default:m(()=>[i("div",z,[o(d,{modelValue:t(l).pc_keywords,"onUpdate:modelValue":e[11]||(e[11]=r=>t(l).pc_keywords=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站关键词"},null,8,["modelValue"])])]),_:1})]),_:1})]),_:1},8,["model"]),L((_(),I(x,null,{default:m(()=>[o(c,{type:"primary",onClick:w},{default:m(()=>[...e[22]||(e[22]=[N("保存",-1)])]),_:1})]),_:1})),[[j,["setting.web.web_setting/setWebsite"]]])])}}});export{Qe as default};
diff --git a/server/public/admin/assets/journal-Dz4lN69q.js b/server/public/admin/assets/journal-Bau1wVYn.js
similarity index 96%
rename from server/public/admin/assets/journal-Dz4lN69q.js
rename to server/public/admin/assets/journal-Bau1wVYn.js
index 6ac3d278..2db8bba5 100644
--- a/server/public/admin/assets/journal-Dz4lN69q.js
+++ b/server/public/admin/assets/journal-Bau1wVYn.js
@@ -1 +1 @@
-import{D,B as F,C as N,P as z,Q as j,i as $,J,L as M,M as O,N as G}from"./element-plus-lurTijPg.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{_ as R}from"./index.vue_vue_type_script_setup_true_lang-CJvDveQH.js";import{_ as S}from"./index.vue_vue_type_script_setup_true_lang-BL8k8rcl.js";import{w as u}from"./@vue/runtime-dom-DDAG46FW.js";import{E as b}from"./index-hTkp7Jz4.js";import{u as q}from"./usePaging-VsbTxSU0.js";import{f as C,b as A,ak as s,I as v,a as e,aN as n,F as H,ap as W,G as g,O as y,aP as X,J as V}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as Y,n as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-NODwdV06.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Z={class:"journal"},ee={class:"flex mt-4 justify-end"},te=C({name:"journal"}),Se=C({...te,setup(le){const a=w({admin_name:"",url:"",ip:"",type:"",start_time:"",end_time:""}),E=w([{label:"全部",value:""},{label:"get",value:"get"},{label:"post",value:"post"},{label:"put",value:"put"},{label:"delete",value:"delete"},{label:"option",value:"option"}]),{pager:r,getLists:_,resetParams:k,resetPage:i}=q({fetchFun:b,params:a.value});return A(()=>{_()}),(oe,l)=>{const d=N,p=F,x=j,T=z,I=S,c=$,K=R,P=D,f=J,m=G,U=O,h=Q,B=M;return s(),v("div",Z,[e(f,{class:"!border-none",shadow:"never"},{default:n(()=>[e(P,{class:"ls-form",model:t(a),inline:""},{default:n(()=>[e(p,{class:"w-[280px]",label:"管理员"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).admin_name,"onUpdate:modelValue":l[0]||(l[0]=o=>t(a).admin_name=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{class:"w-[280px]",label:"访问方式"},{default:n(()=>[e(T,{modelValue:t(a).type,"onUpdate:modelValue":l[1]||(l[1]=o=>t(a).type=o),placeholder:"请选择"},{default:n(()=>[(s(!0),v(H,null,W(t(E),(o,L)=>(s(),g(x,{key:L,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(p,{class:"w-[280px]",label:"来源IP"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).ip,"onUpdate:modelValue":l[2]||(l[2]=o=>t(a).ip=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{label:"访问时间"},{default:n(()=>[e(I,{startTime:t(a).start_time,"onUpdate:startTime":l[3]||(l[3]=o=>t(a).start_time=o),endTime:t(a).end_time,"onUpdate:endTime":l[4]||(l[4]=o=>t(a).end_time=o)},null,8,["startTime","endTime"])]),_:1}),e(p,{class:"w-[280px]",label:"访问链接"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).url,"onUpdate:modelValue":l[5]||(l[5]=o=>t(a).url=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,null,{default:n(()=>[e(c,{type:"primary",onClick:t(i)},{default:n(()=>[...l[7]||(l[7]=[y("查询",-1)])]),_:1},8,["onClick"]),e(c,{onClick:t(k)},{default:n(()=>[...l[8]||(l[8]=[y("重置",-1)])]),_:1},8,["onClick"]),e(K,{class:"ml-2.5","fetch-fun":t(b),params:t(a),"page-size":t(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),X((s(),g(f,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[V("div",null,[e(U,{data:t(r).lists,size:"large"},{default:n(()=>[e(m,{label:"记录ID",prop:"id"}),e(m,{label:"操作",prop:"action","min-width":"120"}),e(m,{label:"管理员",prop:"admin_name","min-width":"120"}),e(m,{label:"管理员ID",prop:"admin_id","min-width":"120"}),e(m,{label:"访问链接",prop:"url","min-width":"160"}),e(m,{label:"访问方式",prop:"type"}),e(m,{label:"访问参数",prop:"params","min-width":"160"}),e(m,{label:"来源IP",prop:"ip","min-width":"160"}),e(m,{label:"日志时间",prop:"create_time","min-width":"180"})]),_:1},8,["data"])]),V("div",ee,[e(h,{modelValue:t(r),"onUpdate:modelValue":l[6]||(l[6]=o=>Y(r)?r.value=o:null),onChange:t(_)},null,8,["modelValue","onChange"])])]),_:1})),[[B,t(r).loading]])])}}});export{Se as default};
+import{D,B as F,C as N,P as z,Q as j,i as $,J,L as M,M as O,N as G}from"./element-plus-lurTijPg.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{_ as R}from"./index.vue_vue_type_script_setup_true_lang-DxwD8bBq.js";import{_ as S}from"./index.vue_vue_type_script_setup_true_lang-BL8k8rcl.js";import{w as u}from"./@vue/runtime-dom-DDAG46FW.js";import{E as b}from"./index-DF1MLuL8.js";import{u as q}from"./usePaging-VsbTxSU0.js";import{f as C,b as A,ak as s,I as v,a as e,aN as n,F as H,ap as W,G as g,O as y,aP as X,J as V}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as Y,n as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-CnpV87Ke.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Z={class:"journal"},ee={class:"flex mt-4 justify-end"},te=C({name:"journal"}),Se=C({...te,setup(le){const a=w({admin_name:"",url:"",ip:"",type:"",start_time:"",end_time:""}),E=w([{label:"全部",value:""},{label:"get",value:"get"},{label:"post",value:"post"},{label:"put",value:"put"},{label:"delete",value:"delete"},{label:"option",value:"option"}]),{pager:r,getLists:_,resetParams:k,resetPage:i}=q({fetchFun:b,params:a.value});return A(()=>{_()}),(oe,l)=>{const d=N,p=F,x=j,T=z,I=S,c=$,K=R,P=D,f=J,m=G,U=O,h=Q,B=M;return s(),v("div",Z,[e(f,{class:"!border-none",shadow:"never"},{default:n(()=>[e(P,{class:"ls-form",model:t(a),inline:""},{default:n(()=>[e(p,{class:"w-[280px]",label:"管理员"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).admin_name,"onUpdate:modelValue":l[0]||(l[0]=o=>t(a).admin_name=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{class:"w-[280px]",label:"访问方式"},{default:n(()=>[e(T,{modelValue:t(a).type,"onUpdate:modelValue":l[1]||(l[1]=o=>t(a).type=o),placeholder:"请选择"},{default:n(()=>[(s(!0),v(H,null,W(t(E),(o,L)=>(s(),g(x,{key:L,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(p,{class:"w-[280px]",label:"来源IP"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).ip,"onUpdate:modelValue":l[2]||(l[2]=o=>t(a).ip=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{label:"访问时间"},{default:n(()=>[e(I,{startTime:t(a).start_time,"onUpdate:startTime":l[3]||(l[3]=o=>t(a).start_time=o),endTime:t(a).end_time,"onUpdate:endTime":l[4]||(l[4]=o=>t(a).end_time=o)},null,8,["startTime","endTime"])]),_:1}),e(p,{class:"w-[280px]",label:"访问链接"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).url,"onUpdate:modelValue":l[5]||(l[5]=o=>t(a).url=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,null,{default:n(()=>[e(c,{type:"primary",onClick:t(i)},{default:n(()=>[...l[7]||(l[7]=[y("查询",-1)])]),_:1},8,["onClick"]),e(c,{onClick:t(k)},{default:n(()=>[...l[8]||(l[8]=[y("重置",-1)])]),_:1},8,["onClick"]),e(K,{class:"ml-2.5","fetch-fun":t(b),params:t(a),"page-size":t(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),X((s(),g(f,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[V("div",null,[e(U,{data:t(r).lists,size:"large"},{default:n(()=>[e(m,{label:"记录ID",prop:"id"}),e(m,{label:"操作",prop:"action","min-width":"120"}),e(m,{label:"管理员",prop:"admin_name","min-width":"120"}),e(m,{label:"管理员ID",prop:"admin_id","min-width":"120"}),e(m,{label:"访问链接",prop:"url","min-width":"160"}),e(m,{label:"访问方式",prop:"type"}),e(m,{label:"访问参数",prop:"params","min-width":"160"}),e(m,{label:"来源IP",prop:"ip","min-width":"160"}),e(m,{label:"日志时间",prop:"create_time","min-width":"180"})]),_:1},8,["data"])]),V("div",ee,[e(h,{modelValue:t(r),"onUpdate:modelValue":l[6]||(l[6]=o=>Y(r)?r.value=o:null),onChange:t(_)},null,8,["modelValue","onChange"])])]),_:1})),[[B,t(r).loading]])])}}});export{Se as default};
diff --git a/server/public/admin/assets/keyword_reply-BDprztwC.js b/server/public/admin/assets/keyword_reply-BlRxoOmK.js
similarity index 94%
rename from server/public/admin/assets/keyword_reply-BDprztwC.js
rename to server/public/admin/assets/keyword_reply-BlRxoOmK.js
index 3dde3aac..d35a1f34 100644
--- a/server/public/admin/assets/keyword_reply-BDprztwC.js
+++ b/server/public/admin/assets/keyword_reply-BlRxoOmK.js
@@ -1 +1 @@
-import{K as D,J as L,i as A,M as O,N as P,g as U,L as J}from"./element-plus-lurTijPg.js";import{_ as M}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{c as j,i as q}from"./index-hTkp7Jz4.js";import{d as z,o as F,e as G}from"./wx_oa-Dt1DJJOr.js";import{u as H}from"./usePaging-VsbTxSU0.js";import{_ as I}from"./edit.vue_vue_type_script_setup_true_lang-DH4qari2.js";import{f as K,ak as f,I as Q,a as t,aN as n,J as g,O as m,aP as W,G as v,H as X,A as w,n as h}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as Y,q as Z,n as ee}from"./@vue/reactivity-DiY1c2vO.js";import{Q as b}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-NODwdV06.js";const te={class:"flex justify-end mt-4"},Ge=K({__name:"keyword_reply",setup(oe){const p=Z(),d=ee(!1),k=w(()=>a=>{switch(a){case 1:return"全匹配";case 2:return"模糊匹配"}}),C=w(()=>a=>{switch(a){case 1:return"文本"}}),{pager:s,getLists:r}=H({fetchFun:z,params:{reply_type:2}}),V=async()=>{var a;d.value=!0,await h(),(a=p.value)==null||a.open("add",2)},E=async a=>{var e,c;d.value=!0,await h(),(e=p.value)==null||e.open("edit",2),(c=p.value)==null||c.getDetail(a)},$=async a=>{await q.confirm("确定要删除?"),await F({id:a}),r()},x=async a=>{try{await G({id:a}),r()}catch{r()}};return r(),(a,e)=>{const c=D,y=L,R=j,_=A,l=P,N=U,S=O,T=M,B=J;return f(),Q("div",null,[t(y,{class:"!border-none",shadow:"never"},{default:n(()=>[t(c,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,通过关键词可触发关键词回复;2.同时可启用多个关键词回复,有多条关键词匹配时优选选择排序靠前的一条",closable:!1,"show-icon":""})]),_:1}),t(y,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[g("div",null,[t(_,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=o=>V())},{icon:n(()=>[t(R,{name:"el-icon-Plus"})]),default:n(()=>[e[3]||(e[3]=m(" 新增 ",-1))]),_:1})]),W((f(),v(S,{size:"large",data:i(s).lists},{default:n(()=>[t(l,{label:"规则名称",prop:"name","min-width":"120"}),t(l,{label:"关键词",prop:"keyword","min-width":"120"}),t(l,{label:"匹配方式","min-width":"120"},{default:n(({row:o})=>[m(b(i(k)(o.matching_type)),1)]),_:1}),t(l,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[m(b(i(C)(o.content_type)),1)]),_:1}),t(l,{label:"状态","min-width":"120"},{default:n(({row:o})=>[t(N,{modelValue:o.status,"onUpdate:modelValue":u=>o.status=u,"active-value":1,"inactive-value":0,onChange:u=>x(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(l,{label:"排序",prop:"sort","min-width":"120"}),t(l,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[t(_,{type:"primary",link:"",onClick:u=>E(o)},{default:n(()=>[...e[4]||(e[4]=[m(" 编辑 ",-1)])]),_:1},8,["onClick"]),t(_,{type:"danger",link:"",onClick:u=>$(o.id)},{default:n(()=>[...e[5]||(e[5]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[B,i(s).loading]]),g("div",te,[t(T,{modelValue:i(s),"onUpdate:modelValue":e[1]||(e[1]=o=>Y(s)?s.value=o:null),onChange:i(r)},null,8,["modelValue","onChange"])])]),_:1}),i(d)?(f(),v(I,{key:0,ref_key:"editRef",ref:p,onSuccess:i(r),onClose:e[2]||(e[2]=o=>d.value=!1)},null,8,["onSuccess"])):X("",!0)])}}});export{Ge as default};
+import{K as D,J as L,i as A,M as O,N as P,g as U,L as J}from"./element-plus-lurTijPg.js";import{_ as M}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{c as j,i as q}from"./index-DF1MLuL8.js";import{d as z,o as F,e as G}from"./wx_oa-CCIu6vOW.js";import{u as H}from"./usePaging-VsbTxSU0.js";import{_ as I}from"./edit.vue_vue_type_script_setup_true_lang-6dXBUE5T.js";import{f as K,ak as f,I as Q,a as t,aN as n,J as g,O as m,aP as W,G as v,H as X,A as w,n as h}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as Y,q as Z,n as ee}from"./@vue/reactivity-DiY1c2vO.js";import{Q as b}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CnpV87Ke.js";const te={class:"flex justify-end mt-4"},Ge=K({__name:"keyword_reply",setup(oe){const p=Z(),d=ee(!1),k=w(()=>a=>{switch(a){case 1:return"全匹配";case 2:return"模糊匹配"}}),C=w(()=>a=>{switch(a){case 1:return"文本"}}),{pager:s,getLists:r}=H({fetchFun:z,params:{reply_type:2}}),V=async()=>{var a;d.value=!0,await h(),(a=p.value)==null||a.open("add",2)},E=async a=>{var e,c;d.value=!0,await h(),(e=p.value)==null||e.open("edit",2),(c=p.value)==null||c.getDetail(a)},$=async a=>{await q.confirm("确定要删除?"),await F({id:a}),r()},x=async a=>{try{await G({id:a}),r()}catch{r()}};return r(),(a,e)=>{const c=D,y=L,R=j,_=A,l=P,N=U,S=O,T=M,B=J;return f(),Q("div",null,[t(y,{class:"!border-none",shadow:"never"},{default:n(()=>[t(c,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,通过关键词可触发关键词回复;2.同时可启用多个关键词回复,有多条关键词匹配时优选选择排序靠前的一条",closable:!1,"show-icon":""})]),_:1}),t(y,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[g("div",null,[t(_,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=o=>V())},{icon:n(()=>[t(R,{name:"el-icon-Plus"})]),default:n(()=>[e[3]||(e[3]=m(" 新增 ",-1))]),_:1})]),W((f(),v(S,{size:"large",data:i(s).lists},{default:n(()=>[t(l,{label:"规则名称",prop:"name","min-width":"120"}),t(l,{label:"关键词",prop:"keyword","min-width":"120"}),t(l,{label:"匹配方式","min-width":"120"},{default:n(({row:o})=>[m(b(i(k)(o.matching_type)),1)]),_:1}),t(l,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[m(b(i(C)(o.content_type)),1)]),_:1}),t(l,{label:"状态","min-width":"120"},{default:n(({row:o})=>[t(N,{modelValue:o.status,"onUpdate:modelValue":u=>o.status=u,"active-value":1,"inactive-value":0,onChange:u=>x(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(l,{label:"排序",prop:"sort","min-width":"120"}),t(l,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[t(_,{type:"primary",link:"",onClick:u=>E(o)},{default:n(()=>[...e[4]||(e[4]=[m(" 编辑 ",-1)])]),_:1},8,["onClick"]),t(_,{type:"danger",link:"",onClick:u=>$(o.id)},{default:n(()=>[...e[5]||(e[5]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[B,i(s).loading]]),g("div",te,[t(T,{modelValue:i(s),"onUpdate:modelValue":e[1]||(e[1]=o=>Y(s)?s.value=o:null),onChange:i(r)},null,8,["modelValue","onChange"])])]),_:1}),i(d)?(f(),v(I,{key:0,ref_key:"editRef",ref:p,onSuccess:i(r),onClose:e[2]||(e[2]=o=>d.value=!1)},null,8,["onSuccess"])):X("",!0)])}}});export{Ge as default};
diff --git a/server/public/admin/assets/link-IWOXnuVG.js b/server/public/admin/assets/link-CCDBsytt.js
similarity index 86%
rename from server/public/admin/assets/link-IWOXnuVG.js
rename to server/public/admin/assets/link-CCDBsytt.js
index 9941b978..df63ff94 100644
--- a/server/public/admin/assets/link-IWOXnuVG.js
+++ b/server/public/admin/assets/link-CCDBsytt.js
@@ -1 +1 @@
-import{J as a}from"./element-plus-lurTijPg.js";import{_ as n}from"./picker-BKpCM2IP.js";import{f as l,ak as s,I as _,a as r,aN as u}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as c}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-hTkp7Jz4.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-NODwdV06.js";import"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import"./article-BQZdNCom.js";import"./usePaging-VsbTxSU0.js";const po=l({__name:"link",setup(d){const o=c({value1:{}});return(f,t)=>{const p=n,i=a;return s(),_("div",null,[r(i,{header:"基础使用",shadow:"never",class:"!border-none"},{default:u(()=>[r(p,{modelValue:m(o).value1,"onUpdate:modelValue":t[0]||(t[0]=e=>m(o).value1=e)},null,8,["modelValue"])]),_:1})])}}});export{po as default};
+import{J as a}from"./element-plus-lurTijPg.js";import{_ as n}from"./picker-BSLSmuXD.js";import{f as l,ak as s,I as _,a as r,aN as u}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as c}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DF1MLuL8.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-CnpV87Ke.js";import"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import"./article-DRL9P_tT.js";import"./usePaging-VsbTxSU0.js";const po=l({__name:"link",setup(d){const o=c({value1:{}});return(f,t)=>{const p=n,i=a;return s(),_("div",null,[r(i,{header:"基础使用",shadow:"never",class:"!border-none"},{default:u(()=>[r(p,{modelValue:m(o).value1,"onUpdate:modelValue":t[0]||(t[0]=e=>m(o).value1=e)},null,8,["modelValue"])]),_:1})])}}});export{po as default};
diff --git a/server/public/admin/assets/list-BJ8IMxM7.css b/server/public/admin/assets/list-BJ8IMxM7.css
new file mode 100644
index 00000000..1eacb068
--- /dev/null
+++ b/server/public/admin/assets/list-BJ8IMxM7.css
@@ -0,0 +1 @@
+@charset "UTF-8";.appointment-list[data-v-7d271b1e]{min-height:100%}.list-card[data-v-7d271b1e] .el-card__body{padding:0}.list-toolbar[data-v-7d271b1e]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--el-border-color-lighter)}.list-tabs[data-v-7d271b1e]{flex:1;min-width:0}.list-tabs[data-v-7d271b1e] .el-tabs__header{margin-bottom:0}.list-tabs[data-v-7d271b1e] .el-tabs__nav-wrap:after{display:none}.list-tabs[data-v-7d271b1e] .el-tabs__item{font-size:14px;padding:0 16px}.list-tabs[data-v-7d271b1e] .el-tabs__item.is-active{font-weight:500}.list-tabs[data-v-7d271b1e] .el-tabs__ink-bar{height:2px;border-radius:2px 2px 0 0}.list-tabs[data-v-7d271b1e] .el-tabs__active-bar{height:2px}.list-tabs[data-v-7d271b1e] .el-tabs__nav{gap:4px}.list-tabs .tab-label[data-v-7d271b1e]{display:inline-flex;align-items:center;gap:6px}.list-tabs .tab-badge[data-v-7d271b1e]{margin-left:4px}.list-tabs .tab-badge[data-v-7d271b1e] .el-badge__content{font-size:11px;height:16px;line-height:16px;border:none}.list-tabs .tab-badge-success[data-v-7d271b1e] .el-badge__content{background:var(--el-color-success)}.list-tabs .tab-badge-danger[data-v-7d271b1e] .el-badge__content{background:var(--el-color-danger)}.list-tabs .tab-badge-info[data-v-7d271b1e] .el-badge__content{background:var(--el-color-info)}.list-tabs .tab-badge-primary[data-v-7d271b1e] .el-badge__content{background:var(--el-color-primary)}.list-tabs .tab-priority[data-v-7d271b1e]{font-weight:500}.toolbar-actions[data-v-7d271b1e]{display:flex;align-items:center;gap:8px;flex-shrink:0}.toolbar-actions .action-input[data-v-7d271b1e]{width:120px}.filter-bar[data-v-7d271b1e]{display:flex;align-items:center;gap:32px;padding:12px 16px;background:var(--el-fill-color-lighter);border-bottom:1px solid var(--el-border-color-lighter)}.filter-bar .filter-group[data-v-7d271b1e]{display:flex;align-items:center;gap:12px}.filter-bar .filter-group .filter-label[data-v-7d271b1e]{font-size:13px;color:var(--el-text-color-secondary);flex-shrink:0}.filter-bar .filter-group .filter-radio[data-v-7d271b1e] .el-radio-button__inner{padding:6px 14px}.dropdown-item-with-input[data-v-7d271b1e]{display:flex;align-items:center;gap:8px;padding:8px 12px}.dropdown-item-with-input .dropdown-label[data-v-7d271b1e]{width:40px;flex-shrink:0}.dropdown-item-with-input .dropdown-input[data-v-7d271b1e]{width:120px}.table-wrap[data-v-7d271b1e]{padding:0 16px 20px}.prescription-tags[data-v-7d271b1e]{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;align-items:center}.action-btns[data-v-7d271b1e]{display:flex;align-items:flex-start;flex-wrap:wrap;row-gap:6px;-moz-column-gap:8px;column-gap:8px}.action-btns .action-qrcode[data-v-7d271b1e]{color:var(--el-color-warning)!important;font-weight:500}.action-btns .action-qrcode[data-v-7d271b1e]:hover{color:var(--el-color-warning-dark-2)!important}.appointment-table[data-v-7d271b1e] .el-table__header th{background:var(--el-fill-color-light);font-weight:500;color:var(--el-text-color-regular)}.appointment-table[data-v-7d271b1e] .el-table__row{cursor:default}.appointment-table[data-v-7d271b1e] .el-table__body tr>td{background-color:#fff!important}.appointment-table[data-v-7d271b1e] .el-table__body tr:hover>td{background-color:var(--el-fill-color-light)!important}.patient-cell[data-v-7d271b1e]{display:flex;align-items:center;gap:12px}.patient-avatar[data-v-7d271b1e]{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--el-color-primary-light-5),var(--el-color-primary-light-7));color:var(--el-color-primary);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.patient-info[data-v-7d271b1e]{min-width:0}.patient-name[data-v-7d271b1e]{font-weight:500;color:var(--el-text-color-primary)}.patient-phone[data-v-7d271b1e]{font-size:12px;color:var(--el-text-color-secondary);margin-top:2px}.patient-extra[data-v-7d271b1e]{font-size:12px;color:var(--el-text-color-placeholder);margin-top:2px}.datetime-cell .date-text[data-v-7d271b1e]{font-weight:600;font-size:14px;color:var(--el-text-color-primary)}.datetime-cell .time-text[data-v-7d271b1e]{font-size:13px;font-weight:500;color:var(--el-color-primary);margin-top:4px}.detail-content[data-v-7d271b1e]{padding:8px 0}.detail-section[data-v-7d271b1e]{margin-bottom:24px}.detail-section[data-v-7d271b1e]:last-child{margin-bottom:0}.detail-section-title[data-v-7d271b1e]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--el-text-color-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--el-border-color-lighter)}.detail-section-title .el-icon[data-v-7d271b1e]{font-size:16px;color:var(--el-color-primary)}.detail-grid[data-v-7d271b1e]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px}.detail-item[data-v-7d271b1e]{display:flex;flex-direction:column;gap:4px}.detail-item .detail-label[data-v-7d271b1e]{font-size:12px;color:var(--el-text-color-secondary)}.detail-item .detail-value[data-v-7d271b1e]{font-size:14px;color:var(--el-text-color-primary)}.detail-item-full[data-v-7d271b1e]{grid-column:1/-1}.detail-remark[data-v-7d271b1e]{font-size:14px;color:var(--el-text-color-regular);margin:0;line-height:1.6}.text-danger[data-v-7d271b1e]{color:var(--el-color-danger)}.complete-dialog-tip[data-v-7d271b1e]{margin:0 0 12px;color:var(--el-text-color-primary);font-size:14px;line-height:22px}.qrcode-content[data-v-7d271b1e]{padding:16px 0;min-height:200px;display:flex;align-items:center;justify-content:center}.qrcode-loading[data-v-7d271b1e],.qrcode-success[data-v-7d271b1e],.qrcode-error[data-v-7d271b1e]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.qrcode-loading-text[data-v-7d271b1e]{margin-top:16px;color:var(--el-text-color-secondary)}.qrcode-image-wrap[data-v-7d271b1e]{padding:12px;background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014}.qrcode-image[data-v-7d271b1e]{width:200px;height:200px;display:block;border-radius:8px}.qrcode-info[data-v-7d271b1e]{margin-top:16px;font-size:14px}.qrcode-patient[data-v-7d271b1e]{font-weight:500;color:var(--el-text-color-primary)}.qrcode-tip[data-v-7d271b1e]{margin-top:8px;color:var(--el-text-color-regular)}.qrcode-path[data-v-7d271b1e]{margin-top:4px;font-size:12px;color:var(--el-text-color-placeholder)}.qrcode-error[data-v-7d271b1e]{color:var(--el-text-color-secondary);gap:12px}
diff --git a/server/public/admin/assets/list-CRQ7TPDc.js b/server/public/admin/assets/list-CRQ7TPDc.js
new file mode 100644
index 00000000..f0562541
--- /dev/null
+++ b/server/public/admin/assets/list-CRQ7TPDc.js
@@ -0,0 +1,2 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-Bqsg8jkl.js","assets/element-plus-lurTijPg.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-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-tCkhN6ch.js","assets/index-DF1MLuL8.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-cWYbZtDX.css","assets/perm-DJQOTKtE.js","assets/DailyMatrix-Bv0ZDAsS.js","assets/picker-BPfrB1Pn.js","assets/index-CnpV87Ke.js","assets/index-B3imPWFk.css","assets/index-BP_YKY_y.js","assets/index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js","assets/index-mDy9ToMf.js","assets/index-D0f1Mn00.css","assets/index-_ERDssCQ.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BdGKYRpa.js","assets/index.vue_vue_type_script_setup_true_lang-SfFZFG0h.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-DFW8NrDC.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-GHq4gyBb.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-DhY-d8bi.js","assets/RecordingPlaybackBlock-CszaDVIP.js","assets/RecordingVideoPlayer-Bgdabd2n.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-B3gJp5ia.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CJoC4wHm.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-Cb1bEIBY.js","assets/doctor-Lmz4K3Qd.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-WlJtu4cF.js","assets/patient-CU85GrfB.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-BT6MFGZ3.js","assets/PatientOrderList-Dx28GIXs.css","assets/index-B37DCCed.js","assets/index-BP9srYoP.js","assets/medicine-Thom1b2D.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-j-ocBozB.css","assets/edit-B0YJchTk.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/index-CjbKwGEv.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/@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/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/index-BqRj5hg7.css"])))=>i.map(i=>d[i]);
+import{_ as lt}from"./jspdf-BsthCvR5.js";import{m as Zt,l as te,d as ee,X as se,C as ae,i as le,p as ie,n as ne,o as oe,G as de,F as re,V as pe,M as ue,N as me,T as _e,L as ce,J as fe}from"./element-plus-lurTijPg.js";import{_ as ge}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{_ as ve}from"./index.vue_vue_type_script_setup_true_lang-BL8k8rcl.js";import{w as ye,s as vt}from"./@vue/runtime-dom-DDAG46FW.js";import{u as be}from"./usePaging-VsbTxSU0.js";import{a as ke,m as De,l as yt}from"./doctor-Lmz4K3Qd.js";import{L as Ce,Y as Ve,Z as Ee}from"./tcm-tCkhN6ch.js";import{u as Se,i as y,_ as we}from"./index-DF1MLuL8.js";import{a as Te}from"./patient-CU85GrfB.js";import{h as Pe}from"./perm-DJQOTKtE.js";import{i as $e,f as he}from"./diabetes-discovery-display-B_wmGXQJ.js";import{g as Ie}from"./weapp-Dr76WzC2.js";import{j as ze,a7 as xe,a8 as bt,b as kt,d as Re,e as Dt,k as Ct,x as qe,O as Le,G as it,X as Ae,l as Me}from"./@element-plus/icons-vue-HOEUG8sr.js";import{f as Ne,w as Ue,b as Be,d as Oe,as as Fe,ak as m,I as k,a as l,aN as i,J as e,O as r,G as g,H as f,aP as I,F as We,P as nt,A as ot}from"./@vue/runtime-core-C6bnekPw.js";import{a as R,y as s,r as Qe,n as v}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./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 Ge={class:"appointment-list"},He={class:"list-toolbar"},Ye={class:"tab-label tab-priority"},je={class:"tab-label"},Je={class:"tab-label"},Ke={class:"tab-label"},Xe={class:"tab-label"},Ze={class:"toolbar-actions"},ts={class:"filter-bar"},es={class:"filter-group"},ss={class:"filter-group"},as={class:"table-wrap"},ls={class:"patient-cell"},is={class:"patient-info"},ns={class:"patient-name"},os={class:"patient-phone"},ds={class:"patient-extra"},rs={class:"datetime-cell"},ps={class:"date-text"},us={class:"time-text"},ms={class:"prescription-tags"},_s={class:"action-btns"},cs={class:"flex justify-end py-4 px-4"},fs={key:0,class:"detail-content"},gs={class:"detail-section"},vs={class:"detail-section-title"},ys={class:"detail-grid"},bs={class:"detail-item"},ks={class:"detail-value"},Ds={class:"detail-item"},Cs={class:"detail-item"},Vs={class:"detail-value"},Es={class:"detail-item"},Ss={class:"detail-value"},ws={class:"detail-item"},Ts={class:"detail-value"},Ps={class:"detail-item"},$s={class:"detail-value"},hs={class:"detail-section"},Is={class:"detail-section-title"},zs={class:"detail-grid"},xs={class:"detail-item"},Rs={class:"detail-value"},qs={class:"detail-item"},Ls={class:"detail-value"},As={class:"detail-item"},Ms={class:"detail-value"},Ns={class:"detail-item"},Us={class:"detail-value"},Bs={class:"detail-item"},Os={class:"detail-value"},Fs={class:"detail-item"},Ws={class:"detail-value"},Qs={class:"detail-item"},Gs={class:"detail-value"},Hs={class:"detail-item"},Ys={class:"detail-value"},js={class:"detail-item"},Js={class:"detail-value"},Ks={class:"detail-item"},Xs={class:"detail-value"},Zs={class:"detail-item"},ta={class:"detail-value"},ea={class:"detail-item"},sa={class:"detail-value"},aa={class:"detail-item"},la={class:"detail-value"},ia={class:"detail-item"},na={class:"detail-value"},oa={class:"detail-item"},da={class:"detail-value"},ra={class:"detail-item"},pa={class:"detail-value"},ua={key:0,class:"detail-section"},ma={class:"detail-section-title"},_a={class:"detail-grid"},ca={key:0,class:"detail-item"},fa={class:"detail-value"},ga={key:1,class:"detail-item"},va={class:"detail-value"},ya={key:2,class:"detail-item detail-item-full"},ba={class:"detail-value"},ka={key:3,class:"detail-item detail-item-full"},Da={class:"detail-value"},Ca={key:1,class:"detail-section"},Va={class:"detail-section-title"},Ea={class:"detail-grid"},Sa={key:0,class:"detail-item"},wa={class:"detail-value"},Ta={key:1,class:"detail-item"},Pa={class:"detail-value"},$a={key:2,class:"detail-item detail-item-full"},ha={class:"detail-value"},Ia={key:3,class:"detail-item detail-item-full"},za={class:"detail-value"},xa={class:"detail-section"},Ra={class:"detail-remark"},qa={class:"qrcode-content"},La={key:0,class:"qrcode-loading"},Aa={key:1,class:"qrcode-success"},Ma={class:"qrcode-image-wrap"},Na=["src"],Ua={class:"qrcode-info"},Ba={class:"qrcode-patient"},Oa={key:2,class:"qrcode-error"},Fa={class:"complete-dialog"},Wa=2e4,Qa=Ne({__name:"list",setup(Ga){const Vt=nt(()=>lt(()=>import("./edit-Bqsg8jkl.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]))),Et=nt(()=>lt(()=>import("./index-B37DCCed.js"),__vite__mapDeps([90,1,2,3,4,5,6,7,8,9,10,11,12,13,14,91,92,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,93,94,15,95,96]))),St=nt(()=>lt(()=>import("./index-CjbKwGEv.js"),__vite__mapDeps([99,1,2,3,4,5,6,7,8,9,10,11,12,13,14,53,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,86,15,100,101,102,103,104,105,106,107,108,58,59,60,109,110,111,112,113,78,114,115,116]))),dt=Se(),wt=ot(()=>dt.userInfo),Tt=a=>!a||a.length<11?a:a.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),Pt=ot(()=>{const a=wt.value.role_id;return Array.isArray(a)?!a.includes(1)&&!a.includes(2):a!==1&&a!==2}),p=Qe({patient_name:"",doctor_name:"",status:"",start_date:"",end_date:"",date_preset:"today",diagnosis_confirmed:"",include_status_counts:0}),O=v("1"),q=v(!1),S=v({1:0,2:0,3:0,4:0}),{pager:V,getLists:rt,resetPage:$t}=be({fetchFun:ke,params:p,firstLoading:!0});Ue(()=>[p.start_date,p.end_date],([a,t])=>{if(!p.date_preset)return;const o=new Date,c=z=>String(z).padStart(2,"0"),_=z=>`${z.getFullYear()}-${c(z.getMonth()+1)}-${c(z.getDate())}`,w=_(o),T=new Date(o);T.setDate(T.getDate()-1);const b=_(T),P=new Date(o);P.setDate(P.getDate()-2);const j=_(P),N=new Date(o);N.setDate(N.getDate()+1);const E=_(N),U=new Date(o);U.setDate(U.getDate()+2);const at=_(U),$=p.date_preset,C=$==="yesterday"?b:$==="day_before"?j:$==="today"?w:$==="tomorrow"?E:at;(a||"").split(" ")[0]!==C&&(p.date_preset="")});const ht=a=>{a==="all"?p.status="":p.status=Number(a),$t()};let F=null;const D=async a=>{const t=(a==null?void 0:a.silent)===!0;p.include_status_counts=1;try{await rt({silent:t});const o=V.extend,c=o==null?void 0:o.status_count;if(c)for(const _ of[1,2,3,4]){const w=c[_]??c[String(_)];typeof w=="number"&&(S.value[_]=w)}}catch(o){if(!t)throw o}finally{p.include_status_counts=0}},It=a=>{a==="customDate"?q.value=!0:a==="reset"&&qt()},zt=()=>{p.date_preset="",q.value=!1,V.page=1,D()},xt=()=>{V.page=1,D()},Rt=a=>{const t=String(a||"");if(!t){p.date_preset="",p.start_date="",p.end_date="",D();return}const o=new Date,c=T=>String(T).padStart(2,"0");let _;t==="yesterday"?(_=new Date(o),_.setDate(_.getDate()-1)):t==="day_before"?(_=new Date(o),_.setDate(_.getDate()-2)):t==="today"?_=o:t==="tomorrow"?(_=new Date(o),_.setDate(_.getDate()+1)):(_=new Date(o),_.setDate(_.getDate()+2));const w=`${_.getFullYear()}-${c(_.getMonth()+1)}-${c(_.getDate())}`;p.date_preset=t,p.start_date=w,p.end_date=w,V.page=1,D()},pt=()=>{V.page=1,D()},qt=()=>{O.value="1",p.patient_name="",p.doctor_name="",p.date_preset="today",p.diagnosis_confirmed="";const a=new Date,t=o=>String(o).padStart(2,"0");p.start_date=`${a.getFullYear()}-${t(a.getMonth()+1)}-${t(a.getDate())}`,p.end_date=p.start_date,p.status=1,V.page=1,D()},J=v(!1),d=v(null),Lt=v([]),At=v([]),Mt=v([]),Nt=v([]),W=(a,t)=>{if(!t)return"-";const o=a.find(c=>c.value===t);return o?o.name:t},Ut=a=>(Array.isArray(a)?a:typeof a=="string"?a.split(/[,,、]/):[]).map(o=>W(Nt.value,o.trim())).filter(Boolean).join("、")||"-",K=v(),X=v(),ut=v(),Bt=["doctor.appointment/addDoctorNote"],L=v(!1),Q=v(!1),A=v(""),Z=v(null),tt=ot(()=>Pe(Bt)),M=v(!1),G=v(!1),H=v(""),Y=v(null),Ot=(a,t)=>{switch(a){case"edit":_t(t);break;case"viewCase":Yt(t);break;case"complete":mt(t);break;case"chat":ct(t);break;case"qrcode":et(t);break;case"prescription":ft(t);break;case"cancel":Ft(t);break}},Ft=async a=>{try{await y.confirm("确定要取消该挂号吗?"),await De({id:a.id}),y.msgSuccess("取消成功"),D()}catch{}},mt=async a=>{if(Z.value=a,A.value="",tt.value){L.value=!0;return}try{await y.confirm("确认患者已就诊完成?"),await yt({id:a.id}),y.msgSuccess("操作成功"),D()}catch{}},Wt=async()=>{const a=Z.value;if(!(!(a!=null&&a.id)||Q.value)){Q.value=!0;try{const t=A.value.trim();await yt({id:a.id});let o="";if(tt.value&&t){const c=a.patient_id||a.diagnosis_id;if(c)try{await Te({diagnosis_id:Number(c),content:t})}catch{o="问诊已完成,但备注未保存"}else o="问诊已完成,但该预约没有关联诊单,备注未保存"}o?y.msgWarning(o):y.msgSuccess("操作成功"),L.value=!1,A.value="",Z.value=null,D()}catch(t){y.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"操作失败")}finally{Q.value=!1}}},_t=a=>{var t;if(!a.patient_id){y.msgWarning("该预约没有关联诊单信息");return}(t=K.value)==null||t.open("edit",a.patient_id)},Qt=a=>{_t(a)},ct=async a=>{var t;if(!a.patient_id){y.msgWarning("患者信息不完整");return}if(!a.diagnosis_id&&!a.id){y.msgWarning("预约信息不完整,无法发起聊天");return}try{const o=await Ce({patient_id:a.patient_id,diagnosis_id:a.diagnosis_id||a.id});console.log("获取聊天签名成功:",o),(t=ut.value)==null||t.open({patientId:a.patient_id,patientName:a.patient_name,diagnosisId:a.diagnosis_id||a.id,signatureData:o})}catch(o){console.error("获取聊天签名失败:",o),y.msgError(o.message||"获取聊天签名失败")}},et=async a=>{if(!a.patient_id){y.msgWarning("患者信息不完整");return}Y.value=a,M.value=!0,G.value=!0,H.value="";try{const t=await Ie();if(!(t!=null&&t.app_id)){y.msgError("小程序未配置,请先配置小程序信息"),M.value=!1;return}const o=dt.userInfo,c=await Ve({diagnosis_id:a.doctor_id||"",patient_id:a.patient_id,share_user_id:(o==null?void 0:o.id)||"",mini_program_path:"pages/login/login"});c!=null&&c.qrcode_url?H.value=c.qrcode_url:y.msgError("二维码生成失败")}catch(t){console.error("生成小程序二维码失败:",t),y.msgError((t==null?void 0:t.msg)||"生成二维码失败,请重试")}finally{G.value=!1}},Gt=()=>{var a,t;D(),(t=(a=K.value)==null?void 0:a.refreshCaseList)==null||t.call(a)};function Ht(a){return(a==null?void 0:a.prescription_audit_status)===1&&Number(a==null?void 0:a.prescription_void_status)!==1?"查看":"开方"}const ft=a=>{var t;if(!a.diagnosis_id&&!a.patient_id){y.msgWarning("该预约缺少诊单信息,请先编辑患者");return}(t=X.value)==null||t.open(a)},Yt=async a=>{var t;if(!a.id){y.msgWarning("预约信息不完整");return}try{const o=await Ee({appointment_id:a.id});o!=null&&o.id?(t=X.value)==null||t.openById(o.id):y.msgWarning("该预约暂无病历记录,请先开方")}catch(o){y.msgError((o==null?void 0:o.msg)||"获取病历失败")}},jt=()=>{Y.value&&et(Y.value)},st=new Date,gt=a=>String(a).padStart(2,"0");return p.start_date=`${st.getFullYear()}-${gt(st.getMonth()+1)}-${gt(st.getDate())}`,p.end_date=p.start_date,p.status=1,Be(()=>{D(),F=setInterval(()=>{D({silent:!0})},Wa)}),Oe(()=>{F!==null&&(clearInterval(F),F=null)}),(a,t)=>{const o=ee,c=se,_=te,w=Zt,T=ae,b=le,P=oe,j=ne,N=ie,E=re,U=de,at=ve,$=pe,C=me,h=_e,z=ue,Jt=ge,Kt=fe,x=Fe("perms"),Xt=ce;return m(),k("div",Ge,[l(Kt,{class:"list-card !border-none",shadow:"never"},{default:i(()=>[e("div",He,[l(w,{modelValue:s(O),"onUpdate:modelValue":t[0]||(t[0]=n=>R(O)?O.value=n:null),onTabChange:ht,class:"list-tabs"},{default:i(()=>[l(_,{name:"1"},{label:i(()=>[e("span",Ye,[l(o,null,{default:i(()=>[l(s(ze))]),_:1}),t[19]||(t[19]=r("待接诊",-1)),s(S)[1]?(m(),g(c,{key:0,value:s(S)[1],class:"tab-badge tab-badge-success"},null,8,["value"])):f("",!0)])]),_:1}),l(_,{name:"all"},{label:i(()=>[e("span",je,[l(o,null,{default:i(()=>[l(s(xe))]),_:1}),t[20]||(t[20]=r("全部",-1))])]),_:1}),l(_,{name:"4"},{label:i(()=>[e("span",Je,[l(o,null,{default:i(()=>[l(s(bt))]),_:1}),t[21]||(t[21]=r("已过号",-1)),s(S)[4]?(m(),g(c,{key:0,value:s(S)[4],class:"tab-badge tab-badge-danger"},null,8,["value"])):f("",!0)])]),_:1}),l(_,{name:"2"},{label:i(()=>[e("span",Ke,[l(o,null,{default:i(()=>[l(s(kt))]),_:1}),t[22]||(t[22]=r("已取消",-1)),s(S)[2]?(m(),g(c,{key:0,value:s(S)[2],class:"tab-badge tab-badge-info"},null,8,["value"])):f("",!0)])]),_:1}),l(_,{name:"3"},{label:i(()=>[e("span",Xe,[l(o,null,{default:i(()=>[l(s(Re))]),_:1}),t[23]||(t[23]=r("已完成",-1)),s(S)[3]?(m(),g(c,{key:0,value:s(S)[3],class:"tab-badge tab-badge-primary"},null,8,["value"])):f("",!0)])]),_:1})]),_:1},8,["modelValue"]),e("div",Ze,[l(T,{modelValue:s(p).patient_name,"onUpdate:modelValue":t[1]||(t[1]=n=>s(p).patient_name=n),placeholder:"患者姓名",clearable:"",size:"small",class:"action-input",onKeyup:ye(pt,["enter"])},null,8,["modelValue"]),l(b,{type:"primary",size:"small",onClick:pt},{default:i(()=>[...t[24]||(t[24]=[r("查询",-1)])]),_:1}),l(N,{trigger:"click",onCommand:It},{dropdown:i(()=>[l(j,null,{default:i(()=>[s(Pt)?(m(),g(P,{key:0,class:"dropdown-item-with-input",onClick:t[4]||(t[4]=vt(()=>{},["stop"]))},{default:i(()=>[t[26]||(t[26]=e("span",{class:"dropdown-label"},"医生",-1)),l(T,{modelValue:s(p).doctor_name,"onUpdate:modelValue":t[2]||(t[2]=n=>s(p).doctor_name=n),placeholder:"医生",size:"small",class:"dropdown-input",onClick:t[3]||(t[3]=vt(()=>{},["stop"]))},null,8,["modelValue"])]),_:1})):f("",!0),l(P,{command:"customDate",divided:""},{default:i(()=>[l(o,null,{default:i(()=>[l(s(Ct))]),_:1}),t[27]||(t[27]=r(" 自定义日期 ",-1))]),_:1}),l(P,{command:"reset"},{default:i(()=>[l(o,null,{default:i(()=>[l(s(qe))]),_:1}),t[28]||(t[28]=r(" 重置 ",-1))]),_:1})]),_:1})]),default:i(()=>[l(b,{size:"small"},{default:i(()=>[t[25]||(t[25]=r("更多",-1)),l(o,{class:"el-icon--right"},{default:i(()=>[l(s(Dt))]),_:1})]),_:1})]),_:1})])]),e("div",ts,[e("div",es,[t[35]||(t[35]=e("span",{class:"filter-label"},"日期",-1)),l(U,{modelValue:s(p).date_preset,"onUpdate:modelValue":t[5]||(t[5]=n=>s(p).date_preset=n),size:"small",onChange:Rt,class:"filter-radio"},{default:i(()=>[l(E,{value:"yesterday"},{default:i(()=>[...t[29]||(t[29]=[r("昨天挂号",-1)])]),_:1}),l(E,{value:"day_before"},{default:i(()=>[...t[30]||(t[30]=[r("前天挂号",-1)])]),_:1}),l(E,{value:"today"},{default:i(()=>[...t[31]||(t[31]=[r("当天挂号",-1)])]),_:1}),l(E,{value:"tomorrow"},{default:i(()=>[...t[32]||(t[32]=[r("明天挂号",-1)])]),_:1}),l(E,{value:"day_after"},{default:i(()=>[...t[33]||(t[33]=[r("后天挂号",-1)])]),_:1}),l(E,{value:""},{default:i(()=>[...t[34]||(t[34]=[r("不限",-1)])]),_:1})]),_:1},8,["modelValue"])]),e("div",ss,[t[39]||(t[39]=e("span",{class:"filter-label"},"确认诊单",-1)),l(U,{modelValue:s(p).diagnosis_confirmed,"onUpdate:modelValue":t[6]||(t[6]=n=>s(p).diagnosis_confirmed=n),size:"small",onChange:xt,class:"filter-radio"},{default:i(()=>[l(E,{value:""},{default:i(()=>[...t[36]||(t[36]=[r("全部",-1)])]),_:1}),l(E,{value:"1"},{default:i(()=>[...t[37]||(t[37]=[r("已确认",-1)])]),_:1}),l(E,{value:"0"},{default:i(()=>[...t[38]||(t[38]=[r("未确认",-1)])]),_:1})]),_:1},8,["modelValue"])])]),l($,{modelValue:s(q),"onUpdate:modelValue":t[10]||(t[10]=n=>R(q)?q.value=n:null),title:"自定义日期",width:"400px","append-to-body":"","close-on-click-modal":!0},{footer:i(()=>[l(b,{onClick:t[9]||(t[9]=n=>q.value=!1)},{default:i(()=>[...t[40]||(t[40]=[r("取消",-1)])]),_:1}),l(b,{type:"primary",onClick:zt},{default:i(()=>[...t[41]||(t[41]=[r("确定",-1)])]),_:1})]),default:i(()=>[l(at,{startTime:s(p).start_date,"onUpdate:startTime":t[7]||(t[7]=n=>s(p).start_date=n),endTime:s(p).end_date,"onUpdate:endTime":t[8]||(t[8]=n=>s(p).end_date=n)},null,8,["startTime","endTime"])]),_:1},8,["modelValue"]),e("div",as,[I((m(),g(z,{data:s(V).lists,size:"default",class:"appointment-table"},{default:i(()=>[l(C,{label:"ID",prop:"id",width:"72",align:"center"}),l(C,{label:"患者信息","min-width":"140"},{default:i(({row:n})=>[e("div",ls,[e("div",is,[e("div",ns,u(n.patient_name),1),e("div",os,u(Tt(n.patient_phone)),1),e("div",ds,u([n.gender===1?"男":n.gender===0?"女":"",n.age!=null?n.age+"岁":"",n.height!=null?n.height+"cm":"",n.weight!=null?n.weight+"kg":""].filter(Boolean).join(" ")||"-"),1)])])]),_:1}),l(C,{label:"医生",prop:"doctor_name",width:"90","show-overflow-tooltip":""}),l(C,{label:"预约时间","min-width":"120"},{default:i(({row:n})=>[e("div",rs,[e("div",ps,u(n.appointment_date),1),e("div",us,u(n.appointment_time),1)])]),_:1}),l(C,{label:"助理",prop:"assistant_name",width:"100","show-overflow-tooltip":""},{default:i(({row:n})=>[r(u(n.assistant_name||"—"),1)]),_:1}),l(C,{label:"确认诊单",width:"90",align:"center"},{default:i(({row:n})=>[n.diagnosis_confirmed?(m(),g(h,{key:0,type:"success",size:"small",effect:"plain"},{default:i(()=>[...t[42]||(t[42]=[r("已确认",-1)])]),_:1})):(m(),g(h,{key:1,type:"warning",size:"small",effect:"plain"},{default:i(()=>[...t[43]||(t[43]=[r("未确认",-1)])]),_:1}))]),_:1}),l(C,{label:"开方",width:"120",align:"center"},{default:i(({row:n})=>[e("div",ms,[n.has_prescription?(m(),g(h,{key:0,type:"success",size:"small",effect:"plain"},{default:i(()=>[...t[44]||(t[44]=[r("已开方",-1)])]),_:1})):(m(),g(h,{key:1,type:"info",size:"small",effect:"plain"},{default:i(()=>[...t[45]||(t[45]=[r("未开方",-1)])]),_:1})),n.has_prescription&&n.prescription_is_system_auto===1?(m(),g(h,{key:2,type:"warning",size:"small",effect:"plain"},{default:i(()=>[...t[46]||(t[46]=[r(" 系统代开 ",-1)])]),_:1})):f("",!0)])]),_:1}),l(C,{label:"状态",width:"90",align:"center"},{default:i(({row:n})=>[l(h,{type:n.status===1?"success":n.status===2?"info":n.status===3?"primary":"danger",size:"small",effect:"light",round:""},{default:i(()=>[r(u(n.status_desc),1)]),_:2},1032,["type"])]),_:1}),l(C,{label:"备注",prop:"remark","min-width":"120","show-overflow-tooltip":""}),l(C,{label:"操作",width:"380",fixed:"right",align:"left"},{default:i(({row:n})=>[e("div",_s,[I((m(),g(b,{type:"primary",link:"",size:"small",onClick:B=>Qt(n)},{default:i(()=>[...t[47]||(t[47]=[r(" 编辑患者 ",-1)])]),_:1},8,["onClick"])),[[x,["tcm.diagnosis/edit"]]]),n.status!==3?(m(),k(We,{key:0},[I((m(),g(b,{type:"warning",link:"",size:"small",onClick:B=>et(n),class:"action-qrcode"},{default:i(()=>[l(o,null,{default:i(()=>[l(s(Le))]),_:1}),t[48]||(t[48]=r(" 视频二维码 ",-1))]),_:1},8,["onClick"])),[[x,["tcm.diagnosis/videoQr"]]]),I((m(),g(b,{type:"primary",link:"",size:"small",onClick:B=>ct(n)},{default:i(()=>[...t[49]||(t[49]=[r(" 通话 ",-1)])]),_:1},8,["onClick"])),[[x,["doctor.appointment/prescription"]]]),I((m(),g(b,{type:"success",link:"",size:"small",onClick:B=>mt(n)},{default:i(()=>[...t[50]||(t[50]=[r(" 完成 ",-1)])]),_:1},8,["onClick"])),[[x,["doctor.appointment/complete"]]])],64)):f("",!0),I((m(),g(b,{type:"primary",link:"",size:"small",onClick:B=>ft(n)},{default:i(()=>[r(u(Ht(n)),1)]),_:2},1032,["onClick"])),[[x,["tcm.diagnosis/kaifang"]]]),l(N,{trigger:"click",onCommand:B=>Ot(B,n),placement:"bottom-end"},{dropdown:i(()=>[l(j,null,{default:i(()=>[I((m(),g(P,{command:"viewCase"},{default:i(()=>[l(o,null,{default:i(()=>[l(s(it))]),_:1}),t[52]||(t[52]=r(" 病历 ",-1))]),_:1})),[[x,["tcm.diagnosis/kaifang"]]]),n.status===1?I((m(),g(P,{key:0,command:"cancel",divided:""},{default:i(()=>[l(o,null,{default:i(()=>[l(s(kt))]),_:1}),t[53]||(t[53]=e("span",{class:"text-danger"},"取消挂号",-1))]),_:1})),[[x,["doctor.appointment/cancel"]]]):f("",!0)]),_:2},1024)]),default:i(()=>[l(b,{type:"info",link:"",size:"small"},{default:i(()=>[t[51]||(t[51]=r(" 更多 ",-1)),l(o,{class:"el-icon--right"},{default:i(()=>[l(s(Dt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])])]),_:1})]),_:1},8,["data"])),[[Xt,s(V).loading]]),e("div",cs,[l(Jt,{modelValue:s(V),"onUpdate:modelValue":t[11]||(t[11]=n=>R(V)?V.value=n:null),onChange:s(rt)},null,8,["modelValue","onChange"])])])]),_:1}),l($,{modelValue:s(J),"onUpdate:modelValue":t[12]||(t[12]=n=>R(J)?J.value=n:null),title:"挂号详情",width:"720px",class:"detail-dialog","destroy-on-close":""},{default:i(()=>[s(d)?(m(),k("div",fs,[e("div",gs,[e("div",vs,[l(o,null,{default:i(()=>[l(s(Ct))]),_:1}),t[54]||(t[54]=r(" 预约信息 ",-1))]),e("div",ys,[e("div",bs,[t[55]||(t[55]=e("span",{class:"detail-label"},"挂号ID",-1)),e("span",ks,u(s(d).id),1)]),e("div",Ds,[t[56]||(t[56]=e("span",{class:"detail-label"},"状态",-1)),l(h,{type:s(d).status===1?"success":s(d).status===2?"info":s(d).status===3?"primary":"danger",size:"small",effect:"light"},{default:i(()=>[r(u(s(d).status_desc),1)]),_:1},8,["type"])]),e("div",Cs,[t[57]||(t[57]=e("span",{class:"detail-label"},"医生",-1)),e("span",Vs,u(s(d).doctor_name),1)]),e("div",Es,[t[58]||(t[58]=e("span",{class:"detail-label"},"预约时间",-1)),e("span",Ss,u(s(d).appointment_date)+" "+u(s(d).appointment_time),1)]),e("div",ws,[t[59]||(t[59]=e("span",{class:"detail-label"},"时段",-1)),e("span",Ts,u(s(d).period==="morning"?"上午":"下午"),1)]),e("div",Ps,[t[60]||(t[60]=e("span",{class:"detail-label"},"预约类型",-1)),e("span",$s,u(s(d).appointment_type_desc),1)])])]),e("div",hs,[e("div",Is,[l(o,null,{default:i(()=>[l(s(Ae))]),_:1}),t[61]||(t[61]=r(" 患者信息 ",-1))]),e("div",zs,[e("div",xs,[t[62]||(t[62]=e("span",{class:"detail-label"},"姓名",-1)),e("span",Rs,u(s(d).patient_name||"-"),1)]),e("div",qs,[t[63]||(t[63]=e("span",{class:"detail-label"},"手机号",-1)),e("span",Ls,u(s(d).phone||s(d).patient_phone||"-"),1)]),e("div",As,[t[64]||(t[64]=e("span",{class:"detail-label"},"身份证号",-1)),e("span",Ms,u(s(d).id_card||"-"),1)]),e("div",Ns,[t[65]||(t[65]=e("span",{class:"detail-label"},"性别",-1)),e("span",Us,u(s(d).gender===1?"男":s(d).gender===0?"女":"-"),1)]),e("div",Bs,[t[66]||(t[66]=e("span",{class:"detail-label"},"年龄",-1)),e("span",Os,u(s(d).age!=null?s(d).age+"岁":"-"),1)]),e("div",Fs,[t[67]||(t[67]=e("span",{class:"detail-label"},"诊断日期",-1)),e("span",Ws,u(s(d).diagnosis_date||"-"),1)]),e("div",Qs,[t[68]||(t[68]=e("span",{class:"detail-label"},"婚姻状态",-1)),e("span",Gs,u(s(d).marital_status===0?"未婚":s(d).marital_status===1?"已婚":s(d).marital_status===2?"离异":"-"),1)]),e("div",Hs,[t[69]||(t[69]=e("span",{class:"detail-label"},"身高(cm)",-1)),e("span",Ys,u(s(d).height??"-"),1)]),e("div",js,[t[70]||(t[70]=e("span",{class:"detail-label"},"体重(kg)",-1)),e("span",Js,u(s(d).weight??"-"),1)]),e("div",Ks,[t[71]||(t[71]=e("span",{class:"detail-label"},"地区",-1)),e("span",Xs,u(s(d).region||"-"),1)]),e("div",Zs,[t[72]||(t[72]=e("span",{class:"detail-label"},"收缩压(mmHg)",-1)),e("span",ta,u(s(d).systolic_pressure??"-"),1)]),e("div",ea,[t[73]||(t[73]=e("span",{class:"detail-label"},"舒张压(mmHg)",-1)),e("span",sa,u(s(d).diastolic_pressure??"-"),1)]),e("div",aa,[t[74]||(t[74]=e("span",{class:"detail-label"},"空腹血糖(mmol/L)",-1)),e("span",la,u(s(d).fasting_blood_sugar??"-"),1)]),e("div",ia,[t[75]||(t[75]=e("span",{class:"detail-label"},"诊断类型",-1)),e("span",na,u(W(s(Lt),s(d).diagnosis_type)||"-"),1)]),e("div",oa,[t[76]||(t[76]=e("span",{class:"detail-label"},"证型",-1)),e("span",da,u(W(s(At),s(d).syndrome_type)||"-"),1)]),e("div",ra,[t[77]||(t[77]=e("span",{class:"detail-label"},"糖尿病期数",-1)),e("span",pa,u(W(s(Mt),s(d).diabetes_type)||"-"),1)])])]),s(d).symptoms||s(d).local_hospital_name||s(d).past_history&&s(d).past_history.length?(m(),k("div",ua,[e("div",ma,[l(o,null,{default:i(()=>[l(s(it))]),_:1}),t[78]||(t[78]=r(" 病史信息 ",-1))]),e("div",_a,[s($e)(s(d).diabetes_discovery_year)?(m(),k("div",ca,[t[79]||(t[79]=e("span",{class:"detail-label"},"发现糖尿病病史",-1)),e("span",fa,u(s(he)(s(d).diabetes_discovery_year)),1)])):f("",!0),s(d).local_hospital_name?(m(),k("div",ga,[t[80]||(t[80]=e("span",{class:"detail-label"},"当地就诊医院",-1)),e("span",va,u(s(d).local_hospital_name),1)])):f("",!0),s(d).symptoms?(m(),k("div",ya,[t[81]||(t[81]=e("span",{class:"detail-label"},"症状补充",-1)),e("span",ba,u(s(d).symptoms),1)])):f("",!0),s(d).past_history&&s(d).past_history.length?(m(),k("div",ka,[t[82]||(t[82]=e("span",{class:"detail-label"},"既往史",-1)),e("span",Da,u(Ut(s(d).past_history)),1)])):f("",!0)])])):f("",!0),s(d).tongue_coating||s(d).pulse||s(d).treatment_principle||s(d).prescription?(m(),k("div",Ca,[e("div",Va,[l(o,null,{default:i(()=>[l(s(it))]),_:1}),t[83]||(t[83]=r(" 诊断信息 ",-1))]),e("div",Ea,[s(d).tongue_coating?(m(),k("div",Sa,[t[84]||(t[84]=e("span",{class:"detail-label"},"舌苔",-1)),e("span",wa,u(s(d).tongue_coating),1)])):f("",!0),s(d).pulse?(m(),k("div",Ta,[t[85]||(t[85]=e("span",{class:"detail-label"},"脉象",-1)),e("span",Pa,u(s(d).pulse),1)])):f("",!0),s(d).treatment_principle?(m(),k("div",$a,[t[86]||(t[86]=e("span",{class:"detail-label"},"治则",-1)),e("span",ha,u(s(d).treatment_principle),1)])):f("",!0),s(d).prescription?(m(),k("div",Ia,[t[87]||(t[87]=e("span",{class:"detail-label"},"处方",-1)),e("span",za,u(s(d).prescription),1)])):f("",!0)])])):f("",!0),e("div",xa,[t[88]||(t[88]=e("div",{class:"detail-section-title"},"备注",-1)),e("p",Ra,u(s(d).remark||"无"),1)])])):f("",!0)]),_:1},8,["modelValue"]),l(s(Vt),{ref_key:"editRef",ref:K,onSuccess:t[13]||(t[13]=()=>D({silent:!0}))},null,512),l(s(Et),{ref_key:"prescriptionRef",ref:X,onSuccess:Gt},null,512),l(s(St),{ref_key:"chatDialogRef",ref:ut},null,512),l($,{modelValue:s(M),"onUpdate:modelValue":t[15]||(t[15]=n=>R(M)?M.value=n:null),title:"小程序二维码",width:"380px","close-on-click-modal":!1,class:"qrcode-dialog"},{footer:i(()=>[l(b,{onClick:t[14]||(t[14]=n=>M.value=!1)},{default:i(()=>[...t[93]||(t[93]=[r("关闭",-1)])]),_:1}),s(G)?f("",!0):(m(),g(b,{key:0,type:"primary",onClick:jt},{default:i(()=>[...t[94]||(t[94]=[r(" 重新生成 ",-1)])]),_:1}))]),default:i(()=>{var n;return[e("div",qa,[s(G)?(m(),k("div",La,[l(o,{class:"is-loading",size:48},{default:i(()=>[l(s(Me))]),_:1}),t[89]||(t[89]=e("div",{class:"qrcode-loading-text"},"生成中...",-1))])):s(H)?(m(),k("div",Aa,[e("div",Ma,[e("img",{src:s(H),alt:"小程序二维码",class:"qrcode-image"},null,8,Na)]),e("div",Ua,[e("div",Ba,"患者:"+u((n=s(Y))==null?void 0:n.patient_name),1),t[90]||(t[90]=e("div",{class:"qrcode-tip"},"请使用微信扫描二维码",-1)),t[91]||(t[91]=e("div",{class:"qrcode-path"},"pages/login/login",-1))])])):(m(),k("div",Oa,[l(o,{size:40},{default:i(()=>[l(s(bt))]),_:1}),t[92]||(t[92]=e("div",null,"生成失败,请重试",-1))]))])]}),_:1},8,["modelValue"]),l($,{modelValue:s(L),"onUpdate:modelValue":t[18]||(t[18]=n=>R(L)?L.value=n:null),title:"完成问诊",width:"420px","append-to-body":"","close-on-click-modal":!1,"destroy-on-close":""},{footer:i(()=>[l(b,{onClick:t[17]||(t[17]=n=>L.value=!1)},{default:i(()=>[...t[96]||(t[96]=[r("取消",-1)])]),_:1}),l(b,{type:"primary",loading:s(Q),onClick:Wt},{default:i(()=>[...t[97]||(t[97]=[r("确认完成",-1)])]),_:1},8,["loading"])]),default:i(()=>[e("div",Fa,[t[95]||(t[95]=e("p",{class:"complete-dialog-tip"},"是否添加医生备注?",-1)),s(tt)?(m(),g(T,{key:0,modelValue:s(A),"onUpdate:modelValue":t[16]||(t[16]=n=>R(A)?A.value=n:null),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"填写完成备注,将追加到医生备注时间轴"},null,8,["modelValue"])):f("",!0)])]),_:1},8,["modelValue"])])}}}),Nl=we(Qa,[["__scopeId","data-v-7d271b1e"]]);export{Nl as default};
diff --git a/server/public/admin/assets/list-D5ZA4Hyd.css b/server/public/admin/assets/list-D5ZA4Hyd.css
deleted file mode 100755
index 2a358d31..00000000
--- a/server/public/admin/assets/list-D5ZA4Hyd.css
+++ /dev/null
@@ -1 +0,0 @@
-@charset "UTF-8";.appointment-list[data-v-6d7279ec]{min-height:100%}.list-card[data-v-6d7279ec] .el-card__body{padding:0}.list-toolbar[data-v-6d7279ec]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--el-border-color-lighter)}.list-tabs[data-v-6d7279ec]{flex:1;min-width:0}.list-tabs[data-v-6d7279ec] .el-tabs__header{margin-bottom:0}.list-tabs[data-v-6d7279ec] .el-tabs__nav-wrap:after{display:none}.list-tabs[data-v-6d7279ec] .el-tabs__item{font-size:14px;padding:0 16px}.list-tabs[data-v-6d7279ec] .el-tabs__item.is-active{font-weight:500}.list-tabs[data-v-6d7279ec] .el-tabs__ink-bar{height:2px;border-radius:2px 2px 0 0}.list-tabs[data-v-6d7279ec] .el-tabs__active-bar{height:2px}.list-tabs[data-v-6d7279ec] .el-tabs__nav{gap:4px}.list-tabs .tab-label[data-v-6d7279ec]{display:inline-flex;align-items:center;gap:6px}.list-tabs .tab-badge[data-v-6d7279ec]{margin-left:4px}.list-tabs .tab-badge[data-v-6d7279ec] .el-badge__content{font-size:11px;height:16px;line-height:16px;border:none}.list-tabs .tab-badge-success[data-v-6d7279ec] .el-badge__content{background:var(--el-color-success)}.list-tabs .tab-badge-danger[data-v-6d7279ec] .el-badge__content{background:var(--el-color-danger)}.list-tabs .tab-badge-info[data-v-6d7279ec] .el-badge__content{background:var(--el-color-info)}.list-tabs .tab-badge-primary[data-v-6d7279ec] .el-badge__content{background:var(--el-color-primary)}.list-tabs .tab-priority[data-v-6d7279ec]{font-weight:500}.toolbar-actions[data-v-6d7279ec]{display:flex;align-items:center;gap:8px;flex-shrink:0}.toolbar-actions .action-input[data-v-6d7279ec]{width:120px}.filter-bar[data-v-6d7279ec]{display:flex;align-items:center;gap:32px;padding:12px 16px;background:var(--el-fill-color-lighter);border-bottom:1px solid var(--el-border-color-lighter)}.filter-bar .filter-group[data-v-6d7279ec]{display:flex;align-items:center;gap:12px}.filter-bar .filter-group .filter-label[data-v-6d7279ec]{font-size:13px;color:var(--el-text-color-secondary);flex-shrink:0}.filter-bar .filter-group .filter-radio[data-v-6d7279ec] .el-radio-button__inner{padding:6px 14px}.dropdown-item-with-input[data-v-6d7279ec]{display:flex;align-items:center;gap:8px;padding:8px 12px}.dropdown-item-with-input .dropdown-label[data-v-6d7279ec]{width:40px;flex-shrink:0}.dropdown-item-with-input .dropdown-input[data-v-6d7279ec]{width:120px}.table-wrap[data-v-6d7279ec]{padding:0 16px 20px}.prescription-tags[data-v-6d7279ec]{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;align-items:center}.action-btns[data-v-6d7279ec]{display:flex;align-items:flex-start;flex-wrap:wrap;row-gap:6px;-moz-column-gap:8px;column-gap:8px}.action-btns .action-qrcode[data-v-6d7279ec]{color:var(--el-color-warning)!important;font-weight:500}.action-btns .action-qrcode[data-v-6d7279ec]:hover{color:var(--el-color-warning-dark-2)!important}.appointment-table[data-v-6d7279ec] .el-table__header th{background:var(--el-fill-color-light);font-weight:500;color:var(--el-text-color-regular)}.appointment-table[data-v-6d7279ec] .el-table__row{cursor:default}.appointment-table[data-v-6d7279ec] .el-table__body tr>td{background-color:#fff!important}.appointment-table[data-v-6d7279ec] .el-table__body tr:hover>td{background-color:var(--el-fill-color-light)!important}.patient-cell[data-v-6d7279ec]{display:flex;align-items:center;gap:12px}.patient-avatar[data-v-6d7279ec]{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--el-color-primary-light-5),var(--el-color-primary-light-7));color:var(--el-color-primary);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.patient-info[data-v-6d7279ec]{min-width:0}.patient-name[data-v-6d7279ec]{font-weight:500;color:var(--el-text-color-primary)}.patient-phone[data-v-6d7279ec]{font-size:12px;color:var(--el-text-color-secondary);margin-top:2px}.patient-extra[data-v-6d7279ec]{font-size:12px;color:var(--el-text-color-placeholder);margin-top:2px}.datetime-cell .date-text[data-v-6d7279ec]{font-weight:600;font-size:14px;color:var(--el-text-color-primary)}.datetime-cell .time-text[data-v-6d7279ec]{font-size:13px;font-weight:500;color:var(--el-color-primary);margin-top:4px}.detail-content[data-v-6d7279ec]{padding:8px 0}.detail-section[data-v-6d7279ec]{margin-bottom:24px}.detail-section[data-v-6d7279ec]:last-child{margin-bottom:0}.detail-section-title[data-v-6d7279ec]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--el-text-color-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--el-border-color-lighter)}.detail-section-title .el-icon[data-v-6d7279ec]{font-size:16px;color:var(--el-color-primary)}.detail-grid[data-v-6d7279ec]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px}.detail-item[data-v-6d7279ec]{display:flex;flex-direction:column;gap:4px}.detail-item .detail-label[data-v-6d7279ec]{font-size:12px;color:var(--el-text-color-secondary)}.detail-item .detail-value[data-v-6d7279ec]{font-size:14px;color:var(--el-text-color-primary)}.detail-item-full[data-v-6d7279ec]{grid-column:1/-1}.detail-remark[data-v-6d7279ec]{font-size:14px;color:var(--el-text-color-regular);margin:0;line-height:1.6}.text-danger[data-v-6d7279ec]{color:var(--el-color-danger)}.qrcode-content[data-v-6d7279ec]{padding:16px 0;min-height:200px;display:flex;align-items:center;justify-content:center}.qrcode-loading[data-v-6d7279ec],.qrcode-success[data-v-6d7279ec],.qrcode-error[data-v-6d7279ec]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.qrcode-loading-text[data-v-6d7279ec]{margin-top:16px;color:var(--el-text-color-secondary)}.qrcode-image-wrap[data-v-6d7279ec]{padding:12px;background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014}.qrcode-image[data-v-6d7279ec]{width:200px;height:200px;display:block;border-radius:8px}.qrcode-info[data-v-6d7279ec]{margin-top:16px;font-size:14px}.qrcode-patient[data-v-6d7279ec]{font-weight:500;color:var(--el-text-color-primary)}.qrcode-tip[data-v-6d7279ec]{margin-top:8px;color:var(--el-text-color-regular)}.qrcode-path[data-v-6d7279ec]{margin-top:4px;font-size:12px;color:var(--el-text-color-placeholder)}.qrcode-error[data-v-6d7279ec]{color:var(--el-text-color-secondary);gap:12px}
diff --git a/server/public/admin/assets/list-DTpbMnqc.js b/server/public/admin/assets/list-DDey44dW.js
similarity index 97%
rename from server/public/admin/assets/list-DTpbMnqc.js
rename to server/public/admin/assets/list-DDey44dW.js
index dc434598..f7902152 100644
--- a/server/public/admin/assets/list-DTpbMnqc.js
+++ b/server/public/admin/assets/list-DDey44dW.js
@@ -1 +1 @@
-import{D as pe,B as me,C as ue,P as _e,Q as ce,i as fe,J as be,L as ye,M as ve,N as ge,T as Ve,G as we,I as ke,h as he,g as Ce,V as Ee}from"./element-plus-lurTijPg.js";import{_ as xe}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{u as Ne,c as Se,i as b,_ as Le}from"./index-hTkp7Jz4.js";import{w as Ue}from"./@vue/runtime-dom-DDAG46FW.js";import{h as Ie,m as Pe,n as De,o as $e}from"./tcm-BWcL4HTv.js";import{u as Oe}from"./usePaging-VsbTxSU0.js";import{M as Ae}from"./index-DJDgcnLL.js";import{f as F,b as Me,as as Re,ak as u,I as L,a as l,aN as a,O as s,aP as w,G as g,J as C,H as U,M as Be}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as J,r as T,n as E}from"./@vue/reactivity-DiY1c2vO.js";import{Q as x}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./medicine-DKZiK12I.js";const Je={class:"prescription-library"},Te={class:"mt-4"},Fe={key:0},Ge={key:1,class:"text-gray-400"},ze={class:"flex mt-4 justify-end"},He={class:"w-full"},Ke=F({name:"prescriptionLibrary"}),je=F({...Ke,setup(qe){const _=T({prescription_name:"",formula_type:"",is_public:""}),c=E(!1),p=E("add"),N=E(!1),S=E(),r=T({id:0,prescription_name:"",formula_type:"主方",herbs:[],is_public:0}),G={prescription_name:[{required:!0,message:"请输入处方名称",trigger:"blur"}]},I=Ne(),z=[0,3],{pager:V,getLists:k,resetParams:H,resetPage:P}=Oe({fetchFun:Ie,params:_}),K=o=>{var e;return Number(o.creator_id)===Number((e=I.userInfo)==null?void 0:e.id)},j=()=>{const o=I.userInfo;if(!o)return!1;if(Number(o.root)===1)return!0;const e=Array.isArray(o.role_ids)?o.role_ids.map(y=>Number(y)):[];return z.some(y=>e.includes(y))},D=o=>j()||K(o),q=D,Q=()=>{r.herbs.push({name:"",dosage:0})},W=o=>{r.herbs.splice(o,1)},X=()=>{r.id=0,r.prescription_name="",r.formula_type="主方",r.herbs=[],r.is_public=0},Y=()=>{X(),p.value="add",c.value=!0},Z=o=>{p.value="view",r.id=o.id,r.prescription_name=o.prescription_name||"",r.formula_type=o.formula_type||"主方",r.herbs=o.herbs?JSON.parse(JSON.stringify(o.herbs)):[],r.is_public=o.is_public??0,c.value=!0},ee=o=>{p.value="edit",r.id=o.id,r.prescription_name=o.prescription_name||"",r.formula_type=o.formula_type||"主方",r.herbs=o.herbs?JSON.parse(JSON.stringify(o.herbs)):[],r.is_public=o.is_public??0,c.value=!0},le=async()=>{if(S.value){if(await S.value.validate(),!r.herbs||r.herbs.length===0){b.msgError("请至少添加一味药材");return}for(let o=0;oNumber(F)).filter(F=>!Number.isNaN(F)):[],_.internal_cost=s.internal_cost!=null&&s.internal_cost!==""?Number(s.internal_cost):void 0,await Sl(_.diagnosis_id,_.id),Rt(()=>{var F;(F=Se.value)==null||F.clearValidate()})}catch(e){A.msgError((e==null?void 0:e.message)||"加载异常"),ve.value=!1}finally{Qt.value=!1}}async function Tl(){if(!(!Se.value||L.value!==2)){await Se.value.validate(),Jt.value=!0;try{const t={id:_.id,recipient_name:_.recipient_name,recipient_phone:_.recipient_phone,shipping_address:_.shipping_address,is_follow_up:_.is_follow_up,prev_staff:_.prev_staff||"",service_channel:_.service_channel||"",service_package:Array.isArray(_.service_package)?_.service_package.join(","):"",express_company:_.express_company||"auto",tracking_number:_.tracking_number||"",fee_type:_.fee_type,amount:_.amount,remark_extra:_.remark_extra||"",remark_assistant:_.remark_assistant||"",medication_days:_.medication_days!=null&&String(_.medication_days).trim()!==""?_.medication_days:"",dose_unit:_.dose_unit||"剂",dose_count:_.dose_count||1,internal_cost:_.internal_cost!=null&&String(_.internal_cost).trim()!==""?_.internal_cost:""};_.region&&_.region.length>0?(t.shipping_province=_.region[0]||"",t.shipping_city=_.region[1]||"",t.shipping_district=_.region[2]||""):(t.shipping_province="",t.shipping_city="",t.shipping_district=""),t.pay_order_ids=[..._.pay_order_ids],await cs(t),A.msgSuccess("保存成功"),ve.value=!1,K()}catch{}finally{Jt.value=!1}}}const Fe=x(!1),ta=x("prescription"),mt=x(0),Ie=x(null),Ve=x(""),ft=x(!1),Ol=w(()=>ta.value==="prescription"?"处方业务审核":"关联支付单审核");function qa(t,e){ta.value=e,mt.value=t.id,Ie.value=t,Ve.value="",Fe.value=!0}async function Ma(t){if(t==="reject"&&!Ve.value.trim()){A.msgError("驳回或阻止时必须填写明确的审核意见");return}ft.value=!0;try{const e={id:mt.value,action:t,remark:Ve.value.trim()};if(ta.value==="prescription"?await gi(e):await yi(e),A.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),Fe.value=!1,K(),X.value&&mt.value)try{const s=await ee({id:mt.value}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}catch{}finally{ft.value=!1}}async function Rl(t){try{await Xe.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await bi({id:t.id}),A.msgSuccess("撤回成功"),K()}catch{}}const Ba=x(0),vt=x(!1),Ne=x(!1),z=x(null);function Ha(t){if(!t)return"0.00";const e=Number(t.m_cost)||0,s=Number(t.proces_cost)||0,o=Number(t.lis_cost)||0;return(e+s+o).toFixed(2)}function El(t,e){const s=parseFloat(Ha(t))||0,o=Number(e)||0;return o<=0?"—":(s/o*100).toFixed(2)}function Dl(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((s,o)=>s+(Number(o.quantity)||0),0).toFixed(0)}async function $l(){if(!_.id){A.msgError("请先保存订单");return}Ne.value=!0;try{const t=await _s({id:_.id,dose_count:_.dose_count||1,medication_days:_.medication_days||void 0}),e=(t==null?void 0:t.data)??t;e&&e.success&&(z.value=e,vt.value=!0,A.msgSuccess("预下单测试成功"))}catch{}finally{Ne.value=!1}}async function Ul(){var t;if(!((t=c.value)!=null&&t.id)){A.msgError("订单数据不存在");return}Ne.value=!0;try{const e=await _s({id:c.value.id,dose_count:c.value.dose_count||1,medication_days:c.value.medication_days||void 0}),s=(e==null?void 0:e.data)??e;s&&s.success&&(z.value=s,vt.value=!0)}catch{}finally{Ne.value=!1}}async function zl(t){var e;try{await Xe.confirm("将把本单关联处方提交至甘草药管家开放平台(先 CTM_PREVIEW 预检查再 CTM_SUBMIT_RECIPEL 正式下单;成功后将按甘草侧规则扣费,详见 https://apidoc.igancao.com/service-doc/scm-outer-recipel.html )。确定继续?","上传甘草药方",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),Ba.value=t.id;const s=await xi({id:t.id}),o=(s==null?void 0:s.data)??s,d=(o==null?void 0:o.recipel_order_no)!=null?String(o.recipel_order_no):"";if(A.msgSuccess(d?`上传成功,甘草处方单号:${d}`:"上传成功"),K(),X.value&&Number((e=c.value)==null?void 0:e.id)===t.id)try{const f=await ee({id:t.id}),k=(f==null?void 0:f.data)??f??null;k&&(c.value=k)}catch{}}catch{}finally{Ba.value=0}}$i(async()=>{await Ts(),await Os(),await Cs(),K()});const je=x(!1),gt=x(!1),Le=x(0),Z=xe({express_company:"auto",tracking_number:""});function Fl(t){Le.value=t.id,Z.express_company=String(t.express_company||"auto")||"auto",Z.tracking_number=String(t.tracking_number||""),je.value=!0}async function Ga(){var t;if(!Z.tracking_number.trim()){A.msgError("请填写快递单号");return}gt.value=!0;try{const e=await ee({id:Le.value}),s=(e==null?void 0:e.data)??e;if(!s){A.msgError("加载订单数据失败");return}if(await cs({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()}),A.msgSuccess("快递单号已保存"),je.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===Le.value)try{const o=await ee({id:Le.value}),d=(o==null?void 0:o.data)??o??null;d&&(c.value=d)}catch{}if(Ut({fulfillment_status:Number(s.fulfillment_status)}))try{await Xe.confirm(`快递单号「${Z.tracking_number}」已保存,是否立即确认发货?`,"确认发货",{type:"success",confirmButtonText:"确认发货",cancelButtonText:"稍后再说"}),aa({id:Le.value,tracking_number:Z.tracking_number,express_company:Z.express_company})}catch{}}catch{}finally{gt.value=!1}}const qe=x(!1),yt=x(!1),bt=x(0),Y=xe({ship_mode:"gancao",express_company:"auto",tracking_number:""});function aa(t){bt.value=t.id,Y.ship_mode=String(t.ship_mode||"gancao")||"gancao",Y.express_company=String(t.express_company||"auto")||"auto",Y.tracking_number=String(t.tracking_number||""),qe.value=!0}async function Wa(){var t;if(!Y.tracking_number.trim()){A.msgError("请先填写快递单号再确认发货");return}yt.value=!0;try{if(await ki({id:bt.value,ship_mode:Y.ship_mode==="direct"?"direct":"gancao",express_company:Y.express_company||"auto",tracking_number:Y.tracking_number.trim()}),A.msgSuccess("确认发货成功,订单已进入「已发货」状态"),qe.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===bt.value)try{const e=await ee({id:bt.value}),s=(e==null?void 0:e.data)??e??null;s&&(c.value=s)}catch{}}catch{}finally{yt.value=!1}}const Il=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],Me=x(!1),sa=x(0),xt=x(3),la=x(!1);async function jl(){var e;const t=sa.value;if(t){la.value=!0;try{if(await hi({id:t,fulfillment_status:xt.value}),A.msgSuccess("订单状态已更新"),Me.value=!1,K(),X.value&&((e=c.value)==null?void 0:e.id)===t)try{const s=await ee({id:t}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}catch{}finally{la.value=!1}}}const Be=x(!1),kt=x(!1),He=x(0),ht=x(),na=x(!1),wt=x([]),O=xe({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),Ll={add_mode:[{required:!0,message:"请选择添加方式",trigger:"change"}],order_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],pay_amount:[{required:!0,message:"请输入支付金额",trigger:"blur"},{validator:(t,e,s)=>{const o=Number(e);!Number.isFinite(o)||o<=0?s(new Error("金额须大于 0")):s()},trigger:"blur"}],link_pay_order_ids:[{required:!0,message:"请至少选择一个支付单",trigger:"change",validator:(t,e,s)=>{!Array.isArray(e)||e.length===0?s(new Error("请至少选择一个支付单")):s()}}]};async function ql(t,e=[]){var s;if(!t){wt.value=[];return}try{na.value=!0;const o=await pa({diagnosis_id:t}),d=(o==null?void 0:o.lists)??((s=o==null?void 0:o.data)==null?void 0:s.lists)??[],f=Array.isArray(d)?d.filter(k=>!e.includes(k.id)):[];wt.value=f}catch{wt.value=[]}finally{na.value=!1}}function Ka(t){var o,d;He.value=t.id,O.add_mode="create",O.order_type=3,O.pay_amount=void 0,O.pay_remark="",O.link_pay_order_ids=[],O.completion_request=0,Be.value=!0;const e=t.diagnosis_id||((o=c.value)==null?void 0:o.diagnosis_id),s=t.pay_order_ids||((d=c.value)==null?void 0:d.pay_order_ids)||[];e&&ql(e,s)}async function Ml(){var t;if(ht.value){await ht.value.validate(),kt.value=!0;try{if(O.add_mode==="create")await wi({id:He.value,order_type:O.order_type,pay_amount:O.pay_amount,pay_remark:O.pay_remark||"",completion_request:O.completion_request}),A.msgSuccess("支付单已新增,请等待审核");else{const e=O.link_pay_order_ids;if(e.length===0){A.msgError("请至少选择一个支付单");return}await Si({id:He.value,pay_order_ids:e,completion_request:O.completion_request}),A.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}if(Be.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===He.value)try{const e=await ee({id:He.value}),s=(e==null?void 0:e.data)??e??null;s&&(c.value=s)}catch{}}catch{}finally{kt.value=!1}}}function Ya(t){sa.value=t.id,xt.value=3,Me.value=!0}async function Bl(t){var e;try{if(await Xe.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Vi({id:t.id}),A.msgSuccess("处方审核已撤回"),K(),X.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const s=await ee({id:t.id}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}catch{}}async function Hl(t){var e;try{if(await Xe.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Ni({id:t.id}),A.msgSuccess("支付单审核已撤回"),K(),X.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const s=await ee({id:t.id}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}catch{}}const Gl="成都双流甄养堂互联网医院 处方笺",St=x(!1),Vt=x(!1),h=x(null),Qa=x(null),Pe=x(!1),Nt=w(()=>{var e;const t=(e=h.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),Wl=w(()=>{const t=h.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),o=Number(t.dosage_amount),d=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(s)||!Number.isFinite(o)||e<=0||s<=0||o<=0?null:e*s*o*d}),Pt=t=>String(t).padStart(2,"0"),Kl=w(()=>{const t=h.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),o=new Date(s);if(!isNaN(o.getTime()))return`${o.getFullYear()}-${Pt(o.getMonth()+1)}-${Pt(o.getDate())} ${Pt(o.getHours())}:${Pt(o.getMinutes())}`}return t.prescription_date||"—"}),Yl=w(()=>{const t=h.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const s=String(t.visit_no??"").trim();return s||"—"}),Ql=w(()=>{const t=h.value;if(!t)return"—";const e=Number(t.appointment_id);return Number.isFinite(e)&&e>0?String(e):"—"}),Ja=w(()=>{const t=h.value;return t?String(t.order_no??"").trim():""}),Jl=w(()=>{const t=h.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(","):"—"}),Xa=w(()=>{var e;const t=Number((e=h.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Xl=w(()=>{const e=Nt.value.reduce((s,o)=>s+(Number(o==null?void 0:o.dosage)||0),0);return Ge(e)}),Zl=t=>{const e=Number(t)||0;return Ge(e*Xa.value)},en=w(()=>{const t=h.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),tn=w(()=>{const t=h.value;if(!t)return"—";if(t.usage_text)return t.usage_text;const e=Number(t.times_per_day)>0?Number(t.times_per_day):3,s=t.dosage_amount!=null?Number(t.dosage_amount):10,o=t.dosage_unit||"g",d=t.usage_way||"温水送服",f=t.usage_time||"",k=[];if(k.push(`每天${e}次`),(t.prescription_type||"浓缩水丸")==="浓缩水丸"){const y=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;k.push(`一次${y}袋`),k.push(`每袋${s}${o}`)}else k.push(`一次${s}${o}`);return k.push(d),f&&k.push(f),k.join(", ")}),an=w(()=>{const t=Wl.value;if(typeof t=="number"&&isFinite(t)&&t>0)return Ge(t);const e=h.value;if(!e)return"";const s=e.out_pellet||e.total_weight;if(s&&Number(s)>0)return Ge(Number(s));const o=Nt.value;if(!o.length)return"";const d=o.reduce((f,k)=>f+(Number(k==null?void 0:k.dosage)||0),0);return Ge(d*Xa.value)}),Za=w(()=>{const t=h.value;return t&&t.medical_advice||""}),es=w(()=>{const t=h.value;if(!t)return"";const e=[];return e.push(`共${Nt.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),ts=w(()=>{const t=h.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),as=w(()=>{const t=an.value;return t?`${t}克`:""});function Ge(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function ss(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 sn(t){return t?ss(t):"—"}function ln(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function nn(t){return t==null||t===""?"—":`${t}岁`}function rn(){ls(_)}async function ls(t){if(!t.prescription_id){A.msgWarning("该订单未关联处方");return}St.value=!0,Vt.value=!0,h.value=null;try{const e=await Pi({id:t.prescription_id}),s=(e==null?void 0:e.data)??e??null;if(s){const o=t.medication_days,d={...s};o!=null&&String(o).trim()!==""&&(d.medication_days=o),t.order_no&&!d.order_no&&(d.order_no=t.order_no),t.recipient_name&&!d.recipient_name&&(d.recipient_name=t.recipient_name),t.recipient_phone&&!d.recipient_phone&&(d.recipient_phone=t.recipient_phone),t.shipping_address&&!d.shipping_address&&(d.shipping_address=t.shipping_address),t.amount!=null&&d.order_amount==null&&(d.order_amount=t.amount),t.dose_count!=null&&String(t.dose_count).trim()!==""&&Number(t.dose_count)>0&&(d.dose_count=Number(t.dose_count)),t.dose_unit!=null&&String(t.dose_unit).trim()!==""&&(d.dose_unit=String(t.dose_unit));const f=t.linked_appointment;(!d.appointment_id||Number(d.appointment_id)<=0)&&f&&typeof f=="object"&&Number(f.id)>0&&(d.appointment_id=Number(f.id)),h.value=d}else h.value=null}catch(e){A.msgError((e==null?void 0:e.message)||"加载处方详情失败"),St.value=!1}finally{Vt.value=!1}}async function on(t){const e=t.querySelectorAll('img[src^="http"]'),s=Array.from(e).map(async o=>{try{const d=await fetch(o.src,{mode:"cors"});if(!d.ok)return;const f=await d.blob(),k=await new Promise((y,$)=>{const Q=new FileReader;Q.onload=()=>y(Q.result),Q.onerror=$,Q.readAsDataURL(f)});o.src=k}catch{}});await Promise.allSettled(s)}async function ns(){await Rt();const t=Qa.value;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await on(t),await new Promise(e=>requestAnimationFrame(()=>e(null))),await new Promise(e=>setTimeout(e,250)),Ai(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 is(){var s;const t=(s=h.value)==null?void 0:s.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function un(){if(h.value){Pe.value=!0;try{const t=await ns(),e=document.createElement("a");e.download=`${is()}.png`,e.href=t.toDataURL("image/png"),e.click(),A.msgSuccess("图片已下载")}catch{A.msgError("下载图片失败")}finally{Pe.value=!1}}}async function dn(){if(h.value){Pe.value=!0;try{const t=await ns(),e=t.toDataURL("image/jpeg",.95),s=new vn({orientation:"portrait",unit:"mm",format:"a4"}),o=210,d=297,f=o,k=t.height*f/t.width;if(k<=d)s.addImage(e,"JPEG",0,0,f,k);else{let y=k,$=0;for(;y>0;)s.addImage(e,"JPEG",0,$,f,k),y-=d,$-=d,y>0&&s.addPage()}s.save(`${is()}.pdf`),A.msgSuccess("PDF已下载")}catch{A.msgError("下载PDF失败")}finally{Pe.value=!1}}}return(t,e)=>{const s=gn,o=yn,d=xn,f=hn,k=wn,y=Vn,$=Sn,Q=Nn,S=Pn,F=kn,re=Cn,ge=On,Ct=Tn,rs=An,ia=ti,We=Rn,le=En,oe=$n,Ke=Dn,E=zn,pe=Un,V=In,Ye=Fn,U=Ln,At=jn,ra=qn,os=Bn,us=Mn,oa=Hn,Ce=Gn,ce=Wn,ds=Kn,pn=Yn,cn=Jn,_n=Qn,mn=Xn,Ae=ei,ua=Zn,ye=bn,q=Ui("perms");return u(),m("div",Ii,[e[249]||(e[249]=a("header",{class:"po-h5-hero","aria-label":"页面概览"},[a("div",{class:"po-h5-hero__text"},[a("h1",{class:"po-h5-hero__title"},"业务订单"),a("p",{class:"po-h5-hero__sub"},"履约、双审与收款一览;点卡片进入详情")])],-1)),l(s,{class:"po-h5-surface po-h5-surface--chips !mb-3 !border-none shadow-none",shadow:"never"},{default:n(()=>[a("div",ji,[me.value?(u(),m("div",Li,[e[86]||(e[86]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(u(),m(D,null,B(Fs,i=>a("div",{key:i.value,class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.prescription_audit_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>js(i.value)},[a("span",Mi,r(i.label),1)],10,qi)),64))])):v("",!0),a("div",Bi,[e[87]||(e[87]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(u(),m(D,null,B(Is,i=>a("div",{key:i.value,class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.payment_slip_audit_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>Ls(i.value)},[a("span",Gi,r(i.label),1)],10,Hi)),64))]),a("div",Wi,[e[88]||(e[88]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(u(),m(D,null,B(Rs,i=>a("div",{key:"fs-"+String(i.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.fulfillment_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>Es(i.value)},[a("span",Yi,r(i.label),1)],10,Ki)),64))]),a("div",Qi,[e[89]||(e[89]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(u(),m(D,null,B(Ds,i=>a("div",{key:"sm-"+String(i.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.supply_mode===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>$s(i.value)},[a("span",Xi,r(i.label),1)],10,Ji)),64))]),a("div",Zi,[e[90]||(e[90]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(u(),m(D,null,B(Us,i=>a("div",{key:"ec-"+String(i.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.express_company===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>zs(i.value)},[a("span",tr,r(i.label),1)],10,er)),64))])])]),_:1}),l(s,{class:"po-h5-surface po-filter-card !mb-3 !border-none shadow-none",shadow:"never"},{default:n(()=>[T((u(),m("div",ar,[a("div",sr,[e[91]||(e[91]=a("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)),a("div",lr,[a("div",null,[a("div",nr,[l(o,{size:16,class:"text-sky-500"},{default:n(()=>[l(R(ai))]),_:1}),p(" "+r(ne.value.orderHeading),1)]),a("div",ir,[a("div",rr," ¥"+r(ne.value.orderPerformanceStr),1),a("div",or,[a("span",null,"合计 ¥"+r(ne.value.orderStr),1),a("span",ur,"已取消 ¥"+r(ne.value.orderCancelledStr),1)])])]),a("div",dr,[l(o,{size:20},{default:n(()=>[l(R(si))]),_:1})])]),a("p",pr,r(ne.value.periodLine),1)]),a("div",cr,[e[92]||(e[92]=a("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)),a("div",_r,[a("div",null,[a("div",mr,[l(o,{size:16,class:"text-emerald-500"},{default:n(()=>[l(R(li))]),_:1}),p(" "+r(ne.value.payHeading),1)]),a("div",fr,[a("div",vr," ¥"+r(ne.value.payPerformanceStr),1),a("div",gr,[a("span",null,"合计 ¥"+r(ne.value.payStr),1),a("span",yr,"已取消 ¥"+r(ne.value.payCancelledStr),1)])])]),a("div",br,[l(o,{size:20},{default:n(()=>[l(R(ni))]),_:1})])]),a("p",xr,r(ne.value.periodLine),1)])])),[[ye,R(J).loading]]),e[96]||(e[96]=a("p",{class:"po-h5-stats-hint text-center text-[12px] leading-snug text-slate-500 px-1 -mt-2 mb-3"},[p(" 上方为接口返回的"),a("strong",{class:"text-slate-600 font-medium"},"业绩汇总"),p("(未选创建日期时为今日;选了则为该区间);下方列表是当前筛选条件下的订单,"),a("strong",{class:"text-slate-600 font-medium"},"条数与金额和上面不必相等"),p("。 ")],-1)),a("div",{class:"po-filter-toggle",onClick:e[0]||(e[0]=i=>it.value=!it.value)},[a("div",kr,[l(o,null,{default:n(()=>[l(R(da))]),_:1}),e[93]||(e[93]=a("span",null,"筛选条件",-1)),Ca.value>0?(u(),g(d,{key:0,size:"small",type:"primary",effect:"dark",round:""},{default:n(()=>[p(r(Ca.value),1)]),_:1})):v("",!0)]),l(o,{class:j(["po-filter-toggle__arrow",{"is-open":!it.value}])},{default:n(()=>[l(R(ps))]),_:1},8,["class"])]),T(l(F,{class:"ls-form",model:b,inline:""},{default:n(()=>[l(f,{class:"w-[360px] min-w-[240px] max-w-full",label:"创建时间"},{default:n(()=>[l(di,{startTime:b.start_time,"onUpdate:startTime":e[1]||(e[1]=i=>b.start_time=i),endTime:b.end_time,"onUpdate:endTime":e[2]||(e[2]=i=>b.end_time=i),"picker-type":"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始日期","end-placeholder":"结束日期",class:"!w-full"},null,8,["startTime","endTime"])]),_:1}),l(f,{class:"w-[260px]",label:"订单号"},{default:n(()=>[l(k,{modelValue:b.order_no,"onUpdate:modelValue":e[3]||(e[3]=i=>b.order_no=i),placeholder:"业务订单号",clearable:"",onKeyup:Ze(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(f,{class:"w-[140px]",label:"处方ID"},{default:n(()=>[l(k,{modelValue:b.prescription_id,"onUpdate:modelValue":e[4]||(e[4]=i=>b.prescription_id=i),placeholder:"处方ID",clearable:"",onKeyup:Ze(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(f,{class:"w-[220px]",label:"患者"},{default:n(()=>[l(k,{modelValue:b.patient_keyword,"onUpdate:modelValue":e[5]||(e[5]=i=>b.patient_keyword=i),placeholder:"姓名 / 手机号",clearable:"",onKeyup:Ze(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(f,{class:"w-[220px]",label:"快递"},{default:n(()=>[l(k,{modelValue:b.express_keyword,"onUpdate:modelValue":e[6]||(e[6]=i=>b.express_keyword=i),placeholder:"快递单号 / 公司",clearable:"",onKeyup:Ze(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),ws.value?(u(),g(f,{key:0,class:"w-[200px]",label:"下单人"},{default:n(()=>[l($,{modelValue:b.audit_admin_id,"onUpdate:modelValue":e[7]||(e[7]=i=>b.audit_admin_id=i),clearable:"",filterable:"",placeholder:"全部下单人",class:"!w-full"},{default:n(()=>[(u(!0),m(D,null,B(ma.value,i=>(u(),g(y,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):v("",!0),l(f,{class:"w-[200px]",label:"医生"},{default:n(()=>[l($,{modelValue:b.doctor_id,"onUpdate:modelValue":e[8]||(e[8]=i=>b.doctor_id=i),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:n(()=>[(u(!0),m(D,null,B(Et.value,i=>(u(),g(y,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(f,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:n(()=>[l(Q,{modelValue:b.assistant_dept_id,"onUpdate:modelValue":e[9]||(e[9]=i=>b.assistant_dept_id=i),data:tt.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:Ns,placeholder:"医助部门(选父级含子级)",onChange:Bs},null,8,["modelValue","data"])]),_:1}),l(f,{class:"w-[200px]",label:"医助"},{default:n(()=>[l($,{modelValue:b.assistant_id,"onUpdate:modelValue":e[10]||(e[10]=i=>b.assistant_id=i),clearable:"",filterable:"",placeholder:"诊单医助",class:"!w-full"},{default:n(()=>[(u(!0),m(D,null,B(ya.value,i=>(u(),g(y,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(f,null,{default:n(()=>[l(S,{type:"primary",onClick:R(G)},{default:n(()=>[...e[94]||(e[94]=[p("查询",-1)])]),_:1},8,["onClick"]),l(S,{onClick:Hs},{default:n(()=>[...e[95]||(e[95]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),[[Tt,!it.value]])]),_:1}),T((u(),g(s,{class:"po-h5-surface po-table-card !mt-0 !border-none shadow-none",shadow:"never"},{default:n(()=>[a("div",hr,[a("div",wr,[a("div",Sr,[e[97]||(e[97]=a("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),a("span",Vr,"共 "+r(R(J).count)+" 条",1)]),a("div",Nr,[a("div",{class:j(["po-focus-board__item is-pending-rx",{"is-active":te.value==="pendingRx"}]),onClick:e[11]||(e[11]=i=>at("pendingRx"))},[e[98]||(e[98]=a("span",{class:"po-focus-board__label"},"待处方审核",-1)),a("strong",Pr,r(st.value.pendingRx),1)],2),a("div",{class:j(["po-focus-board__item is-pending-pay",{"is-active":te.value==="pendingPay"}]),onClick:e[12]||(e[12]=i=>at("pendingPay"))},[e[99]||(e[99]=a("span",{class:"po-focus-board__label"},"待支付审核",-1)),a("strong",Cr,r(st.value.pendingPay),1)],2),a("div",{class:j(["po-focus-board__item is-pending-ship",{"is-active":te.value==="pendingShip"}]),onClick:e[13]||(e[13]=i=>at("pendingShip"))},[e[100]||(e[100]=a("span",{class:"po-focus-board__label"},"待发货",-1)),a("strong",Ar,r(st.value.pendingShip),1)],2),a("div",{class:j(["po-focus-board__item is-risk",{"is-active":te.value==="risk"}]),onClick:e[14]||(e[14]=i=>at("risk"))},[e[101]||(e[101]=a("span",{class:"po-focus-board__label"},"重点异常",-1)),a("strong",Tr,r(st.value.risk),1)],2)])])]),a("div",Or,[!R(J).lists.length&&!R(J).loading?(u(),g(re,{key:0,description:"暂无订单","image-size":88})):v("",!0),(u(!0),m(D,null,B(R(J).lists,i=>(u(),m("div",{key:i.id,class:j(["po-card",{"po-card--focus":lt&<({row:i})==="po-row-focus","po-card--risk":lt&<({row:i})==="po-row-risk"}]),onClick:C=>Ia(i.id)},[a("div",Er,[a("div",Dr,[a("span",$r,r(i.order_no||"—"),1)]),a("div",Ur,[l(d,{size:"small",effect:"plain",type:String(i.gancao_reciperl_order_no||"").trim()?"success":"info"},{default:n(()=>[p(r(String(i.gancao_reciperl_order_no||"").trim()?"甘草":"自营"),1)]),_:2},1032,["type"]),a("span",zr,"#"+r(i.id),1)])]),pt(i.recipient_phone,i.prescription_phone)?(u(),m("div",Fr,[l(o,null,{default:n(()=>[l(R(ii))]),_:1}),e[102]||(e[102]=a("span",null,"收货手机与处方手机不一致",-1))])):v("",!0),a("div",Ir,[a("div",jr,[e[103]||(e[103]=a("span",{class:"po-card__label"},"收货人",-1)),a("span",Lr,r(i.recipient_name||"—"),1)]),a("div",qr,[e[104]||(e[104]=a("span",{class:"po-card__label"},"金额",-1)),a("span",Mr,"¥"+r(i.amount),1)])]),a("div",Br,[a("div",Hr,[e[105]||(e[105]=a("span",{class:"po-card__label"},"手机",-1)),a("span",{class:j(["po-card__value",pt(i.recipient_phone,i.prescription_phone)?"text-red-600 font-semibold":""])},r(i.recipient_phone||"—"),3)]),a("div",Gr,[e[106]||(e[106]=a("span",{class:"po-card__label"},"费用类别",-1)),a("span",Wr,r(nt(i.fee_type)),1)])]),a("div",Kr,[a("div",Yr,[e[107]||(e[107]=a("span",{class:"po-card__label"},"处方ID",-1)),a("span",Qr,r(i.prescription_id||"—"),1)]),a("div",Jr,[e[108]||(e[108]=a("span",{class:"po-card__label"},"诊单ID",-1)),a("span",Xr,r(i.diagnosis_id||"—"),1)])]),fa()&&i.internal_cost!=null&&i.internal_cost!==""?(u(),m("div",Zr,[a("div",eo,[e[109]||(e[109]=a("span",{class:"po-card__label"},"内部成本",-1)),a("span",to,"¥"+r(i.internal_cost),1)]),a("div",ao,[e[110]||(e[110]=a("span",{class:"po-card__label"},"关联支付",-1)),a("span",so,[Number(i.linked_pay_order_count)>0?(u(),m("span",lo,r(i.linked_pay_order_count)+" 笔",1)):(u(),m("span",no,"—"))])])])):(u(),m("div",io,[a("div",ro,[e[111]||(e[111]=a("span",{class:"po-card__label"},"关联支付",-1)),a("span",oo,[Number(i.linked_pay_order_count)>0?(u(),m("span",uo,r(i.linked_pay_order_count)+" 笔",1)):(u(),m("span",po,"—"))])]),a("div",co,[e[112]||(e[112]=a("span",{class:"po-card__label"},"创建时间",-1)),a("span",_o,r(fe(i.create_time)),1)])])),a("div",mo,[l(d,{type:xa(i.prescription_audit_status),size:"small",class:j(Dt("rx",i))},{default:n(()=>[p(" 处方审: "+r(ba(i.prescription_audit_status)),1)]),_:2},1032,["type","class"]),l(d,{type:xa(i.payment_slip_audit_status),size:"small",class:j(Dt("pay",i))},{default:n(()=>[p(" 支付审: "+r(ba(i.payment_slip_audit_status)),1)]),_:2},1032,["type","class"]),l(d,{type:Ws(i.fulfillment_status),size:"small",class:j(Dt("fulfillment",i))},{default:n(()=>[p(r($t(i.fulfillment_status)),1)]),_:2},1032,["type","class"])]),a("div",fo,[i.doctor_name?(u(),m("span",vo,"医:"+r(i.doctor_name),1)):v("",!0),i.creator_name?(u(),m("span",go,"建:"+r(i.creator_name),1)):v("",!0),fa()&&i.internal_cost!=null&&i.internal_cost!==""?v("",!0):(u(),m("span",yo,r(fe(i.create_time)),1))]),a("div",{class:"po-card__actions",onClick:e[15]||(e[15]=Ot(()=>{},["stop"]))},[T((u(),g(S,{type:"primary",size:"small",onClick:C=>Ia(i.id)},{default:n(()=>[p(r(Ss.value),1)]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/detail"]]]),Sa(i)?T((u(),g(S,{key:0,size:"small",onClick:C=>Al(i)},{default:n(()=>[...e[113]||(e[113]=[p("编辑",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/edit"]]]):v("",!0),Zs(i)?T((u(),g(S,{key:1,type:"success",size:"small",onClick:C=>Fl(i)},{default:n(()=>[...e[114]||(e[114]=[p("改单号",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/ddcode"]]]):v("",!0),Ut(i)?T((u(),g(S,{key:2,type:"primary",size:"small",onClick:C=>aa(i)},{default:n(()=>[...e[115]||(e[115]=[p("发货",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/ship"]]]):v("",!0),el(i)?(u(),g(rs,{key:3,trigger:"click",onCommand:C=>tl(C,i)},{dropdown:n(()=>[l(Ct,null,{default:n(()=>[zt(i)?(u(),g(ge,{key:0,command:"addPayOrder"},{default:n(()=>[...e[117]||(e[117]=[p("补齐支付单",-1)])]),_:1})):v("",!0),Ft(i)?(u(),g(ge,{key:1,command:"complete"},{default:n(()=>[...e[118]||(e[118]=[p("完成订单",-1)])]),_:1})):v("",!0),Na(i)?(u(),g(ge,{key:2,command:"submitGancao"},{default:n(()=>[...e[119]||(e[119]=[p("上传药方",-1)])]),_:1})):v("",!0),Va(i)?(u(),g(ge,{key:3,command:"withdraw",divided:""},{default:n(()=>[...e[120]||(e[120]=[a("span",{class:"text-red-500"},"撤回订单",-1)])]),_:1})):v("",!0)]),_:2},1024)]),default:n(()=>[l(S,{size:"small"},{default:n(()=>[e[116]||(e[116]=p(" 更多",-1)),l(o,{class:"el-icon--right"},{default:n(()=>[l(R(ps))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):v("",!0)])],10,Rr))),128))]),a("div",bo,[l(ia,{modelValue:R(J),"onUpdate:modelValue":e[16]||(e[16]=i=>Fi(J)?J.value=i:null),onChange:R(K)},null,8,["modelValue","onChange"])])]),_:1})),[[ye,R(J).loading]]),l(oa,{modelValue:X.value,"onUpdate:modelValue":e[27]||(e[27]=i=>X.value=i),class:"po-detail-drawer po-detail-drawer--h5",size:"100%",direction:"btt","destroy-on-close":"","close-on-click-modal":!1},{header:n(()=>{var i,C;return[a("div",xo,[a("div",ko,[e[121]||(e[121]=a("span",{class:"po-detail-drawer-title shrink-0 text-gray-800 font-semibold text-lg"},"业务订单详情",-1)),(i=c.value)!=null&&i.order_no?(u(),g(d,{key:0,type:"primary",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:n(()=>[p(r(c.value.order_no),1)]),_:1})):v("",!0),(C=c.value)!=null&&C.gancao_reciperl_order_no?(u(),g(d,{key:1,type:"success",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:n(()=>[p("甘草 "+r(c.value.gancao_reciperl_order_no),1)]),_:1})):v("",!0)]),c.value?(u(),m("div",ho,[Ys(c.value)?T((u(),g(S,{key:0,type:"warning",size:"small",plain:"",onClick:e[17]||(e[17]=N=>qa(c.value,"prescription"))},{default:n(()=>[...e[122]||(e[122]=[p(" 处方审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),Js(c.value)?T((u(),g(S,{key:1,type:"info",size:"small",plain:"",onClick:e[18]||(e[18]=N=>Bl(c.value))},{default:n(()=>[...e[123]||(e[123]=[p(" 撤回处方审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),Qs(c.value)?T((u(),g(S,{key:2,type:"warning",size:"small",plain:"",onClick:e[19]||(e[19]=N=>qa(c.value,"payment"))},{default:n(()=>[...e[124]||(e[124]=[p(" 支付审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),Xs(c.value)?T((u(),g(S,{key:3,type:"info",size:"small",plain:"",onClick:e[20]||(e[20]=N=>Hl(c.value))},{default:n(()=>[...e[125]||(e[125]=[p(" 撤回支付审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),Ut(c.value)?T((u(),g(S,{key:4,type:"primary",size:"small",plain:"",onClick:e[21]||(e[21]=N=>aa(c.value))},{default:n(()=>[...e[126]||(e[126]=[p(" 确认发货 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/ship"]]]):v("",!0),zt(c.value)?T((u(),g(S,{key:5,type:"success",size:"small",plain:"",onClick:e[22]||(e[22]=N=>Ka(c.value))},{default:n(()=>[...e[127]||(e[127]=[p(" 关联支付单 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),Ft(c.value)?T((u(),g(S,{key:6,type:"primary",size:"small",plain:"",onClick:e[23]||(e[23]=N=>Ya(c.value))},{default:n(()=>[...e[128]||(e[128]=[p(" 完成订单 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/complete"]]]):v("",!0)])):v("",!0)])]}),default:n(()=>[jt.value?(u(),g(We,{key:0,rows:12,animated:"",class:"px-6 py-4"})):c.value?(u(),m("div",wo,[Re.value?(u(),g(le,{key:0,type:"error",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:"业务订单收货手机与处方登记手机不一致"},{default:n(()=>[a("div",So,[a("div",null,[e[129]||(e[129]=p(" 处方手机: ",-1)),a("span",Vo,r(sl.value),1)]),a("div",null,[e[130]||(e[130]=p(" 订单收货手机: ",-1)),a("span",No,r(ll.value),1)]),e[131]||(e[131]=a("div",{class:"text-gray-600 mt-1"},"请核对是否代收货或录入错误,避免物流与回访联系错人。",-1))])]),_:1})):v("",!0),a("div",Po,[l(Ke,{class:"po-workflow-steps",direction:"vertical",active:rt.value,"finish-status":"success"},{default:n(()=>[l(oe,{title:"业务订单创建",description:fe(c.value.create_time)},null,8,["description"]),l(oe,{title:"处方单双审",status:ot.value},{description:n(()=>[ot.value==="error"?(u(),m("span",Co,"处方被驳回")):ot.value==="wait"?(u(),m("span",Ao,"等待审核")):ot.value==="success"?(u(),m("span",To,"双审通过")):(u(),m("span",Oo,"进行中"))]),_:1},8,["status"]),l(oe,{title:"支付单审核",status:ut.value},{description:n(()=>[ut.value==="error"?(u(),m("span",Ro,"支付审核驳回")):ut.value==="wait"?(u(),m("span",Eo,"等待审核")):ut.value==="success"?(u(),m("span",Do,"审核通过")):(u(),m("span",$o,"进行中"))]),_:1},8,["status"]),l(oe,{title:"发货与履约",status:ke.value},{description:n(()=>{var i,C,N;return[ke.value==="process"&&Number((i=c.value)==null?void 0:i.fulfillment_status)===7?(u(),m("span",Uo,"进行中")):ke.value==="process"?(u(),m("span",zo,"等待发货/补充单号")):ke.value==="wait"?(u(),m("span",Fo,"待转入履约")):ke.value==="success"?(u(),m("span",Io,r($t((C=c.value)==null?void 0:C.fulfillment_status)),1)):ke.value==="error"?(u(),m("span",jo,r($t((N=c.value)==null?void 0:N.fulfillment_status)),1)):v("",!0)]}),_:1},8,["status"]),l(oe,{title:"订单完成"})]),_:1},8,["active"])]),l(pe,{gutter:16,class:"mb-5"},{default:n(()=>[l(E,{xs:12,sm:6},{default:n(()=>[l(s,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[a("div",Lo,[e[133]||(e[133]=a("div",{class:"stat-title text-gray-500 text-xs"},"总金额",-1)),It(c.value)?T((u(),g(S,{key:0,type:"primary",size:"small",link:"",onClick:bl},{default:n(()=>[...e[132]||(e[132]=[p(" 修改 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/updateAmount"]]]):v("",!0)]),a("div",qo,"¥"+r(c.value.amount),1)]),_:1})]),_:1}),l(E,{xs:12,sm:6},{default:n(()=>[l(s,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[134]||(e[134]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付总额",-1)),a("div",Mo,"¥"+r(c.value.linked_pay_paid_total||0),1)]),_:1})]),_:1}),l(E,{xs:12,sm:6},{default:n(()=>[l(s,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[135]||(e[135]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"需代收",-1)),a("div",{class:j(["stat-value font-bold text-xl",Aa.value>0?"text-amber-600":"text-gray-500"])}," ¥"+r(de(Aa.value)),3)]),_:1})]),_:1}),l(E,{xs:12,sm:6},{default:n(()=>[l(s,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[136]||(e[136]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付笔数",-1)),a("div",Bo,r(Lt.value.length)+" 笔",1)]),_:1})]),_:1})]),_:1}),a("div",Ho,[l(s,{shadow:"never",class:"po-panel po-panel-rx border-gray-100 h-full relative overflow-hidden"},{header:n(()=>[a("div",Ko,[a("div",Yo,[e[139]||(e[139]=a("span",{class:"po-panel-rx-header__title font-medium text-[15px] leading-snug"},"处方详情",-1)),a("span",Qo," ID: "+r(c.value.prescription_id||"—"),1)]),c.value.doctor_name?(u(),m("div",Jo,[e[140]||(e[140]=p(" 开方人:",-1)),a("span",Xo,r(c.value.doctor_name),1)])):v("",!0),a("div",Zo,[c.value.prescription_id&&P.value&&!String(c.value.prescription_detail_error||"").trim()?T((u(),g(S,{key:0,type:"default",size:"small",link:"",onClick:vl},{default:n(()=>[...e[141]||(e[141]=[p(" 改患者信息 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/patchPrescriptionPatient"]]]):v("",!0),c.value.prescription_id&&me.value?(u(),g(S,{key:1,type:"primary",size:"small",link:"",onClick:e[24]||(e[24]=i=>ls(c.value))},{default:n(()=>[...e[142]||(e[142]=[p(" 详细 ",-1)])]),_:1})):v("",!0),c.value.id&&me.value?(u(),g(S,{key:2,type:"warning",size:"small",link:"",loading:Ne.value,icon:R(da),onClick:Ul},{default:n(()=>[...e[143]||(e[143]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0)])])]),default:n(()=>[c.value.prescription_audit_status===1?(u(),m("div",Go,[...e[137]||(e[137]=[a("div",{class:"stamp-inner"},"审核通过",-1)])])):v("",!0),c.value.prescription_audit_status===2?(u(),m("div",Wo,[...e[138]||(e[138]=[a("div",{class:"stamp-inner"},"已驳回",-1)])])):v("",!0),String(c.value.prescription_detail_error||"").trim()?(u(),g(le,{key:2,title:c.value.prescription_detail_error,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):P.value?(u(),m(D,{key:3},[l(Ye,{column:1,border:"",size:"small",class:"po-desc bg-white"},{default:n(()=>[l(V,{label:"处方编号",span:2},{default:n(()=>[p(r(P.value.sn||"—"),1)]),_:1}),l(V,{label:"患者"},{default:n(()=>[p(r(P.value.patient_name||"—"),1)]),_:1}),l(V,{label:"性别 / 年龄"},{default:n(()=>[p(r(P.value.gender_desc||"—")+" · "+r(P.value.age??"—")+"岁 ",1)]),_:1}),l(V,{label:"手机"},{default:n(()=>[a("span",{class:j(Re.value?"rx-phone-mismatch text-red-600 font-bold":"")},r(P.value.phone||"—"),3),Re.value?(u(),g(d,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:n(()=>[...e[144]||(e[144]=[p(" 与订单手机不一致 ",-1)])]),_:1})):v("",!0)]),_:1}),l(V,{label:"处方日期"},{default:n(()=>[p(r(P.value.prescription_date||"—"),1)]),_:1}),l(V,{label:"医师"},{default:n(()=>[p(r(P.value.doctor_name||"—"),1)]),_:1}),l(V,{label:"类型"},{default:n(()=>[p(r(P.value.prescription_type||"—"),1)]),_:1}),l(V,{label:"临床诊断",span:2},{default:n(()=>[p(r(P.value.clinical_diagnosis||"—"),1)]),_:1}),me.value?(u(),g(V,{key:0,label:"剂数 / 用法",span:2},{default:n(()=>[p(r(c.value.dose_count??P.value.dose_count??"—")+" "+r(c.value.dose_unit||"剂")+" · "+r(P.value.usage_instruction||P.value.usage_method||"—"),1)]),_:1})):v("",!0),l(V,{label:"处方金额"},{default:n(()=>[a("span",eu,"¥"+r(P.value.amount??"—"),1)]),_:1}),l(V,{label:"消费者审核"},{default:n(()=>[l(d,{type:ol(P.value.audit_status),size:"small"},{default:n(()=>[p(r(rl(P.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),l(V,{label:"用量"},{default:n(()=>[P.value.dosage_amount?(u(),m(D,{key:0},[p(r(P.value.dosage_amount)+r(P.value.dosage_unit||"g")+" ",1),P.value.prescription_type==="浓缩水丸"?(u(),m(D,{key:0},[p(" · "+r(Number(P.value.dosage_bag_count)>0?Number(P.value.dosage_bag_count):1)+"袋 ",1)],64)):v("",!0),P.value.prescription_type==="饮片"&&P.value.need_decoction!==null?(u(),m("span",tu," ("+r(P.value.need_decoction?"代煎":"不代煎")+") ",1)):v("",!0)],64)):(u(),m(D,{key:1},[p("—")],64))]),_:1}),l(V,{label:"服用方式"},{default:n(()=>[a("div",au,[a("div",null,[e[145]||(e[145]=a("span",{class:"text-gray-500"},"每天次数:",-1)),p(" "+r(P.value.times_per_day?P.value.times_per_day+" 次":"—"),1)]),a("div",null,[e[146]||(e[146]=a("span",{class:"text-gray-500"},"处方开立:",-1)),p(" "+r(P.value.usage_days!=null&&P.value.usage_days!==""?P.value.usage_days+" 天":"—"),1)]),a("div",null,[e[147]||(e[147]=a("span",{class:"text-gray-500"},"订单设置:",-1)),p(" "+r(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)])])]),_:1}),l(V,{label:"状态",span:2},{default:n(()=>[l(d,{type:Number(P.value.void_status)===1?"danger":"success",size:"small"},{default:n(()=>[p(r(Number(P.value.void_status)===1?"已作废":"正常"),1)]),_:1},8,["type"])]),_:1})]),_:1}),nl.value?(u(),m("div",su,[e[148]||(e[148]=a("div",{class:"text-xs font-medium text-gray-500 mb-2 px-1"},"药材明细",-1)),Ra.value.length?(u(),g(At,{key:0,data:Ra.value,size:"small",border:"",stripe:"","max-height":"260"},{default:n(()=>[l(U,{type:"index",label:"#",width:"48",align:"center"}),l(U,{prop:"name",label:"药名","min-width":"120","show-overflow-tooltip":""}),l(U,{prop:"dosage",label:"用量(g)",width:"96",align:"right"})]),_:1},8,["data"])):(u(),g(re,{key:1,description:"无处方药材明细","image-size":64}))])):v("",!0)],64)):(u(),g(re,{key:4,description:"无处方数据","image-size":72}))]),_:1}),a("div",lu,[l(s,{shadow:"never",class:"po-panel border-gray-100"},{header:n(()=>[...e[149]||(e[149]=[a("div",{class:"flex items-center justify-between"},[a("span",{class:"font-medium text-[15px]"},"未关联的收款记录"),a("span",{class:"text-xs text-gray-400"},"本诊单下未被占用的支付单")],-1)])]),default:n(()=>[he.value.length?(u(),g(At,{key:0,data:he.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:n(()=>[l(U,{prop:"id",label:"ID",width:"70"}),l(U,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),l(U,{label:"类型",width:"90"},{default:n(({row:i})=>[p(r(i.order_type_desc||nt(i.order_type)),1)]),_:1}),l(U,{label:"金额",width:"86",align:"right"},{default:n(({row:i})=>[a("span",nu,"¥"+r(i.amount),1)]),_:1}),l(U,{label:"状态",width:"100",align:"center"},{default:n(({row:i})=>[l(d,{type:Da(i.status),size:"small"},{default:n(()=>[p(r(i.status_desc||Pa(i.status)),1)]),_:2},1032,["type"]),i.is_exempt===1?(u(),g(d,{key:0,type:"warning",size:"small",class:"ml-1"},{default:n(()=>[...e[150]||(e[150]=[p("豁免",-1)])]),_:1})):v("",!0)]),_:1}),l(U,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),l(U,{label:"创建时间","min-width":"136"},{default:n(({row:i})=>[p(r($a(i.create_time)),1)]),_:1})]),_:1},8,["data"])):(u(),g(re,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),l(s,{shadow:"never",class:"po-panel po-panel-pay border-gray-100 relative overflow-hidden"},{header:n(()=>[a("div",ou,[a("div",uu,[e[154]||(e[154]=a("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),c.value.creator_name?(u(),m("span",du,[e[153]||(e[153]=p(" 创建人:",-1)),a("span",pu,r(c.value.creator_name),1)])):v("",!0)])])]),default:n(()=>[c.value.payment_slip_audit_status===1?(u(),m("div",iu,[...e[151]||(e[151]=[a("div",{class:"stamp-inner"},"审核通过",-1)])])):v("",!0),c.value.payment_slip_audit_status===2?(u(),m("div",ru,[...e[152]||(e[152]=[a("div",{class:"stamp-inner"},"已驳回",-1)])])):v("",!0),Lt.value.length?(u(),g(At,{key:2,data:Lt.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:n(()=>[l(U,{prop:"id",label:"ID",width:"70"}),l(U,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),l(U,{label:"类型",width:"90"},{default:n(({row:i})=>[p(r(i.order_type_desc||nt(i.order_type)),1)]),_:1}),l(U,{label:"金额",width:"86",align:"right"},{default:n(({row:i})=>[a("span",cu,"¥"+r(i.amount),1)]),_:1}),l(U,{label:"状态",width:"100",align:"center"},{default:n(({row:i})=>[l(d,{type:Da(i.status),size:"small"},{default:n(()=>[p(r(i.status_desc||Pa(i.status)),1)]),_:2},1032,["type"]),i.is_exempt===1?(u(),g(d,{key:0,type:"warning",size:"small",class:"ml-1"},{default:n(()=>[...e[155]||(e[155]=[p("豁免",-1)])]),_:1})):v("",!0)]),_:1}),l(U,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),l(U,{label:"创建时间","min-width":"136"},{default:n(({row:i})=>[p(r($a(i.create_time)),1)]),_:1})]),_:1},8,["data"])):(u(),g(re,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),l(s,{shadow:"never",class:"po-panel po-panel-biz border-gray-100 mb-4"},{header:n(()=>[...e[156]||(e[156]=[a("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:n(()=>[l(Ye,{column:1,border:"",size:"small",class:"po-desc"},{default:n(()=>[l(V,{label:"诊单ID"},{default:n(()=>[a("div",_u,[a("div",mu,[e[157]||(e[157]=a("span",{class:"text-[11px] font-semibold uppercase tracking-[0.06em] text-slate-500"},"关联诊单",-1)),a("span",fu,r(c.value.diagnosis_id||"—"),1),e[158]||(e[158]=a("span",{class:"text-[12px] leading-snug text-slate-500"},"病历与体征以诊单为准,可全屏查看",-1))]),Number(c.value.diagnosis_id)>0?(u(),g(S,{key:0,type:"primary",plain:"",round:"",size:"default",class:"po-biz-diagnosis-id__btn w-full shrink-0 touch-manipulation sm:w-auto !m-0",icon:R(ri),"aria-label":"打开关联诊单详情(患者与病历)",onClick:gs},{default:n(()=>[...e[159]||(e[159]=[p(" 查看诊单详情 ",-1)])]),_:1},8,["icon"])):v("",!0)])]),_:1}),l(V,{label:"创建时间"},{default:n(()=>[p(r(fe(c.value.create_time)),1)]),_:1}),l(V,{label:"收货人"},{default:n(()=>[p(r(c.value.recipient_name),1)]),_:1}),l(V,{label:"挂号关联",span:3},{default:n(()=>[W.value?(u(),m(D,{key:0},[a("div",vu,[a("span",null,[e[160]||(e[160]=p("预约 ",-1)),a("span",gu,"#"+r(W.value.id),1)]),a("span",yu,"时间:"+r(W.value.appointment_date)+" "+r(W.value.period)+" "+r(W.value.appointment_time),1),l(d,{size:"small",type:"info"},{default:n(()=>[p(r(W.value.appointment_type_desc),1)]),_:1}),l(d,{size:"small"},{default:n(()=>[p(r(W.value.status_desc),1)]),_:1}),W.value.doctor_name?(u(),m("span",bu,"接诊:"+r(W.value.doctor_name),1)):v("",!0),W.value.channel_source?(u(),m("span",xu,"渠道:"+r(W.value.channel_source),1)):v("",!0),Oa.value?(u(),g(d,{key:2,size:"small",effect:"plain"},{default:n(()=>[p(r(Oa.value),1)]),_:1})):v("",!0)]),String(W.value.remark||"").trim()?(u(),m("p",ku," 备注:"+r(W.value.remark),1)):v("",!0)],64)):(u(),m("span",hu,"暂无挂号预约记录(未绑定或诊单下无预约)"))]),_:1}),l(V,{label:"收货手机"},{default:n(()=>[a("span",{class:j(Re.value?"text-red-600 font-bold font-mono":"font-mono")},r(c.value.recipient_phone||"—"),3),Re.value?(u(),g(d,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:n(()=>[...e[161]||(e[161]=[p(" 与处方手机不一致 ",-1)])]),_:1})):v("",!0)]),_:1}),l(V,{label:"收货地址",span:2},{default:n(()=>[p(r(il.value),1)]),_:1}),l(V,{label:"复诊"},{default:n(()=>[p(r(c.value.is_follow_up?"是":"否"),1)]),_:1}),l(V,{label:"用药疗程"},{default:n(()=>[p(r(c.value.medication_days?c.value.medication_days+" 天":"—"),1)]),_:1}),l(V,{label:"上次医护"},{default:n(()=>[p(r(c.value.prev_staff||"—"),1)]),_:1}),l(V,{label:"服务渠道"},{default:n(()=>[p(r(c.value.service_channel||"—"),1)]),_:1}),l(V,{label:"服务套餐"},{default:n(()=>[p(r(Gs(c.value.service_package)),1)]),_:1}),l(V,{label:"费用类别"},{default:n(()=>[p(r(nt(c.value.fee_type)),1)]),_:1}),c.value.internal_cost!=null&&c.value.internal_cost!==""?(u(),g(V,{key:0,label:"内部成本"},{default:n(()=>[p(" ¥"+r(c.value.internal_cost),1)]),_:1})):v("",!0),l(V,{label:"快递单号",span:c.value.internal_cost!=null&&c.value.internal_cost!==""?1:2},{default:n(()=>[p(r(c.value.tracking_number||"—"),1)]),_:1},8,["span"]),l(V,{label:"快递公司"},{default:n(()=>[p(r(ml(c.value.express_company)),1)]),_:1}),T((u(),g(V,{label:"备注",span:3},{default:n(()=>[p(r(c.value.remark_extra||"—"),1)]),_:1})),[[q,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(V,{label:"医助备注",span:3},{default:n(()=>[p(r(c.value.remark_assistant||"—"),1)]),_:1}),l(V,{label:"处方审核意见",span:3},{default:n(()=>[a("span",wu,r(c.value.prescription_audit_remark||"—"),1)]),_:1}),l(V,{label:"支付审核意见",span:3},{default:n(()=>[a("span",Su,r(c.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),String(c.value.tracking_number||"").trim()?(u(),g(s,{key:1,shadow:"never",class:"po-panel po-panel-logistics border-gray-100"},{header:n(()=>[...e[162]||(e[162]=[a("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)])]),default:n(()=>{var i,C,N,I,Qe,Je;return[e[168]||(e[168]=a("p",{class:"po-logistics-tip text-gray-400 text-xs mb-3 font-normal"}," 优先读库,无记录时走快递100。顺丰会校验单号+电话(快递100要求完整手机号更易通过);默认预填订单收货手机,若仍提示验证码错误请改成与顺丰面单一致的号码。 ",-1)),a("div",Vu,[l(k,{modelValue:De.value,"onUpdate:modelValue":e[25]||(e[25]=ue=>De.value=ue),clearable:"",maxlength:"20",placeholder:"收件手机(建议11位,与面单一致)",class:"po-logistics-toolbar__phone",onKeyup:Ze(Wt,["enter"])},null,8,["modelValue"]),l($,{modelValue:Ee.value,"onUpdate:modelValue":e[26]||(e[26]=ue=>Ee.value=ue),placeholder:"承运商",class:"po-logistics-toolbar__carrier"},{default:n(()=>[l(y,{label:"自动识别",value:"auto"}),l(y,{label:"顺丰速运",value:"sf"}),l(y,{label:"京东快递",value:"jd"}),l(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),T((u(),g(S,{type:"primary",plain:"",size:"default",loading:ct.value,class:"po-logistics-toolbar__btn",onClick:Wt},{icon:n(()=>[l(o,null,{default:n(()=>[l(R(oi))]),_:1})]),default:n(()=>[e[163]||(e[163]=p(" 刷新轨迹 ",-1))]),_:1},8,["loading"])),[[q,["tcm.prescriptionOrder/logisticsTrace"]]]),a("div",Nu,[l(ra,{href:Gt.value.sf,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[164]||(e[164]=[p("顺丰官网",-1)])]),_:1},8,["href"]),l(ra,{href:Gt.value.jd,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[165]||(e[165]=[p("京东物流",-1)])]),_:1},8,["href"]),l(ra,{href:Gt.value.jt,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[166]||(e[166]=[p("极兔",-1)])]),_:1},8,["href"])])]),String(((i=H.value)==null?void 0:i.hint)||"").trim()?(u(),g(le,{key:0,title:String(((C=H.value)==null?void 0:C.hint)||""),type:"info",closable:!1,class:"mb-4","show-icon":""},null,8,["title"])):v("",!0),ct.value&&!H.value?(u(),m("div",Pu,[l(o,{class:"is-loading mr-1"},{default:n(()=>[l(R(ui))]),_:1}),e[167]||(e[167]=p("正在加载物流轨迹... ",-1))])):H.value?(u(),m("div",Cu,[(N=H.value)!=null&&N.state_text?(u(),m("div",Au,[a("span",Tu,"状态:"+r(H.value.state_text),1),(I=H.value)!=null&&I.carrier_label?(u(),g(d,{key:0,size:"small",type:"info"},{default:n(()=>[p(r(H.value.carrier_label),1)]),_:1})):v("",!0),(Qe=H.value)!=null&&Qe.source?(u(),m("span",Ou," ["+r(H.value.source==="database"?"数据库缓存":"API拉取")+"] ",1)):v("",!0),(Je=H.value)!=null&&Je.last_query_time?(u(),m("span",Ru," 更新时间:"+r(H.value.last_query_time),1)):v("",!0)])):v("",!0),Ua.value.length?(u(),g(us,{key:1,class:"mt-2 pl-2"},{default:n(()=>[(u(!0),m(D,null,B(Ua.value,(ue,be)=>(u(),g(os,{key:be,type:be===0?"primary":"info",hollow:be!==0,timestamp:ue.time,placement:"top"},{default:n(()=>[a("span",{class:j(be===0?"text-gray-800 font-medium":"text-gray-500")},r(ue.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(u(),g(re,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):v("",!0)]}),_:1})):v("",!0),T((u(),g(s,{shadow:"never",class:"po-panel border-gray-100 mt-4"},{header:n(()=>[...e[169]||(e[169]=[a("span",{class:"font-medium text-[15px]"},"操作日志",-1)])]),default:n(()=>[we.value.length?(u(),g(us,{key:0,class:"mt-2 pl-2"},{default:n(()=>[(u(!0),m(D,null,B(we.value,(i,C)=>(u(),g(os,{key:i.id,type:C===0?"primary":"info",hollow:C!==0,timestamp:fe(i.create_time),placement:"top"},{default:n(()=>[a("div",Eu,[a("span",Du,r(i.admin_name),1),l(d,{size:"small",type:"info"},{default:n(()=>[p(r(_l(i.action)),1)]),_:2},1024)]),a("span",{class:j(C===0?"text-gray-800 font-medium":"text-gray-500")},r(i.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(u(),g(re,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[q,["tcm.prescriptionOrder/logs"]]])])):v("",!0)]),_:1},8,["modelValue"]),l(ce,{modelValue:$e.value,"onUpdate:modelValue":e[30]||(e[30]=i=>$e.value=i),title:"修改订单金额",width:"92%","destroy-on-close":"","close-on-click-modal":!1,onClosed:yl},{footer:n(()=>[l(S,{onClick:e[29]||(e[29]=i=>$e.value=!1)},{default:n(()=>[...e[171]||(e[171]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:Bt.value,onClick:Fa},{default:n(()=>[...e[172]||(e[172]=[p(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(F,{ref_key:"updateAmountFormRef",ref:_t,model:ie,rules:pl,"label-width":"84px",onSubmit:Ot(Fa,["prevent"])},{default:n(()=>[l(f,{label:"当前金额"},{default:n(()=>{var i;return[a("div",$u,"¥"+r(de((i=c.value)==null?void 0:i.amount)),1)]}),_:1}),l(f,{label:"新金额",prop:"amount"},{default:n(()=>[l(Ce,{modelValue:ie.amount,"onUpdate:modelValue":e[28]||(e[28]=i=>ie.amount=i),min:.01,step:.01,precision:2,"controls-position":"right",class:"w-full",placeholder:"请输入新金额"},null,8,["modelValue"])]),_:1}),e[170]||(e[170]=a("div",{class:"text-xs text-gray-400 pl-[84px] -mt-1 leading-relaxed"}," 已完成或已取消订单不可修改。提交成功后会刷新详情与操作日志。 ",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(ce,{modelValue:ve.value,"onUpdate:modelValue":e[51]||(e[51]=i=>ve.value=i),title:"编辑业务订单",width:"96%",top:"2vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog create-order-dialog--h5",onClosed:Nl},{footer:n(()=>[a("div",fd,[a("div",vd,[a("span",gd,"第 "+r(L.value+1)+" / 3 步",1),L.value===2&&M.value>0?(u(),m("span",yd," 订单金额与关联支付单合计须 ≥ ¥"+r(de(M.value)),1)):v("",!0)]),a("div",bd,[l(S,{size:"large",onClick:e[50]||(e[50]=i=>ve.value=!1)},{default:n(()=>[...e[185]||(e[185]=[p("取消",-1)])]),_:1}),L.value>0?(u(),g(S,{key:0,size:"large",onClick:Pl},{default:n(()=>[...e[186]||(e[186]=[p("上一步",-1)])]),_:1})):v("",!0),L.value<2?(u(),g(S,{key:1,type:"primary",size:"large",onClick:Cl},{default:n(()=>[...e[187]||(e[187]=[p(" 下一步 ",-1)])]),_:1})):v("",!0),L.value===2?(u(),g(S,{key:2,type:"primary",size:"large",loading:Jt.value,onClick:Tl},{default:n(()=>[...e[188]||(e[188]=[p(" 确认保存 ",-1)])]),_:1},8,["loading"])):v("",!0)])])]),default:n(()=>[T((u(),m("div",Uu,[se.value?(u(),m("div",zu,[a("div",Fu,[e[173]||(e[173]=a("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),a("div",Iu,[a("span",ju,"#"+r(se.value.id),1),se.value.sn?(u(),m("span",Lu,r(se.value.sn),1)):v("",!0),a("span",qu,r(se.value.patient_name||"—"),1)])]),l(ds,{content:ja.value,placement:"bottom","show-after":300},{default:n(()=>[a("div",Mu,r(ja.value),1)]),_:1},8,["content"])])):v("",!0),l(Ke,{active:L.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:n(()=>[l(oe,{title:"患者与收货",description:"诊单与物流地址"}),l(oe,{title:"服务与支付单",description:"套餐与关联收款"}),l(oe,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),a("p",Bu,r(kl.value),1),l(F,{ref_key:"editFormRef",ref:Se,model:_,rules:Vl.value,"label-width":"108px",class:"create-order-form"},{default:n(()=>[T(a("div",Hu,[l(pe,{gutter:20},{default:n(()=>[l(E,{span:12},{default:n(()=>[l(f,{label:"收货人",prop:"recipient_name"},{default:n(()=>[l(k,{modelValue:_.recipient_name,"onUpdate:modelValue":e[31]||(e[31]=i=>_.recipient_name=i),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:"收货手机",prop:"recipient_phone"},{default:n(()=>[l(k,{modelValue:_.recipient_phone,"onUpdate:modelValue":e[32]||(e[32]=i=>_.recipient_phone=i),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{span:24},{default:n(()=>[l(f,{label:"省市区",prop:"region"},{default:n(()=>[l(pn,{modelValue:_.region,"onUpdate:modelValue":e[33]||(e[33]=i=>_.region=i),options:et.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),l(E,{span:24},{default:n(()=>[l(f,{label:"详细地址",prop:"shipping_address"},{default:n(()=>[l(k,{modelValue:_.shipping_address,"onUpdate:modelValue":e[34]||(e[34]=i=>_.shipping_address=i),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Tt,L.value===0]]),T(a("div",Gu,[me.value?(u(),g(pe,{key:0,gutter:20,class:"mb-1"},{default:n(()=>[l(E,{span:24},{default:n(()=>[a("div",Wu,[e[176]||(e[176]=a("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),_.prescription_id?(u(),g(S,{key:0,type:"primary",size:"small",link:"",onClick:rn},{default:n(()=>[...e[174]||(e[174]=[p(" 详细 ",-1)])]),_:1})):v("",!0),_.id?(u(),g(S,{key:1,type:"warning",size:"small",link:"",loading:Ne.value,icon:R(da),onClick:$l},{default:n(()=>[...e[175]||(e[175]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0),a("span",Ku,"ID: "+r(_.prescription_id||"—"),1)]),a("div",Yu,[La.value.length?(u(),m("div",Qu,[e[177]||(e[177]=a("div",{class:"text-gray-500"},"创建人所属部门",-1)),(u(!0),m(D,null,B(La.value,(i,C)=>(u(),m("div",{key:C,class:"pl-0 min-w-0"},[i.length?(u(),g(_n,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:n(()=>[(u(!0),m(D,null,B(i,(N,I)=>(u(),g(cn,{key:I},{default:n(()=>[a("span",Ju,r(N),1)]),_:2},1024))),128))]),_:2},1024)):v("",!0)]))),128))])):(u(),m("div",Xu,"创建人所属部门:—"))])]),_:1}),l(E,{xs:24,sm:8},{default:n(()=>[l(f,{label:"复诊"},{default:n(()=>[l(mn,{modelValue:_.is_follow_up,"onUpdate:modelValue":e[35]||(e[35]=i=>_.is_follow_up=i),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{xs:24,sm:8},{default:n(()=>[l(f,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:n(()=>[a("div",Zu,[l(Ce,{modelValue:_.medication_days,"onUpdate:modelValue":e[36]||(e[36]=i=>_.medication_days=i),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[178]||(e[178]=a("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),l(E,{xs:24,sm:8},{default:n(()=>[l(f,{label:"上次医生"},{default:n(()=>[l(k,{modelValue:_.prev_staff,"onUpdate:modelValue":e[37]||(e[37]=i=>_.prev_staff=i),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:Ea.value,prop:"dose_count"},{default:n(()=>[l(Ce,{modelValue:_.dose_count,"onUpdate:modelValue":e[38]||(e[38]=i=>_.dose_count=i),min:1,placeholder:Ea.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:"剂量单位",prop:"dose_unit"},{default:n(()=>[l($,{modelValue:_.dose_unit,"onUpdate:modelValue":e[39]||(e[39]=i=>_.dose_unit=i),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(y,{label:"剂",value:"剂"}),l(y,{label:"丸",value:"丸"}),l(y,{label:"袋",value:"袋"}),l(y,{label:"盒",value:"盒"}),l(y,{label:"瓶",value:"瓶"}),l(y,{label:"膏",value:"膏"}),l(y,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):v("",!0),l(pe,{gutter:20},{default:n(()=>[l(E,{span:12},{default:n(()=>[l(f,{label:"服务渠道"},{default:n(()=>[l(k,{modelValue:_.service_channel,"onUpdate:modelValue":e[40]||(e[40]=i=>_.service_channel=i),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:"服务套餐"},{default:n(()=>[l($,{modelValue:_.service_package,"onUpdate:modelValue":e[41]||(e[41]=i=>_.service_package=i),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:n(()=>[(u(!0),m(D,null,B(Te.value,i=>(u(),g(y,{key:i.value,label:i.name,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(E,{span:24},{default:n(()=>[l(f,{label:"物流设置"},{default:n(()=>[a("div",ed,[l($,{modelValue:_.express_company,"onUpdate:modelValue":e[42]||(e[42]=i=>_.express_company=i),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(y,{label:"自动识别",value:"auto"}),l(y,{label:"顺丰速运",value:"sf"}),l(y,{label:"京东快递",value:"jd"}),l(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(k,{modelValue:_.tracking_number,"onUpdate:modelValue":e[43]||(e[43]=i=>_.tracking_number=i),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),l(E,{span:24},{default:n(()=>[l(f,{label:"关联支付单",prop:"pay_order_ids",required:M.value>0},{default:n(()=>[l($,{modelValue:_.pay_order_ids,"onUpdate:modelValue":e[44]||(e[44]=i=>_.pay_order_ids=i),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:M.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Xt.value},{default:n(()=>[(u(!0),m(D,null,B(ze.value,i=>(u(),g(y,{key:i.id,label:`${i.order_no} · ¥${i.amount} · ${Zt(i.order_type)}`,value:i.id,class:"!h-auto py-1.5"},{default:n(()=>[a("div",td,[a("div",ad,[a("span",sd,r(i.order_no),1),a("span",ld,"¥"+r(i.amount),1)]),a("div",nd,[a("span",id,[p(r(Zt(i.order_type)),1),i.remark?(u(),m(D,{key:0},[p(" · "+r(i.remark),1)],64)):v("",!0)]),a("span",rd,r(String(i.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),a("div",od,[M.value>0?(u(),m(D,{key:0},[a("span",ud,"当前已开启关联支付门槛(¥"+r(de(M.value))+"),须至少选择一笔支付单。",1),e[179]||(e[179]=a("span",{class:"mx-1"},null,-1))],64)):v("",!0),e[181]||(e[181]=p(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),l(ds,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:n(()=>[...e[180]||(e[180]=[a("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1},8,["required"])]),_:1})]),_:1})],512),[[Tt,L.value===1]]),T(a("div",dd,[a("div",{class:j(["create-order-deposit-bar",ea.value>=M.value?"is-ok":"is-warn"])},[a("div",pd,[e[182]||(e[182]=a("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),a("strong",null,"¥"+r(de(M.value)),1),a("span",cd,r(M.value>0?"须 ≥ 此值":"未设置"),1)]),e[184]||(e[184]=a("div",{class:"create-order-deposit-bar__sep"},null,-1)),a("div",_d,[e[183]||(e[183]=a("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),a("strong",null,"¥"+r(de(ea.value)),1),a("span",md,r(ea.value>=M.value?"已达标":"未达标"),1)])],2),l(pe,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:n(()=>[l(E,{span:12},{default:n(()=>[l(f,{label:"费用类别",prop:"fee_type"},{default:n(()=>[l($,{modelValue:_.fee_type,"onUpdate:modelValue":e[45]||(e[45]=i=>_.fee_type=i),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(y,{label:"挂号费",value:1}),l(y,{label:"问诊费",value:2}),l(y,{label:"药品费用",value:3}),l(y,{label:"首付费用",value:4}),l(y,{label:"尾款费用",value:5}),l(y,{label:"其他费用",value:6}),l(y,{label:"全部费用",value:7}),l(y,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:"总金额",prop:"amount"},{default:n(()=>[l(Ce,{modelValue:_.amount,"onUpdate:modelValue":e[46]||(e[46]=i=>_.amount=i),min:wl.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),T((u(),g(E,{span:12},{default:n(()=>[l(f,{label:"内部成本"},{default:n(()=>[l(Ce,{modelValue:_.internal_cost,"onUpdate:modelValue":e[47]||(e[47]=i=>_.internal_cost=i),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[q,["finance.account_log/lists"]]]),l(E,{span:24},{default:n(()=>[T((u(),g(f,{label:"药房备注"},{default:n(()=>[l(k,{modelValue:_.remark_extra,"onUpdate:modelValue":e[48]||(e[48]=i=>_.remark_extra=i),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[q,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(f,{label:"医助备注"},{default:n(()=>[l(k,{modelValue:_.remark_assistant,"onUpdate:modelValue":e[49]||(e[49]=i=>_.remark_assistant=i),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Tt,L.value===2]])]),_:1},8,["model","rules"])])),[[ye,Qt.value]])]),_:1},8,["modelValue"]),l(ce,{modelValue:Fe.value,"onUpdate:modelValue":e[56]||(e[56]=i=>Fe.value=i),title:Ol.value,width:"92%","destroy-on-close":"",class:"po-h5-dialog",onClosed:e[57]||(e[57]=i=>Ve.value="")},{footer:n(()=>[l(S,{onClick:e[53]||(e[53]=i=>Fe.value=!1)},{default:n(()=>[...e[190]||(e[190]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:ft.value,onClick:e[54]||(e[54]=i=>Ma("approve"))},{default:n(()=>[...e[191]||(e[191]=[p("同意通过",-1)])]),_:1},8,["loading"]),l(S,{type:"danger",loading:ft.value,onClick:e[55]||(e[55]=i=>Ma("reject"))},{default:n(()=>[...e[192]||(e[192]=[p("驳回阻止",-1)])]),_:1},8,["loading"])]),default:n(()=>[Ie.value&&Ie.value.completion_request===1?(u(),g(le,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:n(()=>[a("div",xd,[e[189]||(e[189]=a("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),a("div",kd," 申请人:"+r(Ie.value.completion_request_by_name||"—"),1),a("div",hd," 申请时间:"+r(fe(Ie.value.completion_request_time)),1)])]),_:1})):v("",!0),e[193]||(e[193]=a("p",{class:"text-[13px] text-gray-500 mb-3 bg-gray-50/80 border border-gray-100 p-2 rounded"},"驳回时必须填写意见;通过时意见选填。",-1)),l(k,{modelValue:Ve.value,"onUpdate:modelValue":e[52]||(e[52]=i=>Ve.value=i),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),l(ce,{modelValue:je.value,"onUpdate:modelValue":e[61]||(e[61]=i=>je.value=i),title:"修改快递单号",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:n(()=>[l(S,{onClick:e[60]||(e[60]=i=>je.value=!1)},{default:n(()=>[...e[195]||(e[195]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:gt.value,onClick:Ga},{default:n(()=>[...e[196]||(e[196]=[p("保存单号",-1)])]),_:1},8,["loading"])]),default:n(()=>[T((u(),g(F,{"label-width":"90px",class:"pr-2",onSubmit:Ot(Ga,["prevent"])},{default:n(()=>[l(f,{label:"承运商"},{default:n(()=>[l($,{modelValue:Z.express_company,"onUpdate:modelValue":e[58]||(e[58]=i=>Z.express_company=i),class:"w-full",placeholder:"选择承运商"},{default:n(()=>[l(y,{label:"自动识别",value:"auto"}),l(y,{label:"顺丰速运",value:"sf"}),l(y,{label:"京东快递",value:"jd"}),l(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"快递单号"},{default:n(()=>[l(k,{modelValue:Z.tracking_number,"onUpdate:modelValue":e[59]||(e[59]=i=>Z.tracking_number=i),maxlength:"80",placeholder:"请输入快递单号",clearable:"",autofocus:""},null,8,["modelValue"])]),_:1}),e[194]||(e[194]=a("div",{class:"text-xs text-gray-400 pl-[90px] -mt-1 leading-relaxed"}," 仅更新快递信息,其他字段不受影响。 ",-1))]),_:1})),[[ye,gt.value]])]),_:1},8,["modelValue"]),l(ce,{modelValue:qe.value,"onUpdate:modelValue":e[66]||(e[66]=i=>qe.value=i),title:"确认发货",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:n(()=>[l(S,{onClick:e[65]||(e[65]=i=>qe.value=!1)},{default:n(()=>[...e[199]||(e[199]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:yt.value,onClick:Wa},{default:n(()=>[...e[200]||(e[200]=[p(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(le,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),T((u(),g(F,{"label-width":"90px",class:"pr-2",onSubmit:Ot(Wa,["prevent"])},{default:n(()=>[l(f,{label:"发货方式"},{default:n(()=>[l(ua,{modelValue:Y.ship_mode,"onUpdate:modelValue":e[62]||(e[62]=i=>Y.ship_mode=i)},{default:n(()=>[l(Ae,{label:"gancao"},{default:n(()=>[...e[197]||(e[197]=[p("甘草药方发",-1)])]),_:1}),l(Ae,{label:"direct"},{default:n(()=>[...e[198]||(e[198]=[p("药房直发",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"承运商"},{default:n(()=>[l($,{modelValue:Y.express_company,"onUpdate:modelValue":e[63]||(e[63]=i=>Y.express_company=i),class:"w-full"},{default:n(()=>[l(y,{label:"自动识别",value:"auto"}),l(y,{label:"顺丰速运",value:"sf"}),l(y,{label:"京东快递",value:"jd"}),l(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"快递单号"},{default:n(()=>[l(k,{modelValue:Y.tracking_number,"onUpdate:modelValue":e[64]||(e[64]=i=>Y.tracking_number=i),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[ye,yt.value]])]),_:1},8,["modelValue"]),l(ce,{modelValue:Me.value,"onUpdate:modelValue":e[69]||(e[69]=i=>Me.value=i),title:"完成订单",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:e[70]||(e[70]=i=>sa.value=0)},{footer:n(()=>[l(S,{onClick:e[68]||(e[68]=i=>Me.value=!1)},{default:n(()=>[...e[201]||(e[201]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:la.value,onClick:jl},{default:n(()=>[...e[202]||(e[202]=[p(" 确定 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[e[203]||(e[203]=a("p",{class:"text-sm text-gray-600 mb-3"},"请选择本单结案状态。选择「已完成」时,实付将按已关联的支付单金额汇总。",-1)),l($,{modelValue:xt.value,"onUpdate:modelValue":e[67]||(e[67]=i=>xt.value=i),class:"w-full",placeholder:"请选择"},{default:n(()=>[(u(),m(D,null,B(Il,i=>l(y,{key:i.value,label:i.label,value:i.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"]),l(ce,{modelValue:Be.value,"onUpdate:modelValue":e[78]||(e[78]=i=>Be.value=i),title:"补齐支付单",width:"94%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:e[79]||(e[79]=i=>{var C;return(C=ht.value)==null?void 0:C.clearValidate()})},{footer:n(()=>[l(S,{onClick:e[77]||(e[77]=i=>Be.value=!1)},{default:n(()=>[...e[210]||(e[210]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:kt.value,onClick:Ml},{default:n(()=>[...e[211]||(e[211]=[p("确认新增",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(le,{title:"可以手动创建新支付单,或关联已存在但未绑定的支付单。",type:"info",closable:!1,"show-icon":"",class:"mb-4"}),T((u(),g(F,{ref_key:"addPayOrderFormRef",ref:ht,model:O,rules:Ll,"label-width":"90px",class:"pr-2"},{default:n(()=>[l(f,{label:"添加方式",prop:"add_mode"},{default:n(()=>[l(ua,{modelValue:O.add_mode,"onUpdate:modelValue":e[71]||(e[71]=i=>O.add_mode=i)},{default:n(()=>[l(Ae,{value:"create"},{default:n(()=>[...e[204]||(e[204]=[p("手动创建",-1)])]),_:1}),l(Ae,{value:"link"},{default:n(()=>[...e[205]||(e[205]=[p("关联已有",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),O.add_mode==="create"?(u(),m(D,{key:0},[l(f,{label:"费用类别",prop:"order_type"},{default:n(()=>[l($,{modelValue:O.order_type,"onUpdate:modelValue":e[72]||(e[72]=i=>O.order_type=i),class:"w-full"},{default:n(()=>[l(y,{label:"挂号费",value:1}),l(y,{label:"问诊费",value:2}),l(y,{label:"药品费用",value:3}),l(y,{label:"首付费用",value:4}),l(y,{label:"尾款费用",value:5}),l(y,{label:"其他费用",value:6}),l(y,{label:"全部费用",value:7}),l(y,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"支付金额",prop:"pay_amount"},{default:n(()=>[l(Ce,{modelValue:O.pay_amount,"onUpdate:modelValue":e[73]||(e[73]=i=>O.pay_amount=i),min:.01,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元)"},null,8,["modelValue"])]),_:1}),l(f,{label:"备注",prop:"pay_remark"},{default:n(()=>[l(k,{modelValue:O.pay_remark,"onUpdate:modelValue":e[74]||(e[74]=i=>O.pay_remark=i),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):(u(),g(f,{key:1,label:"选择支付单",prop:"link_pay_order_id"},{default:n(()=>[l($,{modelValue:O.link_pay_order_ids,"onUpdate:modelValue":e[75]||(e[75]=i=>O.link_pay_order_ids=i),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:na.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:n(()=>[(u(!0),m(D,null,B(wt.value,i=>(u(),g(y,{key:i.id,label:`${i.order_no} · ¥${i.amount} · ${Zt(i.order_type)}`,value:i.id},{default:n(()=>[a("div",wd,[a("span",Sd,r(i.order_no),1),a("span",Vd,"¥"+r(i.amount),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[206]||(e[206]=a("div",{class:"text-xs text-gray-500 mt-1.5"}," 仅显示本诊单下未被其他业务订单占用的支付单,可同时选择多个 ",-1))]),_:1})),l(f,{label:"完单申请"},{default:n(()=>[l(ua,{modelValue:O.completion_request,"onUpdate:modelValue":e[76]||(e[76]=i=>O.completion_request=i)},{default:n(()=>[l(Ae,{value:0},{default:n(()=>[...e[207]||(e[207]=[p("不申请",-1)])]),_:1}),l(Ae,{value:1},{default:n(()=>[...e[208]||(e[208]=[p("申请完成订单",-1)])]),_:1})]),_:1},8,["modelValue"]),e[209]||(e[209]=a("div",{class:"text-xs text-gray-400 mt-1"},' 选择"申请完成订单"后,审核人员可在支付审核时看到此申请 ',-1))]),_:1})]),_:1},8,["model"])),[[ye,kt.value]])]),_:1},8,["modelValue"]),l(ce,{modelValue:Ue.value,"onUpdate:modelValue":e[83]||(e[83]=i=>Ue.value=i),title:"修改处方患者信息",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:gl},{footer:n(()=>[l(S,{onClick:e[82]||(e[82]=i=>Ue.value=!1)},{default:n(()=>[...e[212]||(e[212]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:Kt.value,onClick:xl},{default:n(()=>[...e[213]||(e[213]=[p(" 保存 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(F,{ref_key:"patchRxPatientFormRef",ref:Yt,model:ae,rules:fl,"label-width":"96px"},{default:n(()=>[l(f,{label:"患者姓名",prop:"patient_name"},{default:n(()=>[l(k,{modelValue:ae.patient_name,"onUpdate:modelValue":e[80]||(e[80]=i=>ae.patient_name=i),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),l(f,{label:"手机",prop:"phone"},{default:n(()=>[l(k,{modelValue:ae.phone,"onUpdate:modelValue":e[81]||(e[81]=i=>ae.phone=i),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(oa,{modelValue:St.value,"onUpdate:modelValue":e[84]||(e[84]=i=>St.value=i),size:"100%",direction:"btt",class:"po-h5-drawer","close-on-click-modal":!1},{header:n(()=>[a("div",Nd,[e[216]||(e[216]=a("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),h.value&&!Vt.value?(u(),m("div",Pd,[l(S,{size:"small",loading:Pe.value,onClick:un},{default:n(()=>[...e[214]||(e[214]=[p(" 下载图片 ",-1)])]),_:1},8,["loading"]),l(S,{size:"small",loading:Pe.value,onClick:dn},{default:n(()=>[...e[215]||(e[215]=[p(" 下载PDF ",-1)])]),_:1},8,["loading"])])):v("",!0)])]),default:n(()=>[T((u(),m("div",Cd,[h.value?(u(),m("div",Ad,[Number(h.value.void_status)===1?(u(),g(d,{key:0,type:"danger",size:"small"},{default:n(()=>[...e[217]||(e[217]=[p("已作废",-1)])]),_:1})):Number(h.value.business_prescription_audit_rejected)===1?(u(),g(d,{key:1,type:"danger",size:"small"},{default:n(()=>[...e[218]||(e[218]=[p("业务订单已驳回",-1)])]),_:1})):Number(h.value.audit_status)===1?(u(),g(d,{key:2,type:"success",size:"small"},{default:n(()=>[...e[219]||(e[219]=[p("已通过",-1)])]),_:1})):Number(h.value.audit_status)===0?(u(),g(d,{key:3,type:"warning",size:"small"},{default:n(()=>[...e[220]||(e[220]=[p("待审核",-1)])]),_:1})):(u(),g(d,{key:4,type:"danger",size:"small"},{default:n(()=>[...e[221]||(e[221]=[p("已驳回",-1)])]),_:1}))])):v("",!0),h.value&&Number(h.value.void_status)===1?(u(),m("div",Td," 作废人:"+r(h.value.void_by_name||"—")+",作废时间:"+r(sn(h.value.void_time)),1)):h.value&&Number(h.value.business_prescription_audit_rejected)===1?(u(),m("div",Od,[e[222]||(e[222]=a("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),h.value.business_prescription_audit_remark?(u(),m("div",Rd," 驳回意见:"+r(h.value.business_prescription_audit_remark),1)):v("",!0)])):h.value&&Number(h.value.audit_status)===2?(u(),m("div",Ed,[e[223]||(e[223]=a("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),h.value.audit_remark?(u(),m("div",Dd,"驳回意见:"+r(h.value.audit_remark),1)):v("",!0)])):v("",!0),h.value?(u(),m("div",{key:4,ref_key:"prescriptionSlipPrintRef",ref:Qa,class:"rx-paper"},[a("div",{class:"rx-title"},r(Gl)),a("div",$d,[e[228]||(e[228]=a("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),a("div",Ud,[a("div",zd,[e[224]||(e[224]=a("span",{class:"rx-meta-label"},"日期",-1)),a("span",Fd,r(Kl.value),1)]),a("div",Id,[e[225]||(e[225]=a("span",{class:"rx-meta-label"},"处方编号",-1)),a("span",jd,r(Yl.value),1)]),a("div",Ld,[e[226]||(e[226]=a("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),a("span",qd,r(Ql.value),1)]),Ja.value?(u(),m("div",Md,[e[227]||(e[227]=a("span",{class:"rx-meta-label"},"业务单号",-1)),a("span",Bd,r(Ja.value),1)])):v("",!0)])]),a("div",Hd,[a("div",Gd,[a("div",Wd,[e[229]||(e[229]=a("span",{class:"rx-key"},"姓名",-1)),a("span",Kd,r(h.value.patient_name||"—"),1)]),a("div",Yd,[e[230]||(e[230]=a("span",{class:"rx-key"},"性别",-1)),a("span",Qd,r(ln(h.value.gender)),1)]),a("div",Jd,[e[231]||(e[231]=a("span",{class:"rx-key"},"年龄",-1)),a("span",Xd,r(nn(h.value.age)),1)]),a("div",Zd,[e[232]||(e[232]=a("span",{class:"rx-key"},"电话",-1)),a("span",ep,r(h.value.phone||h.value.recipient_phone||"—"),1)])]),a("div",tp,[a("div",ap,[e[233]||(e[233]=a("span",{class:"rx-key"},"收件信息",-1)),a("span",sp,r(Jl.value),1)])]),a("div",lp,[a("div",np,[e[234]||(e[234]=a("span",{class:"rx-key"},"临床诊断",-1)),a("span",ip,r(h.value.clinical_diagnosis||"—"),1)])])]),a("div",rp,[e[235]||(e[235]=a("div",{class:"rx-watermark"},"药房联",-1)),e[236]||(e[236]=a("div",{class:"rx-rp-head"},[a("div",{class:"rx-rp-label"},"Rp."),a("div",{class:"rx-rp-cols-head"},[a("div",{class:"rx-rp-col-head"},[a("span",null,"用药 (单剂)"),a("span",null,"总量")]),a("div",{class:"rx-rp-col-head"},[a("span",null,"用药 (单剂)"),a("span",null,"总量")])])],-1)),a("div",op,[(u(!0),m(D,null,B(Nt.value,(i,C)=>(u(),m("div",{key:C,class:"rx-herb-cell"},[a("span",up,r(i.name)+" ("+r(i.dosage)+"克)",1),a("span",dp,r(Zl(i.dosage))+"克",1)]))),128))])]),a("div",pp,[a("p",null,"服法:"+r(tn.value),1),Za.value?(u(),m("p",cp,"医嘱:"+r(Za.value),1)):v("",!0),es.value?(u(),m("p",_p,"备注:"+r(es.value),1)):v("",!0),ts.value?(u(),m("p",mp," 药房备注:"+r(ts.value),1)):v("",!0),as.value?(u(),m("p",fp," 出丸:"+r(as.value),1)):v("",!0)]),a("div",vp,[a("div",gp,[a("div",yp,[e[237]||(e[237]=a("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),a("div",bp,[h.value.doctor_signature?(u(),m("img",{key:0,src:h.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,xp)):v("",!0)])]),a("div",kp,[e[238]||(e[238]=a("span",{class:"rx-bot-meta-key"},"类型:",-1)),a("span",hp,r(en.value),1)]),a("div",wp,[e[239]||(e[239]=a("span",{class:"rx-bot-meta-key"},"天数:",-1)),a("span",Sp,r(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)]),a("div",Vp,[e[240]||(e[240]=a("span",{class:"rx-bot-meta-key"},"剂量:",-1)),a("span",Np,r(Xl.value)+"克",1)])])]),e[241]||(e[241]=a("div",{class:"rx-bot-row rx-hospital-row"},[a("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),a("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512)):v("",!0),h.value&&(h.value.audit_by_name||h.value.audit_remark)?(u(),m("div",Pp,[h.value.audit_by_name?(u(),m("div",Cp,[p(" 审核人:"+r(h.value.audit_by_name)+" ",1),h.value.audit_time?(u(),m("span",Ap,r(ss(h.value.audit_time)),1)):v("",!0)])):v("",!0),h.value.audit_remark?(u(),m("div",Tp,"审核意见:"+r(h.value.audit_remark),1)):v("",!0)])):v("",!0)])),[[ye,Vt.value]])]),_:1},8,["modelValue"]),l(oa,{modelValue:vt.value,"onUpdate:modelValue":e[85]||(e[85]=i=>vt.value=i),title:"甘草预下单测试结果",size:"100%",direction:"btt",class:"po-h5-drawer","destroy-on-close":""},{default:n(()=>{var i,C;return[z.value?(u(),m("div",Op,[l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[a("div",Rp,[e[243]||(e[243]=a("span",{class:"font-semibold"},"价格信息",-1)),l(d,{type:"success"},{default:n(()=>[...e[242]||(e[242]=[p("预下单成功",-1)])]),_:1})])]),default:n(()=>[l(Ye,{column:2,border:""},{default:n(()=>[l(V,{label:"药材成本"},{default:n(()=>{var N;return[a("span",Ep,"¥"+r(((N=z.value.fee)==null?void 0:N.m_cost)||"0.00"),1)]}),_:1}),l(V,{label:"制作费"},{default:n(()=>{var N;return[a("span",Dp,"¥"+r((((N=z.value.fee)==null?void 0:N.proces_cost)||0).toFixed(2)),1)]}),_:1}),l(V,{label:"物流费"},{default:n(()=>{var N;return[a("span",$p,"¥"+r((((N=z.value.fee)==null?void 0:N.lis_cost)||0).toFixed(2)),1)]}),_:1}),l(V,{label:"总计"},{default:n(()=>[a("div",null,[a("span",Up," ¥"+r(Ha(z.value.fee)),1),T((u(),m("div",zp,[e[244]||(e[244]=p(" 占订单总金额: ",-1)),a("span",Fp,r(El(z.value.fee,z.value.amount)),1),z.value.amount>0?(u(),m("span",Ip,"%(预报价 ÷ 订单金额 × 100)")):v("",!0)])),[[q,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[...e[245]||(e[245]=[a("span",{class:"font-semibold"},"配送信息",-1)])]),default:n(()=>[l(Ye,{column:2,border:""},{default:n(()=>[l(V,{label:"调配中心"},{default:n(()=>{var N;return[p(r(((N=z.value.result)==null?void 0:N.ds_name)||"—"),1)]}),_:1}),l(V,{label:"调配中心ID"},{default:n(()=>{var N;return[p(r(((N=z.value.result)==null?void 0:N.ds_id)||"—"),1)]}),_:1}),l(V,{label:"服用天数范围",span:2},{default:n(()=>{var N,I,Qe,Je,ue,be;return[p(r(((I=(N=z.value.result)==null?void 0:N.take_days)==null?void 0:I.min)||"—")+" - "+r(((Je=(Qe=z.value.result)==null?void 0:Qe.take_days)==null?void 0:Je.max)||"—")+" 天 (默认: "+r(((be=(ue=z.value.result)==null?void 0:ue.take_days)==null?void 0:be.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(C=(i=z.value.result)==null?void 0:i.rule_check)!=null&&C.length?(u(),g(s,{key:0,shadow:"never",class:"mb-4"},{header:n(()=>[...e[246]||(e[246]=[a("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:n(()=>[a("div",jp,r(z.value.result.rule_check.map(N=>N.msg).join(" ")),1)]),_:1})):v("",!0),l(s,{shadow:"never"},{header:n(()=>{var N,I;return[a("div",Lp,[e[247]||(e[247]=a("span",{class:"font-semibold"},"药材明细",-1)),a("span",qp,"共 "+r(((I=(N=z.value.result)==null?void 0:N.m_list)==null?void 0:I.length)||0)+" 味药",1)])]}),default:n(()=>{var N;return[l(At,{data:((N=z.value.result)==null?void 0:N.m_list)||[],border:"",stripe:"","max-height":"400"},{default:n(()=>[l(U,{type:"index",label:"#",width:"50",align:"center"}),l(U,{prop:"title",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),l(U,{prop:"quantity",label:"用量",width:"80",align:"right"},{default:n(({row:I})=>[p(r(I.quantity)+r(I.unit),1)]),_:1}),l(U,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:n(({row:I})=>[p(" ¥"+r(Number(I.price).toFixed(4)),1)]),_:1}),l(U,{label:"小计",width:"100",align:"right"},{default:n(({row:I})=>[a("span",Mp," ¥"+r((Number(I.price)*Number(I.quantity)).toFixed(2)),1)]),_:1}),l(U,{prop:"is_available",label:"库存状态",width:"100",align:"center"},{default:n(({row:I})=>[l(d,{type:I.is_available===1?"success":"danger",size:"small"},{default:n(()=>[p(r(I.is_available===1?"有货":"缺货"),1)]),_:2},1032,["type"])]),_:1}),l(U,{prop:"brief",label:"备注","min-width":"120","show-overflow-tooltip":""})]),_:1},8,["data"])]}),_:1}),l(s,{shadow:"never",class:"mt-4"},{header:n(()=>[...e[248]||(e[248]=[a("span",{class:"font-semibold"},"订单信息",-1)])]),default:n(()=>[l(Ye,{column:2,border:""},{default:n(()=>[l(V,{label:"订单号",span:2},{default:n(()=>[p(r(z.value.order_no||"—"),1)]),_:1}),l(V,{label:"剂数"},{default:n(()=>[a("span",Bp,r(z.value.dose_count||"—")+"剂",1)]),_:1}),l(V,{label:"单剂量"},{default:n(()=>{var N;return[a("span",Hp,r(Dl((N=z.value.result)==null?void 0:N.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):v("",!0)]}),_:1},8,["modelValue"]),l(R(vs),{ref_key:"diagnosisViewRef",ref:ca},null,512)])}}}),Ic=Ri(Wp,[["__scopeId","data-v-fa902c3c"]]);export{Ic as default};
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-Bqsg8jkl.js","assets/element-plus-lurTijPg.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-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-tCkhN6ch.js","assets/index-DF1MLuL8.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-cWYbZtDX.css","assets/perm-DJQOTKtE.js","assets/DailyMatrix-Bv0ZDAsS.js","assets/picker-BPfrB1Pn.js","assets/index-CnpV87Ke.js","assets/index-B3imPWFk.css","assets/index-BP_YKY_y.js","assets/index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js","assets/index-mDy9ToMf.js","assets/index-D0f1Mn00.css","assets/index-_ERDssCQ.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BdGKYRpa.js","assets/index.vue_vue_type_script_setup_true_lang-SfFZFG0h.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-DFW8NrDC.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-GHq4gyBb.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-DhY-d8bi.js","assets/RecordingPlaybackBlock-CszaDVIP.js","assets/RecordingVideoPlayer-Bgdabd2n.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-B3gJp5ia.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CJoC4wHm.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-Cb1bEIBY.js","assets/doctor-Lmz4K3Qd.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-WlJtu4cF.js","assets/patient-CU85GrfB.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-BT6MFGZ3.js","assets/PatientOrderList-Dx28GIXs.css","assets/index-B37DCCed.js","assets/index-BP9srYoP.js","assets/medicine-Thom1b2D.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-j-ocBozB.css","assets/edit-B0YJchTk.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]);
+import{_ as fn,E as vn}from"./jspdf-BsthCvR5.js";import{J as gn,d as yn,L as bn,T as xn,D as kn,B as hn,C as wn,P as Sn,Q as Vn,Z as Nn,i as Pn,W as Cn,p as An,n as Tn,o as On,a9 as Rn,K as En,a6 as Dn,a7 as $n,a4 as Un,a5 as zn,aa as Fn,ab as In,M as jn,N as Ln,S as qn,ac as Mn,ad as Bn,e as Hn,h as Gn,V as Wn,r as Kn,a8 as Yn,k as Qn,j as Jn,g as Xn,G as Zn,I as ei,a as Xe}from"./element-plus-lurTijPg.js";import{_ as ti}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{w as Ze,q as Tt,s as Ot}from"./@vue/runtime-dom-DDAG46FW.js";import{k as ai,G as si,R as li,V as ni,N as da,e as ps,i as ii,X as ri,L as oi,l as ui}from"./@element-plus/icons-vue-HOEUG8sr.js";import{_ as di}from"./index.vue_vue_type_script_setup_true_lang-BL8k8rcl.js";import{g as pi,a as ci,l as _i,t as mi,v as fi,w as vi,u as ee,x as cs,y as gi,z as yi,A as bi,B as _s,C as xi,D as ki,E as hi,G as wi,H as Si,I as Vi,J as Ni,c as Pi,b as pa,s as Ci}from"./tcm-tCkhN6ch.js";import Ai from"./html2canvas-QH1iLAAe.js";import{u as Ti,i as A,m as Oi,_ as Ri}from"./index-DF1MLuL8.js";import{d as Ei}from"./department-DPN8piBw.js";import{u as Di}from"./usePaging-VsbTxSU0.js";import{f as fs,w as ms,b as $i,as as Ui,ak as u,I as m,J as a,a as l,aN as n,F as D,ap as B,H as v,aP as T,O as p,G as g,P as zi,A as w,n as Rt}from"./@vue/runtime-core-C6bnekPw.js";import{o as j,Q as r}from"./@vue/shared-mAAVTE9n.js";import{y as R,a as Fi,n as x,r as xe}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 Ii={class:"prescription-order-page prescription-order-list prescription-order-h5 po-h5-app"},ji={class:"flex flex-col gap-3"},Li={key:0,class:"flex items-center gap-2 flex-wrap"},qi=["onClick"],Mi={class:"font-medium"},Bi={class:"flex items-center gap-2 flex-wrap"},Hi=["onClick"],Gi={class:"font-medium"},Wi={class:"flex items-center gap-2 flex-wrap"},Ki=["onClick"],Yi={class:"font-medium"},Qi={class:"flex items-center gap-2 flex-wrap"},Ji=["onClick"],Xi={class:"font-medium"},Zi={class:"flex items-center gap-2 flex-wrap"},er=["onClick"],tr={class:"font-medium"},ar={class:"po-list-stats grid grid-cols-1 sm:grid-cols-2 gap-4 mb-5"},sr={class:"po-stat-surface po-stat-surface--order relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},lr={class:"relative flex items-start justify-between gap-3"},nr={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},ir={class:"mt-2 space-y-1.5 min-w-0"},rr={class:"text-2xl sm:text-[28px] font-bold text-sky-700 tabular-nums leading-none"},or={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},ur={class:"text-slate-400"},dr={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-sky-500/10 flex items-center justify-center text-sky-600"},pr={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},cr={class:"po-stat-surface po-stat-surface--pay relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},_r={class:"relative flex items-start justify-between gap-3"},mr={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},fr={class:"mt-2 space-y-1.5 min-w-0"},vr={class:"text-2xl sm:text-[28px] font-bold text-emerald-700 tabular-nums leading-none"},gr={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},yr={class:"text-slate-400"},br={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-emerald-500/10 flex items-center justify-center text-emerald-600"},xr={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},kr={class:"po-filter-toggle__label"},hr={class:"po-h5-list-head"},wr={class:"po-table-toolbar"},Sr={class:"po-table-toolbar__title-wrap"},Vr={class:"po-table-hint text-gray-400"},Nr={class:"po-focus-board"},Pr={class:"po-focus-board__value"},Cr={class:"po-focus-board__value"},Ar={class:"po-focus-board__value"},Tr={class:"po-focus-board__value"},Or={class:"po-card-list"},Rr=["onClick"],Er={class:"po-card__head"},Dr={class:"po-card__order-no"},$r={class:"po-card__order-no-main"},Ur={class:"po-card__tags"},zr={class:"po-card__id"},Fr={key:0,class:"po-card__alert"},Ir={class:"po-card__row"},jr={class:"po-card__field"},Lr={class:"po-card__value"},qr={class:"po-card__field po-card__field--right"},Mr={class:"po-card__value po-card__amount"},Br={class:"po-card__row"},Hr={class:"po-card__field"},Gr={class:"po-card__field po-card__field--right"},Wr={class:"po-card__value"},Kr={class:"po-card__row"},Yr={class:"po-card__field"},Qr={class:"po-card__value"},Jr={class:"po-card__field po-card__field--right"},Xr={class:"po-card__value"},Zr={key:1,class:"po-card__row"},eo={class:"po-card__field"},to={class:"po-card__value text-orange-600 font-semibold"},ao={class:"po-card__field po-card__field--right"},so={class:"po-card__value"},lo={key:0,class:"text-primary"},no={key:1},io={key:2,class:"po-card__row"},ro={class:"po-card__field"},oo={class:"po-card__value"},uo={key:0,class:"text-primary"},po={key:1},co={class:"po-card__field po-card__field--right"},_o={class:"po-card__value po-card__time"},mo={class:"po-card__tags-row"},fo={class:"po-card__meta"},vo={key:0},go={key:1},yo={key:2,class:"po-card__meta-time"},bo={class:"flex justify-end mt-4"},xo={class:"po-detail-drawer-head flex w-full min-w-0 flex-col gap-2"},ko={class:"po-detail-drawer-head-main flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1"},ho={key:0,class:"po-detail-drawer-actions flex flex-wrap items-center gap-2"},wo={key:1,class:"po-detail-body px-6 pb-6 h-full overflow-y-auto"},So={class:"min-w-0 break-words text-sm leading-relaxed"},Vo={class:"font-mono font-semibold text-red-700"},No={class:"font-mono font-semibold text-red-700"},Po={class:"po-workflow-steps-wrap bg-gray-50/80 border border-gray-100 rounded-lg p-5 mb-5 shadow-sm"},Co={key:0,class:"text-red-500 font-medium"},Ao={key:1},To={key:2,class:"text-green-600"},Oo={key:3,class:"text-gray-400"},Ro={key:0,class:"text-red-500 font-medium"},Eo={key:1},Do={key:2,class:"text-green-600"},$o={key:3,class:"text-gray-400"},Uo={key:0,class:"text-amber-600 font-medium"},zo={key:1,class:"text-primary font-medium"},Fo={key:2},Io={key:3,class:"text-green-600"},jo={key:4,class:"text-red-500 font-medium"},Lo={class:"flex items-center justify-between mb-1"},qo={class:"stat-value text-red-500 font-bold text-xl"},Mo={class:"stat-value text-green-600 font-bold text-xl"},Bo={class:"stat-value text-primary font-bold text-xl"},Ho={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},Go={key:0,class:"audit-stamp stamp-pass"},Wo={key:1,class:"audit-stamp stamp-reject"},Ko={class:"po-panel-rx-header flex w-full min-w-0 flex-col gap-2"},Yo={class:"flex w-full min-w-0 flex-wrap items-center justify-between gap-x-2 gap-y-1"},Qo={class:"shrink-0 text-xs text-gray-400 tabular-nums"},Jo={key:0,class:"min-w-0 text-xs leading-snug text-gray-500"},Xo={class:"text-primary font-medium"},Zo={class:"flex w-full min-w-0 flex-wrap items-center gap-x-3 gap-y-1"},eu={class:"text-red-500 font-medium"},tu={key:1,class:"ml-2 text-gray-500"},au={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},su={key:0,class:"mt-4"},lu={class:"flex flex-col gap-4 h-full"},nu={class:"text-red-500"},iu={key:0,class:"audit-stamp stamp-pass"},ru={key:1,class:"audit-stamp stamp-reject"},ou={class:"flex items-center justify-between"},uu={class:"flex items-center gap-3"},du={key:0,class:"text-xs text-gray-500"},pu={class:"text-primary font-medium"},cu={class:"text-red-500"},_u={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"},mu={class:"flex min-w-0 flex-col gap-1"},fu={class:"font-mono text-[1.125rem] font-semibold leading-tight tracking-tight text-slate-900 tabular-nums"},vu={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-[13px]"},gu={class:"font-mono text-primary"},yu={class:"text-gray-500"},bu={key:0},xu={key:1,class:"text-gray-500"},ku={key:0,class:"text-xs text-gray-500 mt-1"},hu={key:1,class:"text-gray-400"},wu={class:"po-audit-remark"},Su={class:"po-audit-remark"},Vu={class:"po-logistics-toolbar flex flex-wrap items-center gap-2 mb-4"},Nu={class:"po-logistics-toolbar__links flex items-center gap-3 w-full pt-1"},Pu={key:1,class:"py-6 text-center text-sm text-gray-500"},Cu={key:2,class:"logistics-content bg-gray-50/50 p-4 rounded-md"},Au={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},Tu={class:"text-gray-800"},Ou={key:1,class:"text-xs text-gray-400 ml-1"},Ru={key:2,class:"text-xs text-gray-400"},Eu={class:"flex items-center gap-2 mb-1"},Du={class:"font-medium text-[13px]"},$u={class:"text-sm text-gray-700 font-medium"},Uu={class:"create-order-dialog__inner"},zu={key:0,class:"create-order-rx-card"},Fu={class:"create-order-rx-card__head"},Iu={class:"create-order-rx-card__meta"},ju={class:"create-order-rx-card__id"},Lu={key:0,class:"create-order-rx-card__sn"},qu={class:"create-order-rx-card__patient"},Mu={class:"create-order-rx-card__herbs"},Bu={class:"create-order-step-lead"},Hu={class:"create-order-step-panel"},Gu={class:"create-order-step-panel"},Wu={class:"flex flex-wrap items-center gap-2 pb-2 border-b border-gray-100"},Ku={class:"text-xs text-gray-400"},Yu={class:"mt-2 space-y-1.5 text-xs sm:text-sm"},Qu={key:0,class:"space-y-1.5"},Ju={class:"text-gray-800 break-all"},Xu={key:1,class:"text-gray-400"},Zu={class:"flex items-center gap-1 w-full"},ed={class:"flex gap-2 w-full"},td={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},ad={class:"flex items-center justify-between"},sd={class:"font-medium text-[13px] text-gray-800"},ld={class:"text-orange-500 font-medium ml-4"},nd={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},id={class:"truncate pr-2"},rd={class:"shrink-0"},od={class:"create-order-pay-hint text-gray-500"},ud={class:"text-amber-600 font-medium"},dd={class:"create-order-step-panel"},pd={class:"create-order-deposit-bar__cell"},cd={class:"create-order-deposit-bar__sub"},_d={class:"create-order-deposit-bar__cell"},md={class:"create-order-deposit-bar__sub"},fd={class:"create-order-footer"},vd={class:"create-order-footer__hint"},gd={class:"create-order-footer__step"},yd={key:0,class:"create-order-footer__warn"},bd={class:"create-order-footer__actions"},xd={class:"text-sm"},kd={class:"text-gray-600"},hd={class:"text-gray-600"},wd={class:"flex items-center justify-between"},Sd={class:"text-sm"},Vd={class:"text-orange-500 font-medium ml-4"},Nd={class:"flex items-center justify-between w-full pr-2 gap-3"},Pd={key:0,class:"flex items-center gap-2 shrink-0"},Cd={class:"rx-wrap"},Ad={key:0,class:"rx-statusbar"},Td={key:1,class:"rx-status rx-status-danger"},Od={key:2,class:"rx-status rx-status-danger"},Rd={key:0,class:"mt-1"},Ed={key:3,class:"rx-status rx-status-danger"},Dd={key:0,class:"mt-1"},$d={class:"rx-notice"},Ud={class:"rx-notice-meta"},zd={class:"rx-meta-item"},Fd={class:"rx-meta-value"},Id={class:"rx-meta-item"},jd={class:"rx-meta-value"},Ld={class:"rx-meta-item"},qd={class:"rx-meta-value"},Md={key:0,class:"rx-meta-item"},Bd={class:"rx-meta-value"},Hd={class:"rx-info"},Gd={class:"rx-info-row"},Wd={class:"rx-info-cell"},Kd={class:"rx-val"},Yd={class:"rx-info-cell"},Qd={class:"rx-val"},Jd={class:"rx-info-cell"},Xd={class:"rx-val"},Zd={class:"rx-info-cell"},ep={class:"rx-val"},tp={class:"rx-info-row rx-info-row-full"},ap={class:"rx-info-cell"},sp={class:"rx-val"},lp={class:"rx-info-row rx-info-row-full"},np={class:"rx-info-cell"},ip={class:"rx-val"},rp={class:"rx-rp"},op={class:"rx-herbs"},up={class:"rx-herb-name"},dp={class:"rx-herb-total"},pp={class:"rx-text"},cp={key:0},_p={key:1},mp={key:2,class:"rx-text-warn"},fp={key:3,class:"rx-text-warn"},vp={class:"rx-bottom"},gp={class:"rx-bot-row rx-bot-row-1"},yp={class:"rx-bot-cell rx-bot-doctor"},bp={class:"rx-bot-doctor-body"},xp=["src"],kp={class:"rx-bot-cell rx-bot-meta"},hp={class:"rx-bot-meta-val"},wp={class:"rx-bot-cell rx-bot-meta"},Sp={class:"rx-bot-meta-val"},Vp={class:"rx-bot-cell rx-bot-meta"},Np={class:"rx-bot-meta-val"},Pp={key:5,class:"rx-audit"},Cp={key:0},Ap={key:0,class:"ml-2 text-gray-400"},Tp={key:1,class:"mt-1"},Op={key:0,class:"px-4"},Rp={class:"flex items-center justify-between"},Ep={class:"text-lg font-semibold text-orange-600"},Dp={class:"text-lg font-semibold text-blue-600"},$p={class:"text-lg font-semibold text-green-600"},Up={class:"text-xl font-bold text-red-600"},zp={class:"text-sm text-gray-500 mt-1.5"},Fp={class:"font-medium text-gray-700"},Ip={key:0},jp={class:"text-sm text-gray-700 leading-relaxed"},Lp={class:"flex items-center justify-between"},qp={class:"text-sm text-gray-500"},Mp={class:"font-medium text-orange-600"},Bp={class:"text-base font-medium"},Hp={class:"text-base font-medium"},Gp=fs({name:"prescriptionOrderListH5"}),Wp=fs({...Gp,setup(Kp){const vs=zi(()=>fn(()=>import("./edit-Bqsg8jkl.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]))),_e=Ti(),ca=x(null);function gs(){var e,s;const t=Number((e=c.value)==null?void 0:e.diagnosis_id);if(!t){A.msgWarning("本订单未关联诊单,无法查看患者诊单信息");return}(s=ca.value)==null||s.openViewOnly(t)}const ys=2,bs=6,_a=[3,8],xs=[0,3,6],ks=w(()=>{const t=_e.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(bs)?!_a.some(s=>e.includes(s)):!1}),hs=w(()=>{const t=_e.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 _a.some(s=>e.includes(s))}),ws=w(()=>ks.value||hs.value),ma=x([]),me=w(()=>{const t=_e.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(ys)?e.some(s=>xs.includes(s)):!0}),Ss=w(()=>me.value?"详情/审核":"详情"),Vs=[0,3,6],fa=()=>{const t=_e.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 Vs.some(s=>e.includes(s))},et=x([]),Te=x([]),Et=x([]),Oe=x([]),tt=x([]),Ns={value:"id",label:"name",children:"children"};function va(t,e){for(const s of t||[]){if(s==null||typeof s!="object")continue;const o=s;if(Number(o.id)===e)return o;const d=va(o.children||[],e);if(d)return d}return null}function ga(t){const e=Number(t.id),s=[];Number.isFinite(e)&&e>0&&s.push(e);for(const o of t.children||[])o&&typeof o=="object"&&s.push(...ga(o));return s}function Ps(t,e){const s=va(e,t);return s?ga(s):[t]}async function Cs(){try{const[t,e,s]=await Promise.all([pi(),ci(),Ei()]);Et.value=Array.isArray(t)?t:[],Oe.value=Array.isArray(e)?e:[];const o=Array.isArray(s)?s:[];tt.value=o}catch{Et.value=[],Oe.value=[],tt.value=[]}}const As=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(o=>{var d;return{value:o.city,label:o.city,code:o.code,children:((d=o.areas)==null?void 0:d.map(f=>({value:f.area,label:f.area,code:f.code})))||[]}}))||[]}}),Ts=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),et.value=As(s),console.log("regionOptions 已设置,条数:",et.value.length)}catch(t){console.error("加载省市区数据失败:",t),et.value=[]}},Os=async()=>{try{const t=await Oi({type:"server_order"});Te.value=((t==null?void 0:t.server_order)||[]).filter(e=>e.status!==0),console.log("服务套餐选项已加载:",Te.value.length)}catch(t){console.error("加载服务套餐选项失败:",t),Te.value=[]}},Rs=[{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 Es(t){te.value="",b.fulfillment_status=t,G()}const te=x(""),Ds=[{label:"全部",value:""},{label:"甘草",value:"gancao"},{label:"自营",value:"self"}];function $s(t){b.supply_mode=t,G()}const Us=[{label:"全部",value:""},{label:"顺丰",value:"sf"},{label:"京东",value:"jd"}];function zs(t){b.express_company=t,G()}const b=xe({start_time:"",end_time:"",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:""}),Fs=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],Is=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}];function js(t){te.value="",b.prescription_audit_status=t,G()}function Ls(t){te.value="",b.payment_slip_audit_status=t,G()}function at(t){if(te.value===t){te.value="",b.prescription_audit_status="",b.payment_slip_audit_status="",b.fulfillment_status="",G();return}te.value=t,b.prescription_audit_status="",b.payment_slip_audit_status="",b.fulfillment_status="",t==="pendingRx"?b.prescription_audit_status=0:t==="pendingPay"?(b.prescription_audit_status=1,b.payment_slip_audit_status=0):t==="pendingShip"?b.fulfillment_status=2:t==="risk"&&(b.payment_slip_audit_status=2),G()}async function qs(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)&&delete e.fulfillment_status,(e.prescription_audit_status===""||e.prescription_audit_status===void 0)&&delete e.prescription_audit_status,(e.payment_slip_audit_status===""||e.payment_slip_audit_status===void 0)&&delete 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,!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(),o=String(e.end_time||"").trim();/^\d{4}-\d{2}-\d{2}$/.test(s)&&/^\d{4}-\d{2}-\d{2}$/.test(o)&&(e.start_time=`${s} 00:00:00`,e.end_time=`${o} 23:59:59`)}return _i(e)}const{pager:J,getLists:K,resetPage:G,resetParams:Ms}=Di({fetchFun:qs,params:b});ms(()=>{var t;return(t=J.extend)==null?void 0:t.audit_admin_options},t=>{Array.isArray(t)&&(ma.value=t.map(e=>{if(e==null||typeof e!="object")return null;const s=e,o=Number(s.id),d=String(s.name??"").trim();return!Number.isFinite(o)||o<=0||d===""?null:{id:o,name:d}}).filter(e=>e!=null))},{immediate:!0});const ya=w(()=>{const t=b.assistant_dept_id;if(t===""||t==null)return Oe.value;const e=Number(t);if(!Number.isFinite(e))return Oe.value;const s=new Set(Ps(e,tt.value));return Oe.value.filter(o=>{const d=o.dept_ids;return!Array.isArray(d)||d.length===0?!1:d.map(Number).some(f=>s.has(f))})});function Bs(){const t=b.assistant_id;if(t!==""&&t!=null){const e=Number(t);ya.value.some(o=>Number(o.id)===e)||(b.assistant_id="")}G()}const ne=w(()=>{const t=J.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),o=E=>{const pe=Number(E);return Number.isFinite(pe)?Math.round(pe*100)/100:0},d=E=>E.toFixed(2),f=(t==null?void 0:t.stats_order_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_order_amount_cancelled)!==void 0,k=(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,y=o(f?t==null?void 0:t.stats_order_amount_not_cancelled:e),$=f?o(t==null?void 0:t.stats_order_amount_cancelled):0,Q=o(k?t==null?void 0:t.stats_linked_pay_amount_not_cancelled:s),S=k?o(t==null?void 0:t.stats_linked_pay_amount_cancelled):0,F=(t==null?void 0:t.stats_order_amount_performance)!==void 0?o(t==null?void 0:t.stats_order_amount_performance):y,re=(t==null?void 0:t.stats_linked_pay_amount_performance)!==void 0?o(t==null?void 0:t.stats_linked_pay_amount_performance):Q,ge=String((t==null?void 0:t.stats_time_start)??"").trim(),Ct=String((t==null?void 0:t.stats_time_end)??"").trim(),ia=ge&&Ct?`统计时间:${ge} ~ ${Ct}`:"统计时间:—",We=String((t==null?void 0:t.stats_scope)??"restricted");let le="统计口径:与当前列表数据可见范围一致";We==="all"?le="统计口径:支付单审核白名单角色,按全量订单;与下方筛选项(医生/医助/医助部门/患者等,不含「创建时间」)一致":We==="assistant"?le="统计口径:仅计诊单医助为本人且满足下方其它筛选项的订单":We==="own_rx"&&(le="统计口径:本人创建的订单 + 关联处方开方人为本人的订单(含医助代建);与下方筛选项(不含「创建时间」)一致");const Ke=String(b.start_time||"").trim()!==""&&String(b.end_time||"").trim()!==""?"区间":"今日";return{order:o(e),pay:o(s),orderStr:d(o(e)),payStr:d(o(s)),orderNotCancelledStr:d(y),orderCancelledStr:d($),payNotCancelledStr:d(Q),payCancelledStr:d(S),orderPerformanceStr:d(F),payPerformanceStr:d(re),orderHeading:`${Ke}业绩(业务订单额)`,payHeading:`${Ke}业绩(关联实付)`,periodLine:ia,scopeHint:le,orderSplitHint:"业绩 = 除履约已取消(4)外全部订单金额;下方为合计与已取消明细"}}),st=w(()=>{const t=J.extend,e=k=>{const y=Number(k);return!Number.isFinite(y)||y<0?0:Math.trunc(y)},s=e(t==null?void 0:t.focus_pending_rx_count),o=e(t==null?void 0:t.focus_pending_pay_count),d=e(t==null?void 0:t.focus_pending_ship_count),f=e(t==null?void 0:t.focus_risk_count);return{pendingRx:s,pendingPay:o,pendingShip:d,risk:f}});function Dt(t,e){const s=Number(e==null?void 0:e.prescription_audit_status),o=Number(e==null?void 0:e.payment_slip_audit_status),d=Number(e==null?void 0:e.fulfillment_status);return t==="rx"&&s===0||t==="pay"&&s===1&&o===0||t==="fulfillment"&&d===2?"po-status-tag is-focus":t==="rx"&&s===2||t==="pay"&&o===2||t==="fulfillment"&&d===4?"po-status-tag is-risk":"po-status-tag"}function lt({row:t}){const e=Number(t==null?void 0:t.prescription_audit_status),s=Number(t==null?void 0:t.payment_slip_audit_status),o=Number(t==null?void 0:t.fulfillment_status),d=pt(t==null?void 0:t.recipient_phone,t==null?void 0:t.prescription_phone);return e===2||s===2||d?"po-row-risk":e===0||e===1&&s===0||o===2?"po-row-focus":o===3||o===6?"po-row-done":""}ms(me,t=>{t||b.prescription_audit_status===""||b.prescription_audit_status===void 0||(b.prescription_audit_status="",G())},{immediate:!0});function Hs(){te.value="",b.start_time="",b.end_time="",b.order_no="",b.prescription_id="",b.patient_keyword="",b.express_keyword="",b.express_company="",b.doctor_id="",b.assistant_id="",b.assistant_dept_id="",b.fulfillment_status="",b.prescription_audit_status="",b.payment_slip_audit_status="",b.supply_mode="",b.audit_admin_id="",Ms()}function nt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"}[Number(t)]??"—"}function Gs(t){if(!t)return"—";let e=[];return Array.isArray(t)?e=t:typeof t=="string"&&(e=t.split(",").filter(o=>o.trim()!=="")),e.length===0?"—":e.map(o=>{const d=Te.value.find(f=>f.value===o);return d?d.name:o}).join("、")}function ba(t){return t===1?"已通过":t===2?"已驳回":"待审核"}function xa(t){return t===1?"success":t===2?"danger":"info"}function $t(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function Ws(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 de(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function fe(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 Ks=[0,3];function ka(){const t=_e.userInfo;return t?Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[]).some(s=>Ks.includes(s)):!1}function ha(t){var s;const e=Number((s=_e.userInfo)==null?void 0:s.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 Sa(t){const e=Number(t.fulfillment_status);if(e===3||e===4||ha(t)&&wa(t)&&!ka())return!1;const s=String(t.gancao_reciperl_order_no||"").trim(),o=Number(t.gancao_submit_time||0);return s!==""||o>0?[1,2,5,7].includes(e):e===1||e===2}function Ys(t){const e=Number(t.fulfillment_status);return e===3||e===4||e===6?!1:Number(t.prescription_audit_status)===0}function Qs(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 Js(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const s=Number(t.prescription_audit_status),o=Number(t.payment_slip_audit_status);return(s===1||s===2)&&o===0}function Xs(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const s=Number(t.prescription_audit_status),o=Number(t.payment_slip_audit_status);return s===1&&(o===1||o===2)}function Va(t){return Number(t.fulfillment_status)===1}function Ut(t){return Number(t.fulfillment_status)===2}function zt(t){const e=Number(t.fulfillment_status);return e===5||e===6}function Ft(t){const e=Number(t.fulfillment_status);return(e===5||e===6)&&Number(t.payment_slip_audit_status)===1}function Zs(t){return Number(t.fulfillment_status)===5}function Na(t){const e=Number(t.prescription_audit_status),s=String(t.gancao_reciperl_order_no||"").trim();return e===1&&s===""}function Pa(t){return{1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"}[Number(t)]??"—"}const it=x(!0),Ca=w(()=>{const t=b,e=["start_time","end_time","order_no","prescription_id","patient_keyword","express_keyword","doctor_id","assistant_dept_id","assistant_id"];let s=0;for(const o of e){const d=t[o];d!=null&&(typeof d=="string"&&d.trim()===""||Array.isArray(d)&&d.length===0||(s+=1))}return s});function el(t){return zt(t)||Ft(t)||Na(t)||Va(t)}function tl(t,e){t==="addPayOrder"?Ka(e):t==="complete"?Ya(e):t==="submitGancao"?zl(e):t==="withdraw"&&Rl(e)}function It(t){if(!(t!=null&&t.id))return!1;const e=Number(t.fulfillment_status);return e!==3&&e!==4}const X=x(!1),jt=x(!1),c=x(null),rt=w(()=>{if(!c.value)return 0;const t=Number(c.value.fulfillment_status),e=Number(c.value.prescription_audit_status),s=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:s===2?2:3:t===2?3:e===0||e===2?1:s===0||s===2?2:3}),ot=w(()=>{var e;const t=Number((e=c.value)==null?void 0:e.prescription_audit_status);return t===1?"success":t===2?"error":rt.value===1?"process":"wait"}),ut=w(()=>{var e;const t=Number((e=c.value)==null?void 0:e.payment_slip_audit_status);return t===1?"success":t===2?"error":rt.value===2?"process":"wait"}),ke=w(()=>{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||rt.value===3?"process":"wait"}),Lt=w(()=>{const t=c.value;if(!t)return[];const e=t.linked_pay_orders;return Array.isArray(e)?e:[]}),Aa=w(()=>{const t=c.value;if(!t)return 0;const e=Number(t.amount)||0,s=Number(t.linked_pay_paid_total)||0;return Math.round((e-s)*100)/100}),he=x([]);async function al(t,e,s){var o;if(!t){he.value=[];return}try{const d=await pa({diagnosis_id:t,prescription_order_id:e}),f=(d==null?void 0:d.lists)??((o=d==null?void 0:d.data)==null?void 0:o.lists)??[],k=Array.isArray(f)?f.filter(y=>!s.includes(y.id)):[];he.value=k}catch{he.value=[]}}function Ta(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 P=w(()=>{var e;const t=(e=c.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null});function dt(t){return t==null?"":String(t).replace(/\s/g,"").trim()}function pt(t,e){const s=dt(t),o=dt(e);return!s||!o?!1:s!==o}const Re=w(()=>{var s,o;const t=(s=P.value)==null?void 0:s.phone,e=(o=c.value)==null?void 0:o.recipient_phone;return pt(e,t)}),sl=w(()=>{var e;return dt((e=P.value)==null?void 0:e.phone)||"—"}),ll=w(()=>{var e;return dt((e=c.value)==null?void 0:e.recipient_phone)||"—"}),W=w(()=>{var e;const t=(e=c.value)==null?void 0:e.linked_appointment;return t&&typeof t=="object"?t:null}),Oa=w(()=>{var e;const t=String(((e=W.value)==null?void 0:e.resolved_from)||"");return t==="prescription"?"处方绑定挂号":t==="diagnosis"?"诊单关联挂号":""}),Ra=w(()=>{var t;return Ta((t=P.value)==null?void 0:t.herbs)}),nl=w(()=>{var t;return((t=c.value)==null?void 0:t.prescription_detail_herbs_visible)!==!1}),il=w(()=>{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(" "):"—"}),Ea=w(()=>`${_.dose_unit||"剂"}数`);function rl(t){const e=Number(t);return e===1?"已通过":e===2?"已驳回":"待审核"}function ol(t){const e=Number(t);return e===1?"success":e===2?"danger":"warning"}function Da(t){const e=Number(t);return e===2?"success":e===1?"warning":"info"}function $a(t){return t==null||t===""?"—":typeof t=="string"&&String(t).includes("-")?String(t):fe(t)}const Ee=x("auto"),ct=x(!1),H=x(null),De=x("");let qt=0;function ul(){qt+=1,H.value=null}function Mt(t){var e,s;return t.requestSeq!==qt||Number((e=c.value)==null?void 0:e.id)!==t.orderId?!1:String(((s=c.value)==null?void 0:s.tracking_number)||"").trim()===t.trackingNumber}function dl(t,e,s){const o=(t==null?void 0:t.data)??t;if(!o||typeof o!="object")return null;const d=o,f=String(d.tracking_number||"").trim();if(f&&f!==e)return null;const k=Number(d.order_id);return k>0&&k!==s?null:d}const we=x([]),$e=x(!1),Bt=x(!1),_t=x(),ie=xe({id:0,amount:void 0}),pl={amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(t,e,s)=>{const o=Number(e);if(!Number.isFinite(o)||o<=0){s(new Error("订单金额必须大于0"));return}s()},trigger:"blur"}]};function cl(){const t=_e.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function Ht(t){if(!cl()){we.value=[];return}try{const e=await Ci({id:t});we.value=(e==null?void 0:e.data)??e??[]}catch{we.value=[]}}function _l(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:"完成订单"}[t]||t}const Gt=w(()=>{var s;const t=String(((s=c.value)==null?void 0:s.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}`}}),Ua=w(()=>{const t=H.value;return!t||!Array.isArray(t.traces)?[]:t.traces});function ml(t){const e=String(t||"").toLowerCase();return e==="sf"?"顺丰速运":e==="jd"?"京东快递":e==="jt"||e==="jtexpress"?"极兔速递":"自动识别"}async function Wt(){var d,f;const t=Number((d=c.value)==null?void 0:d.id),e=String(((f=c.value)==null?void 0:f.tracking_number)||"").trim();if(!t||!e)return;const o={requestSeq:++qt,orderId:t,trackingNumber:e};ct.value=!0;try{const k=String(De.value||"").replace(/\D/g,""),y={id:t,express_company:Ee.value};k.length>=4&&(y.phone_tail=k);const $=await mi(y);if(!Mt(o))return;H.value=dl($,e,t)}catch{if(!Mt(o))return;H.value=null}finally{Mt(o)&&(ct.value=!1)}}const Ue=x(!1),Kt=x(!1),Yt=x(),ae=xe({patient_name:"",phone:""}),fl={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function vl(){const t=P.value,e=c.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){A.msgWarning("无处方数据");return}ae.patient_name=String(t.patient_name??"").trim(),ae.phone=String(t.phone??"").trim(),Ue.value=!0,Rt(()=>{var s;return(s=Yt.value)==null?void 0:s.clearValidate()})}function gl(){ae.patient_name="",ae.phone=""}function yl(){var t;ie.id=0,ie.amount=void 0,(t=_t.value)==null||t.clearValidate()}function bl(){const t=c.value;if(!It(t)){A.msgWarning("当前订单状态不允许修改金额");return}ie.id=Number(t==null?void 0:t.id)||0,ie.amount=Number(t==null?void 0:t.amount)||void 0,$e.value=!0,Rt(()=>{var e;return(e=_t.value)==null?void 0:e.clearValidate()})}async function za(){var e;const t=(e=c.value)==null?void 0:e.id;if(t)try{const s=await ee({id:t}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}async function xl(){var s;const t=Yt.value;if(!t)return;try{await t.validate()}catch{return}const e=(s=c.value)==null?void 0:s.id;if(e){Kt.value=!0;try{await fi({id:e,patient_name:ae.patient_name.trim(),phone:ae.phone.trim()}),Ue.value=!1,await za(),await Ht(e)}catch(o){console.error(o)}finally{Kt.value=!1}}}async function Fa(){const t=_t.value;if(!t)return;try{await t.validate()}catch{return}if(!It(c.value)){A.msgWarning("当前订单状态不允许修改金额");return}const e=ie.id;Bt.value=!0;try{await vi({id:e,amount:Number(ie.amount)}),A.msgSuccess("修改成功"),$e.value=!1,await za(),await Ht(e),K()}catch{}finally{Bt.value=!1}}async function Ia(t){c.value=null,he.value=[],ul(),Ee.value="auto",De.value="",we.value=[],X.value=!0,jt.value=!0;try{const e=await ee({id:t}),s=(e==null?void 0:e.data)??e??null;if(c.value=s,s){Ee.value=String(s.express_company||"auto")||"auto";const o=String(s.recipient_phone||"").replace(/\D/g,"");De.value=o.length>=4?o:"",String(s.tracking_number||"").trim()&&Wt(),Ht(t);const d=s.diagnosis_id,f=s.pay_order_ids||[];d&&al(d,t,f)}}catch(e){A.msgError((e==null?void 0:e.message)||"加载失败"),X.value=!1}finally{jt.value=!1}}const ve=x(!1),Qt=x(!1),Jt=x(!1),L=x(0),se=x(null),kl=w(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][L.value]??""),ja=w(()=>{const t=se.value,e=Ta(t==null?void 0:t.herbs);if(!e.length)return"暂无药材明细";const s=e.map(o=>`${o.name} ${o.dosage}g`).join("、");return s.length>120?`${s.slice(0,120)}…`:s}),hl=["recipient_name","recipient_phone","region","shipping_address"],Se=x(),_=xe({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:""}),La=w(()=>{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(s=>s.trim()).filter(Boolean):e.split("/").map(s=>s.trim()).filter(Boolean)).filter(e=>e.length>0):[]}),ze=x([]),Xt=x(!1),M=x(0);function Zt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const ea=w(()=>{const t=new Set(_.pay_order_ids.map(s=>Number(s)));let e=0;for(const s of ze.value)t.has(Number(s.id))&&(e+=Number(s.amount)||0);return Math.round(e*100)/100}),wl=w(()=>{const t=M.value;return t>0?Math.round(t*100)/100:0});async function Sl(t,e){var s,o;if(!t){ze.value=[];return}try{Xt.value=!0;const d=await pa({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),f=(d==null?void 0:d.lists)??((s=d==null?void 0:d.data)==null?void 0:s.lists)??[];ze.value=Array.isArray(f)?f:[];const k=Number((d==null?void 0:d.deposit_min_amount)??((o=d==null?void 0:d.data)==null?void 0:o.deposit_min_amount));!Number.isNaN(k)&&k>=0&&(M.value=k)}catch{ze.value=[]}finally{Xt.value=!1}}const Vl=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,o)=>{const d=M.value,f=Number(s);if(d>0&&(!Number.isFinite(f)||f
Number(F)).filter(F=>!Number.isNaN(F)):[],_.internal_cost=s.internal_cost!=null&&s.internal_cost!==""?Number(s.internal_cost):void 0,await Sl(_.diagnosis_id,_.id),Rt(()=>{var F;(F=Se.value)==null||F.clearValidate()})}catch(e){A.msgError((e==null?void 0:e.message)||"加载异常"),ve.value=!1}finally{Qt.value=!1}}async function Tl(){if(!(!Se.value||L.value!==2)){await Se.value.validate(),Jt.value=!0;try{const t={id:_.id,recipient_name:_.recipient_name,recipient_phone:_.recipient_phone,shipping_address:_.shipping_address,is_follow_up:_.is_follow_up,prev_staff:_.prev_staff||"",service_channel:_.service_channel||"",service_package:Array.isArray(_.service_package)?_.service_package.join(","):"",express_company:_.express_company||"auto",tracking_number:_.tracking_number||"",fee_type:_.fee_type,amount:_.amount,remark_extra:_.remark_extra||"",remark_assistant:_.remark_assistant||"",medication_days:_.medication_days!=null&&String(_.medication_days).trim()!==""?_.medication_days:"",dose_unit:_.dose_unit||"剂",dose_count:_.dose_count||1,internal_cost:_.internal_cost!=null&&String(_.internal_cost).trim()!==""?_.internal_cost:""};_.region&&_.region.length>0?(t.shipping_province=_.region[0]||"",t.shipping_city=_.region[1]||"",t.shipping_district=_.region[2]||""):(t.shipping_province="",t.shipping_city="",t.shipping_district=""),t.pay_order_ids=[..._.pay_order_ids],await cs(t),A.msgSuccess("保存成功"),ve.value=!1,K()}catch{}finally{Jt.value=!1}}}const Fe=x(!1),ta=x("prescription"),mt=x(0),Ie=x(null),Ve=x(""),ft=x(!1),Ol=w(()=>ta.value==="prescription"?"处方业务审核":"关联支付单审核");function qa(t,e){ta.value=e,mt.value=t.id,Ie.value=t,Ve.value="",Fe.value=!0}async function Ma(t){if(t==="reject"&&!Ve.value.trim()){A.msgError("驳回或阻止时必须填写明确的审核意见");return}ft.value=!0;try{const e={id:mt.value,action:t,remark:Ve.value.trim()};if(ta.value==="prescription"?await gi(e):await yi(e),A.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),Fe.value=!1,K(),X.value&&mt.value)try{const s=await ee({id:mt.value}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}catch{}finally{ft.value=!1}}async function Rl(t){try{await Xe.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await bi({id:t.id}),A.msgSuccess("撤回成功"),K()}catch{}}const Ba=x(0),vt=x(!1),Ne=x(!1),z=x(null);function Ha(t){if(!t)return"0.00";const e=Number(t.m_cost)||0,s=Number(t.proces_cost)||0,o=Number(t.lis_cost)||0;return(e+s+o).toFixed(2)}function El(t,e){const s=parseFloat(Ha(t))||0,o=Number(e)||0;return o<=0?"—":(s/o*100).toFixed(2)}function Dl(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((s,o)=>s+(Number(o.quantity)||0),0).toFixed(0)}async function $l(){if(!_.id){A.msgError("请先保存订单");return}Ne.value=!0;try{const t=await _s({id:_.id,dose_count:_.dose_count||1,medication_days:_.medication_days||void 0}),e=(t==null?void 0:t.data)??t;e&&e.success&&(z.value=e,vt.value=!0,A.msgSuccess("预下单测试成功"))}catch{}finally{Ne.value=!1}}async function Ul(){var t;if(!((t=c.value)!=null&&t.id)){A.msgError("订单数据不存在");return}Ne.value=!0;try{const e=await _s({id:c.value.id,dose_count:c.value.dose_count||1,medication_days:c.value.medication_days||void 0}),s=(e==null?void 0:e.data)??e;s&&s.success&&(z.value=s,vt.value=!0)}catch{}finally{Ne.value=!1}}async function zl(t){var e;try{await Xe.confirm("将把本单关联处方提交至甘草药管家开放平台(先 CTM_PREVIEW 预检查再 CTM_SUBMIT_RECIPEL 正式下单;成功后将按甘草侧规则扣费,详见 https://apidoc.igancao.com/service-doc/scm-outer-recipel.html )。确定继续?","上传甘草药方",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),Ba.value=t.id;const s=await xi({id:t.id}),o=(s==null?void 0:s.data)??s,d=(o==null?void 0:o.recipel_order_no)!=null?String(o.recipel_order_no):"";if(A.msgSuccess(d?`上传成功,甘草处方单号:${d}`:"上传成功"),K(),X.value&&Number((e=c.value)==null?void 0:e.id)===t.id)try{const f=await ee({id:t.id}),k=(f==null?void 0:f.data)??f??null;k&&(c.value=k)}catch{}}catch{}finally{Ba.value=0}}$i(async()=>{await Ts(),await Os(),await Cs(),K()});const je=x(!1),gt=x(!1),Le=x(0),Z=xe({express_company:"auto",tracking_number:""});function Fl(t){Le.value=t.id,Z.express_company=String(t.express_company||"auto")||"auto",Z.tracking_number=String(t.tracking_number||""),je.value=!0}async function Ga(){var t;if(!Z.tracking_number.trim()){A.msgError("请填写快递单号");return}gt.value=!0;try{const e=await ee({id:Le.value}),s=(e==null?void 0:e.data)??e;if(!s){A.msgError("加载订单数据失败");return}if(await cs({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()}),A.msgSuccess("快递单号已保存"),je.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===Le.value)try{const o=await ee({id:Le.value}),d=(o==null?void 0:o.data)??o??null;d&&(c.value=d)}catch{}if(Ut({fulfillment_status:Number(s.fulfillment_status)}))try{await Xe.confirm(`快递单号「${Z.tracking_number}」已保存,是否立即确认发货?`,"确认发货",{type:"success",confirmButtonText:"确认发货",cancelButtonText:"稍后再说"}),aa({id:Le.value,tracking_number:Z.tracking_number,express_company:Z.express_company})}catch{}}catch{}finally{gt.value=!1}}const qe=x(!1),yt=x(!1),bt=x(0),Y=xe({ship_mode:"gancao",express_company:"auto",tracking_number:""});function aa(t){bt.value=t.id,Y.ship_mode=String(t.ship_mode||"gancao")||"gancao",Y.express_company=String(t.express_company||"auto")||"auto",Y.tracking_number=String(t.tracking_number||""),qe.value=!0}async function Wa(){var t;if(!Y.tracking_number.trim()){A.msgError("请先填写快递单号再确认发货");return}yt.value=!0;try{if(await ki({id:bt.value,ship_mode:Y.ship_mode==="direct"?"direct":"gancao",express_company:Y.express_company||"auto",tracking_number:Y.tracking_number.trim()}),A.msgSuccess("确认发货成功,订单已进入「已发货」状态"),qe.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===bt.value)try{const e=await ee({id:bt.value}),s=(e==null?void 0:e.data)??e??null;s&&(c.value=s)}catch{}}catch{}finally{yt.value=!1}}const Il=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],Me=x(!1),sa=x(0),xt=x(3),la=x(!1);async function jl(){var e;const t=sa.value;if(t){la.value=!0;try{if(await hi({id:t,fulfillment_status:xt.value}),A.msgSuccess("订单状态已更新"),Me.value=!1,K(),X.value&&((e=c.value)==null?void 0:e.id)===t)try{const s=await ee({id:t}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}catch{}finally{la.value=!1}}}const Be=x(!1),kt=x(!1),He=x(0),ht=x(),na=x(!1),wt=x([]),O=xe({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),Ll={add_mode:[{required:!0,message:"请选择添加方式",trigger:"change"}],order_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],pay_amount:[{required:!0,message:"请输入支付金额",trigger:"blur"},{validator:(t,e,s)=>{const o=Number(e);!Number.isFinite(o)||o<=0?s(new Error("金额须大于 0")):s()},trigger:"blur"}],link_pay_order_ids:[{required:!0,message:"请至少选择一个支付单",trigger:"change",validator:(t,e,s)=>{!Array.isArray(e)||e.length===0?s(new Error("请至少选择一个支付单")):s()}}]};async function ql(t,e=[]){var s;if(!t){wt.value=[];return}try{na.value=!0;const o=await pa({diagnosis_id:t}),d=(o==null?void 0:o.lists)??((s=o==null?void 0:o.data)==null?void 0:s.lists)??[],f=Array.isArray(d)?d.filter(k=>!e.includes(k.id)):[];wt.value=f}catch{wt.value=[]}finally{na.value=!1}}function Ka(t){var o,d;He.value=t.id,O.add_mode="create",O.order_type=3,O.pay_amount=void 0,O.pay_remark="",O.link_pay_order_ids=[],O.completion_request=0,Be.value=!0;const e=t.diagnosis_id||((o=c.value)==null?void 0:o.diagnosis_id),s=t.pay_order_ids||((d=c.value)==null?void 0:d.pay_order_ids)||[];e&&ql(e,s)}async function Ml(){var t;if(ht.value){await ht.value.validate(),kt.value=!0;try{if(O.add_mode==="create")await wi({id:He.value,order_type:O.order_type,pay_amount:O.pay_amount,pay_remark:O.pay_remark||"",completion_request:O.completion_request}),A.msgSuccess("支付单已新增,请等待审核");else{const e=O.link_pay_order_ids;if(e.length===0){A.msgError("请至少选择一个支付单");return}await Si({id:He.value,pay_order_ids:e,completion_request:O.completion_request}),A.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}if(Be.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===He.value)try{const e=await ee({id:He.value}),s=(e==null?void 0:e.data)??e??null;s&&(c.value=s)}catch{}}catch{}finally{kt.value=!1}}}function Ya(t){sa.value=t.id,xt.value=3,Me.value=!0}async function Bl(t){var e;try{if(await Xe.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Vi({id:t.id}),A.msgSuccess("处方审核已撤回"),K(),X.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const s=await ee({id:t.id}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}catch{}}async function Hl(t){var e;try{if(await Xe.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Ni({id:t.id}),A.msgSuccess("支付单审核已撤回"),K(),X.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const s=await ee({id:t.id}),o=(s==null?void 0:s.data)??s??null;o&&(c.value=o)}catch{}}catch{}}const Gl="成都双流甄养堂互联网医院 处方笺",St=x(!1),Vt=x(!1),h=x(null),Qa=x(null),Pe=x(!1),Nt=w(()=>{var e;const t=(e=h.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),Wl=w(()=>{const t=h.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),o=Number(t.dosage_amount),d=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(s)||!Number.isFinite(o)||e<=0||s<=0||o<=0?null:e*s*o*d}),Pt=t=>String(t).padStart(2,"0"),Kl=w(()=>{const t=h.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),o=new Date(s);if(!isNaN(o.getTime()))return`${o.getFullYear()}-${Pt(o.getMonth()+1)}-${Pt(o.getDate())} ${Pt(o.getHours())}:${Pt(o.getMinutes())}`}return t.prescription_date||"—"}),Yl=w(()=>{const t=h.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const s=String(t.visit_no??"").trim();return s||"—"}),Ql=w(()=>{const t=h.value;if(!t)return"—";const e=Number(t.appointment_id);return Number.isFinite(e)&&e>0?String(e):"—"}),Ja=w(()=>{const t=h.value;return t?String(t.order_no??"").trim():""}),Jl=w(()=>{const t=h.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(","):"—"}),Xa=w(()=>{var e;const t=Number((e=h.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Xl=w(()=>{const e=Nt.value.reduce((s,o)=>s+(Number(o==null?void 0:o.dosage)||0),0);return Ge(e)}),Zl=t=>{const e=Number(t)||0;return Ge(e*Xa.value)},en=w(()=>{const t=h.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),tn=w(()=>{const t=h.value;if(!t)return"—";if(t.usage_text)return t.usage_text;const e=Number(t.times_per_day)>0?Number(t.times_per_day):3,s=t.dosage_amount!=null?Number(t.dosage_amount):10,o=t.dosage_unit||"g",d=t.usage_way||"温水送服",f=t.usage_time||"",k=[];if(k.push(`每天${e}次`),(t.prescription_type||"浓缩水丸")==="浓缩水丸"){const y=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;k.push(`一次${y}袋`),k.push(`每袋${s}${o}`)}else k.push(`一次${s}${o}`);return k.push(d),f&&k.push(f),k.join(", ")}),an=w(()=>{const t=Wl.value;if(typeof t=="number"&&isFinite(t)&&t>0)return Ge(t);const e=h.value;if(!e)return"";const s=e.out_pellet||e.total_weight;if(s&&Number(s)>0)return Ge(Number(s));const o=Nt.value;if(!o.length)return"";const d=o.reduce((f,k)=>f+(Number(k==null?void 0:k.dosage)||0),0);return Ge(d*Xa.value)}),Za=w(()=>{const t=h.value;return t&&t.medical_advice||""}),es=w(()=>{const t=h.value;if(!t)return"";const e=[];return e.push(`共${Nt.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),ts=w(()=>{const t=h.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),as=w(()=>{const t=an.value;return t?`${t}克`:""});function Ge(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function ss(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 sn(t){return t?ss(t):"—"}function ln(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function nn(t){return t==null||t===""?"—":`${t}岁`}function rn(){ls(_)}async function ls(t){if(!t.prescription_id){A.msgWarning("该订单未关联处方");return}St.value=!0,Vt.value=!0,h.value=null;try{const e=await Pi({id:t.prescription_id}),s=(e==null?void 0:e.data)??e??null;if(s){const o=t.medication_days,d={...s};o!=null&&String(o).trim()!==""&&(d.medication_days=o),t.order_no&&!d.order_no&&(d.order_no=t.order_no),t.recipient_name&&!d.recipient_name&&(d.recipient_name=t.recipient_name),t.recipient_phone&&!d.recipient_phone&&(d.recipient_phone=t.recipient_phone),t.shipping_address&&!d.shipping_address&&(d.shipping_address=t.shipping_address),t.amount!=null&&d.order_amount==null&&(d.order_amount=t.amount),t.dose_count!=null&&String(t.dose_count).trim()!==""&&Number(t.dose_count)>0&&(d.dose_count=Number(t.dose_count)),t.dose_unit!=null&&String(t.dose_unit).trim()!==""&&(d.dose_unit=String(t.dose_unit));const f=t.linked_appointment;(!d.appointment_id||Number(d.appointment_id)<=0)&&f&&typeof f=="object"&&Number(f.id)>0&&(d.appointment_id=Number(f.id)),h.value=d}else h.value=null}catch(e){A.msgError((e==null?void 0:e.message)||"加载处方详情失败"),St.value=!1}finally{Vt.value=!1}}async function on(t){const e=t.querySelectorAll('img[src^="http"]'),s=Array.from(e).map(async o=>{try{const d=await fetch(o.src,{mode:"cors"});if(!d.ok)return;const f=await d.blob(),k=await new Promise((y,$)=>{const Q=new FileReader;Q.onload=()=>y(Q.result),Q.onerror=$,Q.readAsDataURL(f)});o.src=k}catch{}});await Promise.allSettled(s)}async function ns(){await Rt();const t=Qa.value;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await on(t),await new Promise(e=>requestAnimationFrame(()=>e(null))),await new Promise(e=>setTimeout(e,250)),Ai(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 is(){var s;const t=(s=h.value)==null?void 0:s.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function un(){if(h.value){Pe.value=!0;try{const t=await ns(),e=document.createElement("a");e.download=`${is()}.png`,e.href=t.toDataURL("image/png"),e.click(),A.msgSuccess("图片已下载")}catch{A.msgError("下载图片失败")}finally{Pe.value=!1}}}async function dn(){if(h.value){Pe.value=!0;try{const t=await ns(),e=t.toDataURL("image/jpeg",.95),s=new vn({orientation:"portrait",unit:"mm",format:"a4"}),o=210,d=297,f=o,k=t.height*f/t.width;if(k<=d)s.addImage(e,"JPEG",0,0,f,k);else{let y=k,$=0;for(;y>0;)s.addImage(e,"JPEG",0,$,f,k),y-=d,$-=d,y>0&&s.addPage()}s.save(`${is()}.pdf`),A.msgSuccess("PDF已下载")}catch{A.msgError("下载PDF失败")}finally{Pe.value=!1}}}return(t,e)=>{const s=gn,o=yn,d=xn,f=hn,k=wn,y=Vn,$=Sn,Q=Nn,S=Pn,F=kn,re=Cn,ge=On,Ct=Tn,rs=An,ia=ti,We=Rn,le=En,oe=$n,Ke=Dn,E=zn,pe=Un,V=In,Ye=Fn,U=Ln,At=jn,ra=qn,os=Bn,us=Mn,oa=Hn,Ce=Gn,ce=Wn,ds=Kn,pn=Yn,cn=Jn,_n=Qn,mn=Xn,Ae=ei,ua=Zn,ye=bn,q=Ui("perms");return u(),m("div",Ii,[e[249]||(e[249]=a("header",{class:"po-h5-hero","aria-label":"页面概览"},[a("div",{class:"po-h5-hero__text"},[a("h1",{class:"po-h5-hero__title"},"业务订单"),a("p",{class:"po-h5-hero__sub"},"履约、双审与收款一览;点卡片进入详情")])],-1)),l(s,{class:"po-h5-surface po-h5-surface--chips !mb-3 !border-none shadow-none",shadow:"never"},{default:n(()=>[a("div",ji,[me.value?(u(),m("div",Li,[e[86]||(e[86]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(u(),m(D,null,B(Fs,i=>a("div",{key:i.value,class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.prescription_audit_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>js(i.value)},[a("span",Mi,r(i.label),1)],10,qi)),64))])):v("",!0),a("div",Bi,[e[87]||(e[87]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(u(),m(D,null,B(Is,i=>a("div",{key:i.value,class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.payment_slip_audit_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>Ls(i.value)},[a("span",Gi,r(i.label),1)],10,Hi)),64))]),a("div",Wi,[e[88]||(e[88]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(u(),m(D,null,B(Rs,i=>a("div",{key:"fs-"+String(i.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.fulfillment_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>Es(i.value)},[a("span",Yi,r(i.label),1)],10,Ki)),64))]),a("div",Qi,[e[89]||(e[89]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(u(),m(D,null,B(Ds,i=>a("div",{key:"sm-"+String(i.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.supply_mode===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>$s(i.value)},[a("span",Xi,r(i.label),1)],10,Ji)),64))]),a("div",Zi,[e[90]||(e[90]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(u(),m(D,null,B(Us,i=>a("div",{key:"ec-"+String(i.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.express_company===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:C=>zs(i.value)},[a("span",tr,r(i.label),1)],10,er)),64))])])]),_:1}),l(s,{class:"po-h5-surface po-filter-card !mb-3 !border-none shadow-none",shadow:"never"},{default:n(()=>[T((u(),m("div",ar,[a("div",sr,[e[91]||(e[91]=a("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)),a("div",lr,[a("div",null,[a("div",nr,[l(o,{size:16,class:"text-sky-500"},{default:n(()=>[l(R(ai))]),_:1}),p(" "+r(ne.value.orderHeading),1)]),a("div",ir,[a("div",rr," ¥"+r(ne.value.orderPerformanceStr),1),a("div",or,[a("span",null,"合计 ¥"+r(ne.value.orderStr),1),a("span",ur,"已取消 ¥"+r(ne.value.orderCancelledStr),1)])])]),a("div",dr,[l(o,{size:20},{default:n(()=>[l(R(si))]),_:1})])]),a("p",pr,r(ne.value.periodLine),1)]),a("div",cr,[e[92]||(e[92]=a("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)),a("div",_r,[a("div",null,[a("div",mr,[l(o,{size:16,class:"text-emerald-500"},{default:n(()=>[l(R(li))]),_:1}),p(" "+r(ne.value.payHeading),1)]),a("div",fr,[a("div",vr," ¥"+r(ne.value.payPerformanceStr),1),a("div",gr,[a("span",null,"合计 ¥"+r(ne.value.payStr),1),a("span",yr,"已取消 ¥"+r(ne.value.payCancelledStr),1)])])]),a("div",br,[l(o,{size:20},{default:n(()=>[l(R(ni))]),_:1})])]),a("p",xr,r(ne.value.periodLine),1)])])),[[ye,R(J).loading]]),e[96]||(e[96]=a("p",{class:"po-h5-stats-hint text-center text-[12px] leading-snug text-slate-500 px-1 -mt-2 mb-3"},[p(" 上方为接口返回的"),a("strong",{class:"text-slate-600 font-medium"},"业绩汇总"),p("(未选创建日期时为今日;选了则为该区间);下方列表是当前筛选条件下的订单,"),a("strong",{class:"text-slate-600 font-medium"},"条数与金额和上面不必相等"),p("。 ")],-1)),a("div",{class:"po-filter-toggle",onClick:e[0]||(e[0]=i=>it.value=!it.value)},[a("div",kr,[l(o,null,{default:n(()=>[l(R(da))]),_:1}),e[93]||(e[93]=a("span",null,"筛选条件",-1)),Ca.value>0?(u(),g(d,{key:0,size:"small",type:"primary",effect:"dark",round:""},{default:n(()=>[p(r(Ca.value),1)]),_:1})):v("",!0)]),l(o,{class:j(["po-filter-toggle__arrow",{"is-open":!it.value}])},{default:n(()=>[l(R(ps))]),_:1},8,["class"])]),T(l(F,{class:"ls-form",model:b,inline:""},{default:n(()=>[l(f,{class:"w-[360px] min-w-[240px] max-w-full",label:"创建时间"},{default:n(()=>[l(di,{startTime:b.start_time,"onUpdate:startTime":e[1]||(e[1]=i=>b.start_time=i),endTime:b.end_time,"onUpdate:endTime":e[2]||(e[2]=i=>b.end_time=i),"picker-type":"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始日期","end-placeholder":"结束日期",class:"!w-full"},null,8,["startTime","endTime"])]),_:1}),l(f,{class:"w-[260px]",label:"订单号"},{default:n(()=>[l(k,{modelValue:b.order_no,"onUpdate:modelValue":e[3]||(e[3]=i=>b.order_no=i),placeholder:"业务订单号",clearable:"",onKeyup:Ze(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(f,{class:"w-[140px]",label:"处方ID"},{default:n(()=>[l(k,{modelValue:b.prescription_id,"onUpdate:modelValue":e[4]||(e[4]=i=>b.prescription_id=i),placeholder:"处方ID",clearable:"",onKeyup:Ze(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(f,{class:"w-[220px]",label:"患者"},{default:n(()=>[l(k,{modelValue:b.patient_keyword,"onUpdate:modelValue":e[5]||(e[5]=i=>b.patient_keyword=i),placeholder:"姓名 / 手机号",clearable:"",onKeyup:Ze(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(f,{class:"w-[220px]",label:"快递"},{default:n(()=>[l(k,{modelValue:b.express_keyword,"onUpdate:modelValue":e[6]||(e[6]=i=>b.express_keyword=i),placeholder:"快递单号 / 公司",clearable:"",onKeyup:Ze(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),ws.value?(u(),g(f,{key:0,class:"w-[200px]",label:"下单人"},{default:n(()=>[l($,{modelValue:b.audit_admin_id,"onUpdate:modelValue":e[7]||(e[7]=i=>b.audit_admin_id=i),clearable:"",filterable:"",placeholder:"全部下单人",class:"!w-full"},{default:n(()=>[(u(!0),m(D,null,B(ma.value,i=>(u(),g(y,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):v("",!0),l(f,{class:"w-[200px]",label:"医生"},{default:n(()=>[l($,{modelValue:b.doctor_id,"onUpdate:modelValue":e[8]||(e[8]=i=>b.doctor_id=i),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:n(()=>[(u(!0),m(D,null,B(Et.value,i=>(u(),g(y,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(f,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:n(()=>[l(Q,{modelValue:b.assistant_dept_id,"onUpdate:modelValue":e[9]||(e[9]=i=>b.assistant_dept_id=i),data:tt.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:Ns,placeholder:"医助部门(选父级含子级)",onChange:Bs},null,8,["modelValue","data"])]),_:1}),l(f,{class:"w-[200px]",label:"医助"},{default:n(()=>[l($,{modelValue:b.assistant_id,"onUpdate:modelValue":e[10]||(e[10]=i=>b.assistant_id=i),clearable:"",filterable:"",placeholder:"诊单医助",class:"!w-full"},{default:n(()=>[(u(!0),m(D,null,B(ya.value,i=>(u(),g(y,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(f,null,{default:n(()=>[l(S,{type:"primary",onClick:R(G)},{default:n(()=>[...e[94]||(e[94]=[p("查询",-1)])]),_:1},8,["onClick"]),l(S,{onClick:Hs},{default:n(()=>[...e[95]||(e[95]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),[[Tt,!it.value]])]),_:1}),T((u(),g(s,{class:"po-h5-surface po-table-card !mt-0 !border-none shadow-none",shadow:"never"},{default:n(()=>[a("div",hr,[a("div",wr,[a("div",Sr,[e[97]||(e[97]=a("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),a("span",Vr,"共 "+r(R(J).count)+" 条",1)]),a("div",Nr,[a("div",{class:j(["po-focus-board__item is-pending-rx",{"is-active":te.value==="pendingRx"}]),onClick:e[11]||(e[11]=i=>at("pendingRx"))},[e[98]||(e[98]=a("span",{class:"po-focus-board__label"},"待处方审核",-1)),a("strong",Pr,r(st.value.pendingRx),1)],2),a("div",{class:j(["po-focus-board__item is-pending-pay",{"is-active":te.value==="pendingPay"}]),onClick:e[12]||(e[12]=i=>at("pendingPay"))},[e[99]||(e[99]=a("span",{class:"po-focus-board__label"},"待支付审核",-1)),a("strong",Cr,r(st.value.pendingPay),1)],2),a("div",{class:j(["po-focus-board__item is-pending-ship",{"is-active":te.value==="pendingShip"}]),onClick:e[13]||(e[13]=i=>at("pendingShip"))},[e[100]||(e[100]=a("span",{class:"po-focus-board__label"},"待发货",-1)),a("strong",Ar,r(st.value.pendingShip),1)],2),a("div",{class:j(["po-focus-board__item is-risk",{"is-active":te.value==="risk"}]),onClick:e[14]||(e[14]=i=>at("risk"))},[e[101]||(e[101]=a("span",{class:"po-focus-board__label"},"重点异常",-1)),a("strong",Tr,r(st.value.risk),1)],2)])])]),a("div",Or,[!R(J).lists.length&&!R(J).loading?(u(),g(re,{key:0,description:"暂无订单","image-size":88})):v("",!0),(u(!0),m(D,null,B(R(J).lists,i=>(u(),m("div",{key:i.id,class:j(["po-card",{"po-card--focus":lt&<({row:i})==="po-row-focus","po-card--risk":lt&<({row:i})==="po-row-risk"}]),onClick:C=>Ia(i.id)},[a("div",Er,[a("div",Dr,[a("span",$r,r(i.order_no||"—"),1)]),a("div",Ur,[l(d,{size:"small",effect:"plain",type:String(i.gancao_reciperl_order_no||"").trim()?"success":"info"},{default:n(()=>[p(r(String(i.gancao_reciperl_order_no||"").trim()?"甘草":"自营"),1)]),_:2},1032,["type"]),a("span",zr,"#"+r(i.id),1)])]),pt(i.recipient_phone,i.prescription_phone)?(u(),m("div",Fr,[l(o,null,{default:n(()=>[l(R(ii))]),_:1}),e[102]||(e[102]=a("span",null,"收货手机与处方手机不一致",-1))])):v("",!0),a("div",Ir,[a("div",jr,[e[103]||(e[103]=a("span",{class:"po-card__label"},"收货人",-1)),a("span",Lr,r(i.recipient_name||"—"),1)]),a("div",qr,[e[104]||(e[104]=a("span",{class:"po-card__label"},"金额",-1)),a("span",Mr,"¥"+r(i.amount),1)])]),a("div",Br,[a("div",Hr,[e[105]||(e[105]=a("span",{class:"po-card__label"},"手机",-1)),a("span",{class:j(["po-card__value",pt(i.recipient_phone,i.prescription_phone)?"text-red-600 font-semibold":""])},r(i.recipient_phone||"—"),3)]),a("div",Gr,[e[106]||(e[106]=a("span",{class:"po-card__label"},"费用类别",-1)),a("span",Wr,r(nt(i.fee_type)),1)])]),a("div",Kr,[a("div",Yr,[e[107]||(e[107]=a("span",{class:"po-card__label"},"处方ID",-1)),a("span",Qr,r(i.prescription_id||"—"),1)]),a("div",Jr,[e[108]||(e[108]=a("span",{class:"po-card__label"},"诊单ID",-1)),a("span",Xr,r(i.diagnosis_id||"—"),1)])]),fa()&&i.internal_cost!=null&&i.internal_cost!==""?(u(),m("div",Zr,[a("div",eo,[e[109]||(e[109]=a("span",{class:"po-card__label"},"内部成本",-1)),a("span",to,"¥"+r(i.internal_cost),1)]),a("div",ao,[e[110]||(e[110]=a("span",{class:"po-card__label"},"关联支付",-1)),a("span",so,[Number(i.linked_pay_order_count)>0?(u(),m("span",lo,r(i.linked_pay_order_count)+" 笔",1)):(u(),m("span",no,"—"))])])])):(u(),m("div",io,[a("div",ro,[e[111]||(e[111]=a("span",{class:"po-card__label"},"关联支付",-1)),a("span",oo,[Number(i.linked_pay_order_count)>0?(u(),m("span",uo,r(i.linked_pay_order_count)+" 笔",1)):(u(),m("span",po,"—"))])]),a("div",co,[e[112]||(e[112]=a("span",{class:"po-card__label"},"创建时间",-1)),a("span",_o,r(fe(i.create_time)),1)])])),a("div",mo,[l(d,{type:xa(i.prescription_audit_status),size:"small",class:j(Dt("rx",i))},{default:n(()=>[p(" 处方审: "+r(ba(i.prescription_audit_status)),1)]),_:2},1032,["type","class"]),l(d,{type:xa(i.payment_slip_audit_status),size:"small",class:j(Dt("pay",i))},{default:n(()=>[p(" 支付审: "+r(ba(i.payment_slip_audit_status)),1)]),_:2},1032,["type","class"]),l(d,{type:Ws(i.fulfillment_status),size:"small",class:j(Dt("fulfillment",i))},{default:n(()=>[p(r($t(i.fulfillment_status)),1)]),_:2},1032,["type","class"])]),a("div",fo,[i.doctor_name?(u(),m("span",vo,"医:"+r(i.doctor_name),1)):v("",!0),i.creator_name?(u(),m("span",go,"建:"+r(i.creator_name),1)):v("",!0),fa()&&i.internal_cost!=null&&i.internal_cost!==""?v("",!0):(u(),m("span",yo,r(fe(i.create_time)),1))]),a("div",{class:"po-card__actions",onClick:e[15]||(e[15]=Ot(()=>{},["stop"]))},[T((u(),g(S,{type:"primary",size:"small",onClick:C=>Ia(i.id)},{default:n(()=>[p(r(Ss.value),1)]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/detail"]]]),Sa(i)?T((u(),g(S,{key:0,size:"small",onClick:C=>Al(i)},{default:n(()=>[...e[113]||(e[113]=[p("编辑",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/edit"]]]):v("",!0),Zs(i)?T((u(),g(S,{key:1,type:"success",size:"small",onClick:C=>Fl(i)},{default:n(()=>[...e[114]||(e[114]=[p("改单号",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/ddcode"]]]):v("",!0),Ut(i)?T((u(),g(S,{key:2,type:"primary",size:"small",onClick:C=>aa(i)},{default:n(()=>[...e[115]||(e[115]=[p("发货",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/ship"]]]):v("",!0),el(i)?(u(),g(rs,{key:3,trigger:"click",onCommand:C=>tl(C,i)},{dropdown:n(()=>[l(Ct,null,{default:n(()=>[zt(i)?(u(),g(ge,{key:0,command:"addPayOrder"},{default:n(()=>[...e[117]||(e[117]=[p("补齐支付单",-1)])]),_:1})):v("",!0),Ft(i)?(u(),g(ge,{key:1,command:"complete"},{default:n(()=>[...e[118]||(e[118]=[p("完成订单",-1)])]),_:1})):v("",!0),Na(i)?(u(),g(ge,{key:2,command:"submitGancao"},{default:n(()=>[...e[119]||(e[119]=[p("上传药方",-1)])]),_:1})):v("",!0),Va(i)?(u(),g(ge,{key:3,command:"withdraw",divided:""},{default:n(()=>[...e[120]||(e[120]=[a("span",{class:"text-red-500"},"撤回订单",-1)])]),_:1})):v("",!0)]),_:2},1024)]),default:n(()=>[l(S,{size:"small"},{default:n(()=>[e[116]||(e[116]=p(" 更多",-1)),l(o,{class:"el-icon--right"},{default:n(()=>[l(R(ps))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):v("",!0)])],10,Rr))),128))]),a("div",bo,[l(ia,{modelValue:R(J),"onUpdate:modelValue":e[16]||(e[16]=i=>Fi(J)?J.value=i:null),onChange:R(K)},null,8,["modelValue","onChange"])])]),_:1})),[[ye,R(J).loading]]),l(oa,{modelValue:X.value,"onUpdate:modelValue":e[27]||(e[27]=i=>X.value=i),class:"po-detail-drawer po-detail-drawer--h5",size:"100%",direction:"btt","destroy-on-close":"","close-on-click-modal":!1},{header:n(()=>{var i,C;return[a("div",xo,[a("div",ko,[e[121]||(e[121]=a("span",{class:"po-detail-drawer-title shrink-0 text-gray-800 font-semibold text-lg"},"业务订单详情",-1)),(i=c.value)!=null&&i.order_no?(u(),g(d,{key:0,type:"primary",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:n(()=>[p(r(c.value.order_no),1)]),_:1})):v("",!0),(C=c.value)!=null&&C.gancao_reciperl_order_no?(u(),g(d,{key:1,type:"success",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:n(()=>[p("甘草 "+r(c.value.gancao_reciperl_order_no),1)]),_:1})):v("",!0)]),c.value?(u(),m("div",ho,[Ys(c.value)?T((u(),g(S,{key:0,type:"warning",size:"small",plain:"",onClick:e[17]||(e[17]=N=>qa(c.value,"prescription"))},{default:n(()=>[...e[122]||(e[122]=[p(" 处方审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),Js(c.value)?T((u(),g(S,{key:1,type:"info",size:"small",plain:"",onClick:e[18]||(e[18]=N=>Bl(c.value))},{default:n(()=>[...e[123]||(e[123]=[p(" 撤回处方审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),Qs(c.value)?T((u(),g(S,{key:2,type:"warning",size:"small",plain:"",onClick:e[19]||(e[19]=N=>qa(c.value,"payment"))},{default:n(()=>[...e[124]||(e[124]=[p(" 支付审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),Xs(c.value)?T((u(),g(S,{key:3,type:"info",size:"small",plain:"",onClick:e[20]||(e[20]=N=>Hl(c.value))},{default:n(()=>[...e[125]||(e[125]=[p(" 撤回支付审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),Ut(c.value)?T((u(),g(S,{key:4,type:"primary",size:"small",plain:"",onClick:e[21]||(e[21]=N=>aa(c.value))},{default:n(()=>[...e[126]||(e[126]=[p(" 确认发货 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/ship"]]]):v("",!0),zt(c.value)?T((u(),g(S,{key:5,type:"success",size:"small",plain:"",onClick:e[22]||(e[22]=N=>Ka(c.value))},{default:n(()=>[...e[127]||(e[127]=[p(" 关联支付单 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),Ft(c.value)?T((u(),g(S,{key:6,type:"primary",size:"small",plain:"",onClick:e[23]||(e[23]=N=>Ya(c.value))},{default:n(()=>[...e[128]||(e[128]=[p(" 完成订单 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/complete"]]]):v("",!0)])):v("",!0)])]}),default:n(()=>[jt.value?(u(),g(We,{key:0,rows:12,animated:"",class:"px-6 py-4"})):c.value?(u(),m("div",wo,[Re.value?(u(),g(le,{key:0,type:"error",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:"业务订单收货手机与处方登记手机不一致"},{default:n(()=>[a("div",So,[a("div",null,[e[129]||(e[129]=p(" 处方手机: ",-1)),a("span",Vo,r(sl.value),1)]),a("div",null,[e[130]||(e[130]=p(" 订单收货手机: ",-1)),a("span",No,r(ll.value),1)]),e[131]||(e[131]=a("div",{class:"text-gray-600 mt-1"},"请核对是否代收货或录入错误,避免物流与回访联系错人。",-1))])]),_:1})):v("",!0),a("div",Po,[l(Ke,{class:"po-workflow-steps",direction:"vertical",active:rt.value,"finish-status":"success"},{default:n(()=>[l(oe,{title:"业务订单创建",description:fe(c.value.create_time)},null,8,["description"]),l(oe,{title:"处方单双审",status:ot.value},{description:n(()=>[ot.value==="error"?(u(),m("span",Co,"处方被驳回")):ot.value==="wait"?(u(),m("span",Ao,"等待审核")):ot.value==="success"?(u(),m("span",To,"双审通过")):(u(),m("span",Oo,"进行中"))]),_:1},8,["status"]),l(oe,{title:"支付单审核",status:ut.value},{description:n(()=>[ut.value==="error"?(u(),m("span",Ro,"支付审核驳回")):ut.value==="wait"?(u(),m("span",Eo,"等待审核")):ut.value==="success"?(u(),m("span",Do,"审核通过")):(u(),m("span",$o,"进行中"))]),_:1},8,["status"]),l(oe,{title:"发货与履约",status:ke.value},{description:n(()=>{var i,C,N;return[ke.value==="process"&&Number((i=c.value)==null?void 0:i.fulfillment_status)===7?(u(),m("span",Uo,"进行中")):ke.value==="process"?(u(),m("span",zo,"等待发货/补充单号")):ke.value==="wait"?(u(),m("span",Fo,"待转入履约")):ke.value==="success"?(u(),m("span",Io,r($t((C=c.value)==null?void 0:C.fulfillment_status)),1)):ke.value==="error"?(u(),m("span",jo,r($t((N=c.value)==null?void 0:N.fulfillment_status)),1)):v("",!0)]}),_:1},8,["status"]),l(oe,{title:"订单完成"})]),_:1},8,["active"])]),l(pe,{gutter:16,class:"mb-5"},{default:n(()=>[l(E,{xs:12,sm:6},{default:n(()=>[l(s,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[a("div",Lo,[e[133]||(e[133]=a("div",{class:"stat-title text-gray-500 text-xs"},"总金额",-1)),It(c.value)?T((u(),g(S,{key:0,type:"primary",size:"small",link:"",onClick:bl},{default:n(()=>[...e[132]||(e[132]=[p(" 修改 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/updateAmount"]]]):v("",!0)]),a("div",qo,"¥"+r(c.value.amount),1)]),_:1})]),_:1}),l(E,{xs:12,sm:6},{default:n(()=>[l(s,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[134]||(e[134]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付总额",-1)),a("div",Mo,"¥"+r(c.value.linked_pay_paid_total||0),1)]),_:1})]),_:1}),l(E,{xs:12,sm:6},{default:n(()=>[l(s,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[135]||(e[135]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"需代收",-1)),a("div",{class:j(["stat-value font-bold text-xl",Aa.value>0?"text-amber-600":"text-gray-500"])}," ¥"+r(de(Aa.value)),3)]),_:1})]),_:1}),l(E,{xs:12,sm:6},{default:n(()=>[l(s,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:n(()=>[e[136]||(e[136]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付笔数",-1)),a("div",Bo,r(Lt.value.length)+" 笔",1)]),_:1})]),_:1})]),_:1}),a("div",Ho,[l(s,{shadow:"never",class:"po-panel po-panel-rx border-gray-100 h-full relative overflow-hidden"},{header:n(()=>[a("div",Ko,[a("div",Yo,[e[139]||(e[139]=a("span",{class:"po-panel-rx-header__title font-medium text-[15px] leading-snug"},"处方详情",-1)),a("span",Qo," ID: "+r(c.value.prescription_id||"—"),1)]),c.value.doctor_name?(u(),m("div",Jo,[e[140]||(e[140]=p(" 开方人:",-1)),a("span",Xo,r(c.value.doctor_name),1)])):v("",!0),a("div",Zo,[c.value.prescription_id&&P.value&&!String(c.value.prescription_detail_error||"").trim()?T((u(),g(S,{key:0,type:"default",size:"small",link:"",onClick:vl},{default:n(()=>[...e[141]||(e[141]=[p(" 改患者信息 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/patchPrescriptionPatient"]]]):v("",!0),c.value.prescription_id&&me.value?(u(),g(S,{key:1,type:"primary",size:"small",link:"",onClick:e[24]||(e[24]=i=>ls(c.value))},{default:n(()=>[...e[142]||(e[142]=[p(" 详细 ",-1)])]),_:1})):v("",!0),c.value.id&&me.value?(u(),g(S,{key:2,type:"warning",size:"small",link:"",loading:Ne.value,icon:R(da),onClick:Ul},{default:n(()=>[...e[143]||(e[143]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0)])])]),default:n(()=>[c.value.prescription_audit_status===1?(u(),m("div",Go,[...e[137]||(e[137]=[a("div",{class:"stamp-inner"},"审核通过",-1)])])):v("",!0),c.value.prescription_audit_status===2?(u(),m("div",Wo,[...e[138]||(e[138]=[a("div",{class:"stamp-inner"},"已驳回",-1)])])):v("",!0),String(c.value.prescription_detail_error||"").trim()?(u(),g(le,{key:2,title:c.value.prescription_detail_error,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):P.value?(u(),m(D,{key:3},[l(Ye,{column:1,border:"",size:"small",class:"po-desc bg-white"},{default:n(()=>[l(V,{label:"处方编号",span:2},{default:n(()=>[p(r(P.value.sn||"—"),1)]),_:1}),l(V,{label:"患者"},{default:n(()=>[p(r(P.value.patient_name||"—"),1)]),_:1}),l(V,{label:"性别 / 年龄"},{default:n(()=>[p(r(P.value.gender_desc||"—")+" · "+r(P.value.age??"—")+"岁 ",1)]),_:1}),l(V,{label:"手机"},{default:n(()=>[a("span",{class:j(Re.value?"rx-phone-mismatch text-red-600 font-bold":"")},r(P.value.phone||"—"),3),Re.value?(u(),g(d,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:n(()=>[...e[144]||(e[144]=[p(" 与订单手机不一致 ",-1)])]),_:1})):v("",!0)]),_:1}),l(V,{label:"处方日期"},{default:n(()=>[p(r(P.value.prescription_date||"—"),1)]),_:1}),l(V,{label:"医师"},{default:n(()=>[p(r(P.value.doctor_name||"—"),1)]),_:1}),l(V,{label:"类型"},{default:n(()=>[p(r(P.value.prescription_type||"—"),1)]),_:1}),l(V,{label:"临床诊断",span:2},{default:n(()=>[p(r(P.value.clinical_diagnosis||"—"),1)]),_:1}),me.value?(u(),g(V,{key:0,label:"剂数 / 用法",span:2},{default:n(()=>[p(r(c.value.dose_count??P.value.dose_count??"—")+" "+r(c.value.dose_unit||"剂")+" · "+r(P.value.usage_instruction||P.value.usage_method||"—"),1)]),_:1})):v("",!0),l(V,{label:"处方金额"},{default:n(()=>[a("span",eu,"¥"+r(P.value.amount??"—"),1)]),_:1}),l(V,{label:"消费者审核"},{default:n(()=>[l(d,{type:ol(P.value.audit_status),size:"small"},{default:n(()=>[p(r(rl(P.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),l(V,{label:"用量"},{default:n(()=>[P.value.dosage_amount?(u(),m(D,{key:0},[p(r(P.value.dosage_amount)+r(P.value.dosage_unit||"g")+" ",1),P.value.prescription_type==="浓缩水丸"?(u(),m(D,{key:0},[p(" · "+r(Number(P.value.dosage_bag_count)>0?Number(P.value.dosage_bag_count):1)+"袋 ",1)],64)):v("",!0),P.value.prescription_type==="饮片"&&P.value.need_decoction!==null?(u(),m("span",tu," ("+r(P.value.need_decoction?"代煎":"不代煎")+") ",1)):v("",!0)],64)):(u(),m(D,{key:1},[p("—")],64))]),_:1}),l(V,{label:"服用方式"},{default:n(()=>[a("div",au,[a("div",null,[e[145]||(e[145]=a("span",{class:"text-gray-500"},"每天次数:",-1)),p(" "+r(P.value.times_per_day?P.value.times_per_day+" 次":"—"),1)]),a("div",null,[e[146]||(e[146]=a("span",{class:"text-gray-500"},"处方开立:",-1)),p(" "+r(P.value.usage_days!=null&&P.value.usage_days!==""?P.value.usage_days+" 天":"—"),1)]),a("div",null,[e[147]||(e[147]=a("span",{class:"text-gray-500"},"订单设置:",-1)),p(" "+r(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)])])]),_:1}),l(V,{label:"状态",span:2},{default:n(()=>[l(d,{type:Number(P.value.void_status)===1?"danger":"success",size:"small"},{default:n(()=>[p(r(Number(P.value.void_status)===1?"已作废":"正常"),1)]),_:1},8,["type"])]),_:1})]),_:1}),nl.value?(u(),m("div",su,[e[148]||(e[148]=a("div",{class:"text-xs font-medium text-gray-500 mb-2 px-1"},"药材明细",-1)),Ra.value.length?(u(),g(At,{key:0,data:Ra.value,size:"small",border:"",stripe:"","max-height":"260"},{default:n(()=>[l(U,{type:"index",label:"#",width:"48",align:"center"}),l(U,{prop:"name",label:"药名","min-width":"120","show-overflow-tooltip":""}),l(U,{prop:"dosage",label:"用量(g)",width:"96",align:"right"})]),_:1},8,["data"])):(u(),g(re,{key:1,description:"无处方药材明细","image-size":64}))])):v("",!0)],64)):(u(),g(re,{key:4,description:"无处方数据","image-size":72}))]),_:1}),a("div",lu,[l(s,{shadow:"never",class:"po-panel border-gray-100"},{header:n(()=>[...e[149]||(e[149]=[a("div",{class:"flex items-center justify-between"},[a("span",{class:"font-medium text-[15px]"},"未关联的收款记录"),a("span",{class:"text-xs text-gray-400"},"本诊单下未被占用的支付单")],-1)])]),default:n(()=>[he.value.length?(u(),g(At,{key:0,data:he.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:n(()=>[l(U,{prop:"id",label:"ID",width:"70"}),l(U,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),l(U,{label:"类型",width:"90"},{default:n(({row:i})=>[p(r(i.order_type_desc||nt(i.order_type)),1)]),_:1}),l(U,{label:"金额",width:"86",align:"right"},{default:n(({row:i})=>[a("span",nu,"¥"+r(i.amount),1)]),_:1}),l(U,{label:"状态",width:"100",align:"center"},{default:n(({row:i})=>[l(d,{type:Da(i.status),size:"small"},{default:n(()=>[p(r(i.status_desc||Pa(i.status)),1)]),_:2},1032,["type"]),i.is_exempt===1?(u(),g(d,{key:0,type:"warning",size:"small",class:"ml-1"},{default:n(()=>[...e[150]||(e[150]=[p("豁免",-1)])]),_:1})):v("",!0)]),_:1}),l(U,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),l(U,{label:"创建时间","min-width":"136"},{default:n(({row:i})=>[p(r($a(i.create_time)),1)]),_:1})]),_:1},8,["data"])):(u(),g(re,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),l(s,{shadow:"never",class:"po-panel po-panel-pay border-gray-100 relative overflow-hidden"},{header:n(()=>[a("div",ou,[a("div",uu,[e[154]||(e[154]=a("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),c.value.creator_name?(u(),m("span",du,[e[153]||(e[153]=p(" 创建人:",-1)),a("span",pu,r(c.value.creator_name),1)])):v("",!0)])])]),default:n(()=>[c.value.payment_slip_audit_status===1?(u(),m("div",iu,[...e[151]||(e[151]=[a("div",{class:"stamp-inner"},"审核通过",-1)])])):v("",!0),c.value.payment_slip_audit_status===2?(u(),m("div",ru,[...e[152]||(e[152]=[a("div",{class:"stamp-inner"},"已驳回",-1)])])):v("",!0),Lt.value.length?(u(),g(At,{key:2,data:Lt.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:n(()=>[l(U,{prop:"id",label:"ID",width:"70"}),l(U,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),l(U,{label:"类型",width:"90"},{default:n(({row:i})=>[p(r(i.order_type_desc||nt(i.order_type)),1)]),_:1}),l(U,{label:"金额",width:"86",align:"right"},{default:n(({row:i})=>[a("span",cu,"¥"+r(i.amount),1)]),_:1}),l(U,{label:"状态",width:"100",align:"center"},{default:n(({row:i})=>[l(d,{type:Da(i.status),size:"small"},{default:n(()=>[p(r(i.status_desc||Pa(i.status)),1)]),_:2},1032,["type"]),i.is_exempt===1?(u(),g(d,{key:0,type:"warning",size:"small",class:"ml-1"},{default:n(()=>[...e[155]||(e[155]=[p("豁免",-1)])]),_:1})):v("",!0)]),_:1}),l(U,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),l(U,{label:"创建时间","min-width":"136"},{default:n(({row:i})=>[p(r($a(i.create_time)),1)]),_:1})]),_:1},8,["data"])):(u(),g(re,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),l(s,{shadow:"never",class:"po-panel po-panel-biz border-gray-100 mb-4"},{header:n(()=>[...e[156]||(e[156]=[a("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:n(()=>[l(Ye,{column:1,border:"",size:"small",class:"po-desc"},{default:n(()=>[l(V,{label:"诊单ID"},{default:n(()=>[a("div",_u,[a("div",mu,[e[157]||(e[157]=a("span",{class:"text-[11px] font-semibold uppercase tracking-[0.06em] text-slate-500"},"关联诊单",-1)),a("span",fu,r(c.value.diagnosis_id||"—"),1),e[158]||(e[158]=a("span",{class:"text-[12px] leading-snug text-slate-500"},"病历与体征以诊单为准,可全屏查看",-1))]),Number(c.value.diagnosis_id)>0?(u(),g(S,{key:0,type:"primary",plain:"",round:"",size:"default",class:"po-biz-diagnosis-id__btn w-full shrink-0 touch-manipulation sm:w-auto !m-0",icon:R(ri),"aria-label":"打开关联诊单详情(患者与病历)",onClick:gs},{default:n(()=>[...e[159]||(e[159]=[p(" 查看诊单详情 ",-1)])]),_:1},8,["icon"])):v("",!0)])]),_:1}),l(V,{label:"创建时间"},{default:n(()=>[p(r(fe(c.value.create_time)),1)]),_:1}),l(V,{label:"收货人"},{default:n(()=>[p(r(c.value.recipient_name),1)]),_:1}),l(V,{label:"挂号关联",span:3},{default:n(()=>[W.value?(u(),m(D,{key:0},[a("div",vu,[a("span",null,[e[160]||(e[160]=p("预约 ",-1)),a("span",gu,"#"+r(W.value.id),1)]),a("span",yu,"时间:"+r(W.value.appointment_date)+" "+r(W.value.period)+" "+r(W.value.appointment_time),1),l(d,{size:"small",type:"info"},{default:n(()=>[p(r(W.value.appointment_type_desc),1)]),_:1}),l(d,{size:"small"},{default:n(()=>[p(r(W.value.status_desc),1)]),_:1}),W.value.doctor_name?(u(),m("span",bu,"接诊:"+r(W.value.doctor_name),1)):v("",!0),W.value.channel_source?(u(),m("span",xu,"渠道:"+r(W.value.channel_source),1)):v("",!0),Oa.value?(u(),g(d,{key:2,size:"small",effect:"plain"},{default:n(()=>[p(r(Oa.value),1)]),_:1})):v("",!0)]),String(W.value.remark||"").trim()?(u(),m("p",ku," 备注:"+r(W.value.remark),1)):v("",!0)],64)):(u(),m("span",hu,"暂无挂号预约记录(未绑定或诊单下无预约)"))]),_:1}),l(V,{label:"收货手机"},{default:n(()=>[a("span",{class:j(Re.value?"text-red-600 font-bold font-mono":"font-mono")},r(c.value.recipient_phone||"—"),3),Re.value?(u(),g(d,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:n(()=>[...e[161]||(e[161]=[p(" 与处方手机不一致 ",-1)])]),_:1})):v("",!0)]),_:1}),l(V,{label:"收货地址",span:2},{default:n(()=>[p(r(il.value),1)]),_:1}),l(V,{label:"复诊"},{default:n(()=>[p(r(c.value.is_follow_up?"是":"否"),1)]),_:1}),l(V,{label:"用药疗程"},{default:n(()=>[p(r(c.value.medication_days?c.value.medication_days+" 天":"—"),1)]),_:1}),l(V,{label:"上次医护"},{default:n(()=>[p(r(c.value.prev_staff||"—"),1)]),_:1}),l(V,{label:"服务渠道"},{default:n(()=>[p(r(c.value.service_channel||"—"),1)]),_:1}),l(V,{label:"服务套餐"},{default:n(()=>[p(r(Gs(c.value.service_package)),1)]),_:1}),l(V,{label:"费用类别"},{default:n(()=>[p(r(nt(c.value.fee_type)),1)]),_:1}),c.value.internal_cost!=null&&c.value.internal_cost!==""?(u(),g(V,{key:0,label:"内部成本"},{default:n(()=>[p(" ¥"+r(c.value.internal_cost),1)]),_:1})):v("",!0),l(V,{label:"快递单号",span:c.value.internal_cost!=null&&c.value.internal_cost!==""?1:2},{default:n(()=>[p(r(c.value.tracking_number||"—"),1)]),_:1},8,["span"]),l(V,{label:"快递公司"},{default:n(()=>[p(r(ml(c.value.express_company)),1)]),_:1}),T((u(),g(V,{label:"备注",span:3},{default:n(()=>[p(r(c.value.remark_extra||"—"),1)]),_:1})),[[q,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(V,{label:"医助备注",span:3},{default:n(()=>[p(r(c.value.remark_assistant||"—"),1)]),_:1}),l(V,{label:"处方审核意见",span:3},{default:n(()=>[a("span",wu,r(c.value.prescription_audit_remark||"—"),1)]),_:1}),l(V,{label:"支付审核意见",span:3},{default:n(()=>[a("span",Su,r(c.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),String(c.value.tracking_number||"").trim()?(u(),g(s,{key:1,shadow:"never",class:"po-panel po-panel-logistics border-gray-100"},{header:n(()=>[...e[162]||(e[162]=[a("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)])]),default:n(()=>{var i,C,N,I,Qe,Je;return[e[168]||(e[168]=a("p",{class:"po-logistics-tip text-gray-400 text-xs mb-3 font-normal"}," 优先读库,无记录时走快递100。顺丰会校验单号+电话(快递100要求完整手机号更易通过);默认预填订单收货手机,若仍提示验证码错误请改成与顺丰面单一致的号码。 ",-1)),a("div",Vu,[l(k,{modelValue:De.value,"onUpdate:modelValue":e[25]||(e[25]=ue=>De.value=ue),clearable:"",maxlength:"20",placeholder:"收件手机(建议11位,与面单一致)",class:"po-logistics-toolbar__phone",onKeyup:Ze(Wt,["enter"])},null,8,["modelValue"]),l($,{modelValue:Ee.value,"onUpdate:modelValue":e[26]||(e[26]=ue=>Ee.value=ue),placeholder:"承运商",class:"po-logistics-toolbar__carrier"},{default:n(()=>[l(y,{label:"自动识别",value:"auto"}),l(y,{label:"顺丰速运",value:"sf"}),l(y,{label:"京东快递",value:"jd"}),l(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),T((u(),g(S,{type:"primary",plain:"",size:"default",loading:ct.value,class:"po-logistics-toolbar__btn",onClick:Wt},{icon:n(()=>[l(o,null,{default:n(()=>[l(R(oi))]),_:1})]),default:n(()=>[e[163]||(e[163]=p(" 刷新轨迹 ",-1))]),_:1},8,["loading"])),[[q,["tcm.prescriptionOrder/logisticsTrace"]]]),a("div",Nu,[l(ra,{href:Gt.value.sf,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[164]||(e[164]=[p("顺丰官网",-1)])]),_:1},8,["href"]),l(ra,{href:Gt.value.jd,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[165]||(e[165]=[p("京东物流",-1)])]),_:1},8,["href"]),l(ra,{href:Gt.value.jt,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:n(()=>[...e[166]||(e[166]=[p("极兔",-1)])]),_:1},8,["href"])])]),String(((i=H.value)==null?void 0:i.hint)||"").trim()?(u(),g(le,{key:0,title:String(((C=H.value)==null?void 0:C.hint)||""),type:"info",closable:!1,class:"mb-4","show-icon":""},null,8,["title"])):v("",!0),ct.value&&!H.value?(u(),m("div",Pu,[l(o,{class:"is-loading mr-1"},{default:n(()=>[l(R(ui))]),_:1}),e[167]||(e[167]=p("正在加载物流轨迹... ",-1))])):H.value?(u(),m("div",Cu,[(N=H.value)!=null&&N.state_text?(u(),m("div",Au,[a("span",Tu,"状态:"+r(H.value.state_text),1),(I=H.value)!=null&&I.carrier_label?(u(),g(d,{key:0,size:"small",type:"info"},{default:n(()=>[p(r(H.value.carrier_label),1)]),_:1})):v("",!0),(Qe=H.value)!=null&&Qe.source?(u(),m("span",Ou," ["+r(H.value.source==="database"?"数据库缓存":"API拉取")+"] ",1)):v("",!0),(Je=H.value)!=null&&Je.last_query_time?(u(),m("span",Ru," 更新时间:"+r(H.value.last_query_time),1)):v("",!0)])):v("",!0),Ua.value.length?(u(),g(us,{key:1,class:"mt-2 pl-2"},{default:n(()=>[(u(!0),m(D,null,B(Ua.value,(ue,be)=>(u(),g(os,{key:be,type:be===0?"primary":"info",hollow:be!==0,timestamp:ue.time,placement:"top"},{default:n(()=>[a("span",{class:j(be===0?"text-gray-800 font-medium":"text-gray-500")},r(ue.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(u(),g(re,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):v("",!0)]}),_:1})):v("",!0),T((u(),g(s,{shadow:"never",class:"po-panel border-gray-100 mt-4"},{header:n(()=>[...e[169]||(e[169]=[a("span",{class:"font-medium text-[15px]"},"操作日志",-1)])]),default:n(()=>[we.value.length?(u(),g(us,{key:0,class:"mt-2 pl-2"},{default:n(()=>[(u(!0),m(D,null,B(we.value,(i,C)=>(u(),g(os,{key:i.id,type:C===0?"primary":"info",hollow:C!==0,timestamp:fe(i.create_time),placement:"top"},{default:n(()=>[a("div",Eu,[a("span",Du,r(i.admin_name),1),l(d,{size:"small",type:"info"},{default:n(()=>[p(r(_l(i.action)),1)]),_:2},1024)]),a("span",{class:j(C===0?"text-gray-800 font-medium":"text-gray-500")},r(i.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(u(),g(re,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[q,["tcm.prescriptionOrder/logs"]]])])):v("",!0)]),_:1},8,["modelValue"]),l(ce,{modelValue:$e.value,"onUpdate:modelValue":e[30]||(e[30]=i=>$e.value=i),title:"修改订单金额",width:"92%","destroy-on-close":"","close-on-click-modal":!1,onClosed:yl},{footer:n(()=>[l(S,{onClick:e[29]||(e[29]=i=>$e.value=!1)},{default:n(()=>[...e[171]||(e[171]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:Bt.value,onClick:Fa},{default:n(()=>[...e[172]||(e[172]=[p(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(F,{ref_key:"updateAmountFormRef",ref:_t,model:ie,rules:pl,"label-width":"84px",onSubmit:Ot(Fa,["prevent"])},{default:n(()=>[l(f,{label:"当前金额"},{default:n(()=>{var i;return[a("div",$u,"¥"+r(de((i=c.value)==null?void 0:i.amount)),1)]}),_:1}),l(f,{label:"新金额",prop:"amount"},{default:n(()=>[l(Ce,{modelValue:ie.amount,"onUpdate:modelValue":e[28]||(e[28]=i=>ie.amount=i),min:.01,step:.01,precision:2,"controls-position":"right",class:"w-full",placeholder:"请输入新金额"},null,8,["modelValue"])]),_:1}),e[170]||(e[170]=a("div",{class:"text-xs text-gray-400 pl-[84px] -mt-1 leading-relaxed"}," 已完成或已取消订单不可修改。提交成功后会刷新详情与操作日志。 ",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(ce,{modelValue:ve.value,"onUpdate:modelValue":e[51]||(e[51]=i=>ve.value=i),title:"编辑业务订单",width:"96%",top:"2vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog create-order-dialog--h5",onClosed:Nl},{footer:n(()=>[a("div",fd,[a("div",vd,[a("span",gd,"第 "+r(L.value+1)+" / 3 步",1),L.value===2&&M.value>0?(u(),m("span",yd," 订单金额与关联支付单合计须 ≥ ¥"+r(de(M.value)),1)):v("",!0)]),a("div",bd,[l(S,{size:"large",onClick:e[50]||(e[50]=i=>ve.value=!1)},{default:n(()=>[...e[185]||(e[185]=[p("取消",-1)])]),_:1}),L.value>0?(u(),g(S,{key:0,size:"large",onClick:Pl},{default:n(()=>[...e[186]||(e[186]=[p("上一步",-1)])]),_:1})):v("",!0),L.value<2?(u(),g(S,{key:1,type:"primary",size:"large",onClick:Cl},{default:n(()=>[...e[187]||(e[187]=[p(" 下一步 ",-1)])]),_:1})):v("",!0),L.value===2?(u(),g(S,{key:2,type:"primary",size:"large",loading:Jt.value,onClick:Tl},{default:n(()=>[...e[188]||(e[188]=[p(" 确认保存 ",-1)])]),_:1},8,["loading"])):v("",!0)])])]),default:n(()=>[T((u(),m("div",Uu,[se.value?(u(),m("div",zu,[a("div",Fu,[e[173]||(e[173]=a("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),a("div",Iu,[a("span",ju,"#"+r(se.value.id),1),se.value.sn?(u(),m("span",Lu,r(se.value.sn),1)):v("",!0),a("span",qu,r(se.value.patient_name||"—"),1)])]),l(ds,{content:ja.value,placement:"bottom","show-after":300},{default:n(()=>[a("div",Mu,r(ja.value),1)]),_:1},8,["content"])])):v("",!0),l(Ke,{active:L.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:n(()=>[l(oe,{title:"患者与收货",description:"诊单与物流地址"}),l(oe,{title:"服务与支付单",description:"套餐与关联收款"}),l(oe,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),a("p",Bu,r(kl.value),1),l(F,{ref_key:"editFormRef",ref:Se,model:_,rules:Vl.value,"label-width":"108px",class:"create-order-form"},{default:n(()=>[T(a("div",Hu,[l(pe,{gutter:20},{default:n(()=>[l(E,{span:12},{default:n(()=>[l(f,{label:"收货人",prop:"recipient_name"},{default:n(()=>[l(k,{modelValue:_.recipient_name,"onUpdate:modelValue":e[31]||(e[31]=i=>_.recipient_name=i),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:"收货手机",prop:"recipient_phone"},{default:n(()=>[l(k,{modelValue:_.recipient_phone,"onUpdate:modelValue":e[32]||(e[32]=i=>_.recipient_phone=i),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{span:24},{default:n(()=>[l(f,{label:"省市区",prop:"region"},{default:n(()=>[l(pn,{modelValue:_.region,"onUpdate:modelValue":e[33]||(e[33]=i=>_.region=i),options:et.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),l(E,{span:24},{default:n(()=>[l(f,{label:"详细地址",prop:"shipping_address"},{default:n(()=>[l(k,{modelValue:_.shipping_address,"onUpdate:modelValue":e[34]||(e[34]=i=>_.shipping_address=i),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Tt,L.value===0]]),T(a("div",Gu,[me.value?(u(),g(pe,{key:0,gutter:20,class:"mb-1"},{default:n(()=>[l(E,{span:24},{default:n(()=>[a("div",Wu,[e[176]||(e[176]=a("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),_.prescription_id?(u(),g(S,{key:0,type:"primary",size:"small",link:"",onClick:rn},{default:n(()=>[...e[174]||(e[174]=[p(" 详细 ",-1)])]),_:1})):v("",!0),_.id?(u(),g(S,{key:1,type:"warning",size:"small",link:"",loading:Ne.value,icon:R(da),onClick:$l},{default:n(()=>[...e[175]||(e[175]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0),a("span",Ku,"ID: "+r(_.prescription_id||"—"),1)]),a("div",Yu,[La.value.length?(u(),m("div",Qu,[e[177]||(e[177]=a("div",{class:"text-gray-500"},"创建人所属部门",-1)),(u(!0),m(D,null,B(La.value,(i,C)=>(u(),m("div",{key:C,class:"pl-0 min-w-0"},[i.length?(u(),g(_n,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:n(()=>[(u(!0),m(D,null,B(i,(N,I)=>(u(),g(cn,{key:I},{default:n(()=>[a("span",Ju,r(N),1)]),_:2},1024))),128))]),_:2},1024)):v("",!0)]))),128))])):(u(),m("div",Xu,"创建人所属部门:—"))])]),_:1}),l(E,{xs:24,sm:8},{default:n(()=>[l(f,{label:"复诊"},{default:n(()=>[l(mn,{modelValue:_.is_follow_up,"onUpdate:modelValue":e[35]||(e[35]=i=>_.is_follow_up=i),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{xs:24,sm:8},{default:n(()=>[l(f,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:n(()=>[a("div",Zu,[l(Ce,{modelValue:_.medication_days,"onUpdate:modelValue":e[36]||(e[36]=i=>_.medication_days=i),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[178]||(e[178]=a("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),l(E,{xs:24,sm:8},{default:n(()=>[l(f,{label:"上次医生"},{default:n(()=>[l(k,{modelValue:_.prev_staff,"onUpdate:modelValue":e[37]||(e[37]=i=>_.prev_staff=i),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:Ea.value,prop:"dose_count"},{default:n(()=>[l(Ce,{modelValue:_.dose_count,"onUpdate:modelValue":e[38]||(e[38]=i=>_.dose_count=i),min:1,placeholder:Ea.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:"剂量单位",prop:"dose_unit"},{default:n(()=>[l($,{modelValue:_.dose_unit,"onUpdate:modelValue":e[39]||(e[39]=i=>_.dose_unit=i),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(y,{label:"剂",value:"剂"}),l(y,{label:"丸",value:"丸"}),l(y,{label:"袋",value:"袋"}),l(y,{label:"盒",value:"盒"}),l(y,{label:"瓶",value:"瓶"}),l(y,{label:"膏",value:"膏"}),l(y,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):v("",!0),l(pe,{gutter:20},{default:n(()=>[l(E,{span:12},{default:n(()=>[l(f,{label:"服务渠道"},{default:n(()=>[l(k,{modelValue:_.service_channel,"onUpdate:modelValue":e[40]||(e[40]=i=>_.service_channel=i),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:"服务套餐"},{default:n(()=>[l($,{modelValue:_.service_package,"onUpdate:modelValue":e[41]||(e[41]=i=>_.service_package=i),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:n(()=>[(u(!0),m(D,null,B(Te.value,i=>(u(),g(y,{key:i.value,label:i.name,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(E,{span:24},{default:n(()=>[l(f,{label:"物流设置"},{default:n(()=>[a("div",ed,[l($,{modelValue:_.express_company,"onUpdate:modelValue":e[42]||(e[42]=i=>_.express_company=i),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(y,{label:"自动识别",value:"auto"}),l(y,{label:"顺丰速运",value:"sf"}),l(y,{label:"京东快递",value:"jd"}),l(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(k,{modelValue:_.tracking_number,"onUpdate:modelValue":e[43]||(e[43]=i=>_.tracking_number=i),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),l(E,{span:24},{default:n(()=>[l(f,{label:"关联支付单",prop:"pay_order_ids",required:M.value>0},{default:n(()=>[l($,{modelValue:_.pay_order_ids,"onUpdate:modelValue":e[44]||(e[44]=i=>_.pay_order_ids=i),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:M.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Xt.value},{default:n(()=>[(u(!0),m(D,null,B(ze.value,i=>(u(),g(y,{key:i.id,label:`${i.order_no} · ¥${i.amount} · ${Zt(i.order_type)}`,value:i.id,class:"!h-auto py-1.5"},{default:n(()=>[a("div",td,[a("div",ad,[a("span",sd,r(i.order_no),1),a("span",ld,"¥"+r(i.amount),1)]),a("div",nd,[a("span",id,[p(r(Zt(i.order_type)),1),i.remark?(u(),m(D,{key:0},[p(" · "+r(i.remark),1)],64)):v("",!0)]),a("span",rd,r(String(i.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),a("div",od,[M.value>0?(u(),m(D,{key:0},[a("span",ud,"当前已开启关联支付门槛(¥"+r(de(M.value))+"),须至少选择一笔支付单。",1),e[179]||(e[179]=a("span",{class:"mx-1"},null,-1))],64)):v("",!0),e[181]||(e[181]=p(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),l(ds,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:n(()=>[...e[180]||(e[180]=[a("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1},8,["required"])]),_:1})]),_:1})],512),[[Tt,L.value===1]]),T(a("div",dd,[a("div",{class:j(["create-order-deposit-bar",ea.value>=M.value?"is-ok":"is-warn"])},[a("div",pd,[e[182]||(e[182]=a("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),a("strong",null,"¥"+r(de(M.value)),1),a("span",cd,r(M.value>0?"须 ≥ 此值":"未设置"),1)]),e[184]||(e[184]=a("div",{class:"create-order-deposit-bar__sep"},null,-1)),a("div",_d,[e[183]||(e[183]=a("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),a("strong",null,"¥"+r(de(ea.value)),1),a("span",md,r(ea.value>=M.value?"已达标":"未达标"),1)])],2),l(pe,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:n(()=>[l(E,{span:12},{default:n(()=>[l(f,{label:"费用类别",prop:"fee_type"},{default:n(()=>[l($,{modelValue:_.fee_type,"onUpdate:modelValue":e[45]||(e[45]=i=>_.fee_type=i),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(y,{label:"挂号费",value:1}),l(y,{label:"问诊费",value:2}),l(y,{label:"药品费用",value:3}),l(y,{label:"首付费用",value:4}),l(y,{label:"尾款费用",value:5}),l(y,{label:"其他费用",value:6}),l(y,{label:"全部费用",value:7}),l(y,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(E,{span:12},{default:n(()=>[l(f,{label:"总金额",prop:"amount"},{default:n(()=>[l(Ce,{modelValue:_.amount,"onUpdate:modelValue":e[46]||(e[46]=i=>_.amount=i),min:wl.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),T((u(),g(E,{span:12},{default:n(()=>[l(f,{label:"内部成本"},{default:n(()=>[l(Ce,{modelValue:_.internal_cost,"onUpdate:modelValue":e[47]||(e[47]=i=>_.internal_cost=i),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[q,["finance.account_log/lists"]]]),l(E,{span:24},{default:n(()=>[T((u(),g(f,{label:"药房备注"},{default:n(()=>[l(k,{modelValue:_.remark_extra,"onUpdate:modelValue":e[48]||(e[48]=i=>_.remark_extra=i),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[q,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(f,{label:"医助备注"},{default:n(()=>[l(k,{modelValue:_.remark_assistant,"onUpdate:modelValue":e[49]||(e[49]=i=>_.remark_assistant=i),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Tt,L.value===2]])]),_:1},8,["model","rules"])])),[[ye,Qt.value]])]),_:1},8,["modelValue"]),l(ce,{modelValue:Fe.value,"onUpdate:modelValue":e[56]||(e[56]=i=>Fe.value=i),title:Ol.value,width:"92%","destroy-on-close":"",class:"po-h5-dialog",onClosed:e[57]||(e[57]=i=>Ve.value="")},{footer:n(()=>[l(S,{onClick:e[53]||(e[53]=i=>Fe.value=!1)},{default:n(()=>[...e[190]||(e[190]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:ft.value,onClick:e[54]||(e[54]=i=>Ma("approve"))},{default:n(()=>[...e[191]||(e[191]=[p("同意通过",-1)])]),_:1},8,["loading"]),l(S,{type:"danger",loading:ft.value,onClick:e[55]||(e[55]=i=>Ma("reject"))},{default:n(()=>[...e[192]||(e[192]=[p("驳回阻止",-1)])]),_:1},8,["loading"])]),default:n(()=>[Ie.value&&Ie.value.completion_request===1?(u(),g(le,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:n(()=>[a("div",xd,[e[189]||(e[189]=a("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),a("div",kd," 申请人:"+r(Ie.value.completion_request_by_name||"—"),1),a("div",hd," 申请时间:"+r(fe(Ie.value.completion_request_time)),1)])]),_:1})):v("",!0),e[193]||(e[193]=a("p",{class:"text-[13px] text-gray-500 mb-3 bg-gray-50/80 border border-gray-100 p-2 rounded"},"驳回时必须填写意见;通过时意见选填。",-1)),l(k,{modelValue:Ve.value,"onUpdate:modelValue":e[52]||(e[52]=i=>Ve.value=i),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),l(ce,{modelValue:je.value,"onUpdate:modelValue":e[61]||(e[61]=i=>je.value=i),title:"修改快递单号",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:n(()=>[l(S,{onClick:e[60]||(e[60]=i=>je.value=!1)},{default:n(()=>[...e[195]||(e[195]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:gt.value,onClick:Ga},{default:n(()=>[...e[196]||(e[196]=[p("保存单号",-1)])]),_:1},8,["loading"])]),default:n(()=>[T((u(),g(F,{"label-width":"90px",class:"pr-2",onSubmit:Ot(Ga,["prevent"])},{default:n(()=>[l(f,{label:"承运商"},{default:n(()=>[l($,{modelValue:Z.express_company,"onUpdate:modelValue":e[58]||(e[58]=i=>Z.express_company=i),class:"w-full",placeholder:"选择承运商"},{default:n(()=>[l(y,{label:"自动识别",value:"auto"}),l(y,{label:"顺丰速运",value:"sf"}),l(y,{label:"京东快递",value:"jd"}),l(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"快递单号"},{default:n(()=>[l(k,{modelValue:Z.tracking_number,"onUpdate:modelValue":e[59]||(e[59]=i=>Z.tracking_number=i),maxlength:"80",placeholder:"请输入快递单号",clearable:"",autofocus:""},null,8,["modelValue"])]),_:1}),e[194]||(e[194]=a("div",{class:"text-xs text-gray-400 pl-[90px] -mt-1 leading-relaxed"}," 仅更新快递信息,其他字段不受影响。 ",-1))]),_:1})),[[ye,gt.value]])]),_:1},8,["modelValue"]),l(ce,{modelValue:qe.value,"onUpdate:modelValue":e[66]||(e[66]=i=>qe.value=i),title:"确认发货",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:n(()=>[l(S,{onClick:e[65]||(e[65]=i=>qe.value=!1)},{default:n(()=>[...e[199]||(e[199]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:yt.value,onClick:Wa},{default:n(()=>[...e[200]||(e[200]=[p(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(le,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),T((u(),g(F,{"label-width":"90px",class:"pr-2",onSubmit:Ot(Wa,["prevent"])},{default:n(()=>[l(f,{label:"发货方式"},{default:n(()=>[l(ua,{modelValue:Y.ship_mode,"onUpdate:modelValue":e[62]||(e[62]=i=>Y.ship_mode=i)},{default:n(()=>[l(Ae,{label:"gancao"},{default:n(()=>[...e[197]||(e[197]=[p("甘草药方发",-1)])]),_:1}),l(Ae,{label:"direct"},{default:n(()=>[...e[198]||(e[198]=[p("药房直发",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"承运商"},{default:n(()=>[l($,{modelValue:Y.express_company,"onUpdate:modelValue":e[63]||(e[63]=i=>Y.express_company=i),class:"w-full"},{default:n(()=>[l(y,{label:"自动识别",value:"auto"}),l(y,{label:"顺丰速运",value:"sf"}),l(y,{label:"京东快递",value:"jd"}),l(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"快递单号"},{default:n(()=>[l(k,{modelValue:Y.tracking_number,"onUpdate:modelValue":e[64]||(e[64]=i=>Y.tracking_number=i),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[ye,yt.value]])]),_:1},8,["modelValue"]),l(ce,{modelValue:Me.value,"onUpdate:modelValue":e[69]||(e[69]=i=>Me.value=i),title:"完成订单",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:e[70]||(e[70]=i=>sa.value=0)},{footer:n(()=>[l(S,{onClick:e[68]||(e[68]=i=>Me.value=!1)},{default:n(()=>[...e[201]||(e[201]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:la.value,onClick:jl},{default:n(()=>[...e[202]||(e[202]=[p(" 确定 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[e[203]||(e[203]=a("p",{class:"text-sm text-gray-600 mb-3"},"请选择本单结案状态。选择「已完成」时,实付将按已关联的支付单金额汇总。",-1)),l($,{modelValue:xt.value,"onUpdate:modelValue":e[67]||(e[67]=i=>xt.value=i),class:"w-full",placeholder:"请选择"},{default:n(()=>[(u(),m(D,null,B(Il,i=>l(y,{key:i.value,label:i.label,value:i.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"]),l(ce,{modelValue:Be.value,"onUpdate:modelValue":e[78]||(e[78]=i=>Be.value=i),title:"补齐支付单",width:"94%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:e[79]||(e[79]=i=>{var C;return(C=ht.value)==null?void 0:C.clearValidate()})},{footer:n(()=>[l(S,{onClick:e[77]||(e[77]=i=>Be.value=!1)},{default:n(()=>[...e[210]||(e[210]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:kt.value,onClick:Ml},{default:n(()=>[...e[211]||(e[211]=[p("确认新增",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(le,{title:"可以手动创建新支付单,或关联已存在但未绑定的支付单。",type:"info",closable:!1,"show-icon":"",class:"mb-4"}),T((u(),g(F,{ref_key:"addPayOrderFormRef",ref:ht,model:O,rules:Ll,"label-width":"90px",class:"pr-2"},{default:n(()=>[l(f,{label:"添加方式",prop:"add_mode"},{default:n(()=>[l(ua,{modelValue:O.add_mode,"onUpdate:modelValue":e[71]||(e[71]=i=>O.add_mode=i)},{default:n(()=>[l(Ae,{value:"create"},{default:n(()=>[...e[204]||(e[204]=[p("手动创建",-1)])]),_:1}),l(Ae,{value:"link"},{default:n(()=>[...e[205]||(e[205]=[p("关联已有",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),O.add_mode==="create"?(u(),m(D,{key:0},[l(f,{label:"费用类别",prop:"order_type"},{default:n(()=>[l($,{modelValue:O.order_type,"onUpdate:modelValue":e[72]||(e[72]=i=>O.order_type=i),class:"w-full"},{default:n(()=>[l(y,{label:"挂号费",value:1}),l(y,{label:"问诊费",value:2}),l(y,{label:"药品费用",value:3}),l(y,{label:"首付费用",value:4}),l(y,{label:"尾款费用",value:5}),l(y,{label:"其他费用",value:6}),l(y,{label:"全部费用",value:7}),l(y,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"支付金额",prop:"pay_amount"},{default:n(()=>[l(Ce,{modelValue:O.pay_amount,"onUpdate:modelValue":e[73]||(e[73]=i=>O.pay_amount=i),min:.01,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元)"},null,8,["modelValue"])]),_:1}),l(f,{label:"备注",prop:"pay_remark"},{default:n(()=>[l(k,{modelValue:O.pay_remark,"onUpdate:modelValue":e[74]||(e[74]=i=>O.pay_remark=i),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):(u(),g(f,{key:1,label:"选择支付单",prop:"link_pay_order_id"},{default:n(()=>[l($,{modelValue:O.link_pay_order_ids,"onUpdate:modelValue":e[75]||(e[75]=i=>O.link_pay_order_ids=i),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:na.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:n(()=>[(u(!0),m(D,null,B(wt.value,i=>(u(),g(y,{key:i.id,label:`${i.order_no} · ¥${i.amount} · ${Zt(i.order_type)}`,value:i.id},{default:n(()=>[a("div",wd,[a("span",Sd,r(i.order_no),1),a("span",Vd,"¥"+r(i.amount),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[206]||(e[206]=a("div",{class:"text-xs text-gray-500 mt-1.5"}," 仅显示本诊单下未被其他业务订单占用的支付单,可同时选择多个 ",-1))]),_:1})),l(f,{label:"完单申请"},{default:n(()=>[l(ua,{modelValue:O.completion_request,"onUpdate:modelValue":e[76]||(e[76]=i=>O.completion_request=i)},{default:n(()=>[l(Ae,{value:0},{default:n(()=>[...e[207]||(e[207]=[p("不申请",-1)])]),_:1}),l(Ae,{value:1},{default:n(()=>[...e[208]||(e[208]=[p("申请完成订单",-1)])]),_:1})]),_:1},8,["modelValue"]),e[209]||(e[209]=a("div",{class:"text-xs text-gray-400 mt-1"},' 选择"申请完成订单"后,审核人员可在支付审核时看到此申请 ',-1))]),_:1})]),_:1},8,["model"])),[[ye,kt.value]])]),_:1},8,["modelValue"]),l(ce,{modelValue:Ue.value,"onUpdate:modelValue":e[83]||(e[83]=i=>Ue.value=i),title:"修改处方患者信息",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:gl},{footer:n(()=>[l(S,{onClick:e[82]||(e[82]=i=>Ue.value=!1)},{default:n(()=>[...e[212]||(e[212]=[p("取消",-1)])]),_:1}),l(S,{type:"primary",loading:Kt.value,onClick:xl},{default:n(()=>[...e[213]||(e[213]=[p(" 保存 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(F,{ref_key:"patchRxPatientFormRef",ref:Yt,model:ae,rules:fl,"label-width":"96px"},{default:n(()=>[l(f,{label:"患者姓名",prop:"patient_name"},{default:n(()=>[l(k,{modelValue:ae.patient_name,"onUpdate:modelValue":e[80]||(e[80]=i=>ae.patient_name=i),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),l(f,{label:"手机",prop:"phone"},{default:n(()=>[l(k,{modelValue:ae.phone,"onUpdate:modelValue":e[81]||(e[81]=i=>ae.phone=i),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(oa,{modelValue:St.value,"onUpdate:modelValue":e[84]||(e[84]=i=>St.value=i),size:"100%",direction:"btt",class:"po-h5-drawer","close-on-click-modal":!1},{header:n(()=>[a("div",Nd,[e[216]||(e[216]=a("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),h.value&&!Vt.value?(u(),m("div",Pd,[l(S,{size:"small",loading:Pe.value,onClick:un},{default:n(()=>[...e[214]||(e[214]=[p(" 下载图片 ",-1)])]),_:1},8,["loading"]),l(S,{size:"small",loading:Pe.value,onClick:dn},{default:n(()=>[...e[215]||(e[215]=[p(" 下载PDF ",-1)])]),_:1},8,["loading"])])):v("",!0)])]),default:n(()=>[T((u(),m("div",Cd,[h.value?(u(),m("div",Ad,[Number(h.value.void_status)===1?(u(),g(d,{key:0,type:"danger",size:"small"},{default:n(()=>[...e[217]||(e[217]=[p("已作废",-1)])]),_:1})):Number(h.value.business_prescription_audit_rejected)===1?(u(),g(d,{key:1,type:"danger",size:"small"},{default:n(()=>[...e[218]||(e[218]=[p("业务订单已驳回",-1)])]),_:1})):Number(h.value.audit_status)===1?(u(),g(d,{key:2,type:"success",size:"small"},{default:n(()=>[...e[219]||(e[219]=[p("已通过",-1)])]),_:1})):Number(h.value.audit_status)===0?(u(),g(d,{key:3,type:"warning",size:"small"},{default:n(()=>[...e[220]||(e[220]=[p("待审核",-1)])]),_:1})):(u(),g(d,{key:4,type:"danger",size:"small"},{default:n(()=>[...e[221]||(e[221]=[p("已驳回",-1)])]),_:1}))])):v("",!0),h.value&&Number(h.value.void_status)===1?(u(),m("div",Td," 作废人:"+r(h.value.void_by_name||"—")+",作废时间:"+r(sn(h.value.void_time)),1)):h.value&&Number(h.value.business_prescription_audit_rejected)===1?(u(),m("div",Od,[e[222]||(e[222]=a("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),h.value.business_prescription_audit_remark?(u(),m("div",Rd," 驳回意见:"+r(h.value.business_prescription_audit_remark),1)):v("",!0)])):h.value&&Number(h.value.audit_status)===2?(u(),m("div",Ed,[e[223]||(e[223]=a("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),h.value.audit_remark?(u(),m("div",Dd,"驳回意见:"+r(h.value.audit_remark),1)):v("",!0)])):v("",!0),h.value?(u(),m("div",{key:4,ref_key:"prescriptionSlipPrintRef",ref:Qa,class:"rx-paper"},[a("div",{class:"rx-title"},r(Gl)),a("div",$d,[e[228]||(e[228]=a("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),a("div",Ud,[a("div",zd,[e[224]||(e[224]=a("span",{class:"rx-meta-label"},"日期",-1)),a("span",Fd,r(Kl.value),1)]),a("div",Id,[e[225]||(e[225]=a("span",{class:"rx-meta-label"},"处方编号",-1)),a("span",jd,r(Yl.value),1)]),a("div",Ld,[e[226]||(e[226]=a("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),a("span",qd,r(Ql.value),1)]),Ja.value?(u(),m("div",Md,[e[227]||(e[227]=a("span",{class:"rx-meta-label"},"业务单号",-1)),a("span",Bd,r(Ja.value),1)])):v("",!0)])]),a("div",Hd,[a("div",Gd,[a("div",Wd,[e[229]||(e[229]=a("span",{class:"rx-key"},"姓名",-1)),a("span",Kd,r(h.value.patient_name||"—"),1)]),a("div",Yd,[e[230]||(e[230]=a("span",{class:"rx-key"},"性别",-1)),a("span",Qd,r(ln(h.value.gender)),1)]),a("div",Jd,[e[231]||(e[231]=a("span",{class:"rx-key"},"年龄",-1)),a("span",Xd,r(nn(h.value.age)),1)]),a("div",Zd,[e[232]||(e[232]=a("span",{class:"rx-key"},"电话",-1)),a("span",ep,r(h.value.phone||h.value.recipient_phone||"—"),1)])]),a("div",tp,[a("div",ap,[e[233]||(e[233]=a("span",{class:"rx-key"},"收件信息",-1)),a("span",sp,r(Jl.value),1)])]),a("div",lp,[a("div",np,[e[234]||(e[234]=a("span",{class:"rx-key"},"临床诊断",-1)),a("span",ip,r(h.value.clinical_diagnosis||"—"),1)])])]),a("div",rp,[e[235]||(e[235]=a("div",{class:"rx-watermark"},"药房联",-1)),e[236]||(e[236]=a("div",{class:"rx-rp-head"},[a("div",{class:"rx-rp-label"},"Rp."),a("div",{class:"rx-rp-cols-head"},[a("div",{class:"rx-rp-col-head"},[a("span",null,"用药 (单剂)"),a("span",null,"总量")]),a("div",{class:"rx-rp-col-head"},[a("span",null,"用药 (单剂)"),a("span",null,"总量")])])],-1)),a("div",op,[(u(!0),m(D,null,B(Nt.value,(i,C)=>(u(),m("div",{key:C,class:"rx-herb-cell"},[a("span",up,r(i.name)+" ("+r(i.dosage)+"克)",1),a("span",dp,r(Zl(i.dosage))+"克",1)]))),128))])]),a("div",pp,[a("p",null,"服法:"+r(tn.value),1),Za.value?(u(),m("p",cp,"医嘱:"+r(Za.value),1)):v("",!0),es.value?(u(),m("p",_p,"备注:"+r(es.value),1)):v("",!0),ts.value?(u(),m("p",mp," 药房备注:"+r(ts.value),1)):v("",!0),as.value?(u(),m("p",fp," 出丸:"+r(as.value),1)):v("",!0)]),a("div",vp,[a("div",gp,[a("div",yp,[e[237]||(e[237]=a("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),a("div",bp,[h.value.doctor_signature?(u(),m("img",{key:0,src:h.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,xp)):v("",!0)])]),a("div",kp,[e[238]||(e[238]=a("span",{class:"rx-bot-meta-key"},"类型:",-1)),a("span",hp,r(en.value),1)]),a("div",wp,[e[239]||(e[239]=a("span",{class:"rx-bot-meta-key"},"天数:",-1)),a("span",Sp,r(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)]),a("div",Vp,[e[240]||(e[240]=a("span",{class:"rx-bot-meta-key"},"剂量:",-1)),a("span",Np,r(Xl.value)+"克",1)])])]),e[241]||(e[241]=a("div",{class:"rx-bot-row rx-hospital-row"},[a("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),a("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512)):v("",!0),h.value&&(h.value.audit_by_name||h.value.audit_remark)?(u(),m("div",Pp,[h.value.audit_by_name?(u(),m("div",Cp,[p(" 审核人:"+r(h.value.audit_by_name)+" ",1),h.value.audit_time?(u(),m("span",Ap,r(ss(h.value.audit_time)),1)):v("",!0)])):v("",!0),h.value.audit_remark?(u(),m("div",Tp,"审核意见:"+r(h.value.audit_remark),1)):v("",!0)])):v("",!0)])),[[ye,Vt.value]])]),_:1},8,["modelValue"]),l(oa,{modelValue:vt.value,"onUpdate:modelValue":e[85]||(e[85]=i=>vt.value=i),title:"甘草预下单测试结果",size:"100%",direction:"btt",class:"po-h5-drawer","destroy-on-close":""},{default:n(()=>{var i,C;return[z.value?(u(),m("div",Op,[l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[a("div",Rp,[e[243]||(e[243]=a("span",{class:"font-semibold"},"价格信息",-1)),l(d,{type:"success"},{default:n(()=>[...e[242]||(e[242]=[p("预下单成功",-1)])]),_:1})])]),default:n(()=>[l(Ye,{column:2,border:""},{default:n(()=>[l(V,{label:"药材成本"},{default:n(()=>{var N;return[a("span",Ep,"¥"+r(((N=z.value.fee)==null?void 0:N.m_cost)||"0.00"),1)]}),_:1}),l(V,{label:"制作费"},{default:n(()=>{var N;return[a("span",Dp,"¥"+r((((N=z.value.fee)==null?void 0:N.proces_cost)||0).toFixed(2)),1)]}),_:1}),l(V,{label:"物流费"},{default:n(()=>{var N;return[a("span",$p,"¥"+r((((N=z.value.fee)==null?void 0:N.lis_cost)||0).toFixed(2)),1)]}),_:1}),l(V,{label:"总计"},{default:n(()=>[a("div",null,[a("span",Up," ¥"+r(Ha(z.value.fee)),1),T((u(),m("div",zp,[e[244]||(e[244]=p(" 占订单总金额: ",-1)),a("span",Fp,r(El(z.value.fee,z.value.amount)),1),z.value.amount>0?(u(),m("span",Ip,"%(预报价 ÷ 订单金额 × 100)")):v("",!0)])),[[q,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[...e[245]||(e[245]=[a("span",{class:"font-semibold"},"配送信息",-1)])]),default:n(()=>[l(Ye,{column:2,border:""},{default:n(()=>[l(V,{label:"调配中心"},{default:n(()=>{var N;return[p(r(((N=z.value.result)==null?void 0:N.ds_name)||"—"),1)]}),_:1}),l(V,{label:"调配中心ID"},{default:n(()=>{var N;return[p(r(((N=z.value.result)==null?void 0:N.ds_id)||"—"),1)]}),_:1}),l(V,{label:"服用天数范围",span:2},{default:n(()=>{var N,I,Qe,Je,ue,be;return[p(r(((I=(N=z.value.result)==null?void 0:N.take_days)==null?void 0:I.min)||"—")+" - "+r(((Je=(Qe=z.value.result)==null?void 0:Qe.take_days)==null?void 0:Je.max)||"—")+" 天 (默认: "+r(((be=(ue=z.value.result)==null?void 0:ue.take_days)==null?void 0:be.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(C=(i=z.value.result)==null?void 0:i.rule_check)!=null&&C.length?(u(),g(s,{key:0,shadow:"never",class:"mb-4"},{header:n(()=>[...e[246]||(e[246]=[a("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:n(()=>[a("div",jp,r(z.value.result.rule_check.map(N=>N.msg).join(" ")),1)]),_:1})):v("",!0),l(s,{shadow:"never"},{header:n(()=>{var N,I;return[a("div",Lp,[e[247]||(e[247]=a("span",{class:"font-semibold"},"药材明细",-1)),a("span",qp,"共 "+r(((I=(N=z.value.result)==null?void 0:N.m_list)==null?void 0:I.length)||0)+" 味药",1)])]}),default:n(()=>{var N;return[l(At,{data:((N=z.value.result)==null?void 0:N.m_list)||[],border:"",stripe:"","max-height":"400"},{default:n(()=>[l(U,{type:"index",label:"#",width:"50",align:"center"}),l(U,{prop:"title",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),l(U,{prop:"quantity",label:"用量",width:"80",align:"right"},{default:n(({row:I})=>[p(r(I.quantity)+r(I.unit),1)]),_:1}),l(U,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:n(({row:I})=>[p(" ¥"+r(Number(I.price).toFixed(4)),1)]),_:1}),l(U,{label:"小计",width:"100",align:"right"},{default:n(({row:I})=>[a("span",Mp," ¥"+r((Number(I.price)*Number(I.quantity)).toFixed(2)),1)]),_:1}),l(U,{prop:"is_available",label:"库存状态",width:"100",align:"center"},{default:n(({row:I})=>[l(d,{type:I.is_available===1?"success":"danger",size:"small"},{default:n(()=>[p(r(I.is_available===1?"有货":"缺货"),1)]),_:2},1032,["type"])]),_:1}),l(U,{prop:"brief",label:"备注","min-width":"120","show-overflow-tooltip":""})]),_:1},8,["data"])]}),_:1}),l(s,{shadow:"never",class:"mt-4"},{header:n(()=>[...e[248]||(e[248]=[a("span",{class:"font-semibold"},"订单信息",-1)])]),default:n(()=>[l(Ye,{column:2,border:""},{default:n(()=>[l(V,{label:"订单号",span:2},{default:n(()=>[p(r(z.value.order_no||"—"),1)]),_:1}),l(V,{label:"剂数"},{default:n(()=>[a("span",Bp,r(z.value.dose_count||"—")+"剂",1)]),_:1}),l(V,{label:"单剂量"},{default:n(()=>{var N;return[a("span",Hp,r(Dl((N=z.value.result)==null?void 0:N.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):v("",!0)]}),_:1},8,["modelValue"]),l(R(vs),{ref_key:"diagnosisViewRef",ref:ca},null,512)])}}}),Ic=Ri(Wp,[["__scopeId","data-v-fa902c3c"]]);export{Ic as default};
diff --git a/server/public/admin/assets/overflow-Dgk6ZnnF.js b/server/public/admin/assets/overflow-CqnJZryO.js
similarity index 96%
rename from server/public/admin/assets/overflow-Dgk6ZnnF.js
rename to server/public/admin/assets/overflow-CqnJZryO.js
index 5c79d643..0d8b3e68 100644
--- a/server/public/admin/assets/overflow-Dgk6ZnnF.js
+++ b/server/public/admin/assets/overflow-CqnJZryO.js
@@ -1 +1 @@
-import{J as m}from"./element-plus-lurTijPg.js";import{_ as i,o as p}from"./index-hTkp7Jz4.js";import{ak as e,I as a,a as o,aN as n}from"./@vue/runtime-core-C6bnekPw.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const c={};function s(_,l){const t=p,r=m;return e(),a("div",null,[o(r,{header:"基础使用",shadow:"never",class:"!border-none"},{default:n(()=>[o(t,{class:"w-20 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"}),o(t,{class:"w-60 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"})]),_:1})])}const W=i(c,[["render",s]]);export{W as default};
+import{J as m}from"./element-plus-lurTijPg.js";import{_ as i,o as p}from"./index-DF1MLuL8.js";import{ak as e,I as a,a as o,aN as n}from"./@vue/runtime-core-C6bnekPw.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const c={};function s(_,l){const t=p,r=m;return e(),a("div",null,[o(r,{header:"基础使用",shadow:"never",class:"!border-none"},{default:n(()=>[o(t,{class:"w-20 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"}),o(t,{class:"w-60 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"})]),_:1})])}const W=i(c,[["render",s]]);export{W as default};
diff --git a/server/public/admin/assets/paiban-DrKiVFOq.js b/server/public/admin/assets/paiban-Coix8EhQ.js
similarity index 96%
rename from server/public/admin/assets/paiban-DrKiVFOq.js
rename to server/public/admin/assets/paiban-Coix8EhQ.js
index eee9c8fd..7d61b115 100644
--- a/server/public/admin/assets/paiban-DrKiVFOq.js
+++ b/server/public/admin/assets/paiban-Coix8EhQ.js
@@ -1 +1 @@
-import{D as J,B as P,G as U,I as q,W as H,i as O,J as Q}from"./element-plus-lurTijPg.js";import{d,g as K}from"./dayjs-DG77mNTn.js";import{g as X}from"./tcm-BWcL4HTv.js";import{r as Z,g as ee}from"./doctor-DFHZkvQL.js";import{i as y,_ as te}from"./index-hTkp7Jz4.js";import{f as ae,b as oe,d as se,ak as c,I as u,a as g,aN as m,J as p,F as T,ap as E,G as k,O as B,H as le,A as I,n as re}from"./@vue/runtime-core-C6bnekPw.js";import{Q as Y,o as R}from"./@vue/shared-mAAVTE9n.js";import{n as b,r as ie}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"paiban-container"},ce={class:"doctor-list"},de={key:2,class:"paiban-time-container"},me={class:"date-selector"},ue={key:0,class:"time-slots-container"},pe={class:"time-slots-grid"},ve=["onClick"],fe={class:"slot-time"},_e=ae({__name:"paiban",setup(ye){d.extend(K);const v=b(!1),h=b([]),f=b([]),l=b(0),i=b([]);let D=null,w=!1;const o=ie({date:"",selectedTime:""}),V=I(()=>{if(!l.value||i.value.length===0)return[];const e=[],s=["日","一","二","三","四","五","六"],a=d().startOf("day");for(const r of i.value){const n=d(r);if(n.isBefore(a))continue;const _=`${n.format("MM月DD日")} (${s[n.day()]})`;e.push({date:r,label:_})}return e}),$=I(()=>{if(!o.date||f.value.length===0)return[];const e=d().format("YYYY-MM-DD");if(!(o.date===e))return f.value;const a=d();return f.value.map(r=>{const n=d(`${o.date} ${r.time}`);return n.isBefore(a)||n.isSame(a,"minute")?{...r,available:!1}:r})}),N=async()=>{try{v.value=!0;const e=await X();h.value=e||[],h.value.length>0&&!l.value&&(l.value=h.value[0].id,await C())}catch(e){console.error("加载医生列表失败:",e),y.msgError("加载医生列表失败")}finally{v.value=!1}},C=async()=>{o.selectedTime="",o.date="",f.value=[],i.value=[],l.value&&await A()},A=async()=>{if(l.value)try{v.value=!0;const e=d().format("YYYY-MM-DD"),s=d().add(6,"day").format("YYYY-MM-DD"),a=await Z({doctor_id:l.value,start_date:e,end_date:s,status:1});if(a!=null&&a.lists&&a.lists.length>0){if(i.value=[...new Set(a.lists.map(r=>r.date))],i.value.sort(),await re(),i.value.length>0){const r=d().format("YYYY-MM-DD"),n=i.value.includes(r)?r:i.value[0];M(n)}}else i.value=[],y.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),y.msgError("加载医生排班失败"),i.value=[]}finally{v.value=!1}},M=e=>{o.date=e,o.selectedTime="",l.value&&S()},S=async(e=!1)=>{if(!(!l.value||!o.date)){if(w){console.log("正在加载中,跳过本次请求");return}try{w=!0,e||(v.value=!0);const s=await ee({doctor_id:l.value,appointment_date:o.date,period:"all"});f.value=((s==null?void 0:s.slots)||[]).map(a=>({time:a.time,available:a.available,quota:a.available?1:0}))}catch(s){console.error("加载时间段失败:",s),e||y.msgError("加载时间段失败"),f.value=[]}finally{w=!1,e||(v.value=!1)}}},F=e=>{if(!e.available){y.msgWarning("该时间段不可预约");return}o.selectedTime=e.time},L=()=>{x(),D=window.setInterval(()=>{l.value&&o.date&&S(!0)},5e3)},x=()=>{D&&(clearInterval(D),D=null)};return oe(()=>{N(),L()}),se(()=>{x()}),(e,s)=>{const a=q,r=U,n=P,_=H,W=O,z=J,G=Q;return c(),u("div",ne,[g(G,{shadow:"never"},{header:m(()=>[...s[1]||(s[1]=[p("div",{class:"card-header"},[p("span",null,"医生排班管理")],-1)])]),default:m(()=>[g(z,{model:o,"label-width":"100px",class:"paiban-form"},{default:m(()=>[g(n,{label:"选择医生:"},{default:m(()=>[p("div",ce,[g(r,{modelValue:l.value,"onUpdate:modelValue":s[0]||(s[0]=t=>l.value=t),onChange:C},{default:m(()=>[(c(!0),u(T,null,E(h.value,t=>(c(),k(a,{key:t.id,value:t.id,class:"doctor-radio"},{default:m(()=>[B(Y(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),g(n,{label:"排班时间:"},{default:m(()=>[l.value?l.value&&i.value.length===0?(c(),k(_,{key:1,description:"该医生暂无排班","image-size":80})):(c(),u("div",de,[p("div",me,[(c(!0),u(T,null,E(V.value,t=>(c(),k(W,{key:t.date,type:o.date===t.date?"primary":"",onClick:j=>M(t.date),class:"date-button"},{default:m(()=>[B(Y(t.label),1)]),_:2},1032,["type","onClick"]))),128))]),o.date?(c(),u("div",ue,[p("div",pe,[(c(!0),u(T,null,E($.value,t=>(c(),u("div",{key:t.time,class:R(["time-slot-item",{available:t.available,unavailable:!t.available,selected:o.selectedTime===t.time}]),onClick:j=>F(t)},[p("div",fe,Y(t.time),1),p("div",{class:R(["slot-status",{"status-available":t.available}])},Y(t.available?"可约":"已约"),3)],10,ve))),128))])])):le("",!0)])):(c(),k(_,{key:0,description:"请先选择医生","image-size":80}))]),_:1})]),_:1},8,["model"])]),_:1})])}}}),ot=te(_e,[["__scopeId","data-v-79f98e7f"]]);export{ot as default};
+import{D as J,B as P,G as U,I as q,W as H,i as O,J as Q}from"./element-plus-lurTijPg.js";import{d,g as K}from"./dayjs-DG77mNTn.js";import{g as X}from"./tcm-tCkhN6ch.js";import{r as Z,g as ee}from"./doctor-Lmz4K3Qd.js";import{i as y,_ as te}from"./index-DF1MLuL8.js";import{f as ae,b as oe,d as se,ak as c,I as u,a as g,aN as m,J as p,F as T,ap as E,G as k,O as B,H as le,A as I,n as re}from"./@vue/runtime-core-C6bnekPw.js";import{Q as Y,o as R}from"./@vue/shared-mAAVTE9n.js";import{n as b,r as ie}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"paiban-container"},ce={class:"doctor-list"},de={key:2,class:"paiban-time-container"},me={class:"date-selector"},ue={key:0,class:"time-slots-container"},pe={class:"time-slots-grid"},ve=["onClick"],fe={class:"slot-time"},_e=ae({__name:"paiban",setup(ye){d.extend(K);const v=b(!1),h=b([]),f=b([]),l=b(0),i=b([]);let D=null,w=!1;const o=ie({date:"",selectedTime:""}),V=I(()=>{if(!l.value||i.value.length===0)return[];const e=[],s=["日","一","二","三","四","五","六"],a=d().startOf("day");for(const r of i.value){const n=d(r);if(n.isBefore(a))continue;const _=`${n.format("MM月DD日")} (${s[n.day()]})`;e.push({date:r,label:_})}return e}),$=I(()=>{if(!o.date||f.value.length===0)return[];const e=d().format("YYYY-MM-DD");if(!(o.date===e))return f.value;const a=d();return f.value.map(r=>{const n=d(`${o.date} ${r.time}`);return n.isBefore(a)||n.isSame(a,"minute")?{...r,available:!1}:r})}),N=async()=>{try{v.value=!0;const e=await X();h.value=e||[],h.value.length>0&&!l.value&&(l.value=h.value[0].id,await C())}catch(e){console.error("加载医生列表失败:",e),y.msgError("加载医生列表失败")}finally{v.value=!1}},C=async()=>{o.selectedTime="",o.date="",f.value=[],i.value=[],l.value&&await A()},A=async()=>{if(l.value)try{v.value=!0;const e=d().format("YYYY-MM-DD"),s=d().add(6,"day").format("YYYY-MM-DD"),a=await Z({doctor_id:l.value,start_date:e,end_date:s,status:1});if(a!=null&&a.lists&&a.lists.length>0){if(i.value=[...new Set(a.lists.map(r=>r.date))],i.value.sort(),await re(),i.value.length>0){const r=d().format("YYYY-MM-DD"),n=i.value.includes(r)?r:i.value[0];M(n)}}else i.value=[],y.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),y.msgError("加载医生排班失败"),i.value=[]}finally{v.value=!1}},M=e=>{o.date=e,o.selectedTime="",l.value&&S()},S=async(e=!1)=>{if(!(!l.value||!o.date)){if(w){console.log("正在加载中,跳过本次请求");return}try{w=!0,e||(v.value=!0);const s=await ee({doctor_id:l.value,appointment_date:o.date,period:"all"});f.value=((s==null?void 0:s.slots)||[]).map(a=>({time:a.time,available:a.available,quota:a.available?1:0}))}catch(s){console.error("加载时间段失败:",s),e||y.msgError("加载时间段失败"),f.value=[]}finally{w=!1,e||(v.value=!1)}}},F=e=>{if(!e.available){y.msgWarning("该时间段不可预约");return}o.selectedTime=e.time},L=()=>{x(),D=window.setInterval(()=>{l.value&&o.date&&S(!0)},5e3)},x=()=>{D&&(clearInterval(D),D=null)};return oe(()=>{N(),L()}),se(()=>{x()}),(e,s)=>{const a=q,r=U,n=P,_=H,W=O,z=J,G=Q;return c(),u("div",ne,[g(G,{shadow:"never"},{header:m(()=>[...s[1]||(s[1]=[p("div",{class:"card-header"},[p("span",null,"医生排班管理")],-1)])]),default:m(()=>[g(z,{model:o,"label-width":"100px",class:"paiban-form"},{default:m(()=>[g(n,{label:"选择医生:"},{default:m(()=>[p("div",ce,[g(r,{modelValue:l.value,"onUpdate:modelValue":s[0]||(s[0]=t=>l.value=t),onChange:C},{default:m(()=>[(c(!0),u(T,null,E(h.value,t=>(c(),k(a,{key:t.id,value:t.id,class:"doctor-radio"},{default:m(()=>[B(Y(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),g(n,{label:"排班时间:"},{default:m(()=>[l.value?l.value&&i.value.length===0?(c(),k(_,{key:1,description:"该医生暂无排班","image-size":80})):(c(),u("div",de,[p("div",me,[(c(!0),u(T,null,E(V.value,t=>(c(),k(W,{key:t.date,type:o.date===t.date?"primary":"",onClick:j=>M(t.date),class:"date-button"},{default:m(()=>[B(Y(t.label),1)]),_:2},1032,["type","onClick"]))),128))]),o.date?(c(),u("div",ue,[p("div",pe,[(c(!0),u(T,null,E($.value,t=>(c(),u("div",{key:t.time,class:R(["time-slot-item",{available:t.available,unavailable:!t.available,selected:o.selectedTime===t.time}]),onClick:j=>F(t)},[p("div",fe,Y(t.time),1),p("div",{class:R(["slot-status",{"status-available":t.available}])},Y(t.available?"可约":"已约"),3)],10,ve))),128))])])):le("",!0)])):(c(),k(_,{key:0,description:"请先选择医生","image-size":80}))]),_:1})]),_:1},8,["model"])]),_:1})])}}}),ot=te(_e,[["__scopeId","data-v-79f98e7f"]]);export{ot as default};
diff --git a/server/public/admin/assets/patient-rB-xF1_j.js b/server/public/admin/assets/patient-CU85GrfB.js
similarity index 88%
rename from server/public/admin/assets/patient-rB-xF1_j.js
rename to server/public/admin/assets/patient-CU85GrfB.js
index 1440cc5d..7ac2cb45 100644
--- a/server/public/admin/assets/patient-rB-xF1_j.js
+++ b/server/public/admin/assets/patient-CU85GrfB.js
@@ -1 +1 @@
-import{r as o}from"./index-hTkp7Jz4.js";function r(t){return o.get({url:"/doctor.appointment/lists",params:t})}function n(t){return o.get({url:"/doctor.appointment/reception",params:t})}function i(t){return o.post({url:"/doctor.appointment/notifyAssistant",params:t})}function a(t){return o.post({url:"/doctor.appointment/addDoctorNote",params:t})}function c(t){return o.get({url:"/doctor.appointment/doctorNotes",params:t})}function s(t){return o.post({url:"/doctor.appointment/deleteDoctorNoteImage",params:t})}export{a,r as b,s as d,c as g,i as n,n as r};
+import{r as o}from"./index-DF1MLuL8.js";function r(t){return o.get({url:"/doctor.appointment/lists",params:t})}function n(t){return o.get({url:"/doctor.appointment/reception",params:t})}function i(t){return o.post({url:"/doctor.appointment/notifyAssistant",params:t})}function a(t){return o.post({url:"/doctor.appointment/addDoctorNote",params:t})}function c(t){return o.get({url:"/doctor.appointment/doctorNotes",params:t})}function s(t){return o.post({url:"/doctor.appointment/deleteDoctorNoteImage",params:t})}export{a,r as b,s as d,c as g,i as n,n as r};
diff --git a/server/public/admin/assets/patient-call-DQOyE2KQ.js b/server/public/admin/assets/patient-call-C1iZJbwl.js
similarity index 99%
rename from server/public/admin/assets/patient-call-DQOyE2KQ.js
rename to server/public/admin/assets/patient-call-C1iZJbwl.js
index 3a1525f6..fb119ada 100644
--- a/server/public/admin/assets/patient-call-DQOyE2KQ.js
+++ b/server/public/admin/assets/patient-call-C1iZJbwl.js
@@ -1 +1 @@
-import{E as a,K as H,i as Q,d as $,W as X,J as Y,b as M}from"./element-plus-lurTijPg.js";import{a6 as K}from"./@element-plus/icons-vue-HOEUG8sr.js";import{F as C,u as O,g as k,a as L,l as E,r as Z,y as T}from"./@tencentcloud/call-uikit-vue-DB7vt9Ht.js";import{u as ee,r as te,_ as oe}from"./index-hTkp7Jz4.js";import{f as le,b as ae,n as V,d as ne,ak as m,I as d,a as r,aN as c,J as n,O as f,G as z,H as h,A as se}from"./@vue/runtime-core-C6bnekPw.js";import{Q as w,o as ie}from"./@vue/shared-mAAVTE9n.js";import{y as A,n as y}from"./@vue/reactivity-DiY1c2vO.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"./@tencentcloud/call-engine-js-BX2W9Lhf.js";import"./@tencentcloud/chat-AC2Y2r2A.js";import"./rtc-detect-Chu-fZvE.js";import"./@tencentcloud/tui-core-8M7p1XHw.js";import"./tim-upload-plugin-HO4N4AW9.js";import"./tim-profanity-filter-plugin-Dn_Cf-mP.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 re={class:"patient-test"},ce={key:0,class:"init-section"},ue={key:1,class:"status"},pe={class:"flex items-center"},me={class:"mt-2"},fe={key:0},ve={key:0,class:"call-actions mt-4"},de={key:2,id:"call-container",class:"call-container phone-call-shell"},ge={key:3,class:"waiting-container"},Ie={key:4,class:"phone-call-kit-host phone-call-kit-host--offscreen","aria-hidden":"true"},_e=le({__name:"patient-call",setup(Ce){const B=ee(),S=se(()=>B.userInfo),U=y(!1),g=y(!1),D=y(""),o=y(!1),s=y(!1),p=y(null),v=y(null);let I=null;ae(()=>{G()});function b(t){try{const e=k.getData(L.CALL,E.CALL_STATUS),u=k.getData(L.CALL,E.CALL_ROLE),i=!!k.getData(L.CALL,E.IS_GROUP),_=o.value;if(e==="calling"&&u===Z.CALLEE){o.value=!0,p.value={isGroup:i,from:t},_||(a.info("检测到待接听的来电,请点击接听"),M({title:"来电提醒",message:"有待接听的视频通话",type:"warning",duration:0,position:"top-right"})),s.value=!1;return}if(e==="connected"){o.value=!1,p.value=null,s.value=!0;return}e==="idle"&&(o.value||s.value)&&(o.value=!1,s.value=!1,p.value=null)}catch(e){console.warn("syncIncomingFromTUIStore:",t,e)}}function x(){b("watch")}function P(){I&&(I(),I=null);const t={[E.CALL_STATUS]:x,[E.CALL_ROLE]:x};try{k.watch(L.CALL,t),I=()=>{try{k.unwatch(L.CALL,t)}catch{}}}catch(e){console.warn("TUIStore.watch 失败:",e)}}const R=()=>{v.value&&clearInterval(v.value);let t=0;const e=90;v.value=setInterval(()=>{t+=1,b("poll"),t>=e&&v.value&&(clearInterval(v.value),v.value=null)},500)},F=({oldStatus:t,newStatus:e})=>{console.log("========================================"),console.log("=== 通话状态变化回调触发 ==="),console.log("oldStatus:",t),console.log("newStatus:",e),console.log("STATUS 常量:",T),console.log("========================================"),e===T.BE_INVITED&&(console.log(">>> 收到来电邀请"),o.value=!0,p.value={oldStatus:t,newStatus:e},M({title:"来电提醒",message:"收到视频通话请求",type:"info",duration:0,position:"top-right"}),a.success("收到来电,请点击接听按钮")),(e===T.CALLING_C2C_VIDEO||e===T.CALLING_GROUP_VIDEO)&&(console.log(">>> 通话已接通"),a.success("通话已接通"),o.value=!1,s.value=!0),e===T.IDLE&&(o.value||s.value)&&(console.log(">>> 通话已结束"),o.value=!1,s.value=!1,p.value=null,a.info("通话已结束"))},G=async()=>{try{U.value=!0;const t=S.value.id;if(!t)throw new Error("未获取到当前用户ID,请重新登录");console.log("=== 开始初始化医疗助理端 ==="),console.log("当前用户ID:",t),a.info("正在获取签名...");const e=await te.get({url:"/tcm.diagnosis/getDoctorSignature",params:{patient_id:t}});if(!e)throw new Error("获取签名失败");const{sdkAppId:u,userId:i,userSig:_}=e;if(D.value=i,console.log("医疗助理签名获取成功:",{userId:i,sdkAppId:u,userSigLength:_.length}),console.log("完整签名信息:",e),a.info("正在初始化通话组件..."),console.log("=== 开始调用 TUICallKitServer.init ==="),!C||typeof C.init!="function")throw new Error("TUICallKitServer 未正确加载,请刷新页面重试");try{await C.init({userID:i,userSig:_,SDKAppID:Number(u)})}catch(l){console.warn("TUICallKitServer.init 出现错误,但继续执行:",l)}console.log("=== TUICallKitServer.init 完成 ===");const N={statusChanged:F,onError:l=>{console.error("=== TUICallKit 错误回调 ===",l),a.error(`通话错误: ${(l==null?void 0:l.message)||"未知错误"}`)},onInvited:l=>{console.log("=== 收到邀请回调 (onInvited) ===",l),a.info("收到通话邀请 (onInvited)")},afterCalling:()=>{console.log("=== afterCalling 回调 ===")}};try{C.setCallback(N)}catch(l){console.warn("设置回调时出现错误,但继续执行:",l)}console.log("回调设置完成"),a.info("等待初始化完成..."),await new Promise(l=>setTimeout(l,2e3)),g.value=!0,await V(),await new Promise(l=>setTimeout(l,300)),P(),b("post-init"),R(),a.success("医疗助理端初始化成功,等待来电..."),console.log("=== 医疗助理端初始化完成 ==="),console.log("userId:",i),console.log("等待来电中..."),console.log("请在医生端发起群组通话,目标用户ID应该是:",i)}catch(t){console.error("=== 初始化失败 ===",t),a.error(t.message||"初始化失败")}finally{U.value=!1}};async function j(){var t;await V(),await new Promise(e=>setTimeout(e,400));try{const e=C;if(typeof e.closeMicrophone=="function")return await e.closeMicrophone(),!0;const u=(t=e.getTUICallEngineInstance)==null?void 0:t.call(e);if(u&&typeof u.closeMicrophone=="function")return await u.closeMicrophone(),!0}catch(e){console.warn("接听后关闭麦克风失败(可在通话条手动关麦):",e)}return!1}const J=async()=>{try{console.log("接听来电"),await C.accept(),a.success("已接听通话"),o.value=!1,s.value=!0,await j()&&a.info("已关闭本地麦克风")}catch(t){console.error("接听失败:",t),a.error(t.message||"接听失败")}},W=async()=>{try{console.log("拒绝来电"),await C.reject(),a.info("已拒绝通话"),o.value=!1,p.value=null}catch(t){console.error("拒绝失败:",t),a.error(t.message||"拒绝失败")}},q=()=>{g.value=!1,D.value="",o.value=!1,s.value=!1,p.value=null};return ne(()=>{v.value&&(clearInterval(v.value),v.value=null),I&&(I(),I=null),g.value&&(o.value=!1,s.value=!1,p.value=null)}),(t,e)=>{const u=H,i=Q,_=$,N=X,l=Y;return m(),d("div",re,[r(l,null,{header:c(()=>[...e[0]||(e[0]=[n("div",{class:"card-header"},[n("span",null,"医疗助理端 - 接听来电")],-1)])]),default:c(()=>[g.value?h("",!0):(m(),d("div",ce,[r(u,{type:"info",closable:!1,class:"mb-4"},{default:c(()=>[n("p",null,[e[1]||(e[1]=n("strong",null,"当前登录用户:",-1)),f(" "+w(S.value.nickname||S.value.name||"未知"),1)]),n("p",null,[e[2]||(e[2]=n("strong",null,"用户ID:",-1)),f(" "+w(S.value.id||"未获取"),1)]),e[3]||(e[3]=n("p",null,[n("strong",null,"状态:"),f(" 正在初始化...")],-1))]),_:1}),U.value?h("",!0):(m(),z(i,{key:0,type:"primary",onClick:G,loading:U.value,size:"large"},{default:c(()=>[...e[4]||(e[4]=[f(" 重新初始化 ",-1)])]),_:1},8,["loading"]))])),g.value?(m(),d("div",ue,[r(u,{type:o.value?"warning":"success",closable:!1},{title:c(()=>[n("div",pe,[r(_,{class:ie(["mr-2",{"animate-pulse":o.value}])},{default:c(()=>[r(A(K))]),_:1},8,["class"]),n("span",null,w(o.value?"收到来电!":"医疗助理端已初始化,等待来电..."),1)])]),default:c(()=>[n("div",me,[n("p",null,[e[5]||(e[5]=n("strong",null,"医疗助理ID:",-1)),f(" "+w(D.value),1)]),n("p",null,[e[6]||(e[6]=n("strong",null,"状态:",-1)),f(" "+w(o.value?"来电中":"在线"),1)]),o.value&&p.value?(m(),d("p",fe,[e[7]||(e[7]=n("strong",null,"通话类型:",-1)),f(" "+w(p.value.isGroup?"群组视频通话":"视频通话"),1)])):h("",!0)])]),_:1},8,["type"]),o.value?(m(),d("div",ve,[r(i,{type:"success",size:"large",onClick:J,icon:A(K)},{default:c(()=>[...e[8]||(e[8]=[f(" 接听 ",-1)])]),_:1},8,["icon"]),r(i,{type:"danger",size:"large",onClick:W},{default:c(()=>[...e[9]||(e[9]=[f(" 拒绝 ",-1)])]),_:1})])):(m(),z(i,{key:1,type:"danger",onClick:q,class:"mt-4"},{default:c(()=>[...e[10]||(e[10]=[f(" 重置 ",-1)])]),_:1}))])):h("",!0),o.value||s.value?(m(),d("div",de,[r(A(O),{class:"TUICallKit-mobile"})])):g.value?(m(),d("div",ge,[r(N,{description:"等待来电中..."},{image:c(()=>[r(_,{size:80,color:"#909399"},{default:c(()=>[r(A(K))]),_:1})]),_:1})])):h("",!0),g.value&&!o.value&&!s.value?(m(),d("div",Ie,[r(A(O),{class:"TUICallKit-mobile"})])):h("",!0)]),_:1})])}}}),ut=oe(_e,[["__scopeId","data-v-56c22385"]]);export{ut as default};
+import{E as a,K as H,i as Q,d as $,W as X,J as Y,b as M}from"./element-plus-lurTijPg.js";import{a6 as K}from"./@element-plus/icons-vue-HOEUG8sr.js";import{F as C,u as O,g as k,a as L,l as E,r as Z,y as T}from"./@tencentcloud/call-uikit-vue-DB7vt9Ht.js";import{u as ee,r as te,_ as oe}from"./index-DF1MLuL8.js";import{f as le,b as ae,n as V,d as ne,ak as m,I as d,a as r,aN as c,J as n,O as f,G as z,H as h,A as se}from"./@vue/runtime-core-C6bnekPw.js";import{Q as w,o as ie}from"./@vue/shared-mAAVTE9n.js";import{y as A,n as y}from"./@vue/reactivity-DiY1c2vO.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"./@tencentcloud/call-engine-js-BX2W9Lhf.js";import"./@tencentcloud/chat-AC2Y2r2A.js";import"./rtc-detect-Chu-fZvE.js";import"./@tencentcloud/tui-core-8M7p1XHw.js";import"./tim-upload-plugin-HO4N4AW9.js";import"./tim-profanity-filter-plugin-Dn_Cf-mP.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 re={class:"patient-test"},ce={key:0,class:"init-section"},ue={key:1,class:"status"},pe={class:"flex items-center"},me={class:"mt-2"},fe={key:0},ve={key:0,class:"call-actions mt-4"},de={key:2,id:"call-container",class:"call-container phone-call-shell"},ge={key:3,class:"waiting-container"},Ie={key:4,class:"phone-call-kit-host phone-call-kit-host--offscreen","aria-hidden":"true"},_e=le({__name:"patient-call",setup(Ce){const B=ee(),S=se(()=>B.userInfo),U=y(!1),g=y(!1),D=y(""),o=y(!1),s=y(!1),p=y(null),v=y(null);let I=null;ae(()=>{G()});function b(t){try{const e=k.getData(L.CALL,E.CALL_STATUS),u=k.getData(L.CALL,E.CALL_ROLE),i=!!k.getData(L.CALL,E.IS_GROUP),_=o.value;if(e==="calling"&&u===Z.CALLEE){o.value=!0,p.value={isGroup:i,from:t},_||(a.info("检测到待接听的来电,请点击接听"),M({title:"来电提醒",message:"有待接听的视频通话",type:"warning",duration:0,position:"top-right"})),s.value=!1;return}if(e==="connected"){o.value=!1,p.value=null,s.value=!0;return}e==="idle"&&(o.value||s.value)&&(o.value=!1,s.value=!1,p.value=null)}catch(e){console.warn("syncIncomingFromTUIStore:",t,e)}}function x(){b("watch")}function P(){I&&(I(),I=null);const t={[E.CALL_STATUS]:x,[E.CALL_ROLE]:x};try{k.watch(L.CALL,t),I=()=>{try{k.unwatch(L.CALL,t)}catch{}}}catch(e){console.warn("TUIStore.watch 失败:",e)}}const R=()=>{v.value&&clearInterval(v.value);let t=0;const e=90;v.value=setInterval(()=>{t+=1,b("poll"),t>=e&&v.value&&(clearInterval(v.value),v.value=null)},500)},F=({oldStatus:t,newStatus:e})=>{console.log("========================================"),console.log("=== 通话状态变化回调触发 ==="),console.log("oldStatus:",t),console.log("newStatus:",e),console.log("STATUS 常量:",T),console.log("========================================"),e===T.BE_INVITED&&(console.log(">>> 收到来电邀请"),o.value=!0,p.value={oldStatus:t,newStatus:e},M({title:"来电提醒",message:"收到视频通话请求",type:"info",duration:0,position:"top-right"}),a.success("收到来电,请点击接听按钮")),(e===T.CALLING_C2C_VIDEO||e===T.CALLING_GROUP_VIDEO)&&(console.log(">>> 通话已接通"),a.success("通话已接通"),o.value=!1,s.value=!0),e===T.IDLE&&(o.value||s.value)&&(console.log(">>> 通话已结束"),o.value=!1,s.value=!1,p.value=null,a.info("通话已结束"))},G=async()=>{try{U.value=!0;const t=S.value.id;if(!t)throw new Error("未获取到当前用户ID,请重新登录");console.log("=== 开始初始化医疗助理端 ==="),console.log("当前用户ID:",t),a.info("正在获取签名...");const e=await te.get({url:"/tcm.diagnosis/getDoctorSignature",params:{patient_id:t}});if(!e)throw new Error("获取签名失败");const{sdkAppId:u,userId:i,userSig:_}=e;if(D.value=i,console.log("医疗助理签名获取成功:",{userId:i,sdkAppId:u,userSigLength:_.length}),console.log("完整签名信息:",e),a.info("正在初始化通话组件..."),console.log("=== 开始调用 TUICallKitServer.init ==="),!C||typeof C.init!="function")throw new Error("TUICallKitServer 未正确加载,请刷新页面重试");try{await C.init({userID:i,userSig:_,SDKAppID:Number(u)})}catch(l){console.warn("TUICallKitServer.init 出现错误,但继续执行:",l)}console.log("=== TUICallKitServer.init 完成 ===");const N={statusChanged:F,onError:l=>{console.error("=== TUICallKit 错误回调 ===",l),a.error(`通话错误: ${(l==null?void 0:l.message)||"未知错误"}`)},onInvited:l=>{console.log("=== 收到邀请回调 (onInvited) ===",l),a.info("收到通话邀请 (onInvited)")},afterCalling:()=>{console.log("=== afterCalling 回调 ===")}};try{C.setCallback(N)}catch(l){console.warn("设置回调时出现错误,但继续执行:",l)}console.log("回调设置完成"),a.info("等待初始化完成..."),await new Promise(l=>setTimeout(l,2e3)),g.value=!0,await V(),await new Promise(l=>setTimeout(l,300)),P(),b("post-init"),R(),a.success("医疗助理端初始化成功,等待来电..."),console.log("=== 医疗助理端初始化完成 ==="),console.log("userId:",i),console.log("等待来电中..."),console.log("请在医生端发起群组通话,目标用户ID应该是:",i)}catch(t){console.error("=== 初始化失败 ===",t),a.error(t.message||"初始化失败")}finally{U.value=!1}};async function j(){var t;await V(),await new Promise(e=>setTimeout(e,400));try{const e=C;if(typeof e.closeMicrophone=="function")return await e.closeMicrophone(),!0;const u=(t=e.getTUICallEngineInstance)==null?void 0:t.call(e);if(u&&typeof u.closeMicrophone=="function")return await u.closeMicrophone(),!0}catch(e){console.warn("接听后关闭麦克风失败(可在通话条手动关麦):",e)}return!1}const J=async()=>{try{console.log("接听来电"),await C.accept(),a.success("已接听通话"),o.value=!1,s.value=!0,await j()&&a.info("已关闭本地麦克风")}catch(t){console.error("接听失败:",t),a.error(t.message||"接听失败")}},W=async()=>{try{console.log("拒绝来电"),await C.reject(),a.info("已拒绝通话"),o.value=!1,p.value=null}catch(t){console.error("拒绝失败:",t),a.error(t.message||"拒绝失败")}},q=()=>{g.value=!1,D.value="",o.value=!1,s.value=!1,p.value=null};return ne(()=>{v.value&&(clearInterval(v.value),v.value=null),I&&(I(),I=null),g.value&&(o.value=!1,s.value=!1,p.value=null)}),(t,e)=>{const u=H,i=Q,_=$,N=X,l=Y;return m(),d("div",re,[r(l,null,{header:c(()=>[...e[0]||(e[0]=[n("div",{class:"card-header"},[n("span",null,"医疗助理端 - 接听来电")],-1)])]),default:c(()=>[g.value?h("",!0):(m(),d("div",ce,[r(u,{type:"info",closable:!1,class:"mb-4"},{default:c(()=>[n("p",null,[e[1]||(e[1]=n("strong",null,"当前登录用户:",-1)),f(" "+w(S.value.nickname||S.value.name||"未知"),1)]),n("p",null,[e[2]||(e[2]=n("strong",null,"用户ID:",-1)),f(" "+w(S.value.id||"未获取"),1)]),e[3]||(e[3]=n("p",null,[n("strong",null,"状态:"),f(" 正在初始化...")],-1))]),_:1}),U.value?h("",!0):(m(),z(i,{key:0,type:"primary",onClick:G,loading:U.value,size:"large"},{default:c(()=>[...e[4]||(e[4]=[f(" 重新初始化 ",-1)])]),_:1},8,["loading"]))])),g.value?(m(),d("div",ue,[r(u,{type:o.value?"warning":"success",closable:!1},{title:c(()=>[n("div",pe,[r(_,{class:ie(["mr-2",{"animate-pulse":o.value}])},{default:c(()=>[r(A(K))]),_:1},8,["class"]),n("span",null,w(o.value?"收到来电!":"医疗助理端已初始化,等待来电..."),1)])]),default:c(()=>[n("div",me,[n("p",null,[e[5]||(e[5]=n("strong",null,"医疗助理ID:",-1)),f(" "+w(D.value),1)]),n("p",null,[e[6]||(e[6]=n("strong",null,"状态:",-1)),f(" "+w(o.value?"来电中":"在线"),1)]),o.value&&p.value?(m(),d("p",fe,[e[7]||(e[7]=n("strong",null,"通话类型:",-1)),f(" "+w(p.value.isGroup?"群组视频通话":"视频通话"),1)])):h("",!0)])]),_:1},8,["type"]),o.value?(m(),d("div",ve,[r(i,{type:"success",size:"large",onClick:J,icon:A(K)},{default:c(()=>[...e[8]||(e[8]=[f(" 接听 ",-1)])]),_:1},8,["icon"]),r(i,{type:"danger",size:"large",onClick:W},{default:c(()=>[...e[9]||(e[9]=[f(" 拒绝 ",-1)])]),_:1})])):(m(),z(i,{key:1,type:"danger",onClick:q,class:"mt-4"},{default:c(()=>[...e[10]||(e[10]=[f(" 重置 ",-1)])]),_:1}))])):h("",!0),o.value||s.value?(m(),d("div",de,[r(A(O),{class:"TUICallKit-mobile"})])):g.value?(m(),d("div",ge,[r(N,{description:"等待来电中..."},{image:c(()=>[r(_,{size:80,color:"#909399"},{default:c(()=>[r(A(K))]),_:1})]),_:1})])):h("",!0),g.value&&!o.value&&!s.value?(m(),d("div",Ie,[r(A(O),{class:"TUICallKit-mobile"})])):h("",!0)]),_:1})])}}}),ut=oe(_e,[["__scopeId","data-v-56c22385"]]);export{ut as default};
diff --git a/server/public/admin/assets/pay-wrwbXfON.js b/server/public/admin/assets/pay-C4WW4SoI.js
similarity index 85%
rename from server/public/admin/assets/pay-wrwbXfON.js
rename to server/public/admin/assets/pay-C4WW4SoI.js
index 1d9b487d..ec0c2a09 100644
--- a/server/public/admin/assets/pay-wrwbXfON.js
+++ b/server/public/admin/assets/pay-C4WW4SoI.js
@@ -1 +1 @@
-import{r as a}from"./index-hTkp7Jz4.js";function e(){return a.get({url:"/setting.pay.pay_way/getPayWay"})}function s(t){return a.post({url:"/setting.pay.pay_way/setPayWay",params:t})}function y(){return a.get({url:"/setting.pay.pay_config/lists"})}function g(t){return a.post({url:"/setting.pay.pay_config/setConfig",params:t})}function i(t){return a.get({url:"/setting.pay.pay_config/getConfig",params:t})}export{y as a,e as b,s as c,i as g,g as s};
+import{r as a}from"./index-DF1MLuL8.js";function e(){return a.get({url:"/setting.pay.pay_way/getPayWay"})}function s(t){return a.post({url:"/setting.pay.pay_way/setPayWay",params:t})}function y(){return a.get({url:"/setting.pay.pay_config/lists"})}function g(t){return a.post({url:"/setting.pay.pay_config/setConfig",params:t})}function i(t){return a.get({url:"/setting.pay.pay_config/getConfig",params:t})}export{y as a,e as b,s as c,i as g,g as s};
diff --git a/server/public/admin/assets/pc-C3Q_vZ2X.js b/server/public/admin/assets/pc-SFQhCRCg.js
similarity index 94%
rename from server/public/admin/assets/pc-C3Q_vZ2X.js
rename to server/public/admin/assets/pc-SFQhCRCg.js
index 8edc3258..a1859532 100644
--- a/server/public/admin/assets/pc-C3Q_vZ2X.js
+++ b/server/public/admin/assets/pc-SFQhCRCg.js
@@ -1 +1 @@
-import{i as x,D as v,B as D,C as b,J as g}from"./element-plus-lurTijPg.js";import{b as k}from"./decoration-nmyiN4w_.js";import{f as n,ar as w,as as B,ak as s,I as C,a as o,aN as e,J as E,O as p,aP as V,G as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,n as P}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-hTkp7Jz4.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 F={class:"decoration-pc min-w-[1100px]"},J=n({name:"decorationPc"}),Dt=n({...J,setup(q){const r=P({update_time:"",pc_url:""});return(async()=>{try{r.value=await k()}catch(i){console.log(i)}})(),(i,t)=>{const m=x,c=w("router-link"),l=D,_=b,d=v,u=g,f=B("copy");return s(),C("div",F,[o(u,{shadow:"never",class:"!border-none flex-1 flex"},{default:e(()=>[t[3]||(t[3]=E("div",{class:"text-xl font-medium"},"首页装修",-1)),o(c,{to:{path:"/decoration/pc_details",query:{url:a(r).pc_url}}},{default:e(()=>[o(m,{class:"m-5",type:"primary",size:"large"},{default:e(()=>[...t[1]||(t[1]=[p("去装修",-1)])]),_:1})]),_:1},8,["to"]),o(d,null,{default:e(()=>[o(l,{label:"最近更新"},{default:e(()=>[p(I(a(r).update_time),1)]),_:1}),o(l,{label:"PC端链接"},{default:e(()=>[o(_,{style:{width:"350px"},modelValue:a(r).pc_url,"onUpdate:modelValue":t[0]||(t[0]=y=>a(r).pc_url=y),disabled:""},null,8,["modelValue"]),V((s(),N(m,{type:"primary"},{default:e(()=>[...t[2]||(t[2]=[p("复制",-1)])]),_:1})),[[f,a(r).pc_url]])]),_:1})]),_:1})]),_:1})])}}});export{Dt as default};
+import{i as x,D as v,B as D,C as b,J as g}from"./element-plus-lurTijPg.js";import{b as k}from"./decoration-Y1_ujmBv.js";import{f as n,ar as w,as as B,ak as s,I as C,a as o,aN as e,J as E,O as p,aP as V,G as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,n as P}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DF1MLuL8.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 F={class:"decoration-pc min-w-[1100px]"},J=n({name:"decorationPc"}),Dt=n({...J,setup(q){const r=P({update_time:"",pc_url:""});return(async()=>{try{r.value=await k()}catch(i){console.log(i)}})(),(i,t)=>{const m=x,c=w("router-link"),l=D,_=b,d=v,u=g,f=B("copy");return s(),C("div",F,[o(u,{shadow:"never",class:"!border-none flex-1 flex"},{default:e(()=>[t[3]||(t[3]=E("div",{class:"text-xl font-medium"},"首页装修",-1)),o(c,{to:{path:"/decoration/pc_details",query:{url:a(r).pc_url}}},{default:e(()=>[o(m,{class:"m-5",type:"primary",size:"large"},{default:e(()=>[...t[1]||(t[1]=[p("去装修",-1)])]),_:1})]),_:1},8,["to"]),o(d,null,{default:e(()=>[o(l,{label:"最近更新"},{default:e(()=>[p(I(a(r).update_time),1)]),_:1}),o(l,{label:"PC端链接"},{default:e(()=>[o(_,{style:{width:"350px"},modelValue:a(r).pc_url,"onUpdate:modelValue":t[0]||(t[0]=y=>a(r).pc_url=y),disabled:""},null,8,["modelValue"]),V((s(),N(m,{type:"primary"},{default:e(()=>[...t[2]||(t[2]=[p("复制",-1)])]),_:1})),[[f,a(r).pc_url]])]),_:1})]),_:1})]),_:1})])}}});export{Dt as default};
diff --git a/server/public/admin/assets/pc_details-CTfcsax3.js b/server/public/admin/assets/pc_details-BNyqetXG.js
similarity index 65%
rename from server/public/admin/assets/pc_details-CTfcsax3.js
rename to server/public/admin/assets/pc_details-BNyqetXG.js
index 9cb5c187..cac5c3a3 100644
--- a/server/public/admin/assets/pc_details-CTfcsax3.js
+++ b/server/public/admin/assets/pc_details-BNyqetXG.js
@@ -1 +1 @@
-import{i as b,J as P}from"./element-plus-lurTijPg.js";import{o as B}from"./@element-plus/icons-vue-HOEUG8sr.js";import{a as N,s as V}from"./decoration-nmyiN4w_.js";import{i as C,_ as E}from"./index-hTkp7Jz4.js";import I from"./preview-pc-Bl707vS-.js";import{a as h}from"./vue-router-QlpZ4wdW.js";import{f as v,w as J,as as O,ak as d,I as S,a as p,aN as m,J as u,O as f,aP as M,G as R,A as T}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,a as j,n as _,r as A}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.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"./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-CmkEseeK.js";import"./attr-E5gcRspp.js";import"./index-Qf24LWMn.js";import"./picker-BKpCM2IP.js";import"./index-NODwdV06.js";import"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import"./article-BQZdNCom.js";import"./usePaging-VsbTxSU0.js";import"./picker-CIEIqcz7.js";import"./index-DQyvoLLY.js";import"./index-By8JT914.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-CdkUkN_s.js";import"./index.vue_vue_type_script_setup_true_lang-SfFZFG0h.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"./content.vue_vue_type_script_setup_true_lang-TnYgc2t0.js";import"./decoration-img-Ca8ANbDr.js";import"./attr.vue_vue_type_script_setup_true_lang-BmHZ8imK.js";import"./content-GocY6k_b.js";import"./attr.vue_vue_type_script_setup_true_lang-DFVzqRa_.js";import"./content.vue_vue_type_script_setup_true_lang-nDZmG8vQ.js";import"./attr.vue_vue_type_script_setup_true_lang-CqK_9stV.js";import"./add-nav.vue_vue_type_script_setup_true_lang-DJJZsT5O.js";import"./content-Cl20LIQZ.js";import"./attr.vue_vue_type_script_setup_true_lang-CgV6rUXF.js";import"./content.vue_vue_type_script_setup_true_lang-CJWDZ0YX.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-CpmheZg_.js";import"./attr.vue_vue_type_script_setup_true_lang-D1oKQlcj.js";import"./index.vue_vue_type_script_setup_true_lang-8-xP7boW.js";import"./content-Cd1LfBOx.js";import"./content.vue_vue_type_script_setup_true_lang-BbF2Wy94.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-Bb4fGE3i.js";import"./attr.vue_vue_type_script_setup_true_lang-BPPChzF8.js";import"./content.vue_vue_type_script_setup_true_lang-BCmSBxKn.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-BQCWuyq8.js";const G={class:"decoration-pages min-w-[1100px]"},H={class:"flex justify-between w-full"},U={class:"flex-1 h-full"},W=v({name:"decorationPc"}),q=v({...W,setup(z){const g=h();let n;(t=>{t.HOME="4"})(n||(n={}));const a=A({4:{id:4,type:4,name:"首页装修",pageData:[]}}),r=_("4"),e=_(0),i=T(()=>{var t;return((t=a[r.value])==null?void 0:t.pageData)??[]}),w=async()=>{await C.confirm("确定离开此页面?系统可能不会保存您所做的更改。"),g.back()},c=async()=>{const t=await N({id:r.value});a[String(t.id)].pageData=JSON.parse(t.data),e.value=i.value.findIndex(o=>!o.disabled)},D=async()=>{await V({...a[r.value],data:JSON.stringify(a[r.value].pageData)}),c()};return J(r,()=>{e.value=i.value.findIndex(t=>!t.disabled),c()},{immediate:!0}),(t,o)=>{const l=b,y=P,x=O("perms");return d(),S("div",G,[p(y,{shadow:"never",class:"!border-none !rounded-none !bg-primary"},{default:m(()=>[u("div",H,[p(l,{link:"",type:"primary",icon:s(B),style:{color:"#fff"},onClick:w},{default:m(()=>[...o[1]||(o[1]=[f(" 返回 ",-1)])]),_:1},8,["icon"]),M((d(),R(l,{onClick:D},{default:m(()=>[...o[2]||(o[2]=[f(" 保存 ",-1)])]),_:1})),[[x,["decorate:pages:save"]]])])]),_:1}),u("div",U,[p(I,{modelValue:s(e),"onUpdate:modelValue":o[0]||(o[0]=k=>j(e)?e.value=k:null),pageData:s(i)},null,8,["modelValue","pageData"])])])}}}),yo=E(q,[["__scopeId","data-v-9bc87a24"]]);export{yo as default};
+import{i as b,J as P}from"./element-plus-lurTijPg.js";import{o as B}from"./@element-plus/icons-vue-HOEUG8sr.js";import{a as N,s as V}from"./decoration-Y1_ujmBv.js";import{i as C,_ as E}from"./index-DF1MLuL8.js";import I from"./preview-pc-Ckc6HpPY.js";import{a as h}from"./vue-router-QlpZ4wdW.js";import{f as v,w as J,as as O,ak as d,I as S,a as p,aN as m,J as u,O as f,aP as M,G as R,A as T}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,a as j,n as _,r as A}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.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"./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-CM7Gp83V.js";import"./attr-C6GmvPAl.js";import"./index-mDy9ToMf.js";import"./picker-BSLSmuXD.js";import"./index-CnpV87Ke.js";import"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import"./article-DRL9P_tT.js";import"./usePaging-VsbTxSU0.js";import"./picker-BPfrB1Pn.js";import"./index-BP_YKY_y.js";import"./index-_ERDssCQ.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BdGKYRpa.js";import"./index.vue_vue_type_script_setup_true_lang-SfFZFG0h.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"./content.vue_vue_type_script_setup_true_lang-YPzfu1Px.js";import"./decoration-img-jZo-A7ww.js";import"./attr.vue_vue_type_script_setup_true_lang-D5vjNTOg.js";import"./content-CKtrVqmT.js";import"./attr.vue_vue_type_script_setup_true_lang-BwSZweWe.js";import"./content.vue_vue_type_script_setup_true_lang-D5UrOWJr.js";import"./attr.vue_vue_type_script_setup_true_lang-BRh9kAoU.js";import"./add-nav.vue_vue_type_script_setup_true_lang-DxGp4xEM.js";import"./content-DArWsXpQ.js";import"./attr.vue_vue_type_script_setup_true_lang-CACMM4JD.js";import"./content.vue_vue_type_script_setup_true_lang-B2lKwu_D.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-CST-bl8G.js";import"./attr.vue_vue_type_script_setup_true_lang-CT2w_DZp.js";import"./index.vue_vue_type_script_setup_true_lang-8-xP7boW.js";import"./content-Dp6pW57F.js";import"./content.vue_vue_type_script_setup_true_lang-v7FIwbJY.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-Ct-LqBEP.js";import"./attr.vue_vue_type_script_setup_true_lang-Bq-qlGcP.js";import"./content.vue_vue_type_script_setup_true_lang-BSd_vcfN.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-DVM6yyCt.js";const G={class:"decoration-pages min-w-[1100px]"},H={class:"flex justify-between w-full"},U={class:"flex-1 h-full"},W=v({name:"decorationPc"}),q=v({...W,setup(z){const g=h();let n;(t=>{t.HOME="4"})(n||(n={}));const a=A({4:{id:4,type:4,name:"首页装修",pageData:[]}}),r=_("4"),e=_(0),i=T(()=>{var t;return((t=a[r.value])==null?void 0:t.pageData)??[]}),w=async()=>{await C.confirm("确定离开此页面?系统可能不会保存您所做的更改。"),g.back()},c=async()=>{const t=await N({id:r.value});a[String(t.id)].pageData=JSON.parse(t.data),e.value=i.value.findIndex(o=>!o.disabled)},D=async()=>{await V({...a[r.value],data:JSON.stringify(a[r.value].pageData)}),c()};return J(r,()=>{e.value=i.value.findIndex(t=>!t.disabled),c()},{immediate:!0}),(t,o)=>{const l=b,y=P,x=O("perms");return d(),S("div",G,[p(y,{shadow:"never",class:"!border-none !rounded-none !bg-primary"},{default:m(()=>[u("div",H,[p(l,{link:"",type:"primary",icon:s(B),style:{color:"#fff"},onClick:w},{default:m(()=>[...o[1]||(o[1]=[f(" 返回 ",-1)])]),_:1},8,["icon"]),M((d(),R(l,{onClick:D},{default:m(()=>[...o[2]||(o[2]=[f(" 保存 ",-1)])]),_:1})),[[x,["decorate:pages:save"]]])])]),_:1}),u("div",U,[p(I,{modelValue:s(e),"onUpdate:modelValue":o[0]||(o[0]=k=>j(e)?e.value=k:null),pageData:s(i)},null,8,["modelValue","pageData"])])])}}}),yo=E(q,[["__scopeId","data-v-9bc87a24"]]);export{yo as default};
diff --git a/server/public/admin/assets/perm-DkI2zRqK.js b/server/public/admin/assets/perm-DJQOTKtE.js
similarity index 67%
rename from server/public/admin/assets/perm-DkI2zRqK.js
rename to server/public/admin/assets/perm-DJQOTKtE.js
index 223d55b0..b69cf763 100644
--- a/server/public/admin/assets/perm-DkI2zRqK.js
+++ b/server/public/admin/assets/perm-DJQOTKtE.js
@@ -1 +1 @@
-import{u as i}from"./index-hTkp7Jz4.js";const l=s=>{const e=i().perms,o="*";if(s.length>0){let r=!0;return s.forEach(t=>{!e.includes(t)&&!e.includes(o)&&(r=!1)}),r}else return!0};export{l as h};
+import{u as i}from"./index-DF1MLuL8.js";const l=s=>{const e=i().perms,o="*";if(s.length>0){let r=!0;return s.forEach(t=>{!e.includes(t)&&!e.includes(o)&&(r=!1)}),r}else return!0};export{l as h};
diff --git a/server/public/admin/assets/picker-CIEIqcz7.js b/server/public/admin/assets/picker-BPfrB1Pn.js
similarity index 96%
rename from server/public/admin/assets/picker-CIEIqcz7.js
rename to server/public/admin/assets/picker-BPfrB1Pn.js
index 67e5d2d6..f81c94f2 100644
--- a/server/public/admin/assets/picker-CIEIqcz7.js
+++ b/server/public/admin/assets/picker-BPfrB1Pn.js
@@ -1 +1 @@
-import{_ as j}from"./index-NODwdV06.js";import{s as le}from"./element-plus-lurTijPg.js";import{_ as se,a as J,F as ue}from"./index-DQyvoLLY.js";import{e as de,i as O,_ as pe,c as me}from"./index-hTkp7Jz4.js";import{_ as fe}from"./index-Qf24LWMn.js";import{D as ge}from"./vuedraggable-5bKFmC7X.js";import{a as ve}from"./file-CdkUkN_s.js";import{f as ce,w as he,am as q,A as T,n as ye,ar as F,ak as we,I as De,a as f,M as Ce,aN as S,J as d,O as be,aP as Te,aq as Se}from"./@vue/runtime-core-C6bnekPw.js";import{K as Pe,n as s}from"./@vue/reactivity-DiY1c2vO.js";import{h as ke}from"./@vueuse/shared-Cl3lVqjz.js";import{s as h,q as $e}from"./@vue/runtime-dom-DDAG46FW.js";import{o as E,p as ze}from"./@vue/shared-mAAVTE9n.js";const Ve=ce({components:{Popup:j,Draggable:ge,FileItem:ue,Material:J,Preview:se},props:{modelValue:{type:[String,Array],default:()=>[]},type:{type:String,default:"image"},size:{type:String,default:"100px"},width:{type:String,default:""},height:{type:String,default:""},fileSize:{type:String,default:"100px"},limit:{type:Number,default:1},disabled:{type:Boolean,default:!1},hiddenUpload:{type:Boolean,default:!1},uploadClass:{type:String,default:""},excludeDomain:{type:Boolean,default:!1},uploadCid:{type:[Number,String],default:0}},emits:["change","update:modelValue"],setup(e,{emit:a}){const z=s(),V=s(),A=s(""),I=s(!1),o=s([]),P=s([]),c=s(!0),k=s(-1),g=s(0),y=s(!1),{disabled:v,limit:p,modelValue:i}=Pe(e),w=de(),D=t=>w.getImageUrl(t),C=T(()=>!e.hiddenUpload&&(e.type==="image"||e.type==="video"||e.type==="file")),K=T(()=>g.value>0);function R(t){if(!t)return!1;const n=Array.from(t.types);return n.includes("Files")||n.includes("application/x-moz-file")}function B(t,n){var l;if(n==="file")return!0;const r=t.includes(".")&&((l=t.split(".").pop())==null?void 0:l.toLowerCase())||"";return n==="image"?r?["jpg","jpeg","png","gif","ico"].includes(r):!0:n==="video"&&r?["wmv","avi","mpg","mpeg","3gp","mov","mp4","flv","rmvb","mkv"].includes(r):!0}function _(t){var l;if(!t||!t.startsWith("http"))return t;const n=String(((l=w.config)==null?void 0:l.oss_domain)||"").trim().replace(/\/$/,"");if(n&&t.startsWith(n))return t.slice(n.length).replace(/^\//,"");const r=typeof window<"u"?window.location.origin.replace(/\/$/,""):"";if(r&&t.startsWith(r))return t.slice(r.length).replace(/^\//,"");try{return new URL(t).pathname.replace(/^\//,"")}catch{return t}}function G(t){var b,$;const n=e.type,r=Array.from(((b=t.clipboardData)==null?void 0:b.files)||[]).filter(m=>B(m.name,n));if(r.length)return r;if(n!=="image")return[];const l=($=t.clipboardData)==null?void 0:$.items;if(!l)return[];const u=[];for(let m=0;m
接诊诊单:${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}]}}),Nt=N(()=>V.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),Pa=N(()=>{const t=[...V.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 W=Number(p.deal_order_count);return W>0?Number(p.deal_amount)/W:0},d=Math.max(...t.map(p=>Number(p.deal_amount)),1e-9),b=Math.max(...t.map(p=>Number(p.deal_order_count)),1e-9),h=Math.max(...t.map(n),1e-9),w=Math.max(...t.map(p=>Number(p.appointment_completed??0)),1e-9),T=Math.max(...t.map(s),1e-9),O=t.map(p=>({name:e(p),value:[Number(p.deal_amount)/d*100,Number(p.deal_order_count)/b*100,n(p)/h*100,Number(p.appointment_completed??0)/w*100,s(p)/T*100]}));return{color:["#2563eb","#0d9488","#d97706","#7c3aed","#64748b"],tooltip:{trigger:"item"},legend:{bottom:0,type:"scroll",textStyle:{fontSize:10}},radar:{indicator:[{name:"成交金额",max:100},{name:"接诊诊单",max:100},{name:"开方量",max:100},{name:"挂号完成",max:100},{name:"客单价",max:100}],radius:"58%",center:["50%","48%"],splitNumber:4,axisName:{fontSize:10,color:"#64748b"}},series:[{type:"radar",data:O,emphasis:{lineStyle:{width:3}}}]}}),Ta=N(()=>{const t=[...V.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]}}]}}),Ia=N(()=>{const t=[...V.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 Ma(){var e,n;const t={};if(x.value&&(t.channel_code=x.value),A.value.length>0&&(t.dept_ids=A.value.join(",")),(e=Y.value)!=null&&e[0]&&((n=Y.value)!=null&&n[1]))t.start_date=Y.value[0],t.end_date=Y.value[1];else{const s=ut(new Date);t.start_date=s,t.end_date=s}return t}function Ht(t){return Number(t??0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function Wt(t){if(t==null||t==="")return"—";const e=Number(t);return Number.isFinite(e)?`${e.toFixed(2)}%`:"—"}function Oa(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]=`¥ ${Ht(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]=Wt(e.appointment_conversion_rate);break;default:n[d]=""}}),n}async function Dt(){if(!U.value){V.value=[],pe.value={},Te.value=null;return}Pe.value=!0;try{const t=await pl(Ma());V.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)&&(Te.value={start:t.start_date,end:t.end_date})}catch(t){if(ie.isCancel(t))return;V.value=[],pe.value={},Te.value=null}finally{Pe.value=!1}}const ne=f(!1),ye=f(!1),Je=f(""),Ge=f(""),be=f([]),ot=f(0),K=f(1),st=f(15),G=f("channel"),H=f(null),Ze=f(null),le=f(null),qt=N(()=>{const t=le.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}),Jt=N(()=>{const t=le.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}),Ea=N(()=>be.value.reduce((t,e)=>t+Number(e.amount??0),0)),Gt=N(()=>!!x.value&&ne.value),Ct=N(()=>{var e;const t=x.value;if(!t)return"";for(const n of et.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}),Fa=N(()=>{const t=H.value;return t&&G.value==="total"?Number.isFinite(t.channelAmount)?t.channelAmount:null:qt.value}),Ie=f(null),it=f(!1);function Va(){const t=new Date;return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`}function Ba(t){const[e,n]=t.split("-").map(Number);return new Date(e,n,0).getDate()}async function Ya(){var t,e,n,s;if(!We.value){Ie.value=null;return}it.value=!0,Ie.value=null;try{let d=function(y,z=0){const $=[];for(const R of y??[])$.push({node:R,depth:z}),$.push(...d(R.children??[],z+1));return $},b=function(y){const z=je.value.find(J=>Number(J.id)===y);if(!z)return"";const $=Number(z.pid);if(!$)return"";const R=je.value.find(J=>Number(J.id)===$);return R!=null&&R.name?String(R.name):""},h=function(y){const z=[],$=[y];for(;$.length;){const R=$.shift();for(const J of je.value)Number(J.pid)===R&&(z.push(J.id),$.push(J.id))}return z},w=function(y,z){const $=new Map;for(const R of(y==null?void 0:y.rows)??[])$.set(Number(R.dept_id),Number(R[z]??0));return $};const T=Va(),O=await wl({year_month:T}),p=(O==null?void 0:O.rows)??[];if(!p.length)return;const W=d(p).filter(y=>y.depth>=1&&Number(y.node.target_amount)>0).map(y=>y.node);if(!W.length)return;const P=new Set,me=W.map(y=>{const z=Number(y.dept_id),$=h(z),R=$.length?$:[z];return R.forEach(J=>P.add(J)),{dept_id:z,dept_name:String(y.dept_name),target_amount:Number(y.target_amount),totalIds:R}});if(!P.size)return;const Oe=et.value.flatMap(y=>y.channels),q=(t=Oe.find(y=>y.channel_name.includes("自媒体1")))==null?void 0:t.channel_code,we=(e=Oe.find(y=>y.channel_name.includes("自媒体3")))==null?void 0:e.channel_code,Ee=(n=Oe.find(y=>y.channel_name.includes("自媒体4")))==null?void 0:n.channel_code,Fe=Array.from(P).join(","),[ke,B,l,g]=await Promise.all([Ke({dept_ids:Fe}),q?Ke({dept_ids:Fe,channel_code:q}):Promise.resolve(null),we?Ke({dept_ids:Fe,channel_code:we}):Promise.resolve(null),Ee?Ke({dept_ids:Fe,channel_code:Ee}):Promise.resolve(null)]),m=y=>{var z;return((y==null?void 0:y.tables)??[]).find($=>String($.label).includes("月"))??((z=y==null?void 0:y.tables)==null?void 0:z[0])},E=y=>{var z,$;return((y==null?void 0:y.tables)??[]).find(R=>String(R.label).includes("昨"))??(($=y==null?void 0:y.tables)==null?void 0:$[((z=y==null?void 0:y.tables)==null?void 0:z.length)-1])},fa=w(m(ke),"performance_amount"),Tn=w(E(ke),"performance_amount"),ya=B?w(m(B),"completed_performance_amount"):null,ba=l?w(m(l),"completed_performance_amount"):null,ha=g?w(m(g),"completed_performance_amount"):null,Xe=(y,z)=>z.reduce(($,R)=>$+(y.get(R)??0),0),Tt=new Date,In=Ba(T),Mn=Tt.getDate(),On=me.map(y=>{const z=Xe(fa,y.totalIds),$=Xe(Tn,y.totalIds),R=ya?Xe(ya,y.totalIds):null,J=ba?Xe(ba,y.totalIds):null,ga=ha?Xe(ha,y.totalIds):null,It=J!==null||ga!==null?(J??0)+(ga??0):null,Bn=Math.round(y.target_amount*(Mn/In)*100)/100,Yn=y.target_amount>0?z/y.target_amount:null;return{dept_id:y.dept_id,dept_name:y.dept_name,parent_dept_name:b(y.dept_id),target_amount:y.target_amount,total_amount:z,yesterday_amount:$,douyin_amount:R&&R>0?R:null,tuifen_amount:It&&It>0?It:null,target_progress:Bn,completion_rate:Yn}}),En=((s=p[0])==null?void 0:s.dept_name)??"",Fn=Tt.getMonth()+1,Vn=Tt.getDate();Ie.value={title:`${En}诊金-${Fn}.${Vn}`,sections:On}}catch{}finally{it.value=!1}}const Ua=N(()=>{var e;const t=(e=S.value)==null?void 0:e.leaderboards;return t?t.filter(n=>n.rows.length>0).length:0}),Zt=[{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 Ha(t){const e=t.value();Y.value=[ut(e[0]),ut(e[1])],Me()}async function Wa(){_t.value=!0;try{const t=await ml();je.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{_t.value=!1}}async function qa(){pt.value=!0;try{const t=await vl(),e=(t==null?void 0:t.groups)||[];et.value=e}catch{}finally{pt.value=!1}}async function Xt(t){if(!ae.value){S.value=null;return}de.value=!0;try{const e={start_date:t.start,end_date:t.end};A.value.length>0&&(e.dept_ids=A.value.join(",")),x.value&&(e.channel_code=x.value);const n=await bl(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(ie.isCancel(e))return;S.value=null}finally{de.value=!1}}async function Me(){if(ee.value=!0,S.value=null,!Re.value){re.value=[],ee.value=!1,U.value?Dt():(V.value=[],pe.value={},Te.value=null);return}try{const t={};if(A.value.length>0&&(t.dept_ids=A.value.join(",")),x.value&&(t.channel_code=x.value),Y.value&&Y.value[0]&&Y.value[1]){const[s,d]=Y.value,b={...t,start_date:s,end_date:d},h=await fl(b);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 Xt({start:h.start_date,end:h.end_date});return}const e=await Ke(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=ut(new Date);await Xt({start:n,end:n})}catch(t){if(ie.isCancel(t))return;const e=t;se.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载失败")}finally{ee.value=!1,U.value?Dt():(V.value=[],pe.value={},Te.value=null)}}function Ja(){A.value=[],Y.value=null,x.value="",Me()}function Ga(t){return t<=0?!1:je.value.some(e=>Number(e.pid)===t)}function Za(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function rt(t){return t==null||!Number.isFinite(Number(t))?"—":Number(t).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function Xa(t){return(K.value-1)*st.value+t+1}function Ka(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 Kt(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 Qa(t){if(t==null||t==="")return"—";const e=Number(t);if(Number.isFinite(e)&&e>=1e9&&e<1e15){const s=e<1e12?e*1e3:e,d=new Date(s);if(!Number.isNaN(d.getTime())){const b=d.getFullYear(),h=String(d.getMonth()+1).padStart(2,"0"),w=String(d.getDate()).padStart(2,"0"),T=String(d.getHours()).padStart(2,"0"),O=String(d.getMinutes()).padStart(2,"0");return`${b}-${h}-${w} ${T}:${O}`}}const n=String(t);return n.length>=16?n.slice(0,16):n}function Qt(){const t=Ze.value;if(!t)return null;const e={start_time:`${t.start} 00:00:00`,end_time:`${t.end} 23:59:59`,exclude_fulfillment_cancelled:1,yeji_order_drawer:1};return t.mode==="dept"?(e.assistant_dept_id=t.deptId,A.value.length>0&&(e.dept_ids=A.value.join(",")),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&&ne.value&&G.value==="channel"&&(e.channel_code=x.value),e}async function en(){const t=Qt();if(!t||!x.value)return;const e={...t,channel_code:x.value,page_no:1,page_size:1};try{const n=await wa(e),s=n!=null&&n.extend&&typeof n.extend=="object"?n.extend:null;s&&s.stats_yeji_drawer_total_performance_amount!=null&&(H.value={totalAmount:Number(s.stats_yeji_drawer_total_performance_amount),totalOrderCount:Number(s.stats_yeji_drawer_total_performance_order_count??0),channelAmount:Number(s.stats_order_amount_performance??0),channelOrderCount:Number((n==null?void 0:n.count)??0)})}catch{}}async function he(){const t=Qt();if(t){x.value&&G.value==="total"&&(H.value=null),ye.value=!0;try{const e={...t,page_no:K.value,page_size:st.value},n=await wa(e);be.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],ot.value=Number((n==null?void 0:n.count)??0),le.value=n!=null&&n.extend&&typeof n.extend=="object"?n.extend:null,x.value&&G.value==="channel"&&le.value&&le.value.stats_yeji_drawer_total_performance_amount!=null&&(H.value={totalAmount:Number(le.value.stats_yeji_drawer_total_performance_amount),totalOrderCount:Number(le.value.stats_yeji_drawer_total_performance_order_count??0),channelAmount:Number(le.value.stats_order_amount_performance??0),channelOrderCount:Number((n==null?void 0:n.count)??0)}),x.value&&ne.value&&G.value==="total"&&await en()}catch(e){if(ie.isCancel(e))return;const n=e;se.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载业务订单失败"),be.value=[],ot.value=0,le.value=null}finally{ye.value=!1}}}function ea(t,e,n){const s=!!(x.value&&t.channel_name);G.value=s?(n==null?void 0:n.listTab)??"channel":"channel",H.value=null,Ze.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)},Je.value=`业务订单 · ${e.dept_name}`,Ge.value=`创建时间:${t.start_date} ~ ${t.end_date} · 与「合计业绩 / 接诊诊单」同口径:订单创建人人事部门 ∈ 本部门子树 · 不含履约 4/9/10`,K.value=1,ne.value=!0,he()}function tn(t,e,n){const s=!!(x.value&&t.channel_name);G.value=s?n:"channel",H.value=null,Ze.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)},Je.value="业务订单 · 当前展示合计",Ge.value=`创建时间:${t.start_date} ~ ${t.end_date} · 已选展示部门 1 个根节点(含其下全部展示行)· 不含履约 4/9/10`,K.value=1,ne.value=!0,he()}function Lt(t,e,n){return!(ge(e)||e.dept_id<=0||n==="channel"&&!t.channel_name)}function zt(t,e){return!(A.value.length!==1||e==="channel"&&!t.channel_name)}function ta(t,e,n){if(!Lt(t,e,n))return;ea(t,e,{listTab:n==="total"?"total":"channel"})}function aa(t,e){if(!zt(t,e))return;const n=A.value[0];if(!n)return;tn(t,n,e==="total"?"total":"channel")}function an(t,e,n){G.value="channel",H.value=null,Ze.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n},Je.value=`业务订单 · ${t.name}`,Ge.value=`创建时间:${e} ~ ${n} · 创建人=${t.name}(与排行榜诊金同口径)· 不含履约 4/9/10`,K.value=1,ne.value=!0,he()}function $t(t,e,n,s){G.value="channel",H.value=null,Ze.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n,erCenterRevisitSlot:s};const d=s===0?"复诊合计":tt(s);Je.value=`业务订单 · ${t.name} · ${d}`,Ge.value=`创建时间:${e} ~ ${n} · 创建人=${t.name}(与部门表 / 排行榜复诊同口径)· 仅二中心复诊口径 · ${d} · 不含履约 4/9/10`,K.value=1,ne.value=!0,he()}function nn(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;$t({admin_id:t.admin_id,name:t.name},e,n,0)}function ln(t,e){if(!t||t.admin_id<=0||!S.value||te(t,e)<=0)return;const{start_date:n,end_date:s}=S.value;$t({admin_id:t.admin_id,name:t.name},n,s,e)}function on(){K.value=1,he()}function sn(t){K.value=t,he()}function rn(t){st.value=t,K.value=1,he()}function ge(t){return t.dept_id<=0&&t.dept_name==="未归属中心"}function dn(t,e){e.dept_id<=0||ge(e)||Number(e.revisit_count??0)<=0||la(t,e,0)}function un(t,e,n){e.dept_id<=0||ge(e)||te(e,n)<=0||la(t,e,n)}function na(t){const e=Vt.value;!e||Number(t.order_count)<=0||$t({admin_id:t.admin_id,name:t.name},e.start,e.end,e.revisitSlot)}async function la(t,e,n){const s=n===0?"复诊合计":tt(n);Ft.value=`${e.dept_name} · ${s} · ${t.start_date} ~ ${t.end_date}`,Vt.value={start:t.start_date,end:t.end_date,revisitSlot:n},Be.value="",De.value=[],yt.value=!0,Ne.value=!0;try{const d={start_date:t.start_date,end_date:t.end_date,dept_id:e.dept_id,revisit_slot:n};A.value.length>0&&(d.dept_ids=A.value.join(",")),x.value&&(d.channel_code=x.value);const b=await yl(d);De.value=Array.isArray(b==null?void 0:b.rows)?b.rows:[],Be.value=typeof(b==null?void 0:b.note)=="string"?b.note:""}catch(d){if(ie.isCancel(d))return;const b=d;se.error((b==null?void 0:b.msg)||(b==null?void 0:b.message)||"加载复诊拆解失败"),De.value=[],Be.value=""}finally{Ne.value=!1}}function oa(t){const e=[`区间:${t.start_date} ~ ${t.end_date}`];return x.value&&e.push(`渠道:${t.channel_name||x.value}`),A.value.length>0&&e.push(`已选展示部门 ${A.value.length} 个`),e.join(" · ")}async function cn(t){Et.value=oa(t),Ve.value="",Se.value=[],ft.value=!0,xe.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date};A.value.length>0&&(e.dept_ids=A.value.join(",")),x.value&&(e.channel_code=x.value);const n=await hl(e);Se.value=Array.isArray(n==null?void 0:n.rows)?n.rows:[],Ve.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){if(ie.isCancel(e))return;const n=e;se.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载未归属拆解失败"),Se.value=[],Ve.value=""}finally{xe.value=!1}}function _n(t,e,n){n.dept_id<=0||Number(n.lead_count)<=0||(t.stopPropagation(),fn(e,n))}const sa=[{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 At(t,e,n){const{tb:s,row:d}=t,b={start_date:s.start_date,end_date:s.end_date,dept_id:d.dept_id,page:e,page_size:n};return A.value.length>0&&(b.dept_ids=A.value.join(",")),x.value&&(b.channel_code=x.value),b}function ia(t){const e=t==null?"":String(t);return/[",\n\r]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function pn(t){const e=sa.map(s=>ia(s.label)).join(","),n=t.map(s=>sa.map(d=>ia(s[d.key])).join(",")).join(`
`);return`\uFEFF${e}
${n}`}function mn(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 vn(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 Rt(){const t=ht.value;if(t){ue.value=!0;try{const e=await Mt(At(t,He.value,at.value));Ce.value=Array.isArray(e==null?void 0:e.lists)?e.lists:[],Le.value=Number((e==null?void 0:e.count)??0),Ue.value=typeof(e==null?void 0:e.note)=="string"?e.note:""}catch(e){if(ie.isCancel(e))return;const n=e;se.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载进线明细失败"),Ce.value=[],Le.value=0,Ue.value=""}finally{ue.value=!1}}}async function fn(t,e){ht.value={tb:t,row:e},Bt.value=`${e.dept_name} · ${oa(t)}`,Ue.value="",Ce.value=[],Le.value=0,He.value=1,at.value=20,bt.value=!0,await Rt()}function yn(t){He.value=t,Rt()}function bn(t){at.value=t,He.value=1,Rt()}async function hn(){const t=ht.value;if(!(!t||Ye.value)){Ye.value=!0;try{const n=await Mt(At(t,1,100)),s=Number((n==null?void 0:n.count)??0);if(s<=0){se.warning("暂无进线明细可导出");return}const d=Array.isArray(n==null?void 0:n.lists)?[...n.lists]:[],b=Math.ceil(s/100);for(let h=2;h<=b;h++){const w=await Mt(At(t,h,100)),T=Array.isArray(w==null?void 0:w.lists)?w.lists:[];d.push(...T)}mn(vn(t),pn(d)),se.success(`已导出 ${d.length} 条进线明细`)}catch(e){if(ie.isCancel(e))return;const n=e;se.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"导出进线明细失败")}finally{Ye.value=!1}}}function gn(t){return(fe.value-1)*Ae.value+t+1}function ra(t){return ge(t)?!0:t.dept_id>0}async function dt(){const t=wt.value;if(t){ve.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date,page:fe.value,page_size:Ae.value};t.mode==="dept"?e.dept_id=t.dept_id:e.assistant_id=t.assistant_id,A.value.length>0&&(e.dept_ids=A.value.join(",")),x.value&&(e.channel_code=x.value);const n=await gl(e);ce.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],$e.value=Number((n==null?void 0:n.count)??0),ze.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){if(ie.isCancel(e))return;const n=e;se.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载挂号明细失败"),ce.value=[],$e.value=0,ze.value=""}finally{ve.value=!1}}}function wn(t){if(!t||t.admin_id<=0||!S.value||Number(t.appointment_count??0)<=0)return;const e=S.value;wt.value={mode:"assistant",assistant_id:t.admin_id,name:t.name,start_date:e.start_date,end_date:e.end_date},gt.value=`${t.name} · 医助 · ${e.start_date} ~ ${e.end_date}`,ze.value="",ce.value=[],$e.value=0,fe.value=1,Ae.value=20,nt.value=!0,dt()}function kn(t,e){!ra(e)||Number(e.appointment_booked_count??0)<=0||(wt.value={mode:"dept",dept_id:e.dept_id,dept_name:e.dept_name,start_date:t.start_date,end_date:t.end_date},gt.value=`${e.dept_name} · ${t.start_date} ~ ${t.end_date}`,ze.value="",ce.value=[],$e.value=0,fe.value=1,Ae.value=20,nt.value=!0,dt())}function jn(t){fe.value=t,dt()}function xn(t){Ae.value=t,fe.value=1,dt()}function Sn(t,e){if(ge(e)){cn(t);return}if(!(e.dept_id<=0)){if(Ga(e.dept_id)){A.value=[e.dept_id],Me();return}ea(t,e)}}function Nn(t){if(!t||t.admin_id<=0||!S.value)return;const{start_date:e,end_date:n}=S.value;an(t,e,n)}function da(t){const e=t.channel_name?` · ${t.channel_name}`:"";return`${t.label}${e}`}function Dn(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 b=e.length>10;return{color:[...s,"#d97706","#0d9488"],tooltip:{trigger:"axis",axisPointer:{type:"cross"}},legend:{top:8,type:"scroll",textStyle:{fontSize:11}},grid:{left:52,right:52,top:48,bottom:b?56:28,containLabel:!1},dataZoom:b?[{type:"slider",bottom:4,start:0,end:Math.min(100,Math.ceil(12/Math.max(e.length,1)*100))}]:[],xAxis:{type:"category",data:n,axisLabel:{rotate:n.length>8?28:0,fontSize:10}},yAxis:[{type:"value",name:"数量",splitLine:{lineStyle:{type:"dashed",opacity:.55}}},{type:"value",name:"金额",splitLine:{show:!1}}],series:d}}function Cn(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 ua(t){return t.rows.some(e=>Number(e.fee_amount)>0)}function Ln(t,e){const s=[...t.rows].filter(d=>Number(d.fee_amount)>0).sort((d,b)=>Number(b.fee_amount)-Number(d.fee_amount)).slice(0,10).map(d=>({name:d.name.length>6?`${d.name.slice(0,6)}…`:d.name,value:Number(d.fee_amount)}));return{color:["#2563eb","#0d9488","#d97706","#7c3aed","#64748b","#0891b2","#65a30d","#c026d3","#ea580c","#4f46e5"],tooltip:{trigger:"item",formatter:"{b}: {c} 元 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:9}},series:[{name:"诊金",type:"pie",radius:["38%","64%"],center:["50%","42%"],data:s,itemStyle:{borderRadius:5,borderColor:"#fff",borderWidth:2},label:{formatter:`{b}
diff --git a/server/public/admin/assets/yeji-edit-DU1eStF3.js b/server/public/admin/assets/yeji-edit-BDKEPSLt.js
similarity index 87%
rename from server/public/admin/assets/yeji-edit-DU1eStF3.js
rename to server/public/admin/assets/yeji-edit-BDKEPSLt.js
index 5e012b29..e0ac2c21 100644
--- a/server/public/admin/assets/yeji-edit-DU1eStF3.js
+++ b/server/public/admin/assets/yeji-edit-BDKEPSLt.js
@@ -1 +1 @@
-import{_ as o}from"./yeji-edit.vue_vue_type_script_setup_true_lang-hahKN1fv.js";import"./element-plus-lurTijPg.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-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./self_input_stats-BxegJald.js";import"./index-hTkp7Jz4.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-NODwdV06.js";import"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-BOQUTiLN.js";export{o as default};
+import{_ as o}from"./yeji-edit.vue_vue_type_script_setup_true_lang-VpR0Elz_.js";import"./element-plus-lurTijPg.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-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./self_input_stats-BWqHEW9k.js";import"./index-DF1MLuL8.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-CnpV87Ke.js";import"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-BOQUTiLN.js";export{o as default};
diff --git a/server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-hahKN1fv.js b/server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-VpR0Elz_.js
similarity index 98%
rename from server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-hahKN1fv.js
rename to server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-VpR0Elz_.js
index d738770c..61475202 100644
--- a/server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-hahKN1fv.js
+++ b/server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-VpR0Elz_.js
@@ -1 +1 @@
-import{D as C,B as D,R as Y,a4 as S,a5 as q,h as B,C as F}from"./element-plus-lurTijPg.js";import{f as I,h as A}from"./self_input_stats-BxegJald.js";import{_ as L}from"./index-NODwdV06.js";import{_ as M}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-BOQUTiLN.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,a4 as S,a5 as q,h as B,C as F}from"./element-plus-lurTijPg.js";import{f as I,h as A}from"./self_input_stats-BWqHEW9k.js";import{_ as L}from"./index-CnpV87Ke.js";import{_ as M}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-BOQUTiLN.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 629f8611..53b5ad5e 100755
--- a/server/public/admin/index.html
+++ b/server/public/admin/index.html
@@ -60,7 +60,7 @@
document.head.appendChild(link);
})();
-
+
diff --git a/server/sql/1.9.20260601/add_qywx_appointment_h5_menu.sql b/server/sql/1.9.20260601/add_qywx_appointment_h5_menu.sql
new file mode 100644
index 00000000..6b285cbd
--- /dev/null
+++ b/server/sql/1.9.20260601/add_qywx_appointment_h5_menu.sql
@@ -0,0 +1,71 @@
+-- 企业微信菜单:新增「问诊列表」H5 页面
+-- 位置:企业微信 > 问诊列表,与「诊单」「业务订单」同级
+-- 前端地址:/admin/wx/appointment?
+
+SET @qywx_pid := (
+ SELECT zhend.`pid`
+ FROM `zyt_system_menu` zhend
+ WHERE zhend.`name` = '诊单'
+ AND zhend.`pid` > 0
+ AND EXISTS (
+ SELECT 1
+ FROM `zyt_system_menu` orders
+ WHERE orders.`pid` = zhend.`pid`
+ AND orders.`name` = '业务订单'
+ )
+ ORDER BY id ASC
+ LIMIT 1
+);
+
+SET @sort_no := (
+ SELECT IFNULL(MAX(`sort`), 0) + 1
+ FROM `zyt_system_menu`
+ WHERE `pid` = @qywx_pid
+);
+
+-- 若之前执行过旧版 SQL(如 paths = wenzhen / patient),先修正为当前内部路由。
+UPDATE `zyt_system_menu`
+SET
+ `name` = '问诊列表',
+ `perms` = 'doctor.appointment/lists',
+ `paths` = 'appointment',
+ `component` = 'tcm/appointment/list_h5',
+ `is_show` = 1,
+ `is_disable` = 0,
+ `update_time` = UNIX_TIMESTAMP()
+WHERE @qywx_pid IS NOT NULL
+ AND `pid` = @qywx_pid
+ AND (
+ `component` = 'tcm/appointment/list_h5'
+ OR `paths` IN ('wenzhen', 'patient', 'appointment')
+ OR `name` IN ('患者列表', '问诊列表')
+ );
+
+INSERT INTO `zyt_system_menu` (
+ `pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`,
+ `selected`, `params`, `is_cache`, `is_show`, `is_disable`, `create_time`, `update_time`
+)
+SELECT
+ @qywx_pid,
+ 'C',
+ '问诊列表',
+ '',
+ @sort_no,
+ 'doctor.appointment/lists',
+ 'appointment',
+ 'tcm/appointment/list_h5',
+ '',
+ '',
+ 0,
+ 1,
+ 0,
+ UNIX_TIMESTAMP(),
+ UNIX_TIMESTAMP()
+FROM DUAL
+WHERE @qywx_pid IS NOT NULL
+ AND NOT EXISTS (
+ SELECT 1
+ FROM `zyt_system_menu`
+ WHERE `pid` = @qywx_pid
+ AND (`paths` = 'appointment' OR `component` = 'tcm/appointment/list_h5')
+ );