import{o as G,R as H,be as Q,q as l,r as v,v as a,bB as X,F as Y,s as b,D as i,w as Z,u as d,ch as tt,a1 as et,ac as h,J as st,T as m,O as g,K as at,L as f,P as it,bj as ot,bk as lt,br as nt,bi as rt,C as dt,p as S,M as y,ba as ft}from"./.pnpm-9dA1PEvN.js";import{_ as ut}from"./index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js";import{u as ct}from"./usePaging-Boz1Q6w3.js";import{t as mt,a4 as pt,ao as _t}from"./tcm-Fi_swgCr.js";import vt from"./PrescriptionOrderDetailDrawer-CEi7ZXfx.js";import{i as V,_ as bt}from"./index-BWzN7QIb.js";import{B as gt,a as yt,f as wt}from"./prescription-order-utils-B0fYlULc.js";const xt={class:"patient-order-list"},ht={key:0,class:"po-empty-tip"},St={key:0,class:"po-revisit-offset-bar mb-3"},kt={class:"po-revisit-offset-bar__main"},Nt={class:"text-xs text-gray-500 ml-2"},It={key:0},Dt={key:1,class:"text-gray-400"},Ot={class:"text-red-500 font-semibold"},Et={class:"flex justify-end mt-3"},Ct=G({__name:"PatientOrderList",props:{diagnosisId:{},patientId:{}},setup(E,{expose:F}){const r=E,k=S(()=>{const e=Number(r.patientId);return Number.isFinite(e)&&e>0?e:0}),N=S(()=>k.value>0),p=ft({}),{pager:u,getLists:I,resetPage:L}=ct({fetchFun:mt,params:p,size:10}),c=y(0),w=y(0),x=y(!1),C=y(!1),P=S(()=>Number(c.value)!==Number(w.value)),B=S(()=>{const e=Number(c.value),o=(Number.isFinite(e)?e:0)+1,_=["","一","二","三","四","五","六","七","八","九","十"];return o>=1&&o<=10?_[o]+"诊":`第${o}诊`}),q=()=>{Object.keys(p).forEach(e=>delete p[e]),r.diagnosisId>0&&(p.context_diagnosis_id=r.diagnosisId),N.value&&(p.patient_id=k.value),p.scene="diagnosis_edit"};async function z(){if(!(r.diagnosisId<=0)){C.value=!0;try{const e=await pt({id:r.diagnosisId}),t=(e==null?void 0:e.data)??e??{},o=Number(t.revisit_slot_start_offset),_=Number.isFinite(o)&&o>=0&&o<=20?o:0;c.value=_,w.value=_}catch{c.value=0,w.value=0}finally{C.value=!1}}}async function j(){if(r.diagnosisId<=0)return;const e=Number(c.value);if(!Number.isFinite(e)||e<0||e>20){V.msgWarning("起始偏移须在 0~20 之间");return}x.value=!0;try{await _t({id:r.diagnosisId,revisit_slot_start_offset:e}),w.value=e,V.msgSuccess("保存成功"),I()}catch{}finally{x.value=!1}}const R=y();function $(e){var t;(t=R.value)==null||t.open(e)}const A=e=>{const t=Number(e);return Number.isFinite(t)?t.toFixed(2):"0.00"};return H(()=>[r.diagnosisId,k.value],()=>{if(!N.value){u.lists=[],u.count=0;return}q(),z(),L()},{immediate:!0}),F({refresh:()=>I()}),(e,t)=>{const o=X,_=Z,U=et,J=st,T=at,n=lt,D=nt,K=ot,M=ut,O=Q("perms"),W=rt;return l(),v("div",xt,[N.value?(l(),v(Y,{key:1},[E.diagnosisId>0?(l(),v("div",St,[b("div",kt,[t[3]||(t[3]=b("span",{class:"text-sm text-gray-600"},"复诊统计起始偏移",-1)),a(U,{placement:"top"},{content:i(()=>[...t[2]||(t[2]=[b("div",{class:"max-w-xs leading-relaxed"}," 在实单诊次序号上叠加偏移量。设为 0(默认):第 1 笔实单计为一诊;设为 1:第 1 笔实单计为二诊;设为 2:第 1 笔实单计为三诊——若有 5 笔实单且偏移 2,则统计上相当于计至七诊(5+2)。 ",-1)])]),default:i(()=>[a(_,{class:"text-gray-400 align-middle ml-1"},{default:i(()=>[a(d(tt))]),_:1})]),_:1}),h(a(J,{modelValue:c.value,"onUpdate:modelValue":t[0]||(t[0]=s=>c.value=s),min:0,max:20,step:1,"controls-position":"right",class:"w-[120px] ml-3",disabled:x.value},null,8,["modelValue","disabled"]),[[O,["tcm.diagnosis/setRevisitSlotStartOffset"]]]),b("span",Nt," 第 1 笔实单计为"+m(B.value),1)]),h((l(),g(T,{type:"primary",size:"small",loading:x.value,disabled:!P.value,onClick:j},{default:i(()=>[...t[4]||(t[4]=[f(" 保存 ",-1)])]),_:1},8,["loading","disabled"])),[[O,["tcm.diagnosis/setRevisitSlotStartOffset"]]])])):it("",!0),h((l(),g(K,{data:d(u).lists,border:"",stripe:"","empty-text":"暂无业务订单"},{default:i(()=>[a(n,{label:"订单编号",prop:"order_no","min-width":"200","show-overflow-tooltip":""}),a(n,{label:"全局诊次",width:"96",align:"center"},{default:i(({row:s})=>[s.global_visit_seq?(l(),v("span",It,m(s.global_visit_seq)+"诊",1)):(l(),v("span",Dt,"—"))]),_:1}),a(n,{label:"计入统计",width:"96",align:"center"},{default:i(({row:s})=>[s.counts_for_revisit_rate?(l(),g(D,{key:0,type:"success",size:"small",effect:"plain"},{default:i(()=>[...t[5]||(t[5]=[f("是",-1)])]),_:1})):(l(),g(D,{key:1,type:"info",size:"small",effect:"plain"},{default:i(()=>[...t[6]||(t[6]=[f("否",-1)])]),_:1}))]),_:1}),a(n,{label:"金额",width:"120",align:"right"},{default:i(({row:s})=>[b("span",Ot,"¥"+m(A(s.amount)),1)]),_:1}),a(n,{label:"医生",prop:"doctor_name",width:"110","show-overflow-tooltip":""},{default:i(({row:s})=>[f(m(s.doctor_name||"—"),1)]),_:1}),a(n,{label:"医助",prop:"assistant_name",width:"110","show-overflow-tooltip":""},{default:i(({row:s})=>[f(m(s.assistant_name||"—"),1)]),_:1}),a(n,{label:"履约状态",width:"110"},{default:i(({row:s})=>[a(D,{type:d(gt)(s.fulfillment_status),size:"small",effect:"light"},{default:i(()=>[f(m(d(yt)(s.fulfillment_status)),1)]),_:2},1032,["type"])]),_:1}),a(n,{label:"创建时间","min-width":"170"},{default:i(({row:s})=>[f(m(d(wt)(s.create_time)),1)]),_:1}),a(n,{label:"操作",width:"100",fixed:"right"},{default:i(({row:s})=>[h((l(),g(T,{type:"primary",link:"",onClick:Rt=>$(s.id)},{default:i(()=>[...t[7]||(t[7]=[f("查看详情",-1)])]),_:1},8,["onClick"])),[[O,["tcm.prescriptionOrder/detail"]]])]),_:1})]),_:1},8,["data"])),[[W,d(u).loading]]),b("div",Et,[a(M,{modelValue:d(u),"onUpdate:modelValue":t[1]||(t[1]=s=>dt(u)?u.value=s:null),onChange:d(I)},null,8,["modelValue","onChange"])])],64)):(l(),v("div",ht,[a(o,{description:"当前诊单未携带患者ID,无法列出业务订单"})])),a(vt,{ref_key:"detailDrawerRef",ref:R,readonly:"","append-to-body":""},null,512)])}}}),zt=bt(Ct,[["__scopeId","data-v-dab792c2"]]);export{zt as default};