8 lines
94 KiB
JavaScript
8 lines
94 KiB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BAVTXzKs.js","assets/element-plus-Ds3qCU_G.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-D49jsFPW.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-CPHZWIUS.js","assets/index-ChBB9czE.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-B8eb0l7L.css","assets/perm-CQxbxHVU.js","assets/DailyMatrix-C5L7XPee.js","assets/picker-DvW8XazI.js","assets/index-CFvpUwlu.js","assets/index-B3imPWFk.css","assets/index-BMxMApiK.js","assets/index.vue_vue_type_script_setup_true_lang-Ch-2CJwb.js","assets/index-ByMF79DN.js","assets/index-D0f1Mn00.css","assets/index-CQALk_4j.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-C6mJkI2L.js","assets/index.vue_vue_type_script_setup_true_lang-d5pf8jrB.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-z_lRPP97.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-uDsB4FHG.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-Dicp6h03.js","assets/RecordingPlaybackBlock-DRVyAbNS.js","assets/RecordingVideoPlayer-DczRi5RX.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-DDfB_HS0.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-DTozclIm.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-BBbRQcwE.js","assets/doctor-BTcKaJ5O.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-D0gEEgBP.js","assets/patient-CrmcMcW9.js","assets/NoteTimeline-I2FSxX4s.css","assets/PatientOrderList-Du1qx4Ln.js","assets/PatientOrderList-4vz3nK3G.css","assets/index-alWbA1a8.js","assets/index-2AT7AfzC.js","assets/medicine-BLZ2drJa.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DVzcucvm.css","assets/edit-B3n9jERN.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]);
|
||
import{_ as Cl,E as Ul}from"./jspdf-BsthCvR5.js";import{G as $l,F as Pl,D as Dl,B as Rl,C as Tl,P as Ol,Q as Al,i as El,J as Ll,L as zl,M as Fl,N as Il,T as jl,K as Ml,a4 as Hl,a5 as Wl,I as ql,h as Yl,R as Bl,e as Gl,V as Kl,a6 as Jl,a7 as Ql,a8 as Xl,g as Zl,r as es,U as ts}from"./element-plus-Ds3qCU_G.js";import{_ as as}from"./index.vue_vue_type_script_setup_true_lang-Ch-2CJwb.js";import{u as ls,c as ss,i as w,m as ns,_ as os}from"./index-ChBB9czE.js";import{w as _t,s as Ne,q as ct}from"./@vue/runtime-dom-DDAG46FW.js";import{g as rs,p as is,b as us,c as ft,d as ds,e as ps,f as ms,h as _s,i as cs,j as fs,k as gs,l as vs}from"./tcm-CPHZWIUS.js";import{m as bs}from"./medicine-BLZ2drJa.js";import{r as ys}from"./role-Bbnnok3I.js";import{u as xs}from"./usePaging-VsbTxSU0.js";import{_ as ks}from"./index.vue_vue_type_script_setup_true_lang-Dx2akx9X.js";import{M as Qt}from"./index-2AT7AfzC.js";import{U as Vs,N as hs,V as ws,O as Ns}from"./@element-plus/icons-vue-D49jsFPW.js";import{a as Ss}from"./vue-router-QlpZ4wdW.js";import Cs from"./html2canvas-QH1iLAAe.js";import{f as Xt,w as Ie,b as Us,as as $s,ak as p,I as v,a,aN as s,J as r,O as c,F as E,ap as B,G as x,aP as A,H as b,P as Ps,A as U,n as ae}from"./@vue/runtime-core-C6bnekPw.js";import{y as j,a as Ds,r as Se,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{Q as f,o as Rs}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.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"./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";const Ts={class:"prescription-list"},Os={class:"pl-toolbar"},As={class:"pl-toolbar__line"},Es={class:"pl-toolbar__line pl-toolbar__line--second"},Ls={class:"pl-toolbar__actions"},zs={class:"pl-table-head"},Fs={class:"flex items-center gap-2"},Is={class:"mt-3"},js={class:"font-medium"},Ms={class:"text-xs text-gray-400 mt-0.5"},Hs={key:1,class:"text-gray-400 text-sm"},Ws={class:"font-medium"},qs={class:"text-xs text-gray-500 mt-0.5"},Ys={class:"flex flex-col gap-1"},Bs={class:"flex flex-wrap items-center gap-1"},Gs={key:0,class:"text-xs text-gray-500"},Ks=["title"],Js={key:1,class:"text-gray-400"},Qs={class:"font-medium"},Xs={class:"text-xs text-gray-500 mt-0.5"},Zs={class:"text-sm"},en={class:"flex mt-2 justify-end"},tn={key:0,class:"rx-wrap"},an={class:"rx-toolbar"},ln={key:0,class:"rx-status rx-status-danger"},sn={key:1,class:"rx-status rx-status-danger"},nn={key:0,class:"mt-1"},on={key:2,class:"rx-status rx-status-danger"},rn={key:0,class:"mt-1"},un={class:"rx-notice"},dn={class:"rx-notice-meta"},pn={class:"rx-info"},mn={class:"rx-info-row"},_n={class:"rx-info-cell"},cn={class:"rx-val"},fn={class:"rx-info-cell"},gn={class:"rx-val"},vn={class:"rx-info-cell"},bn={class:"rx-val"},yn={class:"rx-info-cell"},xn={class:"rx-val"},kn={class:"rx-info-row rx-info-row-full"},Vn={class:"rx-info-cell"},hn={class:"rx-val"},wn={class:"rx-info-row rx-info-row-full"},Nn={class:"rx-info-cell"},Sn={class:"rx-val"},Cn={class:"rx-rp"},Un={class:"rx-herbs"},$n={class:"rx-herb-name"},Pn={class:"rx-herb-total"},Dn={class:"rx-herb-name"},Rn={class:"rx-herb-total"},Tn={class:"rx-text"},On={key:0},An={key:1},En={key:2},Ln={key:3,class:"rx-text-warn"},zn={key:4,class:"rx-text-warn"},Fn={class:"rx-bottom"},In={class:"rx-bot-row rx-bot-row-1"},jn={class:"rx-bot-cell rx-bot-stack rx-bot-doctor"},Mn={class:"rx-bot-doctor-body"},Hn=["src"],Wn={key:1,class:"rx-bot-doctor-name"},qn={class:"rx-bot-cell rx-bot-meta"},Yn={class:"rx-bot-meta-val"},Bn={class:"rx-bot-cell rx-bot-meta"},Gn={class:"rx-bot-meta-val"},Kn={class:"rx-bot-cell rx-bot-meta"},Jn={class:"rx-bot-meta-val"},Qn={key:4,class:"rx-audit"},Xn={key:0},Zn={key:0,class:"ml-2 text-gray-400"},eo={key:1,class:"mt-1"},to={class:"text-sm mt-1"},ao={key:0,class:"text-sm mt-2 text-gray-800 font-medium"},lo={key:5,class:"mb-3 flex flex-wrap items-center gap-2 pl-[120px]"},so={class:"text-xs text-gray-400"},no={class:"w-full"},oo={class:"flex flex-wrap items-center gap-2"},ro={key:0,class:"flex items-center gap-2 flex-wrap mt-2 text-xs text-[var(--el-color-danger)]"},io={class:"herb-formula-block mt-3"},uo={class:"herb-formula-block__head"},po={key:1,class:"text-gray-400 text-xs"},mo={class:"herb-formula-block mt-4"},_o={class:"herb-formula-block__head"},co={key:1,class:"text-gray-400 text-xs"},fo={class:"text-sm mt-1 leading-relaxed"},go={key:0,class:"mb-1.5"},vo={class:"font-mono text-primary"},bo={class:"mb-1.5"},yo={class:"whitespace-pre-wrap"},xo={key:1,class:"text-gray-600"},ko={class:"signature-pad-wrap"},Vo={class:"signature-actions"},ho={class:"text-gray-700"},wo={class:"create-order-dialog__inner"},No={key:0,class:"create-order-rx-card"},So={class:"create-order-rx-card__head"},Co={class:"create-order-rx-card__meta"},Uo={class:"create-order-rx-card__id"},$o={key:0,class:"create-order-rx-card__sn"},Po={class:"create-order-rx-card__patient"},Do={class:"create-order-step-lead"},Ro={class:"create-order-step-panel"},To={class:"create-order-step-panel"},Oo={class:"flex items-center gap-1 w-full"},Ao={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},Eo={class:"flex items-center justify-between"},Lo={class:"font-medium text-[13px] text-gray-800"},zo={class:"text-orange-500 font-medium ml-4"},Fo={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},Io={class:"truncate pr-2"},jo={class:"shrink-0"},Mo={class:"create-order-pay-hint text-gray-500"},Ho={class:"text-amber-600 font-medium"},Wo={class:"create-order-step-panel"},qo={class:"create-order-deposit-bar__cell"},Yo={class:"create-order-deposit-bar__sub"},Bo={class:"create-order-deposit-bar__cell"},Go={class:"create-order-deposit-bar__sub"},Ko={class:"create-order-footer"},Jo={class:"create-order-footer__hint"},Qo={class:"create-order-footer__step"},Xo={key:0,class:"create-order-footer__warn"},Zo={class:"create-order-footer__actions"},er={class:"mb-4 flex gap-3"},tr={class:"mb-3 flex flex-wrap items-center gap-x-4 gap-y-2"},ar={key:0},lr={key:1,class:"text-gray-400"},sr={class:"flex justify-end mt-4"},nr={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},or=Xt({name:"prescriptionList"}),rr=Xt({...or,setup(ir){const Zt=Ps(()=>Cl(()=>import("./edit-BAVTXzKs.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98])));function Ce(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 gt(t,e){const o=Ce(e);if(!t||typeof t!="object")return{...o};const u=t;return{dosage_amount:u.dosage_amount!==null&&u.dosage_amount!==void 0&&u.dosage_amount!==""?Number(u.dosage_amount):o.dosage_amount,dosage_bag_count:u.dosage_bag_count!=null?Number(u.dosage_bag_count)||1:o.dosage_bag_count,need_decoction:u.need_decoction===1||u.need_decoction===!0,bags_per_dose:u.bags_per_dose!=null?Number(u.bags_per_dose)||1:o.bags_per_dose,times_per_day:u.times_per_day!=null?Number(u.times_per_day)||3:o.times_per_day,usage_days:u.usage_days!=null?Number(u.usage_days)||7:o.usage_days,prescription_name:String(u.prescription_name??"").trim()}}function vt(t,e,o){const u=t.prescription_type||"浓缩水丸",m=Number(t.times_per_day)>0?Number(t.times_per_day):3,d=t.dosage_amount!=null?Number(t.dosage_amount):10,i=t.dosage_unit||(u==="饮片"?"ml":"g"),V=t.usage_way||e||"温水送服",L=t.usage_time||o||"",y=[];if(y.push(`每天${m}次`),u==="浓缩水丸"){const J=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;y.push(`一次${J}袋`),y.push(`每袋${d}${i}`)}else y.push(`一次${d}${i}`);return y.push(V),L&&y.push(L),y.join(", ")}function q(t){return t==="辅方"?"辅方":"主方"}function je(t){const e={name:String((t==null?void 0:t.name)??"").trim(),dosage:Number(t==null?void 0:t.dosage)||0,formula_type:q(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 Me(t){return t?Array.isArray(t)?t.map(e=>je(e)):[]:[]}const ue=ls(),bt=Ss();function ea(){const t=bt.getRoutes().find(e=>{var o;return((o=e.meta)==null?void 0:o.perms)==="tcm.prescriptionOrder/lists"});t!=null&&t.path?bt.push(t.path):w.msgWarning("未配置「处方业务订单」菜单,请在权限管理中执行菜单 SQL 或手动添加路由")}const N=Se({sn:"",patient_name:"",creator_ids:[],audit_filter:"all",source_filter:"all",start_time:"",end_time:""}),He=k([]),G=k("all"),Q=k(!1),R=k("add"),We=k(!1),Z=k(),K=k(),de=k(null),le=560,se=168,g=k(null),qe=k(!1),yt=k([]),pe=k(!1),xt=k(0),ne=k(""),Ue=k(!1),me=k(!1),Ye=k(!1),Be=k(),P=Se({id:0,patient_name:"",gender:1,phone:""}),ta={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function aa(t){P.id=Number(t.id)||0,P.patient_name=String(t.patient_name??"").trim();const e=Number(t.gender);P.gender=e===0||e===1?e:1,P.phone=String(t.phone??"").trim(),me.value=!0}function la(){var t;P.id=0,P.patient_name="",P.gender=1,P.phone="",(t=Be.value)==null||t.clearValidate()}async function sa(){const t=Be.value;if(t){try{await t.validate()}catch{return}Ye.value=!0;try{await is({id:P.id,patient_name:P.patient_name.trim(),phone:P.phone.trim(),gender:P.gender}),w.msgSuccess("已保存"),me.value=!1,ee()}catch(e){const o=e&&typeof e=="object"&&"msg"in e?String(e.msg):"";w.msgError(o||"保存失败")}finally{Ye.value=!1}}}const _e=k(!1),T=k(0),na=U(()=>["请核对诊单患者并填写完整收货信息,便于发货与物流联系。","按需填写服务相关信息,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;提交前请对照定金门槛是否已满足。"][T.value]??""),oa=["patient_id","recipient_name","recipient_phone","region","shipping_address"],Y=k(null),ce=k(),Ge=k(!1),Ke=k(!1),X=k([]),oe=k([]),Je=k(!1),D=k(0);function re(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function kt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const _=Se({patient_id:"",recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",fee_type:3,amount:0,internal_cost:void 0,remark_extra:"",remark_assistant:"",pay_order_ids:[]}),fe=k([]),Qe=k([]),ra=t=>t.map(e=>{var o;return{name:e.province,code:e.code,children:((o=e.citys)==null?void 0:o.map(u=>{var m;return{name:u.city,code:u.code,children:((m=u.areas)==null?void 0:m.map(d=>({name:d.area,code:d.code})))||[]}}))||[]}}),ia=async()=>{try{console.log("开始加载省市区数据...");const e=await fetch("https://cos.zhenyangtang.com.cn/area/ChinaCitys.json");if(console.log("响应状态:",e.status),!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const o=await e.json();console.log("加载的数据条数:",o==null?void 0:o.length),fe.value=ra(o),console.log("regionOptions 已设置,条数:",fe.value.length)}catch(t){console.error("加载省市区数据失败:",t),fe.value=[{name:"四川省",children:[{name:"成都市",children:[{name:"锦江区"},{name:"青羊区"},{name:"金牛区"},{name:"武侯区"},{name:"成华区"},{name:"龙泉驿区"},{name:"青白江区"},{name:"新都区"},{name:"温江区"},{name:"双流区"}]},{name:"绵阳市",children:[{name:"涪城区"},{name:"游仙区"},{name:"安州区"}]}]},{name:"北京市",children:[{name:"北京市",children:[{name:"东城区"},{name:"西城区"},{name:"朝阳区"},{name:"丰台区"},{name:"海淀区"}]}]},{name:"上海市",children:[{name:"上海市",children:[{name:"黄浦区"},{name:"徐汇区"},{name:"长宁区"},{name:"静安区"},{name:"普陀区"}]}]},{name:"广东省",children:[{name:"广州市",children:[{name:"荔湾区"},{name:"越秀区"},{name:"海珠区"},{name:"天河区"},{name:"白云区"}]},{name:"深圳市",children:[{name:"罗湖区"},{name:"福田区"},{name:"南山区"},{name:"宝安区"}]}]}],console.log("使用后备数据,条数:",fe.value.length)}},ua=async()=>{try{const t=await ns({type:"server_order"});Qe.value=((t==null?void 0:t.server_order)||[]).filter(e=>e.status!==0)}catch{Qe.value=[]}},da=t=>{console.log("选择的省市区:",t)},Xe=U(()=>{const t=new Set(_.pay_order_ids.map(o=>Number(o)));let e=0;for(const o of oe.value)t.has(Number(o.id))&&(e+=Number(o.amount)||0);return Math.round(e*100)/100}),pa=U(()=>{const t=D.value;return t>0?Math.round(t*100)/100:0}),ma=U(()=>{const t={patient_id:[{required:!0,message:"请选择诊单患者",trigger:"change"}],recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],region:[{required:!0,message:"请选择省/市/区",trigger:"change",type:"array"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(e,o,u)=>{const m=D.value,d=Number(o);if(m>0&&(!Number.isFinite(d)||d<m)){u(new Error(`订单金额须大于等于定金门槛 ¥${re(m)}`));return}u()},trigger:"blur"}]};if(D.value>0){const e=`已开启关联支付门槛(¥${re(D.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function Vt(){var t;T.value=0,_.patient_id="",_.recipient_name="",_.recipient_phone="",_.shipping_address="",_.is_follow_up=0,_.medication_days=void 0,_.prev_staff="",_.service_channel="",_.service_package=[],_.express_company="auto",_.tracking_number="",_.fee_type=3,_.amount=0,_.internal_cost=void 0,_.remark_extra="",_.remark_assistant="",_.pay_order_ids=[],X.value=[],oe.value=[],D.value=0,Y.value=null,(t=ce.value)==null||t.clearValidate()}function _a(){const t=D.value;if(t<=0)return;const e=Math.round(t*100)/100;Number(_.amount)<e&&(_.amount=e)}async function ht(){var e,o;const t=Number(_.patient_id);if(!t){oe.value=[],D.value=0;return}try{Je.value=!0;const u=await us({diagnosis_id:t}),m=(u==null?void 0:u.lists)??((e=u==null?void 0:u.data)==null?void 0:e.lists)??[];oe.value=Array.isArray(m)?m:[];const d=Number((u==null?void 0:u.deposit_min_amount)??((o=u==null?void 0:u.data)==null?void 0:o.deposit_min_amount))||0;D.value=d,_a()}catch{oe.value=[],D.value=0}finally{Je.value=!1}}Ie(()=>_.patient_id,()=>{_.pay_order_ids=[],ht()});async function ca(t){var m;if(Number(t==null?void 0:t.void_status)===1){w.msgWarning("已作废处方不可创建业务订单");return}Vt(),Y.value=t;const e=Number(t.diagnosis_id)||0;e>0&&(_.patient_id=e,_.recipient_name=t.patient_name||"",_.recipient_phone=String(t.phone||"").trim(),X.value=[{id:e,patient_name:t.patient_name||"",phone:String(t.phone||"").trim()}]);const o=Number(t.usage_days);o>0&&(_.medication_days=o),_e.value=!0,ht();const u=t.id;if(u&&!_.recipient_phone)try{const d=await ft({id:u}),i=d&&typeof d.phone=="string"?d.phone.trim():"";if(i&&((m=Y.value)==null?void 0:m.id)===u){_.recipient_phone=i;const V=X.value[0];V&&Number(V.id)===e&&(V.phone=i)}}catch{}}async function fa(t){if(!t){X.value=[];return}try{Ke.value=!0;const e=await searchPatientsAPI({keyword:t,page_no:1,page_size:10});X.value=(e==null?void 0:e.lists)||[]}catch{X.value=[]}finally{Ke.value=!1}}function ga(t){const e=X.value.find(o=>Number(o.id)===Number(t));e&&(_.recipient_name=e.patient_name||"",_.recipient_phone=e.phone||"")}function va(){T.value>0&&(T.value-=1)}async function ba(){const t=ce.value;if(t)try{T.value===0?await t.validateField([...oa]):T.value===1&&D.value>0&&await t.validateField(["pay_order_ids"]),T.value<2&&(T.value+=1)}catch{}}async function ya(){if(!(!ce.value||!Y.value)&&T.value===2)try{await ce.value.validate(),Ge.value=!0;const t=Number(_.patient_id),e={prescription_id:Y.value.id,diagnosis_id:t,recipient_name:_.recipient_name,recipient_phone:_.recipient_phone,shipping_address:_.shipping_address,is_follow_up:_.is_follow_up,prev_staff:_.prev_staff||"",service_channel:_.service_channel||"",service_package:Array.isArray(_.service_package)&&_.service_package.length>0?_.service_package.join(","):"",express_company:_.express_company||"auto",tracking_number:_.tracking_number||"",fee_type:_.fee_type,amount:_.amount,remark_extra:_.remark_extra||"",remark_assistant:_.remark_assistant||""};_.region&&_.region.length>=3&&(e.shipping_province=_.region[0],e.shipping_city=_.region[1],e.shipping_district=_.region[2]),_.medication_days!=null&&_.medication_days>0&&(e.medication_days=_.medication_days),_.internal_cost!=null&&_.internal_cost>0&&(e.internal_cost=_.internal_cost),_.pay_order_ids.length&&(e.pay_order_ids=[..._.pay_order_ids]);const o=await ds(e),u=(o==null?void 0:o.data)??o,m=u==null?void 0:u.order_no;w.msgSuccess(m?`业务订单已创建,单号:${m}`:"业务订单已创建"),_e.value=!1,ee()}catch(t){console.error(t)}finally{Ge.value=!1}}const $e=k(!1),Pe=k(!1),wt=U(()=>{const t=$e.value,e=Pe.value;return!t&&!e?"":t&&e?"当前处方已作废且已驳回。保存后将取消作废、清除驳回,并重新进入待审核。":t?"当前为已作废处方。保存后将取消作废,并重新进入待审核。":"当前为已驳回处方。保存后将清除驳回,并重新进入待审核。"}),ge=U(()=>{var e;const t=(e=g.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),Nt=U(()=>ge.value.filter(t=>q(t.formula_type)==="主方")),Ze=U(()=>ge.value.filter(t=>q(t.formula_type)==="辅方")),xa=U(()=>n.herbs.map((t,e)=>({herb:t,index:e})).filter(({herb:t})=>q(t.formula_type)==="主方")),St=U(()=>n.herbs.map((t,e)=>({herb:t,index:e})).filter(({herb:t})=>q(t.formula_type)==="辅方")),M=U(()=>n.herbs.some(t=>t.locked===!0)),Ct=k(null),et=k(!1),De=t=>String(t).padStart(2,"0"),ka=U(()=>{const t=g.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const o=String(e).length===10?Number(e)*1e3:Number(e),u=new Date(o);if(!isNaN(u.getTime()))return`${u.getFullYear()}-${De(u.getMonth()+1)}-${De(u.getDate())} ${De(u.getHours())}:${De(u.getMinutes())}`}return t.prescription_date||"—"}),Va=U(()=>{const t=g.value;return t?t.order_no||t.serial_no||t.serial_number||t.no||t.prescription_no||t.visit_no||(t.id?`G${t.id}`:"—"):"—"}),ha=U(()=>{const t=g.value;if(!t)return"—";if(t.recipient_text)return t.recipient_text;const e=[];(t.recipient_name||t.patient_name)&&e.push(t.recipient_name||t.patient_name),(t.recipient_phone||t.phone)&&e.push(t.recipient_phone||t.phone);let o=t.region;return Array.isArray(o)&&(o=o.filter(Boolean).join("")),o&&e.push(String(o)),t.shipping_address?e.push(String(t.shipping_address)):t.address&&e.push(String(t.address)),e.length?e.join(","):"—"}),Ut=U(()=>{var e;const t=Number((e=g.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),wa=U(()=>{const e=ge.value.reduce((o,u)=>o+(Number(u==null?void 0:u.dosage)||0),0);return ve(e)}),$t=t=>{const e=Number(t)||0;return ve(e*Ut.value)},Na=U(()=>{const t=g.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),Sa=U(()=>{const t=g.value;return t?t.usage_text?t.usage_text:vt(t):"—"}),Pt=U(()=>{const t=g.value;if(!t||!Ze.value.length)return"";const e=gt(t.aux_usage,t.prescription_type||"浓缩水丸");return vt({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)}),Dt=U(()=>{const t=g.value;return t&&t.medical_advice||""}),Rt=U(()=>{const t=g.value;if(!t)return"";const e=[];return e.push(`共${ge.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),Tt=U(()=>{const t=g.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),Ot=U(()=>{const t=g.value;if(!t)return"";const e=Ca(t);return e?`${e}克`:""});function Ca(t){if(!t)return"";if((t.prescription_type||"浓缩水丸")==="浓缩水丸"){const m=Number(t.medication_days??t.usage_days??t.dose_count),d=Number(t.times_per_day),i=Number(t.dosage_amount),V=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;if(Number.isFinite(m)&&Number.isFinite(d)&&Number.isFinite(i)&&m>0&&d>0&&i>0)return ve(m*d*i*V)}const e=t.out_pellet||t.total_weight;if(e&&Number(e)>0)return ve(Number(e));const o=ge.value;if(!o.length)return"";const u=o.reduce((m,d)=>m+(Number(d==null?void 0:d.dosage)||0),0);return ve(u*Ut.value)}function ve(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function Ua(){g.value&&ae(()=>{try{window.print()}catch(t){console.error(t)}})}async function $a(){var e,o,u;const t=Ct.value;if(!t){w.msgWarning("处方笺尚未渲染完成");return}et.value=!0;try{await ae(),await new Promise(F=>requestAnimationFrame(()=>F(null))),await new Promise(F=>setTimeout(F,250));const m=await Cs(t,{scale:2,backgroundColor:"#ffffff",useCORS:!0,allowTaint:!1,logging:!1,windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight}),d=m.toDataURL("image/jpeg",.95),i=new Ul({unit:"mm",format:"a4",orientation:"portrait"}),V=210,L=297,y=V,J=m.height*y/m.width;if(J<=L)i.addImage(d,"JPEG",0,0,y,J);else{let F=J,ze=0;for(;F>0;)i.addImage(d,"JPEG",0,ze,y,J),F-=L,ze-=L,F>0&&i.addPage()}const dt=((e=g.value)==null?void 0:e.patient_name)||"处方",C=((o=g.value)==null?void 0:o.id)||"",O=((u=g.value)==null?void 0:u.prescription_date)||"";i.save(`处方-${dt}${O?"-"+O:""}${C?"-"+C:""}.pdf`)}catch(m){console.error("下载处方 PDF 失败:",m),w.msgError((m==null?void 0:m.message)||"下载失败,请重试")}finally{et.value=!1}}const n=Se({id:0,prescription_type:"浓缩水丸",dosage_amount:1,dosage_unit:"g",dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,patient_name:"",gender:1,age:0,visit_no:"",prescription_date:"",tongue:"",tongue_image:"",pulse:"",pulse_condition:"",clinical_diagnosis:"",herbs:[],dose_count:7,dose_unit:"剂",usage_days:7,usage_instruction:"",usage_time:"饭后",usage_way:"温水送服",dietary_taboo:[],usage_notes:"",doctor_name:"",doctor_signature:"",is_shared:0,visible_role_ids:[],audit_status:1,audit_time:null,audit_by_name:"",audit_remark:"",diagnosis_id:0,creator_id:0,is_system_auto:0,business_prescription_audit_rejected:0,business_prescription_audit_remark:"",times_per_day:2,aux_usage:Ce("浓缩水丸")}),$=Se({loading:!1,orderNo:"",medicationDays:null,remarkAssistant:""});function Pa(){$.loading=!1,$.orderNo="",$.medicationDays=null,$.remarkAssistant=""}async function Da(t){if($.orderNo="",$.medicationDays=null,$.remarkAssistant="",!t){$.loading=!1;return}$.loading=!0;try{const e=await vs({page_no:1,page_size:5,prescription_id:t}),o=e==null?void 0:e.lists,u=Array.isArray(o)&&o.length?o[0]:null;if(u){$.orderNo=String(u.order_no||"").trim();const m=u.medication_days,d=m!=null&&String(m).trim()!==""?Number(m):NaN;$.medicationDays=Number.isFinite(d)&&d>0?d:null,$.remarkAssistant=String(u.remark_assistant||"").trim()}}catch{}finally{$.loading=!1}}const At=k(null);function Ra(){var e;const t=Number(n.diagnosis_id);if(!t){w.msgWarning("本处方未关联诊单,无法查看诊单患者信息");return}(e=At.value)==null||e.openViewOnly(t)}const Re=k(!1);Ie(()=>n.prescription_type,t=>{Re.value||(t==="浓缩水丸"?(n.dosage_unit="g",n.dosage_amount=1,n.dosage_bag_count=1,n.need_decoction=!1,n.bags_per_dose=1):t==="饮片"?(n.dosage_unit="ml",n.dosage_amount=50,n.dosage_bag_count=1,n.bags_per_dose=1):(n.dosage_unit="g",n.dosage_amount=void 0,n.dosage_bag_count=1,n.need_decoction=!1,n.bags_per_dose=1),Object.assign(n.aux_usage,Ce(t)))});const Ta={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],prescription_date:[{required:!0,message:"请选择处方日期",trigger:"change"}],clinical_diagnosis:[{required:!0,message:"请输入临床诊断",trigger:"blur"}],dose_count:[{required:!0,message:"请输入剂数",trigger:"blur"}],doctor_name:[{required:!0,message:"请输入医师姓名",trigger:"blur"}],doctor_signature:[{required:!0,validator:(t,e,o)=>{!e||!String(e).trim()?o(new Error("请使用电子签名板手写医师签名")):o()},trigger:"change"}]};async function Oa(t){const{audit_filter:e,source_filter:o,creator_ids:u,...m}=t,d={...m,audit_filter:e==="all"||e===""?"":e,source_filter:o==="all"||o===""||o===void 0?"":o};return Array.isArray(u)&&u.length>0&&(d.creator_ids=u),ps(d)}const{pager:be,getLists:ee,resetPage:te}=xs({fetchFun:Oa,params:N});function Et(t){return String(t).padStart(2,"0")}function Lt(t){const e=t.getFullYear(),o=Et(t.getMonth()+1),u=Et(t.getDate()),m=`${e}-${o}-${u}`;return{start:`${m} 00:00:00`,end:`${m} 23:59:59`}}function Aa(t){const e=String(t??"all");if(e==="all")N.start_time="",N.end_time="";else{const o=new Date,u=new Date(o.getFullYear(),o.getMonth(),o.getDate());e==="yesterday"?u.setDate(u.getDate()-1):e==="before_yesterday"&&u.setDate(u.getDate()-2);const{start:m,end:d}=Lt(u);N.start_time=m,N.end_time=d}te()}function Ea(){te()}function La(){te()}let tt=!1;Ie(()=>[N.start_time,N.end_time],()=>{if(tt)return;const t=N.start_time,e=N.end_time;if(!t&&!e){G.value="all";return}if(!t||!e){G.value="";return}const o=new Date,u=m=>{const d=new Date(o.getFullYear(),o.getMonth(),o.getDate()-m),{start:i,end:V}=Lt(d);return t===i&&e===V};u(0)?G.value="today":u(1)?G.value="yesterday":u(2)?G.value="before_yesterday":G.value=""});function za(t){if(t==null||t==="")return"—";if(typeof t=="number"&&t>=1e9&&t<1e11)return Te(t);const e=String(t).trim();return/^\d{10}$/.test(e)?Te(parseInt(e,10)):e}function Fa(){tt=!0,G.value="all",N.sn="",N.patient_name="",N.creator_ids=[],N.audit_filter="all",N.source_filter="all",N.start_time="",N.end_time="",tt=!1,te()}function Ia(t){return t===0?"待审核":t===2?"已驳回":"已通过"}function ja(t){return t===0?"warning":t===2?"danger":"success"}function Ma(t){return Number(t.business_prescription_audit_rejected)===1?"已驳回":Ia(t.audit_status)}function Ha(t){return Number(t.business_prescription_audit_rejected)===1?"danger":ja(t.audit_status)}function zt(t){const e=[];if(Number(t.business_prescription_audit_rejected)===1){const o=String(t.business_prescription_audit_remark||"").trim();e.push(o?`业务订单审核驳回意见:${o}`:"业务订单审核驳回意见:—")}if(Number(t.audit_status)===2){const o=String(t.audit_remark||"").trim();e.push(o?`消费者处方审核驳回意见:${o}`:"消费者处方审核驳回意见:—")}return e}function Ft(t){return Number(t.audit_status)===1&&Number(t.void_status)!==1}function Te(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")}`}function Wa(t){return t?Te(t):"—"}function qa(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function Ya(t){return t==null||t===""?"—":`${t}岁`}function Ba(t){var m;const e=n.herbs[t];if(!e)return`第${t+1}味`;const o=q(e.formula_type);let u=0;for(let d=0;d<=t;d++)q((m=n.herbs[d])==null?void 0:m.formula_type)===o&&u++;return`${o}第${u}味`}function Ga(t){if(Number(t==null?void 0:t.has_prescription_order)!==1)return[];const o=Me(t==null?void 0:t.herbs).map(i=>String((i==null?void 0:i.name)||"").trim()).filter(Boolean),u=[];if(!o.length)return u.push("请开方,当前处方药材为空白"),u;const m=new Set,d=new Set;for(const i of o){const V=i.replace(/\s+/g,"").toLowerCase();V&&(m.has(V)?d.add(i):m.add(V))}return d.size>0&&u.push(`已有关联业务订单,当前处方存在重复药材:${Array.from(d).join("、")}`),u}function Ka(t){return{...t,herbs:Me(t==null?void 0:t.herbs)}}function Ja(){g.value=null,de.value=null}function It(t){const e=K.value;if(!e)return{x:0,y:0};const o=e.getBoundingClientRect();if(o.width<=0||o.height<=0)return{x:0,y:0};const u=(t.clientX-o.left)/o.width*le,m=(t.clientY-o.top)/o.height*se;return{x:Math.max(0,Math.min(le,u)),y:Math.max(0,Math.min(se,m))}}function at(){const t=K.value;t&&(n.doctor_signature=t.toDataURL("image/png")),ae(()=>{var e;(e=Z.value)==null||e.validateField("doctor_signature").catch(()=>{})})}function Qa(t){if(t.pointerType==="mouse"&&t.button!==0)return;const e=K.value,o=e==null?void 0:e.getContext("2d");if(!e||!o)return;e.setPointerCapture(t.pointerId),de.value=t.pointerId;const{x:u,y:m}=It(t);o.beginPath(),o.moveTo(u,m)}function Xa(t){var m;if(de.value!==t.pointerId)return;const e=(m=K.value)==null?void 0:m.getContext("2d");if(!e)return;const{x:o,y:u}=It(t);e.lineTo(o,u),e.stroke(),e.beginPath(),e.moveTo(o,u)}function jt(t){if(de.value!==t.pointerId)return;de.value=null;const e=K.value;if(e)try{e.releasePointerCapture(t.pointerId)}catch{}at()}function Za(){Mt(),n.doctor_signature="",ae(()=>{var t;(t=Z.value)==null||t.validateField("doctor_signature").catch(()=>{})})}function Mt(){const t=K.value;if(!t)return;const e=Math.min(typeof window<"u"&&window.devicePixelRatio||1,2.5);t.style.width=`${le}px`,t.style.height=`${se}px`,t.width=Math.round(le*e),t.height=Math.round(se*e);const o=t.getContext("2d");o&&(o.setTransform(1,0,0,1,0,0),o.scale(e,e),o.fillStyle="#fff",o.fillRect(0,0,le,se),o.strokeStyle="#333",o.lineWidth=2.5,o.lineCap="round",o.lineJoin="round")}function Ht(){R.value!=="view"&&ae(()=>{setTimeout(()=>{Mt();const t=n.doctor_signature;if(t&&String(t).trim().startsWith("data:image")&&K.value){const e=new Image;e.onload=()=>{const o=K.value,u=o==null?void 0:o.getContext("2d");!o||!u||(u.drawImage(e,0,0,le,se),at())},e.onerror=()=>{at()},e.src=t}},100)})}function el(t){const e=t==null?void 0:t.visible_role_ids;return Array.isArray(e)?e.map(o=>Number(o)).filter(o=>!Number.isNaN(o)):typeof e=="string"&&e?e.split(",").map(o=>parseInt(o.trim(),10)).filter(o=>!Number.isNaN(o)):[]}function tl(t){xt.value=t.id,ne.value="",pe.value=!0}async function Wt(t){if(t==="reject"&&!ne.value.trim()){w.msgError("驳回时请填写审核意见");return}Ue.value=!0;try{const e=await ms({id:xt.value,action:t,remark:ne.value.trim()});w.msgSuccess(t==="reject"?"已驳回并作废处方":"审核通过"),e&&e.wecom_notify_ok===!1&&e.wecom_notify_hint&&w.msgWarning(e.wecom_notify_hint),pe.value=!1,ee()}catch{}finally{Ue.value=!1}}async function al(){try{const t=await ys({});yt.value=Array.isArray(t)?t:[]}catch{yt.value=[]}}const ye=k(!1),lt=k(!1),st=k([]),Oe=k(""),Ae=k(""),xe=k("replace"),ke=k(1),nt=k(15),ot=k(0),qt=U(()=>{var o;const t=Number(n.creator_id);if(t>0)return t;const e=Number((o=ue.userInfo)==null?void 0:o.id);return e>0?e:0});function ll(t){return String(t||"").trim().toLowerCase()}function Yt(){const t=new Map;for(const e of n.herbs){const o=ll(e==null?void 0:e.name);o&&t.set(o,(t.get(o)??0)+1)}return[...t.entries()].filter(([,e])=>e>1).map(([e])=>e)}const Ee=async()=>{const t=qt.value;if(!t){w.msgWarning("无法确定开方医师,无法加载处方库"),st.value=[],ot.value=0;return}lt.value=!0;try{const e=await _s({page_no:ke.value,page_size:nt.value,prescription_name:Oe.value,formula_type:Ae.value,prescribing_creator_id:t});st.value=(e==null?void 0:e.lists)||[],ot.value=(e==null?void 0:e.count)||0}catch(e){console.error(e),w.msgError("加载处方库失败")}finally{lt.value=!1}},Le=()=>{ke.value=1,Ee()},sl=()=>{if(!qt.value){w.msgWarning("无法确定开方医师,无法从处方库导入");return}ye.value=!0},nl=t=>{Bt(t)},Bt=t=>{if(!t.herbs||t.herbs.length===0){w.msgWarning("该处方没有药材信息");return}const e=q(t.formula_type),o=Number(t==null?void 0:t.disable_edit)===1,u=JSON.parse(JSON.stringify(t.herbs)).map(d=>{const i=je(d);return i.formula_type=e,o?i.locked=!0:delete i.locked,i});if(xe.value==="replace"){const d=n.herbs.filter(i=>q(i.formula_type)!==e);n.herbs=[...d,...u]}else n.herbs.push(...u);e==="辅方"&&(n.aux_usage.prescription_name=String(t.prescription_name??"").trim());const m=xe.value==="append"?"(已追加)":"";Yt().length?w.msgWarning(`已导入处方「${t.prescription_name}」${m},共${u.length}味药材。存在重复药名,请合并剂量或删除多余行`):w.msgSuccess(`已导入处方「${t.prescription_name}」${m},共${u.length}味药材`),ye.value=!1};Ie(ye,t=>{t&&(Oe.value="",Ae.value="",xe.value="replace",ke.value=1,Ee())});const Ve=k(!1),he=k(""),rt=k("replace"),it=k(!1),ol=/^(用法|用量|医嘱|忌口|水煎服|空腹|饭后|温水|内服|外用|备注|顿服|分服|ml|毫升|[×xX]\s*\d)/;function rl(t){let e=t.replace(/\r\n/g,`
|
||
`).replace(/\r/g,`
|
||
`);return e=e.replace(/[0-9]/g,o=>String.fromCharCode(o.charCodeAt(0)-65296+48)),e.trim()}function il(t){return t.replace(/^\s*Rp[::**\s]*/i,"").replace(/^\s*处方[::\s]*/,"").replace(/^\s*中药处方[::\s]*/,"").trimStart()}function ut(t){return t.replace(/([^)]*)$/u,"").replace(/\([^)]*\)$/u,"").trim()}function Gt(t){const e=t.trim();if(!e||ol.test(e)||/^\d/.test(e)||/^\d+\s*剂$/.test(e))return null;const o=e.match(/^(.+)\s*各\s*(\d+(?:\.\d+)?)\s*(?:克|g|G)?$/i);if(o){const d=parseFloat(o[2]);if(!Number.isFinite(d)||d<=0)return null;const i=o[1].split(/[、,,\s]+/).map(V=>V.trim()).filter(Boolean);return i.length?i.map(V=>({name:ut(V),dosage:d})):null}const u=e.match(/^(.+?)\s*(\d+(?:\.\d+)?)\s*(?:克|g|G|钱)?$/i);if(u){const d=ut(u[1].trim()),i=parseFloat(u[2]);return!d||!Number.isFinite(i)||i<=0?null:[{name:d,dosage:i}]}const m=ut(e);return m.length>=2&&m.length<=16?[{name:m,dosage:6}]:null}function ul(t){const e=il(rl(t)),o=[];for(const u of e.split(/\n+/)){const m=u.trim();if(m)for(const d of m.split(/[、,,;;]/)){const i=d.trim();if(i)if(/\s/.test(i)&&!Gt(i)){const V=i.split(/\s+(?=[\u4e00-\u9fff]{2,})/);for(const L of V){const y=L.trim();y&&o.push(y)}}else o.push(i)}}return o}function dl(t){const e=[];for(const o of ul(t)){const u=Gt(o);u&&e.push(...u)}return e}async function pl(t){const e=t.trim();if(!e)return null;try{const m=((await bs({name:e,page_no:1,page_size:200,status:1})).lists||[]).find(d=>(d.name??"").trim()===e);return m?m.name.trim():null}catch{return null}}function ml(){Ve.value=!0}async function _l(){const t=dl(he.value);if(!t.length){w.msgWarning("未能从文本中解析出药材,请检查格式(药名 + 剂量,或用顿号/换行分隔)");return}it.value=!0;try{const e=[],o=[];for(const i of t){const V=await pl(i.name);if(!V){o.push(i.name.trim());continue}e.push({name:V,dosage:i.dosage,formula_type:"主方"})}const u=[...new Set(o.filter(Boolean))];if(e.length===0){w.msgWarning(u.length?`药品库中无以下完全同名药材,未录入:${u.join("、")}`:"未能匹配到药品库中的药材");return}if(rt.value==="replace"){const i=n.herbs.filter(V=>q(V.formula_type)==="辅方");n.herbs=[...i,...e]}else n.herbs.push(...e);const m=Yt(),d=u.length>0?`;药品库未收录已跳过:${u.join("、")}`:"";m.length?w.msgWarning(`已导入 ${e.length} 味药材${d}。存在重复药名:${m.join("、")},请合并剂量或删除多余行`):u.length?w.msgSuccess(`已导入 ${e.length} 味药材${d},请核对剂量`):w.msgSuccess(`已导入 ${e.length} 味药材,请核对药名与剂量`),Ve.value=!1,he.value=""}finally{it.value=!1}}const Kt=(t="主方")=>{if(M.value){w.msgWarning("该处方含「禁用修改」模板,药材已锁定,请重新从处方库导入覆盖");return}n.herbs.push({name:"",dosage:0,formula_type:t})},Jt=t=>{if(M.value){w.msgWarning("该处方含「禁用修改」模板,药材已锁定,不可删除");return}n.herbs.splice(t,1)},cl=()=>{var t;n.id=0,n.prescription_type="浓缩水丸",n.dosage_amount=1,n.dosage_unit="g",n.dosage_bag_count=1,n.need_decoction=!1,n.bags_per_dose=1,n.patient_name="",n.gender=1,n.age=0,n.visit_no="",n.prescription_date=new Date().toISOString().split("T")[0],n.tongue="",n.tongue_image="",n.pulse="",n.pulse_condition="",n.clinical_diagnosis="",n.herbs=[],n.dose_count=7,n.dose_unit="剂",n.usage_days=7,n.usage_instruction="",n.usage_time="饭后",n.usage_way="温水送服",n.dietary_taboo=[],n.usage_notes="",n.doctor_name="",n.doctor_signature="",n.is_shared=0,n.visible_role_ids=[],n.audit_status=1,n.audit_time=null,n.audit_by_name="",n.audit_remark="",n.diagnosis_id=0,n.creator_id=Number((t=ue.userInfo)==null?void 0:t.id)||0,n.is_system_auto=0,n.business_prescription_audit_rejected=0,n.business_prescription_audit_remark="",n.times_per_day=2,Object.assign(n.aux_usage,Ce("浓缩水丸")),Pa()},fl=()=>{var t;cl(),n.doctor_name=String(((t=ue.userInfo)==null?void 0:t.name)||""),$e.value=!1,Pe.value=!1,R.value="add",Re.value=!1,Q.value=!0,ae(()=>{var e;(e=Z.value)==null||e.clearValidate(),Ht()})},gl=async t=>{$e.value=!1,Pe.value=!1,R.value="view",g.value=Ka(t),Q.value=!0,qe.value=!0;try{const e=await ft({id:t.id});e&&typeof e=="object"&&(g.value={...e,herbs:Me(e.herbs)})}catch(e){w.msgError((e==null?void 0:e.msg)||"加载处方详情失败")}finally{qe.value=!1}},vl=async t=>{$e.value=Number(t.void_status)===1,Pe.value=Number(t.audit_status)===2,R.value="edit",Re.value=!0;let e=t;if(t!=null&&t.id&&!t.doctor_signature)try{const o=await ft({id:t.id});o&&typeof o=="object"&&(e={...t,...o})}catch{}n.id=e.id,n.prescription_type=e.prescription_type||"浓缩水丸",e.dosage_amount!==null&&e.dosage_amount!==void 0&&e.dosage_amount!==""?n.dosage_amount=Number(e.dosage_amount):n.dosage_amount=void 0,e.dosage_unit?n.dosage_unit=e.dosage_unit:n.prescription_type==="饮片"?n.dosage_unit="ml":n.dosage_unit="g",n.dosage_bag_count=e.dosage_bag_count?Number(e.dosage_bag_count):1,n.need_decoction=e.need_decoction===1||e.need_decoction===!0,n.bags_per_dose=e.bags_per_dose?Number(e.bags_per_dose):1,n.patient_name=e.patient_name||"",n.gender=e.gender??1,n.age=e.age??0,n.visit_no=e.visit_no||"",n.prescription_date=e.prescription_date||"",n.tongue=e.tongue||"",n.tongue_image=e.tongue_image||"",n.pulse=e.pulse||"",n.pulse_condition=e.pulse_condition||"",n.clinical_diagnosis=e.clinical_diagnosis||"",n.herbs=e.herbs?e.herbs.map(o=>je(o)):[],n.dose_count=e.dose_count??7,n.dose_unit=e.dose_unit||"剂",n.usage_days=e.usage_days??7,n.times_per_day=e.times_per_day??2,n.usage_instruction=e.usage_instruction||"",n.usage_time=e.usage_time||"饭后",n.usage_way=e.usage_way||"温水送服",n.dietary_taboo=e.dietary_taboo?Array.isArray(e.dietary_taboo)?e.dietary_taboo:String(e.dietary_taboo).split(",").filter(o=>o):[],n.usage_notes=e.usage_notes||"",n.doctor_name=e.doctor_name||"",n.doctor_signature=String(e.doctor_signature||""),n.is_shared=e.is_shared??0,n.visible_role_ids=el(e),n.audit_status=e.audit_status??1,n.audit_time=e.audit_time??null,n.audit_by_name=e.audit_by_name||"",n.audit_remark=e.audit_remark||"",n.diagnosis_id=e.diagnosis_id??0,n.creator_id=Number(e.creator_id)>0?Number(e.creator_id):0,n.is_system_auto=Number(e.is_system_auto)===1?1:0,n.business_prescription_audit_rejected=Number(e.business_prescription_audit_rejected)===1?1:0,n.business_prescription_audit_remark=String(e.business_prescription_audit_remark||""),Object.assign(n.aux_usage,gt(e.aux_usage,n.prescription_type)),setTimeout(()=>{Re.value=!1},0),Q.value=!0,Da(Number(n.id)),ae(()=>{var o;(o=Z.value)==null||o.clearValidate(),Ht()})},bl=async()=>{if(Z.value){try{await Z.value.validate()}catch{return}if(!n.herbs||n.herbs.length===0){w.msgError("请至少添加一味药材");return}for(let t=0;t<n.herbs.length;t++){const e=n.herbs[t],o=Ba(t);if(!e.name||!e.name.trim()){w.msgError(`${o}药材名称不能为空`);return}if(!e.dosage||e.dosage<=0){w.msgError(`${o}药材剂量必须大于0`);return}}We.value=!0;try{const t={...n};R.value==="add"?(t.audit_status=0,await cs(t),w.msgSuccess("添加成功,已提交审核")):(await fs(t),w.msgSuccess("保存成功,处方已重新进入待审核")),Q.value=!1,ee()}catch(t){console.error(t)}finally{We.value=!1}}},yl=async t=>{await w.confirm("确定要删除该处方吗?"),await gs({id:t}),w.msgSuccess("删除成功"),ee()};return Us(async()=>{var t;await al(),await ia(),await ua();try{const e=await rs();He.value=Array.isArray(e)?e:[]}catch{He.value=[]}try{(t=ue.userInfo)!=null&&t.id||await ue.getUserInfo()}catch{}ee()}),(t,e)=>{const o=Pl,u=$l,m=Tl,d=Rl,i=Al,V=Ol,L=Dl,y=El,J=Ll,dt=ss,C=Il,O=jl,F=Fl,ze=as,ie=Ml,h=Wl,H=Hl,I=ql,z=Yl,xl=Bl,kl=Gl,we=Kl,pt=Ql,Vl=Jl,hl=Xl,wl=Zl,Nl=es,Sl=ts,W=$s("perms"),Fe=zl;return p(),v("div",Ts,[a(J,{class:"filter-toolbar",shadow:"never","body-style":{padding:"10px 14px"}},{default:s(()=>[r("div",Os,[r("div",As,[e[101]||(e[101]=r("span",{class:"pl-toolbar__k",title:"按处方创建时间"},"创建时间",-1)),a(u,{modelValue:G.value,"onUpdate:modelValue":e[0]||(e[0]=l=>G.value=l),size:"small",class:"pl-toolbar__rg",onChange:Aa},{default:s(()=>[a(o,{label:"all"},{default:s(()=>[...e[89]||(e[89]=[c("全部",-1)])]),_:1}),a(o,{label:"today"},{default:s(()=>[...e[90]||(e[90]=[c("今日",-1)])]),_:1}),a(o,{label:"yesterday"},{default:s(()=>[...e[91]||(e[91]=[c("昨日",-1)])]),_:1}),a(o,{label:"before_yesterday"},{default:s(()=>[...e[92]||(e[92]=[c("前天",-1)])]),_:1})]),_:1},8,["modelValue"]),a(ks,{class:"pl-toolbar__range",startTime:N.start_time,"onUpdate:startTime":e[1]||(e[1]=l=>N.start_time=l),endTime:N.end_time,"onUpdate:endTime":e[2]||(e[2]=l=>N.end_time=l)},null,8,["startTime","endTime"]),e[102]||(e[102]=r("span",{class:"pl-toolbar__sep","aria-hidden":"true"},null,-1)),e[103]||(e[103]=r("span",{class:"pl-toolbar__k",title:"「未通过」含待审核与已驳回"},"审核",-1)),a(u,{modelValue:N.audit_filter,"onUpdate:modelValue":e[3]||(e[3]=l=>N.audit_filter=l),size:"small",class:"pl-toolbar__rg pl-toolbar__rg--audit",onChange:Ea},{default:s(()=>[a(o,{label:"pending",class:"pl-audit-pending-btn"},{default:s(()=>[...e[93]||(e[93]=[c("待审核",-1)])]),_:1}),a(o,{label:"all"},{default:s(()=>[...e[94]||(e[94]=[c("全部",-1)])]),_:1}),a(o,{label:"passed"},{default:s(()=>[...e[95]||(e[95]=[c("已通过",-1)])]),_:1}),a(o,{label:"not_passed"},{default:s(()=>[...e[96]||(e[96]=[c("未通过",-1)])]),_:1}),a(o,{label:"rejected"},{default:s(()=>[...e[97]||(e[97]=[c("驳回",-1)])]),_:1})]),_:1},8,["modelValue"]),e[104]||(e[104]=r("span",{class:"pl-toolbar__sep","aria-hidden":"true"},null,-1)),e[105]||(e[105]=r("span",{class:"pl-toolbar__k",title:"与列表「来源」列一致:系统代开 / 手工"},"来源",-1)),a(u,{modelValue:N.source_filter,"onUpdate:modelValue":e[4]||(e[4]=l=>N.source_filter=l),size:"small",class:"pl-toolbar__rg pl-toolbar__rg--source",onChange:La},{default:s(()=>[a(o,{label:"all"},{default:s(()=>[...e[98]||(e[98]=[c("全部",-1)])]),_:1}),a(o,{label:"manual"},{default:s(()=>[...e[99]||(e[99]=[c("手工",-1)])]),_:1}),a(o,{label:"system"},{default:s(()=>[...e[100]||(e[100]=[c("系统代开",-1)])]),_:1})]),_:1},8,["modelValue"])]),r("div",Es,[a(L,{model:N,inline:"",class:"pl-toolbar__form"},{default:s(()=>[a(d,{label:"处方编号",class:"!mb-0"},{default:s(()=>[a(m,{modelValue:N.sn,"onUpdate:modelValue":e[5]||(e[5]=l=>N.sn=l),placeholder:"编号",clearable:"",class:"pl-toolbar__input",onKeyup:_t(j(te),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{label:"患者",class:"!mb-0"},{default:s(()=>[a(m,{modelValue:N.patient_name,"onUpdate:modelValue":e[6]||(e[6]=l=>N.patient_name=l),placeholder:"姓名",clearable:"",class:"pl-toolbar__input",onKeyup:_t(j(te),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{label:"医师",class:"!mb-0"},{default:s(()=>[a(V,{modelValue:N.creator_ids,"onUpdate:modelValue":e[7]||(e[7]=l=>N.creator_ids=l),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",filterable:"",clearable:"",placeholder:"全部医师",class:"pl-toolbar__select pl-toolbar__select--doctors"},{default:s(()=>[(p(!0),v(E,null,B(He.value,l=>(p(),x(i,{key:l.id,label:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),r("div",Ls,[a(y,{type:"primary",onClick:j(te)},{default:s(()=>[...e[106]||(e[106]=[c("查询",-1)])]),_:1},8,["onClick"]),a(y,{onClick:Fa},{default:s(()=>[...e[107]||(e[107]=[c("重置",-1)])]),_:1})])])])]),_:1}),A((p(),x(J,{class:"mt-3 table-card",shadow:"never"},{default:s(()=>[r("div",zs,[e[110]||(e[110]=r("span",{class:"pl-table-head__title"},"处方列表",-1)),r("div",Fs,[A((p(),x(y,{onClick:ea},{default:s(()=>[...e[108]||(e[108]=[c(" 业务订单 ",-1)])]),_:1})),[[W,["tcm.prescriptionOrder/lists"]]]),A((p(),x(y,{type:"primary",onClick:fl},{icon:s(()=>[a(dt,{name:"el-icon-Plus"})]),default:s(()=>[e[109]||(e[109]=c(" 新增处方 ",-1))]),_:1})),[[W,["cf.prescription/add"]]])])]),r("div",Is,[a(F,{data:j(be).lists,size:"default",stripe:""},{default:s(()=>[a(C,{label:"处方编号","min-width":"160"},{default:s(({row:l})=>[r("span",js,f(l.sn||"—"),1),r("div",Ms,"ID: "+f(l.id),1),(p(!0),v(E,null,B(Ga(l),(S,mt)=>(p(),v("div",{key:`rx-order-warn-${l.id}-${mt}`,class:"text-xs text-red-600 mt-0.5 leading-snug"},f(S),1))),128))]),_:1}),a(C,{label:"处方类型","min-width":"100"},{default:s(({row:l})=>[a(O,{type:"info",size:"small"},{default:s(()=>[c(f(l.prescription_type||"—"),1)]),_:2},1024)]),_:1}),a(C,{label:"来源","min-width":"92",align:"center"},{default:s(({row:l})=>[Number(l.is_system_auto)===1?(p(),x(O,{key:0,type:"warning",size:"small",effect:"plain"},{default:s(()=>[...e[111]||(e[111]=[c(" 系统代开 ",-1)])]),_:1})):(p(),v("span",Hs,"手工"))]),_:1}),a(C,{label:"患者信息","min-width":"110"},{default:s(({row:l})=>[r("div",Ws,f(l.patient_name||"—"),1),r("div",qs,f(l.gender===1?"男":l.gender===0?"女":"未知")+" · "+f(l.age?l.age+"岁":"—"),1)]),_:1}),a(C,{label:"审核状态","min-width":"200"},{default:s(({row:l})=>[r("div",Ys,[r("div",Bs,[a(O,{type:Ha(l)},{default:s(()=>[c(f(Ma(l)),1)]),_:2},1032,["type"]),Number(l.business_prescription_audit_rejected)===1?(p(),v("span",Gs," (业务订单审核) ")):b("",!0)]),zt(l).length?(p(!0),v(E,{key:0},B(zt(l),(S,mt)=>(p(),v("div",{key:mt,class:"text-xs text-red-600 leading-snug line-clamp-3",title:S},f(S),9,Ks))),128)):b("",!0)])]),_:1}),a(C,{label:"作废","min-width":"80",align:"center"},{default:s(({row:l})=>[l.void_status===1?(p(),x(O,{key:0,type:"danger",size:"small"},{default:s(()=>[...e[112]||(e[112]=[c("作废",-1)])]),_:1})):(p(),v("span",Js,"—"))]),_:1}),a(C,{label:"医师信息","min-width":"120"},{default:s(({row:l})=>[r("div",Qs,f(l.doctor_name||"—"),1),r("div",Xs,f(l.prescription_date||"—"),1)]),_:1}),a(C,{label:"医助","min-width":"90"},{default:s(({row:l})=>[r("div",Zs,f(l.assistant_name||"—"),1)]),_:1}),a(C,{label:"创建时间","min-width":"160"},{default:s(({row:l})=>[c(f(za(l.create_time)),1)]),_:1}),a(C,{label:"操作",width:"300",fixed:"right"},{default:s(({row:l})=>[A((p(),x(y,{type:"primary",link:"",onClick:S=>gl(l)},{default:s(()=>[...e[113]||(e[113]=[c(" 查看 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/read"]]]),Number(l.void_status)!==1?A((p(),x(y,{key:0,type:"primary",link:"",onClick:S=>aa(l)},{default:s(()=>[...e[114]||(e[114]=[c(" 改姓名手机 ",-1)])]),_:1},8,["onClick"])),[[W,["tcm.prescription/patchPatient"]]]):b("",!0),!Number(l.has_prescription_order)&&Number(l.void_status)!==1?A((p(),x(y,{key:1,type:"success",link:"",onClick:S=>ca(l)},{default:s(()=>[...e[115]||(e[115]=[c(" 创建订单 ",-1)])]),_:1},8,["onClick"])),[[W,["tcm.prescriptionOrder/create"]]]):b("",!0),Ft(l)?b("",!0):A((p(),x(y,{key:2,type:"primary",link:"",onClick:S=>vl(l)},{default:s(()=>[...e[116]||(e[116]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/edit"]]]),l.audit_status===0&&l.void_status!==1?A((p(),x(y,{key:3,type:"warning",link:"",onClick:S=>tl(l)},{default:s(()=>[...e[117]||(e[117]=[c(" 审核 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/audit"]]]):b("",!0),Ft(l)?b("",!0):A((p(),x(y,{key:4,type:"danger",link:"",onClick:S=>yl(l.id)},{default:s(()=>[...e[118]||(e[118]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/del"]]])]),_:1})]),_:1},8,["data"])]),r("div",en,[a(ze,{modelValue:j(be),"onUpdate:modelValue":e[8]||(e[8]=l=>Ds(be)?be.value=l:null),onChange:j(ee)},null,8,["modelValue","onChange"])])]),_:1})),[[Fe,j(be).loading]]),a(kl,{modelValue:Q.value,"onUpdate:modelValue":e[48]||(e[48]=l=>Q.value=l),title:R.value==="add"?"新增处方":R.value==="edit"?"编辑处方":"查看处方",size:R.value==="view"?"920px":"860px",class:"cf-prescription-drawer","close-on-click-modal":!1,"destroy-on-close":"",onClosed:Ja},{footer:s(()=>[R.value==="view"?(p(),x(y,{key:0,onClick:e[46]||(e[46]=l=>Q.value=!1)},{default:s(()=>[...e[176]||(e[176]=[c("关闭",-1)])]),_:1})):(p(),v(E,{key:1},[a(y,{onClick:e[47]||(e[47]=l=>Q.value=!1)},{default:s(()=>[...e[177]||(e[177]=[c("取消",-1)])]),_:1}),a(y,{type:"primary",onClick:bl,loading:We.value},{default:s(()=>[...e[178]||(e[178]=[c(" 确定 ",-1)])]),_:1},8,["loading"])],64))]),default:s(()=>[R.value==="view"?A((p(),v("div",tn,[r("div",an,[g.value&&Number(g.value.is_system_auto)===1?(p(),x(O,{key:0,type:"warning",size:"small",effect:"plain"},{default:s(()=>[...e[119]||(e[119]=[c("系统代开",-1)])]),_:1})):b("",!0),g.value&&Number(g.value.void_status)===1?(p(),x(O,{key:1,type:"danger",size:"small"},{default:s(()=>[...e[120]||(e[120]=[c("已作废",-1)])]),_:1})):g.value&&Number(g.value.business_prescription_audit_rejected)===1?(p(),x(O,{key:2,type:"danger",size:"small"},{default:s(()=>[...e[121]||(e[121]=[c("业务订单已驳回",-1)])]),_:1})):g.value&&Number(g.value.audit_status)===1?(p(),x(O,{key:3,type:"success",size:"small"},{default:s(()=>[...e[122]||(e[122]=[c("已通过",-1)])]),_:1})):g.value&&Number(g.value.audit_status)===0?(p(),x(O,{key:4,type:"warning",size:"small"},{default:s(()=>[...e[123]||(e[123]=[c("待审核",-1)])]),_:1})):g.value?(p(),x(O,{key:5,type:"danger",size:"small"},{default:s(()=>[...e[124]||(e[124]=[c("已驳回",-1)])]),_:1})):b("",!0),e[127]||(e[127]=r("div",{class:"flex-1"},null,-1)),a(y,{icon:j(Vs),size:"small",onClick:Ua},{default:s(()=>[...e[125]||(e[125]=[c("打印",-1)])]),_:1},8,["icon"]),a(y,{type:"primary",icon:j(hs),size:"small",loading:et.value,onClick:$a},{default:s(()=>[...e[126]||(e[126]=[c(" 下载 PDF (A4) ",-1)])]),_:1},8,["icon","loading"])]),g.value&&Number(g.value.void_status)===1?(p(),v("div",ln," 作废人:"+f(g.value.void_by_name||"—")+",作废时间:"+f(Wa(g.value.void_time)),1)):g.value&&Number(g.value.business_prescription_audit_rejected)===1?(p(),v("div",sn,[e[128]||(e[128]=r("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),g.value.business_prescription_audit_remark?(p(),v("div",nn," 驳回意见:"+f(g.value.business_prescription_audit_remark),1)):b("",!0)])):g.value&&Number(g.value.audit_status)===2?(p(),v("div",on,[e[129]||(e[129]=r("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),g.value.audit_remark?(p(),v("div",rn,"驳回意见:"+f(g.value.audit_remark),1)):b("",!0)])):b("",!0),g.value?(p(),v("div",{key:3,ref_key:"rxPaperRef",ref:Ct,class:"rx-paper"},[r("div",un,[e[130]||(e[130]=r("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),r("span",dn,[r("span",null,"日期:"+f(ka.value),1),r("span",null,"编号:"+f(Va.value),1)])]),r("div",pn,[r("div",mn,[r("div",_n,[e[131]||(e[131]=r("span",{class:"rx-key"},"姓名",-1)),r("span",cn,f(g.value.patient_name||"—"),1)]),r("div",fn,[e[132]||(e[132]=r("span",{class:"rx-key"},"性别",-1)),r("span",gn,f(qa(g.value.gender)),1)]),r("div",vn,[e[133]||(e[133]=r("span",{class:"rx-key"},"年龄",-1)),r("span",bn,f(Ya(g.value.age)),1)]),r("div",yn,[e[134]||(e[134]=r("span",{class:"rx-key"},"电话",-1)),r("span",xn,f(g.value.phone||"—"),1)])]),r("div",kn,[r("div",Vn,[e[135]||(e[135]=r("span",{class:"rx-key"},"收件信息",-1)),r("span",hn,f(ha.value),1)])]),r("div",wn,[r("div",Nn,[e[136]||(e[136]=r("span",{class:"rx-key"},"临床诊断",-1)),r("span",Sn,f(g.value.clinical_diagnosis||"—"),1)])])]),r("div",Cn,[e[139]||(e[139]=r("div",{class:"rx-watermark"},"药房联",-1)),e[140]||(e[140]=r("div",{class:"rx-rp-head"},[r("div",{class:"rx-rp-label"},"Rp."),r("div",{class:"rx-rp-cols-head"},[r("div",{class:"rx-rp-col-head"},[r("span",null,"用药 (单剂)"),r("span",null,"总量")]),r("div",{class:"rx-rp-col-head"},[r("span",null,"用药 (单剂)"),r("span",null,"总量")])])],-1)),r("div",Un,[Nt.value.length?(p(),v(E,{key:0},[e[137]||(e[137]=r("div",{class:"rx-herb-section-label"},"主方",-1)),(p(!0),v(E,null,B(Nt.value,(l,S)=>(p(),v("div",{key:"main-"+S,class:"rx-herb-cell"},[r("span",$n,f(l.name)+" ("+f(l.dosage)+"克)",1),r("span",Pn,f($t(l.dosage))+"克",1)]))),128))],64)):b("",!0),Ze.value.length?(p(),v(E,{key:1},[e[138]||(e[138]=r("div",{class:"rx-herb-section-label rx-herb-section-label--aux"},"辅方",-1)),(p(!0),v(E,null,B(Ze.value,(l,S)=>(p(),v("div",{key:"aux-"+S,class:"rx-herb-cell"},[r("span",Dn,f(l.name)+" ("+f(l.dosage)+"克)",1),r("span",Rn,f($t(l.dosage))+"克",1)]))),128))],64)):b("",!0)])]),r("div",Tn,[r("p",null,"主方服法:"+f(Sa.value),1),Pt.value?(p(),v("p",On,"辅方服法:"+f(Pt.value),1)):b("",!0),Dt.value?(p(),v("p",An,"医嘱:"+f(Dt.value),1)):b("",!0),Rt.value?(p(),v("p",En,"备注:"+f(Rt.value),1)):b("",!0),Tt.value?(p(),v("p",Ln," 药房备注:"+f(Tt.value),1)):b("",!0),Ot.value?(p(),v("p",zn," 出丸:"+f(Ot.value),1)):b("",!0)]),r("div",Fn,[r("div",In,[r("div",jn,[e[141]||(e[141]=r("div",{class:"rx-bot-label"},"医师",-1)),r("div",Mn,[g.value.doctor_signature?(p(),v("img",{key:0,src:g.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,Hn)):b("",!0),g.value.doctor_signature?b("",!0):(p(),v("div",Wn,f(g.value.doctor_name||"—"),1))])]),r("div",qn,[e[142]||(e[142]=r("span",{class:"rx-bot-meta-key"},"类型:",-1)),r("span",Yn,f(Na.value),1)]),r("div",Bn,[e[143]||(e[143]=r("span",{class:"rx-bot-meta-key"},"天数:",-1)),r("span",Gn,f(g.value.dose_count||"—")+"剂",1)]),r("div",Kn,[e[144]||(e[144]=r("span",{class:"rx-bot-meta-key"},"单剂量:",-1)),r("span",Jn,f(wa.value)+"克",1)])])])],512)):b("",!0),g.value&&(g.value.audit_by_name||g.value.audit_remark)?(p(),v("div",Qn,[g.value.audit_by_name?(p(),v("div",Xn,[c(" 审核人:"+f(g.value.audit_by_name)+" ",1),g.value.audit_time?(p(),v("span",Zn,f(Te(g.value.audit_time)),1)):b("",!0)])):b("",!0),g.value.audit_remark?(p(),v("div",eo,"审核意见:"+f(g.value.audit_remark),1)):b("",!0)])):b("",!0)])),[[Fe,qe.value]]):(p(),x(L,{key:1,ref_key:"formRef",ref:Z,model:n,rules:Ta,"label-width":"120px"},{default:s(()=>[R.value==="edit"&&Number(n.is_system_auto)===1?(p(),x(ie,{key:0,type:"warning",closable:!1,"show-icon":"",class:"mb-4",title:"本处方为系统自动生成(如挂号完成),默认无药材配方,请补充药材与诊断等信息后再保存。"})):b("",!0),R.value==="edit"?(p(),x(ie,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4",title:"保存修改后,该处方将重新进入「待审核」,需审核人员再次通过后方可生效。"})):b("",!0),R.value==="edit"&&Number(n.audit_status)===2?(p(),x(ie,{key:2,type:"error",closable:!1,"show-icon":"",class:"mb-4"},{title:s(()=>[...e[145]||(e[145]=[c("当前消费者处方为「已驳回」",-1)])]),default:s(()=>[r("div",to," 保存修改后将清除驳回并变为「待审核」。"+f(n.audit_remark?`上次意见:${n.audit_remark}`:""),1)]),_:1})):b("",!0),R.value==="edit"&&Number(n.business_prescription_audit_rejected)===1&&Number(n.audit_status)===1?(p(),x(ie,{key:3,type:"warning",closable:!1,"show-icon":"",class:"mb-4"},{title:s(()=>[...e[146]||(e[146]=[c("业务订单侧「处方审核」已驳回",-1)])]),default:s(()=>[e[147]||(e[147]=r("div",{class:"text-sm mt-1"}," 消费者处方仍为「已通过」;您修改并保存后,将重置关联业务订单的处方/支付单审核为「待审」,请在「处方业务订单」中继续处理。 ",-1)),String(n.business_prescription_audit_remark||"").trim()?(p(),v("div",ao," 驳回意见:"+f(n.business_prescription_audit_remark),1)):b("",!0)]),_:1})):b("",!0),R.value==="edit"&&wt.value?(p(),x(ie,{key:4,type:"warning",closable:!1,"show-icon":"",class:"mb-4",title:wt.value},null,8,["title"])):b("",!0),Number(n.diagnosis_id)>0?(p(),v("div",lo,[a(y,{type:"primary",size:"small",onClick:Ra},{default:s(()=>[...e[148]||(e[148]=[c(" 查看患者诊单详情 ",-1)])]),_:1}),r("span",so,"关联诊单 #"+f(n.diagnosis_id),1)])):b("",!0),a(H,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"患者姓名",prop:"patient_name"},{default:s(()=>[a(m,{modelValue:n.patient_name,"onUpdate:modelValue":e[9]||(e[9]=l=>n.patient_name=l),placeholder:"请输入患者姓名",disabled:R.value==="edit"},null,8,["modelValue","disabled"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"门诊号",prop:"visit_no"},{default:s(()=>[a(m,{modelValue:n.visit_no,"onUpdate:modelValue":e[10]||(e[10]=l=>n.visit_no=l),placeholder:"自动生成或手动输入",disabled:R.value==="edit"},null,8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1}),a(H,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"性别",prop:"gender"},{default:s(()=>[a(u,{modelValue:n.gender,"onUpdate:modelValue":e[11]||(e[11]=l=>n.gender=l)},{default:s(()=>[a(I,{label:1},{default:s(()=>[...e[149]||(e[149]=[c("男",-1)])]),_:1}),a(I,{label:0},{default:s(()=>[...e[150]||(e[150]=[c("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:8},{default:s(()=>[a(d,{label:"年龄",prop:"age"},{default:s(()=>[a(z,{modelValue:n.age,"onUpdate:modelValue":e[12]||(e[12]=l=>n.age=l),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:8},{default:s(()=>[a(d,{label:"处方日期",prop:"prescription_date"},{default:s(()=>[a(xl,{modelValue:n.prescription_date,"onUpdate:modelValue":e[13]||(e[13]=l=>n.prescription_date=l),type:"date",placeholder:"选择日期",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(H,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"面象",prop:"tongue"},{default:s(()=>[a(m,{modelValue:n.tongue,"onUpdate:modelValue":e[14]||(e[14]=l=>n.tongue=l),placeholder:"请输入面象"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"舌象",prop:"tongue_image"},{default:s(()=>[a(m,{modelValue:n.tongue_image,"onUpdate:modelValue":e[15]||(e[15]=l=>n.tongue_image=l),placeholder:"请输入舌象"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(H,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"脉象",prop:"pulse"},{default:s(()=>[a(m,{modelValue:n.pulse,"onUpdate:modelValue":e[16]||(e[16]=l=>n.pulse=l),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"脉象详情",prop:"pulse_condition"},{default:s(()=>[a(m,{modelValue:n.pulse_condition,"onUpdate:modelValue":e[17]||(e[17]=l=>n.pulse_condition=l),placeholder:"请输入脉象详情"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(d,{label:"临床诊断",prop:"clinical_diagnosis"},{default:s(()=>[a(m,{modelValue:n.clinical_diagnosis,"onUpdate:modelValue":e[18]||(e[18]=l=>n.clinical_diagnosis=l),type:"textarea",rows:3,placeholder:"请输入临床诊断",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),a(d,{label:"药材配方",prop:"herbs",required:""},{default:s(()=>[r("div",no,[r("div",oo,[A((p(),x(y,{type:"success",size:"small",onClick:sl},{default:s(()=>[...e[151]||(e[151]=[c(" 从处方库导入 ",-1)])]),_:1})),[[W,["cf.prescription/add","cf.prescription/edit","tcm.prescriptionLibrary/lists"]]]),a(y,{type:"warning",size:"small",plain:"",icon:j(ws),onClick:ml},{default:s(()=>[...e[152]||(e[152]=[c(" 导入药方 ",-1)])]),_:1},8,["icon"]),e[153]||(e[153]=r("span",{class:"text-xs text-gray-500"}," 粘贴文本解析药名与剂量;须与药品库名称完全一致才录入(导入至主方) ",-1))]),M.value?(p(),v("div",ro,[a(O,{type:"danger",size:"small",effect:"plain"},{default:s(()=>[...e[154]||(e[154]=[c("禁用修改",-1)])]),_:1}),e[155]||(e[155]=c(" 含「禁用修改」处方库模板,药材已锁定,不可增删改,如需调整请重新「从处方库导入」覆盖 ",-1))])):b("",!0),r("div",io,[r("div",uo,[a(O,{type:"primary",size:"small"},{default:s(()=>[...e[156]||(e[156]=[c("主方",-1)])]),_:1}),a(y,{type:"primary",size:"small",disabled:M.value,onClick:e[19]||(e[19]=l=>Kt("主方"))},{default:s(()=>[...e[157]||(e[157]=[c("添加主方药材",-1)])]),_:1},8,["disabled"])]),a(F,{data:xa.value,class:"mt-2",border:"","empty-text":"暂无主方药材"},{default:s(()=>[a(C,{label:"序号",type:"index",width:"60"}),a(C,{label:"药材名称","min-width":"220"},{default:s(({row:l})=>[a(Qt,{modelValue:n.herbs[l.index].name,"onUpdate:modelValue":S=>n.herbs[l.index].name=S,disabled:M.value,class:"w-full"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),a(C,{label:"剂量(克)","min-width":"120"},{default:s(({row:l})=>[a(z,{modelValue:n.herbs[l.index].dosage,"onUpdate:modelValue":S=>n.herbs[l.index].dosage=S,min:0,precision:1,step:.5,disabled:M.value,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),a(C,{label:"操作",width:"80"},{default:s(({row:l})=>[M.value?(p(),v("span",po,"已锁定")):(p(),x(y,{key:0,type:"danger",link:"",onClick:S=>Jt(l.index)},{default:s(()=>[...e[158]||(e[158]=[c("删除",-1)])]),_:1},8,["onClick"]))]),_:1})]),_:1},8,["data"])]),r("div",mo,[r("div",_o,[a(O,{type:"warning",size:"small"},{default:s(()=>[...e[159]||(e[159]=[c("辅方",-1)])]),_:1}),a(y,{type:"primary",size:"small",plain:"",disabled:M.value,onClick:e[20]||(e[20]=l=>Kt("辅方"))},{default:s(()=>[...e[160]||(e[160]=[c(" 添加辅方药材 ",-1)])]),_:1},8,["disabled"])]),a(F,{data:St.value,class:"mt-2",border:"","empty-text":"暂无辅方药材"},{default:s(()=>[a(C,{label:"序号",type:"index",width:"60"}),a(C,{label:"药材名称","min-width":"220"},{default:s(({row:l})=>[a(Qt,{modelValue:n.herbs[l.index].name,"onUpdate:modelValue":S=>n.herbs[l.index].name=S,disabled:M.value,class:"w-full"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),a(C,{label:"剂量(克)","min-width":"120"},{default:s(({row:l})=>[a(z,{modelValue:n.herbs[l.index].dosage,"onUpdate:modelValue":S=>n.herbs[l.index].dosage=S,min:0,precision:1,step:.5,disabled:M.value,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),a(C,{label:"操作",width:"80"},{default:s(({row:l})=>[M.value?(p(),v("span",co,"已锁定")):(p(),x(y,{key:0,type:"danger",link:"",onClick:S=>Jt(l.index)},{default:s(()=>[...e[161]||(e[161]=[c("删除",-1)])]),_:1},8,["onClick"]))]),_:1})]),_:1},8,["data"])]),R.value==="edit"?A((p(),x(ie,{key:1,type:"warning",closable:!1,"show-icon":"",class:"mt-3"},{title:s(()=>[...e[162]||(e[162]=[c("业务订单要求(请与本处方保持一致)",-1)])]),default:s(()=>[r("div",fo,[$.orderNo||$.medicationDays!=null||$.remarkAssistant?(p(),v(E,{key:0},[$.orderNo?(p(),v("p",go,[e[163]||(e[163]=c(" 最近关联订单(按创建倒序): ",-1)),r("span",vo,f($.orderNo),1)])):b("",!0),r("p",bo,[e[164]||(e[164]=r("span",{class:"font-semibold"},"服用天数(订单)",-1)),c(": "+f($.medicationDays!=null?`${$.medicationDays} 天`:"— 订单未填写"),1)]),r("p",null,[e[165]||(e[165]=r("span",{class:"font-semibold"},"医助备注(订单)",-1)),e[166]||(e[166]=c(": ",-1)),r("span",yo,f($.remarkAssistant||"— 无"),1)])],64)):$.loading?b("",!0):(p(),v("p",xo,[...e[167]||(e[167]=[c(" 当前处方暂无关联业务订单,或您无订单列表权限;若有订单,将在此处显示订单内 ",-1),r("span",{class:"font-semibold"},"服用天数",-1),c("与 ",-1),r("span",{class:"font-semibold"},"医助备注",-1),c("。 ",-1)])]))])]),_:1})),[[Fe,$.loading]]):b("",!0)])]),_:1}),a(H,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"剂数",prop:"dose_count"},{default:s(()=>[a(z,{modelValue:n.dose_count,"onUpdate:modelValue":e[21]||(e[21]=l=>n.dose_count=l),min:1,placeholder:"剂数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:8},{default:s(()=>[a(d,{label:"剂量单位",prop:"dose_unit"},{default:s(()=>[a(V,{modelValue:n.dose_unit,"onUpdate:modelValue":e[22]||(e[22]=l=>n.dose_unit=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[a(i,{label:"剂",value:"剂"}),a(i,{label:"丸",value:"丸"}),a(i,{label:"袋",value:"袋"}),a(i,{label:"盒",value:"盒"}),a(i,{label:"瓶",value:"瓶"}),a(i,{label:"膏",value:"膏"}),a(i,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:8},{default:s(()=>[a(d,{label:"处方类型",prop:"prescription_type"},{default:s(()=>[a(V,{modelValue:n.prescription_type,"onUpdate:modelValue":e[23]||(e[23]=l=>n.prescription_type=l),placeholder:"请选择处方类型",class:"w-full"},{default:s(()=>[a(i,{label:"浓缩水丸",value:"浓缩水丸"}),a(i,{label:"饮片",value:"饮片"}),a(i,{label:"颗粒",value:"颗粒"}),a(i,{label:"丸剂",value:"丸剂"}),a(i,{label:"散剂",value:"散剂"}),a(i,{label:"膏方",value:"膏方"}),a(i,{label:"汤剂",value:"汤剂"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e[175]||(e[175]=r("div",{class:"usage-formula-title usage-formula-title--main"},"主方用法",-1)),a(H,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"用量",prop:"dosage_amount"},{default:s(()=>[n.prescription_type==="浓缩水丸"?(p(),x(V,{key:0,modelValue:n.dosage_amount,"onUpdate:modelValue":e[24]||(e[24]=l=>n.dosage_amount=l),placeholder:"请选择用量",class:"w-full"},{default:s(()=>[a(i,{label:"1g",value:1}),a(i,{label:"2g",value:2}),a(i,{label:"3g",value:3}),a(i,{label:"4g",value:4}),a(i,{label:"5g",value:5}),a(i,{label:"6g",value:6}),a(i,{label:"7g",value:7}),a(i,{label:"8g",value:8}),a(i,{label:"9g",value:9}),a(i,{label:"10g",value:10})]),_:1},8,["modelValue"])):n.prescription_type==="饮片"?(p(),x(V,{key:1,modelValue:n.dosage_amount,"onUpdate:modelValue":e[25]||(e[25]=l=>n.dosage_amount=l),placeholder:"请选择用量",class:"w-full"},{default:s(()=>[a(i,{label:"50ml",value:50}),a(i,{label:"100ml",value:100}),a(i,{label:"120ml",value:120}),a(i,{label:"150ml",value:150}),a(i,{label:"180ml",value:180}),a(i,{label:"200ml",value:200}),a(i,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(p(),x(z,{key:2,modelValue:n.dosage_amount,"onUpdate:modelValue":e[26]||(e[26]=l=>n.dosage_amount=l),min:0,precision:2,class:"w-full"},null,8,["modelValue"]))]),_:1})]),_:1}),n.prescription_type==="浓缩水丸"?(p(),x(h,{key:0,span:8},{default:s(()=>[a(d,{label:" ",prop:"dosage_bag_count","label-width":"12px"},{default:s(()=>[a(V,{modelValue:n.dosage_bag_count,"onUpdate:modelValue":e[27]||(e[27]=l=>n.dosage_bag_count=l),placeholder:"请选择袋数",class:"w-[120px]"},{default:s(()=>[a(i,{label:"1袋",value:1}),a(i,{label:"2袋",value:2}),a(i,{label:"3袋",value:3}),a(i,{label:"4袋",value:4}),a(i,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):b("",!0),n.prescription_type==="饮片"?(p(),x(h,{key:1,span:8},{default:s(()=>[a(d,{label:"是否代煎",prop:"need_decoction"},{default:s(()=>[a(u,{modelValue:n.need_decoction,"onUpdate:modelValue":e[28]||(e[28]=l=>n.need_decoction=l)},{default:s(()=>[a(I,{label:!0},{default:s(()=>[...e[168]||(e[168]=[c("代煎",-1)])]),_:1}),a(I,{label:!1},{default:s(()=>[...e[169]||(e[169]=[c("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):b("",!0),n.prescription_type==="饮片"?(p(),x(h,{key:2,span:8},{default:s(()=>[a(d,{label:"每贴出包数",prop:"bags_per_dose"},{default:s(()=>[a(V,{modelValue:n.bags_per_dose,"onUpdate:modelValue":e[29]||(e[29]=l=>n.bags_per_dose=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[a(i,{label:"1包",value:1}),a(i,{label:"2包",value:2}),a(i,{label:"3包",value:3}),a(i,{label:"4包",value:4}),a(i,{label:"5包",value:5}),a(i,{label:"6包",value:6}),a(i,{label:"7包",value:7}),a(i,{label:"8包",value:8}),a(i,{label:"9包",value:9})]),_:1},8,["modelValue"])]),_:1})]),_:1})):b("",!0),a(h,{span:8},{default:s(()=>[a(d,{label:"每天几次",prop:"times_per_day"},{default:s(()=>[a(z,{modelValue:n.times_per_day,"onUpdate:modelValue":e[30]||(e[30]=l=>n.times_per_day=l),min:1,max:6,class:"!w-full",placeholder:"每天服用次数"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:8},{default:s(()=>[a(d,{label:"服用天数",prop:"usage_days"},{default:s(()=>[a(z,{modelValue:n.usage_days,"onUpdate:modelValue":e[31]||(e[31]=l=>n.usage_days=l),min:1,max:365,placeholder:"服用天数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),St.value.length>0?(p(),v(E,{key:6},[e[172]||(e[172]=r("div",{class:"usage-formula-title usage-formula-title--aux"},"辅方用法",-1)),a(H,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"用量"},{default:s(()=>[n.prescription_type==="浓缩水丸"?(p(),x(V,{key:0,modelValue:n.aux_usage.dosage_amount,"onUpdate:modelValue":e[32]||(e[32]=l=>n.aux_usage.dosage_amount=l),placeholder:"请选择用量",class:"w-full"},{default:s(()=>[(p(),v(E,null,B(10,l=>a(i,{key:l,label:l+"g",value:l},null,8,["label","value"])),64))]),_:1},8,["modelValue"])):n.prescription_type==="饮片"?(p(),x(V,{key:1,modelValue:n.aux_usage.dosage_amount,"onUpdate:modelValue":e[33]||(e[33]=l=>n.aux_usage.dosage_amount=l),placeholder:"请选择用量",class:"w-full"},{default:s(()=>[a(i,{label:"50ml",value:50}),a(i,{label:"100ml",value:100}),a(i,{label:"120ml",value:120}),a(i,{label:"150ml",value:150}),a(i,{label:"180ml",value:180}),a(i,{label:"200ml",value:200}),a(i,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(p(),x(z,{key:2,modelValue:n.aux_usage.dosage_amount,"onUpdate:modelValue":e[34]||(e[34]=l=>n.aux_usage.dosage_amount=l),min:0,precision:2,class:"w-full"},null,8,["modelValue"]))]),_:1})]),_:1}),n.prescription_type==="浓缩水丸"?(p(),x(h,{key:0,span:8},{default:s(()=>[a(d,{label:" ","label-width":"12px"},{default:s(()=>[a(V,{modelValue:n.aux_usage.dosage_bag_count,"onUpdate:modelValue":e[35]||(e[35]=l=>n.aux_usage.dosage_bag_count=l),placeholder:"请选择袋数",class:"w-[120px]"},{default:s(()=>[a(i,{label:"1袋",value:1}),a(i,{label:"2袋",value:2}),a(i,{label:"3袋",value:3}),a(i,{label:"4袋",value:4}),a(i,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):b("",!0),n.prescription_type==="饮片"?(p(),x(h,{key:1,span:8},{default:s(()=>[a(d,{label:"是否代煎"},{default:s(()=>[a(u,{modelValue:n.aux_usage.need_decoction,"onUpdate:modelValue":e[36]||(e[36]=l=>n.aux_usage.need_decoction=l)},{default:s(()=>[a(I,{label:!0},{default:s(()=>[...e[170]||(e[170]=[c("代煎",-1)])]),_:1}),a(I,{label:!1},{default:s(()=>[...e[171]||(e[171]=[c("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):b("",!0),n.prescription_type==="饮片"?(p(),x(h,{key:2,span:8},{default:s(()=>[a(d,{label:"每贴出包数"},{default:s(()=>[a(V,{modelValue:n.aux_usage.bags_per_dose,"onUpdate:modelValue":e[37]||(e[37]=l=>n.aux_usage.bags_per_dose=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[(p(),v(E,null,B(9,l=>a(i,{key:l,label:l+"包",value:l},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})):b("",!0),a(h,{span:8},{default:s(()=>[a(d,{label:"每天几次"},{default:s(()=>[a(z,{modelValue:n.aux_usage.times_per_day,"onUpdate:modelValue":e[38]||(e[38]=l=>n.aux_usage.times_per_day=l),min:1,max:6,class:"!w-full",placeholder:"每天服用次数"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:8},{default:s(()=>[a(d,{label:"服用天数"},{default:s(()=>[a(z,{modelValue:n.aux_usage.usage_days,"onUpdate:modelValue":e[39]||(e[39]=l=>n.aux_usage.usage_days=l),min:1,max:365,placeholder:"服用天数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],64)):b("",!0),a(d,{label:"用法",prop:"usage_instruction"},{default:s(()=>[a(m,{modelValue:n.usage_instruction,"onUpdate:modelValue":e[40]||(e[40]=l=>n.usage_instruction=l),placeholder:"例如:水煎服,一日二次",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),a(H,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"服用时间",prop:"usage_time"},{default:s(()=>[a(V,{modelValue:n.usage_time,"onUpdate:modelValue":e[41]||(e[41]=l=>n.usage_time=l),placeholder:"请选择服用时间",class:"w-full"},{default:s(()=>[a(i,{label:"饭前",value:"饭前"}),a(i,{label:"饭后",value:"饭后"}),a(i,{label:"饭中",value:"饭中"}),a(i,{label:"空腹",value:"空腹"}),a(i,{label:"睡前",value:"睡前"}),a(i,{label:"晨起",value:"晨起"}),a(i,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"服用方式",prop:"usage_way"},{default:s(()=>[a(V,{modelValue:n.usage_way,"onUpdate:modelValue":e[42]||(e[42]=l=>n.usage_way=l),placeholder:"请选择服用方式",class:"w-full"},{default:s(()=>[a(i,{label:"温水送服",value:"温水送服"}),a(i,{label:"开水冲服",value:"开水冲服"}),a(i,{label:"黄酒送服",value:"黄酒送服"}),a(i,{label:"淡盐水送服",value:"淡盐水送服"}),a(i,{label:"米汤送服",value:"米汤送服"}),a(i,{label:"嚼服",value:"嚼服"}),a(i,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(d,{label:"忌口",prop:"dietary_taboo"},{default:s(()=>[a(V,{modelValue:n.dietary_taboo,"onUpdate:modelValue":e[43]||(e[43]=l=>n.dietary_taboo=l),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"w-full"},{default:s(()=>[a(i,{label:"辛辣食物",value:"辛辣食物"}),a(i,{label:"生冷食物",value:"生冷食物"}),a(i,{label:"油腻食物",value:"油腻食物"}),a(i,{label:"海鲜",value:"海鲜"}),a(i,{label:"牛羊肉",value:"牛羊肉"}),a(i,{label:"鸡蛋",value:"鸡蛋"}),a(i,{label:"豆制品",value:"豆制品"}),a(i,{label:"酒类",value:"酒类"}),a(i,{label:"浓茶",value:"浓茶"}),a(i,{label:"咖啡",value:"咖啡"}),a(i,{label:"烟草",value:"烟草"}),a(i,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"其他说明",prop:"usage_notes"},{default:s(()=>[a(m,{modelValue:n.usage_notes,"onUpdate:modelValue":e[44]||(e[44]=l=>n.usage_notes=l),type:"textarea",rows:2,placeholder:"其他服用注意事项",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),a(d,{label:"医师姓名",prop:"doctor_name"},{default:s(()=>[a(m,{modelValue:n.doctor_name,"onUpdate:modelValue":e[45]||(e[45]=l=>n.doctor_name=l),placeholder:"请输入医师姓名"},null,8,["modelValue"])]),_:1}),a(d,{label:"医师签名",prop:"doctor_signature",required:""},{default:s(()=>[r("div",ko,[r("canvas",{ref_key:"signatureCanvasRef",ref:K,class:"signature-canvas",onPointerdown:Ne(Qa,["prevent"]),onPointermove:Ne(Xa,["prevent"]),onPointerup:Ne(jt,["prevent"]),onPointercancel:Ne(jt,["prevent"])},null,544),r("div",Vo,[a(y,{size:"small",onClick:Za},{default:s(()=>[...e[173]||(e[173]=[c("清空签名",-1)])]),_:1})])]),e[174]||(e[174]=r("div",{class:"text-xs text-amber-600 mt-1"},"* 必填,请在框内手写医师签名",-1))]),_:1})]),_:1},8,["model"]))]),_:1},8,["modelValue","title","size"]),a(we,{modelValue:me.value,"onUpdate:modelValue":e[53]||(e[53]=l=>me.value=l),title:"修正姓名、性别与手机号",width:"440px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:la},{footer:s(()=>[a(y,{onClick:e[52]||(e[52]=l=>me.value=!1)},{default:s(()=>[...e[181]||(e[181]=[c("取消",-1)])]),_:1}),a(y,{type:"primary",loading:Ye.value,onClick:sa},{default:s(()=>[...e[182]||(e[182]=[c(" 保存 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[a(L,{ref_key:"patchPatientFormRef",ref:Be,model:P,rules:ta,"label-width":"88px"},{default:s(()=>[a(d,{label:"处方编号"},{default:s(()=>[r("span",ho,"#"+f(P.id||"—"),1)]),_:1}),a(d,{label:"患者姓名",prop:"patient_name"},{default:s(()=>[a(m,{modelValue:P.patient_name,"onUpdate:modelValue":e[49]||(e[49]=l=>P.patient_name=l),maxlength:"50","show-word-limit":"",placeholder:"处方笺展示姓名"},null,8,["modelValue"])]),_:1}),a(d,{label:"性别",prop:"gender"},{default:s(()=>[a(u,{modelValue:P.gender,"onUpdate:modelValue":e[50]||(e[50]=l=>P.gender=l)},{default:s(()=>[a(I,{label:1},{default:s(()=>[...e[179]||(e[179]=[c("男",-1)])]),_:1}),a(I,{label:0},{default:s(()=>[...e[180]||(e[180]=[c("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"手机号",prop:"phone"},{default:s(()=>[a(m,{modelValue:P.phone,"onUpdate:modelValue":e[51]||(e[51]=l=>P.phone=l),maxlength:"20",placeholder:"处方笺展示手机号"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),e[183]||(e[183]=r("p",{class:"text-xs text-gray-500 -mt-2 mb-2"}," 仅更新处方表 patient_name、gender、phone,不改变审核状态;记录写入业务订单操作日志(有关联订单时可在此订单日志中查看)。 ",-1))]),_:1},8,["modelValue"]),a(we,{modelValue:_e.value,"onUpdate:modelValue":e[71]||(e[71]=l=>_e.value=l),title:"创建业务订单",width:"940px",top:"4vh","close-on-click-modal":!1,onClosed:Vt,class:"create-order-dialog"},{footer:s(()=>[r("div",Ko,[r("div",Jo,[r("span",Qo,"第 "+f(T.value+1)+" / 3 步",1),T.value===2&&D.value>0?(p(),v("span",Xo," 订单金额与关联支付单合计须 ≥ ¥"+f(re(D.value)),1)):b("",!0)]),r("div",Zo,[a(y,{size:"large",onClick:e[70]||(e[70]=l=>_e.value=!1)},{default:s(()=>[...e[192]||(e[192]=[c("取消",-1)])]),_:1}),T.value>0?(p(),x(y,{key:0,size:"large",onClick:va},{default:s(()=>[...e[193]||(e[193]=[c("上一步",-1)])]),_:1})):b("",!0),T.value<2?(p(),x(y,{key:1,type:"primary",size:"large",onClick:ba},{default:s(()=>[...e[194]||(e[194]=[c(" 下一步 ",-1)])]),_:1})):b("",!0),T.value===2?(p(),x(y,{key:2,type:"primary",size:"large",loading:Ge.value,onClick:ya},{default:s(()=>[...e[195]||(e[195]=[c(" 创建业务订单 ",-1)])]),_:1},8,["loading"])):b("",!0)])])]),default:s(()=>[r("div",wo,[Y.value?(p(),v("div",No,[r("div",So,[e[184]||(e[184]=r("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),r("div",Co,[r("span",Uo,"#"+f(Y.value.id),1),Y.value.sn?(p(),v("span",$o,f(Y.value.sn),1)):b("",!0),r("span",Po,f(Y.value.patient_name||"—"),1)])])])):b("",!0),a(Vl,{active:T.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:s(()=>[a(pt,{title:"患者与收货",description:"诊单与物流地址"}),a(pt,{title:"服务与支付单",description:"套餐与关联收款"}),a(pt,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),r("p",Do,f(na.value),1),a(L,{ref_key:"createOrderFormRef",ref:ce,model:_,rules:ma.value,"label-width":"108px",class:"create-order-form"},{default:s(()=>[A(r("div",Ro,[a(H,{gutter:20},{default:s(()=>[a(h,{span:24},{default:s(()=>[a(d,{label:"诊单患者",prop:"patient_id"},{default:s(()=>[a(V,{modelValue:_.patient_id,"onUpdate:modelValue":e[54]||(e[54]=l=>_.patient_id=l),class:"w-full",placeholder:"搜索姓名/手机/身份证",filterable:"",remote:"","remote-method":fa,loading:Ke.value,onChange:ga},{default:s(()=>[(p(!0),v(E,null,B(X.value,l=>(p(),x(i,{key:l.id,label:`${l.patient_name} (${l.phone||"无手机"})`,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"收货人",prop:"recipient_name"},{default:s(()=>[a(m,{modelValue:_.recipient_name,"onUpdate:modelValue":e[55]||(e[55]=l=>_.recipient_name=l),placeholder:"姓名",maxlength:"50"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"收货手机",prop:"recipient_phone"},{default:s(()=>[a(m,{modelValue:_.recipient_phone,"onUpdate:modelValue":e[56]||(e[56]=l=>_.recipient_phone=l),placeholder:"物流联系",maxlength:"20"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:24},{default:s(()=>[a(d,{label:"省市区",prop:"region"},{default:s(()=>[a(hl,{modelValue:_.region,"onUpdate:modelValue":e[57]||(e[57]=l=>_.region=l),options:fe.value,props:{value:"name",label:"name",children:"children",emitPath:!0,checkStrictly:!1},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full",onChange:da},null,8,["modelValue","options"])]),_:1})]),_:1}),a(h,{span:24},{default:s(()=>[a(d,{label:"详细地址",prop:"shipping_address"},{default:s(()=>[a(m,{modelValue:_.shipping_address,"onUpdate:modelValue":e[58]||(e[58]=l=>_.shipping_address=l),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[ct,T.value===0]]),A(r("div",To,[a(H,{gutter:20},{default:s(()=>[a(h,{xs:24,sm:8},{default:s(()=>[a(d,{label:"复诊"},{default:s(()=>[a(wl,{modelValue:_.is_follow_up,"onUpdate:modelValue":e[59]||(e[59]=l=>_.is_follow_up=l),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{xs:24,sm:8},{default:s(()=>[a(d,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:s(()=>[r("div",Oo,[a(z,{modelValue:_.medication_days,"onUpdate:modelValue":e[60]||(e[60]=l=>_.medication_days=l),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[185]||(e[185]=r("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),a(h,{xs:24,sm:8},{default:s(()=>[a(d,{label:"上次医生"},{default:s(()=>[a(m,{modelValue:_.prev_staff,"onUpdate:modelValue":e[61]||(e[61]=l=>_.prev_staff=l),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"服务渠道"},{default:s(()=>[a(m,{modelValue:_.service_channel,"onUpdate:modelValue":e[62]||(e[62]=l=>_.service_channel=l),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"服务套餐"},{default:s(()=>[a(V,{modelValue:_.service_package,"onUpdate:modelValue":e[63]||(e[63]=l=>_.service_package=l),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:s(()=>[(p(!0),v(E,null,B(Qe.value,l=>(p(),x(i,{key:l.value,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:24},{default:s(()=>[a(d,{label:"关联支付单",prop:"pay_order_ids"},{default:s(()=>[a(V,{modelValue:_.pay_order_ids,"onUpdate:modelValue":e[64]||(e[64]=l=>_.pay_order_ids=l),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:D.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Je.value},{default:s(()=>[(p(!0),v(E,null,B(oe.value,l=>(p(),x(i,{key:l.id,label:`${l.order_no} · ¥${l.amount} · ${kt(l.order_type)}`,value:l.id,class:"!h-auto py-1.5"},{default:s(()=>[r("div",Ao,[r("div",Eo,[r("span",Lo,f(l.order_no),1),r("span",zo,"¥"+f(l.amount),1)]),r("div",Fo,[r("span",Io,[c(f(kt(l.order_type)),1),l.remark?(p(),v(E,{key:0},[c(" · "+f(l.remark),1)],64)):b("",!0)]),r("span",jo,f(String(l.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),r("div",Mo,[D.value>0?(p(),v(E,{key:0},[r("span",Ho,"当前已开启关联支付门槛(¥"+f(re(D.value))+"),须至少选择一笔支付单。",1),e[186]||(e[186]=r("span",{class:"mx-1"},null,-1))],64)):b("",!0),e[188]||(e[188]=c(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),a(Nl,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:s(()=>[...e[187]||(e[187]=[r("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1})]),_:1})]),_:1})],512),[[ct,T.value===1]]),A(r("div",Wo,[r("div",{class:Rs(["create-order-deposit-bar",Xe.value>=D.value?"is-ok":"is-warn"])},[r("div",qo,[e[189]||(e[189]=r("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),r("strong",null,"¥"+f(re(D.value)),1),r("span",Yo,f(D.value>0?"须 ≥ 此值":"未设置"),1)]),e[191]||(e[191]=r("div",{class:"create-order-deposit-bar__sep"},null,-1)),r("div",Bo,[e[190]||(e[190]=r("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),r("strong",null,"¥"+f(re(Xe.value)),1),r("span",Go,f(Xe.value>=D.value?"已达标":"未达标"),1)])],2),a(H,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"费用类别",prop:"fee_type"},{default:s(()=>[a(V,{modelValue:_.fee_type,"onUpdate:modelValue":e[65]||(e[65]=l=>_.fee_type=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[a(i,{label:"挂号费",value:1}),a(i,{label:"问诊费",value:2}),a(i,{label:"药品费用",value:3}),a(i,{label:"首付费用",value:4}),a(i,{label:"尾款费用",value:5}),a(i,{label:"其他费用",value:6}),a(i,{label:"全部费用",value:7}),a(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"总金额",prop:"amount"},{default:s(()=>[a(z,{modelValue:_.amount,"onUpdate:modelValue":e[66]||(e[66]=l=>_.amount=l),min:pa.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),A((p(),x(h,{span:12},{default:s(()=>[a(d,{label:"内部成本"},{default:s(()=>[a(z,{modelValue:_.internal_cost,"onUpdate:modelValue":e[67]||(e[67]=l=>_.internal_cost=l),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[W,["finance.account_log/lists"]]]),a(h,{span:24},{default:s(()=>[A((p(),x(d,{label:"药房备注"},{default:s(()=>[a(m,{modelValue:_.remark_extra,"onUpdate:modelValue":e[68]||(e[68]=l=>_.remark_extra=l),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[W,["tcm.prescriptionOrder/editRemarkExtra"]]]),a(d,{label:"医助备注"},{default:s(()=>[a(m,{modelValue:_.remark_assistant,"onUpdate:modelValue":e[69]||(e[69]=l=>_.remark_assistant=l),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[ct,T.value===2]])]),_:1},8,["model","rules"])])]),_:1},8,["modelValue"]),a(we,{modelValue:ye.value,"onUpdate:modelValue":e[77]||(e[77]=l=>ye.value=l),title:"从处方库导入",width:"800px","close-on-click-modal":!1},{default:s(()=>[r("div",er,[a(m,{modelValue:Oe.value,"onUpdate:modelValue":e[72]||(e[72]=l=>Oe.value=l),class:"flex-1",placeholder:"请输入处方名称搜索",clearable:"",onKeyup:_t(Le,["enter"]),onClear:Le},{append:s(()=>[a(y,{icon:j(Ns),onClick:Le},null,8,["icon"])]),_:1},8,["modelValue"]),a(V,{modelValue:Ae.value,"onUpdate:modelValue":e[73]||(e[73]=l=>Ae.value=l),placeholder:"处方类型",clearable:"",class:"w-[140px]",onChange:Le},{default:s(()=>[a(i,{label:"全部",value:""}),a(i,{label:"主方",value:"主方"}),a(i,{label:"辅方",value:"辅方"})]),_:1},8,["modelValue"])]),r("div",tr,[e[198]||(e[198]=r("span",{class:"text-sm text-gray-600 shrink-0"},"导入方式",-1)),a(u,{modelValue:xe.value,"onUpdate:modelValue":e[74]||(e[74]=l=>xe.value=l)},{default:s(()=>[a(I,{label:"replace"},{default:s(()=>[...e[196]||(e[196]=[c("覆盖现有药材",-1)])]),_:1}),a(I,{label:"append"},{default:s(()=>[...e[197]||(e[197]=[c("追加到末尾",-1)])]),_:1})]),_:1},8,["modelValue"])]),A((p(),x(F,{data:st.value,height:"400",style:{cursor:"pointer"},onRowClick:nl},{default:s(()=>[a(C,{label:"处方名称",prop:"prescription_name","min-width":"150","show-overflow-tooltip":""}),a(C,{label:"处方类型",width:"90"},{default:s(({row:l})=>[a(O,{type:l.formula_type==="辅方"?"warning":"primary",size:"small"},{default:s(()=>[c(f(l.formula_type||"主方"),1)]),_:2},1032,["type"])]),_:1}),a(C,{label:"药材数量",width:"100"},{default:s(({row:l})=>{var S;return[c(f(((S=l.herbs)==null?void 0:S.length)||0)+"味 ",1)]}),_:1}),a(C,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:s(({row:l})=>[l.herbs&&l.herbs.length>0?(p(),v("span",ar,f(l.herbs.map(S=>`${S.name} ${S.dosage}g`).join("、")),1)):(p(),v("span",lr,"暂无药材"))]),_:1}),a(C,{label:"是否公开",width:"110"},{default:s(({row:l})=>[a(O,{type:l.is_public?"success":"info",size:"small"},{default:s(()=>[c(f(l.is_public?"所有人可见":"仅自己可见"),1)]),_:2},1032,["type"])]),_:1}),a(C,{label:"创建人",prop:"creator_name",width:"100"}),a(C,{label:"操作",width:"100",fixed:"right"},{default:s(({row:l})=>[a(y,{type:"primary",link:"",onClick:Ne(S=>Bt(l),["stop"])},{default:s(()=>[...e[199]||(e[199]=[c("导入",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Fe,lt.value]]),r("div",sr,[a(Sl,{"current-page":ke.value,"onUpdate:currentPage":e[75]||(e[75]=l=>ke.value=l),"page-size":nt.value,"onUpdate:pageSize":e[76]||(e[76]=l=>nt.value=l),total:ot.value,"page-sizes":[10,15,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:Ee,onSizeChange:Ee},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue"]),a(we,{modelValue:Ve.value,"onUpdate:modelValue":e[81]||(e[81]=l=>Ve.value=l),title:"导入药方(识别药材)",width:"560px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[82]||(e[82]=l=>he.value="")},{footer:s(()=>[a(y,{onClick:e[80]||(e[80]=l=>Ve.value=!1)},{default:s(()=>[...e[203]||(e[203]=[c("取消",-1)])]),_:1}),a(y,{type:"primary",loading:it.value,onClick:_l},{default:s(()=>[...e[204]||(e[204]=[c(" 识别并导入 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[e[205]||(e[205]=r("p",{class:"text-gray-500 text-sm mb-2 leading-relaxed"}," 粘贴整张药方文本,系统按「药名 + 剂量」解析;药名须与药品库中名称完全一致才会录入,否则跳过。支持顿号/逗号/换行分隔;单行可用空格分味(如「黄芪15g 白术10g」);「黄芪、党参各10克」等同剂量写法亦可识别。 ",-1)),a(m,{modelValue:he.value,"onUpdate:modelValue":e[78]||(e[78]=l=>he.value=l),type:"textarea",rows:10,placeholder:`示例:
|
||
黄芪15 党参12 茯苓10
|
||
柴胡10g、黄芩10、半夏12克
|
||
黄芪、白术、茯苓各15克`},null,8,["modelValue"]),r("div",nr,[e[202]||(e[202]=r("span",{class:"text-sm text-gray-600 shrink-0"},"导入方式",-1)),a(u,{modelValue:rt.value,"onUpdate:modelValue":e[79]||(e[79]=l=>rt.value=l)},{default:s(()=>[a(I,{label:"replace"},{default:s(()=>[...e[200]||(e[200]=[c("覆盖现有药材",-1)])]),_:1}),a(I,{label:"append"},{default:s(()=>[...e[201]||(e[201]=[c("追加到末尾",-1)])]),_:1})]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"]),a(we,{modelValue:pe.value,"onUpdate:modelValue":e[87]||(e[87]=l=>pe.value=l),title:"处方审核",width:"480px","destroy-on-close":"",onClosed:e[88]||(e[88]=l=>ne.value="")},{footer:s(()=>[a(y,{onClick:e[84]||(e[84]=l=>pe.value=!1)},{default:s(()=>[...e[206]||(e[206]=[c("取消",-1)])]),_:1}),a(y,{type:"primary",loading:Ue.value,onClick:e[85]||(e[85]=l=>Wt("approve"))},{default:s(()=>[...e[207]||(e[207]=[c("审核通过",-1)])]),_:1},8,["loading"]),a(y,{type:"danger",loading:Ue.value,onClick:e[86]||(e[86]=l=>Wt("reject"))},{default:s(()=>[...e[208]||(e[208]=[c("驳回处方",-1)])]),_:1},8,["loading"])]),default:s(()=>[e[209]||(e[209]=r("p",{class:"text-sm text-gray-600 mb-3"}," 通过:处方保持有效。驳回:将同时作废此处方(与诊间「驳回/作废处方」一致)。 ",-1)),a(L,{"label-width":"80px"},{default:s(()=>[a(d,{label:"审核意见"},{default:s(()=>[a(m,{modelValue:ne.value,"onUpdate:modelValue":e[83]||(e[83]=l=>ne.value=l),type:"textarea",rows:3,maxlength:"500","show-word-limit":"",placeholder:"通过可简要说明;驳回必填"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(j(Zt),{ref_key:"diagnosisViewRef",ref:At},null,512)])}}}),ei=os(rr,[["__scopeId","data-v-bf66976d"]]);export{ei as default};
|