mirror of
https://github.com/beak-insights/felicity-lims.git
synced 2025-02-24 08:53:00 +08:00
1 line
16 KiB
JavaScript
1 line
16 KiB
JavaScript
import{d as te,b0 as oe,P as le,a8 as ne,an as ae,r as C,U as v,A as q,B as ie,o as a,g as i,h as e,F as p,z as _,H as y,j as o,w as k,t as c,l as re,y as u,k as L,D as de,E as $,i as h,v as T,R as w,ai as ce,I as me,a5 as ue,a6 as pe,b1 as _e,b2 as he,ak as fe,_ as ve}from"./index-cd9e6ac8.js";const n=S=>(ue("data-v-d68ffb27"),S=S(),pe(),S),ye={class:"mt-4"},ge={class:"flex items-center"},be=n(()=>e("h1",{class:"h1 my-4 font-bold text-dark-700"},"WorkSheet Templates",-1)),xe=n(()=>e("hr",null,null,-1)),we={class:"grid grid-cols-12 gap-4 mt-2"},ke={class:"col-span-3"},Te={class:"overflow-y-scroll overscroll-contain scroll-section"},Se=["onClick"],Ue=["onClick"],Ce={key:0,class:"col-span-9 overflow-y-scroll overscroll-contain scroll-section"},We={class:"bg-white rounded-sm shadow-sm hover:shadow-lg duration-500 px-4 sm:px-6 md:px-2 py-4"},Ee={class:"grid grid-cols-12 gap-3"},Ve={class:"col-span-12 px-3 sm:px-0"},Ae={class:"flex justify-between sm:text-sm md:text-md lg:text-lg text-gray-700 font-bold"},Re=n(()=>e("svg",{class:"w-4 h-4 fill-current",viewBox:"0 0 20 20"},[e("path",{d:"M13.586 3.586a2 2 0 112.828 2.828l-.793.793-2.828-2.828.793-.793zM11.379 5.793L3 14.172V17h2.828l8.38-8.379-2.83-2.828z"})],-1)),je=[Re],Ie=n(()=>e("hr",null,null,-1)),Me={class:"grid grid-cols-2 mt-2"},Oe={class:"col-span-1"},De={class:"flex"},qe=n(()=>e("span",{class:"text-gray-800 text-sm font-medium w-1/2"},"Instrument:",-1)),Le={class:"text-gray-600 text-sm md:text-md"},$e={class:"flex"},Pe=n(()=>e("span",{class:"text-gray-800 text-sm font-medium w-1/2"},"Analyses Service:",-1)),Qe={class:"text-gray-600 text-sm md:text-md ml-1"},Be={class:"col-span-1"},Ne={class:"flex"},Fe=n(()=>e("span",{class:"text-gray-800 text-sm font-medium w-1/2"},"Number of Samples:",-1)),Ke={class:"text-gray-600 text-sm md:text-md"},ze={class:"flex"},He=n(()=>e("span",{class:"text-gray-800 text-sm font-medium w-1/2"},"Number of Reserved:",-1)),Ge={class:"text-gray-600 text-sm md:text-md"},Je=n(()=>e("hr",{class:"my-4"},null,-1)),Xe={class:"grid grid-cols-2 mt-2"},Ye={class:"col-span-1"},Ze={class:"flex w-full"},es=n(()=>e("span",{class:"text-gray-800 text-sm font-medium w-1/2"},"WorkSheet type",-1)),ss={class:"text-gray-600 text-sm md:text-md"},ts={key:0,class:"flex w-full"},os=n(()=>e("span",{class:"text-gray-800 text-sm font-medium w-1/2"},"Direction:",-1)),ls={class:"text-gray-600 text-sm md:text-md"},ns={key:0,class:"col-span-1"},as={class:"flex w-full"},is=n(()=>e("span",{class:"text-gray-800 text-sm font-medium w-1/2"},"Rows:",-1)),rs={class:"text-gray-600 text-sm md:text-md"},ds={class:"flex w-full"},cs=n(()=>e("span",{class:"text-gray-800 text-sm font-medium w-1/2"},"Columns:",-1)),ms={class:"text-gray-600 text-sm md:text-md"},us={class:"bg-white shadow-md mt-2"},ps={class:"-mb-px flex justify-start"},_s=["onClick"],hs={class:"mt-4"},fs={key:0},vs=n(()=>e("h3",{class:"my-4"},"WorkSheet Layout Preview",-1)),ys=n(()=>e("hr",{class:"my-2"},null,-1)),gs={key:0},bs={class:"grid grid-cols-6 gap-x-2 w-1/2"},xs={class:"col-span-1 my-1"},ws={key:1},ks={action:"post",class:"p-1"},Ts={class:"grid grid-cols-3 gap-x-4 mb-4"},Ss={class:"block col-span-2 mb-2"},Us=n(()=>e("span",{class:"text-gray-700"},"Template Name",-1)),Cs={class:"block col-span-1 mb-2"},Ws=n(()=>e("span",{class:"text-gray-700"},"Number of Samples",-1)),Es=n(()=>e("span",{class:"text-orange-600 ml-2 italic"},"(less reserved)",-1)),Vs={class:"grid grid-cols-4 gap-x-4 mb-4"},As={class:"block col-span-1 mb-2"},Rs=n(()=>e("span",{class:"text-gray-700"},"Template Type",-1)),js=n(()=>e("option",{value:"flat"},"Single Column / Flat",-1)),Is=n(()=>e("option",{value:"grid"},"GRID",-1)),Ms=[js,Is],Os={key:0,class:"col-span-3"},Ds={class:"grid grid-cols-3 gap-x-4"},qs={class:"block col-span-1 mb-2"},Ls=n(()=>e("span",{class:"text-gray-700"},"Cols",-1)),$s={class:"block col-span-1 mb-2"},Ps=n(()=>e("span",{class:"text-gray-700"},"Rows",-1)),Qs={for:"toggle",class:"text-gray-700 mt-8 ml-4"},Bs={class:"relative inline-block w-10 mr-2 align-middle select-none transition duration-200 ease-in"},Ns=n(()=>e("label",{for:"toggle",class:"toggle-label block overflow-hidden h-6 rounded-full bg-gray-300 cursor-pointer"},null,-1)),Fs=n(()=>e("span",{class:"text-gray-700 text-base"},"Row Wise",-1)),Ks={class:"grid grid-cols-3 gap-x-4 mb-4"},zs={class:"block col-span-1 mb-2"},Hs=n(()=>e("span",{class:"text-gray-700"},"Instrument",-1)),Gs=n(()=>e("option",null,null,-1)),Js=["value"],Xs={class:"block col-span-1 mb-2"},Ys=n(()=>e("span",{class:"text-gray-700"},"SampleType",-1)),Zs=n(()=>e("option",null,null,-1)),et=["value"],st={class:"block col-span-1 mb-2"},tt=n(()=>e("span",{class:"text-gray-700"},"Anslysis Service",-1)),ot=n(()=>e("option",null,null,-1)),lt=["value"],nt={id:"samples"},at=n(()=>e("hr",null,null,-1)),it={class:"flex justify-between items-center py-2"},rt=n(()=>e("h5",null,"Reserved Positions",-1)),dt={class:"block col-span-1 mb-2"},ct=n(()=>e("span",{class:"text-gray-700"},"QC Template",-1)),mt={class:"flex items-center"},ut=n(()=>e("option",null,null,-1)),pt=["value"],_t=n(()=>e("hr",{class:"mb-4"},null,-1)),ht={class:"flex items-center justify-between"},ft={class:""},vt={class:"grid grid-cols-6 gap-x-4"},yt={class:"block col-span-2 mb-2"},gt=n(()=>e("span",{class:"text-gray-700"},"Position",-1)),bt=["onUpdate:modelValue"],xt={class:"block col-span-2 mb-2"},wt=n(()=>e("span",{class:"text-gray-700"},"Blank/Control",-1)),kt=["onUpdate:modelValue"],Tt=["value"],St={class:""},Ut=["onClick"],Ct=n(()=>e("hr",null,null,-1)),Wt=n(()=>e("hr",null,null,-1)),Et=te({__name:"index",setup(S){const U=oe(),g=le(),R=ne(),j=ae(),{withClientMutation:I}=fe();let b=C("preview");const P=["preview"];v(()=>"tab-"+b.value);let x=C(!1),W=C(null),s=q({}),M=C(""),Q=q({first:void 0,after:"",text:"",sortBy:["name"]});g.fetchAnalysesServices(Q),R.fetchSampleTypes(),j.fetchInstruments(),g.fetchQCTemplates(),g.fetchQCLevels(),U.fetchWorkSheetTemplates();const O=v(()=>g.getQCTemplates),B=v(()=>U.getWorkSheetTemplates);function N(){const m={name:s.name,sampleTypeUid:s.sampleTypeUid,instrumentUid:s.instrumentUid,description:s.description,qcTemplateUid:s.qcTemplateUid,reserved:s.reserved,numberOfSamples:+s.numberOfSamples,worksheetType:s.worksheetType,cols:s.cols,rows:s.rows,rowWise:s.rowWise,analysisUid:s.analysisUid};I(_e,{payload:m},"createWorksheetTemplate").then(l=>U.addWorksheetTemplate(l))}function F(){const m={name:s.name,sampleTypeUid:s.sampleTypeUid,instrumentUid:s.instrumentUid,description:s.description,qcTemplateUid:s.qcTemplateUid,reserved:s.reserved,numberOfSamples:s.numberOfSamples,worksheetType:s.worksheetType,cols:s.cols,rows:s.rows,rowWise:s.rowWise,analysisUid:s.analysisUid};I(he,{uid:s.uid,payload:m},"updateWorksheetTemplate").then(l=>U.updateWorksheetTemplate(l))}function K(m){let l=[];return Array.from({length:m?.numberOfSamples+m?.reserved?.length},(t,r)=>r+1).forEach(t=>{let r={position:t,row:1,col:1,name:"sample",sampleUid:void 0};m?.reserved?.some(d=>d.position===t)&&(r.name="control"),m?.reserved?.forEach(d=>{d[1]?.position===t&&(r.name=d[1]?.name)}),l.push(r)}),l}function E(){s.worksheetType=="grid"&&(s.rows=Math.ceil((s?.numberOfSamples+(s.reserved?.length|0))/s?.cols))}function D(m){Object.assign(s,m);const l=K(m);s.preview=l}function z(){s.reserved?.push({}),E()}function H(m){s.reserved?.splice(m,1)}function G(){if(s.reserved=[],!s.qcTemplateUid)return;O.value?.find(l=>l.uid===s.qcTemplateUid)?.qcLevels.forEach((l,f)=>{s.reserved?.push({position:f+1,levelUid:l.uid})}),E()}function J(m){m.target.value=="flat"&&(s.cols=void 0,s.rows=void 0)}function V(m,l={}){if(W.value=m,M.value=(m?"CREATE":"EDIT")+" WOKKSHEET TEMPLATE",x.value=!0,m){let f={};f.instrument={},f.sampleType={},f.analysis={},Object.assign(s,{...f})}else D(l)}function X(){W.value&&N(),W.value||F(),x.value=!1}const Y=v(()=>j.getInstruments),Z=v(()=>g.getAnalysesServicesSimple?.filter(f=>f?.category?.name!=="Quality Control")),ee=v(()=>g.getQCLevels),se=v(()=>R.getSampleTypes);return(m,l)=>{const f=ie("font-awesome-icon");return a(),i(p,null,[e("div",ye,[e("div",ge,[be,e("button",{class:"p-2 my-2 ml-8 text-sm border-sky-800 border text-dark-700 transition-colors duration-150 rounded-sm focus:outline-none hover:bg-sky-800 hover:text-gray-100",onClick:l[0]||(l[0]=t=>V(!0))}," Add Template ")]),xe,e("div",we,[e("section",ke,[e("div",Te,[(a(!0),i(p,null,_(o(B),t=>(a(),i("div",{key:t.uid,class:y(o(s)?.uid===t.uid?"w-full flex justify-between p-2 mb-1 rounded-sm shadow border border-sky-800 bg-emerald-200":"bg-white w-full flex justify-between p-2 mb-1 rounded-sm shadow border")},[e("a",{href:"#",onClick:k(r=>D(t),["prevent","stop"]),class:"font-semibold text-gray-700"},[e("span",null,c(t.name),1)],8,Se),e("a",{href:"#",onClick:r=>V(!1,t),class:"px-2 cursor"},[re(f,{icon:"pen"})],8,Ue)],2))),128))])]),o(s).uid?(a(),i("section",Ce,[u(" Listing Item Card "),e("div",We,[e("div",Ee,[u(" Summary Column "),e("div",Ve,[e("div",Ae,[e("span",null,c(o(s).name),1),e("div",null,[e("button",{onClick:l[1]||(l[1]=t=>V(!1,o(s))),class:"ml-4 inline-flex items-center justify-center w-8 h-8 mr-2 border-sky-800 border text-gray-900 transition-colors duration-150 bg-white rounded-full focus:outline-none hover:bg-gray-200"},je)])]),Ie,e("div",Me,[e("div",Oe,[u(" Client Details "),e("div",De,[qe,e("span",Le,c(o(s).instrument?.name),1)]),e("div",$e,[Pe,e("span",Qe,c(o(s)?.analysis?.name),1)])]),e("div",Be,[u(" Communication Details "),e("div",Ne,[Fe,e("span",Ke,c(o(s).numberOfSamples),1)]),e("div",ze,[He,e("span",Ge,c(o(s).reserved?.length),1)])])]),Je,e("div",Xe,[e("div",Ye,[e("div",Ze,[es,e("span",ss,c(o(s).worksheetType),1)]),o(s).worksheetType=="grid"?(a(),i("div",ts,[os,e("span",ls,c(o(s).rowWise?"row-wise":"column-wise"),1)])):u("v-if",!0)]),o(s).worksheetType=="grid"?(a(),i("div",ns,[e("div",as,[is,e("span",rs,c(o(s).rows),1)]),e("div",ds,[cs,e("span",ms,c(o(s).cols),1)])])):u("v-if",!0)])])])]),u(" Sample and Case Data "),e("nav",us,[e("div",ps,[(a(),i(p,null,_(P,t=>e("a",{key:t,class:y(["no-underline text-gray-500 uppercase tracking-wide font-bold text-xs py-1 px-4 tab hover:bg-sky-600 hover:text-gray-200",{"tab-active":o(b)===t}]),onClick:r=>L(b)?b.value=t:b=t,href:"#"},c(t),11,_s)),64))])]),e("section",hs,[o(b)==="preview"?(a(),i("div",fs,[vs,ys,o(s).worksheetType=="flat"?(a(),i("div",gs,[(a(!0),i(p,null,_(o(s)?.preview||[],(t,r)=>(a(),i("div",bs,[e("span",xs,c(t.position)+":",1),e("span",{class:y(["col-span-5 my-1 p-1 text-white rounded-xl flex justify-center",{"bg-emerald-600":t.name!=="sample"},{"bg-sky-800":t.name==="sample"}])},c(t.name),3)]))),256))])):u("v-if",!0),o(s).worksheetType=="grid"?(a(),i("div",ws,[o(s).rowWise?(a(!0),i(p,{key:0},_(o(s).rows,(t,r)=>(a(),i("div",{class:y(["grid grid-cols-"+o(s).cols,"gap-2"]),key:r+"x"},[(a(!0),i(p,null,_(o(s).cols,(d,A)=>(a(),i("div",{key:A,class:"col-span-1 w-full"},[e("span",{class:y(["my-1 p-1 text-white rounded-xl flex justify-center",{"bg-emerald-600":o(s)?.preview[r*o(s).cols+d-1]?.name!=="sample"},{"bg-sky-800":o(s)?.preview[r*o(s).cols+d-1]?.name==="sample"}])},"("+c(r*o(s).cols+d)+") "+c(o(s)?.preview[r*o(s).cols+d-1]?.name),3)]))),128))],2))),128)):(a(),i("div",{key:1,class:y(["grid grid-cols-"+o(s).cols,"gap-2"])},[(a(!0),i(p,null,_(o(s).cols,(t,r)=>(a(),i("div",{class:"col-span-1",key:r+"y"},[(a(!0),i(p,null,_(o(s).rows,(d,A)=>(a(),i("div",{key:A},[u(' <span class="my-1 flex justify-center" >{{ index*workSheetTemplate.rows + row }}</span> '),e("span",{class:y(["my-1 p-1 text-white rounded-xl flex justify-center",{"bg-emerald-600":o(s)?.preview[r*o(s).rows+d-1]?.name!=="sample"},{"bg-sky-800":o(s)?.preview[r*o(s).rows+d-1]?.name==="sample"}])},"("+c(r*o(s).rows+d)+") "+c(o(s)?.preview[r*o(s).rows+d-1]?.name),3)]))),128))]))),128))],2))])):u("v-if",!0)])):u("v-if",!0)])])):u("v-if",!0)])]),u(" WS Template Form Modal "),o(x)?(a(),de(me,{key:0,onClose:l[17]||(l[17]=t=>L(x)?x.value=!1:x=!1)},{header:$(()=>[e("h3",null,c(o(M)),1)]),body:$(()=>[e("form",ks,[e("div",Ts,[e("label",Ss,[Us,h(e("input",{class:"form-input mt-1 block w-full","onUpdate:modelValue":l[2]||(l[2]=t=>o(s).name=t),placeholder:"Name ..."},null,512),[[T,o(s).name]])]),e("label",Cs,[Ws,Es,h(e("input",{class:"form-input mt-1 block w-full","onUpdate:modelValue":l[3]||(l[3]=t=>o(s).numberOfSamples=t),placeholder:"Count ...",type:"number"},null,512),[[T,o(s).numberOfSamples]])])]),e("div",Vs,[e("label",As,[Rs,h(e("select",{class:"form-select block w-full mt-1",onChange:l[4]||(l[4]=t=>J(t)),"onUpdate:modelValue":l[5]||(l[5]=t=>o(s).worksheetType=t)},Ms,544),[[w,o(s).worksheetType]])]),o(s).worksheetType==="grid"?(a(),i("span",Os,[e("div",Ds,[e("label",qs,[Ls,h(e("input",{class:"form-input mt-1 block w-full","onUpdate:modelValue":l[6]||(l[6]=t=>o(s).cols=t),onKeyup:l[7]||(l[7]=t=>E()),type:"number"},null,544),[[T,o(s).cols]])]),e("label",$s,[Ps,h(e("input",{class:"form-input mt-1 block w-full bg-gray-100","onUpdate:modelValue":l[8]||(l[8]=t=>o(s).rows=t),type:"number",disabled:""},null,512),[[T,o(s).rows]])]),e("label",Qs,[e("div",Bs,[h(e("input",{type:"checkbox",name:"toggle",id:"toggle","onUpdate:modelValue":l[9]||(l[9]=t=>o(s).rowWise=t),class:"toggle-checkbox absolute block w-6 h-6 rounded-full bg-white border-4 appearance-none cursor-pointer outline-none"},null,512),[[ce,o(s).rowWise]]),Ns]),Fs])])])):u("v-if",!0)]),e("div",Ks,[e("label",zs,[Hs,h(e("select",{class:"form-select block w-full mt-1","onUpdate:modelValue":l[10]||(l[10]=t=>o(s).instrumentUid=t)},[Gs,(a(!0),i(p,null,_(o(Y),t=>(a(),i("option",{key:t.uid,value:t.uid},c(t.name),9,Js))),128))],512),[[w,o(s).instrumentUid]])]),e("label",Xs,[Ys,h(e("select",{class:"form-select block w-full mt-1","onUpdate:modelValue":l[11]||(l[11]=t=>o(s).sampleTypeUid=t)},[Zs,(a(!0),i(p,null,_(o(se),t=>(a(),i("option",{key:t.uid,value:t.uid},c(t.name),9,et))),128))],512),[[w,o(s).sampleTypeUid]])]),e("label",st,[tt,h(e("select",{class:"form-select block w-full mt-1","onUpdate:modelValue":l[12]||(l[12]=t=>o(s).analysisUid=t)},[ot,(a(!0),i(p,null,_(o(Z),t=>(a(),i("option",{key:t.uid,value:t.uid},c(t.name),9,lt))),128))],512),[[w,o(s).analysisUid]])])]),e("section",nt,[at,e("div",it,[rt,e("label",dt,[ct,e("div",mt,[h(e("select",{class:"form-select block w-full mt-1","onUpdate:modelValue":l[13]||(l[13]=t=>o(s).qcTemplateUid=t)},[ut,(a(!0),i(p,null,_(o(O),t=>(a(),i("option",{key:t.uid,value:t.uid},c(t.name),9,pt))),128))],512),[[w,o(s).qcTemplateUid]]),e("button",{onClick:l[14]||(l[14]=k(t=>G(),["prevent"])),class:"px-2 py-1 ml-2 h-auto border-sky-800 border text-sky-800rounded-smtransition duration-300 hover:bg-sky-800 hover:text-white focus:outline-none"}," Apply ")])]),e("button",{onClick:l[15]||(l[15]=k(t=>z(),["prevent"])),class:"px-2 py-1 mr-2 border-sky-800 border text-sky-800rounded-smtransition duration-300 hover:bg-sky-800 hover:text-white focus:outline-none"}," Add Reserve Slot ")]),_t,(a(!0),i(p,null,_(o(s).reserved,(t,r)=>(a(),i("div",{key:r},[e("div",ht,[e("div",ft,[e("div",vt,[e("label",yt,[gt,h(e("input",{class:"form-input mt-1 block w-full","onUpdate:modelValue":d=>t.position=d,type:"number"},null,8,bt),[[T,t.position]])]),e("label",xt,[wt,h(e("select",{"onUpdate:modelValue":d=>t.levelUid=d,class:"form-input mt-1 block w-full"},[(a(!0),i(p,null,_(o(ee),d=>(a(),i("option",{key:d.uid,value:d.uid},c(d.level),9,Tt))),128))],8,kt),[[w,t.levelUid]])])])]),e("div",St,[e("button",{onClick:k(d=>H(r),["prevent"]),class:"px-2 py-1 mr-2 border-orange-600 border text-orange-600rounded-smtransition duration-300 hover:bg-orange-600 hover:text-white focus:outline-none"}," Remove ",8,Ut)])]),Ct]))),128))]),Wt,e("button",{type:"button",onClick:l[16]||(l[16]=k(t=>X(),["prevent"])),class:"-mb-4 w-full border border-sky-800 bg-sky-800 text-white rounded-sm px-4 py-2 m-2 transition-colors duration-500 ease select-none hover:bg-sky-800 focus:outline-none focus:shadow-outline"}," Save Form ")])]),_:1})):u("v-if",!0)],64)}}});const At=ve(Et,[["__scopeId","data-v-d68ffb27"],["__file","/home/aurthur/Development/Python/felicity/felicity-lims/webapp/views/admin/worksheets/index.vue"]]);export{At as default};
|