Files
zyt/server/public/admin/assets/prescription-drawer-BllfKkeo.js
T
2026-05-06 18:22:24 +08:00

2 lines
14 KiB
JavaScript

import{D as $,B as z,C as H,P,Q as A,a3 as J,a4 as L,G as Q,I as j,h as K,a2 as W,i as X,M as Z,N as ee,g as le,e as ae}from"./element-plus-B7Dx6hR2.js";import{f as oe}from"./tcm-C-HR_i0x.js";import{i as w,_ as te}from"./index-CMjmnkXt.js";import{M as ue}from"./index-BSHCwamW.js";import{f as ne,ak as re,G as de,aN as o,a as e,O as m,J as k}from"./@vue/runtime-core-tF_2qJHK.js";import{y as u,a as se,n as x,r as ie}from"./@vue/reactivity-BmZ-20sQ.js";import"./@vue/runtime-dom-CEiKlVMn.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-C25ce6PD.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.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"./vue-router-BjeWxBI0.js";import"./pinia-CTWOnonq.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-Da2f2eD_.js";import"./@vueuse/shared-Bl-RnC0s.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-yVHyDRAS.js";import"./tslib-BDyQ-Jie.js";import"./zrender-C0YiHEZX.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-Bm7NQW9r.js";import"./medicine-Ccpy1xFM.js";const pe={class:"w-full"},me=ne({__name:"prescription-drawer",emits:["success"],setup(_e,{expose:C,emit:D}){const S=D,_=x(!1),f=x(),y=x(!1),l=ie({appointment_id:0,diagnosis_id:0,prescription_name:"",prescription_type:"浓缩水丸",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,audit_status:1}),q={prescription_name:[{required:!0,message:"请输入处方名称",trigger:"blur"}],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"}]},I=()=>{l.herbs.push({name:"",dosage:0})},Y=d=>{l.herbs.splice(d,1)},M=()=>{l.appointment_id=0,l.diagnosis_id=0,l.prescription_name="",l.prescription_type="浓缩水丸",l.patient_name="",l.gender=1,l.age=0,l.visit_no="",l.prescription_date=new Date().toISOString().split("T")[0],l.tongue="",l.tongue_image="",l.pulse="",l.pulse_condition="",l.clinical_diagnosis="",l.herbs=[],l.dose_count=7,l.dose_unit="剂",l.usage_days=7,l.usage_instruction="水煎服,一日二次",l.usage_time="饭前",l.usage_way="温水送服",l.dietary_taboo=[],l.usage_notes="",l.doctor_name="",l.is_shared=0,l.audit_status=0},N=d=>{var a;M(),l.appointment_id=d.id||0,l.diagnosis_id=d.diagnosis_id||0,l.patient_name=d.patient_name||"",l.gender=d.patient_gender==="男"?1:0,l.age=parseInt(d.patient_age)||0,l.visit_no=((a=d.id)==null?void 0:a.toString())||"",l.prescription_date=d.appointment_date||new Date().toISOString().split("T")[0],l.doctor_name=d.doctor_name||"",_.value=!0},U=()=>{var d;_.value=!1,(d=f.value)==null||d.resetFields()},R=async()=>{if(f.value){if(await f.value.validate(),!l.herbs||l.herbs.length===0){w.msgError("请至少添加一味药材");return}for(let d=0;d<l.herbs.length;d++){const a=l.herbs[d];if(!a.name||!a.name.trim()){w.msgError(`第${d+1}味药材名称不能为空`);return}if(!a.dosage||a.dosage<=0){w.msgError(`第${d+1}味药材剂量必须大于0`);return}}y.value=!0;try{await oe(l),w.msgSuccess("处方单创建成功"),U(),S("success")}catch(d){console.error(d)}finally{y.value=!1}}};return C({open:N}),(d,a)=>{const i=H,r=z,n=A,g=P,s=L,p=J,E=j,B=Q,b=K,T=W,V=X,c=ee,h=Z,F=le,O=$,G=ae;return re(),de(G,{modelValue:u(_),"onUpdate:modelValue":a[22]||(a[22]=t=>se(_)?_.value=t:null),title:"创建处方单",size:"90%","close-on-click-modal":!1,onClose:U},{footer:o(()=>[e(V,{onClick:U},{default:o(()=>[...a[28]||(a[28]=[m("取消",-1)])]),_:1}),e(V,{type:"primary",onClick:R,loading:u(y)},{default:o(()=>[...a[29]||(a[29]=[m("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[e(O,{ref_key:"formRef",ref:f,model:u(l),rules:q,"label-width":"120px",class:"prescription-form"},{default:o(()=>[e(r,{label:"处方名称",prop:"prescription_name"},{default:o(()=>[e(i,{modelValue:u(l).prescription_name,"onUpdate:modelValue":a[0]||(a[0]=t=>u(l).prescription_name=t),placeholder:"请输入处方名称",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(r,{label:"处方类型",prop:"prescription_type"},{default:o(()=>[e(g,{modelValue:u(l).prescription_type,"onUpdate:modelValue":a[1]||(a[1]=t=>u(l).prescription_type=t),placeholder:"请选择处方类型",class:"w-full"},{default:o(()=>[e(n,{label:"浓缩水丸",value:"浓缩水丸"}),e(n,{label:"饮片",value:"饮片"}),e(n,{label:"颗粒",value:"颗粒"}),e(n,{label:"丸剂",value:"丸剂"}),e(n,{label:"散剂",value:"散剂"}),e(n,{label:"膏方",value:"膏方"}),e(n,{label:"汤剂",value:"汤剂"})]),_:1},8,["modelValue"])]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:12},{default:o(()=>[e(r,{label:"患者姓名",prop:"patient_name"},{default:o(()=>[e(i,{modelValue:u(l).patient_name,"onUpdate:modelValue":a[2]||(a[2]=t=>u(l).patient_name=t),placeholder:"请输入患者姓名"},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:12},{default:o(()=>[e(r,{label:"门诊号",prop:"visit_no"},{default:o(()=>[e(i,{modelValue:u(l).visit_no,"onUpdate:modelValue":a[3]||(a[3]=t=>u(l).visit_no=t),placeholder:"自动生成或手动输入"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:8},{default:o(()=>[e(r,{label:"性别",prop:"gender"},{default:o(()=>[e(B,{modelValue:u(l).gender,"onUpdate:modelValue":a[4]||(a[4]=t=>u(l).gender=t)},{default:o(()=>[e(E,{label:1},{default:o(()=>[...a[23]||(a[23]=[m("男",-1)])]),_:1}),e(E,{label:0},{default:o(()=>[...a[24]||(a[24]=[m("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:o(()=>[e(r,{label:"年龄",prop:"age"},{default:o(()=>[e(b,{modelValue:u(l).age,"onUpdate:modelValue":a[5]||(a[5]=t=>u(l).age=t),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:o(()=>[e(r,{label:"处方日期",prop:"prescription_date"},{default:o(()=>[e(T,{modelValue:u(l).prescription_date,"onUpdate:modelValue":a[6]||(a[6]=t=>u(l).prescription_date=t),type:"date",placeholder:"选择日期",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:12},{default:o(()=>[e(r,{label:"面象",prop:"tongue"},{default:o(()=>[e(i,{modelValue:u(l).tongue,"onUpdate:modelValue":a[7]||(a[7]=t=>u(l).tongue=t),placeholder:"请输入面象"},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:12},{default:o(()=>[e(r,{label:"舌象",prop:"tongue_image"},{default:o(()=>[e(i,{modelValue:u(l).tongue_image,"onUpdate:modelValue":a[8]||(a[8]=t=>u(l).tongue_image=t),placeholder:"请输入舌象"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:12},{default:o(()=>[e(r,{label:"脉象",prop:"pulse"},{default:o(()=>[e(i,{modelValue:u(l).pulse,"onUpdate:modelValue":a[9]||(a[9]=t=>u(l).pulse=t),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:12},{default:o(()=>[e(r,{label:"脉象详情",prop:"pulse_condition"},{default:o(()=>[e(i,{modelValue:u(l).pulse_condition,"onUpdate:modelValue":a[10]||(a[10]=t=>u(l).pulse_condition=t),placeholder:"请输入脉象详情"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(r,{label:"临床诊断",prop:"clinical_diagnosis"},{default:o(()=>[e(i,{modelValue:u(l).clinical_diagnosis,"onUpdate:modelValue":a[11]||(a[11]=t=>u(l).clinical_diagnosis=t),type:"textarea",rows:3,placeholder:"请输入临床诊断",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(r,{label:"药材配方",prop:"herbs",required:""},{default:o(()=>[k("div",pe,[e(V,{type:"primary",size:"small",onClick:I},{default:o(()=>[...a[25]||(a[25]=[m(" 添加药材 ",-1)])]),_:1}),e(h,{data:u(l).herbs,class:"mt-2",border:""},{default:o(()=>[e(c,{label:"序号",type:"index",width:"60"}),e(c,{label:"药材名称","min-width":"220"},{default:o(({row:t})=>[e(ue,{modelValue:t.name,"onUpdate:modelValue":v=>t.name=v},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"剂量(克)","min-width":"120"},{default:o(({row:t})=>[e(b,{modelValue:t.dosage,"onUpdate:modelValue":v=>t.dosage=v,min:0,precision:1,step:.5,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"操作",width:"80"},{default:o(({$index:t})=>[e(V,{type:"danger",link:"",onClick:v=>Y(t)},{default:o(()=>[...a[26]||(a[26]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])])]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:8},{default:o(()=>[e(r,{label:"剂数",prop:"dose_count"},{default:o(()=>[e(b,{modelValue:u(l).dose_count,"onUpdate:modelValue":a[12]||(a[12]=t=>u(l).dose_count=t),min:1,placeholder:"剂数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:o(()=>[e(r,{label:"剂量单位",prop:"dose_unit"},{default:o(()=>[e(g,{modelValue:u(l).dose_unit,"onUpdate:modelValue":a[13]||(a[13]=t=>u(l).dose_unit=t),placeholder:"请选择",class:"w-full"},{default:o(()=>[e(n,{label:"剂",value:"剂"}),e(n,{label:"丸",value:"丸"}),e(n,{label:"袋",value:"袋"}),e(n,{label:"盒",value:"盒"}),e(n,{label:"瓶",value:"瓶"}),e(n,{label:"膏",value:"膏"}),e(n,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:o(()=>[e(r,{label:"服用天数",prop:"usage_days"},{default:o(()=>[e(b,{modelValue:u(l).usage_days,"onUpdate:modelValue":a[14]||(a[14]=t=>u(l).usage_days=t),min:1,max:365,placeholder:"服用天数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(r,{label:"用法",prop:"usage_instruction"},{default:o(()=>[e(i,{modelValue:u(l).usage_instruction,"onUpdate:modelValue":a[15]||(a[15]=t=>u(l).usage_instruction=t),placeholder:"例如:水煎服,一日二次",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:12},{default:o(()=>[e(r,{label:"服用时间",prop:"usage_time"},{default:o(()=>[e(g,{modelValue:u(l).usage_time,"onUpdate:modelValue":a[16]||(a[16]=t=>u(l).usage_time=t),placeholder:"请选择服用时间",class:"w-full"},{default:o(()=>[e(n,{label:"饭前",value:"饭前"}),e(n,{label:"饭后",value:"饭后"}),e(n,{label:"饭中",value:"饭中"}),e(n,{label:"空腹",value:"空腹"}),e(n,{label:"睡前",value:"睡前"}),e(n,{label:"晨起",value:"晨起"}),e(n,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(s,{span:12},{default:o(()=>[e(r,{label:"服用方式",prop:"usage_way"},{default:o(()=>[e(g,{modelValue:u(l).usage_way,"onUpdate:modelValue":a[17]||(a[17]=t=>u(l).usage_way=t),placeholder:"请选择服用方式",class:"w-full"},{default:o(()=>[e(n,{label:"温水送服",value:"温水送服"}),e(n,{label:"开水冲服",value:"开水冲服"}),e(n,{label:"黄酒送服",value:"黄酒送服"}),e(n,{label:"淡盐水送服",value:"淡盐水送服"}),e(n,{label:"米汤送服",value:"米汤送服"}),e(n,{label:"嚼服",value:"嚼服"}),e(n,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(r,{label:"忌口",prop:"dietary_taboo"},{default:o(()=>[e(g,{modelValue:u(l).dietary_taboo,"onUpdate:modelValue":a[18]||(a[18]=t=>u(l).dietary_taboo=t),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"w-full"},{default:o(()=>[e(n,{label:"辛辣食物",value:"辛辣食物"}),e(n,{label:"生冷食物",value:"生冷食物"}),e(n,{label:"油腻食物",value:"油腻食物"}),e(n,{label:"海鲜",value:"海鲜"}),e(n,{label:"牛羊肉",value:"牛羊肉"}),e(n,{label:"鸡蛋",value:"鸡蛋"}),e(n,{label:"豆制品",value:"豆制品"}),e(n,{label:"酒类",value:"酒类"}),e(n,{label:"浓茶",value:"浓茶"}),e(n,{label:"咖啡",value:"咖啡"}),e(n,{label:"烟草",value:"烟草"}),e(n,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1}),e(r,{label:"其他说明",prop:"usage_notes"},{default:o(()=>[e(i,{modelValue:u(l).usage_notes,"onUpdate:modelValue":a[19]||(a[19]=t=>u(l).usage_notes=t),type:"textarea",rows:2,placeholder:"其他服用注意事项",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(r,{label:"医师姓名",prop:"doctor_name"},{default:o(()=>[e(i,{modelValue:u(l).doctor_name,"onUpdate:modelValue":a[20]||(a[20]=t=>u(l).doctor_name=t),placeholder:"请输入医师姓名"},null,8,["modelValue"])]),_:1}),e(r,{label:"是否共享",prop:"is_shared"},{default:o(()=>[e(F,{modelValue:u(l).is_shared,"onUpdate:modelValue":a[21]||(a[21]=t=>u(l).is_shared=t),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"]),a[27]||(a[27]=k("div",{class:"text-xs text-gray-400 mt-1"}," 勾选后,所有医生都可以查看和使用此处方模板 ",-1))]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])}}}),el=te(me,[["__scopeId","data-v-da2c137f"]]);export{el as default};