Mini Shell

Direktori : /home/ukubnwwt/viewer.ukubona.cloud/assets/
Upload File :
Current File : /home/ukubnwwt/viewer.ukubona.cloud/assets/ModelView-ceFqhXzw.js

import{_ as w,f as I,g as T,h as k,a as f,i as l,o as c,c as i,b as s,t as _,j as h,k as g,w as D,v as O,F as b,r as y,n as v,d as p,p as x,e as F}from"./index-CdX6TsVf.js";import{r as C,m as P,c as M,e as S}from"./AMER_US_GI_CLI-P_Slim Linear_08.2017-BW0ZLX2u.js";const N={data(){return{img2:I,img1:T,moment:k,radiology:C,microscopy:P,cardiology:M,endoscopy:S,selectedFile:null,filesData:null,showFileTableLoader:!1,userData:null,modelResultReady:!1}},mounted(){this.$root.loadScripts(),this.getFiles(),this.getUserData()},methods:{redirectTo(o){this.$router.push(o)},async refreshToken(o){try{const t=await this.$http.post("api/token/refresh",{refresh:this.$store.state.refresh});t.data.access?(this.$store.commit("setAccess",t.data.access),f.defaults.headers.common.Authorization=`Bearer ${t.data.access}`,await o()):this.$router.push("/login")}catch(t){console.error("Failed to refresh token",t),this.$router.push("/login")}},async getUserData(){this.$root.isLoading=!0;try{const o=await this.$http.get("accounts/userdata");this.userData=o.data,this.$root.profileInfo={name:this.userData.first_name,image:this.userData.profile_image_url},this.$root.isLoading=!1}catch(o){if(this.$root.isLoading=!1,o.response){const t=o.response.status;t===401?await this.refreshToken(this.getUserData):(console.error(`Error ${t}: ${o.response.data.message}`),l.error(`Error ${t}: ${o.response.data.message}`,{autoClose:3e3,position:l.POSITION.TOP_RIGHT}))}else o.request?(console.error("No response received:",o.request),l.error("No response received. Please try again later.",{autoClose:3e3,position:l.POSITION.TOP_RIGHT})):(console.error("Error",o),l.error(`Error: ${o.message}`,{autoClose:3e3,position:l.POSITION.TOP_RIGHT}))}},async useModel(o){if(!this.selectedFile){alert("Please select a file to use the model");return}const t={fileUUID:this.selectedFile.uuid,model_name:o};try{await f.post("api/v1/model",t).then(n=>{console.log("Model used successfully",n.data),l.info("AI Model request is Processing",{autoClose:3e3,position:l.POSITION.TOP_RIGHT}),this.modelResultReady=!0,this.modelResult=n.data.data})}catch(n){if(this.$root.isLoading=!1,n.response){const d=n.response.status;d===401?await this.refreshToken(this.useModel):(console.error(`Error ${d}: ${n.response.data.message}`),l.error(`Error ${d}: ${n.response.data.message}`,{autoClose:3e3,position:l.POSITION.TOP_RIGHT}))}else n.request?(console.error("No response received:",n.request),l.error("No response received. Please try again later.",{autoClose:3e3,position:l.POSITION.TOP_RIGHT})):(console.error("Error",n),l.error(`Error: ${n.message}`,{autoClose:3e3,position:l.POSITION.TOP_RIGHT}))}},async getFiles(o=null,t=null){this.showFileTableLoader=!0;let n={};try{o&&(n.page=o),t&&(n.search=t),console.log("herte",o),await this.$http.get("api/v1/files",{params:n}).then(d=>{const e=d.data;e.status&&(this.filesData=e,this.showFileTableLoader=!1)})}catch(d){if(this.showFileTableLoader=!1,d.response){const e=d.response.status;e===401?await this.refreshToken(this.getFiles):(console.error(`Error ${e}: ${d.response.data.message}`),l.error(`Error ${e}: ${d.response.data.message}`,{autoClose:3e3,position:l.POSITION.TOP_RIGHT}))}else d.request?(console.error("No response received:",d.request),l.error("No response received. Please try again later.",{autoClose:3e3,position:l.POSITION.TOP_RIGHT})):(console.error("Error",d),l.error(`Error: ${d.message}`,{autoClose:3e3,position:l.POSITION.TOP_RIGHT}))}}}},r=o=>(x("data-v-cbc0471c"),o=o(),F(),o),R={class:"home"},E={class:"container"},A={key:0},L=r(()=>s("div",{class:"heading flex1"},[s("h3",null," AI Models"),s("p",null,"Dashboard / Models")],-1)),H={class:"content flex"},U={class:"content_left"},G={class:"top"},V={class:"wlecome flex1"},q=r(()=>s("div",{class:"text"},[s("h3",null,"Welcome Back !"),s("label",null,"Ukubona Dashboard")],-1)),Y={class:"img"},z=["src"],B={key:0,class:"profile flex1"},j={class:"box"},W={class:"image"},J=["src"],K={class:"text"},Q={key:0,class:"box"},X=r(()=>s("label",null,"Saved FIles",-1)),Z=r(()=>s("br",null,null,-1)),$=r(()=>s("button",null,[g(" View Profile "),s("i",{class:"fas fa-chevron-down"})],-1)),ss={class:"content_right"},es={class:"right_top grid"},ts={class:"rbox flex1"},os={class:"text"},as=r(()=>s("h4",null,"total AI Results",-1)),ls={key:0},cs={key:1},is=r(()=>s("div",{class:"icon"},[s("span",{class:"material-icons"}," folder_copy ")],-1)),rs={class:"rbox flex1"},ns={class:"text"},ds=r(()=>s("h4",null,"Available AI models",-1)),_s=r(()=>s("div",{class:"icon"},[s("span",{class:"material-icons"}," file_download ")],-1)),hs={class:"home",style:{"margin-top":"3rem"}},us={class:"container"},ps={key:0,class:"img-container"},vs={style:{color:"var(--dark)"}},gs={style:{color:"var(--primary)"}},ms={class:"imgbox"},fs=["src"],bs={key:1,class:"model-view-button",style:{width:"100%","text-align":"center"}},ys={class:"heading flex1"},ws=r(()=>s("h3",{style:{"font-size":"22px","font-weight":"600"}},"Available Models",-1)),Is={key:0,style:{color:"#e32"}},Ts={key:0,class:"cards"},ks={class:"card"},Ds=["src"],Os={class:"card__overlay"},xs=p('<div class="card__header" data-v-cbc0471c><svg class="card__arc" xmlns="http://www.w3.org/2000/svg" data-v-cbc0471c><path data-v-cbc0471c></path></svg><div class="card__header-text" data-v-cbc0471c><h3 class="card__title" data-v-cbc0471c>Cardiomegaly Model</h3></div></div><p class="card__description" data-v-cbc0471c>AI model to detect region of cardiomegaly using gradcam.</p><p class="card__description" data-v-cbc0471c>Model Accuracy: 98%</p>',3),Fs={href:"",class:"card"},Cs=r(()=>s("img",{src:"https://images.pexels.com/photos/9891863/pexels-photo-9891863.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1",class:"card__image",alt:""},null,-1)),Ps={class:"card__overlay"},Ms=p('<div class="card__header" data-v-cbc0471c><svg class="card__arc" xmlns="http://www.w3.org/2000/svg" data-v-cbc0471c><path data-v-cbc0471c></path></svg><div class="card__header-text" data-v-cbc0471c><h3 class="card__title" data-v-cbc0471c>Malaria Parasite</h3></div></div><p class="card__description" data-v-cbc0471c>AI model to classify between parasite or uninfected</p><p class="card__description" data-v-cbc0471c>Model Accuracy: 98%</p>',3),Ss={href:"",class:"card"},Ns=["src"],Rs=p('<div class="card__overlay" data-v-cbc0471c><div class="card__header" data-v-cbc0471c><svg class="card__arc" xmlns="http://www.w3.org/2000/svg" data-v-cbc0471c><path data-v-cbc0471c></path></svg><div class="card__header-text" data-v-cbc0471c><h3 class="card__title" data-v-cbc0471c>MICROSCOPY</h3></div></div><p class="card__description" data-v-cbc0471c>Model Accuracy: 98%</p></div>',1),Es={href:"",class:"card"},As=["src"],Ls=p('<div class="card__overlay" data-v-cbc0471c><div class="card__header" data-v-cbc0471c><svg class="card__arc" xmlns="http://www.w3.org/2000/svg" data-v-cbc0471c><path data-v-cbc0471c></path></svg><div class="card__header-text" data-v-cbc0471c><h3 class="card__title" data-v-cbc0471c>CARDIOLOGY</h3></div></div><p class="card__description" data-v-cbc0471c>Model Accuracy: 98%</p></div>',1),Hs={href:"",class:"card"},Us=["src"],Gs=p('<div class="card__overlay" data-v-cbc0471c><div class="card__header" data-v-cbc0471c><svg class="card__arc" xmlns="http://www.w3.org/2000/svg" data-v-cbc0471c><path data-v-cbc0471c></path></svg><div class="card__header-text" data-v-cbc0471c><h3 class="card__title" data-v-cbc0471c>ENDOSCOPY</h3></div></div><p class="card__description" data-v-cbc0471c>Model Accuracy: 98%</p></div>',1),Vs=r(()=>s("section",{class:"models"},null,-1)),qs={class:"table"},Ys={class:"container"},zs={class:"top-level"},Bs={class:"left"},js=r(()=>s("h3",null,"Uploaded Files",-1)),Ws={class:"search-button"},Js=r(()=>s("div",{class:"right"},[s("span",{class:"delete"},[s("i",{class:"fa-solid fa-trash"})])],-1)),Ks=r(()=>s("thead",null,[s("tr",null,[s("th",null,[s("input",{type:"checkbox"})]),s("th",null,"File Name"),s("th",null,"File Size"),s("th",null,"Uploaded"),s("th",null,"File Description"),s("th")])],-1)),Qs={key:0,style:{position:"relative"}},Xs=r(()=>s("td",null,[s("input",{type:"checkbox"})],-1)),Zs=["onClick"],$s=r(()=>s("td",null,null,-1)),se={key:0,class:"loading table"},ee=r(()=>s("div",{class:"loader"},null,-1)),te=[ee],oe={key:1},ae={key:0,class:"pagination"},le=["onClick"];function ce(o,t,n,d,e,u){return c(),i("main",null,[s("section",R,[s("div",E,[e.userData?(c(),i("h3",A,_(e.userData.hospital.name),1)):h("",!0),L,s("div",H,[s("div",U,[s("div",G,[s("div",V,[q,s("div",Y,[s("img",{src:e.img2,alt:""},null,8,z)])]),e.userData?(c(),i("div",B,[s("div",j,[s("div",W,[s("img",{src:e.userData.profile_image_url,alt:""},null,8,J)]),s("div",K,[s("p",null,_(e.userData.last_name)+" "+_(e.userData.first_name),1),s("label",null,_(e.userData.role),1)])]),e.userData?(c(),i("div",Q,[s("p",null,_(e.userData.saved_files),1),X,g(),Z,$])):h("",!0)])):h("",!0)])]),s("div",ss,[s("div",es,[s("div",ts,[s("div",os,[as,e.userData?(c(),i("h2",ls,_(e.userData.total_scans),1)):(c(),i("h2",cs,"..."))]),is]),s("div",rs,[s("div",ns,[ds,s("h2",null,_(o.$store.state.total_models),1)]),_s])])])])])]),s("section",hs,[s("div",us,[e.selectedFile?(c(),i("div",ps,[s("h3",vs,[g("Selected File:"),s("span",gs,_(e.selectedFile.fileName),1)]),s("div",ms,[s("img",{src:e.selectedFile.getFileURL,alt:"",style:{background:"var(--light)"}},null,8,fs)])])):h("",!0),e.modelResultReady?(c(),i("div",bs,[s("button",{type:"button",style:{"font-size":"14px","font-weight":"400px",cursor:"pointer !important"},onClick:t[0]||(t[0]=a=>u.redirectTo("/results"))},"View Model Results")])):h("",!0),s("div",ys,[ws,e.selectedFile?h("",!0):(c(),i("h3",Is,"SELECT A FILE BEFORE CHOOSING A MODEL"))])]),e.selectedFile?(c(),i("ul",Ts,[s("li",null,[s("span",ks,[s("img",{src:e.radiology,class:"card__image",alt:""},null,8,Ds),s("div",Os,[xs,s("button",{type:"button",class:"model-button",onClick:t[1]||(t[1]=a=>u.useModel("cardimegaly_mobilenet"))},"Use Model")])])]),s("li",null,[s("a",Fs,[Cs,s("div",Ps,[Ms,s("button",{type:"button",class:"model-button",onClick:t[2]||(t[2]=a=>u.useModel("malaria"))},"Use Model")])])]),s("li",null,[s("a",Ss,[s("img",{src:e.microscopy,class:"card__image",alt:""},null,8,Ns),Rs])]),s("li",null,[s("a",Es,[s("img",{src:e.cardiology,class:"card__image",alt:""},null,8,As),Ls])]),s("li",null,[s("a",Hs,[s("img",{src:e.endoscopy,class:"card__image",alt:""},null,8,Us),Gs])])])):h("",!0)]),Vs,s("section",qs,[s("div",Ys,[s("div",zs,[s("div",Bs,[js,D(s("input",{type:"search",name:"",id:"",placeholder:"search files","onUpdate:modelValue":t[3]||(t[3]=a=>o.searchText=a)},null,512),[[O,o.searchText]]),s("span",Ws,[s("i",{class:"fa-solid fa-magnifying-glass",onClick:t[4]||(t[4]=a=>u.getFiles(null,o.searchText))})])]),Js]),s("table",null,[Ks,e.filesData?(c(),i("tbody",Qs,[(c(!0),i(b,null,y(e.filesData.data,a=>(c(),i("tr",{key:a},[Xs,s("td",null,_(a.fileName),1),s("td",null,_(a.fileSize),1),s("td",null,_(e.moment(`${a.dateUploaded}`).format("DD MMM, YYYY . HH:MM:SS")),1),s("td",null,_(a.fileDescription.slice(0,15))+"...",1),s("td",null,[e.selectedFile&&e.selectedFile.uuid==a.uuid?(c(),i("button",{key:0,onClick:t[5]||(t[5]=m=>e.selectedFile=null),style:{"background-color":"var(--success)"}},"Selected")):(c(),i("button",{key:1,onClick:m=>e.selectedFile=a},"Select File",8,Zs))]),$s]))),128)),e.showFileTableLoader?(c(),i("div",se,te)):h("",!0)])):(c(),i("tbody",oe))]),e.filesData?(c(),i("div",ae,[s("ul",null,[s("li",null,[s("i",{class:v(["fas fa-chevron-left",{disabled:e.filesData.pagination.current_page<=1}]),onClick:t[6]||(t[6]=a=>u.getFiles(e.filesData.pagination.current_page-1))},null,2)]),(c(!0),i(b,null,y(e.filesData.pagination.total_pages,(a,m)=>(c(),i("li",{key:a,class:v({active:e.filesData.pagination.current_page==a}),onClick:ie=>u.getFiles(a)},[s("span",null,_(a),1)],10,le))),128)),s("li",null,[s("i",{class:v(["fas fa-chevron-right",{disabled:e.filesData.pagination.current_page>=e.filesData.pagination.total_pages}]),onClick:t[7]||(t[7]=a=>u.getFiles(e.filesData.pagination.current_page+1))},null,2)])])])):h("",!0)])])])}const de=w(N,[["render",ce],["__scopeId","data-v-cbc0471c"]]);export{de as default};