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