Files
zyt/server/public/admin/assets/index-CB7YfAOX.js
T
2026-05-28 12:21:53 +08:00

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