You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4 lines
48 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import{_ as yt,Y as Oe,o as wt,r as J,c as St,d as D,e as N,i as h,k as C,v as M,q as V,x as B,j as ee,w as b,h as qe,f as y,F as Te,t as Ne,Z as We,l as H,y as Me,g as k,$ as kt,E as L,a0 as Et,a1 as Ct,a2 as xe,N as ae,a3 as Dt,a4 as Ze,a5 as It,a6 as Tt}from"./index-87e3e912.js";const Nt={class:"YuYue202506"},Mt={key:0,class:"patientInfo"},Vt={class:"item"},Bt={class:"name"},Rt={class:"item"},Pt={class:"value"},zt={class:"item"},Yt={class:"value"},Ot={key:0,class:"item"},$t={class:"value"},Lt={key:1,class:"item"},Ut={class:"value"},jt={key:2,class:"item"},Ht={class:"value"},Jt={key:1},Ft={style:{"font-weight":"700",color:"#e6a23c"}},Gt={style:{"font-weight":"700",color:"#e6a23c"}},At={class:"entrustList"},qt={key:0,style:{"font-size":"12px",color:"#909399"}},Wt={style:{"margin-right":"4px",color:"#999"}},Zt={key:0,class:"errMsg"},Kt={key:1},Qt={key:0},Xt={key:1},ed={key:0,style:{color:"orangered"}},td={key:1},dd={key:0},nd={key:0},sd={key:1},ad={class:"planInfo"},id={style:{display:"flex","justify-content":"space-between","align-items":"center","margin-top":"8px","margin-bottom":"8px"}},ld={style:{display:"flex","align-items":"center"}},od=["onClick"],rd={style:{display:"flex","flex-direction":"column","margin-left":"12px"}},ud={style:{border:"1px solid #efefef"}},pd={class:"planTable"},_d={key:0,style:{"background-color":"#f1f1f1"}},md={style:{"font-weight":"700"}},cd=["onClick"],fd={key:0},gd={key:0},xd={key:1,style:{"background-color":"#fff"}},hd={class:"dialog-footer"},bd={style:{display:"flex","align-items":"flex-start",gap:"12px"}},vd=["innerHTML"],yd={style:{display:"flex","align-items":"flex-start",gap:"12px"}},wd=["innerHTML"],Sd={style:{display:"flex","align-items":"flex-start",gap:"12px"}},kd=["innerHTML"],Ed={style:{display:"flex","align-items":"flex-start",gap:"12px"}},Cd=["innerHTML"],Dd=`1.未预约状态,如果多个检查项目能在同一个检查室进行检查,系统会自动选中能一起预约的项目,只需要点击一次预约按钮即可完成预约
2.已预约状态,预约到同一个时段的同一个检查室的项目,系统会自动选中,更改预约或取消预约只需点击一次
3.不同状态的预约的预约项目无法一起选中`,Id={__name:"YuYue202506",props:{reg_num:{type:String},entrust_ids:{type:String},episode_id:{type:String},appointment_type:{type:[String,Number]},dotype:{type:Number},do_user:{default:"",type:[String,Number]},special_privileges:{type:Array,default:()=>[]},scope:{type:String,default:"all"}},setup(Ke){const S=Ke;let U=k(null),O=k(null),p=k([]);const re=s=>s?s.requestComment?`${s.entrust}${s.requestComment}`:s.entrust:"";let ie=k([]),te=k(!1),$=k(!1),se=k(["1"]),Ve=k(!0),le=k([]),he=k([]),R=k(""),P=k(0),z=k([]),j=k([]),w=k([]),q=k(!0),be=k([]),W=k([]),ve=k("add"),oe=k(""),ye=k([]),we=k([]),ue=k([]),Qe=k(0),$e=k(!1),pe=k(!0),Be=k(""),Re=k(""),K=k(!1),F=k(!1),_e=k(""),me=k(null),ce=k(null),de=k(!1),Le=k(""),ne=k(!1),Ue=k(""),Z=k(!1),Se=k("");const Xe=s=>{let e=["周日","周一","周二","周三","周四","周五","周六"];const d=new Date(s).getDay();return e[d]},je=Oe(()=>{const s=w.value.map(d=>{var a;return(a=d.department_resources)==null?void 0:a.department_resources_name}).filter(Boolean),e=[...new Set(s)];if(e.length!==1)return 0;const t=e[0];return p.value.filter(d=>{var a;return((a=d.department_resources)==null?void 0:a.department_resources_name)===t}).length}),He=Oe(()=>S.special_privileges.includes("emergency")),et=Oe(()=>{const s=p.value.filter(t=>!!(t.list_status===1&&t.reservation_date||t.list_status===0&&t.temp_plan_id&&t.reservation_date));return s.length<2?!1:new Set(s.map(t=>t.reservation_date)).size>1});let ke=null;const tt=()=>{ke&&clearTimeout(ke),ke=setTimeout(()=>{X(),ke=null},500)},dt=s=>{var t,d,a,i,l,n,r,g,u,c;if(z.value=[],j.value=[],le.value=[],he.value=[],ie.value=[],R.value="",w.value=s,console.log("11111",w.value),w.value.forEach((m,f)=>{z.value.push(m.id),j.value.push(m.entrust_id)}),w.value.every(m=>{var f;return m.roster_id===((f=w.value[0])==null?void 0:f.roster_id)}))P.value=(t=w.value[0])==null?void 0:t.roster_id,P.value!==0&&P.value&&(oe.value=(d=w.value[0])==null?void 0:d.reservation_date,bt(Ge(),(a=w.value[0])==null?void 0:a.reservation_date)&&((i=w.value[0])!=null&&i.reservation_date)?Q.value=Ce((l=w.value[0])==null?void 0:l.reservation_date):Q.value=Ce(Ge()),R.value=(r=(n=w.value[0])==null?void 0:n.department_resources)==null?void 0:r.department_resources_name);else if(P.value=0,w.value.length>0){const m=(u=(g=w.value[0])==null?void 0:g.department_resources)==null?void 0:u.execute_department_id;if(m&&w.value.every(_=>{var E;return((E=_.department_resources)==null?void 0:E.execute_department_id)===m})){const _=(c=w.value[0].department_resources)==null?void 0:c.department_resources_name;_&&(R.value=_)}}be.value.forEach(m=>{w.value.find(f=>f===m)||(ve.value="cancel")}),w.value.length==0&&(ve.value="add",be.value=[]),console.log(ve.value),j.value.length>0&&q.value&&(ve.value==="add"&&w.value[0].list_status==0?pe.value?lt():X():tt()),me.value&&p.value.findIndex(f=>z.value.includes(f.id))+1===me.value.idx&&(_e.value=me.value.html,F.value=!0,me.value=null),ce.value&&p.value.findIndex(f=>z.value.includes(f.id))+1===ce.value.idx&&(Se.value=ce.value.html,Z.value=!0,ce.value=null),nt()},nt=()=>{var t,d;if(w.value.length===0){Ve.value=!0;return}const s=(d=(t=w.value[0])==null?void 0:t.department_resources)==null?void 0:d.execute_department_id;if(s==null){Ve.value=!0;return}const e=w.value.every(a=>{var i;return((i=a.department_resources)==null?void 0:i.execute_department_id)===s});Ve.value=!e},st=s=>w.value.findIndex(e=>e.id===s.id)>-1,at=({row:s,rowIndex:e})=>{if(s.tishi_msg!="")return"disabled-row";if(st(s))return"selected-row"},it=(s,e)=>s.tishi_msg=="";let fe=k([]);const Ee=(s,e)=>{let t=z.value;p.value=[],te.value=!0,kt({regnum:S.reg_num,entrustid:S.entrust_ids,episodeid:S.episode_id,appointment_type:S.appointment_type}).then(d=>{var a;if(te.value=!1,d.status){if(d.data.info.length>0){let i=d.data.info;if(O.value=i[0].maininfo,i.forEach((l,n)=>{var g,u;let r=l.maininfo;r.tishi_msg=l.msg,r.limosis=(g=l.iteminfo[0])==null?void 0:g.limosis,p.value.push(r),l.msg!=""&&l.msg!=null&&fe.value.push({msg:l.msg,item_name:(u=l.iteminfo[0])==null?void 0:u.item_name})}),d.data.no_appointment_dept&&d.data.no_appointment_dept.length>0){const l=[...new Set(d.data.no_appointment_dept.map(r=>r.resource_name))],n=[...new Set(d.data.no_appointment_dept.map(r=>r.item_name))];Be.value="注意:"+l.join("")+"下属的"+n.join("")+"项目属于不用预约项目!"}if(d.data.no_schedule&&d.data.no_schedule.length>0){const l=[...new Set(d.data.no_schedule.map(r=>r.resource_name))],n=[...new Set(d.data.no_schedule.map(r=>r.item_name))];Re.value="注意:"+l.join("")+"下属的"+n.join("")+"项目未配置排班计划,请联系检查室!"}if(t.length>0&&!e)t.forEach((l,n)=>{p.value.forEach((r,g)=>{l==r.id&&U.value.toggleRowSelection(p.value[g],!0)})});else{for(let l=0;l<p.value.length;l++)if(p.value[l].tishi_msg==""&&p.value[l].list_status===0){U.value.toggleRowSelection(p.value[l],!0);const n=(a=p.value[l].department_resources)==null?void 0:a.department_resources_name;n&&p.value.forEach(r=>{var g;r.id!==p.value[l].id&&r.list_status===0&&r.tishi_msg===""&&((g=r.department_resources)==null?void 0:g.department_resources_name)===n&&U.value.toggleRowSelection(r,!0)}),p.value[l].roster_id!=null&&(P.value=p.value[l].roster_id,R.value=n);break}if(z.value.length===0){const l=p.value.find(n=>n.tishi_msg==="");l&&(q.value=!1,e&&t.length>0?t.forEach(n=>{const r=p.value.find(g=>g.id===n);r&&U.value.toggleRowSelection(r,!0)}):U.value.toggleRowSelection(l,!0),q.value=!0)}}Ye.value&&(Ye.value=!1,fe.value.length>0&&(console.log("22222222222222",fe.value),K.value=!0)),we.value=JSON.parse(JSON.stringify(p.value)),s&&s()}}else L.error(d.msg)})},lt=()=>{let s=[],e=w.value.length;if(w.value[e-1].list_status!=0)return!1;p.value.forEach((t,d)=>{t.list_status==0&&t.tishi_msg==""&&(t.id==w.value[e-1].id?s.push({name:t.entrust,rowid:d,first:1}):s.push({name:t.entrust,rowid:d,first:0}))}),s.length>=2?(te.value=!0,Et({items:s}).then(t=>{te.value=!1,t.status?(s.forEach((a,i)=>{q.value=!1,U.value.toggleRowSelection(p.value[a.rowid],!1)}),t.data.rowids.forEach((a,i)=>{q.value=!1,U.value.toggleRowSelection(p.value[a],!0)}),be.value=w.value,X()):L.error(t.msg),q.value=!0})):(be.value=w.value,X())};let Q=k([]);const X=()=>{if(j.value.length==0)return L.error("请选择检查项目"),!1;$.value=!0,Ct({regnum:S.reg_num,entrustid:j.value,episodeid:S.episode_id,appointment_type:S.appointment_type,date:Q.value,scope:S.scope,do_user:S.do_user}).then(s=>{if($.value=!1,ie.value=[],le.value=[],s.status){let e=s.data.plan_list,t=s.data.zhanWeiCount,d=s.data.is_emergency;if(ue.value=e,Qe.value=t,e.length>0){e.some(u=>u.department_resources_name===R.value)||(R.value=e[0].department_resources_name);const i=new Set,l=new Set;e.forEach(u=>{if(u.no_plan){l.add(u.department_resources_name);return}if(u.department_resources_name==R.value){const c=`${u.begin_time.substring(0,5)}-${u.end_time.substring(0,5)}`;i.add(c)}l.add(u.department_resources_name)});const n=Array.from(l);if(he.value.length>0){const u=[],c=[...n];he.value.forEach(m=>{const f=c.indexOf(m);f!==-1&&(u.push(m),c.splice(f,1))}),le.value=[...u,...c]}else le.value=n;he.value=[...le.value],Array.from(i).sort().forEach(u=>{const c={time_range:u};Q.value.forEach(m=>{const f=e.find(E=>!E.no_plan&&`${E.begin_time.substring(0,5)}-${E.end_time.substring(0,5)}`===u&&E.date===m&&E.department_resources_name==R.value);let _=!1;f?(f.plan_enable===!0&&(_=!0),d===!0&&f.plan_enable===!0&&He.value==!0&&(_=!0),c[m]={use_count:`${f.used_count}/${f.count}`,id:f.id,enable:_}):c[m]={use_count:"0/0",id:null,enable:_}}),ie.value.push(c)}),P.value=0;const g=Je();if(g.length>0)W.value=g,P.value=g[0];else{W.value=[];const u=e.find(c=>c.department_resources_name==R.value&&c.plan_enable===!0);u&&(P.value=u.id)}if(!$e.value){$e.value=!0;const u=p.value.filter(c=>c.list_status===0);if(u.length>0){const c=u.map(m=>{var f;return{id:m.id,entrust_id:m.entrust_id,department_resources_name:((f=m.department_resources)==null?void 0:f.department_resources_name)||"",date:m.reservation_date||"",begin_time:m.period_begin_time||"",end_time:m.period_end_time||""}});xe({type:"optimal_time",regnum:S.reg_num,entrustid:j.value,episodeid:S.episode_id,appointment_type:S.appointment_type,items:c,scope:S.scope,do_user:S.do_user}).then(m=>{if(m.status){m.data.forEach(x=>{const I=p.value.find(Y=>Y.id===x.id);I&&(I.department_resources||(I.department_resources={}),I.department_resources.department_resources_name=x.department_resources_name,I.reservation_date=x.date,I.period_begin_time=x.begin_time,I.period_end_time=x.end_time,I.temp_plan_id=x.plan_id)});const f={};m.data.forEach(x=>{var Y,G;const I=x.department_resources_name;f[I]||(f[I]={items:[],timeSlots:new Set,dates:new Set}),f[I].items.push(x),f[I].timeSlots.add(((Y=x.begin_time)==null?void 0:Y.substring(0,5))+"-"+((G=x.end_time)==null?void 0:G.substring(0,5))),f[I].dates.add(x.date)});const _=[];for(const[x,I]of Object.entries(f))(I.timeSlots.size>1||I.dates.size>1)&&I.items.forEach(Y=>{var De,T;const G=p.value.findIndex(A=>A.id===Y.id);_.push({idx:G!==-1?G+1:"",room:Y.department_resources_name,date:Y.date,timeSlot:((De=Y.begin_time)==null?void 0:De.substring(0,5))+"-"+((T=Y.end_time)==null?void 0:T.substring(0,5)),entrust:re(p.value.find(A=>A.id===Y.id))})});if(_.length>0){let x='<table style="width:100%;border-collapse:collapse;font-size:14px;">';x+='<tr style="background:#d5dce6;"><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">序号</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">项目名称</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">检查室</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">日期</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">时间段</td></tr>';let I="",Y="#f5f5f5";_.sort((T,A)=>T.idx-A.idx).forEach(T=>{T.timeSlot!==I&&(Y=Y==="#fff"?"#d5dce6":"#fff",I=T.timeSlot),x+='<tr style="background:'+Y+';"><td style="padding:4px 8px;border:1px solid #ddd;">'+T.idx+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+T.entrust+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+T.room+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+T.date+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+T.timeSlot+"</td></tr>"}),x+="</table>";const G=Math.min(..._.map(T=>T.idx));p.value.findIndex(T=>z.value.includes(T.id))+1===G?(_e.value=x,F.value=!0):me.value={html:x,idx:G}}const E=new Set(m.data.map(x=>x.id)),o=c.filter(x=>!E.has(x.id));if(o.length>0){let x='<table style="width:100%;border-collapse:collapse;font-size:14px;">';x+='<tr style="background:#d5dce6;"><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">序号</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">项目名称</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">排班资源</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">日期</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">时间段</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">结果</td></tr>';let I=1;m.data.forEach(T=>{var ge,Ie,Ae;const A=((ge=p.value.find(vt=>vt.id===T.id))==null?void 0:ge.entrust)||"";x+='<tr><td style="padding:4px 8px;border:1px solid #ddd;">'+I+++'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+A+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+T.department_resources_name+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+T.date+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+((Ie=T.begin_time)==null?void 0:Ie.substring(0,5))+"-"+((Ae=T.end_time)==null?void 0:Ae.substring(0,5))+'</td><td style="padding:4px 8px;border:1px solid #ddd;color:green;">✅ 成功匹配</td></tr>'}),o.forEach(T=>{var ge;const A=((ge=p.value.find(Ie=>Ie.id===T.id))==null?void 0:ge.entrust)||"";x+='<tr><td style="padding:4px 8px;border:1px solid #ddd;">'+I+++'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+A+'</td><td style="padding:4px 8px;border:1px solid #ddd;" colspan="3">—</td><td style="padding:4px 8px;border:1px solid #ddd;color:red;">❌ 未找到合适号源</td></tr>'}),x+="</table>";const Y=o.map(T=>p.value.findIndex(A=>A.id===T.id)+1).filter(T=>T>0),G=Math.min(...Y);p.value.findIndex(T=>z.value.includes(T.id))+1===G?(Se.value=x,Z.value=!0):ce.value={html:x,idx:G}}const v=Je();v.length>0&&(W.value=v,P.value=v[0])}})}}}}else L.error(s.msg)})},ot=s=>{R.value=s,P.value=0,W.value=[],X()},Je=()=>{const s=[];for(const e of p.value)if(z.value.includes(e.id)&&e.list_status===0&&e.temp_plan_id){const t=ue.value.find(d=>d.id===e.temp_plan_id&&d.department_resources_name===R.value);t&&!s.includes(t.id)&&s.push(t.id)}for(const e of p.value)if(z.value.includes(e.id)&&e.list_status===1&&e.roster_id){const t=ue.value.find(d=>d.id===e.roster_id&&d.department_resources_name===R.value);t&&!s.includes(t.id)&&s.push(t.id)}return s},rt=s=>{if(console.log(s),s==null)return;const e=ue.value.find(t=>t.id===s);e&&(P.value=s,W.value=[s],mt(),w.value.forEach(t=>{const d=p.value.find(a=>a.id===t.id);d&&(d.department_resources||(d.department_resources={}),d.department_resources.department_resources_name=e.department_resources_name,d.reservation_date=e.date,d.period_begin_time=e.begin_time,d.period_end_time=e.end_time,d.temp_plan_id=s)}))},ut=()=>{if(j.value.length===0){L.error("请选择检查项目");return}$.value=!0,w.value.forEach(t=>{const d=we.value.find(i=>i.id===t.id);if(!d)return;const a=p.value.find(i=>i.id===t.id);a&&(a.department_resources=d.department_resources,a.reservation_date=d.reservation_date,a.period_begin_time=d.period_begin_time,a.period_end_time=d.period_end_time,a.temp_plan_id=void 0)});const s=w.value.filter(t=>t.list_status===0).map(t=>{var d;return{id:t.id,entrust_id:t.entrust_id,department_resources_name:((d=t.department_resources)==null?void 0:d.department_resources_name)||"",date:t.reservation_date||"",begin_time:t.period_begin_time||"",end_time:t.period_end_time||""}}),e=p.value.filter(t=>!z.value.includes(t.id)&&t.list_status===0&&t.temp_plan_id).map(t=>t.temp_plan_id);xe({type:"optimal_time",regnum:S.reg_num,entrustid:j.value,episodeid:S.episode_id,appointment_type:S.appointment_type,items:s,occupied_plan_ids:e,scope:S.scope,do_user:S.do_user}).then(t=>{if($.value=!1,t.status){t.data.forEach(n=>{const r=p.value.find(g=>g.id===n.id);r&&(r.department_resources||(r.department_resources={}),r.department_resources.department_resources_name=n.department_resources_name,r.reservation_date=n.date,r.period_begin_time=n.begin_time,r.period_end_time=n.end_time,r.temp_plan_id=n.plan_id)});const d={};t.data.forEach(n=>{var g,u;const r=n.department_resources_name;d[r]||(d[r]={items:[],timeSlots:new Set,dates:new Set}),d[r].items.push(n),d[r].timeSlots.add(((g=n.begin_time)==null?void 0:g.substring(0,5))+"-"+((u=n.end_time)==null?void 0:u.substring(0,5))),d[r].dates.add(n.date)});const a=[];for(const[n,r]of Object.entries(d))(r.timeSlots.size>1||r.dates.size>1)&&r.items.forEach(g=>{var c,m;const u=p.value.findIndex(f=>f.id===g.id);a.push({idx:u!==-1?u+1:"",room:g.department_resources_name,date:g.date,timeSlot:((c=g.begin_time)==null?void 0:c.substring(0,5))+"-"+((m=g.end_time)==null?void 0:m.substring(0,5)),entrust:re(p.value.find(f=>f.id===g.id))})});if(a.length>0){let n='<table style="width:100%;border-collapse:collapse;font-size:14px;">';n+='<tr style="background:#d5dce6;"><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">序号</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">项目名称</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">检查室</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">日期</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">时间段</td></tr>';let r="",g="#f5f5f5";a.sort((u,c)=>u.idx-c.idx).forEach(u=>{u.timeSlot!==r&&(g=g==="#fff"?"#d5dce6":"#fff",r=u.timeSlot),n+='<tr style="background:'+g+';"><td style="padding:4px 8px;border:1px solid #ddd;">'+u.idx+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+u.entrust+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+u.room+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+u.date+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+u.timeSlot+"</td></tr>"}),n+="</table>",_e.value=n,F.value=!0}const i=new Set(t.data.map(n=>n.id)),l=s.filter(n=>!i.has(n.id));if(l.length>0){let n='<table style="width:100%;border-collapse:collapse;font-size:14px;">';n+='<tr style="background:#d5dce6;"><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">序号</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">项目名称</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">排班资源</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">日期</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">时间段</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">结果</td></tr>';let r=1;t.data.forEach(g=>{var c,m;const u=re(p.value.find(f=>f.id===g.id));n+='<tr><td style="padding:4px 8px;border:1px solid #ddd;">'+r+++'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+u+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+g.department_resources_name+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+g.date+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+((c=g.begin_time)==null?void 0:c.substring(0,5))+"-"+((m=g.end_time)==null?void 0:m.substring(0,5))+'</td><td style="padding:4px 8px;border:1px solid #ddd;color:green;">✅ 成功匹配</td></tr>'}),l.forEach(g=>{const u=re(p.value.find(c=>c.id===g.id));n+='<tr><td style="padding:4px 8px;border:1px solid #ddd;">'+r+++'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+u+'</td><td style="padding:4px 8px;border:1px solid #ddd;" colspan="3">—</td><td style="padding:4px 8px;border:1px solid #ddd;color:red;">❌ 未找到合适号源</td></tr>'}),n+="</table>",Se.value=n,Z.value=!0}else t.data.length===0&&ae.confirm("所有项目均未匹配到合适号源,请重新选择号源","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"error",showCancelButton:!1});t.data.length>0&&(R.value=t.data[0].department_resources_name,W.value=t.data.map(n=>n.plan_id),P.value=t.data[0].plan_id)}else L.error(t.msg)})},pt=()=>{if(j.value.length===0){L.error("请选择检查项目");return}$.value=!0,w.value.forEach(t=>{const d=we.value.find(i=>i.id===t.id);if(!d)return;const a=p.value.find(i=>i.id===t.id);a&&(a.department_resources=d.department_resources,a.reservation_date=d.reservation_date,a.period_begin_time=d.period_begin_time,a.period_end_time=d.period_end_time,a.temp_plan_id=void 0)});const s=w.value.filter(t=>t.list_status===0).map(t=>{var d;return{id:t.id,entrust_id:t.entrust_id,department_resources_name:((d=t.department_resources)==null?void 0:d.department_resources_name)||"",date:t.reservation_date||"",begin_time:t.period_begin_time||"",end_time:t.period_end_time||""}}),e=p.value.filter(t=>!z.value.includes(t.id)&&t.list_status===0&&t.temp_plan_id).map(t=>t.temp_plan_id);xe({type:"full_day",regnum:S.reg_num,entrustid:j.value,episodeid:S.episode_id,appointment_type:S.appointment_type,items:s,occupied_plan_ids:e,scope:S.scope,do_user:S.do_user}).then(t=>{if($.value=!1,t.status)if(t.data.forEach(d=>{const a=p.value.find(i=>i.id===d.id);a&&(a.department_resources||(a.department_resources={}),a.department_resources.department_resources_name=d.department_resources_name,a.reservation_date=d.date,a.period_begin_time=d.begin_time,a.period_end_time=d.end_time,a.temp_plan_id=d.plan_id)}),t.data.length>0){const d={};t.data.forEach(i=>{var n,r;const l=i.department_resources_name;d[l]||(d[l]={items:[],timeSlots:new Set,dates:new Set}),d[l].items.push(i),d[l].timeSlots.add(((n=i.begin_time)==null?void 0:n.substring(0,5))+"-"+((r=i.end_time)==null?void 0:r.substring(0,5))),d[l].dates.add(i.date)});const a=[];for(const[i,l]of Object.entries(d))(l.timeSlots.size>1||l.dates.size>1)&&l.items.forEach(n=>{var g,u;const r=p.value.findIndex(c=>c.id===n.id);a.push({idx:r!==-1?r+1:"",room:n.department_resources_name,date:n.date,timeSlot:((g=n.begin_time)==null?void 0:g.substring(0,5))+"-"+((u=n.end_time)==null?void 0:u.substring(0,5)),entrust:re(p.value.find(c=>c.id===n.id))})});if(a.length>0){let i='<table style="width:100%;border-collapse:collapse;font-size:14px;">';i+='<tr style="background:#d5dce6;"><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">序号</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">项目名称</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">检查室</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">日期</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">时间段</td></tr>';let l="",n="#f5f5f5";a.sort((r,g)=>r.idx-g.idx).forEach(r=>{r.timeSlot!==l&&(n=n==="#fff"?"#d5dce6":"#fff",l=r.timeSlot),i+='<tr style="background:'+n+';"><td style="padding:4px 8px;border:1px solid #ddd;">'+r.idx+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+r.entrust+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+r.room+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+r.date+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+r.timeSlot+"</td></tr>"}),i+="</table>",_e.value=i,F.value=!0}R.value=t.data[0].department_resources_name,W.value=t.data.map(i=>i.plan_id),P.value=t.data[0].plan_id}else ae.confirm("未找到任何一天可满足所有检查项目的号源","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",showCancelButton:!1});else L.error(t.msg)})},_t=()=>{if(j.value.length===0){L.error("请选择检查项目");return}$.value=!0,w.value.forEach(t=>{const d=we.value.find(i=>i.id===t.id);if(!d)return;const a=p.value.find(i=>i.id===t.id);a&&(a.department_resources=d.department_resources,a.reservation_date=d.reservation_date,a.period_begin_time=d.period_begin_time,a.period_end_time=d.period_end_time,a.temp_plan_id=void 0)});const s=w.value.filter(t=>t.list_status===0).map(t=>{var d;return{id:t.id,entrust_id:t.entrust_id,department_resources_name:((d=t.department_resources)==null?void 0:d.department_resources_name)||"",date:t.reservation_date||"",begin_time:t.period_begin_time||"",end_time:t.period_end_time||""}}),e=p.value.filter(t=>!z.value.includes(t.id)&&t.list_status===0&&t.temp_plan_id).map(t=>t.temp_plan_id);xe({type:"same_day_slot",regnum:S.reg_num,entrustid:j.value,episodeid:S.episode_id,appointment_type:S.appointment_type,items:s,occupied_plan_ids:e,scope:S.scope,do_user:S.do_user}).then(t=>{if($.value=!1,t.status)if(t.data.length>0){const d={};t.data.forEach(i=>{var n,r;const l=i.department_resources_name;d[l]||(d[l]={timeSlots:new Set}),d[l].timeSlots.add(((n=i.begin_time)==null?void 0:n.substring(0,5))+"-"+((r=i.end_time)==null?void 0:r.substring(0,5)))});let a=!1;for(const i of Object.values(d))if(i.timeSlots.size>1){a=!0;break}if(a){ae.confirm("未找到同一时段号源,无法匹配","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",showCancelButton:!1});return}t.data.forEach(i=>{const l=p.value.find(n=>n.id===i.id);l&&(l.department_resources||(l.department_resources={}),l.department_resources.department_resources_name=i.department_resources_name,l.reservation_date=i.date,l.period_begin_time=i.begin_time,l.period_end_time=i.end_time,l.temp_plan_id=i.plan_id)}),R.value=t.data[0].department_resources_name,W.value=t.data.map(i=>i.plan_id),P.value=t.data[0].plan_id}else ae.confirm("未找到同一时段号源,无法匹配","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",showCancelButton:!1});else L.error(t.msg)})},mt=()=>{$.value=!0;const s=ue.value.find(a=>a.id===P.value);if(!s){$.value=!1;return}const e=s.date+" "+s.begin_time,t=s.date+" "+s.end_time,d=s.department_resources_name;Dt({reg_num:S.reg_num,planid:P.value}).then(a=>{var l;$.value=!1;let i=[];if(!a.status&&((l=a.data)!=null&&l.conflicts)&&(i=i.concat(a.data.conflicts.filter(n=>n.room_name!==d))),p.value.forEach(n=>{var c,m,f,_;if(n.list_status!==0||!n.temp_plan_id||!n.reservation_date||((c=n.department_resources)==null?void 0:c.department_resources_name)===d)return;const g=n.reservation_date+" "+n.period_begin_time,u=n.reservation_date+" "+n.period_end_time;g<=t&&e<=u&&(i.some(o=>o.entrust===n.entrust&&o.date===n.reservation_date)||i.push({entrust:n.entrust,date:n.reservation_date,begin_time:(m=n.period_begin_time)==null?void 0:m.substring(0,5),end_time:(f=n.period_end_time)==null?void 0:f.substring(0,5),room_name:((_=n.department_resources)==null?void 0:_.department_resources_name)||""}))}),i.length>0){let n='<table style="width:100%;border-collapse:collapse;font-size:14px;">';n+='<tr style="background:#f5f5f5;"><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">序号</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">项目名称</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">检查室</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">日期</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">时间段</td></tr>',i.forEach((r,g)=>{n+='<tr><td style="padding:4px 8px;border:1px solid #ddd;">'+(g+1)+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+r.entrust+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+(r.room_name||"")+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+r.date+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+r.begin_time+"-"+r.end_time+"</td></tr>"}),n+="</table>",Le.value=n,de.value=!0}})},Pe=s=>{if(j.length==0)return L.error("请选择检查项目"),!1;if(P.value==0||P.value==""||P.value==null)return L.error("请选择号源"),!1;let e="确定预约此时间吗?";s==2&&(e="确定改约至此时间吗?"),ae.confirm(e,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{ct(s)}).catch(()=>{})},ct=async s=>{$.value=!0;const e={};p.value.forEach(u=>{var c;!z.value.includes(u.id)&&u.temp_plan_id&&(e[u.id]={temp_plan_id:u.temp_plan_id,department_resources_name:(c=u.department_resources)==null?void 0:c.department_resources_name,reservation_date:u.reservation_date,period_begin_time:u.period_begin_time,period_end_time:u.period_end_time})}),console.log("tempPlanCache 缓存:",JSON.parse(JSON.stringify(e)));const t={};let d=!1;if(z.value.forEach(u=>{const c=p.value.find(f=>f.id===u),m=(c==null?void 0:c.temp_plan_id)||(c==null?void 0:c.roster_id);if(!m){d=!0;return}t[m]||(t[m]=[]),t[m].push(u)}),d){$.value=!1,L.error("存在未分配号源的项目,请先选择号源");return}const a=Object.keys(t);if(a.length===1){const u=Number(a[0]),c=t[u];Ze({mainlistid:c,planid:u,appointment_type:S.appointment_type,dotype:s,do_user:S.do_user,is_emergency:s==111?1:null}).then(m=>{$.value=!1,m.status?(ye.value.forEach((f,_)=>{f.label=="开启申请单pdf"&&f.value}),Ee(()=>{var o;q.value=!1;const f=[...z.value],_=p.value.filter(v=>v.list_status===0&&v.tishi_msg==="");if(_.length===0)f.forEach(v=>{const x=p.value.find(I=>I.id===v);x&&U.value.toggleRowSelection(x,!0)});else{U.value.clearSelection();const v=new Set(_.map(x=>{var I;return(I=x.department_resources)==null?void 0:I.department_resources_name}).filter(Boolean));p.value.forEach(x=>{var I;x.tishi_msg===""&&(x.list_status===0||v.has((I=x.department_resources)==null?void 0:I.department_resources_name))&&U.value.toggleRowSelection(x,!0)})}if(q.value=!0,p.value.forEach(v=>{e[v.id]&&(console.log("回填 temp_plan_id:",v.id,e[v.id].temp_plan_id),v.temp_plan_id=e[v.id].temp_plan_id,v.department_resources||(v.department_resources={}),v.department_resources.department_resources_name=e[v.id].department_resources_name,v.reservation_date=e[v.id].reservation_date,v.period_begin_time=e[v.id].period_begin_time,v.period_end_time=e[v.id].period_end_time)}),console.log("回填后 entrustTableDate:",JSON.parse(JSON.stringify(p.value.map(v=>({id:v.id,temp_plan_id:v.temp_plan_id,list_status:v.list_status}))))),setTimeout(()=>{console.log("延迟检查 temp_plan_id:",JSON.parse(JSON.stringify(p.value.map(v=>({id:v.id,temp_plan_id:v.temp_plan_id,list_status:v.list_status})))))},2e3),w.value.length>0){const v=(o=w.value[0].department_resources)==null?void 0:o.department_resources_name;v&&(R.value=v)}if(w.value.some(v=>v.list_status===0)||X(),se.value.length>0){const v=w.value.filter(x=>x.list_status===1).map(x=>x.entrust_id);v.length>0&&ze(v)}},!0)):ae.confirm(m.msg,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"error",showCancelButton:!1}).then(()=>{}).catch(()=>{})});return}const i=[],l=[],n=[];for(const u of a){const c=Number(u),m=t[u];try{const f=await Ze({mainlistid:m,planid:c,appointment_type:S.appointment_type,dotype:s,do_user:S.do_user,is_emergency:s==111?1:null});f.status?m.forEach(_=>{var o;const E=p.value.find(v=>v.id===_);if(E){const v=(E.period_begin_time?E.period_begin_time.substring(0,5):"")+"-"+(E.period_end_time?E.period_end_time.substring(0,5):"");i.push({name:E.entrust,room:((o=E.department_resources)==null?void 0:o.department_resources_name)||"",date:E.reservation_date||"",time:v}),n.push(E.entrust_id)}}):m.forEach(_=>{const E=p.value.find(o=>o.id===_);E&&l.push({name:E.entrust,msg:f.msg})})}catch{m.forEach(_=>{const E=p.value.find(o=>o.id===_);E&&l.push({name:E.entrust,msg:"请求异常"})})}}$.value=!1;let r='<table style="width:100%;border-collapse:collapse;font-size:14px;">';r+='<tr style="background:#f5f5f5;"><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">序号</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">项目名称</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">检查室</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">日期</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">时间段</td><td style="padding:4px 8px;border:1px solid #ddd;font-weight:700;">结果</td></tr>';let g=1;i.forEach(u=>{r+='<tr><td style="padding:4px 8px;border:1px solid #ddd;">'+g+++'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+u.name+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+u.room+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+u.date+'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+u.time+'</td><td style="padding:4px 8px;border:1px solid #ddd;color:green;">预约成功</td></tr>'}),l.forEach(u=>{r+='<tr><td style="padding:4px 8px;border:1px solid #ddd;">'+g+++'</td><td style="padding:4px 8px;border:1px solid #ddd;">'+u.name+'</td><td style="padding:4px 8px;border:1px solid #ddd;" colspan="3">—</td><td style="padding:4px 8px;border:1px solid #ddd;color:red;">'+u.msg+"</td></tr>"}),r+="</table>",Ue.value=r,ne.value=!0,i.length>0&&(Ee(()=>{var f;q.value=!1;const u=[...z.value],c=p.value.filter(_=>_.list_status===0&&_.tishi_msg==="");if(c.length===0)u.forEach(_=>{const E=p.value.find(o=>o.id===_);E&&U.value.toggleRowSelection(E,!0)});else{U.value.clearSelection();const _=new Set(c.map(E=>{var o;return(o=E.department_resources)==null?void 0:o.department_resources_name}).filter(Boolean));p.value.forEach(E=>{var o;E.tishi_msg===""&&(E.list_status===0||_.has((o=E.department_resources)==null?void 0:o.department_resources_name))&&U.value.toggleRowSelection(E,!0)})}if(q.value=!0,p.value.forEach(_=>{e[_.id]&&(console.log("回填 temp_plan_id:",_.id,e[_.id].temp_plan_id),_.temp_plan_id=e[_.id].temp_plan_id,_.department_resources||(_.department_resources={}),_.department_resources.department_resources_name=e[_.id].department_resources_name,_.reservation_date=e[_.id].reservation_date,_.period_begin_time=e[_.id].period_begin_time,_.period_end_time=e[_.id].period_end_time)}),console.log("回填后 entrustTableDate:",JSON.parse(JSON.stringify(p.value.map(_=>({id:_.id,temp_plan_id:_.temp_plan_id,list_status:_.list_status}))))),setTimeout(()=>{console.log("延迟检查 temp_plan_id:",JSON.parse(JSON.stringify(p.value.map(_=>({id:_.id,temp_plan_id:_.temp_plan_id,list_status:_.list_status})))))},2e3),w.value.length>0){const _=(f=w.value[0].department_resources)==null?void 0:f.department_resources_name;_&&(R.value=_)}w.value.some(_=>_.list_status===0)||X(),se.value.length>0&&ze(n)},!0),ye.value.forEach((u,c)=>{u.label=="开启申请单pdf"&&u.value}))},ft=()=>{ae.confirm("确定取消预约吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(async()=>{const s={};p.value.forEach(d=>{var a;!z.value.includes(d.id)&&d.temp_plan_id&&(s[d.id]={temp_plan_id:d.temp_plan_id,department_resources_name:(a=d.department_resources)==null?void 0:a.department_resources_name,reservation_date:d.reservation_date,period_begin_time:d.period_begin_time,period_end_time:d.period_end_time})});const e=w.value.map(d=>{var a;return{id:d.id,entrust_id:d.entrust_id,department_resources_name:((a=d.department_resources)==null?void 0:a.department_resources_name)||"",date:d.reservation_date||"",begin_time:d.period_begin_time||"",end_time:d.period_end_time||""}});te.value=!0;const t=await It({ids:w.value.map(d=>d.id),reg_num:w.value[0].reg_num,do_user:S.do_user});t.status?(L.success("取消成功"),te.value=!1,Ee(()=>{p.value.forEach(a=>{s[a.id]&&(a.temp_plan_id=s[a.id].temp_plan_id,a.department_resources||(a.department_resources={}),a.department_resources.department_resources_name=s[a.id].department_resources_name,a.reservation_date=s[a.id].reservation_date,a.period_begin_time=s[a.id].period_begin_time,a.period_end_time=s[a.id].period_end_time)});const d=e;if(d.length>0){const a=p.value.filter(i=>!d.find(l=>l.id===i.id)&&i.list_status===0&&i.temp_plan_id).map(i=>i.temp_plan_id);xe({type:"optimal_time",regnum:S.reg_num,entrustid:d.map(i=>i.entrust_id),episodeid:S.episode_id,appointment_type:S.appointment_type,items:d,occupied_plan_ids:a,scope:S.scope,do_user:S.do_user}).then(i=>{i.status&&i.data.length>0&&(i.data.forEach(l=>{const n=p.value.find(r=>r.id===l.id);n&&(n.department_resources||(n.department_resources={}),n.department_resources.department_resources_name=l.department_resources_name,n.reservation_date=l.date,n.period_begin_time=l.begin_time,n.period_end_time=l.end_time,n.temp_plan_id=l.plan_id)}),R.value=i.data[0].department_resources_name,W.value=i.data.map(l=>l.plan_id),P.value=i.data[0].plan_id)})}},!0)):(L.error(t.msg||"取消失败"),te.value=!1)})},gt=()=>{Tt({config_arrs:["开启申请单pdf","医生端打印"]}).then(s=>{s.status&&(ye.value=s.data.list,ye.value.forEach((e,t)=>{console.log(S.appointment_type),e.label=="医生端打印"&&e.value==="0"&&S.appointment_type==1&&(se.value=[])}))})},ze=s=>{const e=s||j.value,t=w.value.filter(i=>e.includes(i.entrust_id)&&i.list_status!=1);if(t.length>0){const i={0:"未预约",2:"登记",3:"完成"};fe.value=t.map(l=>({item_name:l.entrust,msg:i[l.list_status]||"未知状态"})),K.value=!0;return}const a="https://yj.dev.cjy.net.cn/api/GetCheckPdf?Dev=1&Type=group&"+e.map(i=>"OrderNoList[]="+i).join("&");fetch(a).then(i=>i.blob()).then(i=>{const l=URL.createObjectURL(i),n=document.createElement("iframe");n.style.display="none",n.src=l,n.onload=()=>{n.contentWindow.print(),URL.revokeObjectURL(l)},document.body.appendChild(n)})},xt=()=>{R.value="",Q.value=Ce(oe.value),console.log(Q.value),X()};function ht(s){const e=s.getFullYear(),t=String(s.getMonth()+1).padStart(2,"0"),d=String(s.getDate()).padStart(2,"0");return`${e}-${t}-${d}`}function Ce(s=new Date,e=15){const t=new Date(s),d=[];if(isNaN(t.getTime()))throw new Error("无效的日期格式");for(let a=0;a<e;a++){const i=new Date(t);i.setDate(t.getDate()+a);const l=ht(i);d.push(l)}return d}function Fe(s){if(!/^\d{4}-\d{2}-\d{2}$/.test(s))return!1;const t=new Date(s);return t.toString()!=="Invalid Date"&&!isNaN(t.getTime())}function bt(s,e){if(!Fe(s)||!Fe(e))return console.error("日期格式不正确,请使用 YYYY-MM-DD"),!1;const t=new Date(s);return(new Date(e)-t)/(1e3*60*60*24)>15}function Ge(){const s=new Date,e=s.getFullYear(),t=String(s.getMonth()+1).padStart(2,"0"),d=String(s.getDate()).padStart(2,"0");return`${e}-${t}-${d}`}let Ye=k(!1);return wt(()=>{Ye.value=!0,gt(),Q.value=Ce(),Ee(()=>{w.value.some(e=>e.list_status===0)||X()})}),(s,e)=>{var E;const t=J("el-alert"),d=J("el-table-column"),a=J("el-tag"),i=J("el-table"),l=J("el-button"),n=J("el-checkbox"),r=J("el-checkbox-group"),g=J("el-tooltip"),u=J("el-date-picker"),c=J("el-empty"),m=J("el-dialog"),f=J("el-icon"),_=St("loading");return D(),N("div",Nt,[h(O)?(D(),N("div",Mt,[C("div",Vt,[C("span",Bt,M(h(O).user_name),1),V("("+M(h(O).user_sex_label)+" "+M(h(O).age)+"岁)",1)]),C("div",Rt,[V(M(h(O).patient_type_label)+"号:",1),C("span",Pt,M(h(O).patient_type==0?(E=h(O).episodeid)==null?void 0:E.slice(-10):h(O).reg_num),1)]),C("div",zt,[e[19]||(e[19]=V("电话:",-1)),C("span",Yt,M(h(O).user_phone),1)]),h(O).warddesc?(D(),N("div",Ot,[e[20]||(e[20]=V("病区:",-1)),C("span",$t,M(h(O).warddesc),1)])):B("",!0),h(O).bedno?(D(),N("div",Lt,[e[21]||(e[21]=V("床号:",-1)),C("span",Ut,M(h(O).bedno),1)])):B("",!0),h(O).diagnosisName?(D(),N("div",jt,[e[22]||(e[22]=V("诊断:",-1)),C("span",Ht,M(h(O).diagnosisName),1)])):B("",!0)])):(D(),N("div",Jt," 获取患者信息失败 ")),et.value?(D(),ee(t,{key:2,type:"danger",closable:!1,"show-icon":"",style:{"margin-bottom":"8px"}},{title:b(()=>[...e[23]||(e[23]=[C("span",{style:{"font-weight":"700",color:"#f56c6c"}},"患者所有检查项目未预约至同一天,请注意是否需手动调整预约",-1)])]),_:1})):B("",!0),h(Be)?(D(),ee(t,{key:3,type:"warning",closable:!1,"show-icon":"",style:{"margin-bottom":"8px"}},{title:b(()=>[C("span",Ft,M(h(Be)),1)]),_:1})):B("",!0),h(Re)?(D(),ee(t,{key:4,type:"warning",closable:!1,"show-icon":"",style:{"margin-bottom":"8px"}},{title:b(()=>[C("span",Gt,M(h(Re)),1)]),_:1})):B("",!0),C("div",At,[qe((D(),ee(i,{data:h(p),style:{width:"100%"},"row-key":"id",ref_key:"entrustTableRef",ref:U,"row-class-name":at,onSelectionChange:dt},{default:b(()=>[y(d,{type:"selection",width:"36",selectable:it}),y(d,{prop:"tishi_msg",width:"200"},{header:b(()=>[C("div",null,[C("div",null,"共 "+M(h(p).length)+" 项,已选 "+M(h(z).length)+" 项",1),je.value>0?(D(),N("div",qt,"同检查室项目 "+M(je.value)+" 项",1)):B("",!0)])]),default:b(o=>[C("span",Wt,M(o.$index+1),1),o.row.tishi_msg!=""?(D(),N("span",Zt,M(o.row.tishi_msg),1)):(D(),N("span",Kt,"正常"))]),_:1}),y(d,{prop:"list_status",label:"预约状态",width:"80"},{default:b(o=>[o.row.list_status===0?(D(),ee(a,{key:0,class:"ml-2",type:"info"},{default:b(()=>[...e[24]||(e[24]=[V("未预约",-1)])]),_:1})):B("",!0),o.row.list_status===1?(D(),ee(a,{key:1,class:"ml-2",type:"success"},{default:b(()=>[...e[25]||(e[25]=[V("已预约",-1)])]),_:1})):B("",!0),o.row.list_status===2?(D(),ee(a,{key:2,class:"ml-2"},{default:b(()=>[...e[26]||(e[26]=[V("登记",-1)])]),_:1})):B("",!0),o.row.list_status===3?(D(),ee(a,{key:3,class:"ml-2",type:"warning"},{default:b(()=>[...e[27]||(e[27]=[V("完成",-1)])]),_:1})):B("",!0)]),_:1}),y(d,{label:"项目","show-overflow-tooltip":""},{default:b(o=>[V(M(o.row.entrust)+M(o.row.requestComment?""+o.row.requestComment+"":""),1)]),_:1}),y(d,{prop:"is_pay",label:"是否交费",width:"60",align:"center"},{default:b(o=>[o.row.is_pay==1?(D(),N("span",Qt,"是")):B("",!0),o.row.is_pay==0?(D(),N("span",Xt,"否")):B("",!0)]),_:1}),y(d,{prop:"his_is_emergency",label:"是否加急",width:"60",align:"center"},{default:b(o=>[o.row.his_is_emergency==1?(D(),N("span",ed,"是")):B("",!0),o.row.his_is_emergency==0?(D(),N("span",td,"否")):B("",!0)]),_:1}),y(d,{prop:"department_resources.department_resources_name",label:"排班",width:"220"}),y(d,{prop:"reservation_date",label:"预约日期",width:"120"}),y(d,{prop:"check_begin_time",label:"预约时间",width:"120"},{default:b(o=>[o.row.period_begin_time&&o.row.period_end_time?(D(),N("span",dd,M(o.row.period_begin_time.substring(0,5))+"~"+M(o.row.period_end_time.substring(0,5)),1)):B("",!0)]),_:1}),y(d,{prop:"limosis",label:"是否空腹",width:"60",align:"center"},{default:b(o=>[o.row.limosis==0?(D(),N("span",nd,"否")):(D(),N("span",sd,"是"))]),_:1}),y(d,{prop:"reservation_department",label:"申请科室",width:"150"}),y(d,{prop:"",label:"医嘱时间",width:"200"},{default:b(o=>[V(M(o.row.entrust_date)+" "+M(o.row.entrust_time),1)]),_:1}),y(d,{prop:"docotr",label:"申请医生",width:"80"})]),_:1},8,["data"])),[[_,h(te)]])]),C("div",ad,[C("div",id,[C("div",ld,[(D(!0),N(Te,null,Ne(h(le),(o,v)=>(D(),N("div",{key:v,class:We({"ZhenShiButton zhenshiButton_active":h(R)===o,ZhenShiButton:h(R)!==o}),onClick:x=>ot(o)},M(o),11,od))),128)),e[38]||(e[38]=C("div",{class:"shuxian"},null,-1)),He.value?(D(),ee(l,{key:0,class:"do_button",type:"danger",onClick:e[0]||(e[0]=o=>Pe(111))},{default:b(()=>[...e[28]||(e[28]=[V("加急预约",-1)])]),_:1})):B("",!0),y(l,{class:"do_button",type:"success",onClick:e[1]||(e[1]=o=>Pe(1))},{default:b(()=>[...e[29]||(e[29]=[V("预约",-1)])]),_:1}),y(l,{class:"do_button",type:"warning",onClick:e[2]||(e[2]=o=>Pe(2))},{default:b(()=>[...e[30]||(e[30]=[V("更改预约时间",-1)])]),_:1}),y(l,{class:"do_button",type:"danger",onClick:e[3]||(e[3]=o=>ft())},{default:b(()=>[...e[31]||(e[31]=[V("取消预约",-1)])]),_:1}),y(l,{onClick:e[4]||(e[4]=o=>ze())},{default:b(()=>[...e[32]||(e[32]=[V("打印申请单",-1)])]),_:1}),C("div",rd,[y(r,{modelValue:h(se),"onUpdate:modelValue":e[5]||(e[5]=o=>H(se)?se.value=o:se=o)},{default:b(()=>[y(n,{label:"1"},{default:b(()=>[...e[33]||(e[33]=[V("预约完成后打印申请单",-1)])]),_:1})]),_:1},8,["modelValue"]),y(g,{placement:"top",content:Dd,"popper-class":"tip-pre-line"},{default:b(()=>[y(n,{modelValue:h(pe),"onUpdate:modelValue":e[6]||(e[6]=o=>H(pe)?pe.value=o:pe=o)},{default:b(()=>[...e[34]||(e[34]=[V("自动选中能一起预约的检查项目",-1)])]),_:1},8,["modelValue"])]),_:1})]),y(g,{placement:"top",content:"点击此按钮,系统会推荐最近能用的时间段号源,多个检查项目可能会跨天跨时间段","popper-class":"tip-pre-line"},{default:b(()=>[y(l,{class:"do_button_recommend",type:"primary",style:{"margin-left":"20px",width:"120px"},onClick:ut},{default:b(()=>[...e[35]||(e[35]=[V("推荐最近时间号源",-1)])]),_:1})]),_:1}),y(g,{placement:"top",content:"点击此按钮,系统会推荐最近的能在同一天完成检查的号源","popper-class":"tip-pre-line"},{default:b(()=>[y(l,{class:"do_button_recommend",type:"primary",style:{width:"120px"},onClick:pt},{default:b(()=>[...e[36]||(e[36]=[V("推荐同一天号源",-1)])]),_:1})]),_:1}),y(g,{placement:"top",content:"点击此按钮,系统会推荐最近的能在同一天同一时间段完成检查的号源","popper-class":"tip-pre-line"},{default:b(()=>[y(l,{class:"do_button_recommend",type:"primary",onClick:_t},{default:b(()=>[...e[37]||(e[37]=[V("推荐同一天同一时间段号源",-1)])]),_:1})]),_:1})]),C("div",null,[y(u,{modelValue:h(oe),"onUpdate:modelValue":e[7]||(e[7]=o=>H(oe)?oe.value=o:oe=o),type:"date",placeholder:"跳转日期",onChange:e[8]||(e[8]=o=>xt())},null,8,["modelValue"])])]),qe((D(),N("div",ud,[C("table",pd,[h(w).length>0?(D(),N("tr",_d,[e[39]||(e[39]=C("td",{style:{width:"120px"}},null,-1)),(D(!0),N(Te,null,Ne(h(Q),(o,v)=>(D(),N("td",md,M(o.substring(5,10))+" "+M(Xe(o)),1))),256))])):B("",!0),h(Q).length>0&&h(ie).length>0?(D(!0),N(Te,{key:1},Ne(h(ie),(o,v)=>(D(),N("tr",{key:v,class:"table_plan_row"},[(D(!0),N(Te,null,Ne(o,(x,I)=>(D(),N("td",{key:I,class:We({planActive:h(W).includes(x.id)&&x.id!==0&&x.id,plandisable:!x.enable&&I!=="time_range"}),onClick:Y=>rt(x.id)},[I=="time_range"?(D(),N("span",fd,M(x),1)):B("",!0),C("span",null,M(x.use_count),1)],10,cd))),128))]))),128)):B("",!0)]),h(w).length==0?(D(),N("div",gd,[y(c,{description:"请选择项目"})])):B("",!0),h(w).length>0&&h(ie).length==0?(D(),N("div",xd,[y(c,{description:"暂无号源"})])):B("",!0)])),[[_,h($)]])]),y(m,{modelValue:h(K),"onUpdate:modelValue":e[10]||(e[10]=o=>H(K)?K.value=o:K=o),title:"提示",width:"500"},{footer:b(()=>[C("div",hd,[y(l,{type:"primary",onClick:e[9]||(e[9]=o=>H(K)?K.value=!1:K=!1)},{default:b(()=>[...e[40]||(e[40]=[V(" 确定 ",-1)])]),_:1})])]),default:b(()=>[e[41]||(e[41]=C("div",{style:{"margin-bottom":"12px","font-weight":"700",color:"#f56c6c"}},"以下检查暂不可打印申请单",-1)),y(i,{data:h(fe),style:{width:"100%"},"row-key":"id"},{default:b(()=>[y(d,{prop:"item_name",label:"项目名称"}),y(d,{prop:"msg",label:"异常提示"})]),_:1},8,["data"])]),_:1},8,["modelValue"]),y(m,{modelValue:h(F),"onUpdate:modelValue":e[12]||(e[12]=o=>H(F)?F.value=o:F=o),title:"提示",width:"800"},{footer:b(()=>[y(l,{type:"primary",onClick:e[11]||(e[11]=o=>H(F)?F.value=!1:F=!1)},{default:b(()=>[...e[43]||(e[43]=[V("确定",-1)])]),_:1})]),default:b(()=>[C("div",bd,[y(f,{class:"el-icon-warning",style:{color:"#e6a23c","font-size":"24px","flex-shrink":"0","margin-top":"2px"}},{default:b(()=>[y(h(Me))]),_:1}),C("div",null,[e[42]||(e[42]=C("p",{style:{margin:"0 0 12px 0","font-weight":"700"}},"最近可用的同一时间段号源数量不足,无法把当前全部检查项目预约在同一时间段,系统已经自动拆分。",-1)),C("div",{innerHTML:h(_e)},null,8,vd)])])]),_:1},8,["modelValue"]),y(m,{modelValue:h(de),"onUpdate:modelValue":e[14]||(e[14]=o=>H(de)?de.value=o:de=o),title:"时段冲突",width:"800"},{footer:b(()=>[y(l,{type:"primary",onClick:e[13]||(e[13]=o=>H(de)?de.value=!1:de=!1)},{default:b(()=>[...e[45]||(e[45]=[V("我知道了",-1)])]),_:1})]),default:b(()=>[C("div",yd,[y(f,{style:{color:"#F56C6C","font-size":"24px","flex-shrink":"0","margin-top":"2px"}},{default:b(()=>[y(h(Me))]),_:1}),C("div",null,[e[44]||(e[44]=C("p",{style:{margin:"0 0 12px 0","font-weight":"700"}}," 以下项目与当前选择的时间段存在冲突,请确认是否继续预约: ",-1)),C("div",{innerHTML:h(Le)},null,8,wd)])])]),_:1},8,["modelValue"]),y(m,{modelValue:h(ne),"onUpdate:modelValue":e[16]||(e[16]=o=>H(ne)?ne.value=o:ne=o),title:"预约结果",width:"800"},{footer:b(()=>[y(l,{type:"primary",onClick:e[15]||(e[15]=o=>H(ne)?ne.value=!1:ne=!1)},{default:b(()=>[...e[46]||(e[46]=[V("确定",-1)])]),_:1})]),default:b(()=>[C("div",Sd,[y(f,{style:{color:"#e6a23c","font-size":"24px","flex-shrink":"0","margin-top":"2px"}},{default:b(()=>[y(h(Me))]),_:1}),C("div",{innerHTML:h(Ue)},null,8,kd)])]),_:1},8,["modelValue"]),y(m,{modelValue:h(Z),"onUpdate:modelValue":e[18]||(e[18]=o=>H(Z)?Z.value=o:Z=o),title:"预约推荐结果",width:"800"},{footer:b(()=>[y(l,{type:"primary",onClick:e[17]||(e[17]=o=>H(Z)?Z.value=!1:Z=!1)},{default:b(()=>[...e[47]||(e[47]=[V("确定",-1)])]),_:1})]),default:b(()=>[C("div",Ed,[y(f,{style:{color:"#e6a23c","font-size":"24px","flex-shrink":"0","margin-top":"2px"}},{default:b(()=>[y(h(Me))]),_:1}),C("div",{innerHTML:h(Se)},null,8,Cd)])]),_:1},8,["modelValue"])])}}},Nd=yt(Id,[["__scopeId","data-v-d139f6fe"]]);export{Nd as Y};