2 lines
57 KiB
JavaScript
2 lines
57 KiB
JavaScript
import{G as Lt,F as It,D as Rt,B as zt,C as Ft,P as Bt,Q as Ht,i as Yt,J as qt,L as Qt,M as Wt,N as Gt,U as Jt,K as Kt,V as Xt,W as Zt,I as el,h as tl,X as ll,g as al,e as sl,Y as il,Z as nl}from"./element-plus-DCRlGjqn.js";import{_ as ol}from"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import{u as rl,c as dl,i as S,_ as ul}from"./index-uyUH29BJ.js";import{w as pl}from"./@vue/runtime-dom-iFk_KP8y.js";import{g as ml,p as _l,a as ze,b as fl,c as cl,d as vl,e as gl,f as bl,h as yl}from"./tcm-BU23xs5N.js";import{s as Vl}from"./order-B0GZIplP.js";import{r as kl}from"./role-l74SNigM.js";import{u as xl}from"./usePaging-B_C_SZ2Z.js";import{_ as hl}from"./index.vue_vue_type_script_setup_true_lang-B1hInEWx.js";import{a as wl}from"./vue-router-CYz6RFzi.js";import{f as He,w as ue,b as Cl,as as Nl,ak as u,I as g,a as t,aN as s,J as n,O as p,F as M,ap as F,G as y,aP as $,H as V,A as B,n as Fe}from"./@vue/runtime-core-C0pg79pw.js";import{y as H,a as Ul,r as ke,o as x}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as f,o as Be}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-jYCthPJY.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"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.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-CZvD9OL_.js";import"./tslib-BDyQ-Jie.js";import"./zrender-BQyIY4j9.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const Sl={class:"prescription-list"},Dl={class:"pl-toolbar"},Ol={class:"pl-toolbar__line"},$l={class:"pl-toolbar__line pl-toolbar__line--second"},Al={class:"pl-toolbar__actions"},El={class:"pl-table-head"},Pl={class:"flex items-center gap-2"},Ml={class:"mt-3"},jl={class:"font-medium"},Tl={class:"text-xs text-gray-400 mt-0.5"},Ll={class:"font-medium"},Il={class:"text-xs text-gray-500 mt-0.5"},Rl={class:"flex flex-col gap-1"},zl={class:"flex flex-wrap items-center gap-1"},Fl={key:0,class:"text-xs text-gray-500"},Bl=["title"],Hl={key:1,class:"text-gray-400"},Yl={class:"font-medium"},ql={class:"text-xs text-gray-500 mt-0.5"},Ql={class:"text-sm"},Wl={class:"flex mt-2 justify-end"},Gl={key:0,class:"cf-slip-wrap"},Jl={key:0,class:"cf-slip-print"},Kl={class:"cf-slip-header"},Xl={class:"cf-slip-type"},Zl={key:0,class:"cf-slip-void"},ea={key:1,class:"rounded border border-red-200 bg-red-50 text-red-800 text-sm px-3 py-2 mb-3"},ta={key:0,class:"mt-1"},la={key:1,class:"mt-1 text-red-600/80"},aa={key:2,class:"rounded border border-red-200 bg-red-50 text-red-800 text-sm px-3 py-2 mb-3"},sa={key:0,class:"mt-1"},ia={key:1,class:"mt-1 text-red-600/80"},na={class:"cf-slip-info"},oa={class:"cf-slip-row"},ra={class:"cf-slip-item"},da={class:"cf-slip-item"},ua={class:"cf-slip-item"},pa={class:"cf-slip-row"},ma={class:"cf-slip-item"},_a={class:"cf-slip-item"},fa={class:"cf-slip-item"},ca={key:0,class:"cf-slip-row"},va={key:0,class:"cf-slip-item"},ga={key:1,class:"cf-slip-item"},ba={class:"cf-slip-row cf-slip-row-full"},ya={class:"cf-slip-item"},Va={class:"cf-slip-rp"},ka={class:"cf-slip-herbs"},xa={class:"cf-slip-footer"},ha={class:"cf-slip-footer-left"},wa={key:0,class:"cf-slip-dietary"},Ca={key:1,class:"cf-slip-notes"},Na={class:"cf-slip-footer-right"},Ua={class:"cf-slip-sign"},Sa=["src"],Da={key:1},Oa={key:3,class:"cf-slip-audit text-sm text-gray-600 mt-4 pt-3 border-t border-dashed border-gray-200"},$a={key:0},Aa={key:0,class:"ml-2 text-gray-400"},Ea={key:1,class:"mt-1"},Pa={class:"text-sm mt-1"},Ma={key:0,class:"text-sm mt-2 text-gray-800 font-medium"},ja={class:"w-full"},Ta={key:0,class:"mb-4 rounded-lg border border-blue-100 bg-blue-50 p-3"},La={class:"flex items-start gap-2"},Ia={class:"flex-1 min-w-0"},Ra={class:"text-xs text-blue-700"},za={key:0},Fa={class:"text-xs text-blue-600 mt-1 line-clamp-1"},Ba={class:"form-section"},Ha={class:"section-content"},Ya={class:"form-section"},qa={class:"section-content"},Qa={class:"form-section"},Wa={class:"section-content"},Ga={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},Ja={class:"flex items-center justify-between"},Ka={class:"font-medium text-[13px] text-gray-800"},Xa={class:"text-orange-500 font-medium ml-4"},Za={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},es={class:"truncate pr-2"},ts={class:"shrink-0"},ls={class:"form-section"},as={class:"section-content"},ss={class:"mb-3 rounded-lg border border-gray-200 bg-gray-50 p-3"},is={class:"grid grid-cols-2 gap-3"},ns={class:"text-base font-semibold text-gray-900"},os={class:"text-xs text-gray-400 mt-0.5"},rs={class:"form-section"},ds={class:"section-content"},us={class:"flex items-center justify-between"},ps={class:"text-xs text-gray-500"},ms={key:0,class:"text-amber-600"},_s={class:"flex gap-2"},fs=He({name:"prescriptionList"}),cs=He({...fs,setup(vs){const Ye=[0,3],qe="成都双流甄养堂互联网医院",Qe="成都双流甄养堂互联网医院有限公司 联系方式:4001667339",We="地址:四川省成都市双流区黄甲街道黄龙大道二段280号",pe=rl(),xe=wl();function Ge(){const l=xe.getRoutes().find(e=>{var d;return((d=e.meta)==null?void 0:d.perms)==="tcm.prescriptionOrder/lists"});l!=null&&l.path?xe.push(l.path):S.msgWarning("未配置「处方业务订单」菜单,请在权限管理中执行菜单 SQL 或手动添加路由")}const k=ke({patient_name:"",creator_ids:[],audit_filter:"all",start_time:"",end_time:""}),me=x([]),A=x("all"),j=x(!1),N=x("add"),_e=x(!1),Y=x(),c=x(null),fe=x(!1),ce=x([]),q=x(!1),he=x(0),R=x(""),ee=x(!1),Q=x(!1),O=x(null),te=x(),ve=x(!1),ge=x(!1),T=x([]),z=x([]),be=x(!1),C=x(0);function le(l){const e=Number(l);return Number.isNaN(e)?"—":e.toFixed(2)}function we(l){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(l)]||"未知"}const o=ke({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:[]}),W=x([]),Je=l=>l.map(e=>{var d;return{name:e.province,code:e.code,children:((d=e.citys)==null?void 0:d.map(m=>{var v;return{name:m.city,code:m.code,children:((v=m.areas)==null?void 0:v.map(_=>({name:_.area,code:_.code})))||[]}}))||[]}}),Ke=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 d=await e.json();console.log("加载的数据条数:",d==null?void 0:d.length),W.value=Je(d),console.log("regionOptions 已设置,条数:",W.value.length)}catch(l){console.error("加载省市区数据失败:",l),W.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("使用后备数据,条数:",W.value.length)}},Xe=l=>{console.log("选择的省市区:",l)},G=B(()=>{const l=new Set(o.pay_order_ids.map(d=>Number(d)));let e=0;for(const d of z.value)l.has(Number(d.id))&&(e+=Number(d.amount)||0);return Math.round(e*100)/100}),Ze=B(()=>{const l=C.value;return l>0?Math.round(l*100)/100:0}),et={patient_id:[{required:!0,message:"请选择诊单患者",trigger:"change"}],recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(l,e,d)=>{const m=C.value,v=Number(e);if(m>0&&(!Number.isFinite(v)||v<m)){d(new Error(`订单金额须大于等于定金门槛 ¥${le(m)}`));return}d()},trigger:"blur"}]},tt=B(()=>{const l=O.value,e=Ve(l==null?void 0:l.herbs);if(!e.length)return"暂无药材明细";const d=e.map(m=>`${m.name} ${m.dosage}g`).join("、");return d.length>120?`${d.slice(0,120)}…`:d});function Ce(){var l;o.patient_id="",o.recipient_name="",o.recipient_phone="",o.shipping_address="",o.is_follow_up=0,o.medication_days=void 0,o.prev_staff="",o.service_channel="",o.service_package="",o.express_company="auto",o.tracking_number="",o.fee_type=3,o.amount=0,o.internal_cost=void 0,o.remark_extra="",o.pay_order_ids=[],T.value=[],z.value=[],C.value=0,O.value=null,(l=te.value)==null||l.clearValidate()}function Ne(){const l=C.value,e=G.value,d=l>0?Math.round(l*100)/100:0,m=l>0?Math.max(e,d):e>0?e:0;m>0&&Number(o.amount)<m&&(o.amount=Math.round(m*100)/100)}async function Ue(){var e,d;const l=Number(o.patient_id);if(!l){z.value=[],C.value=0;return}try{be.value=!0;const m=await _l({diagnosis_id:l}),v=(m==null?void 0:m.lists)??((e=m==null?void 0:m.data)==null?void 0:e.lists)??[];z.value=Array.isArray(v)?v:[];const _=Number((m==null?void 0:m.deposit_min_amount)??((d=m==null?void 0:m.data)==null?void 0:d.deposit_min_amount))||0;C.value=_,Ne()}catch{z.value=[],C.value=0}finally{be.value=!1}}ue(()=>o.patient_id,()=>{o.pay_order_ids=[],Ue()}),ue(()=>[...o.pay_order_ids],()=>{Ne()},{deep:!0});async function lt(l){var v;Ce(),O.value=l;const e=Number(l.diagnosis_id)||0;e>0&&(o.patient_id=e,o.recipient_name=l.patient_name||"",o.recipient_phone=String(l.phone||"").trim(),T.value=[{id:e,patient_name:l.patient_name||"",phone:String(l.phone||"").trim()}]);const d=Number(l.usage_days);d>0&&(o.medication_days=d),Q.value=!0,Ue();const m=l.id;if(m&&!o.recipient_phone)try{const _=await ze({id:m}),r=_&&typeof _.phone=="string"?_.phone.trim():"";if(r&&((v=O.value)==null?void 0:v.id)===m){o.recipient_phone=r;const h=T.value[0];h&&Number(h.id)===e&&(h.phone=r)}}catch{}}async function at(l){if(!l){T.value=[];return}try{ge.value=!0;const e=await Vl({keyword:l,page_no:1,page_size:10});T.value=(e==null?void 0:e.lists)||[]}catch{T.value=[]}finally{ge.value=!1}}function st(l){const e=T.value.find(d=>Number(d.id)===Number(l));e&&(o.recipient_name=e.patient_name||"",o.recipient_phone=e.phone||"")}async function it(){if(!(!te.value||!O.value))try{await te.value.validate(),ve.value=!0;const l=Number(o.patient_id),e={prescription_id:O.value.id,diagnosis_id:l,recipient_name:o.recipient_name,recipient_phone:o.recipient_phone,shipping_address:o.shipping_address,is_follow_up:o.is_follow_up,prev_staff:o.prev_staff||"",service_channel:o.service_channel||"",service_package:o.service_package||"",express_company:o.express_company||"auto",tracking_number:o.tracking_number||"",fee_type:o.fee_type,amount:o.amount,remark_extra:o.remark_extra||""};o.region&&o.region.length>=3&&(e.shipping_province=o.region[0],e.shipping_city=o.region[1],e.shipping_district=o.region[2]),o.medication_days!=null&&o.medication_days>0&&(e.medication_days=o.medication_days),o.internal_cost!=null&&o.internal_cost>0&&(e.internal_cost=o.internal_cost),o.pay_order_ids.length&&(e.pay_order_ids=[...o.pay_order_ids]);const d=await fl(e),m=(d==null?void 0:d.data)??d,v=m==null?void 0:m.order_no;S.msgSuccess(v?`业务订单已创建,单号:${v}`:"业务订单已创建"),Q.value=!1}catch(l){console.error(l)}finally{ve.value=!1}}const ae=x(!1),se=x(!1),Se=B(()=>{const l=ae.value,e=se.value;return!l&&!e?"":l&&e?"当前处方已作废且已驳回。保存后将取消作废、清除驳回,并重新进入待审核。":l?"当前为已作废处方。保存后将取消作废,并重新进入待审核。":"当前为已驳回处方。保存后将清除驳回,并重新进入待审核。"}),nt=B(()=>{var e;const l=(e=c.value)==null?void 0:e.herbs;return Array.isArray(l)?l:[]}),De=B(()=>{var e;const l=(e=c.value)==null?void 0:e.dietary_taboo;return Array.isArray(l)?l.filter(Boolean).join("、"):typeof l=="string"&&l.trim()?l.trim():""}),i=ke({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:"",is_shared:0,visible_role_ids:[],audit_status:1,audit_time:null,audit_by_name:"",audit_remark:"",diagnosis_id:0,business_prescription_audit_rejected:0,business_prescription_audit_remark:"",times_per_day:2}),ie=x(!1);ue(()=>i.prescription_type,l=>{ie.value||(l==="浓缩水丸"?(i.dosage_unit="g",i.dosage_amount=1,i.need_decoction=!1,i.bags_per_dose=1):l==="饮片"?(i.dosage_unit="ml",i.dosage_amount=50,i.bags_per_dose=1):(i.dosage_unit="g",i.dosage_amount=void 0,i.need_decoction=!1,i.bags_per_dose=1))});const ot={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"}]};async function rt(l){const{audit_filter:e,creator_ids:d,...m}=l,v={...m,audit_filter:e==="all"||e===""?"":e};return Array.isArray(d)&&d.length>0&&(v.creator_ids=d),cl(v)}const{pager:J,getLists:K,resetPage:X}=xl({fetchFun:rt,params:k});function Oe(l){return String(l).padStart(2,"0")}function $e(l){const e=l.getFullYear(),d=Oe(l.getMonth()+1),m=Oe(l.getDate()),v=`${e}-${d}-${m}`;return{start:`${v} 00:00:00`,end:`${v} 23:59:59`}}function dt(l){const e=String(l??"all");if(e==="all")k.start_time="",k.end_time="";else{const d=new Date,m=new Date(d.getFullYear(),d.getMonth(),d.getDate());e==="yesterday"?m.setDate(m.getDate()-1):e==="before_yesterday"&&m.setDate(m.getDate()-2);const{start:v,end:_}=$e(m);k.start_time=v,k.end_time=_}X()}function ut(){X()}let ye=!1;ue(()=>[k.start_time,k.end_time],()=>{if(ye)return;const l=k.start_time,e=k.end_time;if(!l&&!e){A.value="all";return}if(!l||!e){A.value="";return}const d=new Date,m=v=>{const _=new Date(d.getFullYear(),d.getMonth(),d.getDate()-v),{start:r,end:h}=$e(_);return l===r&&e===h};m(0)?A.value="today":m(1)?A.value="yesterday":m(2)?A.value="before_yesterday":A.value=""});function pt(l){if(l==null||l==="")return"—";if(typeof l=="number"&&l>=1e9&&l<1e11)return ne(l);const e=String(l).trim();return/^\d{10}$/.test(e)?ne(parseInt(e,10)):e}function mt(){ye=!0,A.value="all",k.patient_name="",k.creator_ids=[],k.audit_filter=Ae()?"pending":"all",k.start_time="",k.end_time="",ye=!1,X()}function Ae(){const l=pe.userInfo;if(!l)return!1;if(Number(l.root)===1)return!0;const e=l.role_ids??l.role_id,d=Array.isArray(e)?e.map(m=>Number(m)):[];return Ye.some(m=>d.includes(m))}function _t(l){return l===0?"待审核":l===2?"已驳回":"已通过"}function ft(l){return l===0?"warning":l===2?"danger":"success"}function ct(l){return Number(l.business_prescription_audit_rejected)===1?"已驳回":_t(l.audit_status)}function vt(l){return Number(l.business_prescription_audit_rejected)===1?"danger":ft(l.audit_status)}function Ee(l){const e=[];if(Number(l.business_prescription_audit_rejected)===1){const d=String(l.business_prescription_audit_remark||"").trim();e.push(d?`业务订单审核驳回意见:${d}`:"业务订单审核驳回意见:—")}if(Number(l.audit_status)===2){const d=String(l.audit_remark||"").trim();e.push(d?`消费者处方审核驳回意见:${d}`:"消费者处方审核驳回意见:—")}return e}function Pe(l){return Number(l.audit_status)===1&&Number(l.void_status)!==1}function ne(l){if(!l)return"";const e=new Date(l*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 gt(l){return l?ne(l):"—"}function bt(l){return l===1||l==="1"?"男":l===0||l==="0"?"女":"—"}function yt(l){return l==null||l===""?"—":`${l}岁`}function Ve(l){return l?Array.isArray(l)?l.map(e=>({name:String((e==null?void 0:e.name)??"").trim(),dosage:Number(e==null?void 0:e.dosage)||0})):[]:[]}function Vt(l){return{...l,herbs:Ve(l==null?void 0:l.herbs)}}function kt(){c.value=null}function xt(l){const e=l==null?void 0:l.visible_role_ids;return Array.isArray(e)?e.map(d=>Number(d)).filter(d=>!Number.isNaN(d)):typeof e=="string"&&e?e.split(",").map(d=>parseInt(d.trim(),10)).filter(d=>!Number.isNaN(d)):[]}function ht(l){he.value=l.id,R.value="",q.value=!0}async function Me(l){if(l==="reject"&&!R.value.trim()){S.msgError("驳回时请填写审核意见");return}ee.value=!0;try{const e=await vl({id:he.value,action:l,remark:R.value.trim()});S.msgSuccess(l==="reject"?"已驳回并作废处方":"审核通过"),e&&e.wecom_notify_ok===!1&&e.wecom_notify_hint&&S.msgWarning(e.wecom_notify_hint),q.value=!1,K()}catch{}finally{ee.value=!1}}async function wt(){try{const l=await kl({});ce.value=Array.isArray(l)?l:[]}catch{ce.value=[]}}const Ct=()=>{i.herbs.push({name:"",dosage:0})},Nt=l=>{i.herbs.splice(l,1)},Ut=()=>{i.id=0,i.prescription_type="浓缩水丸",i.patient_name="",i.gender=1,i.age=0,i.visit_no="",i.prescription_date=new Date().toISOString().split("T")[0],i.tongue="",i.tongue_image="",i.pulse="",i.pulse_condition="",i.clinical_diagnosis="",i.herbs=[],i.dose_count=7,i.dose_unit="剂",i.usage_days=7,i.usage_instruction="水煎服,一日二次",i.usage_time="饭前",i.usage_way="温水送服",i.dietary_taboo=[],i.usage_notes="",i.doctor_name="",i.is_shared=0,i.visible_role_ids=[],i.audit_status=1,i.audit_time=null,i.audit_by_name="",i.audit_remark="",i.diagnosis_id=0,i.business_prescription_audit_rejected=0,i.business_prescription_audit_remark=""},St=()=>{Ut(),ae.value=!1,se.value=!1,N.value="add",ie.value=!1,j.value=!0,Fe(()=>{var l;(l=Y.value)==null||l.clearValidate()})},Dt=async l=>{ae.value=!1,se.value=!1,N.value="view",c.value=Vt(l),j.value=!0,fe.value=!0;try{const e=await ze({id:l.id});e&&typeof e=="object"&&(c.value={...e,herbs:Ve(e.herbs)})}catch(e){S.msgError((e==null?void 0:e.msg)||"加载处方详情失败")}finally{fe.value=!1}},Ot=l=>{ae.value=Number(l.void_status)===1,se.value=Number(l.audit_status)===2,N.value="edit",ie.value=!0,i.id=l.id,i.prescription_type=l.prescription_type||"浓缩水丸",l.dosage_amount!==null&&l.dosage_amount!==void 0&&l.dosage_amount!==""?i.dosage_amount=Number(l.dosage_amount):i.dosage_amount=void 0,l.dosage_unit?i.dosage_unit=l.dosage_unit:i.prescription_type==="饮片"?i.dosage_unit="ml":i.dosage_unit="g",i.need_decoction=l.need_decoction===1||l.need_decoction===!0,i.bags_per_dose=l.bags_per_dose?Number(l.bags_per_dose):1,i.patient_name=l.patient_name||"",i.gender=l.gender??1,i.age=l.age??0,i.visit_no=l.visit_no||"",i.prescription_date=l.prescription_date||"",i.tongue=l.tongue||"",i.tongue_image=l.tongue_image||"",i.pulse=l.pulse||"",i.pulse_condition=l.pulse_condition||"",i.clinical_diagnosis=l.clinical_diagnosis||"",i.herbs=l.herbs?JSON.parse(JSON.stringify(l.herbs)):[],i.dose_count=l.dose_count??7,i.dose_unit=l.dose_unit||"剂",i.usage_days=l.usage_days??7,i.times_per_day=l.times_per_day??2,i.usage_instruction=l.usage_instruction||"水煎服,一日二次",i.usage_time=l.usage_time||"饭前",i.usage_way=l.usage_way||"温水送服",i.dietary_taboo=l.dietary_taboo?Array.isArray(l.dietary_taboo)?l.dietary_taboo:l.dietary_taboo.split(",").filter(e=>e):[],i.usage_notes=l.usage_notes||"",i.doctor_name=l.doctor_name||"",i.is_shared=l.is_shared??0,i.visible_role_ids=xt(l),i.audit_status=l.audit_status??1,i.audit_time=l.audit_time??null,i.audit_by_name=l.audit_by_name||"",i.audit_remark=l.audit_remark||"",i.diagnosis_id=l.diagnosis_id??0,i.business_prescription_audit_rejected=Number(l.business_prescription_audit_rejected)===1?1:0,i.business_prescription_audit_remark=String(l.business_prescription_audit_remark||""),setTimeout(()=>{ie.value=!1},0),j.value=!0,Fe(()=>{var e;(e=Y.value)==null||e.clearValidate()})},$t=async()=>{if(Y.value){if(await Y.value.validate(),!i.herbs||i.herbs.length===0){S.msgError("请至少添加一味药材");return}for(let l=0;l<i.herbs.length;l++){const e=i.herbs[l];if(!e.name||!e.name.trim()){S.msgError(`第${l+1}味药材名称不能为空`);return}if(!e.dosage||e.dosage<=0){S.msgError(`第${l+1}味药材剂量必须大于0`);return}}_e.value=!0;try{const l={...i};N.value==="add"?(l.audit_status=0,await gl(l),S.msgSuccess("添加成功,已提交审核")):(await bl(l),S.msgSuccess("保存成功,处方已重新进入待审核")),j.value=!1,K()}catch(l){console.error(l)}finally{_e.value=!1}}},At=async l=>{await S.confirm("确定要删除该处方吗?"),await yl({id:l}),S.msgSuccess("删除成功"),K()};return Cl(async()=>{var l;await wt(),await Ke();try{const e=await ml();me.value=Array.isArray(e)?e:[]}catch{me.value=[]}try{(l=pe.userInfo)!=null&&l.id||await pe.getUserInfo()}catch{}Ae()&&(k.audit_filter="pending"),K()}),(l,e)=>{const d=It,m=Lt,v=Ft,_=zt,r=Ht,h=Bt,oe=Rt,w=Yt,je=qt,Et=dl,U=Gt,L=Jt,Te=Wt,Pt=ol,re=Kt,b=Zt,E=Xt,de=el,P=tl,Mt=ll,Le=al,jt=sl,Tt=il,Ie=nl,I=Nl("perms"),Re=Qt;return u(),g("div",Sl,[t(je,{class:"filter-toolbar",shadow:"never","body-style":{padding:"10px 14px"}},{default:s(()=>[n("div",Dl,[n("div",Ol,[e[70]||(e[70]=n("span",{class:"pl-toolbar__k",title:"按处方创建时间"},"创建时间",-1)),t(m,{modelValue:A.value,"onUpdate:modelValue":e[0]||(e[0]=a=>A.value=a),size:"small",class:"pl-toolbar__rg",onChange:dt},{default:s(()=>[t(d,{label:"all"},{default:s(()=>[...e[61]||(e[61]=[p("全部",-1)])]),_:1}),t(d,{label:"today"},{default:s(()=>[...e[62]||(e[62]=[p("今日",-1)])]),_:1}),t(d,{label:"yesterday"},{default:s(()=>[...e[63]||(e[63]=[p("昨日",-1)])]),_:1}),t(d,{label:"before_yesterday"},{default:s(()=>[...e[64]||(e[64]=[p("前天",-1)])]),_:1})]),_:1},8,["modelValue"]),t(hl,{class:"pl-toolbar__range",startTime:k.start_time,"onUpdate:startTime":e[1]||(e[1]=a=>k.start_time=a),endTime:k.end_time,"onUpdate:endTime":e[2]||(e[2]=a=>k.end_time=a)},null,8,["startTime","endTime"]),e[71]||(e[71]=n("span",{class:"pl-toolbar__sep","aria-hidden":"true"},null,-1)),e[72]||(e[72]=n("span",{class:"pl-toolbar__k",title:"「未通过」含待审核与已驳回"},"审核",-1)),t(m,{modelValue:k.audit_filter,"onUpdate:modelValue":e[3]||(e[3]=a=>k.audit_filter=a),size:"small",class:"pl-toolbar__rg pl-toolbar__rg--audit",onChange:ut},{default:s(()=>[t(d,{label:"pending",class:"pl-audit-pending-btn"},{default:s(()=>[...e[65]||(e[65]=[p("待审核",-1)])]),_:1}),t(d,{label:"all"},{default:s(()=>[...e[66]||(e[66]=[p("全部",-1)])]),_:1}),t(d,{label:"passed"},{default:s(()=>[...e[67]||(e[67]=[p("已通过",-1)])]),_:1}),t(d,{label:"not_passed"},{default:s(()=>[...e[68]||(e[68]=[p("未通过",-1)])]),_:1}),t(d,{label:"rejected"},{default:s(()=>[...e[69]||(e[69]=[p("驳回",-1)])]),_:1})]),_:1},8,["modelValue"])]),n("div",$l,[t(oe,{model:k,inline:"",class:"pl-toolbar__form"},{default:s(()=>[t(_,{label:"患者",class:"!mb-0"},{default:s(()=>[t(v,{modelValue:k.patient_name,"onUpdate:modelValue":e[4]||(e[4]=a=>k.patient_name=a),placeholder:"姓名",clearable:"",class:"pl-toolbar__input",onKeyup:pl(H(X),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(_,{label:"医师",class:"!mb-0"},{default:s(()=>[t(h,{modelValue:k.creator_ids,"onUpdate:modelValue":e[5]||(e[5]=a=>k.creator_ids=a),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",filterable:"",clearable:"",placeholder:"全部医师",class:"pl-toolbar__select pl-toolbar__select--doctors"},{default:s(()=>[(u(!0),g(M,null,F(me.value,a=>(u(),y(r,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),n("div",Al,[t(w,{type:"primary",onClick:H(X)},{default:s(()=>[...e[73]||(e[73]=[p("查询",-1)])]),_:1},8,["onClick"]),t(w,{onClick:mt},{default:s(()=>[...e[74]||(e[74]=[p("重置",-1)])]),_:1})])])])]),_:1}),$((u(),y(je,{class:"mt-3 table-card",shadow:"never"},{default:s(()=>[n("div",El,[e[77]||(e[77]=n("span",{class:"pl-table-head__title"},"处方列表",-1)),n("div",Pl,[$((u(),y(w,{onClick:Ge},{default:s(()=>[...e[75]||(e[75]=[p(" 业务订单 ",-1)])]),_:1})),[[I,["tcm.prescriptionOrder/lists"]]]),$((u(),y(w,{type:"primary",onClick:St},{icon:s(()=>[t(Et,{name:"el-icon-Plus"})]),default:s(()=>[e[76]||(e[76]=p(" 新增处方 ",-1))]),_:1})),[[I,["cf.prescription/add"]]])])]),n("div",Ml,[t(Te,{data:H(J).lists,size:"default",stripe:""},{default:s(()=>[t(U,{label:"处方编号","min-width":"160"},{default:s(({row:a})=>[n("span",jl,f(a.sn||"—"),1),n("div",Tl,"ID: "+f(a.id),1)]),_:1}),t(U,{label:"处方类型","min-width":"100"},{default:s(({row:a})=>[t(L,{type:"info",size:"small"},{default:s(()=>[p(f(a.prescription_type||"—"),1)]),_:2},1024)]),_:1}),t(U,{label:"患者信息","min-width":"110"},{default:s(({row:a})=>[n("div",Ll,f(a.patient_name||"—"),1),n("div",Il,f(a.gender===1?"男":a.gender===0?"女":"未知")+" · "+f(a.age?a.age+"岁":"—"),1)]),_:1}),t(U,{label:"审核状态","min-width":"200"},{default:s(({row:a})=>[n("div",Rl,[n("div",zl,[t(L,{type:vt(a)},{default:s(()=>[p(f(ct(a)),1)]),_:2},1032,["type"]),Number(a.business_prescription_audit_rejected)===1?(u(),g("span",Fl," (业务订单审核) ")):V("",!0)]),Ee(a).length?(u(!0),g(M,{key:0},F(Ee(a),(D,Z)=>(u(),g("div",{key:Z,class:"text-xs text-red-600 leading-snug line-clamp-3",title:D},f(D),9,Bl))),128)):V("",!0)])]),_:1}),t(U,{label:"作废","min-width":"80",align:"center"},{default:s(({row:a})=>[a.void_status===1?(u(),y(L,{key:0,type:"danger",size:"small"},{default:s(()=>[...e[78]||(e[78]=[p("作废",-1)])]),_:1})):(u(),g("span",Hl,"—"))]),_:1}),t(U,{label:"医师信息","min-width":"120"},{default:s(({row:a})=>[n("div",Yl,f(a.doctor_name||"—"),1),n("div",ql,f(a.prescription_date||"—"),1)]),_:1}),t(U,{label:"医助","min-width":"90"},{default:s(({row:a})=>[n("div",Ql,f(a.assistant_name||"—"),1)]),_:1}),t(U,{label:"创建时间","min-width":"160"},{default:s(({row:a})=>[p(f(pt(a.create_time)),1)]),_:1}),t(U,{label:"操作",width:"300",fixed:"right"},{default:s(({row:a})=>[$((u(),y(w,{type:"primary",link:"",onClick:D=>Dt(a)},{default:s(()=>[...e[79]||(e[79]=[p(" 查看 ",-1)])]),_:1},8,["onClick"])),[[I,["cf.prescription/read"]]]),Number(a.has_prescription_order)?V("",!0):$((u(),y(w,{key:0,type:"success",link:"",onClick:D=>lt(a)},{default:s(()=>[...e[80]||(e[80]=[p(" 创建订单 ",-1)])]),_:1},8,["onClick"])),[[I,["tcm.prescriptionOrder/create"]]]),Pe(a)?V("",!0):$((u(),y(w,{key:1,type:"primary",link:"",onClick:D=>Ot(a)},{default:s(()=>[...e[81]||(e[81]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[I,["cf.prescription/edit"]]]),a.audit_status===0&&a.void_status!==1?$((u(),y(w,{key:2,type:"warning",link:"",onClick:D=>ht(a)},{default:s(()=>[...e[82]||(e[82]=[p(" 审核 ",-1)])]),_:1},8,["onClick"])),[[I,["cf.prescription/audit"]]]):V("",!0),Pe(a)?V("",!0):$((u(),y(w,{key:3,type:"danger",link:"",onClick:D=>At(a.id)},{default:s(()=>[...e[83]||(e[83]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])),[[I,["cf.prescription/del"]]])]),_:1})]),_:1},8,["data"])]),n("div",Wl,[t(Pt,{modelValue:H(J),"onUpdate:modelValue":e[6]||(e[6]=a=>Ul(J)?J.value=a:null),onChange:H(K)},null,8,["modelValue","onChange"])])]),_:1})),[[Re,H(J).loading]]),t(jt,{modelValue:j.value,"onUpdate:modelValue":e[37]||(e[37]=a=>j.value=a),title:N.value==="add"?"新增处方":N.value==="edit"?"编辑处方":"查看处方",size:N.value==="view"?"920px":"860px",class:"cf-prescription-drawer","close-on-click-modal":!1,"destroy-on-close":"",onClosed:kt},{footer:s(()=>[N.value==="view"?(u(),y(w,{key:0,onClick:e[35]||(e[35]=a=>j.value=!1)},{default:s(()=>[...e[116]||(e[116]=[p("关闭",-1)])]),_:1})):(u(),g(M,{key:1},[t(w,{onClick:e[36]||(e[36]=a=>j.value=!1)},{default:s(()=>[...e[117]||(e[117]=[p("取消",-1)])]),_:1}),t(w,{type:"primary",onClick:$t,loading:_e.value},{default:s(()=>[...e[118]||(e[118]=[p(" 确定 ",-1)])]),_:1},8,["loading"])],64))]),default:s(()=>[N.value==="view"?$((u(),g("div",Gl,[c.value?(u(),g("div",Jl,[n("div",Kl,[n("h2",{class:"cf-slip-title"},f(qe)+"处方笺"),n("div",Xl,[Number(c.value.void_status)===1?(u(),y(L,{key:0,type:"danger",size:"small"},{default:s(()=>[...e[84]||(e[84]=[p("已作废",-1)])]),_:1})):Number(c.value.business_prescription_audit_rejected)===1?(u(),y(L,{key:1,type:"danger",size:"small",class:"mr-1"},{default:s(()=>[...e[85]||(e[85]=[p("已驳回",-1)])]),_:1})):Number(c.value.audit_status)===1?(u(),y(L,{key:2,type:"success",size:"small",class:"mr-1"},{default:s(()=>[...e[86]||(e[86]=[p("已通过",-1)])]),_:1})):Number(c.value.audit_status)===0?(u(),y(L,{key:3,type:"warning",size:"small",class:"mr-1"},{default:s(()=>[...e[87]||(e[87]=[p("待审核",-1)])]),_:1})):(u(),y(L,{key:4,type:"danger",size:"small",class:"mr-1"},{default:s(()=>[...e[88]||(e[88]=[p("已驳回",-1)])]),_:1})),Number(c.value.void_status)!==1?(u(),g(M,{key:5},[e[89]||(e[89]=n("div",null,"普通处方",-1)),e[90]||(e[90]=n("div",{class:"text-sm"},"当日有效",-1))],64)):V("",!0)])]),Number(c.value.void_status)===1?(u(),g("div",Zl," 作废人:"+f(c.value.void_by_name||"—")+",作废时间:"+f(gt(c.value.void_time)),1)):Number(c.value.business_prescription_audit_rejected)===1?(u(),g("div",ea,[e[91]||(e[91]=n("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),c.value.business_prescription_audit_remark?(u(),g("div",ta," 驳回意见:"+f(c.value.business_prescription_audit_remark),1)):(u(),g("div",la,"暂无驳回意见说明。"))])):Number(c.value.audit_status)===2?(u(),g("div",aa,[e[92]||(e[92]=n("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),c.value.audit_remark?(u(),g("div",sa,"驳回意见:"+f(c.value.audit_remark),1)):(u(),g("div",ia,"暂无文字意见,请联系审核人员。"))])):V("",!0),n("div",na,[n("div",oa,[n("span",ra,[e[93]||(e[93]=n("em",null,"日期",-1)),p(f(c.value.prescription_date||"—"),1)]),n("span",da,[e[94]||(e[94]=n("em",null,"电话",-1)),p(f(c.value.phone||"—"),1)]),n("span",ua,[e[95]||(e[95]=n("em",null,"门诊号",-1)),p(f(c.value.visit_no||"—"),1)])]),n("div",pa,[n("span",ma,[e[96]||(e[96]=n("em",null,"姓名",-1)),p(f(c.value.patient_name||"—"),1)]),n("span",_a,[e[97]||(e[97]=n("em",null,"性别",-1)),p(f(bt(c.value.gender)),1)]),n("span",fa,[e[98]||(e[98]=n("em",null,"年龄",-1)),p(f(yt(c.value.age)),1)])]),c.value.pulse||c.value.tongue?(u(),g("div",ca,[c.value.pulse?(u(),g("span",va,[e[99]||(e[99]=n("em",null,"面象",-1)),p(f(c.value.pulse),1)])):V("",!0),c.value.tongue?(u(),g("span",ga,[e[100]||(e[100]=n("em",null,"舌象",-1)),p(f(c.value.tongue),1)])):V("",!0)])):V("",!0),n("div",ba,[n("span",ya,[e[101]||(e[101]=n("em",null,"临床诊断",-1)),p(f(c.value.clinical_diagnosis||"—"),1)])])]),n("div",Va,[e[102]||(e[102]=n("div",{class:"cf-slip-rp-label"},"RP",-1)),n("div",ka,[(u(!0),g(M,null,F(nt.value,(a,D)=>(u(),g("div",{key:D,class:"cf-slip-herb"},f(a.name)+" "+f(a.dosage)+"克 ",1))),128))])]),n("div",xa,[n("div",ha,[n("div",null," 服用"+f(c.value.usage_days??c.value.dose_count)+"天, "+f(c.value.prescription_type||"浓缩水丸")+" "+f(c.value.usage_instruction||""),1),n("div",null,[p(" 服用时间: "+f(c.value.usage_time?" "+c.value.usage_time:"")+" ",1),e[103]||(e[103]=n("span",{class:"cf-slip-inline-gap"},null,-1)),p(" 服用方式: "+f(c.value.usage_way?" "+c.value.usage_way:""),1)]),De.value?(u(),g("div",wa,"忌口:"+f(De.value),1)):V("",!0),c.value.usage_notes?(u(),g("div",Ca,f(c.value.usage_notes),1)):V("",!0)]),n("div",Na,[n("span",Ua,[e[104]||(e[104]=p(" 医师 ",-1)),c.value.doctor_signature?(u(),g("img",{key:0,src:c.value.doctor_signature,alt:"医师签名",class:"cf-slip-sign-img"},null,8,Sa)):(u(),g("span",Da,f(c.value.doctor_name||"—"),1))])])]),n("div",{class:"cf-slip-hospital"},[n("div",null,f(Qe)),n("div",null,f(We))]),c.value.audit_by_name||c.value.audit_remark?(u(),g("div",Oa,[c.value.audit_by_name?(u(),g("div",$a,[p(" 审核人:"+f(c.value.audit_by_name)+" ",1),c.value.audit_time?(u(),g("span",Aa,f(ne(c.value.audit_time)),1)):V("",!0)])):V("",!0),c.value.audit_remark?(u(),g("div",Ea,"审核意见:"+f(c.value.audit_remark),1)):V("",!0)])):V("",!0)])):V("",!0)])),[[Re,fe.value]]):(u(),y(oe,{key:1,ref_key:"formRef",ref:Y,model:i,rules:ot,"label-width":"120px"},{default:s(()=>[N.value==="edit"?(u(),y(re,{key:0,type:"info",closable:!1,"show-icon":"",class:"mb-4",title:"保存修改后,该处方将重新进入「待审核」,需审核人员再次通过后方可生效。"})):V("",!0),N.value==="edit"&&Number(i.audit_status)===2?(u(),y(re,{key:1,type:"error",closable:!1,"show-icon":"",class:"mb-4"},{title:s(()=>[...e[105]||(e[105]=[p("当前消费者处方为「已驳回」",-1)])]),default:s(()=>[n("div",Pa," 保存修改后将清除驳回并变为「待审核」。"+f(i.audit_remark?`上次意见:${i.audit_remark}`:""),1)]),_:1})):V("",!0),N.value==="edit"&&Number(i.business_prescription_audit_rejected)===1&&Number(i.audit_status)===1?(u(),y(re,{key:2,type:"warning",closable:!1,"show-icon":"",class:"mb-4"},{title:s(()=>[...e[106]||(e[106]=[p("业务订单侧「处方审核」已驳回",-1)])]),default:s(()=>[e[107]||(e[107]=n("div",{class:"text-sm mt-1"}," 消费者处方仍为「已通过」;您修改并保存后,将重置关联业务订单的处方/支付单审核为「待审」,请在「处方业务订单」中继续处理。 ",-1)),String(i.business_prescription_audit_remark||"").trim()?(u(),g("div",Ma," 驳回意见:"+f(i.business_prescription_audit_remark),1)):V("",!0)]),_:1})):V("",!0),N.value==="edit"&&Se.value?(u(),y(re,{key:3,type:"warning",closable:!1,"show-icon":"",class:"mb-4",title:Se.value},null,8,["title"])):V("",!0),t(E,{gutter:20},{default:s(()=>[t(b,{span:12},{default:s(()=>[t(_,{label:"患者姓名",prop:"patient_name"},{default:s(()=>[t(v,{modelValue:i.patient_name,"onUpdate:modelValue":e[7]||(e[7]=a=>i.patient_name=a),placeholder:"请输入患者姓名"},null,8,["modelValue"])]),_:1})]),_:1}),t(b,{span:12},{default:s(()=>[t(_,{label:"门诊号",prop:"visit_no"},{default:s(()=>[t(v,{modelValue:i.visit_no,"onUpdate:modelValue":e[8]||(e[8]=a=>i.visit_no=a),placeholder:"自动生成或手动输入"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),t(E,{gutter:20},{default:s(()=>[t(b,{span:8},{default:s(()=>[t(_,{label:"性别",prop:"gender"},{default:s(()=>[t(m,{modelValue:i.gender,"onUpdate:modelValue":e[9]||(e[9]=a=>i.gender=a)},{default:s(()=>[t(de,{label:1},{default:s(()=>[...e[108]||(e[108]=[p("男",-1)])]),_:1}),t(de,{label:0},{default:s(()=>[...e[109]||(e[109]=[p("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),t(b,{span:8},{default:s(()=>[t(_,{label:"年龄",prop:"age"},{default:s(()=>[t(P,{modelValue:i.age,"onUpdate:modelValue":e[10]||(e[10]=a=>i.age=a),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),t(b,{span:8},{default:s(()=>[t(_,{label:"处方日期",prop:"prescription_date"},{default:s(()=>[t(Mt,{modelValue:i.prescription_date,"onUpdate:modelValue":e[11]||(e[11]=a=>i.prescription_date=a),type:"date",placeholder:"选择日期",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),t(E,{gutter:20},{default:s(()=>[t(b,{span:12},{default:s(()=>[t(_,{label:"面象",prop:"tongue"},{default:s(()=>[t(v,{modelValue:i.tongue,"onUpdate:modelValue":e[12]||(e[12]=a=>i.tongue=a),placeholder:"请输入面象"},null,8,["modelValue"])]),_:1})]),_:1}),t(b,{span:12},{default:s(()=>[t(_,{label:"舌象",prop:"tongue_image"},{default:s(()=>[t(v,{modelValue:i.tongue_image,"onUpdate:modelValue":e[13]||(e[13]=a=>i.tongue_image=a),placeholder:"请输入舌象"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),t(E,{gutter:20},{default:s(()=>[t(b,{span:12},{default:s(()=>[t(_,{label:"脉象",prop:"pulse"},{default:s(()=>[t(v,{modelValue:i.pulse,"onUpdate:modelValue":e[14]||(e[14]=a=>i.pulse=a),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1})]),_:1}),t(b,{span:12},{default:s(()=>[t(_,{label:"脉象详情",prop:"pulse_condition"},{default:s(()=>[t(v,{modelValue:i.pulse_condition,"onUpdate:modelValue":e[15]||(e[15]=a=>i.pulse_condition=a),placeholder:"请输入脉象详情"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),t(_,{label:"临床诊断",prop:"clinical_diagnosis"},{default:s(()=>[t(v,{modelValue:i.clinical_diagnosis,"onUpdate:modelValue":e[16]||(e[16]=a=>i.clinical_diagnosis=a),type:"textarea",rows:3,placeholder:"请输入临床诊断",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(_,{label:"药材配方",prop:"herbs",required:""},{default:s(()=>[n("div",ja,[t(w,{type:"primary",size:"small",onClick:Ct},{default:s(()=>[...e[110]||(e[110]=[p(" 添加药材 ",-1)])]),_:1}),t(Te,{data:i.herbs,class:"mt-2",border:""},{default:s(()=>[t(U,{label:"序号",type:"index",width:"60"}),t(U,{label:"药材名称","min-width":"150"},{default:s(({row:a,$index:D})=>[t(v,{modelValue:a.name,"onUpdate:modelValue":Z=>a.name=Z,placeholder:"请输入药材名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(U,{label:"剂量(克)","min-width":"120"},{default:s(({row:a,$index:D})=>[t(P,{modelValue:a.dosage,"onUpdate:modelValue":Z=>a.dosage=Z,min:0,precision:1,step:.5,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(U,{label:"操作",width:"80"},{default:s(({$index:a})=>[t(w,{type:"danger",link:"",onClick:D=>Nt(a)},{default:s(()=>[...e[111]||(e[111]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])])]),_:1}),t(E,{gutter:20},{default:s(()=>[t(b,{span:8},{default:s(()=>[t(_,{label:"剂数",prop:"dose_count"},{default:s(()=>[t(P,{modelValue:i.dose_count,"onUpdate:modelValue":e[17]||(e[17]=a=>i.dose_count=a),min:1,placeholder:"剂数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),t(b,{span:8},{default:s(()=>[t(_,{label:"剂量单位",prop:"dose_unit"},{default:s(()=>[t(h,{modelValue:i.dose_unit,"onUpdate:modelValue":e[18]||(e[18]=a=>i.dose_unit=a),placeholder:"请选择",class:"w-full"},{default:s(()=>[t(r,{label:"剂",value:"剂"}),t(r,{label:"丸",value:"丸"}),t(r,{label:"袋",value:"袋"}),t(r,{label:"盒",value:"盒"}),t(r,{label:"瓶",value:"瓶"}),t(r,{label:"膏",value:"膏"}),t(r,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),t(b,{span:8},{default:s(()=>[t(_,{label:"处方类型",prop:"prescription_type"},{default:s(()=>[t(h,{modelValue:i.prescription_type,"onUpdate:modelValue":e[19]||(e[19]=a=>i.prescription_type=a),placeholder:"请选择处方类型",class:"w-full"},{default:s(()=>[t(r,{label:"浓缩水丸",value:"浓缩水丸"}),t(r,{label:"饮片",value:"饮片"}),t(r,{label:"颗粒",value:"颗粒"}),t(r,{label:"丸剂",value:"丸剂"}),t(r,{label:"散剂",value:"散剂"}),t(r,{label:"膏方",value:"膏方"}),t(r,{label:"汤剂",value:"汤剂"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),t(b,{span:8},{default:s(()=>[t(_,{label:"用量",prop:"dosage_amount"},{default:s(()=>[i.prescription_type==="浓缩水丸"?(u(),y(h,{key:0,modelValue:i.dosage_amount,"onUpdate:modelValue":e[20]||(e[20]=a=>i.dosage_amount=a),placeholder:"请选择用量",class:"w-full"},{default:s(()=>[t(r,{label:"1g",value:1}),t(r,{label:"2g",value:2}),t(r,{label:"3g",value:3}),t(r,{label:"4g",value:4}),t(r,{label:"5g",value:5}),t(r,{label:"6g",value:6}),t(r,{label:"7g",value:7}),t(r,{label:"8g",value:8}),t(r,{label:"9g",value:9}),t(r,{label:"10g",value:10})]),_:1},8,["modelValue"])):i.prescription_type==="饮片"?(u(),y(h,{key:1,modelValue:i.dosage_amount,"onUpdate:modelValue":e[21]||(e[21]=a=>i.dosage_amount=a),placeholder:"请选择用量",class:"w-full"},{default:s(()=>[t(r,{label:"50ml",value:50}),t(r,{label:"100ml",value:100}),t(r,{label:"120ml",value:120}),t(r,{label:"150ml",value:150}),t(r,{label:"180ml",value:180}),t(r,{label:"200ml",value:200}),t(r,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(u(),y(P,{key:2,modelValue:i.dosage_amount,"onUpdate:modelValue":e[22]||(e[22]=a=>i.dosage_amount=a),min:0,precision:2,class:"w-full"},null,8,["modelValue"]))]),_:1})]),_:1}),i.prescription_type==="饮片"?(u(),y(b,{key:0,span:8},{default:s(()=>[t(_,{label:"是否代煎",prop:"need_decoction"},{default:s(()=>[t(m,{modelValue:i.need_decoction,"onUpdate:modelValue":e[23]||(e[23]=a=>i.need_decoction=a)},{default:s(()=>[t(de,{label:!0},{default:s(()=>[...e[112]||(e[112]=[p("代煎",-1)])]),_:1}),t(de,{label:!1},{default:s(()=>[...e[113]||(e[113]=[p("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):V("",!0),i.prescription_type==="饮片"?(u(),y(b,{key:1,span:8},{default:s(()=>[t(_,{label:"每贴出包数",prop:"bags_per_dose"},{default:s(()=>[t(h,{modelValue:i.bags_per_dose,"onUpdate:modelValue":e[24]||(e[24]=a=>i.bags_per_dose=a),placeholder:"请选择",class:"w-full"},{default:s(()=>[t(r,{label:"1包",value:1}),t(r,{label:"2包",value:2}),t(r,{label:"3包",value:3}),t(r,{label:"4包",value:4}),t(r,{label:"5包",value:5}),t(r,{label:"6包",value:6}),t(r,{label:"7包",value:7}),t(r,{label:"8包",value:8}),t(r,{label:"9包",value:9})]),_:1},8,["modelValue"])]),_:1})]),_:1})):V("",!0),t(b,{span:8},{default:s(()=>[t(_,{label:"每天几次",prop:"times_per_day"},{default:s(()=>[t(P,{modelValue:i.times_per_day,"onUpdate:modelValue":e[25]||(e[25]=a=>i.times_per_day=a),min:1,max:6,class:"!w-full",placeholder:"每天服用次数"},null,8,["modelValue"])]),_:1})]),_:1}),t(b,{span:8},{default:s(()=>[t(_,{label:"服用天数",prop:"usage_days"},{default:s(()=>[t(P,{modelValue:i.usage_days,"onUpdate:modelValue":e[26]||(e[26]=a=>i.usage_days=a),min:1,max:365,placeholder:"服用天数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),t(_,{label:"用法",prop:"usage_instruction"},{default:s(()=>[t(v,{modelValue:i.usage_instruction,"onUpdate:modelValue":e[27]||(e[27]=a=>i.usage_instruction=a),placeholder:"例如:水煎服,一日二次",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(E,{gutter:20},{default:s(()=>[t(b,{span:12},{default:s(()=>[t(_,{label:"服用时间",prop:"usage_time"},{default:s(()=>[t(h,{modelValue:i.usage_time,"onUpdate:modelValue":e[28]||(e[28]=a=>i.usage_time=a),placeholder:"请选择服用时间",class:"w-full"},{default:s(()=>[t(r,{label:"饭前",value:"饭前"}),t(r,{label:"饭后",value:"饭后"}),t(r,{label:"饭中",value:"饭中"}),t(r,{label:"空腹",value:"空腹"}),t(r,{label:"睡前",value:"睡前"}),t(r,{label:"晨起",value:"晨起"}),t(r,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),t(b,{span:12},{default:s(()=>[t(_,{label:"服用方式",prop:"usage_way"},{default:s(()=>[t(h,{modelValue:i.usage_way,"onUpdate:modelValue":e[29]||(e[29]=a=>i.usage_way=a),placeholder:"请选择服用方式",class:"w-full"},{default:s(()=>[t(r,{label:"温水送服",value:"温水送服"}),t(r,{label:"开水冲服",value:"开水冲服"}),t(r,{label:"黄酒送服",value:"黄酒送服"}),t(r,{label:"淡盐水送服",value:"淡盐水送服"}),t(r,{label:"米汤送服",value:"米汤送服"}),t(r,{label:"嚼服",value:"嚼服"}),t(r,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),t(_,{label:"忌口",prop:"dietary_taboo"},{default:s(()=>[t(h,{modelValue:i.dietary_taboo,"onUpdate:modelValue":e[30]||(e[30]=a=>i.dietary_taboo=a),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"w-full"},{default:s(()=>[t(r,{label:"辛辣食物",value:"辛辣食物"}),t(r,{label:"生冷食物",value:"生冷食物"}),t(r,{label:"油腻食物",value:"油腻食物"}),t(r,{label:"海鲜",value:"海鲜"}),t(r,{label:"牛羊肉",value:"牛羊肉"}),t(r,{label:"鸡蛋",value:"鸡蛋"}),t(r,{label:"豆制品",value:"豆制品"}),t(r,{label:"酒类",value:"酒类"}),t(r,{label:"浓茶",value:"浓茶"}),t(r,{label:"咖啡",value:"咖啡"}),t(r,{label:"烟草",value:"烟草"}),t(r,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1}),t(_,{label:"其他说明",prop:"usage_notes"},{default:s(()=>[t(v,{modelValue:i.usage_notes,"onUpdate:modelValue":e[31]||(e[31]=a=>i.usage_notes=a),type:"textarea",rows:2,placeholder:"其他服用注意事项",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(_,{label:"医师姓名",prop:"doctor_name"},{default:s(()=>[t(v,{modelValue:i.doctor_name,"onUpdate:modelValue":e[32]||(e[32]=a=>i.doctor_name=a),placeholder:"请输入医师姓名"},null,8,["modelValue"])]),_:1}),t(_,{label:"是否共享",prop:"is_shared"},{default:s(()=>[t(Le,{modelValue:i.is_shared,"onUpdate:modelValue":e[33]||(e[33]=a=>i.is_shared=a),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"]),e[114]||(e[114]=n("div",{class:"text-xs text-gray-400 mt-1"}," 勾选后,所有医生都可以查看和使用此处方模板 ",-1))]),_:1}),t(_,{label:"指定可见角色",prop:"visible_role_ids"},{default:s(()=>[t(h,{modelValue:i.visible_role_ids,"onUpdate:modelValue":e[34]||(e[34]=a=>i.visible_role_ids=a),multiple:"",filterable:"",clearable:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"不选则除创建者外仅按「是否共享」规则;可多选角色",class:"w-full"},{default:s(()=>[(u(!0),g(M,null,F(ce.value,a=>(u(),y(r,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e[115]||(e[115]=n("div",{class:"text-xs text-gray-400 mt-1"}," 未共享时:所选角色下的账号也可在列表中查看此处方(与创建者并列) ",-1))]),_:1})]),_:1},8,["model"]))]),_:1},8,["modelValue","title","size"]),t(Ie,{modelValue:Q.value,"onUpdate:modelValue":e[54]||(e[54]=a=>Q.value=a),title:"创建业务订单",width:"850px","close-on-click-modal":!1,onClosed:Ce,class:"create-order-dialog"},{footer:s(()=>[n("div",us,[n("div",ps,[C.value>0?(u(),g("span",ms," 提示:订单金额和关联支付单总金额须 ≥ ¥"+f(le(C.value)),1)):V("",!0)]),n("div",_s,[t(w,{onClick:e[53]||(e[53]=a=>Q.value=!1)},{default:s(()=>[...e[129]||(e[129]=[p("取消",-1)])]),_:1}),t(w,{type:"primary",loading:ve.value,onClick:it},{default:s(()=>[...e[130]||(e[130]=[p(" 创建业务订单 ",-1)])]),_:1},8,["loading"])])])]),default:s(()=>[O.value?(u(),g("div",Ta,[n("div",La,[e[120]||(e[120]=n("div",{class:"flex-shrink-0 mt-0.5"},[n("svg",{class:"w-4 h-4 text-blue-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})])],-1)),n("div",Ia,[e[119]||(e[119]=n("div",{class:"text-xs font-medium text-blue-900 mb-0.5"},"关联处方",-1)),n("div",Ra,[p(" ID "+f(O.value.id)+" ",1),O.value.sn?(u(),g("span",za," · "+f(O.value.sn),1)):V("",!0),p(" · "+f(O.value.patient_name||"—"),1)]),n("div",Fa,f(tt.value),1)])])])):V("",!0),t(oe,{ref_key:"createOrderFormRef",ref:te,model:o,rules:et,"label-width":"90px",class:"create-order-form"},{default:s(()=>[n("div",Ba,[e[121]||(e[121]=n("div",{class:"section-title"},[n("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})]),n("span",null,"患者与收货")],-1)),n("div",Ha,[t(E,{gutter:16},{default:s(()=>[t(b,{span:24},{default:s(()=>[t(_,{label:"诊单患者",prop:"patient_id"},{default:s(()=>[t(h,{modelValue:o.patient_id,"onUpdate:modelValue":e[38]||(e[38]=a=>o.patient_id=a),class:"w-full",placeholder:"搜索姓名/手机/身份证",filterable:"",remote:"","remote-method":at,loading:ge.value,onChange:st},{default:s(()=>[(u(!0),g(M,null,F(T.value,a=>(u(),y(r,{key:a.id,label:`${a.patient_name} (${a.phone||"无手机"})`,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1})]),_:1}),t(b,{span:12},{default:s(()=>[t(_,{label:"收货人",prop:"recipient_name"},{default:s(()=>[t(v,{modelValue:o.recipient_name,"onUpdate:modelValue":e[39]||(e[39]=a=>o.recipient_name=a),placeholder:"收货人姓名",maxlength:"50"},null,8,["modelValue"])]),_:1})]),_:1}),t(b,{span:12},{default:s(()=>[t(_,{label:"收货手机",prop:"recipient_phone"},{default:s(()=>[t(v,{modelValue:o.recipient_phone,"onUpdate:modelValue":e[40]||(e[40]=a=>o.recipient_phone=a),placeholder:"用于物流联系",maxlength:"20"},null,8,["modelValue"])]),_:1})]),_:1}),t(b,{span:24},{default:s(()=>[t(_,{label:"省市区",prop:"region"},{default:s(()=>[t(Tt,{modelValue:o.region,"onUpdate:modelValue":e[41]||(e[41]=a=>o.region=a),options:W.value,props:{value:"name",label:"name",children:"children",emitPath:!0,checkStrictly:!1},placeholder:"请选择省/市/区",clearable:"",filterable:"",class:"w-full",onChange:Xe},null,8,["modelValue","options"])]),_:1})]),_:1}),t(b,{span:24},{default:s(()=>[t(_,{label:"详细地址",prop:"shipping_address"},{default:s(()=>[t(v,{modelValue:o.shipping_address,"onUpdate:modelValue":e[42]||(e[42]=a=>o.shipping_address=a),type:"textarea",rows:2,placeholder:"请输入街道、门牌号等详细地址",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})])]),n("div",Ya,[e[122]||(e[122]=n("div",{class:"section-title"},[n("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"})]),n("span",null,"服务信息")],-1)),n("div",qa,[t(E,{gutter:16},{default:s(()=>[t(b,{span:8},{default:s(()=>[t(_,{label:"是否复诊"},{default:s(()=>[t(Le,{modelValue:o.is_follow_up,"onUpdate:modelValue":e[43]||(e[43]=a=>o.is_follow_up=a),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),t(b,{span:8},{default:s(()=>[t(_,{label:"用药疗程"},{default:s(()=>[t(P,{modelValue:o.medication_days,"onUpdate:modelValue":e[44]||(e[44]=a=>o.medication_days=a),min:1,max:999,step:1,placeholder:"天数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),t(b,{span:8},{default:s(()=>[t(_,{label:"上次医生"},{default:s(()=>[t(v,{modelValue:o.prev_staff,"onUpdate:modelValue":e[45]||(e[45]=a=>o.prev_staff=a),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),t(b,{span:12},{default:s(()=>[t(_,{label:"服务渠道"},{default:s(()=>[t(v,{modelValue:o.service_channel,"onUpdate:modelValue":e[46]||(e[46]=a=>o.service_channel=a),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),t(b,{span:12},{default:s(()=>[t(_,{label:"服务套餐"},{default:s(()=>[t(v,{modelValue:o.service_package,"onUpdate:modelValue":e[47]||(e[47]=a=>o.service_package=a),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})])]),n("div",Qa,[e[124]||(e[124]=n("div",{class:"section-title"},[n("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z"})]),n("span",null,"关联收款")],-1)),n("div",Wa,[t(_,{label:"关联支付单"},{default:s(()=>[t(h,{modelValue:o.pay_order_ids,"onUpdate:modelValue":e[48]||(e[48]=a=>o.pay_order_ids=a),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"多选本诊单下的支付单",loading:be.value},{default:s(()=>[(u(!0),g(M,null,F(z.value,a=>(u(),y(r,{key:a.id,label:`${a.order_no} · ¥${a.amount} · ${we(a.order_type)}`,value:a.id,class:"!h-auto py-1.5"},{default:s(()=>[n("div",Ga,[n("div",Ja,[n("span",Ka,f(a.order_no),1),n("span",Xa,"¥"+f(a.amount),1)]),n("div",Za,[n("span",es,[p(f(we(a.order_type)),1),a.remark?(u(),g(M,{key:0},[p(" · "+f(a.remark),1)],64)):V("",!0)]),n("span",ts,f(String(a.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[123]||(e[123]=n("div",{class:"text-xs text-gray-500 mt-1.5 leading-relaxed"}," 主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。 ",-1))]),_:1})])]),n("div",ls,[e[127]||(e[127]=n("div",{class:"section-title"},[n("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})]),n("span",null,"金额信息")],-1)),n("div",as,[n("div",ss,[n("div",is,[n("div",null,[e[125]||(e[125]=n("div",{class:"text-xs text-gray-500 mb-0.5"},"定金门槛",-1)),n("div",ns," ¥"+f(le(C.value)),1),n("div",os,f(C.value>0?"订单和支付单总金额须 ≥ 此值":"未设置"),1)]),n("div",null,[e[126]||(e[126]=n("div",{class:"text-xs text-gray-500 mb-0.5"},"已选收款单",-1)),n("div",{class:Be(["text-base font-semibold",G.value>=C.value?"text-green-600":"text-red-600"])}," ¥"+f(le(G.value)),3),n("div",{class:Be(["text-xs mt-0.5",G.value>=C.value?"text-green-600":"text-red-600"])},f(G.value>=C.value?"✓ 已达标":"✗ 未达标"),3)])])]),t(E,{gutter:16},{default:s(()=>[t(b,{span:12},{default:s(()=>[t(_,{label:"费用类别",prop:"fee_type"},{default:s(()=>[t(h,{modelValue:o.fee_type,"onUpdate:modelValue":e[49]||(e[49]=a=>o.fee_type=a),placeholder:"请选择",class:"w-full"},{default:s(()=>[t(r,{label:"挂号费",value:1}),t(r,{label:"问诊费",value:2}),t(r,{label:"药品费用",value:3}),t(r,{label:"首付费用",value:4}),t(r,{label:"尾款费用",value:5}),t(r,{label:"其他费用",value:6}),t(r,{label:"全部费用",value:7})]),_:1},8,["modelValue"])]),_:1})]),_:1}),t(b,{span:12},{default:s(()=>[t(_,{label:"订单总金额",prop:"amount"},{default:s(()=>[t(P,{modelValue:o.amount,"onUpdate:modelValue":e[50]||(e[50]=a=>o.amount=a),min:Ze.value,step:.01,precision:2,class:"w-full",placeholder:"业务订单金额(元)"},null,8,["modelValue","min"])]),_:1})]),_:1}),$((u(),y(b,{span:12},{default:s(()=>[t(_,{label:"内部成本"},{default:s(()=>[t(P,{modelValue:o.internal_cost,"onUpdate:modelValue":e[51]||(e[51]=a=>o.internal_cost=a),min:0,step:.01,precision:2,class:"w-full",placeholder:"仅财务角色可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[I,["finance.account_log/lists"]]])]),_:1})])]),n("div",rs,[e[128]||(e[128]=n("div",{class:"section-title"},[n("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})]),n("span",null,"备注说明")],-1)),n("div",ds,[t(_,{label:"备注补充"},{default:s(()=>[t(v,{modelValue:o.remark_extra,"onUpdate:modelValue":e[52]||(e[52]=a=>o.remark_extra=a),type:"textarea",rows:2,placeholder:"其他说明(可选)",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})])])]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(Ie,{modelValue:q.value,"onUpdate:modelValue":e[59]||(e[59]=a=>q.value=a),title:"处方审核",width:"480px","destroy-on-close":"",onClosed:e[60]||(e[60]=a=>R.value="")},{footer:s(()=>[t(w,{onClick:e[56]||(e[56]=a=>q.value=!1)},{default:s(()=>[...e[131]||(e[131]=[p("取消",-1)])]),_:1}),t(w,{type:"primary",loading:ee.value,onClick:e[57]||(e[57]=a=>Me("approve"))},{default:s(()=>[...e[132]||(e[132]=[p("审核通过",-1)])]),_:1},8,["loading"]),t(w,{type:"danger",loading:ee.value,onClick:e[58]||(e[58]=a=>Me("reject"))},{default:s(()=>[...e[133]||(e[133]=[p("驳回处方",-1)])]),_:1},8,["loading"])]),default:s(()=>[e[134]||(e[134]=n("p",{class:"text-sm text-gray-600 mb-3"}," 通过:处方保持有效。驳回:将同时作废此处方(与诊间「驳回/作废处方」一致)。 ",-1)),t(oe,{"label-width":"80px"},{default:s(()=>[t(_,{label:"审核意见"},{default:s(()=>[t(v,{modelValue:R.value,"onUpdate:modelValue":e[55]||(e[55]=a=>R.value=a),type:"textarea",rows:3,maxlength:"500","show-word-limit":"",placeholder:"通过可简要说明;驳回必填"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}}),ni=ul(cs,[["__scopeId","data-v-68bcc5de"]]);export{ni as default};
|