2 lines
13 KiB
JavaScript
2 lines
13 KiB
JavaScript
import{o as Z,q as a,r as l,s as t,T as o,P as _,F as x,G as $,L as ee,ae as te,M as se,p as c}from"./.pnpm-BSw4l71J.js";import{_ as ne}from"./index-C7M1esnu.js";function k(e){return isFinite(e)?Number.isInteger(e)?String(e):e.toFixed(2).replace(/\.?0+$/,""):"0"}function re(e){return e===1||e==="1"?"男":e===0||e==="0"?"女":"—"}function oe(e){return e==null||e===""?"—":`${e}岁`}function V(e){return e==="辅方"?"辅方":"主方"}function A(e){return String(e).padStart(2,"0")}function ie(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 ae(e,s){const n=ie(s);if(!e||typeof e!="object")return{...n};const i=e;return{dosage_amount:i.dosage_amount!==null&&i.dosage_amount!==void 0&&i.dosage_amount!==""?Number(i.dosage_amount):n.dosage_amount,dosage_bag_count:i.dosage_bag_count!=null?Number(i.dosage_bag_count)||1:n.dosage_bag_count,need_decoction:i.need_decoction===1||i.need_decoction===!0,bags_per_dose:i.bags_per_dose!=null?Number(i.bags_per_dose)||1:n.bags_per_dose,times_per_day:i.times_per_day!=null?Number(i.times_per_day)||3:n.times_per_day,usage_days:i.usage_days!=null?Number(i.usage_days)||7:n.usage_days,prescription_name:String(i.prescription_name??"").trim()}}function E(e,s,n){const i=e.prescription_type||"浓缩水丸",u=Number(e.times_per_day)>0?Number(e.times_per_day):3,p=e.dosage_amount!=null?Number(e.dosage_amount):10,b=e.dosage_unit||(i==="饮片"?"ml":"g"),f=e.usage_way||s||"温水送服",T=e.usage_time||n||"",g=[];if(g.push(`每天${u}次`),i==="浓缩水丸"){const F=Number(e.dosage_bag_count)>0?Number(e.dosage_bag_count):1;g.push(`一次${F}袋`),g.push(`每袋${p}${b}`)}else g.push(`一次${p}${b}`);return g.push(f),T&&g.push(T),g.join(", ")}function N(e){const s=e==null?void 0:e.herbs;return Array.isArray(s)?s:[]}function le(e){return N(e).filter(s=>V(s.formula_type)==="主方")}function q(e){return N(e).filter(s=>V(s.formula_type)==="辅方")}function W(e){const s=Number(e==null?void 0:e.dose_count);return Number.isFinite(s)&&s>0?s:1}function ue(e){if(!e)return"—";const s=e.create_time??e.update_time??null;if(s){const n=String(s).length===10?Number(s)*1e3:Number(s),i=new Date(n);if(!isNaN(i.getTime()))return`${i.getFullYear()}-${A(i.getMonth()+1)}-${A(i.getDate())} ${A(i.getHours())}:${A(i.getMinutes())}`}return e.prescription_date||"—"}function ce(e){if(!e)return"—";const s=String(e.sn??"").trim();if(s)return s;const n=String(e.visit_no??"").trim();return n||"—"}function _e(e){if(!e)return"—";const s=Number(e.appointment_id);return Number.isFinite(s)&&s>0?String(s):"—"}function de(e){return e?String(e.order_no??"").trim():""}function pe(e){if(!e)return"—";if(e.recipient_text)return e.recipient_text;const s=[];(e.recipient_name||e.patient_name)&&s.push(e.recipient_name||e.patient_name),(e.recipient_phone||e.phone)&&s.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&&s.push(String(n)),e.shipping_address?s.push(String(e.shipping_address)):e.address&&s.push(String(e.address)),s.length?s.join(","):"—"}function me(e){const n=N(e).reduce((i,u)=>i+(Number(u==null?void 0:u.dosage)||0),0);return k(n)}function xe(e,s){const n=Number(s)||0;return k(n*W(e))}function ge(e){if(!e)return"—";const s=e.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(s)?`浓缩丸-${s}`:s}function be(e){return e?e.usage_text?e.usage_text:E(e):"—"}function ve(e){if(!e||!q(e).length)return"";const s=ae(e.aux_usage,e.prescription_type||"浓缩水丸");return E({prescription_type:e.prescription_type,dosage_amount:s.dosage_amount,dosage_unit:e.dosage_unit,dosage_bag_count:s.dosage_bag_count,times_per_day:s.times_per_day,usage_way:e.usage_way,usage_time:e.usage_time},e.usage_way,e.usage_time)}function fe(e){return e&&(e.medical_advice||e.doctor_advice)||""}function ye(e){const s=e==null?void 0:e.dietary_taboo;return Array.isArray(s)?s.filter(Boolean).join("、"):typeof s=="string"&&s.trim()?s.trim():""}function he(e){if(!e)return"";const s=[];return s.push(`共${N(e).length}味药`),e.usage_notes&&s.push(String(e.usage_notes)),e.remark&&s.push(String(e.remark)),s.join(" ")}function ke(e){return e&&(e.pharmacy_remark||e.pharmacy_note)||""}function Ne(e){if((e.prescription_type||"浓缩水丸")==="浓缩水丸"){const u=Number(e.medication_days??e.usage_days??e.dose_count),p=Number(e.times_per_day),b=Number(e.dosage_amount),f=Number(e.dosage_bag_count)>0?Number(e.dosage_bag_count):1;if(Number.isFinite(u)&&Number.isFinite(p)&&Number.isFinite(b)&&u>0&&p>0&&b>0)return k(u*p*b*f)}const s=e.out_pellet||e.out_pellet_text||e.total_weight;if(s&&Number(s)>0)return k(Number(s));const n=N(e);if(!n.length)return"";const i=n.reduce((u,p)=>u+(Number(p==null?void 0:p.dosage)||0),0);return k(i*W(e))}function Te(e){if(!e)return"";const s=Ne(e);return s?`${s}克`:""}const Se={class:"rx-title"},we={class:"rx-notice"},$e={class:"rx-notice-text"},Ae={class:"rx-notice-meta"},Fe={class:"rx-meta-item"},Pe={class:"rx-meta-value"},De={class:"rx-meta-item"},je={class:"rx-meta-value"},Be={class:"rx-meta-item"},He={class:"rx-meta-value"},Le={key:0,class:"rx-meta-item"},Re={class:"rx-meta-value"},Ue={class:"rx-info"},Ce={class:"rx-info-row"},Me={class:"rx-info-cell"},Oe={class:"rx-val"},ze={class:"rx-info-cell"},Ge={class:"rx-val"},Ie={class:"rx-info-cell"},Ve={class:"rx-val"},Ee={class:"rx-info-cell"},qe={class:"rx-val"},We={class:"rx-info-row rx-info-row-full"},Ye={class:"rx-info-cell"},Je={class:"rx-val"},Ke={class:"rx-info-row rx-info-row-full"},Qe={class:"rx-info-cell"},Xe={class:"rx-val"},Ze={class:"rx-rp"},et={class:"rx-watermark"},tt={class:"rx-rp-head"},st={class:"rx-rp-cols-head"},nt={class:"rx-rp-col-head"},rt={class:"rx-rp-col-head"},ot={class:"rx-herbs"},it={class:"rx-herb-name"},at={class:"rx-herb-total"},lt={class:"rx-herb-section-label rx-herb-section-label--aux"},ut={key:0,class:"rx-herb-library-name"},ct={class:"rx-herb-name"},_t={class:"rx-herb-total"},dt={class:"rx-herb-name"},pt={class:"rx-herb-total"},mt={class:"rx-herb-name"},xt={class:"rx-herb-total"},gt={class:"rx-text"},bt={key:0},vt={key:1},ft={key:2},yt={key:1},ht={key:2},kt={key:3},Nt={key:4,class:"rx-text-warn"},Tt={key:5,class:"rx-text-warn"},St={class:"rx-bottom"},wt={class:"rx-bot-cell rx-bot-doctor"},$t={class:"rx-bot-doctor-body"},At=["src"],Ft={key:1,class:"rx-bot-doctor-name"},Pt={key:0,class:"rx-bot-cell rx-bot-meta"},Dt={class:"rx-bot-meta-val"},jt={class:"rx-bot-cell rx-bot-meta"},Bt={class:"rx-bot-meta-val"},Ht={key:1,class:"rx-bot-cell rx-bot-meta"},Lt={class:"rx-bot-meta-val"},Rt=Z({name:"PrescriptionSlip",__name:"index",props:{data:{},variant:{default:"internal"},auxLibraryName:{default:""},title:{default:"成都双流甄养堂互联网医院 处方笺"}},setup(e,{expose:s}){const n=e,i=se(null),u=c(()=>n.variant!=="user"),p=c(()=>n.title||"成都双流甄养堂互联网医院 处方笺"),b=c(()=>ue(n.data)),f=c(()=>ce(n.data)),T=c(()=>_e(n.data)),g=c(()=>de(n.data)),F=c(()=>pe(n.data)),Y=c(()=>{var m;return re((m=n.data)==null?void 0:m.gender)}),J=c(()=>{var m;return oe((m=n.data)==null?void 0:m.age)}),S=c(()=>le(n.data)),w=c(()=>q(n.data)),D=c(()=>be(n.data)),P=c(()=>ve(n.data)),j=c(()=>fe(n.data)),B=c(()=>ye(n.data)),H=c(()=>he(n.data)),L=c(()=>ke(n.data)),R=c(()=>Te(n.data)),K=c(()=>ge(n.data)),Q=c(()=>me(n.data)),X=c(()=>{var y,h;const m=(y=n.data)==null?void 0:y.medication_days;if(m!=null&&String(m).trim()!=="")return`${m} 天`;const r=(h=n.data)==null?void 0:h.dose_count;return r!=null&&String(r).trim()!==""?`${r}剂`:"—"});function U(m){return xe(n.data,m)}return s({paperEl:i,$el:i}),(m,r)=>{var y,h,C,M,O,z,G,I;return a(),l("div",{ref_key:"paperRef",ref:i,class:"rx-paper"},[t("div",Se,o(u.value?"药房联":p.value),1),t("div",we,[t("span",$e,o(u.value?"服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点":"服药前请核对姓名、电话、医生等信息以及医嘱等要点"),1),t("div",Ae,[t("div",Fe,[r[0]||(r[0]=t("span",{class:"rx-meta-label"},"日期",-1)),t("span",Pe,o(b.value),1)]),t("div",De,[r[1]||(r[1]=t("span",{class:"rx-meta-label"},"处方编号",-1)),t("span",je,o(f.value),1)]),t("div",Be,[r[2]||(r[2]=t("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),t("span",He,o(T.value),1)]),g.value?(a(),l("div",Le,[r[3]||(r[3]=t("span",{class:"rx-meta-label"},"业务单号",-1)),t("span",Re,o(g.value),1)])):_("",!0)])]),t("div",Ue,[t("div",Ce,[t("div",Me,[r[4]||(r[4]=t("span",{class:"rx-key"},"姓名",-1)),t("span",Oe,o(((y=e.data)==null?void 0:y.patient_name)||"—"),1)]),t("div",ze,[r[5]||(r[5]=t("span",{class:"rx-key"},"性别",-1)),t("span",Ge,o(Y.value),1)]),t("div",Ie,[r[6]||(r[6]=t("span",{class:"rx-key"},"年龄",-1)),t("span",Ve,o(J.value),1)]),t("div",Ee,[r[7]||(r[7]=t("span",{class:"rx-key"},"电话",-1)),t("span",qe,o(((h=e.data)==null?void 0:h.phone)||((C=e.data)==null?void 0:C.recipient_phone)||"—"),1)])]),t("div",We,[t("div",Ye,[r[8]||(r[8]=t("span",{class:"rx-key"},"收件信息",-1)),t("span",Je,o(F.value),1)])]),t("div",Ke,[t("div",Qe,[r[9]||(r[9]=t("span",{class:"rx-key"},"临床诊断",-1)),t("span",Xe,o(((M=e.data)==null?void 0:M.clinical_diagnosis)||"—"),1)])])]),t("div",Ze,[t("div",et,o(u.value?"药房联":"处方联"),1),t("div",tt,[r[12]||(r[12]=t("div",{class:"rx-rp-label"},"Rp.",-1)),t("div",st,[t("div",nt,[r[10]||(r[10]=t("span",null,"用药 (单剂)",-1)),t("span",null,o(u.value?"总量":"用量"),1)]),t("div",rt,[r[11]||(r[11]=t("span",null,"用药 (单剂)",-1)),t("span",null,o(u.value?"总量":"用量"),1)])])]),t("div",ot,[u.value?(a(),l(x,{key:0},[S.value.length?(a(),l(x,{key:0},[r[13]||(r[13]=t("div",{class:"rx-herb-section-label"},"主方",-1)),(a(!0),l(x,null,$(S.value,(d,v)=>(a(),l("div",{key:"main-"+v,class:"rx-herb-cell"},[t("span",it,o(d.name)+" ("+o(d.dosage)+"克)",1),t("span",at,o(U(d.dosage))+"克",1)]))),128))],64)):_("",!0),w.value.length?(a(),l(x,{key:1},[t("div",lt,[r[14]||(r[14]=ee(" 辅方 ",-1)),e.auxLibraryName?(a(),l("span",ut,"("+o(e.auxLibraryName)+")",1)):_("",!0)]),(a(!0),l(x,null,$(w.value,(d,v)=>(a(),l("div",{key:"aux-"+v,class:"rx-herb-cell"},[t("span",ct,o(d.name)+" ("+o(d.dosage)+"克)",1),t("span",_t,o(U(d.dosage))+"克",1)]))),128))],64)):_("",!0)],64)):(a(),l(x,{key:1},[S.value.length?(a(),l(x,{key:0},[r[15]||(r[15]=t("div",{class:"rx-herb-section-label"},"主方",-1)),(a(!0),l(x,null,$(S.value,(d,v)=>(a(),l("div",{key:"user-main-"+v,class:"rx-herb-cell"},[t("span",dt,o(d.name),1),t("span",pt,o(d.dosage)+"克",1)]))),128))],64)):_("",!0),w.value.length?(a(),l(x,{key:1},[r[16]||(r[16]=t("div",{class:"rx-herb-section-label rx-herb-section-label--aux"},"辅方",-1)),(a(!0),l(x,null,$(w.value,(d,v)=>(a(),l("div",{key:"user-aux-"+v,class:"rx-herb-cell"},[t("span",mt,o(d.name),1),t("span",xt,o(d.dosage)+"克",1)]))),128))],64)):_("",!0)],64))])]),t("div",gt,[u.value?(a(),l(x,{key:0},[P.value?(a(),l("p",bt,"主服法:"+o(D.value),1)):(a(),l("p",vt,"服法:"+o(D.value),1)),P.value?(a(),l("p",ft,"辅服法:"+o(P.value),1)):_("",!0)],64)):_("",!0),j.value?(a(),l("p",yt,"医嘱:"+o(j.value),1)):_("",!0),B.value?(a(),l("p",ht,"忌口:"+o(B.value),1)):_("",!0),u.value&&H.value?(a(),l("p",kt,"备注:"+o(H.value),1)):_("",!0),L.value?(a(),l("p",Nt," 药房备注:"+o(L.value),1)):_("",!0),u.value&&R.value&&((O=e.data)==null?void 0:O.prescription_type)!=="饮片"?(a(),l("p",Tt," 出丸:"+o(R.value),1)):_("",!0)]),t("div",St,[t("div",{class:te(["rx-bot-row rx-bot-row-1",{"rx-bot-row-1--user":!u.value}])},[t("div",wt,[r[17]||(r[17]=t("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),t("div",$t,[(z=e.data)!=null&&z.doctor_signature?(a(),l("img",{key:0,src:e.data.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,At)):_("",!0),(G=e.data)!=null&&G.doctor_signature?_("",!0):(a(),l("span",Ft,o(((I=e.data)==null?void 0:I.doctor_name)||"—"),1))])]),u.value?(a(),l("div",Pt,[r[18]||(r[18]=t("span",{class:"rx-bot-meta-key"},"类型:",-1)),t("span",Dt,o(K.value),1)])):_("",!0),t("div",jt,[r[19]||(r[19]=t("span",{class:"rx-bot-meta-key"},"天数:",-1)),t("span",Bt,o(X.value),1)]),u.value?(a(),l("div",Ht,[r[20]||(r[20]=t("span",{class:"rx-bot-meta-key"},"剂量:",-1)),t("span",Lt,o(Q.value)+"克",1)])):_("",!0)],2),r[21]||(r[21]=t("div",{class:"rx-bot-row rx-hospital-row"},[t("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),t("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))])],512)}}}),Mt=ne(Rt,[["__scopeId","data-v-2b78e141"]]);export{Mt as P};
|