2 lines
10 KiB
JavaScript
2 lines
10 KiB
JavaScript
import{o as Y,q as u,r as c,s,T as i,ce as J,F as N,G as L,P as p,M as K,p as a}from"./.pnpm-C1KTa5cB.js";import{_ as Q}from"./index-Cxx1IoGl.js";function f(e){return isFinite(e)?Number.isInteger(e)?String(e):e.toFixed(2).replace(/\.?0+$/,""):"0"}function X(e){return e===1||e==="1"?"男":e===0||e==="0"?"女":"—"}function Z(e){return e==null||e===""?"—":`${e}岁`}function V(e){return e==="辅方"?"辅方":"主方"}function k(e){return String(e).padStart(2,"0")}function ee(e="浓缩水丸"){return e==="饮片"?{dosage_amount:50,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:e==="浓缩水丸"?{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 te(e,t){const n=ee(t);if(!e||typeof e!="object")return{...n};const r=e;return{dosage_amount:r.dosage_amount!==null&&r.dosage_amount!==void 0&&r.dosage_amount!==""?Number(r.dosage_amount):n.dosage_amount,dosage_bag_count:r.dosage_bag_count!=null?Number(r.dosage_bag_count)||1:n.dosage_bag_count,need_decoction:r.need_decoction===1||r.need_decoction===!0,bags_per_dose:r.bags_per_dose!=null?Number(r.bags_per_dose)||1:n.bags_per_dose,times_per_day:r.times_per_day!=null?Number(r.times_per_day)||3:n.times_per_day,usage_days:r.usage_days!=null?Number(r.usage_days)||7:n.usage_days,prescription_name:String(r.prescription_name??"").trim()}}function z(e,t,n){const r=e.prescription_type||"浓缩水丸",l=Number(e.times_per_day)>0?Number(e.times_per_day):3,_=e.dosage_amount!=null?Number(e.dosage_amount):10,m=e.dosage_unit||(r==="饮片"?"ml":"g"),b=e.usage_way||t||"温水送服",y=e.usage_time||n||"",d=[];if(d.push(`每天${l}次`),r==="浓缩水丸"){const h=Number(e.dosage_bag_count)>0?Number(e.dosage_bag_count):1;d.push(`一次${h}袋`),d.push(`每袋${_}${m}`)}else d.push(`一次${_}${m}`);return d.push(b),y&&d.push(y),d.join(", ")}function v(e){const t=e==null?void 0:e.herbs;return Array.isArray(t)?t:[]}function se(e){return v(e).filter(t=>V(t.formula_type)==="主方")}function E(e){return v(e).filter(t=>V(t.formula_type)==="辅方")}function I(e){const t=Number(e==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}function ne(e){if(!e)return"—";const t=e.create_time??e.update_time??null;if(t){const n=String(t).length===10?Number(t)*1e3:Number(t),r=new Date(n);if(!isNaN(r.getTime()))return`${r.getFullYear()}-${k(r.getMonth()+1)}-${k(r.getDate())} ${k(r.getHours())}:${k(r.getMinutes())}`}return e.prescription_date||"—"}function re(e){return e?e.order_no||e.serial_no||e.serial_number||e.no||e.prescription_no||e.sn||e.visit_no||(e.id?`G${e.id}`:"—"):"—"}function oe(e){if(!e)return"—";if(e.recipient_text)return e.recipient_text;const t=[];(e.recipient_name||e.patient_name)&&t.push(e.recipient_name||e.patient_name),(e.recipient_phone||e.phone)&&t.push(e.recipient_phone||e.phone);let n=e.region;return Array.isArray(n)&&(n=n.filter(Boolean).join("")),n||(n=[e.shipping_province,e.shipping_city,e.shipping_district].filter(Boolean).join("")),n&&t.push(String(n)),e.shipping_address?t.push(String(e.shipping_address)):e.address&&t.push(String(e.address)),t.length?t.join(","):"—"}function ie(e){const n=v(e).reduce((r,l)=>r+(Number(l==null?void 0:l.dosage)||0),0);return f(n)}function ae(e,t){const n=Number(t)||0;return f(n*I(e))}function ue(e){if(!e)return"—";const t=e.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(t)?`浓缩丸-${t}`:t}function ce(e){return e?e.usage_text?e.usage_text:z(e):"—"}function le(e){if(!e||!E(e).length)return"";const t=te(e.aux_usage,e.prescription_type||"浓缩水丸");return z({prescription_type:e.prescription_type,dosage_amount:t.dosage_amount,dosage_unit:e.dosage_unit,dosage_bag_count:t.dosage_bag_count,times_per_day:t.times_per_day,usage_way:e.usage_way,usage_time:e.usage_time},e.usage_way,e.usage_time)}function _e(e){return e&&(e.medical_advice||e.doctor_advice)||""}function de(e){const t=e==null?void 0:e.dietary_taboo;return Array.isArray(t)?t.filter(Boolean).join("、"):typeof t=="string"&&t.trim()?t.trim():""}function pe(e){if(!e)return"";const t=[];return t.push(`共${v(e).length}味药`),e.usage_notes&&t.push(String(e.usage_notes)),e.remark&&t.push(String(e.remark)),t.join(" ")}function me(e){return e&&(e.pharmacy_remark||e.pharmacy_note)||""}function xe(e){if((e.prescription_type||"浓缩水丸")==="浓缩水丸"){const l=Number(e.medication_days??e.usage_days??e.dose_count),_=Number(e.times_per_day),m=Number(e.dosage_amount),b=Number(e.dosage_bag_count)>0?Number(e.dosage_bag_count):1;if(Number.isFinite(l)&&Number.isFinite(_)&&Number.isFinite(m)&&l>0&&_>0&&m>0)return f(l*_*m*b)}const t=e.out_pellet||e.out_pellet_text||e.total_weight;if(t&&Number(t)>0)return f(Number(t));const n=v(e);if(!n.length)return"";const r=n.reduce((l,_)=>l+(Number(_==null?void 0:_.dosage)||0),0);return f(r*I(e))}function ge(e){if(!e)return"";const t=xe(e);return t?`${t}克`:""}const be={class:"rx-notice"},fe={class:"rx-notice-meta"},ve={class:"rx-info"},ye={class:"rx-info-row"},he={class:"rx-info-cell"},Ne={class:"rx-val"},ke={class:"rx-info-cell"},Te={class:"rx-val"},$e={class:"rx-info-cell"},Se={class:"rx-val"},we={class:"rx-info-cell"},Ae={class:"rx-val"},Fe={class:"rx-info-row rx-info-row-full"},De={class:"rx-info-cell"},Pe={class:"rx-val"},je={class:"rx-info-row rx-info-row-full"},He={class:"rx-info-cell"},Re={class:"rx-val"},Be={class:"rx-rp"},Ue={class:"rx-herbs"},Ge={class:"rx-herb-name"},Me={class:"rx-herb-total"},Ce={class:"rx-herb-name"},Le={class:"rx-herb-total"},Ve={class:"rx-text"},ze={key:0},Ee={key:1},Ie={key:2},Oe={key:3},qe={key:4,class:"rx-text-warn"},We={key:5,class:"rx-text-warn"},Ye={class:"rx-bottom"},Je={class:"rx-bot-row rx-bot-row-1"},Ke={class:"rx-bot-cell rx-bot-stack rx-bot-doctor"},Qe={class:"rx-bot-doctor-body"},Xe=["src"],Ze={key:1,class:"rx-bot-doctor-name"},et={class:"rx-bot-cell rx-bot-meta"},tt={class:"rx-bot-meta-val"},st={class:"rx-bot-cell rx-bot-meta"},nt={class:"rx-bot-meta-val"},rt={class:"rx-bot-cell rx-bot-meta"},ot={class:"rx-bot-meta-val"},it=Y({name:"PrescriptionSlip",__name:"index",props:{data:{}},setup(e,{expose:t}){const n=e,r=K(null),l=a(()=>ne(n.data)),_=a(()=>re(n.data)),m=a(()=>oe(n.data)),b=a(()=>{var x;return X((x=n.data)==null?void 0:x.gender)}),y=a(()=>{var x;return Z((x=n.data)==null?void 0:x.age)}),d=a(()=>se(n.data)),h=a(()=>E(n.data)),O=a(()=>ce(n.data)),$=a(()=>le(n.data)),S=a(()=>_e(n.data)),w=a(()=>de(n.data)),A=a(()=>pe(n.data)),F=a(()=>me(n.data)),D=a(()=>ge(n.data)),q=a(()=>ue(n.data)),W=a(()=>ie(n.data));function P(x){return ae(n.data,x)}return t({paperEl:r,$el:r}),(x,o)=>{var j,H,R,B,U,G,M,C;return u(),c("div",{ref_key:"paperRef",ref:r,class:"rx-paper"},[s("div",be,[o[0]||(o[0]=s("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),s("span",fe,[s("span",null,"日期:"+i(l.value),1),s("span",null,"编号:"+i(_.value),1)])]),s("div",ve,[s("div",ye,[s("div",he,[o[1]||(o[1]=s("span",{class:"rx-key"},"姓名",-1)),s("span",Ne,i(((j=e.data)==null?void 0:j.patient_name)||"—"),1)]),s("div",ke,[o[2]||(o[2]=s("span",{class:"rx-key"},"性别",-1)),s("span",Te,i(b.value),1)]),s("div",$e,[o[3]||(o[3]=s("span",{class:"rx-key"},"年龄",-1)),s("span",Se,i(y.value),1)]),s("div",we,[o[4]||(o[4]=s("span",{class:"rx-key"},"电话",-1)),s("span",Ae,i(((H=e.data)==null?void 0:H.phone)||((R=e.data)==null?void 0:R.recipient_phone)||"—"),1)])]),s("div",Fe,[s("div",De,[o[5]||(o[5]=s("span",{class:"rx-key"},"收件信息",-1)),s("span",Pe,i(m.value),1)])]),s("div",je,[s("div",He,[o[6]||(o[6]=s("span",{class:"rx-key"},"临床诊断",-1)),s("span",Re,i(((B=e.data)==null?void 0:B.clinical_diagnosis)||"—"),1)])])]),s("div",Be,[o[9]||(o[9]=J('<div class="rx-watermark" data-v-6b52f4e0>药房联</div><div class="rx-rp-head" data-v-6b52f4e0><div class="rx-rp-label" data-v-6b52f4e0>Rp.</div><div class="rx-rp-cols-head" data-v-6b52f4e0><div class="rx-rp-col-head" data-v-6b52f4e0><span data-v-6b52f4e0>用药 (单剂)</span><span data-v-6b52f4e0>总量</span></div><div class="rx-rp-col-head" data-v-6b52f4e0><span data-v-6b52f4e0>用药 (单剂)</span><span data-v-6b52f4e0>总量</span></div></div></div>',2)),s("div",Ue,[d.value.length?(u(),c(N,{key:0},[o[7]||(o[7]=s("div",{class:"rx-herb-section-label"},"主方",-1)),(u(!0),c(N,null,L(d.value,(g,T)=>(u(),c("div",{key:"main-"+T,class:"rx-herb-cell"},[s("span",Ge,i(g.name)+" ("+i(g.dosage)+"克)",1),s("span",Me,i(P(g.dosage))+"克",1)]))),128))],64)):p("",!0),h.value.length?(u(),c(N,{key:1},[o[8]||(o[8]=s("div",{class:"rx-herb-section-label rx-herb-section-label--aux"},"辅方",-1)),(u(!0),c(N,null,L(h.value,(g,T)=>(u(),c("div",{key:"aux-"+T,class:"rx-herb-cell"},[s("span",Ce,i(g.name)+" ("+i(g.dosage)+"克)",1),s("span",Le,i(P(g.dosage))+"克",1)]))),128))],64)):p("",!0)])]),s("div",Ve,[s("p",null,"主方服法:"+i(O.value),1),$.value?(u(),c("p",ze,"辅方服法:"+i($.value),1)):p("",!0),S.value?(u(),c("p",Ee,"医嘱:"+i(S.value),1)):p("",!0),w.value?(u(),c("p",Ie,"忌口:"+i(w.value),1)):p("",!0),A.value?(u(),c("p",Oe,"备注:"+i(A.value),1)):p("",!0),F.value?(u(),c("p",qe," 药房备注:"+i(F.value),1)):p("",!0),D.value?(u(),c("p",We," 出丸:"+i(D.value),1)):p("",!0)]),s("div",Ye,[s("div",Je,[s("div",Ke,[o[10]||(o[10]=s("div",{class:"rx-bot-label"},"医师",-1)),s("div",Qe,[(U=e.data)!=null&&U.doctor_signature?(u(),c("img",{key:0,src:e.data.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,Xe)):p("",!0),(G=e.data)!=null&&G.doctor_signature?p("",!0):(u(),c("div",Ze,i(((M=e.data)==null?void 0:M.doctor_name)||"—"),1))])]),s("div",et,[o[11]||(o[11]=s("span",{class:"rx-bot-meta-key"},"类型:",-1)),s("span",tt,i(q.value),1)]),s("div",st,[o[12]||(o[12]=s("span",{class:"rx-bot-meta-key"},"天数:",-1)),s("span",nt,i(((C=e.data)==null?void 0:C.dose_count)||"—")+"剂",1)]),s("div",rt,[o[13]||(o[13]=s("span",{class:"rx-bot-meta-key"},"单剂量:",-1)),s("span",ot,i(W.value)+"克",1)])])])],512)}}}),ct=Q(it,[["__scopeId","data-v-6b52f4e0"]]);export{ct as P};
|