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

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