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