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