2 lines
6.9 KiB
JavaScript
2 lines
6.9 KiB
JavaScript
import{W as M,d as Q,r as Y,h as K,i as X,M as Z,N as tt,T as et,L as st}from"./element-plus-Bolc0EfP.js";import{_ as it}from"./index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import{Y as at}from"./@element-plus/icons-vue-B0jSCQ-G.js";import{u as ot}from"./usePaging-VsbTxSU0.js";import{s as lt,a3 as nt,an as rt}from"./tcm-B2eDN42y.js";import mt from"./PrescriptionOrderDetailDrawer-BL7WuF4P.js";import{i as F,_ as dt}from"./index-CzSP4TPL.js";import{z as pt,a as ft,f as ut}from"./prescription-order-utils-JfPHOgCe.js";import{f as ct,w as _t,as as vt,ak as l,I as v,a as i,F as gt,J as g,aN as a,aP as h,G as b,O as m,H as bt,A as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as d,a as yt,n as y,r as wt}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.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-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.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-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const xt={class:"patient-order-list"},ht={key:0,class:"po-empty-tip"},Nt={key:0,class:"po-revisit-offset-bar mb-3"},St={class:"po-revisit-offset-bar__main"},kt={class:"text-xs text-gray-500 ml-2"},It={key:0},Ot={key:1,class:"text-gray-400"},Dt={class:"text-red-500 font-semibold"},Et={class:"flex justify-end mt-3"},Tt=ct({__name:"PatientOrderList",props:{diagnosisId:{},patientId:{}},setup(E,{expose:R}){const r=E,S=N(()=>{const e=Number(r.patientId);return Number.isFinite(e)&&e>0?e:0}),k=N(()=>S.value>0),c=wt({}),{pager:p,getLists:I,resetPage:L}=ot({fetchFun:lt,params:c,size:10}),f=y(0),w=y(0),x=y(!1),T=y(!1),P=N(()=>Number(f.value)!==Number(w.value)),z=N(()=>{const e=Number(f.value),o=(Number.isFinite(e)?e:0)+1,_=["","一","二","三","四","五","六","七","八","九","十"];return o>=1&&o<=10?_[o]+"诊":`第${o}诊`}),B=()=>{Object.keys(c).forEach(e=>delete c[e]),r.diagnosisId>0&&(c.context_diagnosis_id=r.diagnosisId),k.value&&(c.patient_id=S.value),c.scene="diagnosis_edit"};async function q(){if(!(r.diagnosisId<=0)){T.value=!0;try{const e=await nt({id:r.diagnosisId}),t=(e==null?void 0:e.data)??e??{},o=Number(t.revisit_slot_start_offset),_=Number.isFinite(o)&&o>=0&&o<=20?o:0;f.value=_,w.value=_}catch{f.value=0,w.value=0}finally{T.value=!1}}}async function A(){if(r.diagnosisId<=0)return;const e=Number(f.value);if(!Number.isFinite(e)||e<0||e>20){F.msgWarning("起始偏移须在 0~20 之间");return}x.value=!0;try{await rt({id:r.diagnosisId,revisit_slot_start_offset:e}),w.value=e,F.msgSuccess("保存成功"),I()}catch{}finally{x.value=!1}}const V=y();function $(e){var t;(t=V.value)==null||t.open(e)}const j=e=>{const t=Number(e);return Number.isFinite(t)?t.toFixed(2):"0.00"};return _t(()=>[r.diagnosisId,S.value],()=>{if(!k.value){p.lists=[],p.count=0;return}B(),q(),L()},{immediate:!0}),R({refresh:()=>I()}),(e,t)=>{const o=M,_=Q,U=Y,W=K,C=X,n=tt,O=et,G=Z,H=it,D=vt("perms"),J=st;return l(),v("div",xt,[k.value?(l(),v(gt,{key:1},[E.diagnosisId>0?(l(),v("div",Nt,[g("div",St,[t[3]||(t[3]=g("span",{class:"text-sm text-gray-600"},"复诊统计起始偏移",-1)),i(U,{placement:"top"},{content:a(()=>[...t[2]||(t[2]=[g("div",{class:"max-w-xs leading-relaxed"}," 在实单诊次序号上叠加偏移量。设为 0(默认):第 1 笔实单计为一诊;设为 1:第 1 笔实单计为二诊;设为 2:第 1 笔实单计为三诊——若有 5 笔实单且偏移 2,则统计上相当于计至七诊(5+2)。 ",-1)])]),default:a(()=>[i(_,{class:"text-gray-400 align-middle ml-1"},{default:a(()=>[i(d(at))]),_:1})]),_:1}),h(i(W,{modelValue:f.value,"onUpdate:modelValue":t[0]||(t[0]=s=>f.value=s),min:0,max:20,step:1,"controls-position":"right",class:"w-[120px] ml-3",disabled:x.value},null,8,["modelValue","disabled"]),[[D,["tcm.diagnosis/setRevisitSlotStartOffset"]]]),g("span",kt," 第 1 笔实单计为"+u(z.value),1)]),h((l(),b(C,{type:"primary",size:"small",loading:x.value,disabled:!P.value,onClick:A},{default:a(()=>[...t[4]||(t[4]=[m(" 保存 ",-1)])]),_:1},8,["loading","disabled"])),[[D,["tcm.diagnosis/setRevisitSlotStartOffset"]]])])):bt("",!0),h((l(),b(G,{data:d(p).lists,border:"",stripe:"","empty-text":"暂无业务订单"},{default:a(()=>[i(n,{label:"订单编号",prop:"order_no","min-width":"200","show-overflow-tooltip":""}),i(n,{label:"全局诊次",width:"96",align:"center"},{default:a(({row:s})=>[s.global_visit_seq?(l(),v("span",It,u(s.global_visit_seq)+"诊",1)):(l(),v("span",Ot,"—"))]),_:1}),i(n,{label:"计入统计",width:"96",align:"center"},{default:a(({row:s})=>[s.counts_for_revisit_rate?(l(),b(O,{key:0,type:"success",size:"small",effect:"plain"},{default:a(()=>[...t[5]||(t[5]=[m("是",-1)])]),_:1})):(l(),b(O,{key:1,type:"info",size:"small",effect:"plain"},{default:a(()=>[...t[6]||(t[6]=[m("否",-1)])]),_:1}))]),_:1}),i(n,{label:"金额",width:"120",align:"right"},{default:a(({row:s})=>[g("span",Dt,"¥"+u(j(s.amount)),1)]),_:1}),i(n,{label:"医生",prop:"doctor_name",width:"110","show-overflow-tooltip":""},{default:a(({row:s})=>[m(u(s.doctor_name||"—"),1)]),_:1}),i(n,{label:"医助",prop:"assistant_name",width:"110","show-overflow-tooltip":""},{default:a(({row:s})=>[m(u(s.assistant_name||"—"),1)]),_:1}),i(n,{label:"履约状态",width:"110"},{default:a(({row:s})=>[i(O,{type:d(pt)(s.fulfillment_status),size:"small",effect:"light"},{default:a(()=>[m(u(d(ft)(s.fulfillment_status)),1)]),_:2},1032,["type"])]),_:1}),i(n,{label:"创建时间","min-width":"170"},{default:a(({row:s})=>[m(u(d(ut)(s.create_time)),1)]),_:1}),i(n,{label:"操作",width:"100",fixed:"right"},{default:a(({row:s})=>[h((l(),b(C,{type:"primary",link:"",onClick:Vt=>$(s.id)},{default:a(()=>[...t[7]||(t[7]=[m("查看详情",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/detail"]]])]),_:1})]),_:1},8,["data"])),[[J,d(p).loading]]),g("div",Et,[i(H,{modelValue:d(p),"onUpdate:modelValue":t[1]||(t[1]=s=>yt(p)?p.value=s:null),onChange:d(I)},null,8,["modelValue","onChange"])])],64)):(l(),v("div",ht,[i(o,{description:"当前诊单未携带患者ID,无法列出业务订单"})])),i(mt,{ref_key:"detailDrawerRef",ref:V,readonly:"","append-to-body":""},null,512)])}}}),we=dt(Tt,[["__scopeId","data-v-fe72f000"]]);export{we as default};
|