Files
zyt/server/public/admin/assets/index-CPYf9n-I.js
T
2026-07-16 09:43:07 +08:00

7 lines
66 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{e as Us,i as Cs,D as Ps,ab as Ts,ac as Ds,B as Rs,C as Is,T as Es,h as Os,P as As,Q as Ls,G as zs,I as Hs,g as Fs,m as Ws,l as Ms,d as js,r as Gs,V as Bs,L as Ks,N as qs,M as Js,U as Ys}from"./element-plus-Bolc0EfP.js";import{s as re,w as Qs}from"./@vue/runtime-dom-DDAG46FW.js";import{M as Ut}from"./index-Pb72-1vG.js";import{u as Xs,e as Zs,i as V,m as P,_ as ea}from"./index-CzSP4TPL.js";import{f as ta}from"./diabetes-discovery-display-B_wmGXQJ.js";import{a2 as sa,j as ye,a3 as Ct,n as aa,o as la,ao as oa}from"./tcm-B2eDN42y.js";import{m as na}from"./medicine-Cpa7L0_Z.js";import Pt from"./html2canvas-QH1iLAAe.js";import{E as ra}from"./jspdf-BsthCvR5.js";import{ac as ia,a4 as da,W as ua,N as ca,G as pa,O as _a}from"./@element-plus/icons-vue-B0jSCQ-G.js";import{f as ma,w as Tt,ak as _,I as b,F as T,a as o,M as ga,aN as i,J as l,O as m,H as x,ap as L,G as $,aP as fa,A as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,a as O,n as k,r as Dt}from"./@vue/reactivity-DiY1c2vO.js";import{Q as p,o as Le}from"./@vue/shared-mAAVTE9n.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";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";const ba={key:0,class:"prescription-edit"},va={class:"info-section"},ya={class:"info-section"},xa={class:"info-section info-section--rp"},ka={class:"rp-toolbar",role:"region","aria-label":"中药处方"},ha={class:"rp-toolbar__lead"},Va={class:"rp-toolbar__text"},wa={class:"rp-toolbar__meta"},Sa={key:0,class:"rp-toolbar__lock-tip"},Na={class:"rp-toolbar__actions",role:"toolbar","aria-label":"处方药材快捷操作"},$a={class:"mb-3"},Ua={class:"herb-formula-block"},Ca={class:"herb-formula-block__head"},Pa={class:"herbs-editor-grid"},Ta={class:"herb-editor-card__title"},Da={key:0,class:"herb-editor-card__dup-hint text-amber-600 text-xs mb-1"},Ra={class:"herb-editor-card__row"},Ia={class:"herb-formula-block mt-4"},Ea={class:"herb-formula-block__head"},Oa={class:"herbs-editor-grid"},Aa={key:0,class:"herb-editor-card__dup-hint text-amber-600 text-xs mb-1"},La={class:"herb-editor-card__row"},za={key:0,class:"text-sm text-gray-400 py-2"},Ha={class:"info-section"},Fa={key:3,class:"ml-2"},Wa={class:"signature-pad-wrap"},Ma={class:"signature-actions"},ja={key:1,class:"rx-wrap"},Ga={class:"rx-toolbar"},Ba={key:0,class:"rx-status rx-status-danger"},Ka={key:1,class:"rx-status rx-status-danger"},qa={key:0,class:"mt-1"},Ja={class:"prescription-preview-content"},Ya={class:"rx-title"},Qa={class:"rx-notice"},Xa={class:"rx-notice-text"},Za={class:"rx-notice-meta"},el={class:"rx-info"},tl={class:"rx-info-row"},sl={class:"rx-info-cell"},al={class:"rx-val"},ll={class:"rx-info-cell"},ol={class:"rx-val"},nl={class:"rx-info-cell"},rl={class:"rx-val"},il={class:"rx-info-cell"},dl={class:"rx-val"},ul={class:"rx-info-row rx-info-row-full"},cl={class:"rx-info-cell"},pl={class:"rx-val"},_l={key:0,class:"rx-info-row rx-info-row-full"},ml={key:0,class:"rx-info-cell"},gl={class:"rx-val"},fl={key:1,class:"rx-info-cell"},bl={class:"rx-val"},vl={class:"rx-info-row rx-info-row-full"},yl={class:"rx-info-cell"},xl={class:"rx-val"},kl={class:"rx-rp"},hl={class:"rx-watermark"},Vl={class:"rx-rp-head"},wl={class:"rx-rp-cols-head"},Sl={class:"rx-rp-col-head"},Nl={class:"rx-rp-col-head"},$l={class:"rx-herbs"},Ul={class:"rx-herb-name"},Cl={class:"rx-herb-total"},Pl={class:"rx-herb-name"},Tl={class:"rx-herb-total"},Dl={class:"rx-herb-name"},Rl={class:"rx-herb-total"},Il={class:"rx-herb-name"},El={class:"rx-herb-total"},Ol={class:"rx-text"},Al={key:0},Ll={key:1},zl={key:2},Hl={key:1},Fl={key:2},Wl={key:3},Ml={key:4,class:"rx-text-warn"},jl={key:5,class:"rx-text-warn"},Gl={class:"rx-bottom"},Bl={class:"rx-bot-cell rx-bot-stack rx-bot-doctor"},Kl={class:"rx-bot-doctor-body"},ql=["src"],Jl={key:1,class:"rx-bot-doctor-name"},Yl={key:0,class:"rx-bot-cell rx-bot-meta"},Ql={class:"rx-bot-meta-val"},Xl={class:"rx-bot-cell rx-bot-meta"},Zl={class:"rx-bot-meta-val"},eo={key:1,class:"rx-bot-cell rx-bot-meta"},to={class:"rx-bot-meta-val"},so={key:0,class:"rx-bot-row rx-hospital-row"},ao={class:"case-record-a3-inner"},lo={class:"case-record-a3-title"},oo={class:"case-record-a3-body"},no={class:"cr-section"},ro={class:"cr-grid"},io={class:"cr-item"},uo={class:"cr-item"},co={class:"cr-item"},po={class:"cr-item"},_o={class:"cr-item"},mo={class:"cr-item"},go={class:"cr-item"},fo={class:"cr-item"},bo={class:"cr-item"},vo={class:"cr-item"},yo={class:"cr-section"},xo={class:"cr-grid"},ko={class:"cr-item"},ho={class:"cr-item"},Vo={class:"cr-section"},wo={class:"cr-grid"},So={class:"cr-item"},No={class:"cr-item"},$o={class:"cr-item"},Uo={class:"cr-item"},Co={class:"cr-item"},Po={class:"cr-item cr-full"},To={class:"cr-item cr-full"},Do={class:"cr-section"},Ro={class:"cr-grid"},Io={class:"cr-item cr-full"},Eo={class:"cr-item cr-full"},Oo={class:"cr-item cr-full"},Ao={class:"cr-item cr-full"},Lo={class:"cr-item cr-full"},zo={class:"cr-item cr-full"},Ho={class:"cr-item cr-full"},Fo={class:"cr-item cr-full"},Wo={class:"cr-item cr-full"},Mo={class:"cr-item cr-full"},jo={class:"cr-item cr-full"},Go={class:"cr-item cr-full"},Bo={class:"cr-item cr-full"},Ko={class:"cr-item cr-full"},qo={class:"cr-item cr-full"},Jo={class:"cr-section"},Yo={class:"cr-item cr-full"},Qo={class:"cr-section"},Xo={class:"cr-grid"},Zo={class:"cr-item"},en={class:"cr-item"},tn={class:"cr-item"},sn={class:"cr-item"},an={class:"cr-item"},ln={class:"cr-section"},on={key:0,class:"cr-grid"},nn={class:"cr-item cr-full"},rn={class:"cr-images"},dn=["src"],un={class:"cr-grid"},cn={class:"cr-item cr-full"},pn={key:2,class:"rx-audit"},_n={key:0},mn={key:0,class:"ml-2 text-gray-400"},gn={key:1,class:"mt-1"},fn={class:"flex justify-end gap-2 mt-4"},bn={class:"inline-block"},vn={class:"flex justify-end gap-2"},yn={class:"mb-4 flex gap-3"},xn={class:"mb-3 flex flex-wrap items-center gap-x-4 gap-y-2"},kn={key:0},hn={key:1,class:"text-gray-400"},Vn={class:"flex justify-end mt-4"},wn={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},ie=560,de=168,Sn="成都双流甄养堂互联网医院 处方笺",Nn=ma({__name:"index",emits:["success"],setup($n,{expose:Rt,emit:It}){function z(t){return t==="辅方"?"辅方":"主方"}function ze(t){const e={name:String((t==null?void 0:t.name)??"").trim(),dosage:Number(t==null?void 0:t.dosage)||0,formula_type:z(t==null?void 0:t.formula_type)};return((t==null?void 0:t.locked)===!0||(t==null?void 0:t.locked)===1)&&(e.locked=!0),e}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 He(t,e){const n=se(e);if(!t||typeof t!="object")return{...n};const r=t;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}}function Fe(t,e,n){const r=t.prescription_type||"浓缩水丸",g=Number(t.times_per_day)>0?Number(t.times_per_day):3,y=t.dosage_amount!=null?Number(t.dosage_amount):10,f=t.dosage_unit||(r==="饮片"?"ml":"g"),v=t.usage_way||e||"温水送服",S=t.usage_time||n||"",u=[];if(u.push(`每天${g}次`),r==="浓缩水丸"){const N=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;u.push(`一次${N}袋`),u.push(`每袋${y}${f}`)}else u.push(`一次${y}${f}`);return u.push(v),S&&u.push(S),u.join(", ")}const We=It,F=k(!1),Et=k(),xe=k(!1),ke=k(!1),Me=k(),je=k(),W=k(),ue=k(null),d=k(null),C=k("internal"),he=k(!1),ce=w(()=>{const t=d.value;return t?Number(t.audit_status)===1&&Number(t.void_status)!==1:!1}),Ge=w(()=>{const t=d.value;return t?Number(t.has_prescription_order)===1:!1}),Ot=w(()=>ce.value?"查看处方":"中医处方单"),pe=w(()=>{var e;const t=(e=d.value)==null?void 0:e.herbs;return Array.isArray(t)?t.filter(n=>z(n==null?void 0:n.formula_type)==="主方"):[]}),q=w(()=>{var e;const t=(e=d.value)==null?void 0:e.herbs;return Array.isArray(t)?t.filter(n=>z(n==null?void 0:n.formula_type)==="辅方"):[]}),Ve=w(()=>{const t=d.value;if(!t||!q.value.length)return"";const e=He(t.aux_usage,t.prescription_type||"浓缩水丸");return Fe({prescription_type:t.prescription_type,dosage_amount:e.dosage_amount,dosage_unit:t.dosage_unit,dosage_bag_count:e.dosage_bag_count,times_per_day:e.times_per_day,usage_way:t.usage_way,usage_time:t.usage_time},t.usage_way,t.usage_time)}),we=w(()=>{var e;const t=(e=d.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),_e=t=>String(t).padStart(2,"0"),At=w(()=>{const t=d.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const n=String(e).length===10?Number(e)*1e3:Number(e),r=new Date(n);if(!isNaN(r.getTime()))return`${r.getFullYear()}-${_e(r.getMonth()+1)}-${_e(r.getDate())} ${_e(r.getHours())}:${_e(r.getMinutes())}`}return t.prescription_date||"—"}),Lt=w(()=>{const t=d.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const n=String(t.visit_no??"").trim();return n||(t.id?`G${t.id}`:"—")}),Be=w(()=>{var e;const t=Number((e=d.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),zt=w(()=>{const t=we.value.reduce((e,n)=>e+(Number(n==null?void 0:n.dosage)||0),0);return M(t)}),Ke=t=>{const e=Number(t)||0;return M(e*Be.value)},Ht=w(()=>{const t=d.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return e==="饮片"?"饮片":/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),qe=w(()=>{const t=d.value;return t?t.usage_text?t.usage_text:Fe(t):"—"}),Je=w(()=>{const t=d.value;return t&&t.medical_advice||""}),Ye=w(()=>{const t=d.value;if(!t)return"";const e=[];return e.push(`共${we.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),Qe=w(()=>{const t=d.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),Ft=w(()=>{const t=d.value;if(!t)return"—";const e=t.medication_days??t.usage_days;if(e!=null&&String(e).trim()!=="")return`${e} 天`;const n=t.dose_count;return n!=null&&String(n).trim()!==""&&Number(n)>0?`${n} 天`:"—"}),Xe=w(()=>{const t=d.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸")return null;const e=Number(t.medication_days??t.usage_days??t.dose_count),n=Number(t.times_per_day),r=Number(t.dosage_amount),g=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(n)||!Number.isFinite(r)||e<=0||n<=0||r<=0?null:e*n*r*g}),Ze=w(()=>{const t=d.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸"||!q.value.length)return null;const e=He(t.aux_usage,t.prescription_type||"浓缩水丸"),n=Number(t.medication_days??e.usage_days),r=Number(e.times_per_day),g=Number(e.dosage_amount),y=Number(e.dosage_bag_count)>0?Number(e.dosage_bag_count):1;return!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(g)||n<=0||r<=0||g<=0?null:n*r*g*y}),Wt=w(()=>{const t=Xe.value,e=Ze.value,n=typeof t=="number"&&isFinite(t)&&t>0?t:0,r=typeof e=="number"&&isFinite(e)&&e>0?e:0,g=n+r;if(g>0)return M(g);const y=d.value;if(!y)return"";const f=y.out_pellet||y.total_weight;if(f&&Number(f)>0)return M(Number(f));const v=we.value;if(!v.length)return"";const S=v.reduce((u,N)=>u+(Number(N==null?void 0:N.dosage)||0),0);return M(S*Be.value)}),et=w(()=>{const t=Wt.value;if(!t)return"";const e=Xe.value,n=Ze.value;return typeof e=="number"&&isFinite(e)&&e>0&&typeof n=="number"&&isFinite(n)&&n>0?`${t}克(主方 ${M(e)}克 + 辅方 ${M(n)}克)`:`${t}克`});function M(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function Mt(t){var e;return t===1||t==="1"?"男":t===0||t==="0"?"女":((e=d.value)==null?void 0:e.gender_desc)||"—"}function jt(t){return t==null||t===""?"—":`${t}岁`}function Gt(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")}`}const tt=w(()=>a.herbs.map((t,e)=>({herb:t,index:e})).filter(({herb:t})=>z(t.formula_type)==="主方")),ae=w(()=>a.herbs.map((t,e)=>({herb:t,index:e})).filter(({herb:t})=>z(t.formula_type)==="辅方")),Bt=w(()=>tt.value.length),Kt=w(()=>ae.value.length),I=w(()=>a.herbs.some(t=>t.locked===!0)),Se=w(()=>{var e;const t=Number((e=Te.userInfo)==null?void 0:e.id);return t>0?t:0}),j=k(!1),Ne=k(!1),$e=k([]),le=k(""),oe=k(""),J=k("replace"),Y=k(!1),Q=k(1),me=k(15),Ue=k(0),X=k(!1),Z=k(""),ge=k("replace"),Ce=k(!1),qt=/^(用法|用量|医嘱|忌口|水煎服|空腹|饭后|温水|内服|外用|备注|顿服|分服|ml|毫升|[×xX]\s*\d)/;function Jt(t){let e=t.replace(/\r\n/g,`
`).replace(/\r/g,`
`);return e=e.replace(/[-]/g,n=>String.fromCharCode(n.charCodeAt(0)-65296+48)),e.trim()}function Yt(t){return t.replace(/^\s*Rp[::**\s]*/i,"").replace(/^\s*处方[:\s]*/,"").replace(/^\s*中药处方[:\s]*/,"").trimStart()}function Pe(t){return t.replace(/[^]*$/u,"").replace(/\([^)]*\)$/u,"").trim()}function st(t){const e=t.trim();if(!e||qt.test(e)||/^\d/.test(e)||/^\d+\s*剂$/.test(e))return null;const n=e.match(/^(.+)\s*各\s*(\d+(?:\.\d+)?)\s*(?:克|g|G)?$/i);if(n){const y=parseFloat(n[2]);if(!Number.isFinite(y)||y<=0)return null;const f=n[1].split(/[、,,\s]+/).map(v=>v.trim()).filter(Boolean);return f.length?f.map(v=>({name:Pe(v),dosage:y})):null}const r=e.match(/^(.+?)\s*(\d+(?:\.\d+)?)\s*(?:克|g|G|钱)?$/i);if(r){const y=Pe(r[1].trim()),f=parseFloat(r[2]);return!y||!Number.isFinite(f)||f<=0?null:[{name:y,dosage:f}]}const g=Pe(e);return g.length>=2&&g.length<=16?[{name:g,dosage:6}]:null}function Qt(t){const e=Yt(Jt(t)),n=[];for(const r of e.split(/\n+/)){const g=r.trim();if(g)for(const y of g.split(/[、,,;]/)){const f=y.trim();if(f)if(/\s/.test(f)&&!st(f)){const v=f.split(/\s+(?=[\u4e00-\u9fff]{2,})/);for(const S of v){const u=S.trim();u&&n.push(u)}}else n.push(f)}}return n}function Xt(t){const e=[];for(const n of Qt(t)){const r=st(n);r&&e.push(...r)}return e}async function Zt(t){const e=t.trim();if(!e)return null;try{const g=((await na({name:e,page_no:1,page_size:200,status:1})).lists||[]).find(y=>(y.name??"").trim()===e);return g?g.name.trim():null}catch{return null}}function es(){X.value=!0}async function ts(){const t=Xt(Z.value);if(!t.length){V.msgWarning("未能从文本中解析出药材,请检查格式(药名 + 剂量,或用顿号/换行分隔)");return}Ce.value=!0;try{const e=[],n=[];for(const f of t){const v=await Zt(f.name);if(!v){n.push(f.name.trim());continue}e.push({name:v,dosage:f.dosage,formula_type:"主方"})}const r=[...new Set(n.filter(Boolean))];if(e.length===0){V.msgWarning(r.length?`药品库中无以下完全同名药材,未录入:${r.join("、")}`:"未能匹配到药品库中的药材");return}if(ge.value==="replace"){const f=a.herbs.filter(v=>z(v.formula_type)==="辅方");a.herbs=[...f,...e]}else a.herbs.push(...e);const g=Ae(),y=r.length>0?`;药品库未收录已跳过:${r.join("、")}`:"";g.length?V.msgWarning(`已导入 ${e.length} 味药材${y}。存在重复药名:${g.join("、")},请合并剂量或删除多余行`):r.length?V.msgSuccess(`已导入 ${e.length} 味药材${y},请核对剂量`):V.msgSuccess(`已导入 ${e.length} 味药材,请核对药名与剂量`),X.value=!1,Z.value=""}finally{Ce.value=!1}}const at=Dt({stationName:"成都双流甄养堂互联网医院",showDisclaimer:!0,disclaimer:""}),a=Dt({diagnosis_id:0,appointment_id:0,prescription_name:"",prescription_type:"浓缩水丸",dosage_amount:10,dosage_unit:"g",dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,patient_name:"",gender:0,gender_desc:"女",age:0,phone:"",visit_no:"",prescription_date:"",pulse:"",tongue:"",tongue_image:"",pulse_condition:"",clinical_diagnosis:"",case_record:null,herbs:[],dose_count:1,dose_unit:"剂",usage_days:7,times_per_day:2,usage_instruction:"",usage_time:"饭后",usage_way:"温水送服",dietary_taboo:[],usage_notes:"",amount:0,doctor_name:"",doctor_signature:"",is_shared:0,aux_usage:se("浓缩水丸")}),Te=Xs(),ss=Zs(),as=t=>{const e=typeof t=="string"?t:(t==null?void 0:t.url)??(t==null?void 0:t.uri)??(t==null?void 0:t.path)??"";return e?String(e).startsWith("http")?e:ss.getImageUrl(e):""},De=k([]),Re=k([]),lt=k([]),ot=k([]),nt=k([]),rt=k([]),it=k([]),dt=k([]),ut=k([]),ct=k([]),pt=k([]),_t=k([]),mt=k([]),gt=k([]),ft=k([]),bt=k([]),vt=k([]),yt=k([]),H=(t,e)=>{if(!e)return"";const n=t.find(r=>r.value===e);return n?n.name:e},xt=async()=>{try{const[t,e,n,r,g,y,f,v,S,u,N,D,E,G,B,ee,ne,te]=await Promise.all([P({type:"diagnosis_type"}),P({type:"syndrome_type"}),P({type:"diabetes_type"}),P({type:"past_history"}),P({type:"appetite"}),P({type:"water_intake"}),P({type:"diet_condition"}),P({type:"weight_change"}),P({type:"body_feeling"}),P({type:"sleep_condition"}),P({type:"eye_condition"}),P({type:"head_feeling"}),P({type:"sweat_condition"}),P({type:"skin_condition"}),P({type:"urine_condition"}),P({type:"stool_condition"}),P({type:"kidney_condition"}),P({type:"fatty_liver_degree"})]);De.value=(t==null?void 0:t.diagnosis_type)||[],Re.value=(e==null?void 0:e.syndrome_type)||[],lt.value=(n==null?void 0:n.diabetes_type)||[],ot.value=(r==null?void 0:r.past_history)||[],nt.value=(g==null?void 0:g.appetite)||[],rt.value=(y==null?void 0:y.water_intake)||[],it.value=(f==null?void 0:f.diet_condition)||[],dt.value=(v==null?void 0:v.weight_change)||[],ut.value=(S==null?void 0:S.body_feeling)||[],ct.value=(u==null?void 0:u.sleep_condition)||[],pt.value=(N==null?void 0:N.eye_condition)||[],_t.value=(D==null?void 0:D.head_feeling)||[],mt.value=(E==null?void 0:E.sweat_condition)||[],gt.value=(G==null?void 0:G.skin_condition)||[],ft.value=(B==null?void 0:B.urine_condition)||[],bt.value=(ee==null?void 0:ee.stool_condition)||[],vt.value=(ne==null?void 0:ne.kidney_condition)||[],yt.value=(te==null?void 0:te.fatty_liver_degree)||[]}catch{}},R=(t,e)=>{if(!e||Array.isArray(e)&&e.length===0)return"—";const r=(Array.isArray(e)?e:typeof e=="string"?e.split(","):[]).map(g=>{const y=t.find(f=>f.value===g);return y?y.name:g}).filter(Boolean);return r.length?r.join("、"):"—"},ls=t=>!t||Array.isArray(t)&&t.length===0?"—":(Array.isArray(t)?t:typeof t=="string"?t.split(","):[]).filter(Boolean).join("、")||"—",os=t=>{var g;if((g=t==null?void 0:t.symptoms)!=null&&g.trim())return t.symptoms.trim();const e=H(De.value,t==null?void 0:t.diagnosis_type),n=H(Re.value,t==null?void 0:t.syndrome_type),r=[e,n].filter(Boolean);return r.length?r.join(" "):""},ns=async(t,e)=>{var n;if(Y.value){console.warn("处方正在打开中,请勿重复点击");return}Y.value=!0;try{e!=null&&e.stationName&&(at.stationName=e.stationName);const r=t.diagnosis||t,g=t.diagnosis_id??(r==null?void 0:r.id)??t.id;if(!g){V.msgWarning("缺少诊单信息");return}await xt();const y=Number(t.id??t.appointment_id??0);if(y)try{const v=await sa({appointment_id:y});if(console.log("-----------",v),v!=null&&v.id){const S=await ye({id:v.id});d.value=S,F.value=!0;return}}catch{}let f=t.case_record&&Object.keys(t.case_record).length>0?t.case_record:null;if(!f&&g)try{const v=await Ct({id:Number(g)});f=v&&typeof v=="object"?v:null}catch(v){console.warn("获取诊单详情失败:",v)}a.diagnosis_id=Number(g),a.appointment_id=y,a.prescription_name="",a.prescription_type="浓缩水丸",a.dosage_unit="g",a.dosage_amount=10,a.dosage_bag_count=1,a.patient_name=t.patient_name||r.patient_name||"",a.gender=t.patient_gender??r.gender??0,a.gender_desc=a.gender===1?"男":"女",a.age=t.patient_age??r.age??0,a.phone=t.patient_phone||r.phone||"",a.visit_no=t.id?`1K${String(t.id).padStart(8,"0")}`:"",a.prescription_date=new Date().toISOString().slice(0,10),a.pulse=r.pulse||"",a.tongue=r.tongue_coating||r.tongue||"",a.tongue_image="",a.pulse_condition="",a.clinical_diagnosis=os(r),a.case_record=f,a.herbs=[],a.dose_count=1,a.dose_unit="剂",a.usage_days=7,a.usage_instruction="",a.usage_time="饭后",a.usage_way="温水送服",a.dietary_taboo=[],a.usage_notes="",a.amount=0,a.doctor_name=((n=Te.userInfo)==null?void 0:n.name)||"",a.doctor_signature="",a.is_shared=0,a.need_decoction=!1,a.bags_per_dose=1,a.times_per_day=2,Object.assign(a.aux_usage,se("浓缩水丸")),d.value=null,F.value=!0,setTimeout(()=>Ee(),100)}finally{setTimeout(()=>{Y.value=!1},500)}},rs=async(t,e)=>{if(Y.value){console.warn("处方正在打开中,请勿重复点击");return}Y.value=!0,C.value=(e==null?void 0:e.slipType)??"internal",he.value=(e==null?void 0:e.hideCaseRecord)??!1;try{const n=await ye({id:t});d.value=n,n!=null&&n.case_record&&Object.keys(n.case_record).length>0&&await xt(),F.value=!0}catch{V.msgError("加载处方失败")}finally{setTimeout(()=>{Y.value=!1},500)}},Ie=()=>{F.value=!1,d.value=null,C.value="internal",he.value=!1},kt=t=>{const e=W.value;if(!e)return{x:0,y:0};const n=e.getBoundingClientRect();if(n.width<=0||n.height<=0)return{x:0,y:0};const r=(t.clientX-n.left)/n.width*ie,g=(t.clientY-n.top)/n.height*de;return{x:Math.max(0,Math.min(ie,r)),y:Math.max(0,Math.min(de,g))}},is=()=>{const t=W.value;t&&(a.doctor_signature=t.toDataURL("image/png"))},ds=t=>{if(t.pointerType==="mouse"&&t.button!==0)return;const e=W.value,n=e==null?void 0:e.getContext("2d");if(!e||!n)return;e.setPointerCapture(t.pointerId),ue.value=t.pointerId;const{x:r,y:g}=kt(t);n.beginPath(),n.moveTo(r,g)},us=t=>{var g;if(ue.value!==t.pointerId)return;const e=(g=W.value)==null?void 0:g.getContext("2d");if(!e)return;const{x:n,y:r}=kt(t);e.lineTo(n,r),e.stroke(),e.beginPath(),e.moveTo(n,r)},ht=t=>{if(ue.value!==t.pointerId)return;ue.value=null;const e=W.value;if(e)try{e.releasePointerCapture(t.pointerId)}catch{}is()},cs=()=>{Ee(),a.doctor_signature=""},Ee=()=>{const t=W.value;if(!t)return;const e=Math.min(typeof window<"u"&&window.devicePixelRatio||1,2.5);t.style.width=`${ie}px`,t.style.height=`${de}px`,t.width=Math.round(ie*e),t.height=Math.round(de*e);const n=t.getContext("2d");n&&(n.setTransform(1,0,0,1,0,0),n.scale(e,e),n.fillStyle="#fff",n.fillRect(0,0,ie,de),n.strokeStyle="#333",n.lineWidth=2.5,n.lineCap="round",n.lineJoin="round")};function Oe(t){return(t??"").trim()}function fe(t){var g,y;const e=a.herbs,n=Oe((g=e[t])==null?void 0:g.name);if(!n)return!1;let r=0;for(let f=0;f<e.length;f++)Oe((y=e[f])==null?void 0:y.name)===n&&r++;return r>1}function Ae(){const t=new Map;for(const e of a.herbs){const n=Oe(e==null?void 0:e.name);n&&t.set(n,(t.get(n)??0)+1)}return[...t.entries()].filter(([,e])=>e>1).map(([e])=>e)}const Vt=(t="主方")=>{if(I.value){V.msgWarning("该处方含「禁用修改」模板,药材已锁定,请重新从处方库导入覆盖");return}a.herbs.push({name:"",dosage:6,formula_type:t})},wt=t=>{if(I.value){V.msgWarning("该处方含「禁用修改」模板,药材已锁定,不可删除");return}a.herbs.splice(t,1)},be=async()=>{const t=Se.value;if(!t){V.msgWarning("无法确定开方医师,无法加载处方库"),$e.value=[],Ue.value=0;return}Ne.value=!0;try{const e=await aa({page_no:Q.value,page_size:me.value,prescription_name:le.value,formula_type:oe.value,prescribing_creator_id:t});$e.value=e.lists||[],Ue.value=e.count||0}catch(e){console.error("加载处方库失败:",e),V.msgError("加载处方库失败")}finally{Ne.value=!1}},ve=()=>{Q.value=1,be()},ps=()=>{if(!Se.value){V.msgWarning("无法确定开方医师,无法从处方库导入");return}j.value=!0},_s=t=>{St(t)},St=t=>{if(!t.herbs||t.herbs.length===0){V.msgWarning("该处方没有药材信息");return}const e=z(t.formula_type),n=Number(t==null?void 0:t.disable_edit)===1,r=JSON.parse(JSON.stringify(t.herbs)).map(y=>{const f=ze(y);return f.formula_type=e,n?f.locked=!0:delete f.locked,f});if(J.value==="replace"){const y=a.herbs.filter(f=>z(f.formula_type)!==e);a.herbs=[...y,...r]}else a.herbs.push(...r);const g=J.value==="append"?"(已追加)":"";Ae().length?V.msgWarning(`已导入处方「${t.prescription_name}${g},共${r.length}味药材。存在重复药名,请合并剂量或删除多余行`):V.msgSuccess(`已导入处方「${t.prescription_name}${g},共${r.length}味药材`),j.value=!1};Tt(j,t=>{if(t){if(!Se.value){V.msgWarning("无法确定开方医师,无法从处方库导入"),j.value=!1;return}le.value="",oe.value="",J.value="replace",Q.value=1,be()}}),Tt(()=>a.prescription_type,t=>{t==="浓缩水丸"?(a.dosage_unit="g",a.dosage_amount=10,a.dosage_bag_count=1,a.need_decoction=!1,a.bags_per_dose=1):t==="饮片"?(a.dosage_unit="ml",a.dosage_amount=50,a.dosage_bag_count=1,a.bags_per_dose=1):(a.dosage_unit="g",a.dosage_amount=void 0,a.dosage_bag_count=1,a.need_decoction=!1,a.bags_per_dose=1),Object.assign(a.aux_usage,se(t))});const ms=async()=>{var e,n,r;if(!((e=a.clinical_diagnosis)!=null&&e.trim())){V.msgWarning("请输入临床诊断");return}if(a.herbs.length===0){V.msgWarning("请至少添加一味中药");return}const t=Ae();if(t.length){V.msgWarning(`存在重复药名:${t.join("、")},请合并剂量或删除多余行后再保存`);return}for(const g of a.herbs){if(!((n=g.name)!=null&&n.trim())){V.msgWarning("请填写中药名称");return}if(!g.dosage||g.dosage<=0){V.msgWarning(`请填写「${g.name}」的剂量`);return}}if(!((r=a.doctor_signature)!=null&&r.trim())){V.msgWarning("请使用电子签名板手写医师签名");return}xe.value=!0;try{const g=await la({diagnosis_id:a.diagnosis_id,appointment_id:a.appointment_id,prescription_name:a.prescription_name,prescription_type:a.prescription_type,patient_name:a.patient_name,gender:a.gender,age:a.age,phone:a.phone,visit_no:a.visit_no,prescription_date:a.prescription_date,pulse:a.pulse,tongue:a.tongue,tongue_image:a.tongue_image,pulse_condition:a.pulse_condition,clinical_diagnosis:a.clinical_diagnosis,case_record:a.case_record,herbs:a.herbs.map(f=>ze(f)),aux_usage:ae.value.length>0?{...a.aux_usage}:null,dose_count:a.dose_count,dose_unit:a.dose_unit,dosage_amount:a.dosage_amount,dosage_unit:a.dosage_unit,dosage_bag_count:a.dosage_bag_count,need_decoction:a.need_decoction,bags_per_dose:a.bags_per_dose,usage_days:a.usage_days,times_per_day:a.times_per_day,usage_instruction:a.usage_instruction,usage_time:a.usage_time,usage_way:a.usage_way,dietary_taboo:a.dietary_taboo,usage_notes:a.usage_notes,amount:a.amount,doctor_name:a.doctor_name,doctor_signature:a.doctor_signature,is_shared:a.is_shared}),y=g==null?void 0:g.id;if(y){const f=await ye({id:y});d.value=f,We("success")}else V.msgError("保存失败")}catch(g){V.msgError((g==null?void 0:g.msg)||"保存失败")}finally{xe.value=!1}},gs=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")}:${String(e.getSeconds()).padStart(2,"0")}`},fs=async()=>{var e,n;const t=(e=d.value)==null?void 0:e.id;if(t){if(Number((n=d.value)==null?void 0:n.has_prescription_order)===1){V.msgWarning("该处方已存在业务订单,无法作废");return}try{await V.confirm("确定要作废该处方吗?作废后不可恢复。"),ke.value=!0,await oa({id:t}),V.msgSuccess("作废成功");const r=await ye({id:t});d.value=r,We("success")}catch(r){r!=="cancel"&&(r==null?void 0:r.message)!=="cancel"&&V.msgError((r==null?void 0:r.msg)||"作废失败")}finally{ke.value=!1}}},bs=async t=>{if(!t)return null;try{const e=await Ct({id:t});return e&&typeof e=="object"?e:null}catch(e){return console.warn("获取诊单详情失败:",e),null}},vs=async()=>{var e;const t=d.value;t&&(a.diagnosis_id=t.diagnosis_id??a.diagnosis_id,a.appointment_id=t.appointment_id??a.appointment_id,a.prescription_name="",a.prescription_type=t.prescription_type||"浓缩水丸",a.prescription_type==="浓缩水丸"?(a.dosage_unit="g",a.dosage_amount=10,a.dosage_bag_count=1):a.prescription_type==="饮片"?(a.dosage_unit="ml",a.dosage_amount=50,a.dosage_bag_count=1):(a.dosage_unit="g",a.dosage_amount=void 0,a.dosage_bag_count=1),a.patient_name=t.patient_name||"",a.gender=t.gender??0,a.gender_desc=t.gender===1?"男":"女",a.age=t.age??0,a.phone=t.phone||"",a.visit_no=t.visit_no||"",a.prescription_date=new Date().toISOString().slice(0,10),a.pulse=t.pulse||"",a.tongue=t.tongue||"",a.tongue_image="",a.pulse_condition="",a.clinical_diagnosis=t.clinical_diagnosis||"",a.dose_count=1,a.dose_unit=t.dose_unit||"剂",a.usage_days=7,a.usage_instruction="",a.usage_time="饭后",a.usage_way="温水送服",a.dietary_taboo=[],a.usage_notes="",a.amount=0,a.doctor_name=((e=Te.userInfo)==null?void 0:e.name)||t.doctor_name||"",a.doctor_signature="",a.is_shared=0,a.herbs=[],Object.assign(a.aux_usage,se(a.prescription_type||"浓缩水丸")),a.case_record=t.case_record&&Object.keys(t.case_record).length>0?t.case_record:await bs(Number(a.diagnosis_id)),setTimeout(()=>Ee(),100)),d.value=null},Nt=async()=>{const t=Me.value;if(!t)throw new Error("未找到处方内容");return Pt(t,{scale:2,useCORS:!0,logging:!1,backgroundColor:"#ffffff"})},ys=async t=>{const e=t.querySelectorAll('img[src^="http"]'),n=Array.from(e).map(async r=>{try{const g=await fetch(r.src,{mode:"cors"});if(!g.ok)return;const y=await g.blob(),f=await new Promise((v,S)=>{const u=new FileReader;u.onload=()=>v(u.result),u.onerror=S,u.readAsDataURL(y)});r.src=f}catch{}});await Promise.allSettled(n)},xs=async()=>{const t=je.value;return t?(t.scrollIntoView({behavior:"instant",block:"nearest"}),await ys(t),await new Promise(e=>setTimeout(e,200)),Pt(t,{scale:2,useCORS:!0,logging:!1,backgroundColor:"#ffffff"})):null},ks=async()=>{var t;try{const e=await Nt(),n=document.createElement("a");n.download=`处方_${((t=d.value)==null?void 0:t.patient_name)||"未命名"}_${Date.now()}.png`,n.href=e.toDataURL("image/png"),n.click(),V.msgSuccess("图片已下载")}catch{V.msgError("下载图片失败")}},hs=async()=>{var t;try{const e=await Nt(),n=e.toDataURL("image/png"),r=new ra({orientation:"portrait",unit:"mm",format:"a5"}),g=r.internal.pageSize.getWidth(),y=r.internal.pageSize.getHeight(),f=Math.min(g/e.width,y/e.height),v=e.width*f,S=e.height*f;r.addImage(n,"PNG",0,0,v,S);const u=await xs();if(u){r.addPage("a3","p");const E=Math.min(297/u.width,420/u.height),G=u.width*E,B=u.height*E;r.addImage(u.toDataURL("image/png"),"PNG",0,0,G,B)}r.save(`处方_${((t=d.value)==null?void 0:t.patient_name)||"未命名"}_${Date.now()}.pdf`),V.msgSuccess("PDF已下载")}catch{V.msgError("下载PDF失败")}};return Rt({open:ns,openById:rs}),(t,e)=>{const n=Rs,r=Ds,g=Is,y=Ts,f=Es,v=Cs,S=Os,u=Ls,N=As,D=Hs,E=zs,G=Fs,B=Ps,ee=Ms,ne=Ws,te=js,Vs=Gs,ws=Us,K=qs,Ss=Js,Ns=Ys,$t=Bs,$s=Ks;return _(),b(T,null,[o(ws,{modelValue:s(F),"onUpdate:modelValue":e[32]||(e[32]=h=>O(F)?F.value=h:null),title:s(Ot),size:"1200px","close-on-click-modal":!1,onClose:Ie},ga({default:i(()=>{var h,A;return[s(d)?(_(),b("div",ja,[o(ne,{modelValue:s(C),"onUpdate:modelValue":e[31]||(e[31]=c=>O(C)?C.value=c:null),class:"rx-slip-tabs"},{default:i(()=>[o(ee,{label:"药房联",name:"internal"}),o(ee,{label:"处方联",name:"user"})]),_:1},8,["modelValue"]),l("div",Ga,[s(d).void_status===1?(_(),$(f,{key:0,type:"danger",size:"small"},{default:i(()=>[...e[71]||(e[71]=[m("已作废",-1)])]),_:1})):s(ce)?(_(),$(f,{key:1,type:"success",size:"small"},{default:i(()=>[...e[72]||(e[72]=[m("已通过",-1)])]),_:1})):Number(s(d).audit_status)===0?(_(),$(f,{key:2,type:"warning",size:"small"},{default:i(()=>[...e[73]||(e[73]=[m("待审核",-1)])]),_:1})):Number(s(d).audit_status)===2?(_(),$(f,{key:3,type:"danger",size:"small"},{default:i(()=>[...e[74]||(e[74]=[m("已驳回",-1)])]),_:1})):x("",!0),e[75]||(e[75]=l("div",{class:"flex-1"},null,-1))]),s(d).void_status===1?(_(),b("div",Ba," 作废人:"+p(s(d).void_by_name||"—")+",作废时间:"+p(gs(s(d).void_time)),1)):Number(s(d).audit_status)===2?(_(),b("div",Ka,[e[76]||(e[76]=l("div",{class:"font-medium"},"处方审核:已驳回",-1)),s(d).audit_remark?(_(),b("div",qa,"驳回意见:"+p(s(d).audit_remark),1)):x("",!0)])):x("",!0),l("div",Ja,[s(d)?(_(),b("div",{key:0,ref_key:"prescriptionPrintRef",ref:Me,class:"rx-paper"},[l("div",Ya,p(s(C)==="internal"?"药房联":Sn),1),l("div",Qa,[l("span",Xa,p(s(C)==="user"?"服药前请核对姓名、电话、医生等信息以及医嘱等要点":"服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点"),1),l("span",Za,[l("span",null,"日期:"+p(s(At)),1),l("span",null,"编号:"+p(s(Lt)),1)])]),l("div",el,[l("div",tl,[l("div",sl,[e[77]||(e[77]=l("span",{class:"rx-key"},"姓名",-1)),l("span",al,p(s(d).patient_name||"—"),1)]),l("div",ll,[e[78]||(e[78]=l("span",{class:"rx-key"},"性别",-1)),l("span",ol,p(Mt(s(d).gender)),1)]),l("div",nl,[e[79]||(e[79]=l("span",{class:"rx-key"},"年龄",-1)),l("span",rl,p(jt(s(d).age)),1)]),l("div",il,[e[80]||(e[80]=l("span",{class:"rx-key"},"电话",-1)),l("span",dl,p(s(d).phone||"—"),1)])]),l("div",ul,[l("div",cl,[e[81]||(e[81]=l("span",{class:"rx-key"},"门诊号",-1)),l("span",pl,p(s(d).visit_no||"—"),1)])]),s(d).pulse||s(d).tongue?(_(),b("div",_l,[s(d).pulse?(_(),b("div",ml,[e[82]||(e[82]=l("span",{class:"rx-key"},"面象",-1)),l("span",gl,p(s(d).pulse),1)])):x("",!0),s(d).tongue?(_(),b("div",fl,[e[83]||(e[83]=l("span",{class:"rx-key"},"舌象",-1)),l("span",bl,p(s(d).tongue),1)])):x("",!0)])):x("",!0),l("div",vl,[l("div",yl,[e[84]||(e[84]=l("span",{class:"rx-key"},"临床诊断",-1)),l("span",xl,p(s(d).clinical_diagnosis||"—"),1)])])]),l("div",kl,[l("div",hl,p(s(C)==="internal"?"药房联":"处方联"),1),l("div",Vl,[e[87]||(e[87]=l("div",{class:"rx-rp-label"},"Rp.",-1)),l("div",wl,[l("div",Sl,[e[85]||(e[85]=l("span",null,"用药 (单剂)",-1)),l("span",null,p(s(C)==="user"?"用量":"总量"),1)]),l("div",Nl,[e[86]||(e[86]=l("span",null,"用药 (单剂)",-1)),l("span",null,p(s(C)==="user"?"用量":"总量"),1)])])]),l("div",$l,[s(C)==="internal"?(_(),b(T,{key:0},[s(pe).length?(_(),b(T,{key:0},[e[88]||(e[88]=l("div",{class:"rx-herb-section-label"},"主方",-1)),(_(!0),b(T,null,L(s(pe),(c,U)=>(_(),b("div",{key:"main-"+U,class:"rx-herb-cell"},[l("span",Ul,p(c.name)+" ("+p(c.dosage)+"克)",1),l("span",Cl,p(Ke(c.dosage))+"克",1)]))),128))],64)):x("",!0),s(q).length?(_(),b(T,{key:1},[e[89]||(e[89]=l("div",{class:"rx-herb-section-label rx-herb-section-label--aux"},"辅方",-1)),(_(!0),b(T,null,L(s(q),(c,U)=>(_(),b("div",{key:"aux-"+U,class:"rx-herb-cell"},[l("span",Pl,p(c.name)+" ("+p(c.dosage)+"克)",1),l("span",Tl,p(Ke(c.dosage))+"克",1)]))),128))],64)):x("",!0)],64)):(_(),b(T,{key:1},[s(pe).length?(_(),b(T,{key:0},[e[90]||(e[90]=l("div",{class:"rx-herb-section-label"},"主方",-1)),(_(!0),b(T,null,L(s(pe),(c,U)=>(_(),b("div",{key:"user-main-"+U,class:"rx-herb-cell"},[l("span",Dl,p(c.name),1),l("span",Rl,p(c.dosage)+"克",1)]))),128))],64)):x("",!0),s(q).length?(_(),b(T,{key:1},[e[91]||(e[91]=l("div",{class:"rx-herb-section-label rx-herb-section-label--aux"},"辅方",-1)),(_(!0),b(T,null,L(s(q),(c,U)=>(_(),b("div",{key:"user-aux-"+U,class:"rx-herb-cell"},[l("span",Il,p(c.name),1),l("span",El,p(c.dosage)+"克",1)]))),128))],64)):x("",!0)],64))])]),l("div",Ol,[s(C)==="internal"?(_(),b(T,{key:0},[s(Ve)?(_(),b("p",Al,"主方服法:"+p(s(qe)),1)):(_(),b("p",Ll,"服法:"+p(s(qe)),1)),s(Ve)?(_(),b("p",zl,"辅方服法:"+p(s(Ve)),1)):x("",!0)],64)):x("",!0),s(Je)?(_(),b("p",Hl,"医嘱:"+p(s(Je)),1)):x("",!0),s(C)==="internal"&&s(Ye)?(_(),b("p",Fl,"备注:"+p(s(Ye)),1)):x("",!0),s(d).dietary_taboo&&s(d).dietary_taboo.length?(_(),b("p",Wl," 忌口:"+p(Array.isArray(s(d).dietary_taboo)?s(d).dietary_taboo.join("、"):s(d).dietary_taboo),1)):x("",!0),s(Qe)?(_(),b("p",Ml,"药房备注:"+p(s(Qe)),1)):x("",!0),s(C)==="internal"&&s(et)&&s(d).prescription_type!=="饮片"?(_(),b("p",jl," 出丸:"+p(s(et)),1)):x("",!0)]),l("div",Gl,[l("div",{class:Le(["rx-bot-row rx-bot-row-1",{"rx-bot-row-1--user":s(C)==="user"}])},[l("div",Bl,[e[92]||(e[92]=l("div",{class:"rx-bot-label"},"医师",-1)),l("div",Kl,[s(d).doctor_signature?(_(),b("img",{key:0,src:s(d).doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,ql)):x("",!0),s(d).doctor_signature?x("",!0):(_(),b("div",Jl,p(s(d).doctor_name||"—"),1))])]),s(C)==="internal"?(_(),b("div",Yl,[e[93]||(e[93]=l("span",{class:"rx-bot-meta-key"},"类型:",-1)),l("span",Ql,p(s(Ht)),1)])):x("",!0),l("div",Xl,[e[94]||(e[94]=l("span",{class:"rx-bot-meta-key"},"天数:",-1)),l("span",Zl,p(s(Ft)),1)]),s(C)==="internal"?(_(),b("div",eo,[e[95]||(e[95]=l("span",{class:"rx-bot-meta-key"},"剂量:",-1)),l("span",to,p(s(zt))+"克",1)])):x("",!0)],2),s(C)==="user"?(_(),b("div",so,[...e[96]||(e[96]=[l("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339",-1),l("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号",-1)])])):x("",!0)])],512)):x("",!0),s(d).case_record&&!s(he)?(_(),b("div",{key:1,ref_key:"caseRecordPrintRef",ref:je,class:"case-record-a3"},[l("div",ao,[l("h2",lo,p(s(at).stationName)+" 详细病历",1),l("div",oo,[l("div",no,[e[107]||(e[107]=l("div",{class:"cr-section-title"},"基本信息",-1)),l("div",ro,[l("div",io,[e[97]||(e[97]=l("span",{class:"cr-label"},"诊单ID",-1)),m(p(s(d).case_record.patient_id||"—"),1)]),l("div",uo,[e[98]||(e[98]=l("span",{class:"cr-label"},"姓名",-1)),m(p(s(d).case_record.patient_name||"—"),1)]),l("div",co,[e[99]||(e[99]=l("span",{class:"cr-label"},"身份证号",-1)),m(p(s(d).case_record.id_card||"—"),1)]),l("div",po,[e[100]||(e[100]=l("span",{class:"cr-label"},"手机号",-1)),m(p(s(d).case_record.phone||"—"),1)]),l("div",_o,[e[101]||(e[101]=l("span",{class:"cr-label"},"性别",-1)),m(p(s(d).gender_desc),1)]),l("div",mo,[e[102]||(e[102]=l("span",{class:"cr-label"},"年龄",-1)),m(p(s(d).case_record.age??"—")+"岁",1)]),l("div",go,[e[103]||(e[103]=l("span",{class:"cr-label"},"婚姻状态",-1)),m(p(["未婚","已婚","离异"][s(d).case_record.marital_status]??"—"),1)]),l("div",fo,[e[104]||(e[104]=l("span",{class:"cr-label"},"身高",-1)),m(p(s(d).case_record.height??"—")+"cm",1)]),l("div",bo,[e[105]||(e[105]=l("span",{class:"cr-label"},"体重",-1)),m(p(s(d).case_record.weight??"—")+"kg",1)]),l("div",vo,[e[106]||(e[106]=l("span",{class:"cr-label"},"地区",-1)),m(p(s(d).case_record.region||"—"),1)])])]),l("div",yo,[e[110]||(e[110]=l("div",{class:"cr-section-title"},"生命体征",-1)),l("div",xo,[l("div",ko,[e[108]||(e[108]=l("span",{class:"cr-label"},"血压",-1)),m(p(s(d).case_record.systolic_pressure!=null&&s(d).case_record.diastolic_pressure!=null?s(d).case_record.systolic_pressure+"/"+s(d).case_record.diastolic_pressure+" mmHg":"—"),1)]),l("div",ho,[e[109]||(e[109]=l("span",{class:"cr-label"},"空腹血糖",-1)),m(p(s(d).case_record.fasting_blood_sugar!=null?s(d).case_record.fasting_blood_sugar+" mmol/L":"—"),1)])])]),l("div",Vo,[e[118]||(e[118]=l("div",{class:"cr-section-title"},"主诉",-1)),l("div",wo,[l("div",So,[e[111]||(e[111]=l("span",{class:"cr-label"},"诊断日期",-1)),m(p(s(d).case_record.diagnosis_date||"—"),1)]),l("div",No,[e[112]||(e[112]=l("span",{class:"cr-label"},"诊断类型",-1)),m(p(H(s(De),s(d).case_record.diagnosis_type)||"—"),1)]),l("div",$o,[e[113]||(e[113]=l("span",{class:"cr-label"},"证型",-1)),m(p(H(s(Re),s(d).case_record.syndrome_type)||"—"),1)]),l("div",Uo,[e[114]||(e[114]=l("span",{class:"cr-label"},"糖尿病期数",-1)),m(p(H(s(lt),s(d).case_record.diabetes_type)||"—"),1)]),l("div",Co,[e[115]||(e[115]=l("span",{class:"cr-label"},"发现糖尿病患病史",-1)),m(p(s(ta)((h=s(d).case_record)==null?void 0:h.diabetes_discovery_year)),1)]),l("div",Po,[e[116]||(e[116]=l("span",{class:"cr-label"},"当地医院诊断",-1)),m(p(ls(s(d).case_record.local_hospital_diagnosis)),1)]),l("div",To,[e[117]||(e[117]=l("span",{class:"cr-label"},"当地就诊医院",-1)),m(p(s(d).case_record.local_hospital_name||"—"),1)])])]),l("div",Do,[e[134]||(e[134]=l("div",{class:"cr-section-title"},"现病史",-1)),l("div",Ro,[l("div",Io,[e[119]||(e[119]=l("span",{class:"cr-label"},"口腔感觉",-1)),m(p(R(s(nt),s(d).case_record.appetite)),1)]),l("div",Eo,[e[120]||(e[120]=l("span",{class:"cr-label"},"每日饮水量",-1)),m(p(H(s(rt),s(d).case_record.water_intake)||"—"),1)]),l("div",Oo,[e[121]||(e[121]=l("span",{class:"cr-label"},"体重变化",-1)),m(p(H(s(dt),s(d).case_record.weight_change)||"—"),1)]),l("div",Ao,[e[122]||(e[122]=l("span",{class:"cr-label"},"脂肪肝程度",-1)),m(p(H(s(yt),s(d).case_record.fatty_liver_degree)||"—"),1)]),l("div",Lo,[e[123]||(e[123]=l("span",{class:"cr-label"},"饮食情况",-1)),m(p(R(s(it),s(d).case_record.diet_condition)),1)]),l("div",zo,[e[124]||(e[124]=l("span",{class:"cr-label"},"肢体感觉",-1)),m(p(R(s(ut),s(d).case_record.body_feeling)),1)]),l("div",Ho,[e[125]||(e[125]=l("span",{class:"cr-label"},"睡眠情况",-1)),m(p(R(s(ct),s(d).case_record.sleep_condition)),1)]),l("div",Fo,[e[126]||(e[126]=l("span",{class:"cr-label"},"眼睛情况",-1)),m(p(R(s(pt),s(d).case_record.eye_condition)),1)]),l("div",Wo,[e[127]||(e[127]=l("span",{class:"cr-label"},"头部感觉",-1)),m(p(R(s(_t),s(d).case_record.head_feeling)),1)]),l("div",Mo,[e[128]||(e[128]=l("span",{class:"cr-label"},"出汗情况",-1)),m(p(R(s(mt),s(d).case_record.sweat_condition)),1)]),l("div",jo,[e[129]||(e[129]=l("span",{class:"cr-label"},"皮肤情况",-1)),m(p(R(s(gt),s(d).case_record.skin_condition)),1)]),l("div",Go,[e[130]||(e[130]=l("span",{class:"cr-label"},"小便情况",-1)),m(p(R(s(ft),s(d).case_record.urine_condition)),1)]),l("div",Bo,[e[131]||(e[131]=l("span",{class:"cr-label"},"大便情况",-1)),m(p(R(s(bt),s(d).case_record.stool_condition)),1)]),l("div",Ko,[e[132]||(e[132]=l("span",{class:"cr-label"},"腰肾情况",-1)),m(p(R(s(vt),s(d).case_record.kidney_condition)),1)]),l("div",qo,[e[133]||(e[133]=l("span",{class:"cr-label"},"其他补充",-1)),m(p(s(d).case_record.symptoms||"—"),1)])])]),l("div",Jo,[e[136]||(e[136]=l("div",{class:"cr-section-title"},"既往史",-1)),l("div",Yo,[e[135]||(e[135]=l("span",{class:"cr-label"},null,-1)),m(p(R(s(ot),s(d).case_record.past_history)),1)])]),l("div",Qo,[e[142]||(e[142]=l("div",{class:"cr-section-title"},"其他病史",-1)),l("div",Xo,[l("div",Zo,[e[137]||(e[137]=l("span",{class:"cr-label"},"外伤史",-1)),m(p(s(d).case_record.trauma_history===1?"有":"无"),1)]),l("div",en,[e[138]||(e[138]=l("span",{class:"cr-label"},"手术史",-1)),m(p(s(d).case_record.surgery_history===1?"有":"无"),1)]),l("div",tn,[e[139]||(e[139]=l("span",{class:"cr-label"},"过敏史",-1)),m(p(s(d).case_record.allergy_history===1?"有":"无"),1)]),l("div",sn,[e[140]||(e[140]=l("span",{class:"cr-label"},"家族病史",-1)),m(p(s(d).case_record.family_history===1?"有":"无"),1)]),l("div",an,[e[141]||(e[141]=l("span",{class:"cr-label"},"妊娠哺乳史",-1)),m(p(s(d).case_record.pregnancy_history===1?"有":"无"),1)])])]),l("div",ln,[e[145]||(e[145]=l("div",{class:"cr-section-title"},"诊断信息",-1)),(A=s(d).case_record.tongue_images)!=null&&A.length?(_(),b("div",on,[l("div",nn,[e[143]||(e[143]=l("span",{class:"cr-label"},"舌苔照片",-1)),l("div",rn,[(_(!0),b(T,null,L(s(d).case_record.tongue_images,(c,U)=>(_(),b("img",{key:U,src:as(c),class:"cr-img",crossorigin:"anonymous"},null,8,dn))),128))])])])):x("",!0),l("div",un,[l("div",cn,[e[144]||(e[144]=l("span",{class:"cr-label"},"舌象",-1)),m(p(s(d).case_record.tongue_coating||"—"),1)])])])])])],512)):x("",!0)]),s(d)&&(s(d).audit_by_name||s(d).audit_remark)?(_(),b("div",pn,[s(d).audit_by_name?(_(),b("div",_n,[m(" 审核人:"+p(s(d).audit_by_name)+" ",1),s(d).audit_time?(_(),b("span",mn,p(Gt(s(d).audit_time)),1)):x("",!0)])):x("",!0),s(d).audit_remark?(_(),b("div",gn,"审核意见:"+p(s(d).audit_remark),1)):x("",!0)])):x("",!0),l("div",fn,[o(v,{onClick:ks},{default:i(()=>[o(te,null,{default:i(()=>[o(s(ca))]),_:1}),e[146]||(e[146]=m(" 下载图片 ",-1))]),_:1}),o(v,{type:"primary",onClick:hs},{default:i(()=>[o(te,null,{default:i(()=>[o(s(pa))]),_:1}),e[147]||(e[147]=m(" 下载PDF ",-1))]),_:1}),s(d).void_status!==1&&!s(ce)?(_(),$(Vs,{key:0,disabled:!s(Ge),content:"该处方已存在业务订单,无法作废,请前往已开处方里修改",placement:"top"},{default:i(()=>[l("span",bn,[o(v,{type:"danger",plain:"",disabled:s(Ge),loading:s(ke),onClick:fs},{default:i(()=>[...e[148]||(e[148]=[m(" 作废处方 ",-1)])]),_:1},8,["disabled","loading"])])]),_:1},8,["disabled"])):x("",!0),s(ce)?x("",!0):(_(),$(v,{key:1,onClick:vs},{default:i(()=>[...e[149]||(e[149]=[m("新建处方",-1)])]),_:1})),o(v,{onClick:Ie},{default:i(()=>[...e[150]||(e[150]=[m("关闭",-1)])]),_:1})])])):(_(),b("div",ba,[o(B,{ref_key:"formRef",ref:Et,model:s(a),"label-width":"100px",class:"prescription-form"},{default:i(()=>[l("div",va,[e[44]||(e[44]=l("div",{class:"section-title"},"患者信息",-1)),o(y,{gutter:16},{default:i(()=>[o(r,{span:8},{default:i(()=>[o(n,{label:"姓名"},{default:i(()=>[l("span",null,p(s(a).patient_name),1)]),_:1})]),_:1}),o(r,{span:8},{default:i(()=>[o(n,{label:"性别"},{default:i(()=>[l("span",null,p(s(a).gender_desc),1)]),_:1})]),_:1}),o(r,{span:8},{default:i(()=>[o(n,{label:"年龄"},{default:i(()=>[l("span",null,p(s(a).age),1)]),_:1})]),_:1}),o(r,{span:12},{default:i(()=>[o(n,{label:"电话"},{default:i(()=>[l("span",null,p(s(a).phone),1)]),_:1})]),_:1}),o(r,{span:12},{default:i(()=>[o(n,{label:"门诊号"},{default:i(()=>[o(g,{modelValue:s(a).visit_no,"onUpdate:modelValue":e[0]||(e[0]=c=>s(a).visit_no=c),placeholder:"门诊号"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),l("div",ya,[e[45]||(e[45]=l("div",{class:"section-title"},"诊断信息",-1)),o(y,{gutter:16},{default:i(()=>[o(r,{span:12},{default:i(()=>[o(n,{label:"面象",prop:"pulse"},{default:i(()=>[o(g,{modelValue:s(a).pulse,"onUpdate:modelValue":e[1]||(e[1]=c=>s(a).pulse=c),placeholder:"面象"},null,8,["modelValue"])]),_:1})]),_:1}),o(r,{span:12},{default:i(()=>[o(n,{label:"舌象",prop:"tongue"},{default:i(()=>[o(g,{modelValue:s(a).tongue,"onUpdate:modelValue":e[2]||(e[2]=c=>s(a).tongue=c),placeholder:"舌象"},null,8,["modelValue"])]),_:1})]),_:1}),o(r,{span:24},{default:i(()=>[o(n,{label:"临床诊断",prop:"clinical_diagnosis"},{default:i(()=>[o(g,{modelValue:s(a).clinical_diagnosis,"onUpdate:modelValue":e[3]||(e[3]=c=>s(a).clinical_diagnosis=c),type:"textarea",rows:2,placeholder:"请输入临床诊断"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),l("div",xa,[l("div",ka,[l("div",ha,[e[50]||(e[50]=l("span",{class:"rp-toolbar__marker","aria-hidden":"true"},null,-1)),l("div",Va,[e[49]||(e[49]=l("h3",{class:"rp-toolbar__heading"},[m(" 中药处方 "),l("span",{class:"rp-toolbar__abbr"},"(RP)")],-1)),l("p",wa,[e[46]||(e[46]=m(" 共 ",-1)),l("strong",null,p(s(a).herbs.length),1),m(" 味(主方 "+p(s(Bt))+" / 辅方 "+p(s(Kt))+")· 可手动添加、从处方库或粘贴药方批量录入 ",1)]),s(I)?(_(),b("p",Sa,[o(f,{type:"danger",size:"small",effect:"plain"},{default:i(()=>[...e[47]||(e[47]=[m("禁用修改",-1)])]),_:1}),e[48]||(e[48]=m(" 含「禁用修改」处方库模板,药材已锁定,不可增删改,如需调整请重新「从处方库导入」覆盖 ",-1))])):x("",!0)])]),l("div",Na,[o(v,{type:"primary",size:"small",icon:s(ia),disabled:s(I),onClick:e[4]||(e[4]=c=>Vt("主方"))},{default:i(()=>[...e[51]||(e[51]=[m(" 添加主方 ",-1)])]),_:1},8,["icon","disabled"]),o(v,{type:"primary",plain:"",size:"small",disabled:s(I),onClick:e[5]||(e[5]=c=>Vt("辅方"))},{default:i(()=>[...e[52]||(e[52]=[m(" 添加辅方 ",-1)])]),_:1},8,["disabled"]),o(v,{type:"primary",plain:"",size:"small",icon:s(da),onClick:ps},{default:i(()=>[...e[53]||(e[53]=[m(" 从处方库导入 ",-1)])]),_:1},8,["icon"]),o(v,{type:"primary",plain:"",size:"small",icon:s(ua),onClick:es},{default:i(()=>[...e[54]||(e[54]=[m(" 导入药方 ",-1)])]),_:1},8,["icon"])])]),l("div",$a,[o(n,{label:"处方价格",prop:"amount",class:"!mb-0"},{default:i(()=>[o(S,{modelValue:s(a).amount,"onUpdate:modelValue":e[6]||(e[6]=c=>s(a).amount=c),min:0,precision:2,placeholder:"请输入处方总价(元)",class:"!w-40"},null,8,["modelValue"]),e[55]||(e[55]=l("span",{class:"ml-2 text-gray-500"},"元",-1))]),_:1})]),l("div",Ua,[l("div",Ca,[o(f,{type:"primary",size:"small"},{default:i(()=>[...e[56]||(e[56]=[m("主方",-1)])]),_:1})]),l("div",Pa,[(_(!0),b(T,null,L(s(tt),c=>(_(),b("div",{key:"main-"+c.index,class:Le(["herb-editor-card",{"herb-editor-card--dup":fe(c.index)}])},[l("div",Ta,"主方 "+p(c.index+1),1),o(Ut,{modelValue:s(a).herbs[c.index].name,"onUpdate:modelValue":U=>s(a).herbs[c.index].name=U,disabled:s(I),class:"herb-editor-card__select"},null,8,["modelValue","onUpdate:modelValue","disabled"]),fe(c.index)?(_(),b("div",Da," 该药名与其他行重复,请合并剂量或删除多余行 ")):x("",!0),l("div",Ra,[o(S,{modelValue:s(a).herbs[c.index].dosage,"onUpdate:modelValue":U=>s(a).herbs[c.index].dosage=U,min:.1,step:1,precision:1,disabled:s(I),placeholder:"剂量(克)",class:"herb-editor-card__dose"},null,8,["modelValue","onUpdate:modelValue","disabled"]),e[58]||(e[58]=l("span",{class:"text-gray-500 shrink-0"},"克",-1)),s(I)?x("",!0):(_(),$(v,{key:0,type:"danger",size:"small",link:"",onClick:U=>wt(c.index)},{default:i(()=>[...e[57]||(e[57]=[m(" 删除 ",-1)])]),_:1},8,["onClick"]))])],2))),128))])]),l("div",Ia,[l("div",Ea,[o(f,{type:"warning",size:"small"},{default:i(()=>[...e[59]||(e[59]=[m("辅方",-1)])]),_:1})]),l("div",Oa,[(_(!0),b(T,null,L(s(ae),c=>(_(),b("div",{key:"aux-"+c.index,class:Le(["herb-editor-card",{"herb-editor-card--dup":fe(c.index)}])},[e[62]||(e[62]=l("div",{class:"herb-editor-card__title"},"辅方",-1)),o(Ut,{modelValue:s(a).herbs[c.index].name,"onUpdate:modelValue":U=>s(a).herbs[c.index].name=U,disabled:s(I),class:"herb-editor-card__select"},null,8,["modelValue","onUpdate:modelValue","disabled"]),fe(c.index)?(_(),b("div",Aa," 该药名与其他行重复,请合并剂量或删除多余行 ")):x("",!0),l("div",La,[o(S,{modelValue:s(a).herbs[c.index].dosage,"onUpdate:modelValue":U=>s(a).herbs[c.index].dosage=U,min:.1,step:1,precision:1,disabled:s(I),placeholder:"剂量(克)",class:"herb-editor-card__dose"},null,8,["modelValue","onUpdate:modelValue","disabled"]),e[61]||(e[61]=l("span",{class:"text-gray-500 shrink-0"},"克",-1)),s(I)?x("",!0):(_(),$(v,{key:0,type:"danger",size:"small",link:"",onClick:U=>wt(c.index)},{default:i(()=>[...e[60]||(e[60]=[m(" 删除 ",-1)])]),_:1},8,["onClick"]))])],2))),128)),s(ae).length?x("",!0):(_(),b("p",za,"暂无辅方药材"))])])]),l("div",Ha,[o(y,{gutter:16},{default:i(()=>[o(r,{span:8},{default:i(()=>[o(n,{label:"处方类型",prop:"prescription_type"},{default:i(()=>[o(N,{modelValue:s(a).prescription_type,"onUpdate:modelValue":e[7]||(e[7]=c=>s(a).prescription_type=c),placeholder:"请选择处方类型",class:"!w-full"},{default:i(()=>[o(u,{label:"浓缩水丸",value:"浓缩水丸"}),o(u,{label:"饮片",value:"饮片"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(r,{span:24},{default:i(()=>[...e[63]||(e[63]=[l("div",{class:"usage-formula-title usage-formula-title--main"},"主方用法",-1)])]),_:1}),o(r,{span:8},{default:i(()=>[o(n,{label:"用量",prop:"dosage_amount"},{default:i(()=>[s(a).prescription_type==="浓缩水丸"?(_(),$(N,{key:0,modelValue:s(a).dosage_amount,"onUpdate:modelValue":e[8]||(e[8]=c=>s(a).dosage_amount=c),placeholder:"请选择用量",class:"!w-full"},{default:i(()=>[o(u,{label:"1g",value:1}),o(u,{label:"2g",value:2}),o(u,{label:"3g",value:3}),o(u,{label:"4g",value:4}),o(u,{label:"5g",value:5}),o(u,{label:"6g",value:6}),o(u,{label:"7g",value:7}),o(u,{label:"8g",value:8}),o(u,{label:"9g",value:9}),o(u,{label:"10g",value:10})]),_:1},8,["modelValue"])):s(a).prescription_type==="饮片"?(_(),$(N,{key:1,modelValue:s(a).dosage_amount,"onUpdate:modelValue":e[9]||(e[9]=c=>s(a).dosage_amount=c),placeholder:"请选择用量",class:"!w-full"},{default:i(()=>[o(u,{label:"50ml",value:50}),o(u,{label:"100ml",value:100}),o(u,{label:"120ml",value:120}),o(u,{label:"150ml",value:150}),o(u,{label:"180ml",value:180}),o(u,{label:"200ml",value:200}),o(u,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(_(),$(S,{key:2,modelValue:s(a).dosage_amount,"onUpdate:modelValue":e[10]||(e[10]=c=>s(a).dosage_amount=c),min:0,precision:2,class:"!w-full"},null,8,["modelValue"])),s(a).prescription_type!=="浓缩水丸"&&s(a).prescription_type!=="饮片"?(_(),b("span",Fa,p(s(a).dosage_unit),1)):x("",!0)]),_:1})]),_:1}),s(a).prescription_type==="浓缩水丸"?(_(),$(r,{key:0,span:8},{default:i(()=>[o(n,{label:" ",prop:"dosage_bag_count","label-width":"12px"},{default:i(()=>[o(N,{modelValue:s(a).dosage_bag_count,"onUpdate:modelValue":e[11]||(e[11]=c=>s(a).dosage_bag_count=c),placeholder:"请选择袋数",class:"!w-[120px]"},{default:i(()=>[o(u,{label:"1袋",value:1}),o(u,{label:"2袋",value:2}),o(u,{label:"3袋",value:3}),o(u,{label:"4袋",value:4}),o(u,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),s(a).prescription_type==="饮片"?(_(),$(r,{key:1,span:8},{default:i(()=>[o(n,{label:"每贴出包数",prop:"bags_per_dose"},{default:i(()=>[o(N,{modelValue:s(a).bags_per_dose,"onUpdate:modelValue":e[12]||(e[12]=c=>s(a).bags_per_dose=c),placeholder:"请选择",class:"!w-full"},{default:i(()=>[o(u,{label:"1包",value:1}),o(u,{label:"2包",value:2}),o(u,{label:"3包",value:3}),o(u,{label:"4包",value:4}),o(u,{label:"5包",value:5}),o(u,{label:"6包",value:6}),o(u,{label:"7包",value:7}),o(u,{label:"8包",value:8}),o(u,{label:"9包",value:9})]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),s(a).prescription_type==="饮片"?(_(),$(r,{key:2,span:8},{default:i(()=>[o(n,{label:"是否代煎",prop:"need_decoction"},{default:i(()=>[o(E,{modelValue:s(a).need_decoction,"onUpdate:modelValue":e[13]||(e[13]=c=>s(a).need_decoction=c)},{default:i(()=>[o(D,{label:!0},{default:i(()=>[...e[64]||(e[64]=[m("代煎",-1)])]),_:1}),o(D,{label:!1},{default:i(()=>[...e[65]||(e[65]=[m("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),o(r,{span:8},{default:i(()=>[o(n,{label:"服用天数",prop:"usage_days"},{default:i(()=>[o(S,{modelValue:s(a).usage_days,"onUpdate:modelValue":e[14]||(e[14]=c=>s(a).usage_days=c),min:1,max:365,class:"!w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(r,{span:8},{default:i(()=>[o(n,{label:"每天几次",prop:"times_per_day"},{default:i(()=>[o(S,{modelValue:s(a).times_per_day,"onUpdate:modelValue":e[15]||(e[15]=c=>s(a).times_per_day=c),min:1,max:6,class:"!w-full",placeholder:"每天服用次数"},null,8,["modelValue"])]),_:1})]),_:1}),s(ae).length>0?(_(),b(T,{key:3},[o(r,{span:24},{default:i(()=>[...e[66]||(e[66]=[l("div",{class:"usage-formula-title usage-formula-title--aux"},"辅方用法",-1)])]),_:1}),o(r,{span:8},{default:i(()=>[o(n,{label:"用量"},{default:i(()=>[s(a).prescription_type==="浓缩水丸"?(_(),$(N,{key:0,modelValue:s(a).aux_usage.dosage_amount,"onUpdate:modelValue":e[16]||(e[16]=c=>s(a).aux_usage.dosage_amount=c),placeholder:"请选择用量",class:"!w-full"},{default:i(()=>[(_(),b(T,null,L(10,c=>o(u,{key:c,label:c+"g",value:c},null,8,["label","value"])),64))]),_:1},8,["modelValue"])):s(a).prescription_type==="饮片"?(_(),$(N,{key:1,modelValue:s(a).aux_usage.dosage_amount,"onUpdate:modelValue":e[17]||(e[17]=c=>s(a).aux_usage.dosage_amount=c),placeholder:"请选择用量",class:"!w-full"},{default:i(()=>[o(u,{label:"50ml",value:50}),o(u,{label:"100ml",value:100}),o(u,{label:"120ml",value:120}),o(u,{label:"150ml",value:150}),o(u,{label:"180ml",value:180}),o(u,{label:"200ml",value:200}),o(u,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(_(),$(S,{key:2,modelValue:s(a).aux_usage.dosage_amount,"onUpdate:modelValue":e[18]||(e[18]=c=>s(a).aux_usage.dosage_amount=c),min:0,precision:2,class:"!w-full"},null,8,["modelValue"]))]),_:1})]),_:1}),s(a).prescription_type==="浓缩水丸"?(_(),$(r,{key:0,span:8},{default:i(()=>[o(n,{label:" ","label-width":"12px"},{default:i(()=>[o(N,{modelValue:s(a).aux_usage.dosage_bag_count,"onUpdate:modelValue":e[19]||(e[19]=c=>s(a).aux_usage.dosage_bag_count=c),placeholder:"请选择袋数",class:"!w-[120px]"},{default:i(()=>[o(u,{label:"1袋",value:1}),o(u,{label:"2袋",value:2}),o(u,{label:"3袋",value:3}),o(u,{label:"4袋",value:4}),o(u,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),s(a).prescription_type==="饮片"?(_(),$(r,{key:1,span:8},{default:i(()=>[o(n,{label:"是否代煎"},{default:i(()=>[o(E,{modelValue:s(a).aux_usage.need_decoction,"onUpdate:modelValue":e[20]||(e[20]=c=>s(a).aux_usage.need_decoction=c)},{default:i(()=>[o(D,{label:!0},{default:i(()=>[...e[67]||(e[67]=[m("代煎",-1)])]),_:1}),o(D,{label:!1},{default:i(()=>[...e[68]||(e[68]=[m("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),s(a).prescription_type==="饮片"?(_(),$(r,{key:2,span:8},{default:i(()=>[o(n,{label:"每贴出包数"},{default:i(()=>[o(N,{modelValue:s(a).aux_usage.bags_per_dose,"onUpdate:modelValue":e[21]||(e[21]=c=>s(a).aux_usage.bags_per_dose=c),placeholder:"请选择",class:"!w-full"},{default:i(()=>[(_(),b(T,null,L(9,c=>o(u,{key:c,label:c+"包",value:c},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),o(r,{span:8},{default:i(()=>[o(n,{label:"每天几次"},{default:i(()=>[o(S,{modelValue:s(a).aux_usage.times_per_day,"onUpdate:modelValue":e[22]||(e[22]=c=>s(a).aux_usage.times_per_day=c),min:1,max:6,class:"!w-full",placeholder:"每天服用次数"},null,8,["modelValue"])]),_:1})]),_:1}),o(r,{span:8},{default:i(()=>[o(n,{label:"服用天数"},{default:i(()=>[o(S,{modelValue:s(a).aux_usage.usage_days,"onUpdate:modelValue":e[23]||(e[23]=c=>s(a).aux_usage.usage_days=c),min:1,max:365,class:"!w-full"},null,8,["modelValue"])]),_:1})]),_:1})],64)):x("",!0),o(r,{span:24},{default:i(()=>[o(n,{label:"用法",prop:"usage_instruction"},{default:i(()=>[o(g,{modelValue:s(a).usage_instruction,"onUpdate:modelValue":e[24]||(e[24]=c=>s(a).usage_instruction=c),placeholder:"",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1}),o(r,{span:12},{default:i(()=>[o(n,{label:"服用时间",prop:"usage_time"},{default:i(()=>[o(N,{modelValue:s(a).usage_time,"onUpdate:modelValue":e[25]||(e[25]=c=>s(a).usage_time=c),placeholder:"请选择服用时间",class:"!w-full"},{default:i(()=>[o(u,{label:"饭前",value:"饭前"}),o(u,{label:"饭后",value:"饭后"}),o(u,{label:"饭中",value:"饭中"}),o(u,{label:"空腹",value:"空腹"}),o(u,{label:"睡前",value:"睡前"}),o(u,{label:"晨起",value:"晨起"}),o(u,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(r,{span:12},{default:i(()=>[o(n,{label:"服用方式",prop:"usage_way"},{default:i(()=>[o(N,{modelValue:s(a).usage_way,"onUpdate:modelValue":e[26]||(e[26]=c=>s(a).usage_way=c),placeholder:"请选择服用方式",class:"!w-full"},{default:i(()=>[o(u,{label:"温水送服",value:"温水送服"}),o(u,{label:"开水冲服",value:"开水冲服"}),o(u,{label:"黄酒送服",value:"黄酒送服"}),o(u,{label:"淡盐水送服",value:"淡盐水送服"}),o(u,{label:"米汤送服",value:"米汤送服"}),o(u,{label:"嚼服",value:"嚼服"}),o(u,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(r,{span:24},{default:i(()=>[o(n,{label:"忌口",prop:"dietary_taboo"},{default:i(()=>[o(N,{modelValue:s(a).dietary_taboo,"onUpdate:modelValue":e[27]||(e[27]=c=>s(a).dietary_taboo=c),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"!w-full"},{default:i(()=>[o(u,{label:"辛辣食物",value:"辛辣食物"}),o(u,{label:"生冷食物",value:"生冷食物"}),o(u,{label:"油腻食物",value:"油腻食物"}),o(u,{label:"海鲜",value:"海鲜"}),o(u,{label:"牛羊肉",value:"牛羊肉"}),o(u,{label:"鸡蛋",value:"鸡蛋"}),o(u,{label:"豆制品",value:"豆制品"}),o(u,{label:"酒类",value:"酒类"}),o(u,{label:"浓茶",value:"浓茶"}),o(u,{label:"咖啡",value:"咖啡"}),o(u,{label:"烟草",value:"烟草"}),o(u,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(r,{span:24},{default:i(()=>[o(n,{label:"其他说明",prop:"usage_notes"},{default:i(()=>[o(g,{modelValue:s(a).usage_notes,"onUpdate:modelValue":e[28]||(e[28]=c=>s(a).usage_notes=c),type:"textarea",rows:2,placeholder:"其他服用注意事项",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1}),o(r,{span:12},{default:i(()=>[o(n,{label:"医师",prop:"doctor_name"},{default:i(()=>[o(g,{modelValue:s(a).doctor_name,"onUpdate:modelValue":e[29]||(e[29]=c=>s(a).doctor_name=c),placeholder:"医师姓名"},null,8,["modelValue"])]),_:1})]),_:1}),o(r,{span:12},{default:i(()=>[o(n,{label:"是否共享",prop:"is_shared"},{default:i(()=>[o(G,{modelValue:s(a).is_shared,"onUpdate:modelValue":e[30]||(e[30]=c=>s(a).is_shared=c),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"])]),_:1})]),_:1}),o(r,{span:24},{default:i(()=>[o(n,{label:"医师签名",prop:"doctor_signature",required:""},{default:i(()=>[l("div",Wa,[l("canvas",{ref_key:"signatureCanvasRef",ref:W,class:"signature-canvas",onPointerdown:re(ds,["prevent"]),onPointermove:re(us,["prevent"]),onPointerup:re(ht,["prevent"]),onPointercancel:re(ht,["prevent"])},null,544),l("div",Ma,[o(v,{size:"small",onClick:cs},{default:i(()=>[...e[69]||(e[69]=[m("清空签名",-1)])]),_:1})])]),e[70]||(e[70]=l("div",{class:"text-xs text-amber-600 mt-1"},"* 必填,请在框内手写医师签名",-1))]),_:1})]),_:1})]),_:1})])]),_:1},8,["model"])]))]}),_:2},[s(d)?void 0:{name:"footer",fn:i(()=>[l("div",vn,[o(v,{onClick:Ie},{default:i(()=>[...e[151]||(e[151]=[m("取消",-1)])]),_:1}),o(v,{type:"primary",onClick:ms,loading:s(xe)},{default:i(()=>[...e[152]||(e[152]=[m("保存处方",-1)])]),_:1},8,["loading"])])]),key:"0"}]),1032,["modelValue","title"]),o($t,{modelValue:s(j),"onUpdate:modelValue":e[38]||(e[38]=h=>O(j)?j.value=h:null),title:"从处方库导入",width:"800px","close-on-click-modal":!1},{default:i(()=>[l("div",yn,[o(g,{modelValue:s(le),"onUpdate:modelValue":e[33]||(e[33]=h=>O(le)?le.value=h:null),class:"flex-1",placeholder:"请输入处方名称搜索",clearable:"",onKeyup:Qs(ve,["enter"]),onClear:ve},{append:i(()=>[o(v,{icon:s(_a),onClick:ve},null,8,["icon"])]),_:1},8,["modelValue"]),o(N,{modelValue:s(oe),"onUpdate:modelValue":e[34]||(e[34]=h=>O(oe)?oe.value=h:null),placeholder:"处方类型",clearable:"",class:"w-[140px]",onChange:ve},{default:i(()=>[o(u,{label:"全部",value:""}),o(u,{label:"主方",value:"主方"}),o(u,{label:"辅方",value:"辅方"})]),_:1},8,["modelValue"])]),l("div",xn,[e[155]||(e[155]=l("span",{class:"text-sm text-gray-600 shrink-0"},"导入方式",-1)),o(E,{modelValue:s(J),"onUpdate:modelValue":e[35]||(e[35]=h=>O(J)?J.value=h:null)},{default:i(()=>[o(D,{label:"replace"},{default:i(()=>[...e[153]||(e[153]=[m("覆盖同类型药材",-1)])]),_:1}),o(D,{label:"append"},{default:i(()=>[...e[154]||(e[154]=[m("追加到末尾",-1)])]),_:1})]),_:1},8,["modelValue"])]),fa((_(),$(Ss,{data:s($e),height:"400",onRowClick:_s,style:{cursor:"pointer"}},{default:i(()=>[o(K,{label:"处方名称",prop:"prescription_name","min-width":"150","show-overflow-tooltip":""}),o(K,{label:"处方类型",width:"90"},{default:i(({row:h})=>[o(f,{type:h.formula_type==="辅方"?"warning":"primary",size:"small"},{default:i(()=>[m(p(h.formula_type||"主方"),1)]),_:2},1032,["type"])]),_:1}),o(K,{label:"药材数量",width:"100"},{default:i(({row:h})=>{var A;return[m(p(((A=h.herbs)==null?void 0:A.length)||0)+"味 ",1)]}),_:1}),o(K,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:i(({row:h})=>[h.herbs&&h.herbs.length>0?(_(),b("span",kn,p(h.herbs.map(A=>`${A.name} ${A.dosage}g`).join("、")),1)):(_(),b("span",hn,"暂无药材"))]),_:1}),o(K,{label:"是否公开",width:"110"},{default:i(({row:h})=>[o(f,{type:h.is_public?"success":"info",size:"small"},{default:i(()=>[m(p(h.is_public?"所有人可见":"仅自己可见"),1)]),_:2},1032,["type"])]),_:1}),o(K,{label:"创建人",prop:"creator_name",width:"100"}),o(K,{label:"操作",width:"100",fixed:"right"},{default:i(({row:h})=>[o(v,{type:"primary",link:"",onClick:re(A=>St(h),["stop"])},{default:i(()=>[...e[156]||(e[156]=[m(" 导入 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[$s,s(Ne)]]),l("div",Vn,[o(Ns,{"current-page":s(Q),"onUpdate:currentPage":e[36]||(e[36]=h=>O(Q)?Q.value=h:null),"page-size":s(me),"onUpdate:pageSize":e[37]||(e[37]=h=>O(me)?me.value=h:null),total:s(Ue),"page-sizes":[10,15,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:be,onSizeChange:be},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue"]),o($t,{modelValue:s(X),"onUpdate:modelValue":e[42]||(e[42]=h=>O(X)?X.value=h:null),title:"导入药方(识别药材)",width:"560px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[43]||(e[43]=h=>Z.value="")},{footer:i(()=>[o(v,{onClick:e[41]||(e[41]=h=>X.value=!1)},{default:i(()=>[...e[161]||(e[161]=[m("取消",-1)])]),_:1}),o(v,{type:"primary",loading:s(Ce),onClick:ts},{default:i(()=>[...e[162]||(e[162]=[m(" 识别并导入 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[e[163]||(e[163]=l("p",{class:"text-gray-500 text-sm mb-2 leading-relaxed"}," 粘贴整张药方文本,系统按「药名 + 剂量」解析;药名须与药品库中名称完全一致才会录入,否则跳过。支持顿号/逗号/换行分隔;单行可用空格分味(如「黄芪15g 白术10g」);「黄芪、党参各10克」等同剂量写法亦可识别。 ",-1)),o(g,{modelValue:s(Z),"onUpdate:modelValue":e[39]||(e[39]=h=>O(Z)?Z.value=h:null),type:"textarea",rows:10,placeholder:`示例:
黄芪15 党参12 茯苓10
柴胡10g、黄芩10、半夏12克
黄芪、白术、茯苓各15克`},null,8,["modelValue"]),l("div",wn,[e[159]||(e[159]=l("span",{class:"text-sm text-gray-600 shrink-0"},"导入方式",-1)),o(E,{modelValue:s(ge),"onUpdate:modelValue":e[40]||(e[40]=h=>O(ge)?ge.value=h:null)},{default:i(()=>[o(D,{label:"replace"},{default:i(()=>[...e[157]||(e[157]=[m("覆盖主方药材",-1)])]),_:1}),o(D,{label:"append"},{default:i(()=>[...e[158]||(e[158]=[m("追加到主方末尾",-1)])]),_:1})]),_:1},8,["modelValue"]),e[160]||(e[160]=l("span",{class:"text-xs text-gray-500"},"(粘贴导入至主方,保留已有辅方)",-1))])]),_:1},8,["modelValue"])],64)}}}),fr=ea(Nn,[["__scopeId","data-v-a2b33a5f"]]);export{fr as default};