import{d as re,i as de,H as ue,I as me,A as pe,z as _e,Q as fe,O as ce,P as be,p as ge,n as ve,o as ye,W as ke,N as we}from"./element-plus-DDINy080.js";import{_ as xe}from"./index.vue_vue_type_script_setup_true_lang-9cmfzJ44.js";import{w as Ce}from"./@vue/runtime-dom-DDAG46FW.js";import{a8 as Ne,M as Ve,O as H,e as he}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as De}from"./usePaging-DofycyjW.js";import{q as Ee}from"./first_visit-Dr_cz1Zy.js";import{c as Oe,m as S,O as Fe}from"./OrderActionHost-P_hCTLpf.js";import{f as Pe,A as E,b as Re,ak as p,I as b,J as t,a as n,aN as a,O as d,F as O,ap as F,aP as je,G as P,H as $}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,a as Ae,n as Y,r as Ie}from"./@vue/reactivity-DiY1c2vO.js";import{Q as i,o as A}from"./@vue/shared-mAAVTE9n.js";import{_ as Te}from"./index-CucNzNKR.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"./PrescriptionOrderDetailDrawer-BcCZtcbd.js";import"./tcm-GunznPcd.js";import"./prescription-order-utils-CXfs2Bra.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"./perm-BnhoH_X2.js";const Be={class:"embedded-panel"},ze={class:"panel-toolbar"},Le={class:"toolbar-actions"},Me={class:"scope-chip"},Ue={class:"filter-panel"},He={class:"filter-heading"},Se={class:"status-filter-list"},$e={class:"status-filter-row"},Ye={class:"status-filter-row"},Ge={class:"status-filter-row status-filter-row--fulfillment"},Ke={class:"search-filter-row"},Qe={class:"filter-field filter-field--keyword"},qe={class:"filter-field filter-field--date"},Je={class:"filter-actions"},We={class:"metric-grid"},Xe={class:"metric-card"},Ze={class:"metric-card"},et={class:"metric-card metric-warning"},tt={class:"metric-card metric-success"},lt={class:"primary-cell"},nt={class:"primary-cell"},at={class:"id-stack"},st={key:0,class:"amount"},ot={key:1,class:"amount-excluded"},it={class:"order-actions"},rt={class:"pagination-wrap"},dt=Pe({__name:"OrderPanel",emits:["openDiagnosis"],setup(ut,{expose:G,emit:K}){const Q=K,R=Y(),j=Y([]),o=Ie({keyword:"",prescription_audit_status:"",payment_slip_audit_status:"",fulfillment_status:"",start_date:"",end_date:""}),I=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],q=[{label:"全部",value:""},{label:"待双审通过",value:1},{label:"待发货",value:2},{label:"已完成",value:3},{label:"已取消",value:4},{label:"已发货",value:5},{label:"已签收",value:6},{label:"进行中",value:7},{label:"暂不制药",value:8},{label:"拒收",value:9},{label:"退款",value:10},{label:"保留药方",value:11},{label:"制药缓发",value:12}],{pager:u,getLists:x,resetPage:C}=De({fetchFun:Ee,params:o,size:15,firstLoading:!0}),g=E(()=>{var s,e,f,_,y,k,N,V,r,w,h,D;return{orders:Number(((e=(s=u.extend)==null?void 0:s.summary)==null?void 0:e.orders)||0),amount:Number(((_=(f=u.extend)==null?void 0:f.summary)==null?void 0:_.amount)||0),pending:Number(((k=(y=u.extend)==null?void 0:y.summary)==null?void 0:k.pending)||0),completed:Number(((V=(N=u.extend)==null?void 0:N.summary)==null?void 0:V.completed)||0),rejected:Number(((w=(r=u.extend)==null?void 0:r.summary)==null?void 0:w.rejected)||0),rejectionRate:Number(((D=(h=u.extend)==null?void 0:h.summary)==null?void 0:D.rejection_rate)||0)}}),J=E(()=>{var s,e;return((e=(s=u.extend)==null?void 0:s.scope)==null?void 0:e.label)||"按权限加载"}),W=E(()=>!!(o.keyword.trim()||o.prescription_audit_status!==""||o.payment_slip_audit_status!==""||o.fulfillment_status!==""||o.start_date||o.end_date));function v(){C()}function T(){return x()}function X(s){o.start_date=(s==null?void 0:s[0])||"",o.end_date=(s==null?void 0:s[1])||(s==null?void 0:s[0])||"",C()}function B(){o.keyword="",o.prescription_audit_status="",o.payment_slip_audit_status="",o.fulfillment_status="",o.start_date="",o.end_date="",j.value=[],C()}function z(){o.fulfillment_status=Number(o.fulfillment_status)===9?"":9,C()}function L(s){return Number(s||0).toFixed(2)}function Z(s){const e=Number(s||0);return`${Number.isInteger(e)?e.toFixed(0):e.toFixed(2)}%`}function M(s){return Number(s)===1?"success":Number(s)===2?"danger":"warning"}function ee(s){const e=Number(s);return[3,6].includes(e)?"success":[4,9,10].includes(e)?"danger":[2,5,7].includes(e)?"primary":"warning"}function te({row:s}){return[2].includes(Number(s.prescription_audit_status))||[2].includes(Number(s.payment_slip_audit_status))?"order-row-risk":[3,6].includes(Number(s.fulfillment_status))?"order-row-done":""}function le(s,e){var f;(f=R.value)==null||f.openAction(s,e)}return G({refresh:T,loading:E(()=>u.loading)}),Re(x),(s,e)=>{const f=re,_=de,y=ue,k=me,N=pe,V=_e,r=ce,w=be,h=ye,D=ve,ne=ge,ae=ke,se=we,oe=xe,ie=fe;return p(),b("section",Be,[t("div",ze,[e[7]||(e[7]=t("div",null,[t("h2",null,"订单管理"),t("p",null,"展示当前患者范围内的处方业务订单,订单创建人不参与数据归属判断")],-1)),t("div",Le,[t("span",Me,[n(f,null,{default:a(()=>[n(m(Ne))]),_:1}),d(i(J.value),1)]),n(_,{icon:m(Ve),loading:m(u).loading,onClick:T},{default:a(()=>[...e[6]||(e[6]=[d("刷新",-1)])]),_:1},8,["icon","loading"])])]),t("div",Ue,[t("div",He,[e[9]||(e[9]=t("div",null,[t("h3",null,"订单检索"),t("p",null,"审核与履约状态直接展示,点击后立即筛选")],-1)),n(_,{link:"",disabled:!W.value,onClick:B},{default:a(()=>[...e[8]||(e[8]=[d("清空全部条件",-1)])]),_:1},8,["disabled"])]),t("div",Se,[t("div",$e,[e[10]||(e[10]=t("span",{class:"filter-label"},"处方审核",-1)),n(k,{modelValue:o.prescription_audit_status,"onUpdate:modelValue":e[0]||(e[0]=l=>o.prescription_audit_status=l),onChange:v},{default:a(()=>[(p(),b(O,null,F(I,l=>n(y,{key:String(l.value),value:l.value},{default:a(()=>[d(i(l.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),t("div",Ye,[e[11]||(e[11]=t("span",{class:"filter-label"},"支付单审核",-1)),n(k,{modelValue:o.payment_slip_audit_status,"onUpdate:modelValue":e[1]||(e[1]=l=>o.payment_slip_audit_status=l),onChange:v},{default:a(()=>[(p(),b(O,null,F(I,l=>n(y,{key:String(l.value),value:l.value},{default:a(()=>[d(i(l.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),t("div",Ge,[e[12]||(e[12]=t("span",{class:"filter-label"},"履约状态",-1)),n(k,{modelValue:o.fulfillment_status,"onUpdate:modelValue":e[2]||(e[2]=l=>o.fulfillment_status=l),onChange:v},{default:a(()=>[(p(),b(O,null,F(q,l=>n(y,{key:String(l.value),value:l.value},{default:a(()=>[d(i(l.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])])]),t("div",Ke,[t("label",Qe,[e[13]||(e[13]=t("span",null,"关键词",-1)),n(N,{modelValue:o.keyword,"onUpdate:modelValue":e[3]||(e[3]=l=>o.keyword=l),clearable:"","prefix-icon":m(H),placeholder:"订单号 / 患者 / 手机号 / 处方ID / 诊单ID",onKeyup:Ce(v,["enter"]),onClear:v},null,8,["modelValue","prefix-icon"])]),t("label",qe,[e[14]||(e[14]=t("span",null,"创建时间",-1)),n(V,{modelValue:j.value,"onUpdate:modelValue":e[4]||(e[4]=l=>j.value=l),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:"",onChange:X},null,8,["modelValue"])]),t("div",Je,[n(_,{type:"primary",icon:m(H),onClick:v},{default:a(()=>[...e[15]||(e[15]=[d("查询",-1)])]),_:1},8,["icon"]),n(_,{onClick:B},{default:a(()=>[...e[16]||(e[16]=[d("重置",-1)])]),_:1})])])]),t("div",We,[t("div",Xe,[e[17]||(e[17]=t("span",null,"订单数量",-1)),t("strong",null,i(g.value.orders),1),e[18]||(e[18]=t("small",null,"笔",-1))]),t("div",Ze,[e[19]||(e[19]=t("span",null,"有效订单金额",-1)),t("strong",null,"¥"+i(L(g.value.amount)),1),e[20]||(e[20]=t("small",null,"排除取消、拒收及退款",-1))]),t("div",et,[e[21]||(e[21]=t("span",null,"待审核",-1)),t("strong",null,i(g.value.pending),1),e[22]||(e[22]=t("small",null,"任一审核待处理",-1))]),t("div",tt,[e[23]||(e[23]=t("span",null,"已完成 / 签收",-1)),t("strong",null,i(g.value.completed),1),e[24]||(e[24]=t("small",null,"笔",-1))]),t("button",{class:A(["metric-card metric-card--interactive metric-rejected",{"is-active":Number(o.fulfillment_status)===9}]),type:"button",onClick:z},[e[25]||(e[25]=t("span",null,"拒收订单",-1)),t("strong",null,i(g.value.rejected),1),e[26]||(e[26]=t("small",null,"笔 · 点击查看明细",-1))],2),t("button",{class:A(["metric-card metric-card--interactive metric-rejected-rate",{"is-active":Number(o.fulfillment_status)===9}]),type:"button",onClick:z},[e[27]||(e[27]=t("span",null,"拒收率",-1)),t("strong",null,i(Z(g.value.rejectionRate)),1),e[28]||(e[28]=t("small",null,"拒收订单 ÷ 同检索范围订单",-1))],2)]),je((p(),P(se,{data:m(u).lists,class:"embedded-table","row-class-name":te},{empty:a(()=>[n(ae,{description:"当前范围内暂无订单"})]),default:a(()=>[n(r,{label:"订单","min-width":"174",fixed:"left"},{default:a(({row:l})=>[t("div",lt,[t("strong",null,i(l.order_no||"—"),1),t("span",null,"#"+i(l.id)+" · "+i(l.fee_type_text),1)])]),_:1}),n(r,{label:"患者","min-width":"150"},{default:a(({row:l})=>[t("div",nt,[t("strong",null,i(l.patient_name||l.recipient_name||"—"),1),t("span",null,i(l.patient_phone_masked||l.recipient_phone_masked||"无手机号"),1)])]),_:1}),n(r,{label:"处方 / 诊单","min-width":"118"},{default:a(({row:l})=>[t("div",at,[t("span",null,"处方 #"+i(l.prescription_id||"—"),1),t("span",null,"诊单 #"+i(l.diagnosis_id||"—"),1)])]),_:1}),n(r,{label:"有效金额",width:"118",align:"right"},{default:a(({row:l})=>[l.amount_included?(p(),b("strong",st,"¥"+i(L(l.effective_amount)),1)):(p(),b("span",ot,i(l.amount_exclusion_text||"不计入"),1))]),_:1}),n(r,{label:"处方审核",width:"104",align:"center"},{default:a(({row:l})=>[n(w,{size:"small",type:M(l.prescription_audit_status),effect:"light"},{default:a(()=>[d(i(l.prescription_audit_text),1)]),_:2},1032,["type"])]),_:1}),n(r,{label:"支付单审核",width:"112",align:"center"},{default:a(({row:l})=>[n(w,{size:"small",type:M(l.payment_slip_audit_status),effect:"light"},{default:a(()=>[d(i(l.payment_slip_audit_text),1)]),_:2},1032,["type"])]),_:1}),n(r,{label:"履约状态",width:"112",align:"center"},{default:a(({row:l})=>[n(w,{size:"small",type:ee(l.fulfillment_status),effect:"light"},{default:a(()=>[d(i(l.fulfillment_text),1)]),_:2},1032,["type"])]),_:1}),n(r,{label:"关联支付单",width:"100",align:"center"},{default:a(({row:l})=>[d(i(Number(l.linked_pay_order_count)>0?`${l.linked_pay_order_count} 笔`:"—"),1)]),_:1}),n(r,{prop:"assistant_name",label:"归属助理","min-width":"100","show-overflow-tooltip":""}),n(r,{prop:"doctor_name",label:"开方人","min-width":"90","show-overflow-tooltip":""}),n(r,{prop:"creator_name",label:"创建人","min-width":"90","show-overflow-tooltip":""}),n(r,{prop:"create_time_text",label:"创建时间","min-width":"145"}),n(r,{label:"操作",width:"190",fixed:"right"},{default:a(({row:l})=>[t("div",it,[n(_,{type:"primary",link:"",onClick:c=>Q("openDiagnosis",l)},{default:a(()=>[...e[29]||(e[29]=[d("诊单",-1)])]),_:1},8,["onClick"]),m(Oe)()?(p(),P(_,{key:0,type:"primary",link:"",onClick:c=>{var U;return(U=R.value)==null?void 0:U.openDetail(l)}},{default:a(()=>[...e[30]||(e[30]=[d("详情",-1)])]),_:1},8,["onClick"])):$("",!0),m(S)(l).length?(p(),P(ne,{key:1,trigger:"click",onCommand:c=>le(l,c)},{dropdown:a(()=>[n(D,null,{default:a(()=>[(p(!0),b(O,null,F(m(S)(l),c=>(p(),P(h,{key:c.key,command:c.key,class:A({"danger-menu-item":c.danger})},{default:a(()=>[d(i(c.label),1)]),_:2},1032,["command","class"]))),128))]),_:2},1024)]),default:a(()=>[n(_,{type:"primary",link:""},{default:a(()=>[e[31]||(e[31]=d(" 操作",-1)),n(f,{class:"el-icon--right"},{default:a(()=>[n(m(he))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):$("",!0)])]),_:1})]),_:1},8,["data"])),[[ie,m(u).loading]]),t("div",rt,[n(oe,{modelValue:m(u),"onUpdate:modelValue":e[5]||(e[5]=l=>Ae(u)?u.value=l:null),onChange:m(x)},null,8,["modelValue","onChange"])]),n(Fe,{ref_key:"orderActionHostRef",ref:R,onChanged:m(x)},null,8,["onChanged"])])}}}),ll=Te(dt,[["__scopeId","data-v-17618fe4"]]);export{ll as default};