3 lines
75 KiB
JavaScript
3 lines
75 KiB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BXr3XgX7.js","assets/element-plus-B7Dx6hR2.js","assets/@vue/runtime-dom-CEiKlVMn.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-tF_2qJHK.js","assets/@vue/reactivity-BmZ-20sQ.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-C25ce6PD.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-CIwPhgpL.css","assets/tcm-C-HR_i0x.js","assets/index-CMjmnkXt.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-BjeWxBI0.js","assets/pinia-CTWOnonq.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-Da2f2eD_.js","assets/@vueuse/shared-Bl-RnC0s.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-yVHyDRAS.js","assets/tslib-BDyQ-Jie.js","assets/zrender-C0YiHEZX.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-Bm7NQW9r.js","assets/index-BDzcTuBc.css","assets/perm-DULvhc2O.js","assets/BloodRecordList-7sVJakHC.js","assets/BloodRecordList-DhVK-Y_e.css","assets/DietRecordList-BZ08yOwE.js","assets/picker-zoNMVPgW.js","assets/index-DyFM9CZ3.js","assets/index-B3imPWFk.css","assets/index-CAWocjbH.js","assets/index.vue_vue_type_script_setup_true_lang-Clh1LnRz.js","assets/index-FObuK3tH.js","assets/index-D0f1Mn00.css","assets/index-CuHxZOC6.js","assets/index.vue_vue_type_script_setup_true_lang-BmQQfXv-.js","assets/file-DkzjaIeA.js","assets/usePaging-BIG1oWvJ.js","assets/index-BYOmK9R5.css","assets/vuedraggable-Bl4C18MR.js","assets/vue-BEnQNo4t.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/DietRecordList-Cc-xUr2B.css","assets/ExerciseRecordList-ClZQLoll.js","assets/ExerciseRecordList-DGtgtzou.css","assets/DiagnosisTodoList-DMipMf2D.js","assets/DiagnosisTodoList-BX54SGGW.css","assets/CaseRecordList-gIRxShGk.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-z7oDtvc-.js","assets/CallRecordPanel-D1yS2Ki-.css","assets/ImChatRecordPanel-C9cE0xnP.js","assets/im-business-message-parse-ClZDqEhB.js","assets/ImChatRecordPanel-CO1Juvf9.css","assets/AssignLogPanel.vue_vue_type_script_setup_true_lang-CYeuftWt.js","assets/AppointmentRecordPanel-DPjEFTeS.js","assets/doctor-DHQjMck1.js","assets/AppointmentRecordPanel-5TL68rh2.css","assets/NoteTimeline-CJTVZKjT.js","assets/patient-CSqouKbx.js","assets/NoteTimeline-DxaWggN9.css","assets/TrackingNoteTimeline-7mMGhH8I.js","assets/TrackingNoteTimeline-B9T8pFso.css","assets/index-BR_Xy01V.js","assets/index-BSHCwamW.js","assets/medicine-Ccpy1xFM.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-7dVF45mm.css","assets/edit-YOyWWQPl.css"])))=>i.map(i=>d[i]);
|
||
import{_ as Wa,E as qa}from"./jspdf-BsthCvR5.js";import{G as Ya,F as Ba,D as Ga,B as Ja,C as Ka,P as Qa,Q as Xa,i as Za,J as el,L as tl,M as al,N as ll,T as sl,K as nl,a3 as rl,a4 as ol,I as il,h as ul,a2 as dl,e as pl,a5 as ml,a6 as _l,a7 as cl,g as fl,r as gl,V as vl,X as bl}from"./element-plus-B7Dx6hR2.js";import{_ as yl}from"./index.vue_vue_type_script_setup_true_lang-Clh1LnRz.js";import{u as xl,c as kl,i as S,m as Vl,_ as hl}from"./index-CMjmnkXt.js";import{w as Qe,s as fe,q as Xe}from"./@vue/runtime-dom-CEiKlVMn.js";import{g as wl,p as Nl,a as Ze,b as Sl,c as Cl,d as Dl,e as Ul,f as $l,h as Pl,i as Ol,j as Tl}from"./tcm-C-HR_i0x.js";import{s as El}from"./order-BwYUTIzg.js";import{r as Al}from"./role-Dgd5W1NY.js";import{u as Rl}from"./usePaging-BIG1oWvJ.js";import{_ as Ll}from"./index.vue_vue_type_script_setup_true_lang-VPgff5s6.js";import{M as zl}from"./index-BSHCwamW.js";import{S as Il,L as Fl,M as jl}from"./@element-plus/icons-vue-C25ce6PD.js";import{a as Ml}from"./vue-router-BjeWxBI0.js";import Hl from"./html2canvas-QH1iLAAe.js";import{f as Nt,w as Ue,b as Wl,as as ql,ak as m,I as v,a,aN as s,J as o,O as c,F as R,ap as K,G as x,aP as T,H as b,P as Yl,A as P,n as Q}from"./@vue/runtime-core-tF_2qJHK.js";import{y as L,a as Bl,r as $e,n as y}from"./@vue/reactivity-BmZ-20sQ.js";import{Q as f,o as Gl}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-CTWOnonq.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-Da2f2eD_.js";import"./@vueuse/shared-Bl-RnC0s.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-yVHyDRAS.js";import"./tslib-BDyQ-Jie.js";import"./zrender-C0YiHEZX.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-Bm7NQW9r.js";import"./medicine-Ccpy1xFM.js";const Jl={class:"prescription-list"},Kl={class:"pl-toolbar"},Ql={class:"pl-toolbar__line"},Xl={class:"pl-toolbar__line pl-toolbar__line--second"},Zl={class:"pl-toolbar__actions"},es={class:"pl-table-head"},ts={class:"flex items-center gap-2"},as={class:"mt-3"},ls={class:"font-medium"},ss={class:"text-xs text-gray-400 mt-0.5"},ns={key:1,class:"text-gray-400 text-sm"},rs={class:"font-medium"},os={class:"text-xs text-gray-500 mt-0.5"},is={class:"flex flex-col gap-1"},us={class:"flex flex-wrap items-center gap-1"},ds={key:0,class:"text-xs text-gray-500"},ps=["title"],ms={key:1,class:"text-gray-400"},_s={class:"font-medium"},cs={class:"text-xs text-gray-500 mt-0.5"},fs={class:"text-sm"},gs={class:"flex mt-2 justify-end"},vs={key:0,class:"rx-wrap"},bs={class:"rx-toolbar"},ys={key:0,class:"rx-status rx-status-danger"},xs={key:1,class:"rx-status rx-status-danger"},ks={key:0,class:"mt-1"},Vs={key:2,class:"rx-status rx-status-danger"},hs={key:0,class:"mt-1"},ws={class:"rx-notice"},Ns={class:"rx-notice-meta"},Ss={class:"rx-info"},Cs={class:"rx-info-row"},Ds={class:"rx-info-cell"},Us={class:"rx-val"},$s={class:"rx-info-cell"},Ps={class:"rx-val"},Os={class:"rx-info-cell"},Ts={class:"rx-val"},Es={class:"rx-info-cell"},As={class:"rx-val"},Rs={class:"rx-info-row rx-info-row-full"},Ls={class:"rx-info-cell"},zs={class:"rx-val"},Is={class:"rx-info-row rx-info-row-full"},Fs={class:"rx-info-cell"},js={class:"rx-val"},Ms={class:"rx-rp"},Hs={class:"rx-herbs"},Ws={class:"rx-herb-name"},qs={class:"rx-herb-total"},Ys={class:"rx-text"},Bs={key:0},Gs={key:1},Js={key:2,class:"rx-text-warn"},Ks={key:3,class:"rx-text-warn"},Qs={class:"rx-bottom"},Xs={class:"rx-bot-row rx-bot-row-1"},Zs={class:"rx-bot-cell rx-bot-stack rx-bot-doctor"},en={class:"rx-bot-doctor-body"},tn=["src"],an={class:"rx-bot-doctor-name"},ln={class:"rx-bot-cell rx-bot-meta"},sn={class:"rx-bot-meta-val"},nn={class:"rx-bot-cell rx-bot-meta"},rn={class:"rx-bot-meta-val"},on={class:"rx-bot-cell rx-bot-meta"},un={class:"rx-bot-meta-val"},dn={key:4,class:"rx-audit"},pn={key:0},mn={key:0,class:"ml-2 text-gray-400"},_n={key:1,class:"mt-1"},cn={class:"text-sm mt-1"},fn={key:0,class:"text-sm mt-2 text-gray-800 font-medium"},gn={key:5,class:"mb-3 flex flex-wrap items-center gap-2 pl-[120px]"},vn={class:"text-xs text-gray-400"},bn={class:"w-full"},yn={class:"text-sm mt-1 leading-relaxed"},xn={key:0,class:"mb-1.5"},kn={class:"font-mono text-primary"},Vn={class:"mb-1.5"},hn={class:"whitespace-pre-wrap"},wn={key:1,class:"text-gray-600"},Nn={class:"signature-pad-wrap"},Sn={class:"signature-actions"},Cn={class:"create-order-dialog__inner"},Dn={key:0,class:"create-order-rx-card"},Un={class:"create-order-rx-card__head"},$n={class:"create-order-rx-card__meta"},Pn={class:"create-order-rx-card__id"},On={key:0,class:"create-order-rx-card__sn"},Tn={class:"create-order-rx-card__patient"},En={class:"create-order-step-lead"},An={class:"create-order-step-panel"},Rn={class:"create-order-step-panel"},Ln={class:"flex items-center gap-1 w-full"},zn={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},In={class:"flex items-center justify-between"},Fn={class:"font-medium text-[13px] text-gray-800"},jn={class:"text-orange-500 font-medium ml-4"},Mn={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},Hn={class:"truncate pr-2"},Wn={class:"shrink-0"},qn={class:"create-order-pay-hint text-gray-500"},Yn={class:"text-amber-600 font-medium"},Bn={class:"create-order-step-panel"},Gn={class:"create-order-deposit-bar__cell"},Jn={class:"create-order-deposit-bar__sub"},Kn={class:"create-order-deposit-bar__cell"},Qn={class:"create-order-deposit-bar__sub"},Xn={class:"create-order-footer"},Zn={class:"create-order-footer__hint"},er={class:"create-order-footer__step"},tr={key:0,class:"create-order-footer__warn"},ar={class:"create-order-footer__actions"},lr={class:"mb-4"},sr={key:0},nr={key:1,class:"text-gray-400"},rr={class:"flex justify-end mt-4"},or=Nt({name:"prescriptionList"}),ir=Nt({...or,setup(ur){const St=Yl(()=>Wa(()=>import("./edit-BXr3XgX7.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]))),ne=xl(),et=Ml();function Ct(){const t=et.getRoutes().find(e=>{var r;return((r=e.meta)==null?void 0:r.perms)==="tcm.prescriptionOrder/lists"});t!=null&&t.path?et.push(t.path):S.msgWarning("未配置「处方业务订单」菜单,请在权限管理中执行菜单 SQL 或手动添加路由")}const w=$e({sn:"",patient_name:"",creator_ids:[],audit_filter:"all",source_filter:"all",start_time:"",end_time:""}),Pe=y([]),I=y("all"),W=y(!1),O=y("add"),Oe=y(!1),B=y(),F=y(),re=y(null),X=560,Z=168,g=y(null),Te=y(!1),tt=y([]),oe=y(!1),at=y(0),ee=y(""),ge=y(!1),ie=y(!1),$=y(0),Dt=P(()=>["请核对诊单患者并填写完整收货信息,便于发货与物流联系。","按需填写服务相关信息,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;提交前请对照定金门槛是否已满足。"][$.value]??""),Ut=["patient_id","recipient_name","recipient_phone","region","shipping_address"],z=y(null),ue=y(),Ee=y(!1),Ae=y(!1),q=y([]),te=y([]),Re=y(!1),U=y(0);function ae(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function lt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const u=$e({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:[]}),de=y([]),Le=y([]),$t=t=>t.map(e=>{var r;return{name:e.province,code:e.code,children:((r=e.citys)==null?void 0:r.map(d=>{var _;return{name:d.city,code:d.code,children:((_=d.areas)==null?void 0:_.map(p=>({name:p.area,code:p.code})))||[]}}))||[]}}),Pt=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 r=await e.json();console.log("加载的数据条数:",r==null?void 0:r.length),de.value=$t(r),console.log("regionOptions 已设置,条数:",de.value.length)}catch(t){console.error("加载省市区数据失败:",t),de.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("使用后备数据,条数:",de.value.length)}},Ot=async()=>{try{const t=await Vl({type:"server_order"});Le.value=((t==null?void 0:t.server_order)||[]).filter(e=>e.status!==0)}catch{Le.value=[]}},Tt=t=>{console.log("选择的省市区:",t)},ze=P(()=>{const t=new Set(u.pay_order_ids.map(r=>Number(r)));let e=0;for(const r of te.value)t.has(Number(r.id))&&(e+=Number(r.amount)||0);return Math.round(e*100)/100}),Et=P(()=>{const t=U.value;return t>0?Math.round(t*100)/100:0}),At=P(()=>{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,r,d)=>{const _=U.value,p=Number(r);if(_>0&&(!Number.isFinite(p)||p<_)){d(new Error(`订单金额须大于等于定金门槛 ¥${ae(_)}`));return}d()},trigger:"blur"}]};if(U.value>0){const e=`已开启关联支付门槛(¥${ae(U.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function st(){var t;$.value=0,u.patient_id="",u.recipient_name="",u.recipient_phone="",u.shipping_address="",u.is_follow_up=0,u.medication_days=void 0,u.prev_staff="",u.service_channel="",u.service_package=[],u.express_company="auto",u.tracking_number="",u.fee_type=3,u.amount=0,u.internal_cost=void 0,u.remark_extra="",u.remark_assistant="",u.pay_order_ids=[],q.value=[],te.value=[],U.value=0,z.value=null,(t=ue.value)==null||t.clearValidate()}function Rt(){const t=U.value;if(t<=0)return;const e=Math.round(t*100)/100;Number(u.amount)<e&&(u.amount=e)}async function nt(){var e,r;const t=Number(u.patient_id);if(!t){te.value=[],U.value=0;return}try{Re.value=!0;const d=await Nl({diagnosis_id:t}),_=(d==null?void 0:d.lists)??((e=d==null?void 0:d.data)==null?void 0:e.lists)??[];te.value=Array.isArray(_)?_:[];const p=Number((d==null?void 0:d.deposit_min_amount)??((r=d==null?void 0:d.data)==null?void 0:r.deposit_min_amount))||0;U.value=p,Rt()}catch{te.value=[],U.value=0}finally{Re.value=!1}}Ue(()=>u.patient_id,()=>{u.pay_order_ids=[],nt()});async function Lt(t){var _;if(Number(t==null?void 0:t.void_status)===1){S.msgWarning("已作废处方不可创建业务订单");return}st(),z.value=t;const e=Number(t.diagnosis_id)||0;e>0&&(u.patient_id=e,u.recipient_name=t.patient_name||"",u.recipient_phone=String(t.phone||"").trim(),q.value=[{id:e,patient_name:t.patient_name||"",phone:String(t.phone||"").trim()}]);const r=Number(t.usage_days);r>0&&(u.medication_days=r),ie.value=!0,nt();const d=t.id;if(d&&!u.recipient_phone)try{const p=await Ze({id:d}),i=p&&typeof p.phone=="string"?p.phone.trim():"";if(i&&((_=z.value)==null?void 0:_.id)===d){u.recipient_phone=i;const V=q.value[0];V&&Number(V.id)===e&&(V.phone=i)}}catch{}}async function zt(t){if(!t){q.value=[];return}try{Ae.value=!0;const e=await El({keyword:t,page_no:1,page_size:10});q.value=(e==null?void 0:e.lists)||[]}catch{q.value=[]}finally{Ae.value=!1}}function It(t){const e=q.value.find(r=>Number(r.id)===Number(t));e&&(u.recipient_name=e.patient_name||"",u.recipient_phone=e.phone||"")}function Ft(){$.value>0&&($.value-=1)}async function jt(){const t=ue.value;if(t)try{$.value===0?await t.validateField([...Ut]):$.value===1&&U.value>0&&await t.validateField(["pay_order_ids"]),$.value<2&&($.value+=1)}catch{}}async function Mt(){if(!(!ue.value||!z.value)&&$.value===2)try{await ue.value.validate(),Ee.value=!0;const t=Number(u.patient_id),e={prescription_id:z.value.id,diagnosis_id:t,recipient_name:u.recipient_name,recipient_phone:u.recipient_phone,shipping_address:u.shipping_address,is_follow_up:u.is_follow_up,prev_staff:u.prev_staff||"",service_channel:u.service_channel||"",service_package:Array.isArray(u.service_package)&&u.service_package.length>0?u.service_package.join(","):"",express_company:u.express_company||"auto",tracking_number:u.tracking_number||"",fee_type:u.fee_type,amount:u.amount,remark_extra:u.remark_extra||"",remark_assistant:u.remark_assistant||""};u.region&&u.region.length>=3&&(e.shipping_province=u.region[0],e.shipping_city=u.region[1],e.shipping_district=u.region[2]),u.medication_days!=null&&u.medication_days>0&&(e.medication_days=u.medication_days),u.internal_cost!=null&&u.internal_cost>0&&(e.internal_cost=u.internal_cost),u.pay_order_ids.length&&(e.pay_order_ids=[...u.pay_order_ids]);const r=await Sl(e),d=(r==null?void 0:r.data)??r,_=d==null?void 0:d.order_no;S.msgSuccess(_?`业务订单已创建,单号:${_}`:"业务订单已创建"),ie.value=!1,le()}catch(t){console.error(t)}finally{Ee.value=!1}}const ve=y(!1),be=y(!1),rt=P(()=>{const t=ve.value,e=be.value;return!t&&!e?"":t&&e?"当前处方已作废且已驳回。保存后将取消作废、清除驳回,并重新进入待审核。":t?"当前为已作废处方。保存后将取消作废,并重新进入待审核。":"当前为已驳回处方。保存后将清除驳回,并重新进入待审核。"}),ye=P(()=>{var e;const t=(e=g.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),ot=y(null),Ie=y(!1),xe=t=>String(t).padStart(2,"0"),Ht=P(()=>{const t=g.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const r=String(e).length===10?Number(e)*1e3:Number(e),d=new Date(r);if(!isNaN(d.getTime()))return`${d.getFullYear()}-${xe(d.getMonth()+1)}-${xe(d.getDate())} ${xe(d.getHours())}:${xe(d.getMinutes())}`}return t.prescription_date||"—"}),Wt=P(()=>{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}`:"—"):"—"}),qt=P(()=>{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 r=t.region;return Array.isArray(r)&&(r=r.filter(Boolean).join("")),r&&e.push(String(r)),t.shipping_address?e.push(String(t.shipping_address)):t.address&&e.push(String(t.address)),e.length?e.join(","):"—"}),it=P(()=>{var e;const t=Number((e=g.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Yt=P(()=>{const e=ye.value.reduce((r,d)=>r+(Number(d==null?void 0:d.dosage)||0),0);return ke(e)}),Bt=t=>{const e=Number(t)||0;return ke(e*it.value)},Gt=P(()=>{const t=g.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),Jt=P(()=>{const t=g.value;if(!t)return"—";if(t.usage_text)return t.usage_text;const e=Number(t.times_per_day)>0?Number(t.times_per_day):3,r=Number(t.bags_per_dose)>0?Number(t.bags_per_dose):1,d=t.dosage_amount!=null?Number(t.dosage_amount):10,_=t.dosage_unit||"g",p=t.usage_way||"温水送服",i=t.usage_time||"",V=[];return V.push(`每天${e}次`),V.push(`一次${r}包(约${d}${_})`),V.push(`每包${d}${_}`),V.push(p),i&&V.push(i),V.join(", ")}),ut=P(()=>{const t=g.value;return t&&t.medical_advice||""}),dt=P(()=>{const t=g.value;if(!t)return"";const e=[];return e.push(`共${ye.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),pt=P(()=>{const t=g.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),mt=P(()=>{const t=g.value;if(!t)return"";const e=Kt(t);return e?`${e}克`:""});function Kt(t){if(!t)return"";const e=t.out_pellet||t.total_weight;if(e&&Number(e)>0)return ke(Number(e));const r=ye.value;if(!r.length)return"";const d=r.reduce((_,p)=>_+(Number(p==null?void 0:p.dosage)||0),0);return ke(d*it.value)}function ke(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function Qt(){g.value&&Q(()=>{try{window.print()}catch(t){console.error(t)}})}async function Xt(){var e,r,d;const t=ot.value;if(!t){S.msgWarning("处方笺尚未渲染完成");return}Ie.value=!0;try{await Q(),await new Promise(A=>requestAnimationFrame(()=>A(null))),await new Promise(A=>setTimeout(A,250));const _=await Hl(t,{scale:2,backgroundColor:"#ffffff",useCORS:!0,allowTaint:!1,logging:!1,windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight}),p=_.toDataURL("image/jpeg",.95),i=new qa({unit:"mm",format:"a4",orientation:"portrait"}),V=210,Y=297,h=V,J=_.height*h/_.width;if(J<=Y)i.addImage(p,"JPEG",0,0,h,J);else{let A=J,Se=0;for(;A>0;)i.addImage(p,"JPEG",0,Se,h,J),A-=Y,Se-=Y,A>0&&i.addPage()}const Ge=((e=g.value)==null?void 0:e.patient_name)||"处方",C=((r=g.value)==null?void 0:r.id)||"",E=((d=g.value)==null?void 0:d.prescription_date)||"";i.save(`处方-${Ge}${E?"-"+E:""}${C?"-"+C:""}.pdf`)}catch(_){console.error("下载处方 PDF 失败:",_),S.msgError((_==null?void 0:_.message)||"下载失败,请重试")}finally{Ie.value=!1}}const n=$e({id:0,prescription_type:"浓缩水丸",dosage_amount:1,dosage_unit:"g",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}),N=$e({loading:!1,orderNo:"",medicationDays:null,remarkAssistant:""});function Zt(){N.loading=!1,N.orderNo="",N.medicationDays=null,N.remarkAssistant=""}async function ea(t){if(N.orderNo="",N.medicationDays=null,N.remarkAssistant="",!t){N.loading=!1;return}N.loading=!0;try{const e=await Tl({page_no:1,page_size:5,prescription_id:t}),r=e==null?void 0:e.lists,d=Array.isArray(r)&&r.length?r[0]:null;if(d){N.orderNo=String(d.order_no||"").trim();const _=d.medication_days,p=_!=null&&String(_).trim()!==""?Number(_):NaN;N.medicationDays=Number.isFinite(p)&&p>0?p:null,N.remarkAssistant=String(d.remark_assistant||"").trim()}}catch{}finally{N.loading=!1}}const _t=y(null);function ta(){var e;const t=Number(n.diagnosis_id);if(!t){S.msgWarning("本处方未关联诊单,无法查看诊单患者信息");return}(e=_t.value)==null||e.openViewOnly(t)}const Ve=y(!1);Ue(()=>n.prescription_type,t=>{Ve.value||(t==="浓缩水丸"?(n.dosage_unit="g",n.dosage_amount=1,n.need_decoction=!1,n.bags_per_dose=1):t==="饮片"?(n.dosage_unit="ml",n.dosage_amount=50,n.bags_per_dose=1):(n.dosage_unit="g",n.dosage_amount=void 0,n.need_decoction=!1,n.bags_per_dose=1))});const aa={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,r)=>{!e||!String(e).trim()?r(new Error("请使用电子签名板手写医师签名")):r()},trigger:"change"}]};async function la(t){const{audit_filter:e,source_filter:r,creator_ids:d,..._}=t,p={..._,audit_filter:e==="all"||e===""?"":e,source_filter:r==="all"||r===""||r===void 0?"":r};return Array.isArray(d)&&d.length>0&&(p.creator_ids=d),Cl(p)}const{pager:pe,getLists:le,resetPage:G}=Rl({fetchFun:la,params:w});function ct(t){return String(t).padStart(2,"0")}function ft(t){const e=t.getFullYear(),r=ct(t.getMonth()+1),d=ct(t.getDate()),_=`${e}-${r}-${d}`;return{start:`${_} 00:00:00`,end:`${_} 23:59:59`}}function sa(t){const e=String(t??"all");if(e==="all")w.start_time="",w.end_time="";else{const r=new Date,d=new Date(r.getFullYear(),r.getMonth(),r.getDate());e==="yesterday"?d.setDate(d.getDate()-1):e==="before_yesterday"&&d.setDate(d.getDate()-2);const{start:_,end:p}=ft(d);w.start_time=_,w.end_time=p}G()}function na(){G()}function ra(){G()}let Fe=!1;Ue(()=>[w.start_time,w.end_time],()=>{if(Fe)return;const t=w.start_time,e=w.end_time;if(!t&&!e){I.value="all";return}if(!t||!e){I.value="";return}const r=new Date,d=_=>{const p=new Date(r.getFullYear(),r.getMonth(),r.getDate()-_),{start:i,end:V}=ft(p);return t===i&&e===V};d(0)?I.value="today":d(1)?I.value="yesterday":d(2)?I.value="before_yesterday":I.value=""});function oa(t){if(t==null||t==="")return"—";if(typeof t=="number"&&t>=1e9&&t<1e11)return he(t);const e=String(t).trim();return/^\d{10}$/.test(e)?he(parseInt(e,10)):e}function ia(){Fe=!0,I.value="all",w.sn="",w.patient_name="",w.creator_ids=[],w.audit_filter="all",w.source_filter="all",w.start_time="",w.end_time="",Fe=!1,G()}function ua(t){return t===0?"待审核":t===2?"已驳回":"已通过"}function da(t){return t===0?"warning":t===2?"danger":"success"}function pa(t){return Number(t.business_prescription_audit_rejected)===1?"已驳回":ua(t.audit_status)}function ma(t){return Number(t.business_prescription_audit_rejected)===1?"danger":da(t.audit_status)}function gt(t){const e=[];if(Number(t.business_prescription_audit_rejected)===1){const r=String(t.business_prescription_audit_remark||"").trim();e.push(r?`业务订单审核驳回意见:${r}`:"业务订单审核驳回意见:—")}if(Number(t.audit_status)===2){const r=String(t.audit_remark||"").trim();e.push(r?`消费者处方审核驳回意见:${r}`:"消费者处方审核驳回意见:—")}return e}function vt(t){return Number(t.audit_status)===1&&Number(t.void_status)!==1}function he(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 _a(t){return t?he(t):"—"}function ca(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function fa(t){return t==null||t===""?"—":`${t}岁`}function je(t){return t?Array.isArray(t)?t.map(e=>({name:String((e==null?void 0:e.name)??"").trim(),dosage:Number(e==null?void 0:e.dosage)||0})):[]:[]}function ga(t){if(Number(t==null?void 0:t.has_prescription_order)!==1)return[];const r=je(t==null?void 0:t.herbs).map(i=>String((i==null?void 0:i.name)||"").trim()).filter(Boolean),d=[];if(!r.length)return d.push("请开方,当前处方药材为空白"),d;const _=new Set,p=new Set;for(const i of r){const V=i.replace(/\s+/g,"").toLowerCase();V&&(_.has(V)?p.add(i):_.add(V))}return p.size>0&&d.push(`已有关联业务订单,当前处方存在重复药材:${Array.from(p).join("、")}`),d}function va(t){return{...t,herbs:je(t==null?void 0:t.herbs)}}function ba(){g.value=null,re.value=null}function bt(t){const e=F.value;if(!e)return{x:0,y:0};const r=e.getBoundingClientRect();if(r.width<=0||r.height<=0)return{x:0,y:0};const d=(t.clientX-r.left)/r.width*X,_=(t.clientY-r.top)/r.height*Z;return{x:Math.max(0,Math.min(X,d)),y:Math.max(0,Math.min(Z,_))}}function Me(){const t=F.value;t&&(n.doctor_signature=t.toDataURL("image/png")),Q(()=>{var e;(e=B.value)==null||e.validateField("doctor_signature").catch(()=>{})})}function ya(t){if(t.pointerType==="mouse"&&t.button!==0)return;const e=F.value,r=e==null?void 0:e.getContext("2d");if(!e||!r)return;e.setPointerCapture(t.pointerId),re.value=t.pointerId;const{x:d,y:_}=bt(t);r.beginPath(),r.moveTo(d,_)}function xa(t){var _;if(re.value!==t.pointerId)return;const e=(_=F.value)==null?void 0:_.getContext("2d");if(!e)return;const{x:r,y:d}=bt(t);e.lineTo(r,d),e.stroke(),e.beginPath(),e.moveTo(r,d)}function yt(t){if(re.value!==t.pointerId)return;re.value=null;const e=F.value;if(e)try{e.releasePointerCapture(t.pointerId)}catch{}Me()}function ka(){xt(),n.doctor_signature="",Q(()=>{var t;(t=B.value)==null||t.validateField("doctor_signature").catch(()=>{})})}function xt(){const t=F.value;if(!t)return;const e=Math.min(typeof window<"u"&&window.devicePixelRatio||1,2.5);t.style.width=`${X}px`,t.style.height=`${Z}px`,t.width=Math.round(X*e),t.height=Math.round(Z*e);const r=t.getContext("2d");r&&(r.setTransform(1,0,0,1,0,0),r.scale(e,e),r.fillStyle="#fff",r.fillRect(0,0,X,Z),r.strokeStyle="#333",r.lineWidth=2.5,r.lineCap="round",r.lineJoin="round")}function kt(){O.value!=="view"&&Q(()=>{setTimeout(()=>{xt();const t=n.doctor_signature;if(t&&String(t).trim().startsWith("data:image")&&F.value){const e=new Image;e.onload=()=>{const r=F.value,d=r==null?void 0:r.getContext("2d");!r||!d||(d.drawImage(e,0,0,X,Z),Me())},e.onerror=()=>{Me()},e.src=t}},100)})}function Va(t){const e=t==null?void 0:t.visible_role_ids;return Array.isArray(e)?e.map(r=>Number(r)).filter(r=>!Number.isNaN(r)):typeof e=="string"&&e?e.split(",").map(r=>parseInt(r.trim(),10)).filter(r=>!Number.isNaN(r)):[]}function ha(t){at.value=t.id,ee.value="",oe.value=!0}async function Vt(t){if(t==="reject"&&!ee.value.trim()){S.msgError("驳回时请填写审核意见");return}ge.value=!0;try{const e=await Dl({id:at.value,action:t,remark:ee.value.trim()});S.msgSuccess(t==="reject"?"已驳回并作废处方":"审核通过"),e&&e.wecom_notify_ok===!1&&e.wecom_notify_hint&&S.msgWarning(e.wecom_notify_hint),oe.value=!1,le()}catch{}finally{ge.value=!1}}async function wa(){try{const t=await Al({});tt.value=Array.isArray(t)?t:[]}catch{tt.value=[]}}const me=y(!1),He=y(!1),We=y([]),we=y(""),_e=y(1),qe=y(15),Ye=y(0),ht=P(()=>{var r;const t=Number(n.creator_id);if(t>0)return t;const e=Number((r=ne.userInfo)==null?void 0:r.id);return e>0?e:0});function Na(t){return String(t||"").trim().toLowerCase()}function Sa(){const t=new Map;for(const e of n.herbs){const r=Na(e==null?void 0:e.name);r&&t.set(r,(t.get(r)??0)+1)}return[...t.entries()].filter(([,e])=>e>1).map(([e])=>e)}const Ne=async()=>{const t=ht.value;if(!t){S.msgWarning("无法确定开方医师,无法加载处方库"),We.value=[],Ye.value=0;return}He.value=!0;try{const e=await Ul({page_no:_e.value,page_size:qe.value,prescription_name:we.value,is_public:"",creator_id:t});We.value=(e==null?void 0:e.lists)||[],Ye.value=(e==null?void 0:e.count)||0}catch(e){console.error(e),S.msgError("加载处方库失败")}finally{He.value=!1}},Be=()=>{_e.value=1,Ne()},Ca=()=>{if(!ht.value){S.msgWarning("无法确定开方医师,无法从处方库导入");return}me.value=!0},Da=t=>{wt(t)},wt=t=>{if(!t.herbs||t.herbs.length===0){S.msgWarning("该处方没有药材信息");return}const e=JSON.parse(JSON.stringify(t.herbs));n.herbs=e,Sa().length&&S.msgWarning("导入的处方中存在重复药名,请合并剂量或删除多余行"),S.msgSuccess(`已导入处方「${t.prescription_name}」,共${e.length}味药材`),me.value=!1};Ue(me,t=>{t&&(we.value="",_e.value=1,Ne())});const Ua=()=>{n.herbs.push({name:"",dosage:0})},$a=t=>{n.herbs.splice(t,1)},Pa=()=>{var t;n.id=0,n.prescription_type="浓缩水丸",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=ne.userInfo)==null?void 0:t.id)||0,n.is_system_auto=0,n.business_prescription_audit_rejected=0,n.business_prescription_audit_remark="",Zt()},Oa=()=>{var t;Pa(),n.doctor_name=String(((t=ne.userInfo)==null?void 0:t.name)||""),ve.value=!1,be.value=!1,O.value="add",Ve.value=!1,W.value=!0,Q(()=>{var e;(e=B.value)==null||e.clearValidate(),kt()})},Ta=async t=>{ve.value=!1,be.value=!1,O.value="view",g.value=va(t),W.value=!0,Te.value=!0;try{const e=await Ze({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{Te.value=!1}},Ea=async t=>{ve.value=Number(t.void_status)===1,be.value=Number(t.audit_status)===2,O.value="edit",Ve.value=!0;let e=t;if(t!=null&&t.id&&!t.doctor_signature)try{const r=await Ze({id:t.id});r&&typeof r=="object"&&(e={...t,...r})}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.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?JSON.parse(JSON.stringify(e.herbs)):[],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(r=>r):[],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=Va(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||""),setTimeout(()=>{Ve.value=!1},0),W.value=!0,ea(Number(n.id)),Q(()=>{var r;(r=B.value)==null||r.clearValidate(),kt()})},Aa=async()=>{if(B.value){if(await B.value.validate(),!n.herbs||n.herbs.length===0){S.msgError("请至少添加一味药材");return}for(let t=0;t<n.herbs.length;t++){const e=n.herbs[t];if(!e.name||!e.name.trim()){S.msgError(`第${t+1}味药材名称不能为空`);return}if(!e.dosage||e.dosage<=0){S.msgError(`第${t+1}味药材剂量必须大于0`);return}}Oe.value=!0;try{const t={...n};O.value==="add"?(t.audit_status=0,await $l(t),S.msgSuccess("添加成功,已提交审核")):(await Pl(t),S.msgSuccess("保存成功,处方已重新进入待审核")),W.value=!1,le()}catch(t){console.error(t)}finally{Oe.value=!1}}},Ra=async t=>{await S.confirm("确定要删除该处方吗?"),await Ol({id:t}),S.msgSuccess("删除成功"),le()};return Wl(async()=>{var t;await wa(),await Pt(),await Ot();try{const e=await wl();Pe.value=Array.isArray(e)?e:[]}catch{Pe.value=[]}try{(t=ne.userInfo)!=null&&t.id||await ne.getUserInfo()}catch{}le()}),(t,e)=>{const r=Ba,d=Ya,_=Ka,p=Ja,i=Xa,V=Qa,Y=Ga,h=Za,J=el,Ge=kl,C=ll,E=sl,A=al,Se=yl,se=nl,k=ol,j=rl,Ce=il,M=ul,La=dl,za=pl,Je=_l,Ia=ml,Fa=cl,ja=fl,Ma=gl,Ke=vl,Ha=bl,H=ql("perms"),De=tl;return m(),v("div",Jl,[a(J,{class:"filter-toolbar",shadow:"never","body-style":{padding:"10px 14px"}},{default:s(()=>[o("div",Kl,[o("div",Ql,[e[78]||(e[78]=o("span",{class:"pl-toolbar__k",title:"按处方创建时间"},"创建时间",-1)),a(d,{modelValue:I.value,"onUpdate:modelValue":e[0]||(e[0]=l=>I.value=l),size:"small",class:"pl-toolbar__rg",onChange:sa},{default:s(()=>[a(r,{label:"all"},{default:s(()=>[...e[66]||(e[66]=[c("全部",-1)])]),_:1}),a(r,{label:"today"},{default:s(()=>[...e[67]||(e[67]=[c("今日",-1)])]),_:1}),a(r,{label:"yesterday"},{default:s(()=>[...e[68]||(e[68]=[c("昨日",-1)])]),_:1}),a(r,{label:"before_yesterday"},{default:s(()=>[...e[69]||(e[69]=[c("前天",-1)])]),_:1})]),_:1},8,["modelValue"]),a(Ll,{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[79]||(e[79]=o("span",{class:"pl-toolbar__sep","aria-hidden":"true"},null,-1)),e[80]||(e[80]=o("span",{class:"pl-toolbar__k",title:"「未通过」含待审核与已驳回"},"审核",-1)),a(d,{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:na},{default:s(()=>[a(r,{label:"pending",class:"pl-audit-pending-btn"},{default:s(()=>[...e[70]||(e[70]=[c("待审核",-1)])]),_:1}),a(r,{label:"all"},{default:s(()=>[...e[71]||(e[71]=[c("全部",-1)])]),_:1}),a(r,{label:"passed"},{default:s(()=>[...e[72]||(e[72]=[c("已通过",-1)])]),_:1}),a(r,{label:"not_passed"},{default:s(()=>[...e[73]||(e[73]=[c("未通过",-1)])]),_:1}),a(r,{label:"rejected"},{default:s(()=>[...e[74]||(e[74]=[c("驳回",-1)])]),_:1})]),_:1},8,["modelValue"]),e[81]||(e[81]=o("span",{class:"pl-toolbar__sep","aria-hidden":"true"},null,-1)),e[82]||(e[82]=o("span",{class:"pl-toolbar__k",title:"与列表「来源」列一致:系统代开 / 手工"},"来源",-1)),a(d,{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:ra},{default:s(()=>[a(r,{label:"all"},{default:s(()=>[...e[75]||(e[75]=[c("全部",-1)])]),_:1}),a(r,{label:"manual"},{default:s(()=>[...e[76]||(e[76]=[c("手工",-1)])]),_:1}),a(r,{label:"system"},{default:s(()=>[...e[77]||(e[77]=[c("系统代开",-1)])]),_:1})]),_:1},8,["modelValue"])]),o("div",Xl,[a(Y,{model:w,inline:"",class:"pl-toolbar__form"},{default:s(()=>[a(p,{label:"处方编号",class:"!mb-0"},{default:s(()=>[a(_,{modelValue:w.sn,"onUpdate:modelValue":e[5]||(e[5]=l=>w.sn=l),placeholder:"编号",clearable:"",class:"pl-toolbar__input",onKeyup:Qe(L(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(p,{label:"患者",class:"!mb-0"},{default:s(()=>[a(_,{modelValue:w.patient_name,"onUpdate:modelValue":e[6]||(e[6]=l=>w.patient_name=l),placeholder:"姓名",clearable:"",class:"pl-toolbar__input",onKeyup:Qe(L(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(p,{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),v(R,null,K(Pe.value,l=>(m(),x(i,{key:l.id,label:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),o("div",Zl,[a(h,{type:"primary",onClick:L(G)},{default:s(()=>[...e[83]||(e[83]=[c("查询",-1)])]),_:1},8,["onClick"]),a(h,{onClick:ia},{default:s(()=>[...e[84]||(e[84]=[c("重置",-1)])]),_:1})])])])]),_:1}),T((m(),x(J,{class:"mt-3 table-card",shadow:"never"},{default:s(()=>[o("div",es,[e[87]||(e[87]=o("span",{class:"pl-table-head__title"},"处方列表",-1)),o("div",ts,[T((m(),x(h,{onClick:Ct},{default:s(()=>[...e[85]||(e[85]=[c(" 业务订单 ",-1)])]),_:1})),[[H,["tcm.prescriptionOrder/lists"]]]),T((m(),x(h,{type:"primary",onClick:Oa},{icon:s(()=>[a(Ge,{name:"el-icon-Plus"})]),default:s(()=>[e[86]||(e[86]=c(" 新增处方 ",-1))]),_:1})),[[H,["cf.prescription/add"]]])])]),o("div",as,[a(A,{data:L(pe).lists,size:"default",stripe:""},{default:s(()=>[a(C,{label:"处方编号","min-width":"160"},{default:s(({row:l})=>[o("span",ls,f(l.sn||"—"),1),o("div",ss,"ID: "+f(l.id),1),(m(!0),v(R,null,K(ga(l),(D,ce)=>(m(),v("div",{key:`rx-order-warn-${l.id}-${ce}`,class:"text-xs text-red-600 mt-0.5 leading-snug"},f(D),1))),128))]),_:1}),a(C,{label:"处方类型","min-width":"100"},{default:s(({row:l})=>[a(E,{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(),x(E,{key:0,type:"warning",size:"small",effect:"plain"},{default:s(()=>[...e[88]||(e[88]=[c(" 系统代开 ",-1)])]),_:1})):(m(),v("span",ns,"手工"))]),_:1}),a(C,{label:"患者信息","min-width":"110"},{default:s(({row:l})=>[o("div",rs,f(l.patient_name||"—"),1),o("div",os,f(l.gender===1?"男":l.gender===0?"女":"未知")+" · "+f(l.age?l.age+"岁":"—"),1)]),_:1}),a(C,{label:"审核状态","min-width":"200"},{default:s(({row:l})=>[o("div",is,[o("div",us,[a(E,{type:ma(l)},{default:s(()=>[c(f(pa(l)),1)]),_:2},1032,["type"]),Number(l.business_prescription_audit_rejected)===1?(m(),v("span",ds," (业务订单审核) ")):b("",!0)]),gt(l).length?(m(!0),v(R,{key:0},K(gt(l),(D,ce)=>(m(),v("div",{key:ce,class:"text-xs text-red-600 leading-snug line-clamp-3",title:D},f(D),9,ps))),128)):b("",!0)])]),_:1}),a(C,{label:"作废","min-width":"80",align:"center"},{default:s(({row:l})=>[l.void_status===1?(m(),x(E,{key:0,type:"danger",size:"small"},{default:s(()=>[...e[89]||(e[89]=[c("作废",-1)])]),_:1})):(m(),v("span",ms,"—"))]),_:1}),a(C,{label:"医师信息","min-width":"120"},{default:s(({row:l})=>[o("div",_s,f(l.doctor_name||"—"),1),o("div",cs,f(l.prescription_date||"—"),1)]),_:1}),a(C,{label:"医助","min-width":"90"},{default:s(({row:l})=>[o("div",fs,f(l.assistant_name||"—"),1)]),_:1}),a(C,{label:"创建时间","min-width":"160"},{default:s(({row:l})=>[c(f(oa(l.create_time)),1)]),_:1}),a(C,{label:"操作",width:"300",fixed:"right"},{default:s(({row:l})=>[T((m(),x(h,{type:"primary",link:"",onClick:D=>Ta(l)},{default:s(()=>[...e[90]||(e[90]=[c(" 查看 ",-1)])]),_:1},8,["onClick"])),[[H,["cf.prescription/read"]]]),!Number(l.has_prescription_order)&&Number(l.void_status)!==1?T((m(),x(h,{key:0,type:"success",link:"",onClick:D=>Lt(l)},{default:s(()=>[...e[91]||(e[91]=[c(" 创建订单 ",-1)])]),_:1},8,["onClick"])),[[H,["tcm.prescriptionOrder/create"]]]):b("",!0),vt(l)?b("",!0):T((m(),x(h,{key:1,type:"primary",link:"",onClick:D=>Ea(l)},{default:s(()=>[...e[92]||(e[92]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[H,["cf.prescription/edit"]]]),l.audit_status===0&&l.void_status!==1?T((m(),x(h,{key:2,type:"warning",link:"",onClick:D=>ha(l)},{default:s(()=>[...e[93]||(e[93]=[c(" 审核 ",-1)])]),_:1},8,["onClick"])),[[H,["cf.prescription/audit"]]]):b("",!0),vt(l)?b("",!0):T((m(),x(h,{key:3,type:"danger",link:"",onClick:D=>Ra(l.id)},{default:s(()=>[...e[94]||(e[94]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[H,["cf.prescription/del"]]])]),_:1})]),_:1},8,["data"])]),o("div",gs,[a(Se,{modelValue:L(pe),"onUpdate:modelValue":e[8]||(e[8]=l=>Bl(pe)?pe.value=l:null),onChange:L(le)},null,8,["modelValue","onChange"])])]),_:1})),[[De,L(pe).loading]]),a(za,{modelValue:W.value,"onUpdate:modelValue":e[37]||(e[37]=l=>W.value=l),title:O.value==="add"?"新增处方":O.value==="edit"?"编辑处方":"查看处方",size:O.value==="view"?"920px":"860px",class:"cf-prescription-drawer","close-on-click-modal":!1,"destroy-on-close":"",onClosed:ba},{footer:s(()=>[O.value==="view"?(m(),x(h,{key:0,onClick:e[35]||(e[35]=l=>W.value=!1)},{default:s(()=>[...e[138]||(e[138]=[c("关闭",-1)])]),_:1})):(m(),v(R,{key:1},[a(h,{onClick:e[36]||(e[36]=l=>W.value=!1)},{default:s(()=>[...e[139]||(e[139]=[c("取消",-1)])]),_:1}),a(h,{type:"primary",onClick:Aa,loading:Oe.value},{default:s(()=>[...e[140]||(e[140]=[c(" 确定 ",-1)])]),_:1},8,["loading"])],64))]),default:s(()=>[O.value==="view"?T((m(),v("div",vs,[o("div",bs,[g.value&&Number(g.value.is_system_auto)===1?(m(),x(E,{key:0,type:"warning",size:"small",effect:"plain"},{default:s(()=>[...e[95]||(e[95]=[c("系统代开",-1)])]),_:1})):b("",!0),g.value&&Number(g.value.void_status)===1?(m(),x(E,{key:1,type:"danger",size:"small"},{default:s(()=>[...e[96]||(e[96]=[c("已作废",-1)])]),_:1})):g.value&&Number(g.value.business_prescription_audit_rejected)===1?(m(),x(E,{key:2,type:"danger",size:"small"},{default:s(()=>[...e[97]||(e[97]=[c("业务订单已驳回",-1)])]),_:1})):g.value&&Number(g.value.audit_status)===1?(m(),x(E,{key:3,type:"success",size:"small"},{default:s(()=>[...e[98]||(e[98]=[c("已通过",-1)])]),_:1})):g.value&&Number(g.value.audit_status)===0?(m(),x(E,{key:4,type:"warning",size:"small"},{default:s(()=>[...e[99]||(e[99]=[c("待审核",-1)])]),_:1})):g.value?(m(),x(E,{key:5,type:"danger",size:"small"},{default:s(()=>[...e[100]||(e[100]=[c("已驳回",-1)])]),_:1})):b("",!0),e[103]||(e[103]=o("div",{class:"flex-1"},null,-1)),a(h,{icon:L(Il),size:"small",onClick:Qt},{default:s(()=>[...e[101]||(e[101]=[c("打印",-1)])]),_:1},8,["icon"]),a(h,{type:"primary",icon:L(Fl),size:"small",loading:Ie.value,onClick:Xt},{default:s(()=>[...e[102]||(e[102]=[c(" 下载 PDF (A4) ",-1)])]),_:1},8,["icon","loading"])]),g.value&&Number(g.value.void_status)===1?(m(),v("div",ys," 作废人:"+f(g.value.void_by_name||"—")+",作废时间:"+f(_a(g.value.void_time)),1)):g.value&&Number(g.value.business_prescription_audit_rejected)===1?(m(),v("div",xs,[e[104]||(e[104]=o("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),g.value.business_prescription_audit_remark?(m(),v("div",ks," 驳回意见:"+f(g.value.business_prescription_audit_remark),1)):b("",!0)])):g.value&&Number(g.value.audit_status)===2?(m(),v("div",Vs,[e[105]||(e[105]=o("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),g.value.audit_remark?(m(),v("div",hs,"驳回意见:"+f(g.value.audit_remark),1)):b("",!0)])):b("",!0),g.value?(m(),v("div",{key:3,ref_key:"rxPaperRef",ref:ot,class:"rx-paper"},[o("div",ws,[e[106]||(e[106]=o("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),o("span",Ns,[o("span",null,"日期:"+f(Ht.value),1),o("span",null,"编号:"+f(Wt.value),1)])]),o("div",Ss,[o("div",Cs,[o("div",Ds,[e[107]||(e[107]=o("span",{class:"rx-key"},"姓名",-1)),o("span",Us,f(g.value.patient_name||"—"),1)]),o("div",$s,[e[108]||(e[108]=o("span",{class:"rx-key"},"性别",-1)),o("span",Ps,f(ca(g.value.gender)),1)]),o("div",Os,[e[109]||(e[109]=o("span",{class:"rx-key"},"年龄",-1)),o("span",Ts,f(fa(g.value.age)),1)]),o("div",Es,[e[110]||(e[110]=o("span",{class:"rx-key"},"电话",-1)),o("span",As,f(g.value.phone||"—"),1)])]),o("div",Rs,[o("div",Ls,[e[111]||(e[111]=o("span",{class:"rx-key"},"收件信息",-1)),o("span",zs,f(qt.value),1)])]),o("div",Is,[o("div",Fs,[e[112]||(e[112]=o("span",{class:"rx-key"},"临床诊断",-1)),o("span",js,f(g.value.clinical_diagnosis||"—"),1)])])]),o("div",Ms,[e[113]||(e[113]=o("div",{class:"rx-watermark"},"药房联",-1)),e[114]||(e[114]=o("div",{class:"rx-rp-head"},[o("div",{class:"rx-rp-label"},"Rp."),o("div",{class:"rx-rp-cols-head"},[o("div",{class:"rx-rp-col-head"},[o("span",null,"用药 (单剂)"),o("span",null,"总量")]),o("div",{class:"rx-rp-col-head"},[o("span",null,"用药 (单剂)"),o("span",null,"总量")])])],-1)),o("div",Hs,[(m(!0),v(R,null,K(ye.value,(l,D)=>(m(),v("div",{key:D,class:"rx-herb-cell"},[o("span",Ws,f(l.name)+" ("+f(l.dosage)+"克)",1),o("span",qs,f(Bt(l.dosage))+"克",1)]))),128))])]),o("div",Ys,[o("p",null,"服法:"+f(Jt.value),1),ut.value?(m(),v("p",Bs,"医嘱:"+f(ut.value),1)):b("",!0),dt.value?(m(),v("p",Gs,"备注:"+f(dt.value),1)):b("",!0),pt.value?(m(),v("p",Js," 药房备注:"+f(pt.value),1)):b("",!0),mt.value?(m(),v("p",Ks," 出丸:"+f(mt.value),1)):b("",!0)]),o("div",Qs,[o("div",Xs,[o("div",Zs,[e[115]||(e[115]=o("div",{class:"rx-bot-label"},"医师",-1)),o("div",en,[g.value.doctor_signature?(m(),v("img",{key:0,src:g.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,tn)):b("",!0),o("div",an,f(g.value.doctor_name||"—"),1)])]),o("div",ln,[e[116]||(e[116]=o("span",{class:"rx-bot-meta-key"},"类型:",-1)),o("span",sn,f(Gt.value),1)]),o("div",nn,[e[117]||(e[117]=o("span",{class:"rx-bot-meta-key"},"天数:",-1)),o("span",rn,f(g.value.dose_count||"—")+"剂",1)]),o("div",on,[e[118]||(e[118]=o("span",{class:"rx-bot-meta-key"},"单剂量:",-1)),o("span",un,f(Yt.value)+"克",1)])])])],512)):b("",!0),g.value&&(g.value.audit_by_name||g.value.audit_remark)?(m(),v("div",dn,[g.value.audit_by_name?(m(),v("div",pn,[c(" 审核人:"+f(g.value.audit_by_name)+" ",1),g.value.audit_time?(m(),v("span",mn,f(he(g.value.audit_time)),1)):b("",!0)])):b("",!0),g.value.audit_remark?(m(),v("div",_n,"审核意见:"+f(g.value.audit_remark),1)):b("",!0)])):b("",!0)])),[[De,Te.value]]):(m(),x(Y,{key:1,ref_key:"formRef",ref:B,model:n,rules:aa,"label-width":"120px"},{default:s(()=>[O.value==="edit"&&Number(n.is_system_auto)===1?(m(),x(se,{key:0,type:"warning",closable:!1,"show-icon":"",class:"mb-4",title:"本处方为系统自动生成(如挂号完成),默认无药材配方,请补充药材与诊断等信息后再保存。"})):b("",!0),O.value==="edit"?(m(),x(se,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4",title:"保存修改后,该处方将重新进入「待审核」,需审核人员再次通过后方可生效。"})):b("",!0),O.value==="edit"&&Number(n.audit_status)===2?(m(),x(se,{key:2,type:"error",closable:!1,"show-icon":"",class:"mb-4"},{title:s(()=>[...e[119]||(e[119]=[c("当前消费者处方为「已驳回」",-1)])]),default:s(()=>[o("div",cn," 保存修改后将清除驳回并变为「待审核」。"+f(n.audit_remark?`上次意见:${n.audit_remark}`:""),1)]),_:1})):b("",!0),O.value==="edit"&&Number(n.business_prescription_audit_rejected)===1&&Number(n.audit_status)===1?(m(),x(se,{key:3,type:"warning",closable:!1,"show-icon":"",class:"mb-4"},{title:s(()=>[...e[120]||(e[120]=[c("业务订单侧「处方审核」已驳回",-1)])]),default:s(()=>[e[121]||(e[121]=o("div",{class:"text-sm mt-1"}," 消费者处方仍为「已通过」;您修改并保存后,将重置关联业务订单的处方/支付单审核为「待审」,请在「处方业务订单」中继续处理。 ",-1)),String(n.business_prescription_audit_remark||"").trim()?(m(),v("div",fn," 驳回意见:"+f(n.business_prescription_audit_remark),1)):b("",!0)]),_:1})):b("",!0),O.value==="edit"&&rt.value?(m(),x(se,{key:4,type:"warning",closable:!1,"show-icon":"",class:"mb-4",title:rt.value},null,8,["title"])):b("",!0),Number(n.diagnosis_id)>0?(m(),v("div",gn,[a(h,{type:"primary",size:"small",onClick:ta},{default:s(()=>[...e[122]||(e[122]=[c(" 查看患者诊单详情 ",-1)])]),_:1}),o("span",vn,"关联诊单 #"+f(n.diagnosis_id),1)])):b("",!0),a(j,{gutter:20},{default:s(()=>[a(k,{span:12},{default:s(()=>[a(p,{label:"患者姓名",prop:"patient_name"},{default:s(()=>[a(_,{modelValue:n.patient_name,"onUpdate:modelValue":e[9]||(e[9]=l=>n.patient_name=l),placeholder:"请输入患者姓名"},null,8,["modelValue"])]),_:1})]),_:1}),a(k,{span:12},{default:s(()=>[a(p,{label:"门诊号",prop:"visit_no"},{default:s(()=>[a(_,{modelValue:n.visit_no,"onUpdate:modelValue":e[10]||(e[10]=l=>n.visit_no=l),placeholder:"自动生成或手动输入"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(j,{gutter:20},{default:s(()=>[a(k,{span:8},{default:s(()=>[a(p,{label:"性别",prop:"gender"},{default:s(()=>[a(d,{modelValue:n.gender,"onUpdate:modelValue":e[11]||(e[11]=l=>n.gender=l)},{default:s(()=>[a(Ce,{label:1},{default:s(()=>[...e[123]||(e[123]=[c("男",-1)])]),_:1}),a(Ce,{label:0},{default:s(()=>[...e[124]||(e[124]=[c("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(k,{span:8},{default:s(()=>[a(p,{label:"年龄",prop:"age"},{default:s(()=>[a(M,{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(k,{span:8},{default:s(()=>[a(p,{label:"处方日期",prop:"prescription_date"},{default:s(()=>[a(La,{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(j,{gutter:20},{default:s(()=>[a(k,{span:12},{default:s(()=>[a(p,{label:"面象",prop:"tongue"},{default:s(()=>[a(_,{modelValue:n.tongue,"onUpdate:modelValue":e[14]||(e[14]=l=>n.tongue=l),placeholder:"请输入面象"},null,8,["modelValue"])]),_:1})]),_:1}),a(k,{span:12},{default:s(()=>[a(p,{label:"舌象",prop:"tongue_image"},{default:s(()=>[a(_,{modelValue:n.tongue_image,"onUpdate:modelValue":e[15]||(e[15]=l=>n.tongue_image=l),placeholder:"请输入舌象"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(j,{gutter:20},{default:s(()=>[a(k,{span:12},{default:s(()=>[a(p,{label:"脉象",prop:"pulse"},{default:s(()=>[a(_,{modelValue:n.pulse,"onUpdate:modelValue":e[16]||(e[16]=l=>n.pulse=l),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1})]),_:1}),a(k,{span:12},{default:s(()=>[a(p,{label:"脉象详情",prop:"pulse_condition"},{default:s(()=>[a(_,{modelValue:n.pulse_condition,"onUpdate:modelValue":e[17]||(e[17]=l=>n.pulse_condition=l),placeholder:"请输入脉象详情"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(p,{label:"临床诊断",prop:"clinical_diagnosis"},{default:s(()=>[a(_,{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(p,{label:"药材配方",prop:"herbs",required:""},{default:s(()=>[o("div",bn,[a(h,{type:"primary",size:"small",onClick:Ua},{default:s(()=>[...e[125]||(e[125]=[c(" 添加药材 ",-1)])]),_:1}),a(h,{type:"success",size:"small",class:"ml-2",onClick:Ca},{default:s(()=>[...e[126]||(e[126]=[c(" 从处方库导入 ",-1)])]),_:1}),a(A,{data:n.herbs,class:"mt-2",border:""},{default:s(()=>[a(C,{label:"序号",type:"index",width:"60"}),a(C,{label:"药材名称","min-width":"220"},{default:s(({row:l})=>[a(zl,{modelValue:l.name,"onUpdate:modelValue":D=>l.name=D,class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),a(C,{label:"剂量(克)","min-width":"120"},{default:s(({row:l,$index:D})=>[a(M,{modelValue:l.dosage,"onUpdate:modelValue":ce=>l.dosage=ce,min:0,precision:1,step:.5,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),a(C,{label:"操作",width:"80"},{default:s(({$index:l})=>[a(h,{type:"danger",link:"",onClick:D=>$a(l)},{default:s(()=>[...e[127]||(e[127]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),O.value==="edit"?T((m(),x(se,{key:0,type:"warning",closable:!1,"show-icon":"",class:"mt-3"},{title:s(()=>[...e[128]||(e[128]=[c("业务订单要求(请与本处方保持一致)",-1)])]),default:s(()=>[o("div",yn,[N.orderNo||N.medicationDays!=null||N.remarkAssistant?(m(),v(R,{key:0},[N.orderNo?(m(),v("p",xn,[e[129]||(e[129]=c(" 最近关联订单(按创建倒序): ",-1)),o("span",kn,f(N.orderNo),1)])):b("",!0),o("p",Vn,[e[130]||(e[130]=o("span",{class:"font-semibold"},"服用天数(订单)",-1)),c(": "+f(N.medicationDays!=null?`${N.medicationDays} 天`:"— 订单未填写"),1)]),o("p",null,[e[131]||(e[131]=o("span",{class:"font-semibold"},"医助备注(订单)",-1)),e[132]||(e[132]=c(": ",-1)),o("span",hn,f(N.remarkAssistant||"— 无"),1)])],64)):N.loading?b("",!0):(m(),v("p",wn,[...e[133]||(e[133]=[c(" 当前处方暂无关联业务订单,或您无订单列表权限;若有订单,将在此处显示订单内 ",-1),o("span",{class:"font-semibold"},"服用天数",-1),c("与 ",-1),o("span",{class:"font-semibold"},"医助备注",-1),c("。 ",-1)])]))])]),_:1})),[[De,N.loading]]):b("",!0)])]),_:1}),a(j,{gutter:20},{default:s(()=>[a(k,{span:8},{default:s(()=>[a(p,{label:"剂数",prop:"dose_count"},{default:s(()=>[a(M,{modelValue:n.dose_count,"onUpdate:modelValue":e[19]||(e[19]=l=>n.dose_count=l),min:1,placeholder:"剂数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),a(k,{span:8},{default:s(()=>[a(p,{label:"剂量单位",prop:"dose_unit"},{default:s(()=>[a(V,{modelValue:n.dose_unit,"onUpdate:modelValue":e[20]||(e[20]=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(k,{span:8},{default:s(()=>[a(p,{label:"处方类型",prop:"prescription_type"},{default:s(()=>[a(V,{modelValue:n.prescription_type,"onUpdate:modelValue":e[21]||(e[21]=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}),a(k,{span:8},{default:s(()=>[a(p,{label:"用量",prop:"dosage_amount"},{default:s(()=>[n.prescription_type==="浓缩水丸"?(m(),x(V,{key:0,modelValue:n.dosage_amount,"onUpdate:modelValue":e[22]||(e[22]=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(),x(V,{key:1,modelValue:n.dosage_amount,"onUpdate:modelValue":e[23]||(e[23]=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(),x(M,{key:2,modelValue:n.dosage_amount,"onUpdate:modelValue":e[24]||(e[24]=l=>n.dosage_amount=l),min:0,precision:2,class:"w-full"},null,8,["modelValue"]))]),_:1})]),_:1}),n.prescription_type==="饮片"?(m(),x(k,{key:0,span:8},{default:s(()=>[a(p,{label:"是否代煎",prop:"need_decoction"},{default:s(()=>[a(d,{modelValue:n.need_decoction,"onUpdate:modelValue":e[25]||(e[25]=l=>n.need_decoction=l)},{default:s(()=>[a(Ce,{label:!0},{default:s(()=>[...e[134]||(e[134]=[c("代煎",-1)])]),_:1}),a(Ce,{label:!1},{default:s(()=>[...e[135]||(e[135]=[c("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):b("",!0),n.prescription_type==="饮片"?(m(),x(k,{key:1,span:8},{default:s(()=>[a(p,{label:"每贴出包数",prop:"bags_per_dose"},{default:s(()=>[a(V,{modelValue:n.bags_per_dose,"onUpdate:modelValue":e[26]||(e[26]=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(k,{span:8},{default:s(()=>[a(p,{label:"每天几次",prop:"times_per_day"},{default:s(()=>[a(M,{modelValue:n.times_per_day,"onUpdate:modelValue":e[27]||(e[27]=l=>n.times_per_day=l),min:1,max:6,class:"!w-full",placeholder:"每天服用次数"},null,8,["modelValue"])]),_:1})]),_:1}),a(k,{span:8},{default:s(()=>[a(p,{label:"服用天数",prop:"usage_days"},{default:s(()=>[a(M,{modelValue:n.usage_days,"onUpdate:modelValue":e[28]||(e[28]=l=>n.usage_days=l),min:1,max:365,placeholder:"服用天数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(p,{label:"用法",prop:"usage_instruction"},{default:s(()=>[a(_,{modelValue:n.usage_instruction,"onUpdate:modelValue":e[29]||(e[29]=l=>n.usage_instruction=l),placeholder:"例如:水煎服,一日二次",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),a(j,{gutter:20},{default:s(()=>[a(k,{span:12},{default:s(()=>[a(p,{label:"服用时间",prop:"usage_time"},{default:s(()=>[a(V,{modelValue:n.usage_time,"onUpdate:modelValue":e[30]||(e[30]=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(k,{span:12},{default:s(()=>[a(p,{label:"服用方式",prop:"usage_way"},{default:s(()=>[a(V,{modelValue:n.usage_way,"onUpdate:modelValue":e[31]||(e[31]=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(p,{label:"忌口",prop:"dietary_taboo"},{default:s(()=>[a(V,{modelValue:n.dietary_taboo,"onUpdate:modelValue":e[32]||(e[32]=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(p,{label:"其他说明",prop:"usage_notes"},{default:s(()=>[a(_,{modelValue:n.usage_notes,"onUpdate:modelValue":e[33]||(e[33]=l=>n.usage_notes=l),type:"textarea",rows:2,placeholder:"其他服用注意事项",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),a(p,{label:"医师姓名",prop:"doctor_name"},{default:s(()=>[a(_,{modelValue:n.doctor_name,"onUpdate:modelValue":e[34]||(e[34]=l=>n.doctor_name=l),placeholder:"请输入医师姓名"},null,8,["modelValue"])]),_:1}),a(p,{label:"医师签名",prop:"doctor_signature",required:""},{default:s(()=>[o("div",Nn,[o("canvas",{ref_key:"signatureCanvasRef",ref:F,class:"signature-canvas",onPointerdown:fe(ya,["prevent"]),onPointermove:fe(xa,["prevent"]),onPointerup:fe(yt,["prevent"]),onPointercancel:fe(yt,["prevent"])},null,544),o("div",Sn,[a(h,{size:"small",onClick:ka},{default:s(()=>[...e[136]||(e[136]=[c("清空签名",-1)])]),_:1})])]),e[137]||(e[137]=o("div",{class:"text-xs text-amber-600 mt-1"},"* 必填,请在框内手写医师签名",-1))]),_:1})]),_:1},8,["model"]))]),_:1},8,["modelValue","title","size"]),a(Ke,{modelValue:ie.value,"onUpdate:modelValue":e[55]||(e[55]=l=>ie.value=l),title:"创建业务订单",width:"940px",top:"4vh","close-on-click-modal":!1,onClosed:st,class:"create-order-dialog"},{footer:s(()=>[o("div",Xn,[o("div",Zn,[o("span",er,"第 "+f($.value+1)+" / 3 步",1),$.value===2&&U.value>0?(m(),v("span",tr," 订单金额与关联支付单合计须 ≥ ¥"+f(ae(U.value)),1)):b("",!0)]),o("div",ar,[a(h,{size:"large",onClick:e[54]||(e[54]=l=>ie.value=!1)},{default:s(()=>[...e[149]||(e[149]=[c("取消",-1)])]),_:1}),$.value>0?(m(),x(h,{key:0,size:"large",onClick:Ft},{default:s(()=>[...e[150]||(e[150]=[c("上一步",-1)])]),_:1})):b("",!0),$.value<2?(m(),x(h,{key:1,type:"primary",size:"large",onClick:jt},{default:s(()=>[...e[151]||(e[151]=[c(" 下一步 ",-1)])]),_:1})):b("",!0),$.value===2?(m(),x(h,{key:2,type:"primary",size:"large",loading:Ee.value,onClick:Mt},{default:s(()=>[...e[152]||(e[152]=[c(" 创建业务订单 ",-1)])]),_:1},8,["loading"])):b("",!0)])])]),default:s(()=>[o("div",Cn,[z.value?(m(),v("div",Dn,[o("div",Un,[e[141]||(e[141]=o("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),o("div",$n,[o("span",Pn,"#"+f(z.value.id),1),z.value.sn?(m(),v("span",On,f(z.value.sn),1)):b("",!0),o("span",Tn,f(z.value.patient_name||"—"),1)])])])):b("",!0),a(Ia,{active:$.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:s(()=>[a(Je,{title:"患者与收货",description:"诊单与物流地址"}),a(Je,{title:"服务与支付单",description:"套餐与关联收款"}),a(Je,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),o("p",En,f(Dt.value),1),a(Y,{ref_key:"createOrderFormRef",ref:ue,model:u,rules:At.value,"label-width":"108px",class:"create-order-form"},{default:s(()=>[T(o("div",An,[a(j,{gutter:20},{default:s(()=>[a(k,{span:24},{default:s(()=>[a(p,{label:"诊单患者",prop:"patient_id"},{default:s(()=>[a(V,{modelValue:u.patient_id,"onUpdate:modelValue":e[38]||(e[38]=l=>u.patient_id=l),class:"w-full",placeholder:"搜索姓名/手机/身份证",filterable:"",remote:"","remote-method":zt,loading:Ae.value,onChange:It},{default:s(()=>[(m(!0),v(R,null,K(q.value,l=>(m(),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(k,{span:12},{default:s(()=>[a(p,{label:"收货人",prop:"recipient_name"},{default:s(()=>[a(_,{modelValue:u.recipient_name,"onUpdate:modelValue":e[39]||(e[39]=l=>u.recipient_name=l),placeholder:"姓名",maxlength:"50"},null,8,["modelValue"])]),_:1})]),_:1}),a(k,{span:12},{default:s(()=>[a(p,{label:"收货手机",prop:"recipient_phone"},{default:s(()=>[a(_,{modelValue:u.recipient_phone,"onUpdate:modelValue":e[40]||(e[40]=l=>u.recipient_phone=l),placeholder:"物流联系",maxlength:"20"},null,8,["modelValue"])]),_:1})]),_:1}),a(k,{span:24},{default:s(()=>[a(p,{label:"省市区",prop:"region"},{default:s(()=>[a(Fa,{modelValue:u.region,"onUpdate:modelValue":e[41]||(e[41]=l=>u.region=l),options:de.value,props:{value:"name",label:"name",children:"children",emitPath:!0,checkStrictly:!1},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full",onChange:Tt},null,8,["modelValue","options"])]),_:1})]),_:1}),a(k,{span:24},{default:s(()=>[a(p,{label:"详细地址",prop:"shipping_address"},{default:s(()=>[a(_,{modelValue:u.shipping_address,"onUpdate:modelValue":e[42]||(e[42]=l=>u.shipping_address=l),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Xe,$.value===0]]),T(o("div",Rn,[a(j,{gutter:20},{default:s(()=>[a(k,{xs:24,sm:8},{default:s(()=>[a(p,{label:"复诊"},{default:s(()=>[a(ja,{modelValue:u.is_follow_up,"onUpdate:modelValue":e[43]||(e[43]=l=>u.is_follow_up=l),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),a(k,{xs:24,sm:8},{default:s(()=>[a(p,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:s(()=>[o("div",Ln,[a(M,{modelValue:u.medication_days,"onUpdate:modelValue":e[44]||(e[44]=l=>u.medication_days=l),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[142]||(e[142]=o("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),a(k,{xs:24,sm:8},{default:s(()=>[a(p,{label:"上次医生"},{default:s(()=>[a(_,{modelValue:u.prev_staff,"onUpdate:modelValue":e[45]||(e[45]=l=>u.prev_staff=l),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(k,{span:12},{default:s(()=>[a(p,{label:"服务渠道"},{default:s(()=>[a(_,{modelValue:u.service_channel,"onUpdate:modelValue":e[46]||(e[46]=l=>u.service_channel=l),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(k,{span:12},{default:s(()=>[a(p,{label:"服务套餐"},{default:s(()=>[a(V,{modelValue:u.service_package,"onUpdate:modelValue":e[47]||(e[47]=l=>u.service_package=l),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:s(()=>[(m(!0),v(R,null,K(Le.value,l=>(m(),x(i,{key:l.value,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(k,{span:24},{default:s(()=>[a(p,{label:"关联支付单",prop:"pay_order_ids"},{default:s(()=>[a(V,{modelValue:u.pay_order_ids,"onUpdate:modelValue":e[48]||(e[48]=l=>u.pay_order_ids=l),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:U.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Re.value},{default:s(()=>[(m(!0),v(R,null,K(te.value,l=>(m(),x(i,{key:l.id,label:`${l.order_no} · ¥${l.amount} · ${lt(l.order_type)}`,value:l.id,class:"!h-auto py-1.5"},{default:s(()=>[o("div",zn,[o("div",In,[o("span",Fn,f(l.order_no),1),o("span",jn,"¥"+f(l.amount),1)]),o("div",Mn,[o("span",Hn,[c(f(lt(l.order_type)),1),l.remark?(m(),v(R,{key:0},[c(" · "+f(l.remark),1)],64)):b("",!0)]),o("span",Wn,f(String(l.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),o("div",qn,[U.value>0?(m(),v(R,{key:0},[o("span",Yn,"当前已开启关联支付门槛(¥"+f(ae(U.value))+"),须至少选择一笔支付单。",1),e[143]||(e[143]=o("span",{class:"mx-1"},null,-1))],64)):b("",!0),e[145]||(e[145]=c(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),a(Ma,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:s(()=>[...e[144]||(e[144]=[o("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1})]),_:1})]),_:1})],512),[[Xe,$.value===1]]),T(o("div",Bn,[o("div",{class:Gl(["create-order-deposit-bar",ze.value>=U.value?"is-ok":"is-warn"])},[o("div",Gn,[e[146]||(e[146]=o("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),o("strong",null,"¥"+f(ae(U.value)),1),o("span",Jn,f(U.value>0?"须 ≥ 此值":"未设置"),1)]),e[148]||(e[148]=o("div",{class:"create-order-deposit-bar__sep"},null,-1)),o("div",Kn,[e[147]||(e[147]=o("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),o("strong",null,"¥"+f(ae(ze.value)),1),o("span",Qn,f(ze.value>=U.value?"已达标":"未达标"),1)])],2),a(j,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:s(()=>[a(k,{span:12},{default:s(()=>[a(p,{label:"费用类别",prop:"fee_type"},{default:s(()=>[a(V,{modelValue:u.fee_type,"onUpdate:modelValue":e[49]||(e[49]=l=>u.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(k,{span:12},{default:s(()=>[a(p,{label:"总金额",prop:"amount"},{default:s(()=>[a(M,{modelValue:u.amount,"onUpdate:modelValue":e[50]||(e[50]=l=>u.amount=l),min:Et.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),T((m(),x(k,{span:12},{default:s(()=>[a(p,{label:"内部成本"},{default:s(()=>[a(M,{modelValue:u.internal_cost,"onUpdate:modelValue":e[51]||(e[51]=l=>u.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(k,{span:24},{default:s(()=>[T((m(),x(p,{label:"药房备注"},{default:s(()=>[a(_,{modelValue:u.remark_extra,"onUpdate:modelValue":e[52]||(e[52]=l=>u.remark_extra=l),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[H,["tcm.prescriptionOrder/editRemarkExtra"]]]),a(p,{label:"医助备注"},{default:s(()=>[a(_,{modelValue:u.remark_assistant,"onUpdate:modelValue":e[53]||(e[53]=l=>u.remark_assistant=l),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Xe,$.value===2]])]),_:1},8,["model","rules"])])]),_:1},8,["modelValue"]),a(Ke,{modelValue:me.value,"onUpdate:modelValue":e[59]||(e[59]=l=>me.value=l),title:"从处方库导入",width:"800px","close-on-click-modal":!1},{default:s(()=>[o("div",lr,[a(_,{modelValue:we.value,"onUpdate:modelValue":e[56]||(e[56]=l=>we.value=l),placeholder:"请输入处方名称搜索",clearable:"",onKeyup:Qe(Be,["enter"]),onClear:Be},{append:s(()=>[a(h,{icon:L(jl),onClick:Be},null,8,["icon"])]),_:1},8,["modelValue"])]),T((m(),x(A,{data:We.value,height:"400",style:{cursor:"pointer"},onRowClick:Da},{default:s(()=>[a(C,{label:"处方名称",prop:"prescription_name","min-width":"150","show-overflow-tooltip":""}),a(C,{label:"药材数量",width:"100"},{default:s(({row:l})=>{var D;return[c(f(((D=l.herbs)==null?void 0:D.length)||0)+"味 ",1)]}),_:1}),a(C,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:s(({row:l})=>[l.herbs&&l.herbs.length>0?(m(),v("span",sr,f(l.herbs.map(D=>`${D.name} ${D.dosage}g`).join("、")),1)):(m(),v("span",nr,"暂无药材"))]),_:1}),a(C,{label:"创建人",prop:"creator_name",width:"100"}),a(C,{label:"操作",width:"100",fixed:"right"},{default:s(({row:l})=>[a(h,{type:"primary",link:"",onClick:fe(D=>wt(l),["stop"])},{default:s(()=>[...e[153]||(e[153]=[c("导入",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[De,He.value]]),o("div",rr,[a(Ha,{"current-page":_e.value,"onUpdate:currentPage":e[57]||(e[57]=l=>_e.value=l),"page-size":qe.value,"onUpdate:pageSize":e[58]||(e[58]=l=>qe.value=l),total:Ye.value,"page-sizes":[10,15,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:Ne,onSizeChange:Ne},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue"]),a(Ke,{modelValue:oe.value,"onUpdate:modelValue":e[64]||(e[64]=l=>oe.value=l),title:"处方审核",width:"480px","destroy-on-close":"",onClosed:e[65]||(e[65]=l=>ee.value="")},{footer:s(()=>[a(h,{onClick:e[61]||(e[61]=l=>oe.value=!1)},{default:s(()=>[...e[154]||(e[154]=[c("取消",-1)])]),_:1}),a(h,{type:"primary",loading:ge.value,onClick:e[62]||(e[62]=l=>Vt("approve"))},{default:s(()=>[...e[155]||(e[155]=[c("审核通过",-1)])]),_:1},8,["loading"]),a(h,{type:"danger",loading:ge.value,onClick:e[63]||(e[63]=l=>Vt("reject"))},{default:s(()=>[...e[156]||(e[156]=[c("驳回处方",-1)])]),_:1},8,["loading"])]),default:s(()=>[e[157]||(e[157]=o("p",{class:"text-sm text-gray-600 mb-3"}," 通过:处方保持有效。驳回:将同时作废此处方(与诊间「驳回/作废处方」一致)。 ",-1)),a(Y,{"label-width":"80px"},{default:s(()=>[a(p,{label:"审核意见"},{default:s(()=>[a(_,{modelValue:ee.value,"onUpdate:modelValue":e[60]||(e[60]=l=>ee.value=l),type:"textarea",rows:3,maxlength:"500","show-word-limit":"",placeholder:"通过可简要说明;驳回必填"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(L(St),{ref_key:"diagnosisViewRef",ref:_t},null,512)])}}}),ao=hl(ir,[["__scopeId","data-v-187f4b4c"]]);export{ao as default};
|