????

Your IP : 3.16.89.150


Current Path : C:/inetpub/vhost/tracnghiem.gdtsolutions.vn/wwwroot/assets/
Upload File :
Current File : C:/inetpub/vhost/tracnghiem.gdtsolutions.vn/wwwroot/assets/index-d59aa10a.js

import{b as r,d as ne,e as ce,n as de,j as e,_ as q,p as c,bE as ue,bB as me,bG as pe,bC as N,s as re,bt as xe,E as I,I as v,bJ as L,bK as he,J as Q,F as Z,al as S,G as F,aD as se,bL as fe,bM as J,a4 as ge,P}from"./index-9bcd78a9.js";import{D as be}from"./DataTable-63f87428.js";import{C as V,F as H,a as K}from"./Form-84841cbf.js";import{T as je,a as ie}from"./Tabs-59094e22.js";import{u as oe,a as Ee}from"./NumberFormat-694550a2.js";import{C as U}from"./CardContent-7571d5c8.js";import{b as X,c as ye,D as Ce}from"./DialogTitle-762ac824.js";import"./Tooltip-4d2e5457.js";import"./Popper-151dcaf9.js";import"./popper-578b62a7.js";import"./TableRow-55190f90.js";import"./Checkbox-60209323.js";import"./SwitchBase-f2562236.js";import"./Toolbar-d5f2ec66.js";import"./reactstrap.modern-0a8c2eab.js";import"./warning-d8cd23a0.js";import"./AppBar-a2b92a6e.js";import"./TablePagination-014b81e1.js";import"./KeyboardArrowRight-930a3b01.js";import"./MenuItem-3ea292e1.js";import"./listItemIconClasses-873dc6a3.js";import"./Alert-60369fbc.js";import"./Close-1f3816f8.js";import"./unsupportedProp-e368368f.js";import"./tiny-warning.esm-d265c1d1.js";import"./FormGroup-c4ebc22e.js";const Se=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"],Te={entering:{transform:"none"},entered:{transform:"none"}},ae=r.forwardRef(function(n,i){const s=ne(),g={enter:s.transitions.duration.enteringScreen,exit:s.transitions.duration.leavingScreen},{addEndListener:l,appear:h=!0,children:u,easing:p,in:E,onEnter:y,onEntered:k,onEntering:x,onExit:f,onExited:b,onExiting:T,style:C,timeout:w=g,TransitionComponent:O=me}=n,_=ce(n,Se),o=r.useRef(null),d=de(o,u.ref,i),m=a=>j=>{if(a){const R=o.current;j===void 0?a(R):a(R,j)}},D=m(x),A=m((a,j)=>{pe(a);const R=N({style:C,timeout:w,easing:p},{mode:"enter"});a.style.webkitTransition=s.transitions.create("transform",R),a.style.transition=s.transitions.create("transform",R),y&&y(a,j)}),G=m(k),B=m(T),W=m(a=>{const j=N({style:C,timeout:w,easing:p},{mode:"exit"});a.style.webkitTransition=s.transitions.create("transform",j),a.style.transition=s.transitions.create("transform",j),f&&f(a)}),$=m(b),M=a=>{l&&l(o.current,a)};return e.jsx(O,q({appear:h,in:E,nodeRef:o,onEnter:A,onEntered:G,onEntering:D,onExit:W,onExited:$,onExiting:B,addEndListener:M,timeout:w},_,{children:(a,j)=>r.cloneElement(u,q({style:q({transform:"scale(0)",visibility:a==="exited"&&!E?"hidden":void 0},Te[a],C,u.props.style),ref:d},j))}))});ae.propTypes={addEndListener:c.func,appear:c.bool,children:ue.isRequired,easing:c.oneOfType([c.shape({enter:c.string,exit:c.string}),c.string]),in:c.bool,onEnter:c.func,onEntered:c.func,onEntering:c.func,onExit:c.func,onExited:c.func,onExiting:c.func,style:c.object,timeout:c.oneOfType([c.number,c.shape({appear:c.number,enter:c.number,exit:c.number})])};const ve=ae,Re=[{title:"id",field:"id",type:"numeric",dataID:!0,editable:"never",hidden:!0},{title:"Mã",field:"code",type:"string",dataCheck:!0,searchable:!0},{title:"Tên",field:"name",type:"string",dataCheck:!0,searchable:!0},{title:"Phút",field:"min",type:"numeric",dataCheck:!0},{title:"Giây",field:"sec",type:"numeric",dataCheck:!0}],Ie=re(je)({borderBottom:"1px solid #e8e8e8",overflow:"hidden",borderRadius:"8px",padding:"1rem 0px",boxShadow:"rgb(0 0 0 / 6%) 0px 3px 3px -2px, rgb(0 0 0 / 4%) 0px 3px 4px 0px, rgb(0 0 0 / 4%) 0px 1px 8px",margin:"24px 0px 24px 24px",minWidth:"9rem","& .MuiTabs-indicator":{backgroundColor:"#1890ff",left:"0px !important"}}),ke=re(t=>e.jsx(ie,{disableRipple:!0,...t}))(({theme:t})=>({textTransform:"none",[t.breakpoints.up("sm")]:{minWidth:0},fontWeight:t.typography.fontWeightRegular,marginRight:t.spacing(1),color:"rgba(0, 0, 0, 0.85)",textAlign:"start",fontFamily:["-apple-system","BlinkMacSystemFont",'"Segoe UI"',"Roboto",'"Helvetica Neue"',"Arial","sans-serif",'"Apple Color Emoji"','"Segoe UI Emoji"','"Segoe UI Symbol"'].join(","),"&:hover":{color:"#40a9ff",opacity:1,backgroundColor:"rgba(25, 118, 210, 0.04)"},"&.Mui-selected":{color:"#1890ff",fontWeight:t.typography.fontWeightMedium,backgroundColor:"rgba(25, 118, 210, 0.04)"},"&.Mui-focusVisible":{backgroundColor:"#d1eaff"},"&.MuiButtonBase-root":{alignSelf:"baseline",width:"100%",justifyContent:"start"},"& .tab-icon":{display:"flex",alignItems:"center"}}));function we(t){const{children:n,value:i,index:s,title:g,...l}=t;return e.jsx("div",{style:{width:"100%",margin:"24px"},role:"tabpanel",hidden:i!==s,id:`vertical-tabpanel-${s}`,"aria-labelledby":`vertical-tab-${s}`,...l,children:r.cloneElement(n,{title:g})})}function De(t){return{id:`vertical-tab-${t}`,"aria-controls":`vertical-tabpanel-${t}`}}const Y=({open:t,groups:n})=>{const[i,s]=r.useState(0),g=r.useRef({}),l=(u,p)=>{s(p)},h=ne();return t?e.jsx(xe,{theme:h,children:e.jsxs(I,{sx:{flexGrow:1,bgcolor:"background.paper",display:"flex"},children:[e.jsx(Ie,{orientation:"vertical",variant:"fullWidth",value:i,onChange:l,"aria-label":"",sx:{borderRight:1,borderColor:"divider"},children:n&&n.map((u,p)=>e.jsx(ke,{icon:e.jsxs("span",{className:"tab-icon",children:[e.jsx(v,{color:"disabled",style:{marginRight:"0.5rem"},children:u.icon}),e.jsx("span",{children:u.title})]}),...De(p)},p+"tab"))}),n&&n.map((u,p)=>{const E=r.cloneElement(u.element,{ref:y=>g.current[p]={name:ie.name,formRef:y}});return e.jsx(we,{title:u.title,value:i,index:p,children:E},p)})]})}):e.jsx(r.Fragment,{})};function Fe(){const t=L(he,"auth");return{postConfigStoreExam:i=>t.post({url:"/ThemConfig",body:i})}}const Ae={soLuong:{field_name:"soLuong",title:"Số câu",type:"numeric",rules:{required:"Vui lòng nhập"}},tongDiem:{field_name:"tongDiem",title:"Tổng điểm",type:"numeric",rules:{required:"Vui lòng nhập"}},rank:{field_name:"rank",title:"Ưu tiên",type:"numeric",rules:{required:"Vui lòng nhập"}}},Be=r.forwardRef(({indexContent:t,defaultValue:n},i)=>{const[s,g]=r.useState(!1),l=r.useRef(),{postConfigStoreExam:h}=Fe();r.useImperativeHandle(i,()=>({}),[]),r.useEffect(()=>{if(n){g(!0);const x=Object.entries(n).reduce((f,[b,T])=>(f[b+t]=T,f),{});l.current.resetDataDefault(x)}},[n,t]);const u=r.useCallback(async x=>{const f=Object.entries(x).reduce((b,[T,C])=>(b[T.replace(t.toString(),"")]=C,b),{});console.log(f),await h(f)},[t,h]),{execute:p,status:E}=oe(u),y=r.useMemo(()=>e.jsx(Q,{sx:{height:"100%",display:"table-cell"},children:e.jsx(U,{sx:{padding:"2px !important"},children:e.jsx(I,{display:"flex",justifyContent:"center",children:s?e.jsx(ve,{in:s,style:{transitionDelay:s?"100ms":"0ms"},children:e.jsxs(I,{position:"relative",children:[s&&e.jsxs(e.Fragment,{children:[e.jsx(Z,{sx:{position:"absolute",top:"-1rem",right:"0rem"},onClick:()=>g(x=>!x),children:e.jsx(v,{children:"close"})}),e.jsx(I,{marginTop:2,children:Object.entries(Ae).map(([x,f],b)=>e.jsx(V,{data:{...f,name:x+t},rules:f.rules,name:x+t},b+x))})]}),n&&e.jsx(S,{display:"flex",justifyContent:"flex-end",children:e.jsx(F,{type:"submit",variant:"outlined",startIcon:E==="pending"?e.jsx(se,{size:20}):e.jsx(v,{children:"save"}),disabled:E==="pending",children:"Lưu"})})]})}):e.jsx(Z,{onClick:()=>g(x=>!x),children:e.jsx(v,{children:"add"})})})})}),[n,t,s,E]),k=r.useMemo(()=>e.jsx(H,{ref:l,onSubmit:p,children:y}),[p,y]);return e.jsx(r.Fragment,{children:n?k:y})});function Me(){return{getAllGroup:L(fe,"allow").get}}function Pe(){const t=L(J,"allow"),n=L(J,"auth");return{getAllExams:()=>t.get({url:"/Menus"}),postExam:h=>n.post({url:"",body:h}),getExamById:h=>n.get({url:`(${h})?$expand=configStoreExams`}),updateExam:(h,u)=>n.path({url:`(${h})`,body:u})}}const ee={code:{field_name:"code",title:"Mã",type:"textbox",rules:{required:"Vui lòng nhập"}},name:{field_name:"name",title:"Tên",type:"textbox",rules:{required:"Vui lòng nhập"}},min:{field_name:"min",title:"Phút",type:"numeric",rules:{required:"Vui lòng nhập"}},sec:{field_name:"sec",title:"Giây",type:"numeric",rules:{required:"Vui lòng nhập"}}},te=["soLuong","tongDiem","rank"],Le=({onClose:t,open:n,id:i})=>{const[s,g]=r.useState({}),[l,h]=ge.useState(null),[u,p]=r.useState(),{getAllGroup:E}=Me(),{postExam:y,getExamById:k,updateExam:x}=Pe(),f=r.useCallback(async o=>{try{const{configStoreExams:d,...m}=await k(o);return p(d),m}catch{}},[k]);r.useEffect(()=>{},[n]);const b=r.useCallback(async o=>{const{code:d,name:m,min:D,sec:A,...G}=o;if(i)await x(i,{code:d,name:m,min:D,sec:A});else{const B=[];l==null||l.forEach((W,$)=>{const M=Object.entries(G).filter(([a,j])=>a.indexOf($.toString())>-1).reduce((a,[j,R])=>{const z=te.findIndex(le=>j.indexOf(le)>-1);return z>-1&&(a[te[z]]=R),a},{});Object.keys(M).length>0&&B.push({...M,groupQuestionId:W.id})}),await y({code:d,name:m,min:D,sec:A,configStoreExams:B})}Ee("Cập nhật thành công"),t()},[l,t]),{execute:T,status:C}=oe(b);r.useEffect(()=>{E().then(({value:o})=>{h(o.map((d,m)=>({title:d.name,icon:"description",element:e.jsx(Be,{indexContent:m,defaultValue:u==null?void 0:u.find(D=>D.groupQuestionId===d.id)}),id:d.id})))})},[u,E]);const w=r.useCallback((o,d)=>{g(m=>({...m,[o]:d}))},[]),O=r.useMemo(()=>e.jsxs(H,{onSubmit:T,children:[e.jsx(X,{sx:{padding:"0px"},children:e.jsxs(Q,{children:[e.jsx(K,{title:i?"Cập nhật":"Thêm mới"}),e.jsx(U,{sx:{background:"#E7EBF0"},children:e.jsx(I,{children:e.jsxs(S,{container:!0,spacing:2,children:[e.jsx(S,{item:!0,xs:5,children:e.jsx(P,{sx:{borderRadius:"0.3rem",padding:"1rem"},children:Object.entries(ee).map(([o,d],m)=>e.jsx(V,{data:{...d,name:o},rules:d.rules,name:o,value:s&&s[o],onChange:w,defaultValue:d.defaultValue||s[o]},m+o))})}),e.jsx(S,{item:!0,xs:7,children:n&&e.jsx(P,{sx:{borderRadius:"0.3rem",height:"100%"},children:e.jsx(Y,{groups:l,open:n==="open"})})})]})})})]})}),e.jsxs(ye,{children:[e.jsx(F,{color:"error",startIcon:e.jsx(v,{children:"cancel"}),onClick:t,disabled:!1,children:"Hủy"}),e.jsx(F,{type:"submit",variant:"outlined",startIcon:C==="pending"?e.jsx(se,{size:20}):e.jsx(v,{children:"save"}),disabled:C==="pending",children:"Lưu"})]})]}),[s,T,l,w,i,t,n,C]),_=r.useMemo(()=>e.jsx(X,{sx:{padding:"0px"},children:e.jsxs(Q,{children:[e.jsx(K,{title:i?"Cập nhật":"Thêm mới"}),e.jsx(U,{sx:{background:"#E7EBF0"},children:e.jsx(I,{children:e.jsxs(S,{container:!0,spacing:2,children:[e.jsx(S,{item:!0,xs:5,children:e.jsx(H,{onSubmit:b,defaultValues:()=>i?f(i):Promise.resolve({}),children:e.jsxs(P,{sx:{borderRadius:"0.3rem",padding:"1rem"},children:[Object.entries(ee).map(([o,d],m)=>e.jsx(V,{data:{...d,name:o},rules:d.rules,name:o},m+o)),e.jsxs(S,{display:"flex",justifyContent:"flex-end",children:[e.jsx(F,{color:"error",startIcon:e.jsx(v,{children:"cancel"}),onClick:t,disabled:!1,children:"Hủy"}),e.jsx(F,{type:"submit",variant:"outlined",startIcon:e.jsx(v,{children:"save"}),disabled:!1,children:"Lưu"})]})]})})}),e.jsx(S,{item:!0,xs:7,children:n&&e.jsx(P,{sx:{borderRadius:"0.3rem",height:"100%"},children:e.jsx(Y,{groups:l,open:n==="open"})})})]})})})]})}),[f,l,b,i,t,n]);return e.jsx(Ce,{fullWidth:!0,maxWidth:"md",onClose:t,open:!!n,children:i?_:O})},Oe=r.memo(Le),dt=()=>{const t=r.createRef(),[n,i]=r.useState({}),s=()=>t.current&&t.current.onQueryChange();return e.jsxs(I,{children:[e.jsx(S,{container:!0,children:e.jsx(be,{tableRef:t,isAuth:!0,url:"/rq/auth/StoreExams",title:"Danh sách đề thi",columns:Re,selectType:"withColumns",onAdd:{onClick:()=>{i({status:"open"})}},onEdit:{onClick:(g,l)=>{i({status:"open",id:l.id})}},onDelete:{}})}),n&&e.jsx(Oe,{open:n.status,id:n.id,onClose:()=>{s(),i(null)}})]})};export{dt as default};