Files
zyt/server/public/admin/assets/index-DSntC8Ag.js
T
2026-04-30 09:27:42 +08:00

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