import{_ as e,r as a,y as l,T as t,aQ as s,R as n,z as c,A as o,c as i,w as u,D as r,aR as d,i as f,$ as v,Y as p,W as _,a as m,e as g,b as y,t as h,f as b,h as w,F as k,d as x,k as S,x as C,S as $,B as z,p as j,n as F,K as T,a5 as P,aS as R,L as D,ac as I,a6 as N,G as U}from"./index-Bf8mw6fQ.js";import{u as V}from"./dict.CvR3iV48.js";const A=e({__name:"index",setup(e){const A=a(!1),B=a(!1),L=a(!0),M=a(1),Y=a(10),G=a({}),H=a("all"),K=a(""),Q=a({count:0,throughCount:0,rejectCount:0,waiveCount:0}),W=a([]),q=a(0),E=a([{label:"全部",value:"all"},{label:"待审查",value:"pending"},{label:"审查通过",value:"approved"},{label:"审查驳回",value:"rejected"},{label:"已放弃",value:"abandoned"}]),J={0:"未审核",1:"审查通过",2:"审查驳回",3:"放弃",4:"修改后同意"},O=(e,a)=>{if(!G.value[e]||!a)return"";const l=G.value[e].find(e=>e.dictValue==String(a));return l?l.dictLabel:a},X=e=>{if(!e.age)return"未知";const a=O("sys_AgeUnit",e.ageunit)||"岁";return`${e.age}${a}`},Z=e=>{if(!e)return"";const a=new Date(e);return`${a.getFullYear()}-${(a.getMonth()+1).toString().padStart(2,"0")}-${a.getDate().toString().padStart(2,"0")} ${a.getHours().toString().padStart(2,"0")}:${a.getMinutes().toString().padStart(2,"0")}`},ee=e=>0==e.receiveStatus?"待推送":1==e.receiveStatus?"未阅读":2==e.receiveStatus?"已阅读":3==e.receiveStatus?"超时":4==e.receiveStatus?"中止":5==e.receiveStatus?"完成":(e.receiveStatus||e.receiveStatus,"待推送"),ae=e=>0==e.receiveStatus||1==e.receiveStatus?"abandoned":2==e.receiveStatus?"pending":3==e.receiveStatus||4==e.receiveStatus?"unknown":5==e.receiveStatus?"approved":e.receiveStatus||0===e.receiveStatus?"unknown":"pending",le=()=>{se()},te=()=>{H.value="all",K.value="",se()},se=()=>{M.value=1,L.value=!0,oe()},ne=async()=>{B.value=!0,await se(),B.value=!1},ce=async()=>{L.value&&!A.value&&(M.value++,await oe(!0))},oe=async(e=!1)=>{if(!A.value){A.value=!0;try{const a=(()=>{const e={pageNum:M.value,pageSize:Y.value};if(K.value&&(e.name=K.value),"all"!==H.value)switch(H.value){case"pending":e.expertconclusion=null;break;case"approved":e.expertconclusion=1;break;case"rejected":e.expertconclusion=2;break;case"abandoned":e.expertconclusion=3}return e})(),l=await uni.$uapi.get("/project/ethicalreviewopinions/listnew",a);if(console.log(l,"11"),200==l.code){const a=l.rows||[],t=l.total||0;W.value=e?[...W.value,...a]:a,console.log(W.value,"reviewList.value"),q.value=t,L.value=W.value.length<t}else r({title:l.msg||"加载失败",icon:"none"})}catch(a){console.error("加载案例数据失败:",a),r({title:"数据加载失败,请重试",icon:"none"})}finally{A.value=!1,d()}}},ie=e=>{F({url:`/pages/ethicalReview/ethicalInfo?fcid=${e.fcid}&type=review&status=${e.expertconclusion||"pending"}&id=${e.id}`})};return l(async()=>{G.value=await V("sys_IDType","sys_user_sex","sys_Nation","sys_BloodType","sys_Infectious","sys_AgeUnit","ReviewForm_status","sys_ethical","expert_Conclusion"),await oe(),await(async()=>{const e=await uni.$uapi.get("/project/ethicalreviewopinions/stateTotal");200==e.code&&(Q.value=e.data[0])})()}),t(()=>{se()}),s(()=>{ne()}),n(()=>{ce()}),(e,a)=>{const l=S,t=f,s=c(o("u-input"),v),n=c(o("u-icon"),p),d=C,V=c(o("u-loading-icon"),_),M=$;return m(),i(t,{class:"ethics-review-list"},{default:u(()=>[g(t,{class:"stats-card"},{default:u(()=>[g(t,{class:"stat-item"},{default:u(()=>[g(l,{class:"count"},{default:u(()=>[y(h(Q.value.count),1)]),_:1}),g(l,{class:"label"},{default:u(()=>[y("总审查量")]),_:1})]),_:1}),g(t,{class:"divider"}),g(t,{class:"stat-item"},{default:u(()=>[g(l,{class:"count"},{default:u(()=>[y(h(Q.value.throughCount),1)]),_:1}),g(l,{class:"label"},{default:u(()=>[y("审查通过")]),_:1})]),_:1}),g(t,{class:"divider"}),g(t,{class:"stat-item"},{default:u(()=>[g(l,{class:"count"},{default:u(()=>[y(h(Q.value.rejectCount),1)]),_:1}),g(l,{class:"label"},{default:u(()=>[y("审查驳回")]),_:1})]),_:1}),g(t,{class:"divider"}),g(t,{class:"stat-item"},{default:u(()=>[g(l,{class:"count"},{default:u(()=>[y(h(Q.value.waiveCount),1)]),_:1}),g(l,{class:"label"},{default:u(()=>[y("已放弃")]),_:1})]),_:1})]),_:1}),g(t,{class:"filter-bar"},{default:u(()=>[g(t,{class:"status-filter"},{default:u(()=>[(m(!0),b(k,null,w(E.value,e=>(m(),i(l,{key:e.value,class:z({active:H.value==e.value}),onClick:a=>(e=>{H.value=e,se()})(e.value)},{default:u(()=>[y(h(e.label),1)]),_:2},1032,["class","onClick"]))),128))]),_:1}),g(t,{class:"search-filter"},{default:u(()=>[g(s,{modelValue:K.value,"onUpdate:modelValue":a[0]||(a[0]=e=>K.value=e),placeholder:"搜索捐献者姓名或住院号","prefix-icon":"search",clearable:"",onConfirm:le},null,8,["modelValue"])]),_:1})]),_:1}),g(M,{"scroll-y":"",class:"review-list","refresher-enabled":"","refresher-triggered":B.value,onRefresherrefresh:ne,onScrolltolower:ce},{default:u(()=>[(m(!0),b(k,null,w(W.value,(e,a)=>(m(),i(t,{key:e.id||a,class:"review-item card",onClick:a=>ie(e)},{default:u(()=>[g(t,{class:"review-header"},{default:u(()=>[g(t,{class:"case-info"},{default:u(()=>[g(t,{class:"hospital-badge"},{default:u(()=>[g(n,{name:"order",size:"16",color:"#fff"})]),_:1}),g(t,{class:"info-content"},{default:u(()=>[g(l,{class:"donor-name"},{default:u(()=>[y(h(e.name||"未填写姓名"),1)]),_:2},1024),g(l,{class:"hospital-no"},{default:u(()=>[y(h(e.inpatientno||"无住院号"),1)]),_:2},1024),e.expertname?(m(),i(l,{key:0,class:"expert-type"},{default:u(()=>[y(" 专家: "+h(e.expertname),1)]),_:2},1024)):x("",!0)]),_:2},1024)]),_:2},1024),g(t,{class:z(["status-tag",ae(e)])},{default:u(()=>[y(h(ee(e)),1)]),_:2},1032,["class"])]),_:2},1024),g(t,{class:"basic-info"},{default:u(()=>[g(t,{class:"info-row"},{default:u(()=>[g(t,{class:"info-col"},{default:u(()=>[g(l,{class:"info-label"},{default:u(()=>[y("性别/年龄")]),_:1}),g(l,{class:"info-value"},{default:u(()=>[y(h(1==e.sex?"男":"女")+"/"+h(X(e)),1)]),_:2},1024)]),_:2},1024),g(t,{class:"info-col"},{default:u(()=>[g(l,{class:"info-label"},{default:u(()=>[y("血型")]),_:1}),g(l,{class:"info-value"},{default:u(()=>[y(h(O("sys_BloodType",e.bloodtype)||"未知"),1)]),_:2},1024)]),_:2},1024),g(t,{class:"info-col"},{default:u(()=>[g(l,{class:"info-label"},{default:u(()=>[y("疾病诊断")]),_:1}),g(l,{class:"info-value"},{default:u(()=>[y(h(e.diagnosisname||"未填写"),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024),g(t,{class:"review-details"},{default:u(()=>[e.createTime?(m(),i(t,{key:0,class:"detail-item"},{default:u(()=>[g(n,{name:"clock",size:"14",color:"#909399"}),g(l,{class:"detail-text"},{default:u(()=>[y("创建时间:"+h(Z(e.createTime)),1)]),_:2},1024)]),_:2},1024)):x("",!0),e.conclusiontime?(m(),i(t,{key:1,class:"detail-item"},{default:u(()=>[g(n,{name:"checkmark-circle",size:"14",color:"#909399"}),g(l,{class:"detail-text"},{default:u(()=>[y("审查时间:"+h(Z(e.conclusiontime)),1)]),_:2},1024)]),_:2},1024)):x("",!0),e.expertname?(m(),i(t,{key:2,class:"detail-item"},{default:u(()=>[g(n,{name:"account",size:"14",color:"#909399"}),g(l,{class:"detail-text"},{default:u(()=>[y("审查人:"+h(e.expertname),1)]),_:2},1024)]),_:2},1024)):x("",!0)]),_:2},1024),e.expertconclusion&&2!==e.expertconclusion?(m(),i(t,{key:0,class:"conclusion-section"},{default:u(()=>[g(l,{class:"conclusion-label"},{default:u(()=>[y("审查结论:")]),_:1}),g(l,{class:"conclusion-content"},{default:u(()=>{return[y(h((a=e.expertconclusion,J[a]||"未知结论")),1)];var a}),_:2},1024)]),_:2},1024)):x("",!0),e.expertopinion?(m(),i(t,{key:1,class:"opinion-section"},{default:u(()=>[g(l,{class:"opinion-label"},{default:u(()=>[y("专家意见:")]),_:1}),g(l,{class:"opinion-content"},{default:u(()=>[y(h(e.expertopinion),1)]),_:2},1024)]),_:2},1024)):x("",!0),g(t,{class:"action-buttons"},{default:u(()=>[g(d,{class:"action-btn detail-btn",onClick:j(a=>ie(e),["stop"])},{default:u(()=>[g(n,{name:"eye",size:"14",color:"#747CF9"}),g(l,null,{default:u(()=>[y("查看详情")]),_:1})]),_:2},1032,["onClick"]),1==e.expertconclusion?(m(),i(d,{key:0,class:"action-btn download-btn",onClick:j(a=>(async e=>{if(e.conclusionannex)try{const a=e.conclusionannex.split(";").filter(e=>e.trim());if(0==a.length)return void r({title:"暂无报告可下载",icon:"none"});T({title:"下载中...",mask:!0});const l=a[0];P({url:l,success:e=>{if(200==e.statusCode){const a=e.tempFilePath;R({tempFilePath:a,success:e=>{D(),r({title:"下载成功",icon:"success",duration:2e3}),"weixin"==I().platform&&N({filePath:e.savedFilePath,showMenu:!0,success:()=>{console.log("打开文档成功")},fail:e=>{console.error("打开文档失败",e)}})},fail:e=>{D(),r({title:"保存文件失败",icon:"error",duration:2e3})}})}else D(),r({title:"下载失败",icon:"error",duration:2e3})},fail:e=>{D(),r({title:"下载失败",icon:"error",duration:2e3}),console.error("下载文件失败:",e)}}).onProgressUpdate(e=>{console.log("下载进度:",e.progress)})}catch(a){D(),console.error("下载报告失败:",a),r({title:"下载失败",icon:"error",duration:2e3})}else r({title:"暂无报告可下载",icon:"none"})})(e),["stop"])},{default:u(()=>[g(n,{name:"download",size:"14",color:"#52c41a"}),g(l,null,{default:u(()=>[y("下载报告")]),_:1})]),_:2},1032,["onClick"])):x("",!0),2==e.expertconclusion?(m(),i(d,{key:1,class:"action-btn appeal-btn",onClick:j(a=>(e=>{F({url:`/pages/ethics/appeal?id=${e.fcid||e.id}&caseNo=${e.caseNo||""}&name=${e.name||""}`})})(e),["stop"])},{default:u(()=>[g(n,{name:"arrow-up",size:"14",color:"#fa8c16"}),g(l,null,{default:u(()=>[y("提起申诉")]),_:1})]),_:2},1032,["onClick"])):x("",!0),2==e.expertconclusion||3==e.expertconclusion?(m(),i(d,{key:2,class:"action-btn restart-btn",onClick:j(a=>(async e=>{U({title:"重新开始审查",content:"确定要重新开始这个审查流程吗?",success:async a=>{if(a.confirm)try{T({title:"处理中...",mask:!0});const a=await uni.$uapi.put(`/project/ethicalreviewopinions/reset/${e.fcid||e.id}`);D(),200==a.code?(r({title:"审查已重新开始",icon:"success",duration:2e3}),se()):r({title:a.msg||"操作失败",icon:"none",duration:2e3})}catch(l){D(),console.error("重新开始审查失败:",l),r({title:"操作失败",icon:"error",duration:2e3})}}})})(e),["stop"])},{default:u(()=>[g(n,{name:"play-circle",size:"14",color:"#747CF9"}),g(l,null,{default:u(()=>[y("重新开始")]),_:1})]),_:2},1032,["onClick"])):x("",!0)]),_:2},1024)]),_:2},1032,["onClick"]))),128)),g(V,{show:A.value,text:"加载中..."},null,8,["show"]),A.value||0!=W.value.length?x("",!0):(m(),i(t,{key:0,class:"empty-state"},{default:u(()=>[g(t,null,{default:u(()=>[y(h(A.value)+"-"+h(W.value.length),1)]),_:1}),g(n,{name:"file-remove",size:"80",color:"#C0C4CC"}),g(l,{class:"empty-text"},{default:u(()=>[y("暂无审查记录")]),_:1}),g(l,{class:"empty-desc"},{default:u(()=>[y("当前筛选条件下没有找到相关记录")]),_:1}),g(d,{class:"empty-action",onClick:te},{default:u(()=>[g(l,null,{default:u(()=>[y("重置筛选条件")]),_:1})]),_:1})]),_:1})),!L.value&&W.value.length>0?(m(),i(t,{key:1,class:"load-complete"},{default:u(()=>[g(l,null,{default:u(()=>[y("已加载全部数据")]),_:1})]),_:1})):x("",!0)]),_:1},8,["refresher-triggered"])]),_:1})}}},[["__scopeId","data-v-eeeb91ef"]]);export{A as default};
|