Files
zyt/server/public/admin/assets/index-BbAFpbJt.js
T
2026-05-26 18:15:56 +08:00

8 lines
93 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.
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BNBfIMNO.js","assets/element-plus-lurTijPg.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-HOEUG8sr.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-CXOqniC5.js","assets/index-BtuN-JX0.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-cWYbZtDX.css","assets/perm-Bc23IvuR.js","assets/DailyMatrix-DiVi6p8z.js","assets/picker-DnWXwaVg.js","assets/index-Db1NE_K4.js","assets/index-B3imPWFk.css","assets/index-akOrsdaO.js","assets/index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js","assets/index-DgLVdwR7.js","assets/index-D0f1Mn00.css","assets/index-Dr40NMPX.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-lcDB9k8z.js","assets/index.vue_vue_type_script_setup_true_lang-SfFZFG0h.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-Jm9DnVII.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-B67yApyD.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-Brdixp4H.js","assets/RecordingPlaybackBlock-CJE8gJQ0.js","assets/RecordingVideoPlayer-dzefIsF8.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-DzZ009qh.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-iP0aWigy.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-Cd7Re2xm.js","assets/doctor-DBKAZw5L.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DwDL2VQu.js","assets/patient-oa1S9q0Z.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-XHtDxZ7y.js","assets/PatientOrderList-Dx28GIXs.css","assets/index-DOBQJNpa.js","assets/index-XB9oQvDV.js","assets/medicine-DuX2VuoS.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-06pe1I9S.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]);
import{_ as Sl,E as Cl}from"./jspdf-BsthCvR5.js";import{G as Ul,F as $l,D as Pl,B as Dl,C as Rl,P as Tl,Q as Ol,i as Al,J as El,L as Ll,M as Fl,N as zl,T as Il,K as jl,a4 as Ml,a5 as Hl,I as Wl,h as ql,R as Yl,e as Bl,V as Gl,a6 as Kl,a7 as Jl,a8 as Ql,g as Xl,r as Zl,U as es}from"./element-plus-lurTijPg.js";import{_ as ts}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{u as as,c as ls,i as S,m as ss,_ as ns}from"./index-BtuN-JX0.js";import{w as mt,s as we,q as _t}from"./@vue/runtime-dom-DDAG46FW.js";import{g as os,p as rs,b as is,c as ct,d as us,e as ds,f as ps,h as ms,i as _s,j as cs,k as fs,l as gs}from"./tcm-CXOqniC5.js";import{m as vs}from"./medicine-DuX2VuoS.js";import{r as bs}from"./role-MJkI3bmM.js";import{u as ys}from"./usePaging-VsbTxSU0.js";import{_ as xs}from"./index.vue_vue_type_script_setup_true_lang-BL8k8rcl.js";import{M as Jt}from"./index-XB9oQvDV.js";import{T as ks,M as Vs,U as hs,N as ws}from"./@element-plus/icons-vue-HOEUG8sr.js";import{a as Ns}from"./vue-router-QlpZ4wdW.js";import Ss from"./html2canvas-QH1iLAAe.js";import{f as Qt,w as ze,b as Cs,as as Us,ak as m,I as b,a,aN as s,J as r,O as c,F as E,ap as Y,G as k,aP as O,H as y,P as $s,A as $,n as te}from"./@vue/runtime-core-C6bnekPw.js";import{y as j,a as Ps,r as Ne,n as x}from"./@vue/reactivity-DiY1c2vO.js";import{Q as f,o as Ds}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 Rs={class:"prescription-list"},Ts={class:"pl-toolbar"},Os={class:"pl-toolbar__line"},As={class:"pl-toolbar__line pl-toolbar__line--second"},Es={class:"pl-toolbar__actions"},Ls={class:"pl-table-head"},Fs={class:"flex items-center gap-2"},zs={class:"mt-3"},Is={class:"font-medium"},js={class:"text-xs text-gray-400 mt-0.5"},Ms={key:1,class:"text-gray-400 text-sm"},Hs={class:"font-medium"},Ws={class:"text-xs text-gray-500 mt-0.5"},qs={class:"flex flex-col gap-1"},Ys={class:"flex flex-wrap items-center gap-1"},Bs={key:0,class:"text-xs text-gray-500"},Gs=["title"],Ks={key:1,class:"text-gray-400"},Js={class:"font-medium"},Qs={class:"text-xs text-gray-500 mt-0.5"},Xs={class:"text-sm"},Zs={class:"flex mt-2 justify-end"},en={key:0,class:"rx-wrap"},tn={class:"rx-toolbar"},an={key:0,class:"rx-status rx-status-danger"},ln={key:1,class:"rx-status rx-status-danger"},sn={key:0,class:"mt-1"},nn={key:2,class:"rx-status rx-status-danger"},on={key:0,class:"mt-1"},rn={class:"rx-notice"},un={class:"rx-notice-meta"},dn={class:"rx-info"},pn={class:"rx-info-row"},mn={class:"rx-info-cell"},_n={class:"rx-val"},cn={class:"rx-info-cell"},fn={class:"rx-val"},gn={class:"rx-info-cell"},vn={class:"rx-val"},bn={class:"rx-info-cell"},yn={class:"rx-val"},xn={class:"rx-info-row rx-info-row-full"},kn={class:"rx-info-cell"},Vn={class:"rx-val"},hn={class:"rx-info-row rx-info-row-full"},wn={class:"rx-info-cell"},Nn={class:"rx-val"},Sn={class:"rx-rp"},Cn={class:"rx-herbs"},Un={class:"rx-herb-name"},$n={class:"rx-herb-total"},Pn={class:"rx-herb-name"},Dn={class:"rx-herb-total"},Rn={class:"rx-text"},Tn={key:0},On={key:1},An={key:2},En={key:3,class:"rx-text-warn"},Ln={key:4,class:"rx-text-warn"},Fn={class:"rx-bottom"},zn={class:"rx-bot-row rx-bot-row-1"},In={class:"rx-bot-cell rx-bot-stack rx-bot-doctor"},jn={class:"rx-bot-doctor-body"},Mn=["src"],Hn={class:"rx-bot-doctor-name"},Wn={class:"rx-bot-cell rx-bot-meta"},qn={class:"rx-bot-meta-val"},Yn={class:"rx-bot-cell rx-bot-meta"},Bn={class:"rx-bot-meta-val"},Gn={class:"rx-bot-cell rx-bot-meta"},Kn={class:"rx-bot-meta-val"},Jn={key:4,class:"rx-audit"},Qn={key:0},Xn={key:0,class:"ml-2 text-gray-400"},Zn={key:1,class:"mt-1"},eo={class:"text-sm mt-1"},to={key:0,class:"text-sm mt-2 text-gray-800 font-medium"},ao={key:5,class:"mb-3 flex flex-wrap items-center gap-2 pl-[120px]"},lo={class:"text-xs text-gray-400"},so={class:"w-full"},no={class:"flex flex-wrap items-center gap-2"},oo={class:"herb-formula-block mt-3"},ro={class:"herb-formula-block__head"},io={class:"herb-formula-block mt-4"},uo={class:"herb-formula-block__head"},po={class:"text-sm mt-1 leading-relaxed"},mo={key:0,class:"mb-1.5"},_o={class:"font-mono text-primary"},co={class:"mb-1.5"},fo={class:"whitespace-pre-wrap"},go={key:1,class:"text-gray-600"},vo={class:"signature-pad-wrap"},bo={class:"signature-actions"},yo={class:"text-gray-700"},xo={class:"create-order-dialog__inner"},ko={key:0,class:"create-order-rx-card"},Vo={class:"create-order-rx-card__head"},ho={class:"create-order-rx-card__meta"},wo={class:"create-order-rx-card__id"},No={key:0,class:"create-order-rx-card__sn"},So={class:"create-order-rx-card__patient"},Co={class:"create-order-step-lead"},Uo={class:"create-order-step-panel"},$o={class:"create-order-step-panel"},Po={class:"flex items-center gap-1 w-full"},Do={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},Ro={class:"flex items-center justify-between"},To={class:"font-medium text-[13px] text-gray-800"},Oo={class:"text-orange-500 font-medium ml-4"},Ao={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},Eo={class:"truncate pr-2"},Lo={class:"shrink-0"},Fo={class:"create-order-pay-hint text-gray-500"},zo={class:"text-amber-600 font-medium"},Io={class:"create-order-step-panel"},jo={class:"create-order-deposit-bar__cell"},Mo={class:"create-order-deposit-bar__sub"},Ho={class:"create-order-deposit-bar__cell"},Wo={class:"create-order-deposit-bar__sub"},qo={class:"create-order-footer"},Yo={class:"create-order-footer__hint"},Bo={class:"create-order-footer__step"},Go={key:0,class:"create-order-footer__warn"},Ko={class:"create-order-footer__actions"},Jo={class:"mb-4 flex gap-3"},Qo={class:"mb-3 flex flex-wrap items-center gap-x-4 gap-y-2"},Xo={key:0},Zo={key:1,class:"text-gray-400"},er={class:"flex justify-end mt-4"},tr={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},ar=Qt({name:"prescriptionList"}),lr=Qt({...ar,setup(sr){const Xt=$s(()=>Sl(()=>import("./edit-BNBfIMNO.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 Se(t="浓缩水丸"){return t==="饮片"?{dosage_amount:50,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:t==="浓缩水丸"?{dosage_amount:5,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:{dosage_amount:1,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}}function ft(t,e){const o=Se(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}}function gt(t,e,o){const u=t.prescription_type||"浓缩水丸",p=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||"",v=[];if(v.push(`每天${p}次`),u==="浓缩水丸"){const K=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;v.push(`一次${K}袋`),v.push(`每袋${d}${i}`)}else v.push(`一次${d}${i}`);return v.push(V),L&&v.push(L),v.join(", ")}function W(t){return t==="辅方"?"辅方":"主方"}function Ie(t){return{name:String((t==null?void 0:t.name)??"").trim(),dosage:Number(t==null?void 0:t.dosage)||0,formula_type:W(t==null?void 0:t.formula_type)}}function je(t){return t?Array.isArray(t)?t.map(e=>Ie(e)):[]:[]}const ie=as(),vt=Ns();function Zt(){const t=vt.getRoutes().find(e=>{var o;return((o=e.meta)==null?void 0:o.perms)==="tcm.prescriptionOrder/lists"});t!=null&&t.path?vt.push(t.path):S.msgWarning("未配置「处方业务订单」菜单,请在权限管理中执行菜单 SQL 或手动添加路由")}const w=Ne({sn:"",patient_name:"",creator_ids:[],audit_filter:"all",source_filter:"all",start_time:"",end_time:""}),Me=x([]),B=x("all"),J=x(!1),R=x("add"),He=x(!1),X=x(),G=x(),ue=x(null),ae=560,le=168,g=x(null),We=x(!1),bt=x([]),de=x(!1),yt=x(0),se=x(""),Ce=x(!1),pe=x(!1),qe=x(!1),Ye=x(),P=Ne({id:0,patient_name:"",gender:1,phone:""}),ea={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function ta(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(),pe.value=!0}function aa(){var t;P.id=0,P.patient_name="",P.gender=1,P.phone="",(t=Ye.value)==null||t.clearValidate()}async function la(){const t=Ye.value;if(t){try{await t.validate()}catch{return}qe.value=!0;try{await rs({id:P.id,patient_name:P.patient_name.trim(),phone:P.phone.trim(),gender:P.gender}),S.msgSuccess("已保存"),pe.value=!1,Z()}catch(e){const o=e&&typeof e=="object"&&"msg"in e?String(e.msg):"";S.msgError(o||"保存失败")}finally{qe.value=!1}}}const me=x(!1),T=x(0),sa=$(()=>["请核对诊单患者并填写完整收货信息,便于发货与物流联系。","按需填写服务相关信息,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;提交前请对照定金门槛是否已满足。"][T.value]??""),na=["patient_id","recipient_name","recipient_phone","region","shipping_address"],q=x(null),_e=x(),Be=x(!1),Ge=x(!1),Q=x([]),ne=x([]),Ke=x(!1),D=x(0);function oe(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function xt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const _=Ne({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:[]}),ce=x([]),Je=x([]),oa=t=>t.map(e=>{var o;return{name:e.province,code:e.code,children:((o=e.citys)==null?void 0:o.map(u=>{var p;return{name:u.city,code:u.code,children:((p=u.areas)==null?void 0:p.map(d=>({name:d.area,code:d.code})))||[]}}))||[]}}),ra=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),ce.value=oa(o),console.log("regionOptions 已设置,条数:",ce.value.length)}catch(t){console.error("加载省市区数据失败:",t),ce.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("使用后备数据,条数:",ce.value.length)}},ia=async()=>{try{const t=await ss({type:"server_order"});Je.value=((t==null?void 0:t.server_order)||[]).filter(e=>e.status!==0)}catch{Je.value=[]}},ua=t=>{console.log("选择的省市区:",t)},Qe=$(()=>{const t=new Set(_.pay_order_ids.map(o=>Number(o)));let e=0;for(const o of ne.value)t.has(Number(o.id))&&(e+=Number(o.amount)||0);return Math.round(e*100)/100}),da=$(()=>{const t=D.value;return t>0?Math.round(t*100)/100:0}),pa=$(()=>{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 p=D.value,d=Number(o);if(p>0&&(!Number.isFinite(d)||d<p)){u(new Error(`订单金额须大于等于定金门槛 ¥${oe(p)}`));return}u()},trigger:"blur"}]};if(D.value>0){const e=`已开启关联支付门槛(¥${oe(D.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function kt(){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=[],Q.value=[],ne.value=[],D.value=0,q.value=null,(t=_e.value)==null||t.clearValidate()}function ma(){const t=D.value;if(t<=0)return;const e=Math.round(t*100)/100;Number(_.amount)<e&&(_.amount=e)}async function Vt(){var e,o;const t=Number(_.patient_id);if(!t){ne.value=[],D.value=0;return}try{Ke.value=!0;const u=await is({diagnosis_id:t}),p=(u==null?void 0:u.lists)??((e=u==null?void 0:u.data)==null?void 0:e.lists)??[];ne.value=Array.isArray(p)?p:[];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,ma()}catch{ne.value=[],D.value=0}finally{Ke.value=!1}}ze(()=>_.patient_id,()=>{_.pay_order_ids=[],Vt()});async function _a(t){var p;if(Number(t==null?void 0:t.void_status)===1){S.msgWarning("已作废处方不可创建业务订单");return}kt(),q.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(),Q.value=[{id:e,patient_name:t.patient_name||"",phone:String(t.phone||"").trim()}]);const o=Number(t.usage_days);o>0&&(_.medication_days=o),me.value=!0,Vt();const u=t.id;if(u&&!_.recipient_phone)try{const d=await ct({id:u}),i=d&&typeof d.phone=="string"?d.phone.trim():"";if(i&&((p=q.value)==null?void 0:p.id)===u){_.recipient_phone=i;const V=Q.value[0];V&&Number(V.id)===e&&(V.phone=i)}}catch{}}async function ca(t){if(!t){Q.value=[];return}try{Ge.value=!0;const e=await searchPatientsAPI({keyword:t,page_no:1,page_size:10});Q.value=(e==null?void 0:e.lists)||[]}catch{Q.value=[]}finally{Ge.value=!1}}function fa(t){const e=Q.value.find(o=>Number(o.id)===Number(t));e&&(_.recipient_name=e.patient_name||"",_.recipient_phone=e.phone||"")}function ga(){T.value>0&&(T.value-=1)}async function va(){const t=_e.value;if(t)try{T.value===0?await t.validateField([...na]):T.value===1&&D.value>0&&await t.validateField(["pay_order_ids"]),T.value<2&&(T.value+=1)}catch{}}async function ba(){if(!(!_e.value||!q.value)&&T.value===2)try{await _e.value.validate(),Be.value=!0;const t=Number(_.patient_id),e={prescription_id:q.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 us(e),u=(o==null?void 0:o.data)??o,p=u==null?void 0:u.order_no;S.msgSuccess(p?`业务订单已创建,单号:${p}`:"业务订单已创建"),me.value=!1,Z()}catch(t){console.error(t)}finally{Be.value=!1}}const Ue=x(!1),$e=x(!1),ht=$(()=>{const t=Ue.value,e=$e.value;return!t&&!e?"":t&&e?"当前处方已作废且已驳回。保存后将取消作废、清除驳回,并重新进入待审核。":t?"当前为已作废处方。保存后将取消作废,并重新进入待审核。":"当前为已驳回处方。保存后将清除驳回,并重新进入待审核。"}),fe=$(()=>{var e;const t=(e=g.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),wt=$(()=>fe.value.filter(t=>W(t.formula_type)==="主方")),Xe=$(()=>fe.value.filter(t=>W(t.formula_type)==="辅方")),ya=$(()=>n.herbs.map((t,e)=>({herb:t,index:e})).filter(({herb:t})=>W(t.formula_type)==="主方")),Nt=$(()=>n.herbs.map((t,e)=>({herb:t,index:e})).filter(({herb:t})=>W(t.formula_type)==="辅方")),St=x(null),Ze=x(!1),Pe=t=>String(t).padStart(2,"0"),xa=$(()=>{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()}-${Pe(u.getMonth()+1)}-${Pe(u.getDate())} ${Pe(u.getHours())}:${Pe(u.getMinutes())}`}return t.prescription_date||"—"}),ka=$(()=>{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}`:"—"):"—"}),Va=$(()=>{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(""):"—"}),Ct=$(()=>{var e;const t=Number((e=g.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),ha=$(()=>{const e=fe.value.reduce((o,u)=>o+(Number(u==null?void 0:u.dosage)||0),0);return ge(e)}),Ut=t=>{const e=Number(t)||0;return ge(e*Ct.value)},wa=$(()=>{const t=g.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),Na=$(()=>{const t=g.value;return t?t.usage_text?t.usage_text:gt(t):"—"}),$t=$(()=>{const t=g.value;if(!t||!Xe.value.length)return"";const e=ft(t.aux_usage,t.prescription_type||"浓缩水丸");return gt({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)}),Pt=$(()=>{const t=g.value;return t&&t.medical_advice||""}),Dt=$(()=>{const t=g.value;if(!t)return"";const e=[];return e.push(`共${fe.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),Rt=$(()=>{const t=g.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),Tt=$(()=>{const t=g.value;if(!t)return"";const e=Sa(t);return e?`${e}克`:""});function Sa(t){if(!t)return"";if((t.prescription_type||"浓缩水丸")==="浓缩水丸"){const p=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(p)&&Number.isFinite(d)&&Number.isFinite(i)&&p>0&&d>0&&i>0)return ge(p*d*i*V)}const e=t.out_pellet||t.total_weight;if(e&&Number(e)>0)return ge(Number(e));const o=fe.value;if(!o.length)return"";const u=o.reduce((p,d)=>p+(Number(d==null?void 0:d.dosage)||0),0);return ge(u*Ct.value)}function ge(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function Ca(){g.value&&te(()=>{try{window.print()}catch(t){console.error(t)}})}async function Ua(){var e,o,u;const t=St.value;if(!t){S.msgWarning("处方笺尚未渲染完成");return}Ze.value=!0;try{await te(),await new Promise(z=>requestAnimationFrame(()=>z(null))),await new Promise(z=>setTimeout(z,250));const p=await Ss(t,{scale:2,backgroundColor:"#ffffff",useCORS:!0,allowTaint:!1,logging:!1,windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight}),d=p.toDataURL("image/jpeg",.95),i=new Cl({unit:"mm",format:"a4",orientation:"portrait"}),V=210,L=297,v=V,K=p.height*v/p.width;if(K<=L)i.addImage(d,"JPEG",0,0,v,K);else{let z=K,Le=0;for(;z>0;)i.addImage(d,"JPEG",0,Le,v,K),z-=L,Le-=L,z>0&&i.addPage()}const ut=((e=g.value)==null?void 0:e.patient_name)||"处方",C=((o=g.value)==null?void 0:o.id)||"",A=((u=g.value)==null?void 0:u.prescription_date)||"";i.save(`处方-${ut}${A?"-"+A:""}${C?"-"+C:""}.pdf`)}catch(p){console.error("下载处方 PDF 失败:",p),S.msgError((p==null?void 0:p.message)||"下载失败,请重试")}finally{Ze.value=!1}}const n=Ne({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:Se("浓缩水丸")}),U=Ne({loading:!1,orderNo:"",medicationDays:null,remarkAssistant:""});function $a(){U.loading=!1,U.orderNo="",U.medicationDays=null,U.remarkAssistant=""}async function Pa(t){if(U.orderNo="",U.medicationDays=null,U.remarkAssistant="",!t){U.loading=!1;return}U.loading=!0;try{const e=await gs({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){U.orderNo=String(u.order_no||"").trim();const p=u.medication_days,d=p!=null&&String(p).trim()!==""?Number(p):NaN;U.medicationDays=Number.isFinite(d)&&d>0?d:null,U.remarkAssistant=String(u.remark_assistant||"").trim()}}catch{}finally{U.loading=!1}}const Ot=x(null);function Da(){var e;const t=Number(n.diagnosis_id);if(!t){S.msgWarning("本处方未关联诊单,无法查看诊单患者信息");return}(e=Ot.value)==null||e.openViewOnly(t)}const De=x(!1);ze(()=>n.prescription_type,t=>{De.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,Se(t)))});const Ra={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 Ta(t){const{audit_filter:e,source_filter:o,creator_ids:u,...p}=t,d={...p,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),ds(d)}const{pager:ve,getLists:Z,resetPage:ee}=ys({fetchFun:Ta,params:w});function At(t){return String(t).padStart(2,"0")}function Et(t){const e=t.getFullYear(),o=At(t.getMonth()+1),u=At(t.getDate()),p=`${e}-${o}-${u}`;return{start:`${p} 00:00:00`,end:`${p} 23:59:59`}}function Oa(t){const e=String(t??"all");if(e==="all")w.start_time="",w.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:p,end:d}=Et(u);w.start_time=p,w.end_time=d}ee()}function Aa(){ee()}function Ea(){ee()}let et=!1;ze(()=>[w.start_time,w.end_time],()=>{if(et)return;const t=w.start_time,e=w.end_time;if(!t&&!e){B.value="all";return}if(!t||!e){B.value="";return}const o=new Date,u=p=>{const d=new Date(o.getFullYear(),o.getMonth(),o.getDate()-p),{start:i,end:V}=Et(d);return t===i&&e===V};u(0)?B.value="today":u(1)?B.value="yesterday":u(2)?B.value="before_yesterday":B.value=""});function La(t){if(t==null||t==="")return"—";if(typeof t=="number"&&t>=1e9&&t<1e11)return Re(t);const e=String(t).trim();return/^\d{10}$/.test(e)?Re(parseInt(e,10)):e}function Fa(){et=!0,B.value="all",w.sn="",w.patient_name="",w.creator_ids=[],w.audit_filter="all",w.source_filter="all",w.start_time="",w.end_time="",et=!1,ee()}function za(t){return t===0?"待审核":t===2?"已驳回":"已通过"}function Ia(t){return t===0?"warning":t===2?"danger":"success"}function ja(t){return Number(t.business_prescription_audit_rejected)===1?"已驳回":za(t.audit_status)}function Ma(t){return Number(t.business_prescription_audit_rejected)===1?"danger":Ia(t.audit_status)}function Lt(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 Re(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 Ha(t){return t?Re(t):"—"}function Wa(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function qa(t){return t==null||t===""?"—":`${t}岁`}function Ya(t){var p;const e=n.herbs[t];if(!e)return`第${t+1}味`;const o=W(e.formula_type);let u=0;for(let d=0;d<=t;d++)W((p=n.herbs[d])==null?void 0:p.formula_type)===o&&u++;return`${o}${u}味`}function Ba(t){if(Number(t==null?void 0:t.has_prescription_order)!==1)return[];const o=je(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 p=new Set,d=new Set;for(const i of o){const V=i.replace(/\s+/g,"").toLowerCase();V&&(p.has(V)?d.add(i):p.add(V))}return d.size>0&&u.push(`已有关联业务订单,当前处方存在重复药材:${Array.from(d).join("、")}`),u}function Ga(t){return{...t,herbs:je(t==null?void 0:t.herbs)}}function Ka(){g.value=null,ue.value=null}function zt(t){const e=G.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*ae,p=(t.clientY-o.top)/o.height*le;return{x:Math.max(0,Math.min(ae,u)),y:Math.max(0,Math.min(le,p))}}function tt(){const t=G.value;t&&(n.doctor_signature=t.toDataURL("image/png")),te(()=>{var e;(e=X.value)==null||e.validateField("doctor_signature").catch(()=>{})})}function Ja(t){if(t.pointerType==="mouse"&&t.button!==0)return;const e=G.value,o=e==null?void 0:e.getContext("2d");if(!e||!o)return;e.setPointerCapture(t.pointerId),ue.value=t.pointerId;const{x:u,y:p}=zt(t);o.beginPath(),o.moveTo(u,p)}function Qa(t){var p;if(ue.value!==t.pointerId)return;const e=(p=G.value)==null?void 0:p.getContext("2d");if(!e)return;const{x:o,y:u}=zt(t);e.lineTo(o,u),e.stroke(),e.beginPath(),e.moveTo(o,u)}function It(t){if(ue.value!==t.pointerId)return;ue.value=null;const e=G.value;if(e)try{e.releasePointerCapture(t.pointerId)}catch{}tt()}function Xa(){jt(),n.doctor_signature="",te(()=>{var t;(t=X.value)==null||t.validateField("doctor_signature").catch(()=>{})})}function jt(){const t=G.value;if(!t)return;const e=Math.min(typeof window<"u"&&window.devicePixelRatio||1,2.5);t.style.width=`${ae}px`,t.style.height=`${le}px`,t.width=Math.round(ae*e),t.height=Math.round(le*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,ae,le),o.strokeStyle="#333",o.lineWidth=2.5,o.lineCap="round",o.lineJoin="round")}function Mt(){R.value!=="view"&&te(()=>{setTimeout(()=>{jt();const t=n.doctor_signature;if(t&&String(t).trim().startsWith("data:image")&&G.value){const e=new Image;e.onload=()=>{const o=G.value,u=o==null?void 0:o.getContext("2d");!o||!u||(u.drawImage(e,0,0,ae,le),tt())},e.onerror=()=>{tt()},e.src=t}},100)})}function Za(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 el(t){yt.value=t.id,se.value="",de.value=!0}async function Ht(t){if(t==="reject"&&!se.value.trim()){S.msgError("驳回时请填写审核意见");return}Ce.value=!0;try{const e=await ps({id:yt.value,action:t,remark:se.value.trim()});S.msgSuccess(t==="reject"?"已驳回并作废处方":"审核通过"),e&&e.wecom_notify_ok===!1&&e.wecom_notify_hint&&S.msgWarning(e.wecom_notify_hint),de.value=!1,Z()}catch{}finally{Ce.value=!1}}async function tl(){try{const t=await bs({});bt.value=Array.isArray(t)?t:[]}catch{bt.value=[]}}const be=x(!1),at=x(!1),lt=x([]),Te=x(""),Oe=x(""),ye=x("replace"),xe=x(1),st=x(15),nt=x(0),Wt=$(()=>{var o;const t=Number(n.creator_id);if(t>0)return t;const e=Number((o=ie.userInfo)==null?void 0:o.id);return e>0?e:0});function al(t){return String(t||"").trim().toLowerCase()}function qt(){const t=new Map;for(const e of n.herbs){const o=al(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 Ae=async()=>{const t=Wt.value;if(!t){S.msgWarning("无法确定开方医师,无法加载处方库"),lt.value=[],nt.value=0;return}at.value=!0;try{const e=await ms({page_no:xe.value,page_size:st.value,prescription_name:Te.value,formula_type:Oe.value,prescribing_creator_id:t});lt.value=(e==null?void 0:e.lists)||[],nt.value=(e==null?void 0:e.count)||0}catch(e){console.error(e),S.msgError("加载处方库失败")}finally{at.value=!1}},Ee=()=>{xe.value=1,Ae()},ll=()=>{if(!Wt.value){S.msgWarning("无法确定开方医师,无法从处方库导入");return}be.value=!0},sl=t=>{Yt(t)},Yt=t=>{if(!t.herbs||t.herbs.length===0){S.msgWarning("该处方没有药材信息");return}const e=W(t.formula_type),o=JSON.parse(JSON.stringify(t.herbs)).map(p=>({...Ie(p),formula_type:e}));if(ye.value==="replace"){const p=n.herbs.filter(d=>W(d.formula_type)!==e);n.herbs=[...p,...o]}else n.herbs.push(...o);const u=ye.value==="append"?"(已追加)":"";qt().length?S.msgWarning(`已导入处方「${t.prescription_name}${u},共${o.length}味药材。存在重复药名,请合并剂量或删除多余行`):S.msgSuccess(`已导入处方「${t.prescription_name}${u},共${o.length}味药材`),be.value=!1};ze(be,t=>{t&&(Te.value="",Oe.value="",ye.value="replace",xe.value=1,Ae())});const ke=x(!1),Ve=x(""),ot=x("replace"),rt=x(!1),nl=/^(用法|用量|医嘱|忌口|水煎服|空腹|饭后|温水|内服|外用|备注|顿服|分服|ml|毫升|[×xX]\s*\d)/;function ol(t){let e=t.replace(/\r\n/g,`
`).replace(/\r/g,`
`);return e=e.replace(/[-]/g,o=>String.fromCharCode(o.charCodeAt(0)-65296+48)),e.trim()}function rl(t){return t.replace(/^\s*Rp[::**\s]*/i,"").replace(/^\s*处方[:\s]*/,"").replace(/^\s*中药处方[:\s]*/,"").trimStart()}function it(t){return t.replace(/[^]*$/u,"").replace(/\([^)]*\)$/u,"").trim()}function Bt(t){const e=t.trim();if(!e||nl.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:it(V),dosage:d})):null}const u=e.match(/^(.+?)\s*(\d+(?:\.\d+)?)\s*(?:克|g|G|钱)?$/i);if(u){const d=it(u[1].trim()),i=parseFloat(u[2]);return!d||!Number.isFinite(i)||i<=0?null:[{name:d,dosage:i}]}const p=it(e);return p.length>=2&&p.length<=16?[{name:p,dosage:6}]:null}function il(t){const e=rl(ol(t)),o=[];for(const u of e.split(/\n+/)){const p=u.trim();if(p)for(const d of p.split(/[、,,;]/)){const i=d.trim();if(i)if(/\s/.test(i)&&!Bt(i)){const V=i.split(/\s+(?=[\u4e00-\u9fff]{2,})/);for(const L of V){const v=L.trim();v&&o.push(v)}}else o.push(i)}}return o}function ul(t){const e=[];for(const o of il(t)){const u=Bt(o);u&&e.push(...u)}return e}async function dl(t){const e=t.trim();if(!e)return null;try{const p=((await vs({name:e,page_no:1,page_size:200,status:1})).lists||[]).find(d=>(d.name??"").trim()===e);return p?p.name.trim():null}catch{return null}}function pl(){ke.value=!0}async function ml(){const t=ul(Ve.value);if(!t.length){S.msgWarning("未能从文本中解析出药材,请检查格式(药名 + 剂量,或用顿号/换行分隔)");return}rt.value=!0;try{const e=[],o=[];for(const i of t){const V=await dl(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){S.msgWarning(u.length?`药品库中无以下完全同名药材,未录入:${u.join("、")}`:"未能匹配到药品库中的药材");return}if(ot.value==="replace"){const i=n.herbs.filter(V=>W(V.formula_type)==="辅方");n.herbs=[...i,...e]}else n.herbs.push(...e);const p=qt(),d=u.length>0?`;药品库未收录已跳过:${u.join("、")}`:"";p.length?S.msgWarning(`已导入 ${e.length} 味药材${d}。存在重复药名:${p.join("、")},请合并剂量或删除多余行`):u.length?S.msgSuccess(`已导入 ${e.length} 味药材${d},请核对剂量`):S.msgSuccess(`已导入 ${e.length} 味药材,请核对药名与剂量`),ke.value=!1,Ve.value=""}finally{rt.value=!1}}const Gt=(t="主方")=>{n.herbs.push({name:"",dosage:0,formula_type:t})},Kt=t=>{n.herbs.splice(t,1)},_l=()=>{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=ie.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,Se("浓缩水丸")),$a()},cl=()=>{var t;_l(),n.doctor_name=String(((t=ie.userInfo)==null?void 0:t.name)||""),Ue.value=!1,$e.value=!1,R.value="add",De.value=!1,J.value=!0,te(()=>{var e;(e=X.value)==null||e.clearValidate(),Mt()})},fl=async t=>{Ue.value=!1,$e.value=!1,R.value="view",g.value=Ga(t),J.value=!0,We.value=!0;try{const e=await ct({id:t.id});e&&typeof e=="object"&&(g.value={...e,herbs:je(e.herbs)})}catch(e){S.msgError((e==null?void 0:e.msg)||"加载处方详情失败")}finally{We.value=!1}},gl=async t=>{Ue.value=Number(t.void_status)===1,$e.value=Number(t.audit_status)===2,R.value="edit",De.value=!0;let e=t;if(t!=null&&t.id&&!t.doctor_signature)try{const o=await ct({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=>Ie(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=Za(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,ft(e.aux_usage,n.prescription_type)),setTimeout(()=>{De.value=!1},0),J.value=!0,Pa(Number(n.id)),te(()=>{var o;(o=X.value)==null||o.clearValidate(),Mt()})},vl=async()=>{if(X.value){try{await X.value.validate()}catch{return}if(!n.herbs||n.herbs.length===0){S.msgError("请至少添加一味药材");return}for(let t=0;t<n.herbs.length;t++){const e=n.herbs[t],o=Ya(t);if(!e.name||!e.name.trim()){S.msgError(`${o}药材名称不能为空`);return}if(!e.dosage||e.dosage<=0){S.msgError(`${o}药材剂量必须大于0`);return}}He.value=!0;try{const t={...n};R.value==="add"?(t.audit_status=0,await _s(t),S.msgSuccess("添加成功,已提交审核")):(await cs(t),S.msgSuccess("保存成功,处方已重新进入待审核")),J.value=!1,Z()}catch(t){console.error(t)}finally{He.value=!1}}},bl=async t=>{await S.confirm("确定要删除该处方吗?"),await fs({id:t}),S.msgSuccess("删除成功"),Z()};return Cs(async()=>{var t;await tl(),await ra(),await ia();try{const e=await os();Me.value=Array.isArray(e)?e:[]}catch{Me.value=[]}try{(t=ie.userInfo)!=null&&t.id||await ie.getUserInfo()}catch{}Z()}),(t,e)=>{const o=$l,u=Ul,p=Rl,d=Dl,i=Ol,V=Tl,L=Pl,v=Al,K=El,ut=ls,C=zl,A=Il,z=Fl,Le=ts,re=jl,h=Hl,M=Ml,I=Wl,F=ql,yl=Yl,xl=Bl,he=Gl,dt=Jl,kl=Kl,Vl=Ql,hl=Xl,wl=Zl,Nl=es,H=Us("perms"),Fe=Ll;return m(),b("div",Rs,[a(K,{class:"filter-toolbar",shadow:"never","body-style":{padding:"10px 14px"}},{default:s(()=>[r("div",Ts,[r("div",Os,[e[101]||(e[101]=r("span",{class:"pl-toolbar__k",title:"按处方创建时间"},"创建时间",-1)),a(u,{modelValue:B.value,"onUpdate:modelValue":e[0]||(e[0]=l=>B.value=l),size:"small",class:"pl-toolbar__rg",onChange:Oa},{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(xs,{class:"pl-toolbar__range",startTime:w.start_time,"onUpdate:startTime":e[1]||(e[1]=l=>w.start_time=l),endTime:w.end_time,"onUpdate:endTime":e[2]||(e[2]=l=>w.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:w.audit_filter,"onUpdate:modelValue":e[3]||(e[3]=l=>w.audit_filter=l),size:"small",class:"pl-toolbar__rg pl-toolbar__rg--audit",onChange:Aa},{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:w.source_filter,"onUpdate:modelValue":e[4]||(e[4]=l=>w.source_filter=l),size:"small",class:"pl-toolbar__rg pl-toolbar__rg--source",onChange:Ea},{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",As,[a(L,{model:w,inline:"",class:"pl-toolbar__form"},{default:s(()=>[a(d,{label:"处方编号",class:"!mb-0"},{default:s(()=>[a(p,{modelValue:w.sn,"onUpdate:modelValue":e[5]||(e[5]=l=>w.sn=l),placeholder:"编号",clearable:"",class:"pl-toolbar__input",onKeyup:mt(j(ee),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{label:"患者",class:"!mb-0"},{default:s(()=>[a(p,{modelValue:w.patient_name,"onUpdate:modelValue":e[6]||(e[6]=l=>w.patient_name=l),placeholder:"姓名",clearable:"",class:"pl-toolbar__input",onKeyup:mt(j(ee),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{label:"医师",class:"!mb-0"},{default:s(()=>[a(V,{modelValue:w.creator_ids,"onUpdate:modelValue":e[7]||(e[7]=l=>w.creator_ids=l),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",filterable:"",clearable:"",placeholder:"全部医师",class:"pl-toolbar__select pl-toolbar__select--doctors"},{default:s(()=>[(m(!0),b(E,null,Y(Me.value,l=>(m(),k(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",Es,[a(v,{type:"primary",onClick:j(ee)},{default:s(()=>[...e[106]||(e[106]=[c("查询",-1)])]),_:1},8,["onClick"]),a(v,{onClick:Fa},{default:s(()=>[...e[107]||(e[107]=[c("重置",-1)])]),_:1})])])])]),_:1}),O((m(),k(K,{class:"mt-3 table-card",shadow:"never"},{default:s(()=>[r("div",Ls,[e[110]||(e[110]=r("span",{class:"pl-table-head__title"},"处方列表",-1)),r("div",Fs,[O((m(),k(v,{onClick:Zt},{default:s(()=>[...e[108]||(e[108]=[c(" 业务订单 ",-1)])]),_:1})),[[H,["tcm.prescriptionOrder/lists"]]]),O((m(),k(v,{type:"primary",onClick:cl},{icon:s(()=>[a(ut,{name:"el-icon-Plus"})]),default:s(()=>[e[109]||(e[109]=c(" 新增处方 ",-1))]),_:1})),[[H,["cf.prescription/add"]]])])]),r("div",zs,[a(z,{data:j(ve).lists,size:"default",stripe:""},{default:s(()=>[a(C,{label:"处方编号","min-width":"160"},{default:s(({row:l})=>[r("span",Is,f(l.sn||"—"),1),r("div",js,"ID: "+f(l.id),1),(m(!0),b(E,null,Y(Ba(l),(N,pt)=>(m(),b("div",{key:`rx-order-warn-${l.id}-${pt}`,class:"text-xs text-red-600 mt-0.5 leading-snug"},f(N),1))),128))]),_:1}),a(C,{label:"处方类型","min-width":"100"},{default:s(({row:l})=>[a(A,{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?(m(),k(A,{key:0,type:"warning",size:"small",effect:"plain"},{default:s(()=>[...e[111]||(e[111]=[c(" 系统代开 ",-1)])]),_:1})):(m(),b("span",Ms,"手工"))]),_:1}),a(C,{label:"患者信息","min-width":"110"},{default:s(({row:l})=>[r("div",Hs,f(l.patient_name||"—"),1),r("div",Ws,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",qs,[r("div",Ys,[a(A,{type:Ma(l)},{default:s(()=>[c(f(ja(l)),1)]),_:2},1032,["type"]),Number(l.business_prescription_audit_rejected)===1?(m(),b("span",Bs," (业务订单审核) ")):y("",!0)]),Lt(l).length?(m(!0),b(E,{key:0},Y(Lt(l),(N,pt)=>(m(),b("div",{key:pt,class:"text-xs text-red-600 leading-snug line-clamp-3",title:N},f(N),9,Gs))),128)):y("",!0)])]),_:1}),a(C,{label:"作废","min-width":"80",align:"center"},{default:s(({row:l})=>[l.void_status===1?(m(),k(A,{key:0,type:"danger",size:"small"},{default:s(()=>[...e[112]||(e[112]=[c("作废",-1)])]),_:1})):(m(),b("span",Ks,"—"))]),_:1}),a(C,{label:"医师信息","min-width":"120"},{default:s(({row:l})=>[r("div",Js,f(l.doctor_name||"—"),1),r("div",Qs,f(l.prescription_date||"—"),1)]),_:1}),a(C,{label:"医助","min-width":"90"},{default:s(({row:l})=>[r("div",Xs,f(l.assistant_name||"—"),1)]),_:1}),a(C,{label:"创建时间","min-width":"160"},{default:s(({row:l})=>[c(f(La(l.create_time)),1)]),_:1}),a(C,{label:"操作",width:"300",fixed:"right"},{default:s(({row:l})=>[O((m(),k(v,{type:"primary",link:"",onClick:N=>fl(l)},{default:s(()=>[...e[113]||(e[113]=[c(" 查看 ",-1)])]),_:1},8,["onClick"])),[[H,["cf.prescription/read"]]]),Number(l.void_status)!==1?O((m(),k(v,{key:0,type:"primary",link:"",onClick:N=>ta(l)},{default:s(()=>[...e[114]||(e[114]=[c(" 改姓名手机 ",-1)])]),_:1},8,["onClick"])),[[H,["tcm.prescription/patchPatient"]]]):y("",!0),!Number(l.has_prescription_order)&&Number(l.void_status)!==1?O((m(),k(v,{key:1,type:"success",link:"",onClick:N=>_a(l)},{default:s(()=>[...e[115]||(e[115]=[c(" 创建订单 ",-1)])]),_:1},8,["onClick"])),[[H,["tcm.prescriptionOrder/create"]]]):y("",!0),Ft(l)?y("",!0):O((m(),k(v,{key:2,type:"primary",link:"",onClick:N=>gl(l)},{default:s(()=>[...e[116]||(e[116]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[H,["cf.prescription/edit"]]]),l.audit_status===0&&l.void_status!==1?O((m(),k(v,{key:3,type:"warning",link:"",onClick:N=>el(l)},{default:s(()=>[...e[117]||(e[117]=[c(" 审核 ",-1)])]),_:1},8,["onClick"])),[[H,["cf.prescription/audit"]]]):y("",!0),Ft(l)?y("",!0):O((m(),k(v,{key:4,type:"danger",link:"",onClick:N=>bl(l.id)},{default:s(()=>[...e[118]||(e[118]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[H,["cf.prescription/del"]]])]),_:1})]),_:1},8,["data"])]),r("div",Zs,[a(Le,{modelValue:j(ve),"onUpdate:modelValue":e[8]||(e[8]=l=>Ps(ve)?ve.value=l:null),onChange:j(Z)},null,8,["modelValue","onChange"])])]),_:1})),[[Fe,j(ve).loading]]),a(xl,{modelValue:J.value,"onUpdate:modelValue":e[48]||(e[48]=l=>J.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:Ka},{footer:s(()=>[R.value==="view"?(m(),k(v,{key:0,onClick:e[46]||(e[46]=l=>J.value=!1)},{default:s(()=>[...e[174]||(e[174]=[c("关闭",-1)])]),_:1})):(m(),b(E,{key:1},[a(v,{onClick:e[47]||(e[47]=l=>J.value=!1)},{default:s(()=>[...e[175]||(e[175]=[c("取消",-1)])]),_:1}),a(v,{type:"primary",onClick:vl,loading:He.value},{default:s(()=>[...e[176]||(e[176]=[c(" 确定 ",-1)])]),_:1},8,["loading"])],64))]),default:s(()=>[R.value==="view"?O((m(),b("div",en,[r("div",tn,[g.value&&Number(g.value.is_system_auto)===1?(m(),k(A,{key:0,type:"warning",size:"small",effect:"plain"},{default:s(()=>[...e[119]||(e[119]=[c("系统代开",-1)])]),_:1})):y("",!0),g.value&&Number(g.value.void_status)===1?(m(),k(A,{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?(m(),k(A,{key:2,type:"danger",size:"small"},{default:s(()=>[...e[121]||(e[121]=[c("业务订单已驳回",-1)])]),_:1})):g.value&&Number(g.value.audit_status)===1?(m(),k(A,{key:3,type:"success",size:"small"},{default:s(()=>[...e[122]||(e[122]=[c("已通过",-1)])]),_:1})):g.value&&Number(g.value.audit_status)===0?(m(),k(A,{key:4,type:"warning",size:"small"},{default:s(()=>[...e[123]||(e[123]=[c("待审核",-1)])]),_:1})):g.value?(m(),k(A,{key:5,type:"danger",size:"small"},{default:s(()=>[...e[124]||(e[124]=[c("已驳回",-1)])]),_:1})):y("",!0),e[127]||(e[127]=r("div",{class:"flex-1"},null,-1)),a(v,{icon:j(ks),size:"small",onClick:Ca},{default:s(()=>[...e[125]||(e[125]=[c("打印",-1)])]),_:1},8,["icon"]),a(v,{type:"primary",icon:j(Vs),size:"small",loading:Ze.value,onClick:Ua},{default:s(()=>[...e[126]||(e[126]=[c(" 下载 PDF (A4) ",-1)])]),_:1},8,["icon","loading"])]),g.value&&Number(g.value.void_status)===1?(m(),b("div",an," 作废人:"+f(g.value.void_by_name||"—")+",作废时间:"+f(Ha(g.value.void_time)),1)):g.value&&Number(g.value.business_prescription_audit_rejected)===1?(m(),b("div",ln,[e[128]||(e[128]=r("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),g.value.business_prescription_audit_remark?(m(),b("div",sn," 驳回意见:"+f(g.value.business_prescription_audit_remark),1)):y("",!0)])):g.value&&Number(g.value.audit_status)===2?(m(),b("div",nn,[e[129]||(e[129]=r("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),g.value.audit_remark?(m(),b("div",on,"驳回意见:"+f(g.value.audit_remark),1)):y("",!0)])):y("",!0),g.value?(m(),b("div",{key:3,ref_key:"rxPaperRef",ref:St,class:"rx-paper"},[r("div",rn,[e[130]||(e[130]=r("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),r("span",un,[r("span",null,"日期:"+f(xa.value),1),r("span",null,"编号:"+f(ka.value),1)])]),r("div",dn,[r("div",pn,[r("div",mn,[e[131]||(e[131]=r("span",{class:"rx-key"},"姓名",-1)),r("span",_n,f(g.value.patient_name||"—"),1)]),r("div",cn,[e[132]||(e[132]=r("span",{class:"rx-key"},"性别",-1)),r("span",fn,f(Wa(g.value.gender)),1)]),r("div",gn,[e[133]||(e[133]=r("span",{class:"rx-key"},"年龄",-1)),r("span",vn,f(qa(g.value.age)),1)]),r("div",bn,[e[134]||(e[134]=r("span",{class:"rx-key"},"电话",-1)),r("span",yn,f(g.value.phone||"—"),1)])]),r("div",xn,[r("div",kn,[e[135]||(e[135]=r("span",{class:"rx-key"},"收件信息",-1)),r("span",Vn,f(Va.value),1)])]),r("div",hn,[r("div",wn,[e[136]||(e[136]=r("span",{class:"rx-key"},"临床诊断",-1)),r("span",Nn,f(g.value.clinical_diagnosis||"—"),1)])])]),r("div",Sn,[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",Cn,[wt.value.length?(m(),b(E,{key:0},[e[137]||(e[137]=r("div",{class:"rx-herb-section-label"},"主方",-1)),(m(!0),b(E,null,Y(wt.value,(l,N)=>(m(),b("div",{key:"main-"+N,class:"rx-herb-cell"},[r("span",Un,f(l.name)+" ("+f(l.dosage)+"克)",1),r("span",$n,f(Ut(l.dosage))+"克",1)]))),128))],64)):y("",!0),Xe.value.length?(m(),b(E,{key:1},[e[138]||(e[138]=r("div",{class:"rx-herb-section-label rx-herb-section-label--aux"},"辅方",-1)),(m(!0),b(E,null,Y(Xe.value,(l,N)=>(m(),b("div",{key:"aux-"+N,class:"rx-herb-cell"},[r("span",Pn,f(l.name)+" ("+f(l.dosage)+"克)",1),r("span",Dn,f(Ut(l.dosage))+"克",1)]))),128))],64)):y("",!0)])]),r("div",Rn,[r("p",null,"主方服法:"+f(Na.value),1),$t.value?(m(),b("p",Tn,"辅方服法:"+f($t.value),1)):y("",!0),Pt.value?(m(),b("p",On,"医嘱:"+f(Pt.value),1)):y("",!0),Dt.value?(m(),b("p",An,"备注:"+f(Dt.value),1)):y("",!0),Rt.value?(m(),b("p",En," 药房备注:"+f(Rt.value),1)):y("",!0),Tt.value?(m(),b("p",Ln," 出丸:"+f(Tt.value),1)):y("",!0)]),r("div",Fn,[r("div",zn,[r("div",In,[e[141]||(e[141]=r("div",{class:"rx-bot-label"},"医师",-1)),r("div",jn,[g.value.doctor_signature?(m(),b("img",{key:0,src:g.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,Mn)):y("",!0),r("div",Hn,f(g.value.doctor_name||"—"),1)])]),r("div",Wn,[e[142]||(e[142]=r("span",{class:"rx-bot-meta-key"},"类型:",-1)),r("span",qn,f(wa.value),1)]),r("div",Yn,[e[143]||(e[143]=r("span",{class:"rx-bot-meta-key"},"天数:",-1)),r("span",Bn,f(g.value.dose_count||"—")+"剂",1)]),r("div",Gn,[e[144]||(e[144]=r("span",{class:"rx-bot-meta-key"},"单剂量:",-1)),r("span",Kn,f(ha.value)+"克",1)])])])],512)):y("",!0),g.value&&(g.value.audit_by_name||g.value.audit_remark)?(m(),b("div",Jn,[g.value.audit_by_name?(m(),b("div",Qn,[c(" 审核人:"+f(g.value.audit_by_name)+" ",1),g.value.audit_time?(m(),b("span",Xn,f(Re(g.value.audit_time)),1)):y("",!0)])):y("",!0),g.value.audit_remark?(m(),b("div",Zn,"审核意见:"+f(g.value.audit_remark),1)):y("",!0)])):y("",!0)])),[[Fe,We.value]]):(m(),k(L,{key:1,ref_key:"formRef",ref:X,model:n,rules:Ra,"label-width":"120px"},{default:s(()=>[R.value==="edit"&&Number(n.is_system_auto)===1?(m(),k(re,{key:0,type:"warning",closable:!1,"show-icon":"",class:"mb-4",title:"本处方为系统自动生成(如挂号完成),默认无药材配方,请补充药材与诊断等信息后再保存。"})):y("",!0),R.value==="edit"?(m(),k(re,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4",title:"保存修改后,该处方将重新进入「待审核」,需审核人员再次通过后方可生效。"})):y("",!0),R.value==="edit"&&Number(n.audit_status)===2?(m(),k(re,{key:2,type:"error",closable:!1,"show-icon":"",class:"mb-4"},{title:s(()=>[...e[145]||(e[145]=[c("当前消费者处方为「已驳回」",-1)])]),default:s(()=>[r("div",eo," 保存修改后将清除驳回并变为「待审核」。"+f(n.audit_remark?`上次意见:${n.audit_remark}`:""),1)]),_:1})):y("",!0),R.value==="edit"&&Number(n.business_prescription_audit_rejected)===1&&Number(n.audit_status)===1?(m(),k(re,{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()?(m(),b("div",to," 驳回意见:"+f(n.business_prescription_audit_remark),1)):y("",!0)]),_:1})):y("",!0),R.value==="edit"&&ht.value?(m(),k(re,{key:4,type:"warning",closable:!1,"show-icon":"",class:"mb-4",title:ht.value},null,8,["title"])):y("",!0),Number(n.diagnosis_id)>0?(m(),b("div",ao,[a(v,{type:"primary",size:"small",onClick:Da},{default:s(()=>[...e[148]||(e[148]=[c(" 查看患者诊单详情 ",-1)])]),_:1}),r("span",lo,"关联诊单 #"+f(n.diagnosis_id),1)])):y("",!0),a(M,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"患者姓名",prop:"patient_name"},{default:s(()=>[a(p,{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(p,{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(M,{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(F,{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(yl,{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(M,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"面象",prop:"tongue"},{default:s(()=>[a(p,{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(p,{modelValue:n.tongue_image,"onUpdate:modelValue":e[15]||(e[15]=l=>n.tongue_image=l),placeholder:"请输入舌象"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(M,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"脉象",prop:"pulse"},{default:s(()=>[a(p,{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(p,{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(p,{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",so,[r("div",no,[O((m(),k(v,{type:"success",size:"small",onClick:ll},{default:s(()=>[...e[151]||(e[151]=[c(" 从处方库导入 ",-1)])]),_:1})),[[H,["cf.prescription/add","cf.prescription/edit","tcm.prescriptionLibrary/lists"]]]),a(v,{type:"warning",size:"small",plain:"",icon:j(hs),onClick:pl},{default:s(()=>[...e[152]||(e[152]=[c(" 导入药方 ",-1)])]),_:1},8,["icon"]),e[153]||(e[153]=r("span",{class:"text-xs text-gray-500"}," 粘贴文本解析药名与剂量;须与药品库名称完全一致才录入(导入至主方) ",-1))]),r("div",oo,[r("div",ro,[a(A,{type:"primary",size:"small"},{default:s(()=>[...e[154]||(e[154]=[c("主方",-1)])]),_:1}),a(v,{type:"primary",size:"small",onClick:e[19]||(e[19]=l=>Gt("主方"))},{default:s(()=>[...e[155]||(e[155]=[c("添加主方药材",-1)])]),_:1})]),a(z,{data:ya.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(Jt,{modelValue:n.herbs[l.index].name,"onUpdate:modelValue":N=>n.herbs[l.index].name=N,class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),a(C,{label:"剂量(克)","min-width":"120"},{default:s(({row:l})=>[a(F,{modelValue:n.herbs[l.index].dosage,"onUpdate:modelValue":N=>n.herbs[l.index].dosage=N,min:0,precision:1,step:.5,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),a(C,{label:"操作",width:"80"},{default:s(({row:l})=>[a(v,{type:"danger",link:"",onClick:N=>Kt(l.index)},{default:s(()=>[...e[156]||(e[156]=[c("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),r("div",io,[r("div",uo,[a(A,{type:"warning",size:"small"},{default:s(()=>[...e[157]||(e[157]=[c("辅方",-1)])]),_:1}),a(v,{type:"primary",size:"small",plain:"",onClick:e[20]||(e[20]=l=>Gt("辅方"))},{default:s(()=>[...e[158]||(e[158]=[c(" 添加辅方药材 ",-1)])]),_:1})]),a(z,{data:Nt.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(Jt,{modelValue:n.herbs[l.index].name,"onUpdate:modelValue":N=>n.herbs[l.index].name=N,class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),a(C,{label:"剂量(克)","min-width":"120"},{default:s(({row:l})=>[a(F,{modelValue:n.herbs[l.index].dosage,"onUpdate:modelValue":N=>n.herbs[l.index].dosage=N,min:0,precision:1,step:.5,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),a(C,{label:"操作",width:"80"},{default:s(({row:l})=>[a(v,{type:"danger",link:"",onClick:N=>Kt(l.index)},{default:s(()=>[...e[159]||(e[159]=[c("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),R.value==="edit"?O((m(),k(re,{key:0,type:"warning",closable:!1,"show-icon":"",class:"mt-3"},{title:s(()=>[...e[160]||(e[160]=[c("业务订单要求(请与本处方保持一致)",-1)])]),default:s(()=>[r("div",po,[U.orderNo||U.medicationDays!=null||U.remarkAssistant?(m(),b(E,{key:0},[U.orderNo?(m(),b("p",mo,[e[161]||(e[161]=c(" 最近关联订单(按创建倒序): ",-1)),r("span",_o,f(U.orderNo),1)])):y("",!0),r("p",co,[e[162]||(e[162]=r("span",{class:"font-semibold"},"服用天数(订单)",-1)),c(" "+f(U.medicationDays!=null?`${U.medicationDays} 天`:"— 订单未填写"),1)]),r("p",null,[e[163]||(e[163]=r("span",{class:"font-semibold"},"医助备注(订单)",-1)),e[164]||(e[164]=c(" ",-1)),r("span",fo,f(U.remarkAssistant||"— 无"),1)])],64)):U.loading?y("",!0):(m(),b("p",go,[...e[165]||(e[165]=[c(" 当前处方暂无关联业务订单,或您无订单列表权限;若有订单,将在此处显示订单内 ",-1),r("span",{class:"font-semibold"},"服用天数",-1),c("与 ",-1),r("span",{class:"font-semibold"},"医助备注",-1),c("。 ",-1)])]))])]),_:1})),[[Fe,U.loading]]):y("",!0)])]),_:1}),a(M,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"剂数",prop:"dose_count"},{default:s(()=>[a(F,{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[173]||(e[173]=r("div",{class:"usage-formula-title usage-formula-title--main"},"主方用法",-1)),a(M,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"用量",prop:"dosage_amount"},{default:s(()=>[n.prescription_type==="浓缩水丸"?(m(),k(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==="饮片"?(m(),k(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"])):(m(),k(F,{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==="浓缩水丸"?(m(),k(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})):y("",!0),n.prescription_type==="饮片"?(m(),k(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[166]||(e[166]=[c("代煎",-1)])]),_:1}),a(I,{label:!1},{default:s(()=>[...e[167]||(e[167]=[c("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):y("",!0),n.prescription_type==="饮片"?(m(),k(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})):y("",!0),a(h,{span:8},{default:s(()=>[a(d,{label:"每天几次",prop:"times_per_day"},{default:s(()=>[a(F,{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(F,{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}),Nt.value.length>0?(m(),b(E,{key:6},[e[170]||(e[170]=r("div",{class:"usage-formula-title usage-formula-title--aux"},"辅方用法",-1)),a(M,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"用量"},{default:s(()=>[n.prescription_type==="浓缩水丸"?(m(),k(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(()=>[(m(),b(E,null,Y(10,l=>a(i,{key:l,label:l+"g",value:l},null,8,["label","value"])),64))]),_:1},8,["modelValue"])):n.prescription_type==="饮片"?(m(),k(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"])):(m(),k(F,{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==="浓缩水丸"?(m(),k(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})):y("",!0),n.prescription_type==="饮片"?(m(),k(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[168]||(e[168]=[c("代煎",-1)])]),_:1}),a(I,{label:!1},{default:s(()=>[...e[169]||(e[169]=[c("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):y("",!0),n.prescription_type==="饮片"?(m(),k(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(()=>[(m(),b(E,null,Y(9,l=>a(i,{key:l,label:l+"包",value:l},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})):y("",!0),a(h,{span:8},{default:s(()=>[a(d,{label:"每天几次"},{default:s(()=>[a(F,{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(F,{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)):y("",!0),a(d,{label:"用法",prop:"usage_instruction"},{default:s(()=>[a(p,{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(M,{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(p,{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(p,{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",vo,[r("canvas",{ref_key:"signatureCanvasRef",ref:G,class:"signature-canvas",onPointerdown:we(Ja,["prevent"]),onPointermove:we(Qa,["prevent"]),onPointerup:we(It,["prevent"]),onPointercancel:we(It,["prevent"])},null,544),r("div",bo,[a(v,{size:"small",onClick:Xa},{default:s(()=>[...e[171]||(e[171]=[c("清空签名",-1)])]),_:1})])]),e[172]||(e[172]=r("div",{class:"text-xs text-amber-600 mt-1"},"* 必填,请在框内手写医师签名",-1))]),_:1})]),_:1},8,["model"]))]),_:1},8,["modelValue","title","size"]),a(he,{modelValue:pe.value,"onUpdate:modelValue":e[53]||(e[53]=l=>pe.value=l),title:"修正姓名、性别与手机号",width:"440px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:aa},{footer:s(()=>[a(v,{onClick:e[52]||(e[52]=l=>pe.value=!1)},{default:s(()=>[...e[179]||(e[179]=[c("取消",-1)])]),_:1}),a(v,{type:"primary",loading:qe.value,onClick:la},{default:s(()=>[...e[180]||(e[180]=[c(" 保存 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[a(L,{ref_key:"patchPatientFormRef",ref:Ye,model:P,rules:ea,"label-width":"88px"},{default:s(()=>[a(d,{label:"处方编号"},{default:s(()=>[r("span",yo,"#"+f(P.id||"—"),1)]),_:1}),a(d,{label:"患者姓名",prop:"patient_name"},{default:s(()=>[a(p,{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[177]||(e[177]=[c("男",-1)])]),_:1}),a(I,{label:0},{default:s(()=>[...e[178]||(e[178]=[c("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"手机号",prop:"phone"},{default:s(()=>[a(p,{modelValue:P.phone,"onUpdate:modelValue":e[51]||(e[51]=l=>P.phone=l),maxlength:"20",placeholder:"处方笺展示手机号"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),e[181]||(e[181]=r("p",{class:"text-xs text-gray-500 -mt-2 mb-2"}," 仅更新处方表 patient_name、gender、phone,不改变审核状态;记录写入业务订单操作日志(有关联订单时可在此订单日志中查看)。 ",-1))]),_:1},8,["modelValue"]),a(he,{modelValue:me.value,"onUpdate:modelValue":e[71]||(e[71]=l=>me.value=l),title:"创建业务订单",width:"940px",top:"4vh","close-on-click-modal":!1,onClosed:kt,class:"create-order-dialog"},{footer:s(()=>[r("div",qo,[r("div",Yo,[r("span",Bo,"第 "+f(T.value+1)+" / 3 步",1),T.value===2&&D.value>0?(m(),b("span",Go," 订单金额与关联支付单合计须 ≥ ¥"+f(oe(D.value)),1)):y("",!0)]),r("div",Ko,[a(v,{size:"large",onClick:e[70]||(e[70]=l=>me.value=!1)},{default:s(()=>[...e[190]||(e[190]=[c("取消",-1)])]),_:1}),T.value>0?(m(),k(v,{key:0,size:"large",onClick:ga},{default:s(()=>[...e[191]||(e[191]=[c("上一步",-1)])]),_:1})):y("",!0),T.value<2?(m(),k(v,{key:1,type:"primary",size:"large",onClick:va},{default:s(()=>[...e[192]||(e[192]=[c(" 下一步 ",-1)])]),_:1})):y("",!0),T.value===2?(m(),k(v,{key:2,type:"primary",size:"large",loading:Be.value,onClick:ba},{default:s(()=>[...e[193]||(e[193]=[c(" 创建业务订单 ",-1)])]),_:1},8,["loading"])):y("",!0)])])]),default:s(()=>[r("div",xo,[q.value?(m(),b("div",ko,[r("div",Vo,[e[182]||(e[182]=r("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),r("div",ho,[r("span",wo,"#"+f(q.value.id),1),q.value.sn?(m(),b("span",No,f(q.value.sn),1)):y("",!0),r("span",So,f(q.value.patient_name||"—"),1)])])])):y("",!0),a(kl,{active:T.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:s(()=>[a(dt,{title:"患者与收货",description:"诊单与物流地址"}),a(dt,{title:"服务与支付单",description:"套餐与关联收款"}),a(dt,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),r("p",Co,f(sa.value),1),a(L,{ref_key:"createOrderFormRef",ref:_e,model:_,rules:pa.value,"label-width":"108px",class:"create-order-form"},{default:s(()=>[O(r("div",Uo,[a(M,{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":ca,loading:Ge.value,onChange:fa},{default:s(()=>[(m(!0),b(E,null,Y(Q.value,l=>(m(),k(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(p,{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(p,{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(Vl,{modelValue:_.region,"onUpdate:modelValue":e[57]||(e[57]=l=>_.region=l),options:ce.value,props:{value:"name",label:"name",children:"children",emitPath:!0,checkStrictly:!1},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full",onChange:ua},null,8,["modelValue","options"])]),_:1})]),_:1}),a(h,{span:24},{default:s(()=>[a(d,{label:"详细地址",prop:"shipping_address"},{default:s(()=>[a(p,{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),[[_t,T.value===0]]),O(r("div",$o,[a(M,{gutter:20},{default:s(()=>[a(h,{xs:24,sm:8},{default:s(()=>[a(d,{label:"复诊"},{default:s(()=>[a(hl,{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",Po,[a(F,{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[183]||(e[183]=r("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),a(h,{xs:24,sm:8},{default:s(()=>[a(d,{label:"上次医生"},{default:s(()=>[a(p,{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(p,{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(()=>[(m(!0),b(E,null,Y(Je.value,l=>(m(),k(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:Ke.value},{default:s(()=>[(m(!0),b(E,null,Y(ne.value,l=>(m(),k(i,{key:l.id,label:`${l.order_no} · ¥${l.amount} · ${xt(l.order_type)}`,value:l.id,class:"!h-auto py-1.5"},{default:s(()=>[r("div",Do,[r("div",Ro,[r("span",To,f(l.order_no),1),r("span",Oo,"¥"+f(l.amount),1)]),r("div",Ao,[r("span",Eo,[c(f(xt(l.order_type)),1),l.remark?(m(),b(E,{key:0},[c(" · "+f(l.remark),1)],64)):y("",!0)]),r("span",Lo,f(String(l.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),r("div",Fo,[D.value>0?(m(),b(E,{key:0},[r("span",zo,"当前已开启关联支付门槛(¥"+f(oe(D.value))+"),须至少选择一笔支付单。",1),e[184]||(e[184]=r("span",{class:"mx-1"},null,-1))],64)):y("",!0),e[186]||(e[186]=c(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),a(wl,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:s(()=>[...e[185]||(e[185]=[r("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1})]),_:1})]),_:1})],512),[[_t,T.value===1]]),O(r("div",Io,[r("div",{class:Ds(["create-order-deposit-bar",Qe.value>=D.value?"is-ok":"is-warn"])},[r("div",jo,[e[187]||(e[187]=r("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),r("strong",null,"¥"+f(oe(D.value)),1),r("span",Mo,f(D.value>0?"须 ≥ 此值":"未设置"),1)]),e[189]||(e[189]=r("div",{class:"create-order-deposit-bar__sep"},null,-1)),r("div",Ho,[e[188]||(e[188]=r("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),r("strong",null,"¥"+f(oe(Qe.value)),1),r("span",Wo,f(Qe.value>=D.value?"已达标":"未达标"),1)])],2),a(M,{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(F,{modelValue:_.amount,"onUpdate:modelValue":e[66]||(e[66]=l=>_.amount=l),min:da.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),O((m(),k(h,{span:12},{default:s(()=>[a(d,{label:"内部成本"},{default:s(()=>[a(F,{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})),[[H,["finance.account_log/lists"]]]),a(h,{span:24},{default:s(()=>[O((m(),k(d,{label:"药房备注"},{default:s(()=>[a(p,{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})),[[H,["tcm.prescriptionOrder/editRemarkExtra"]]]),a(d,{label:"医助备注"},{default:s(()=>[a(p,{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),[[_t,T.value===2]])]),_:1},8,["model","rules"])])]),_:1},8,["modelValue"]),a(he,{modelValue:be.value,"onUpdate:modelValue":e[77]||(e[77]=l=>be.value=l),title:"从处方库导入",width:"800px","close-on-click-modal":!1},{default:s(()=>[r("div",Jo,[a(p,{modelValue:Te.value,"onUpdate:modelValue":e[72]||(e[72]=l=>Te.value=l),class:"flex-1",placeholder:"请输入处方名称搜索",clearable:"",onKeyup:mt(Ee,["enter"]),onClear:Ee},{append:s(()=>[a(v,{icon:j(ws),onClick:Ee},null,8,["icon"])]),_:1},8,["modelValue"]),a(V,{modelValue:Oe.value,"onUpdate:modelValue":e[73]||(e[73]=l=>Oe.value=l),placeholder:"处方类型",clearable:"",class:"w-[140px]",onChange:Ee},{default:s(()=>[a(i,{label:"全部",value:""}),a(i,{label:"主方",value:"主方"}),a(i,{label:"辅方",value:"辅方"})]),_:1},8,["modelValue"])]),r("div",Qo,[e[196]||(e[196]=r("span",{class:"text-sm text-gray-600 shrink-0"},"导入方式",-1)),a(u,{modelValue:ye.value,"onUpdate:modelValue":e[74]||(e[74]=l=>ye.value=l)},{default:s(()=>[a(I,{label:"replace"},{default:s(()=>[...e[194]||(e[194]=[c("覆盖现有药材",-1)])]),_:1}),a(I,{label:"append"},{default:s(()=>[...e[195]||(e[195]=[c("追加到末尾",-1)])]),_:1})]),_:1},8,["modelValue"])]),O((m(),k(z,{data:lt.value,height:"400",style:{cursor:"pointer"},onRowClick:sl},{default:s(()=>[a(C,{label:"处方名称",prop:"prescription_name","min-width":"150","show-overflow-tooltip":""}),a(C,{label:"处方类型",width:"90"},{default:s(({row:l})=>[a(A,{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 N;return[c(f(((N=l.herbs)==null?void 0:N.length)||0)+"味 ",1)]}),_:1}),a(C,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:s(({row:l})=>[l.herbs&&l.herbs.length>0?(m(),b("span",Xo,f(l.herbs.map(N=>`${N.name} ${N.dosage}g`).join("、")),1)):(m(),b("span",Zo,"暂无药材"))]),_:1}),a(C,{label:"是否公开",width:"110"},{default:s(({row:l})=>[a(A,{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(v,{type:"primary",link:"",onClick:we(N=>Yt(l),["stop"])},{default:s(()=>[...e[197]||(e[197]=[c("导入",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Fe,at.value]]),r("div",er,[a(Nl,{"current-page":xe.value,"onUpdate:currentPage":e[75]||(e[75]=l=>xe.value=l),"page-size":st.value,"onUpdate:pageSize":e[76]||(e[76]=l=>st.value=l),total:nt.value,"page-sizes":[10,15,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:Ae,onSizeChange:Ae},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue"]),a(he,{modelValue:ke.value,"onUpdate:modelValue":e[81]||(e[81]=l=>ke.value=l),title:"导入药方(识别药材)",width:"560px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[82]||(e[82]=l=>Ve.value="")},{footer:s(()=>[a(v,{onClick:e[80]||(e[80]=l=>ke.value=!1)},{default:s(()=>[...e[201]||(e[201]=[c("取消",-1)])]),_:1}),a(v,{type:"primary",loading:rt.value,onClick:ml},{default:s(()=>[...e[202]||(e[202]=[c(" 识别并导入 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[e[203]||(e[203]=r("p",{class:"text-gray-500 text-sm mb-2 leading-relaxed"}," 粘贴整张药方文本,系统按「药名 + 剂量」解析;药名须与药品库中名称完全一致才会录入,否则跳过。支持顿号/逗号/换行分隔;单行可用空格分味(如「黄芪15g 白术10g」);「黄芪、党参各10克」等同剂量写法亦可识别。 ",-1)),a(p,{modelValue:Ve.value,"onUpdate:modelValue":e[78]||(e[78]=l=>Ve.value=l),type:"textarea",rows:10,placeholder:`示例:
黄芪15 党参12 茯苓10
柴胡10g、黄芩10、半夏12克
黄芪、白术、茯苓各15克`},null,8,["modelValue"]),r("div",tr,[e[200]||(e[200]=r("span",{class:"text-sm text-gray-600 shrink-0"},"导入方式",-1)),a(u,{modelValue:ot.value,"onUpdate:modelValue":e[79]||(e[79]=l=>ot.value=l)},{default:s(()=>[a(I,{label:"replace"},{default:s(()=>[...e[198]||(e[198]=[c("覆盖现有药材",-1)])]),_:1}),a(I,{label:"append"},{default:s(()=>[...e[199]||(e[199]=[c("追加到末尾",-1)])]),_:1})]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"]),a(he,{modelValue:de.value,"onUpdate:modelValue":e[87]||(e[87]=l=>de.value=l),title:"处方审核",width:"480px","destroy-on-close":"",onClosed:e[88]||(e[88]=l=>se.value="")},{footer:s(()=>[a(v,{onClick:e[84]||(e[84]=l=>de.value=!1)},{default:s(()=>[...e[204]||(e[204]=[c("取消",-1)])]),_:1}),a(v,{type:"primary",loading:Ce.value,onClick:e[85]||(e[85]=l=>Ht("approve"))},{default:s(()=>[...e[205]||(e[205]=[c("审核通过",-1)])]),_:1},8,["loading"]),a(v,{type:"danger",loading:Ce.value,onClick:e[86]||(e[86]=l=>Ht("reject"))},{default:s(()=>[...e[206]||(e[206]=[c("驳回处方",-1)])]),_:1},8,["loading"])]),default:s(()=>[e[207]||(e[207]=r("p",{class:"text-sm text-gray-600 mb-3"}," 通过:处方保持有效。驳回:将同时作废此处方(与诊间「驳回/作废处方」一致)。 ",-1)),a(L,{"label-width":"80px"},{default:s(()=>[a(d,{label:"审核意见"},{default:s(()=>[a(p,{modelValue:se.value,"onUpdate:modelValue":e[83]||(e[83]=l=>se.value=l),type:"textarea",rows:3,maxlength:"500","show-word-limit":"",placeholder:"通过可简要说明;驳回必填"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(j(Xt),{ref_key:"diagnosisViewRef",ref:Ot},null,512)])}}}),Jr=ns(lr,[["__scopeId","data-v-7d4cc3f2"]]);export{Jr as default};