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
47 KiB
JavaScript

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