You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/p__Shixuns__Edit__body__Lev...

1 line
47 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[49205],{39515:function(e,t,n){n.d(t,{t:function(){return h}});var i=n(82242),s=n.n(i),a=(n(59301),n(3113)),r="buttonFixed___vyq30",l="button___hxmYv",c="buttonWrap___uK8dl",o=n(92310),u=n.n(o),d=n(37712),h=function(e){var t=e.cancelText,n=void 0===t?"取消":t,i=e.okText,o=void 0===i?"确定":i,h=e.loading,p=void 0!==h&&h,x=e.hasOkBtn,f=void 0===x||x,_=e.hasCancelBtn,m=void 0===_||_,v=e.okButtonProps,j=void 0===v?{}:v,g=e.onCancel,b=void 0===g?function(){}:g,y=e.onOk,k=void 0===y?function(){}:y,Z=e.className,N=void 0===Z?"":Z;return(0,d.jsx)("div",{className:u()(r,N),children:(0,d.jsxs)("div",{className:c,children:[m&&(0,d.jsx)(a.ZP,{size:"middle",className:"".concat(l," mr20"),onClick:b,children:n}),f&&(0,d.jsx)(a.ZP,s()(s()({size:"middle",type:"primary",className:"".concat(l," mr20"),loading:p,onClick:k},j),{},{children:o}))]})})}},63017:function(e,t,n){var i=n(82242),s=n.n(i),a=(n(59301),n(93314)),r=n(3113),l=n(37712);t.Z=function(e){var t=e.img,n=e.buttonProps,i=void 0===n?{}:n,c=e.styles,o=void 0===c?{}:c,u=e.customText,d=e.ButtonText,h=e.ButtonClick,p=e.Buttonclass,x=e.ButtonTwo,f=e.imgStyles,_=e.loading,m=void 0!==_&&_;return(0,l.jsxs)("section",{className:"tc animated fadeIn",style:s()(s()({},{color:"#999",margin:"100px auto",visibility:m?"hidden":"visible"}),o),children:[(0,l.jsx)("img",{src:t||a,style:s()(s()({},f),{},{pointerEvents:"none",userSelect:"none"})}),(0,l.jsx)("p",{className:"mt20 font14",children:u||"暂时还没有相关数据哦!"}),d&&(0,l.jsx)(r.ZP,s()(s()({className:p,onClick:h},i),{},{children:d})),x&&x]})}},30472:function(e,t,n){n.d(t,{Z:function(){return k}});var i=n(82242),s=n.n(i),a=n(7557),r=n.n(a),l=n(41498),c=n.n(l),o=n(79800),u=n.n(o),d=n(59301),h={wrp:"wrp___dq7YK",bgBlack:"bgBlack___ARIUV",monaco:"monaco___VnZC3",darkBlue:"darkBlue___UprA9",close:"close___LKoWu",embed:"embed___hvpEJ"},p=n(3113),x=n(63093),f=n(31775),_=n(6848),m=n(95972),v=n(23201),j=n(63017),g=n(69423),b=n(59876),y=n(37712),k=function(e){var t,n,i,a,l,o,k=e.editOffice,Z=void 0===k?"view":k,N=e.data,P=(e.theme,e.type),w=e.filename,S=e.monacoEditor,C=e.className,I=e.style,T=e.close,E=e.onClose,F=e.hasMask,L=e.disabledDownload,B=e.onImgDimensions,V=e.showNodata,O=e.recordInfo,D=(0,d.useState)("https://view.officeapps.live.com/op/view.aspx?src=http://testgs.educoder.net//rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--03541f6234b93d7ac3b2d84e7eb0e6594a952945/1.ppt"),R=u()(D,2),W=(R[0],R[1],(0,d.useState)("")),A=u()(W,2),z=(A[0],A[1]),q=(0,d.useState)(),M=u()(q,2),U=M[0],X=M[1],J="build"===window.ENV?"/react/build":"",G=location.host.startsWith("localhost")?g.Z.PROXY_SERVER:g.Z.API_SERVER,K=(0,d.useRef)();null!==(t=N)&&void 0!==t&&t.startsWith("/api")&&"txt"!==P&&(N=g.Z.API_SERVER+N);w&&S&&(S.filename=w),(0,d.useEffect)((function(){var e,t=null===(e=document.cookie)||void 0===e||null===(e=e.replace(/\s/g,""))||void 0===e?void 0:e.split(";");null==t||t.map((function(e){var t=e.split("=");"_educoder_session"===t[0]&&z(t[1])}))}),[]),(0,d.useEffect)((function(){var e;"office"===P&&(N.indexOf("bigfilescdn.")>-1||N.indexOf("bigfiles1")>-1?X({url:N,fileType:(e=N,e.substring(e.lastIndexOf("/")+1).split(".").pop()),model:N.indexOf("model=edit")?"edit":"view"}):Y())}),[P,N]);var Y=function(){var e=c()(r()().mark((function e(){var t,n,i;return r()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("data:",N),t=N,N.startsWith("http")||(t=location.origin+t),n=new URL(t).pathname.split("/").pop(),e.next=6,(0,v.gJ)({attachment_id:n});case 6:(i=e.sent).url=G+i.url,X(i);case 9:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),H=function(){N.startsWith("http")||N.startsWith("blob:")?Q():(0,m.Sv)(w||"educoder",N,w)},Q=function(){O&&(0,b.fc)({id:null==O?void 0:O.id,watch_type:1,course_id:null==O?void 0:O.course_id}),(0,m.Nd)(w||"educoder",decodeURIComponent(N))};return(0,y.jsxs)("div",{style:s()({},I||{}),className:"".concat(F&&h.bgBlack," ").concat(P?h.wrp:"hide"),children:[T&&(0,y.jsxs)("div",{className:h.close,ref:K,children:[!!B&&(0,y.jsx)(_.Z,{title:"点击对图片进行批注",getPopupContainer:function(){return K.current},children:(0,y.jsx)("span",{onClick:function(){E(),B()},children:(0,y.jsx)("i",{className:"icon-yulanpizhu"})})}),!L&&(0,y.jsx)(_.Z,{title:"点击下载此文件",getPopupContainer:function(){return K.current},children:(0,y.jsx)("span",{onClick:Q,children:(0,y.jsx)("i",{className:"icon-quxiaozhiding"})})}),(0,y.jsx)(_.Z,{title:"关闭",getPopupContainer:function(){return K.current},children:(0,y.jsx)("span",{className:"",onClick:E,children:(0,y.jsx)("i",{className:"icon-guanbi1"})})})]}),(0,y.jsx)("div",{className:"".concat(h[C]," ").concat(C," ").concat(h.monaco," ").concat("txt"===P?"show":"hide"),children:"txt"===P&&(0,y.jsx)(y.Fragment,{children:(0,y.jsx)(f.ZP,s()({},S))})}),"audio"===P&&(0,y.jsx)("audio",{src:"".concat((null===(n=N)||void 0===n?void 0:n.indexOf("http://"))>-1||(null===(i=N)||void 0===i?void 0:i.indexOf("https://"))>-1?"":"data:audio/mp3;base64,").concat(N),autoPlay:!0}),"video"===P&&(0,y.jsx)(y.Fragment,{children:(null===(a=N)||void 0===a?void 0:a.indexOf("http"))>-1?(0,y.jsx)("video",{controls:!0,src:"".concat(N),autoPlay:!0}):(0,y.jsx)("video",{controls:!0,src:"data:video/mp4;base64,".concat(N),autoPlay:!0})}),"office"===P&&U&&(0,y.jsx)("iframe",{src:"".concat(J,"/office.html?key=").concat(U.key,"&url=").concat(btoa(U.url),"&callbackUrl=").concat(G+U.callbackUrl,"&fileType=").concat(U.fileType,"&title=").concat(U.title,"&model=").concat(Z,"&officeServer=").concat(g.Z.ONLYOFFICE,"&disabledDownload=").concat(!!L)}),"html"===P&&(0,y.jsx)("iframe",{src:N+"&disposition=inline"}),"pdf"===P&&(0,y.jsx)("iframe",{src:"".concat(J,"/js/pdfview/index.html?filename=").concat(w||"educoder.pdf","&url=").concat(encodeURIComponent(N),"&disabledDownload=").concat(!!L)}),"image"===P&&(0,y.jsx)("img",{src:"".concat((null===(l=N)||void 0===l?void 0:l.indexOf("http://"))>-1||(null===(o=N)||void 0===o?void 0:o.indexOf("https://"))>-1?"":"data:image/png;base64,").concat(N)}),("other"===P||"download"===P)&&(0,y.jsx)(y.Fragment,{children:V?(0,y.jsx)(j.Z,{customText:"当前文件不支持预览,可点击下载查看",ButtonTwo:(0,y.jsx)(p.ZP,{icon:(0,y.jsx)("i",{className:"iconfont icon-xiazai4 font14"}),type:"primary",size:"middle",onClick:H,disabled:L,children:"下载"})}):(0,y.jsxs)(p.ZP,{type:"primary",size:"middle",onClick:H,disabled:L,children:[(0,y.jsx)(x.Z,{}),"点击下载"]})})]})}},2362:function(e,t,n){n.r(t),n.d(t,{PracticeFileType:function(){return Y},default:function(){return H}});var i=n(37205),s=n.n(i),a=n(85573),r=n.n(a),l=n(7557),c=n.n(l),o=n(82242),u=n.n(o),d=n(41498),h=n.n(d),p=n(79800),x=n.n(p),f=n(59301),_=n(79265),m=n(86902),v=n(57809),j=n(92832),g=n(36381),b=n(78241),y=n(43418),k=n(8591),Z=n(24905),N=n(5112),P=n(60324),w=n(88897),S=n(81327),C=n(3113),I=n(6848),T=n(47839),E={flex_box_center:"flex_box_center___MjMLk",flex_space_between:"flex_space_between___PcWTa",flex_box_vertical_center:"flex_box_vertical_center___Cq7f3",flex_box_center_end:"flex_box_center_end___sMsFo",flex_box_column:"flex_box_column___n6Hxq",bg:"bg____Ic4Q",radioStyle:"radioStyle___kewjX",formWrap:"formWrap___jcehV",onePart:"onePart___ECsrp",twoPart:"twoPart___WVIpx",title:"title___RpX2E",threePart:"threePart___Tzme_",flexRowCenter:"flexRowCenter___M7zUK",fourPart:"fourPart___HgBFj",testJi:"testJi___s6Skh",upBtn:"upBtn___eKx0D",checkboxs:"checkboxs___B4uNe",averageWarp:"averageWarp___yXrlD",averageCustom:"averageCustom___t5o4x",groupWrap:"groupWrap___eT0sR",customInput:"customInput___pywUD"},F=n(39515),L=n(64165),B=n(99313),V=n(71418),O="wrap___AEhcV",D="content___NDdD8",R="colorBlue___UwyKz",W=n(37712),A=function(e){return null!=e&&e.length?e.filter((function(e,t){return 0!==t})).map((function(e){return e.val})).join("").substr(1):""},z=(0,_.connect)((function(e){return{shixunsDetail:e.shixunsDetail,globalSetting:e.globalSetting}}))((function(e){var t=e.shixunsDetail,n=(e.globalSetting,e.dispatch),i=e.fileType,s=e.path,a=e.onFinish,r=void 0===a?function(){}:a,l=(0,_.useParams)(),o=(0,f.useState)(""),d=x()(o,2),p=d[0],m=d[1],v=(0,f.useState)("1"),g=x()(v,2),b=g[0],k=g[1],Z=(0,f.useState)([]),N=x()(Z,2),P=N[0],w=N[1],S=(0,f.useState)(!1),I=x()(S,2),T=I[0],E=I[1],F=(0,f.useState)([]),z=x()(F,2),q=z[0],M=z[1],U=[Y.OriginalPicturePath,Y.ExpectPicturePath,Y.PicturePath].includes(i);(0,f.useEffect)((function(){"EditPracticeSetting-SelectFilePath"===t.actionTabs.key&&(m(s||""),X())}),[t.actionTabs.key,s,b]);var X=function(){var e=h()(c()().mark((function e(){var t,i,s,a=arguments;return c()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.length>0&&void 0!==a[0]?a[0]:"",E(!0),e.next=4,n({type:"shixunsDetail/".concat("1"===b?"getRepository":"getSecretRepository"),payload:{id:l.id,path:t}});case 4:null!=(i=e.sent)&&i.trees?(s=i.trees.map((function(e){return u()(u()({},e),{name:e.name,val:e.name})})),M(s||[])):M([]),E(!1);case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),J=function(){var e=h()(c()().mark((function e(){return c()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r(p),G();case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),G=function(){m(""),w([]),M([]),k("1"),n({type:"shixunsDetail/setActionTabs",payload:{}})},K=A(P);return(0,W.jsx)(y.Z,{centered:!0,title:"文件路径",closable:!1,keyboard:!1,open:"EditPracticeSetting-SelectFilePath"===t.actionTabs.key,onOk:J,onCancel:G,children:(0,W.jsxs)("div",{className:O,children:[(0,W.jsxs)(B.Z,{activeKey:b,onChange:function(e){w([]),k(e)},children:[(0,W.jsx)(B.Z.TabPane,{tab:"代码仓库"},"1"),"exec_path"===i&&(0,W.jsx)(B.Z.TabPane,{tab:"私密代码仓库"},"2")]}),(0,W.jsx)(V.Z,{style:{backgroundColor:"#f5f5f5",height:200},spinning:T,children:(0,W.jsxs)("div",{className:D,children:[(0,W.jsx)("div",{children:!(null==P||!P.length)&&P.map((function(e,t){return(0,W.jsx)("a",{style:{whiteSpace:0===t?"nowrap":""},onClick:function(){return function(e,t){var n=P.filter((function(e,n){return n<=t}));w(n);var i=A(n);U&&m(i),X(i)}(0,t)},children:e.val},t)}))}),null!=q&&q.length?q.map((function(e,t){return"tree"===e.type?(0,W.jsxs)("a",{onClick:function(){return function(e){if("tree"===e.type){P.length?P.push({val:"/".concat(e.val),path:e.val}):P.push({val:"根目录",path:""},{val:"/".concat(e.val),path:e.val}),w(P);var t=A(P);U&&m(t),X(t)}}(e)},children:[(0,W.jsx)("i",{className:"iconfont icon-wenjianjia ".concat(R)}),K?"".concat(K,"/"):K,e.name]},t):(0,W.jsxs)("a",{onClick:function(){return function(e){var t=A(P),n="".concat(t?"".concat(t,"/"):t).concat(e);"2"===b&&(n="secret/".concat(n)),i===Y.Path?(null==p||!p.includes("".concat(n,"")))&&m("".concat(p).concat(n,"")):i===Y.ExecPath&&m(n)}("".concat(e.name))},children:[(0,W.jsx)("i",{className:"iconfont icon-zuoye ".concat(R)}),K?"".concat(K,"/"):K,e.name]},t)})):(0,W.jsx)(L.Z,{style:{margin:"0 0"},image:L.Z.PRESENTED_IMAGE_SIMPLE,imageStyle:{height:60},description:(0,W.jsxs)("div",{children:[(0,W.jsx)("p",{style:{color:"#888",marginBottom:0},children:"私密代码仓库暂无文件。请先开启并上传代码文"}),(0,W.jsx)("span",{style:{color:"#888"},children:"件、标准图片等文件到私密代码仓库"})]}),children:(0,W.jsx)(C.ZP,{type:"primary",onClick:function(){G(),n({type:"practiceSetting/setSideBarTabs",payload:{tabsActive:"warehouse"}}),_.history.push("/shixuns/".concat(l.id,"/edit?tabId=warehouse"))},children:"去上传"})})]})}),(0,W.jsx)("label",{className:"mt5",children:"已选中的文件:"}),(0,W.jsx)(j.Z,{placeholder:"请输入新文件夹名/子文件夹名。src/step1",value:p,onChange:function(e){return m(e.target.value)}})]})})})),q=n(17721),M=n(89392),U=n(51217),X=n(55339),J=n(7188),G=v.default.Option,K=j.Z.TextArea,Y=(g.Z.Panel,function(e){return e.Path="path",e.ExecPath="exec_path",e.OriginalPicturePath="original_picture_path",e.ExpectPicturePath="expect_picture_path",e.PicturePath="picture_path",e}({})),H=(0,_.connect)((function(e){return{shixunsDetail:e.shixunsDetail,newCourse:e.newCourse,globalSetting:e.globalSetting,practiceSetting:e.practiceSetting}}))((function(e){var t,n,i,a,l,o,d=e.shixunsDetail,p=e.dispatch,g=e.practiceSetting,L=b.Z.useForm(),B=x()(L,1)[0],V=(0,f.useState)({}),O=x()(V,2),D=O[0],R=O[1],A=(0,f.useState)([]),H=x()(A,2),Q=H[0],$=H[1],ee=(0,f.useState)({}),te=x()(ee,2),ne=te[0],ie=te[1],se=(0,f.useState)([]),ae=x()(se,2),re=ae[0],le=ae[1],ce=(0,f.useState)({hidden:0,input_visible:!1,is_invisible:!1,actual_output_visible:!1,last_match_rule:!1}),oe=x()(ce,2),ue=oe[0],de=oe[1],he=(0,f.useState)([!1]),pe=x()(he,2),xe=pe[0],fe=pe[1],_e=(0,f.useState)(!1),me=x()(_e,2),ve=(me[0],me[1]),je=(0,f.useState)(),ge=x()(je,2),be=ge[0],ye=ge[1],ke=(0,f.useRef)({formValue:{},testSetList:[],uploadData:[]}),Ze=(0,f.useState)(!0),Ne=x()(Ze,2),Pe=Ne[0],we=Ne[1],Se=(0,f.useState)(!0),Ce=x()(Se,2),Ie=Ce[0],Te=Ce[1],Ee=(0,f.useRef)(null),Fe=(0,f.useState)(!1),Le=x()(Fe,2),Be=Le[0],Ve=Le[1],Oe=(0,f.useState)(!1),De=x()(Oe,2),Re=De[0],We=De[1],Ae=(0,f.useState)(!1),ze=x()(Ae,2),qe=ze[0],Me=ze[1],Ue=(0,_.useParams)(),Xe=(0,f.useState)(!1),Je=x()(Xe,2),Ge=Je[0],Ke=Je[1],Ye=(0,f.useState)(!1),He=x()(Ye,2),Qe=He[0],$e=He[1],et=(0,f.useState)(!1),tt=x()(et,2),nt=tt[0],it=tt[1],st=(0,f.useState)(!1),at=x()(st,2),rt=at[0],lt=at[1],ct=(0,f.useState)(!1),ot=x()(ct,2),ut=ot[0],dt=ot[1],ht=["test_set_rules","go_back_url","next_challenge","position","name","chooses","st","id","path","exec_path","show_type","original_picture_path","expect_picture_path","picture_path","test_set_rules_expression","web_route","test_set_score","test_set_average","exec_time","ignore_space","with_code_file","unity_3d","unity_3d_routes","unity_3d_result","has_web_route","test_sets","is_file","proxy_port","unity3d_show_location"],pt=[];(0,f.useEffect)((function(){xt()}),[]),(0,f.useEffect)((function(){console.log(Q);var e=Q.every((function(e){return 1===e.hidden}));Ke(e);var t=Q.every((function(e){return e.is_invisible}));$e(t);var n=Q.every((function(e){return e.last_match_rule}));it(n);var i=Q.every((function(e){return e.input_visible}));lt(i);var s=Q.every((function(e){return e.actual_output_visible}));dt(s)}),[Q]),(0,f.useEffect)((function(){return"{}"!==JSON.stringify(ke.current.formValue)&&ke.current.testSetList.length&&ft(),function(){clearTimeout(Ee.current)}}),[D,re]);var xt=function(){var e=h()(c()().mark((function e(){var t,n,i,s,a;return c()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return we(!0),e.next=3,p({type:"shixunsDetail/getRepository",payload:{id:Ue.id,path:""}});case 3:return t=e.sent,Te(null===(null==t?void 0:t.trees)),e.next=7,(0,T.ii)({id:Ue.id,challengeId:Ue.challengesId,tab:1});case 7:(n=e.sent)&&(we(!1),s=(null===(i=n.test_sets)||void 0===i||null===(i=i[0])||void 0===i?void 0:i.is_file)||!1,a=u()(u()({},n),{},{is_file:s}),ie(a),parseInt(null==n?void 0:n.code_compile_score)>0&&Me(!0),mt(a));case 9:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ft=function(){clearTimeout(Ee.current),Ee.current=setTimeout(_t,500)},_t=function(){!ht.some((function(e){var t=(0,M.isNumber)(D[e])?String(D[e]):D[e],n=(0,M.isNumber)(ke.current.formValue[e])?String(ke.current.formValue[e]):ke.current.formValue[e];return!(0,M.isEqual)(t,n)}))&&(0,M.isEqual)(ke.current.testSetList,re)&&(0,M.isEqual)(ke.current.uploadData,Q)?p({type:"practiceSetting/setSideBarTabs",payload:{confirmLeave:!1}}):p({type:"practiceSetting/setSideBarTabs",payload:{confirmLeave:!0}})},mt=function(e){if(e.proxy_port=(null==e?void 0:e.proxy_port)||8080,B.setFieldsValue(u()({},e)),R(u()({},e)),null!=e&&e.is_file){var t=e.test_sets||[];$(t);var n=[{hidden:0,input:"",output:"",score:100}];ke.current={formValue:u()({},e),testSetList:n,uploadData:t},le(n),fe(Array(n.length).fill(!1))}else{var i,s=null!==(i=e.test_sets)&&void 0!==i&&i.length?e.test_sets:[{hidden:0,input:"",output:"",score:100}];ke.current={formValue:u()({},e),testSetList:s,uploadData:[]},fe(Array(s.length).fill(!1)),le(s)}},vt=function(){var e=h()(c()().mark((function e(t){return c()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Ie){e.next=3;break}return y.Z.confirm({centered:!0,title:"提示",content:"请先上传本关任务的所有代码文件、标准图片等所有必要的文件到代码仓库",okText:"去上传",onOk:function(){p({type:"practiceSetting/setSideBarTabs",payload:{tabsActive:"warehouse"}}),_.history.push("/shixuns/".concat(Ue.id,"/edit?tabId=warehouse"))},cancelText:"取消"}),e.abrupt("return");case 3:p({type:"shixunsDetail/setActionTabs",payload:{key:"EditPracticeSetting-SelectFilePath"}}),ye(t);case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),jt=function(e){var t=parseInt(B.getFieldValue("code_compile_score")||0),n=Math.floor((100-t)/e.length),i=n+(100-t)%e.length;e=e.map((function(t,s){return s===e.length-1?u()(u()({},t),{},{score:i}):u()(u()({},t),{},{score:n})})),ke.current.testSetList=(0,M.clone)(e),le(e)},gt=function(e){var t=parseInt(B.getFieldValue("code_compile_score")||0),n=Math.floor((100-t)/e.length),i=n+(100-t)%e.length;e=e.map((function(t,s){return s===e.length-1?u()(u()({},t),{},{score:i}):u()(u()({},t),{},{score:n})})),ke.current.uploadData=(0,M.clone)(e),$(e)},bt=function(){var e=h()(c()().mark((function e(t){var n,i,s,a=arguments;return c()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=a.length>1&&void 0!==a[1]&&a[1],i=a.length>2&&void 0!==a[2]?a[2]:1,t.path&&!t.path.endsWith("")&&(t.path=t.path+""),e.next=5,(0,T.Rs)(u()(u()({},Ue),{},{tab:1,challenge:u()(u()(u()({},t),{test_set_rules_expression:0===t.test_set_rules?null:t.test_set_rules_expression}),{},{shixunfileexpectpicturepath:t.original_picture_path,shixunfilestandardpicturepath:t.expect_picture_path}),test_set:pt,sync_origin_shixun:n}));case 5:e.sent.status>=0&&(null!=d&&null!==(s=d.detail)&&void 0!==s&&s.copy_for_exercise&&(0,J.m)(p,d,Ue.id,i),_.history.replace("/shixuns/".concat(Ue.id,"/edit/").concat(Ue.challengesId,"/tab=3")));case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return console.log(Q,444),(0,W.jsxs)(f.Fragment,{children:[(0,W.jsxs)("section",{className:E.bg,children:[(0,W.jsxs)(b.Z,{form:B,className:E.formWrap,scrollToFirstError:!0,layout:"vertical",onValuesChange:function(e){var t=B.getFieldValue();R(u()({},t)),"test_set_score"in e&&e.test_set_score&&(B.setFieldsValue({test_set_average:!0}),D.is_file?gt(Q):jt(re)),"test_set_average"in e&&e.test_set_average&&(D.is_file?gt(Q):jt(re)),"unity_3d"in e&&(e.unity_3d||(B.setFieldsValue({with_code_file:!0}),R(u()(u()({},t),{},{with_code_file:!0}))))},onFinish:function(e){var t,n,i=parseInt(B.getFieldValue("code_compile_score")||0);if(e.is_file){if(null==Q||!Q.length)return void k.ZP.error("测试集不能为空");var s=Q.map((function(e){return e.score})).reduce((function(e,t){return e+t}),0)+i;if(e.test_set_score&&100!==s&&null!=re&&re.length)return void k.ZP.error("测试集的评分占比之和必须等于100");pt=Q}if(!e.is_file){var a=re.map((function(e){return e.score})).reduce((function(e,t){return e+t}),0)+i;if(e.test_set_score&&100!==a&&null!=re&&re.length)return void k.ZP.error("测试集的评分占比之和必须等于100");pt=re.map((function(e){return u()(u()({},e),{},{is_file:!1})}))}e.test_set_score||(pt=pt.map((function(e){return u()(u()({},e),{},{is_target:!1,target_name:""})}))),null!=d&&null!==(t=d.detail)&&void 0!==t&&t.is_fork_from_creator&&null!=d&&null!==(n=d.detail)&&void 0!==n&&n.copy_for_exercise&&null!=ne&&ne.has_relation?p({type:"classroomList/setActionTabs",payload:{key:"同步修改",value:e,type:"taskLevel",fn:function(e,t,n){bt(e,t,n)}}}):bt(e)},initialValues:{test_set_rules:0},children:[(0,W.jsx)(X.Z,{activeIndex:1}),(0,W.jsxs)("div",{className:E.onePart,children:[(null===(t=d.detail)||void 0===t?void 0:t.identity)<3&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(b.Z.Item,{label:"嵌入第三方平台:",children:[(0,W.jsx)(b.Z.Item,{name:"unity_3d",noStyle:!0,valuePropName:"checked",children:(0,W.jsx)(Z.Z,{disabled:2===(null===(n=d.detail)||void 0===n?void 0:n.shixun_status)})}),(0,W.jsx)("span",{className:"font14 c-light-black",children:"(可以在学员页面直接嵌入第三方平台)"})]}),D.unity_3d&&(null===(i=d.detail)||void 0===i?void 0:i.identity)<3&&(0,W.jsx)(b.Z.Item,{name:"unity_3d_routes",label:"路径:",rules:[{required:!0,message:"必填项:不能为空"}],children:(0,W.jsx)(j.Z,{bordered:!1,disabled:2===(null===(a=d.detail)||void 0===a?void 0:a.shixun_status),placeholder:"请输入第三方平台的链接地址。例https://..."})})]}),D.unity_3d&&(null===(l=d.detail)||void 0===l?void 0:l.identity)<3&&(0,W.jsxs)(f.Fragment,{children:[(0,W.jsx)(b.Z.Item,{name:"with_code_file",label:"是否需要代码评测:",children:(0,W.jsxs)(N.ZP.Group,{children:[(0,W.jsx)(N.ZP,{value:!0,children:"是"}),(0,W.jsx)(N.ZP,{value:!1,children:"否"})]})}),D.with_code_file?(0,W.jsx)(b.Z.Item,{name:"unity_3d_result",label:"评测结果是否由 Unity3D 决定:",children:(0,W.jsxs)(N.ZP.Group,{children:[(0,W.jsx)(N.ZP,{value:!0,children:"是"}),(0,W.jsx)(N.ZP,{value:!1,children:"否"})]})}):null,D.with_code_file?(0,W.jsx)(b.Z.Item,{name:"unity3d_show_location",label:"Unity3D内容展示位置:",children:(0,W.jsxs)(N.ZP.Group,{children:[(0,W.jsx)(N.ZP,{value:0,children:"左侧(任务要求上方)"}),(0,W.jsx)(N.ZP,{value:1,children:"右侧(可通过实验环境切换)"})]})}):null]})]}),(0,W.jsx)("div",{className:E.twoPart,children:D.with_code_file&&(0,W.jsxs)(f.Fragment,{children:[(0,W.jsx)("div",{className:E.title,children:"评测文件"}),(0,W.jsx)(b.Z.Item,{name:"exec_time",label:(0,W.jsxs)("div",{children:["评测时长限制 ",(0,W.jsx)("span",{className:"font12 c-light-black",children:"(程序编译、执行所允许的最大时长,单位:秒)"})]}),rules:[{required:!0,message:"必填项:不能为空"}],children:(0,W.jsx)(j.Z,{bordered:!1,placeholder:"请输入评测时长",className:E.width300})}),(0,W.jsxs)(b.Z.Item,{label:(0,W.jsxs)("div",{children:["评测结果展示方式 ",(0,W.jsx)("span",{className:"font12 c-light-black",children:"(学员评测本关任务时,查看效果页上需要展现的文件类型)"})]}),children:[(0,W.jsx)(b.Z.Item,{name:"show_type",noStyle:!0,rules:[{required:!0,message:"必填项:不能为空"}],children:(0,W.jsxs)(v.default,{bordered:!1,size:"large",style:{width:600},getPopupContainer:function(e){return e.parentNode},children:[(0,W.jsx)(G,{value:-1,children:"测试集对比"}),(0,W.jsx)(G,{value:1,children:"图片"}),(0,W.jsx)(G,{value:2,children:"apk/exe"}),(0,W.jsx)(G,{value:3,children:"txt"}),(0,W.jsx)(G,{value:4,children:"html"}),(0,W.jsx)(G,{value:5,children:"mp3"}),(0,W.jsx)(G,{value:6,children:"mp4"}),(0,W.jsx)(G,{value:7,children:"LaTeX"}),(0,W.jsx)(G,{value:8,children:"office"}),(0,W.jsx)(G,{value:9,children:"Verilog"})]})}),(0,W.jsx)(P.Z,{overlayClassName:E.popover,placement:"bottomLeft",content:(0,W.jsxs)("p",{className:"font12",children:["图片:处理或输出图片类型的任务,请选填此项",(0,W.jsx)("br",{}),"可以通过设置图片路径和学员答案文件路径,展示代码对应的图片效果",(0,W.jsx)("br",{}),(0,W.jsx)("br",{}),"apk/exe写可执行文件的任务请选填此项",(0,W.jsx)("br",{}),"可以通过设置学员答案文件路径,展示二维码以供扫码下载",(0,W.jsx)("br",{}),(0,W.jsx)("br",{}),"txt输出txt文档类型的任务请选填此项",(0,W.jsx)("br",{}),"可以通过学员答案文件路径设置展示txt文件内容",(0,W.jsx)("br",{}),(0,W.jsx)("br",{}),"htmlweb类型的任务请选填此项",(0,W.jsx)("br",{}),"可以通过Web路由设置展示html效果预览页",(0,W.jsx)("br",{}),(0,W.jsx)("br",{}),"mp3/mp4mp3/mp4文件类型的任务请选填此项",(0,W.jsx)("br",{}),"可以通过学员答案文件路径设置展示mp3/mp4文件内容",(0,W.jsx)("br",{}),(0,W.jsx)("br",{}),"LaTeXLaTeX实验报告的任务请选择此项",(0,W.jsx)("br",{}),"学员可以使用LaTeX系统撰写实验报告最终以PDF格式展示",(0,W.jsx)("br",{}),(0,W.jsx)("span",{className:"c-red",children:"注意选择了LaTeX的关卡需要教师手动对该关卡进行判分"}),(0,W.jsx)("br",{}),(0,W.jsx)("br",{}),"OfficeMicrosoftOffice相关文件的任务请选填此项",(0,W.jsx)("br",{}),"注意学生上传的office文件目录是在/data/bigfiles目录下如果要做评测请读取此目录的文件",(0,W.jsx)("br",{})]}),trigger:"click",children:(0,W.jsx)(m.Z,{className:"ml5 font24 c-light-black"})})]}),(0,W.jsx)(b.Z.Item,{name:"path",label:(0,W.jsxs)("div",{children:["学员任务文件 ",(0,W.jsx)("span",{className:"font12 c-light-black",children:"(该文件将直接显示给学生,需要学生在其中填写代码)"})]}),rules:[{required:!0,message:"必填项:不能为空"}],children:(0,W.jsx)(j.Z,{bordered:!1,placeholder:"点击选择代码文件,可同时选择多个文件",onClick:function(){return vt(Y.Path)}})}),(0,W.jsx)(b.Z.Item,{name:"exec_path",label:(0,W.jsxs)("div",{children:["评测执行文件 ",(0,W.jsx)("span",{className:"font12 c-light-black",children:"(点击评测按钮时调用的文件,用于检测学员结果是否正确,可以与“学员任务文件”一致)"})]}),rules:[{required:!0,message:"必填项:不能为空"}],children:(0,W.jsx)(j.Z,{bordered:!1,placeholder:"点击选择代码文件",onClick:function(){return vt(Y.ExecPath)}})}),4===D.show_type&&(D.web_route||(null==ne?void 0:ne.has_web_route))&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(b.Z.Item,{name:"proxy_port",label:(0,W.jsxs)("div",{children:["端口号 ",(0,W.jsx)("span",{className:"font12 c-light-black",children:"请注意将服务器程序的端口号映射到以下端口默认8080"})]}),rules:[{required:!0,message:"请输入端口号"},{validator:function(e,t){return/^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/.test(t)||!t?Promise.resolve():Promise.reject(new Error("端口输入范围(0-65535)"))}}],children:(0,W.jsx)(j.Z,{bordered:!1,placeholder:"请输入0-65535的值"})}),(0,W.jsx)(b.Z.Item,{name:"web_route",label:(0,W.jsxs)("div",{children:["Web路由 ",(0,W.jsx)("span",{className:"font12 c-light-black",children:" 网站类型的实践项目请填写Web路由地址"})]}),children:(0,W.jsx)(j.Z,{bordered:!1,placeholder:"网站类型实训请填写Web路由地址。例java/mypage"})})]}),(1===D.show_type||5===D.show_type||6===D.show_type)&&(0,W.jsx)(b.Z.Item,{name:"original_picture_path",label:(0,W.jsxs)("div",{children:["源文件目录 ",(0,W.jsx)("span",{className:"font12 c-light-black",children:"(该目录用于存放需要处理的图片/MP3/MP4等文件建议使用单独的文件夹"})]}),children:(0,W.jsx)(j.Z,{bordered:!1,placeholder:"点击选择文件目录src/step1/sourcefiles",onClick:function(){return vt(Y.OriginalPicturePath)}})}),-1!==D.show_type&&(0,W.jsx)(b.Z.Item,{name:"picture_path",label:(0,W.jsxs)("div",{children:["学员答案文件目录 ",(0,W.jsx)("span",{className:"font12 c-light-black",children:"(该目录用于存放学员代码执行后生成的文件,建议使用单独的文件夹)"})]}),children:(0,W.jsx)(j.Z,{bordered:!1,placeholder:"点击选择文件目录src/step1/outputfiles",onClick:function(){return vt(Y.PicturePath)}})}),(1===D.show_type||5===D.show_type||6===D.show_type)&&(0,W.jsx)(b.Z.Item,{name:"expect_picture_path",label:(0,W.jsxs)("div",{children:["标准答案文件目录 ",(0,W.jsx)("span",{className:"font12 c-light-black",children:"(该目录用于存放最终作为参考的文件,在评测通过后会展示给学员查看,建议使用单独的文件夹)"})]}),children:(0,W.jsx)(j.Z,{bordered:!1,placeholder:"点击选择文件目录src/step1/expectedfiles",onClick:function(){return vt(Y.ExpectPicturePath)}})})]})}),(0,W.jsx)("div",{className:E.threePart,children:D.with_code_file&&(0,W.jsxs)(f.Fragment,{children:[(0,W.jsx)("div",{className:E.title,children:"评测规则"}),(0,W.jsxs)("div",{className:E.flexRowCenter,children:[(0,W.jsx)(b.Z.Item,{className:E.formCustom,name:"test_set_rules",label:"通关判定:",children:(0,W.jsxs)(N.ZP.Group,{className:"ml25",children:[(0,W.jsx)(N.ZP,{className:E.radioStyle,value:0,children:"实际输出与预期输出对比"}),(0,W.jsx)(N.ZP,{className:E.radioStyle,value:1,children:"实际输出满足规则"})]})}),1===D.test_set_rules&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(b.Z.Item,{name:"test_set_rules_expression",style:{marginTop:50,position:"relative",top:40},rules:[{required:!0,message:"必填项:不能为空"}],children:(0,W.jsx)(j.Z,{style:{width:400,marginLeft:-40},bordered:!1,placeholder:"适用于输出结果动态变化的程序"})}),(0,W.jsx)(P.Z,{overlayClassName:E.popover,placement:"bottomLeft",content:(0,W.jsxs)("p",{className:"font12",children:["使用示例1实际输出与预期输出的相对误差在0.01以内,可使用以下表达式:",(0,W.jsx)("br",{}),"(actual-expect)/expect <= 0.01",(0,W.jsx)("br",{}),"使用示例2实际输出结果包含某段字符串hello可使用以下表达式",(0,W.jsx)("br",{}),'string.contains(actual, "hello")',(0,W.jsx)("br",{}),(0,W.jsx)("br",{}),"若需要对输出结果中每个元素进行操作可使用list集合",(0,W.jsx)("br",{}),"示例参考假设程序实际输出为100 1000 10000预期输出为100.01 1000.02 10000.05",(0,W.jsx)("br",{}),"评测要求实际输出列表中元素与预期输出列表中对应元素相对误差在0.01 之内,可使以下表达式:",(0,W.jsx)("br",{}),"list.forEach( 'math.abs( (actualElem-expectElem)/expectElem ) <= 0.01 ' )",(0,W.jsx)("br",{}),(0,W.jsx)("br",{}),(0,W.jsx)("a",{href:"https://www.educoder.net/forums/4346",target:"_blank",style:{background:"#0152d9",color:"#fff"},children:"点击查看详情说明"}),(0,W.jsx)("br",{})]}),trigger:"click",children:(0,W.jsx)(m.Z,{style:{padding:"114px 0 0 9px"},className:"font24 c-light-black"})})]})]}),(0,W.jsx)(b.Z.Item,{className:E.formCustom,name:"ignore_space",label:"空格处理:",children:(0,W.jsxs)(N.ZP.Group,{className:"ml25",children:[(0,W.jsx)(N.ZP,{className:E.radioStyle,value:0,children:"不忽略空格"}),(0,W.jsx)(N.ZP,{className:E.radioStyle,value:1,children:"忽略首尾空格"}),(0,W.jsxs)(N.ZP,{className:E.radioStyle,value:2,children:["忽略所有空格",(0,W.jsx)("span",{className:"font12 c-light-black",children:"(评测过程中自动去掉所有空格进行对比)"})]})]})})]})}),(0,W.jsx)("div",{className:E.fourPart,children:D.with_code_file&&(0,W.jsxs)(f.Fragment,{children:[(0,W.jsx)("div",{className:E.title,children:"测试集"}),(0,W.jsx)(b.Z.Item,{className:E.testJi,name:"test_set_score",label:"得分规范:",children:(0,W.jsxs)(N.ZP.Group,{className:"ml25",children:[(0,W.jsxs)(N.ZP,{value:!1,className:E.radioStyle,children:["通过全部测试集",(0,W.jsx)("span",{className:"font12 c-light-black",children:"(所有测试集都正确时,才能获得金币)"})]}),(0,W.jsxs)(N.ZP,{value:!0,className:E.radioStyle,children:["通过部分测试集",(0,W.jsx)("span",{className:"font12 c-light-black",children:"(部分测试集正确时,按配置的比例获得金币)"})]})]})}),D.test_set_score&&(0,W.jsx)("div",{className:E.averageWarp,children:(0,W.jsx)(b.Z.Item,{className:E.averageCustom,name:"test_set_average",label:"",children:(0,W.jsxs)(N.ZP.Group,{children:[(0,W.jsx)(N.ZP,{style:{margin:"0 40px 0 20px"},value:!0,children:"均分比例"}),(0,W.jsx)(N.ZP,{value:!1,children:"自定义比例"})]})})}),D.test_set_score&&(0,W.jsxs)("div",{children:[(0,W.jsxs)("div",{style:{display:"flex",height:"30px",marginBottom:"10px",paddingLeft:"93px"},children:[(0,W.jsx)(Z.Z,{checked:qe,style:{display:"flex",alignItems:"center"},className:E.checkboxs,onChange:function(e){Me(e.target.checked),B.setFieldsValue({code_compile_score:0}),D.test_set_average&&(D.is_file?gt(Q):jt(re))},children:"启用编译通过即可得分"}),qe&&(0,W.jsxs)("span",{style:{display:"flex"},children:[(0,W.jsx)(b.Z.Item,{rules:[{required:!0,message:"请输入编译得分"}],name:"code_compile_score",children:(0,W.jsx)(w.Z,{onChange:function(){D.test_set_average&&(D.is_file?gt(Q):jt(re))},parser:function(e){return isNaN(parseInt(e))?"":parseInt(e)},min:0,max:100,style:{width:"85px",margin:"5px 0px",fontSize:"14px"}})})," ",(0,W.jsx)("span",{style:{display:"flex",alignItems:"center",marginLeft:"5px"},children:"%"})]})]}),(0,W.jsx)("div",{style:{paddingLeft:"85px",color:"#999",fontSize:"12px",marginBottom:"20px"},children:"(请注意该实训题是否有编译过程,若没有则无法获得编译得分)"})]}),(0,W.jsx)(b.Z.Item,{className:E.testJi,name:"is_file",label:"用例类型:",children:(0,W.jsx)(N.ZP.Group,{className:"ml25",children:(0,W.jsxs)(S.Z,{direction:"horizontal",children:[(0,W.jsx)(N.ZP,{value:!1,className:E.radioStyle,children:"文本"}),(0,W.jsx)(N.ZP,{value:!0,className:E.radioStyle,children:"文件"})]})})}),(0,W.jsxs)("div",{style:{marginTop:"20px"},className:E.upBtn,children:[!D.is_file&&(0,W.jsx)(C.ZP,{ghost:!0,disabled:xe.every((function(e){return!e})),type:"primary",className:"mb20",style:{right:"345px"},onClick:function(){return We(!0)},children:"批量设置"}),(0,W.jsx)(C.ZP,{ghost:!0,type:"primary",className:"mb20",style:{right:"174px"},onClick:function(){return function(){y.Z.confirm({title:"删除测试用例提示",content:"请确认是否将本关卡中的测试用例全部删除?",okText:"确认",cancelText:"取消",onOk:function(){e()}});var e=function(){D.is_file?gt([]):(jt([{hidden:0,input:"",output:"",score:0}]),fe([!1]))}}()},children:"一键删除测试用例"}),(0,W.jsx)(C.ZP,{ghost:!0,type:"primary",className:"mb20",style:{right:"4px"},onClick:function(){return Ve(!0)},children:"批量上传测试用例"}),D.is_file&&(0,W.jsx)(q.Y2,{showEvaluatingSetting:!0,onEvaluatingChange:function(e,t,n){"hidden"===n&&(e=e?1:0),console.log(e,t);var i=Q.map((function(i,s){return s===t?u()(u()({},i),{},r()({},n,e)):i}));$(i),console.log(i);var s=i.every((function(t){return t[n]===e}));"hidden"===n?Ke(s&&e):"is_invisible"===n?$e(s&&e):"input_visible"===n?lt(s&&e):"actual_output_visible"===n?dt(s&&e):it(s&&e)},checkAll1:Ge,checkAll2:Qe,checkAll3:nt,checkAll4:rt,checkAll5:ut,onSelectAll:function(e,t){"hidden"===t&&(e=e?1:0),console.log(e);var n=Q.map((function(n,i){return u()(u()({},n),{},r()({},t,e))}));$(n),"hidden"===t?Ke(e):"is_invisible"===t?$e(e):"input_visible"===t?lt(e):"actual_output_visible"===t?dt(e):it(e)},disabled:null==D?void 0:D.test_set_average,inputChange:function(e,t){console.log(e,t);var n=Q.map((function(n,i){return i===t?u()(u()({},n),{},{score:e.target.value?Number(e.target.value):0}):n}));$(n)},showScore:null==D?void 0:D.test_set_score,data:Q,onRemove:function(e,t){var n=s()(Q);n.splice(t,1),D.test_set_average?gt(n):$(n)}})]}),!D.is_file&&(0,W.jsx)(Z.Z,{checked:xe.every((function(e){return!!e})),onChange:function(e){var t=xe.map((function(){return e.target.checked}));fe(t),ve(e.target.checked)},children:"全选"}),!D.is_file&&re.map((function(e,t){return(0,W.jsxs)("div",{className:E.groupWrap,children:[(0,W.jsxs)("div",{className:"font16",children:[(0,W.jsx)(Z.Z,{checked:xe[t],onChange:function(e){console.log(xe);var n=s()(xe);n[t]=e.target.checked;var i=n.every((function(e){return e}));fe(n),ve(i)}}),(0,W.jsxs)("span",{className:"mr10 ml5",children:["组",t+1," : "]}),D.test_set_score&&(0,W.jsxs)("span",{style:{marginRight:100},children:[(0,W.jsx)(w.Z,{style:{width:85},value:e.score,precision:0,min:0,max:100,onBlur:function(e){if(Number(e)<0||Number(e)>100){k.ZP.info("测试用例的权重比例值限制为 0-100");var n=re.map((function(e,n){return n===t?u()(u()({},e),{},{score:100}):e})),i={test_set_average:!1};R(u()(u()({},D),i)),B.setFieldsValue(i),le(n)}},onChange:function(e){var n=re.map((function(n,i){return i===t?u()(u()({},n),{},{score:e?Number(e):0}):n})),i={test_set_average:!1};R(u()(u()({},D),i)),B.setFieldsValue(i),le(n)}}),(0,W.jsx)("span",{className:"ml10 mr10",children:"%"})]}),D.test_set_score&&(0,W.jsxs)(Z.Z,{className:"font14 ml5",checked:e.is_target,onChange:function(e){var n=re.map((function(n,i){return i===t?u()(u()({},n),{},{is_target:e.target.checked}):n}));le(n)},children:["指标测试集",(0,W.jsx)(I.Z,{title:"如需要输出指标,可以勾选指标测测试集,并对指标进行命名。教师可在实训作业的实训报告页面查看学生的指标是否合格。指标得分计入最终成绩",children:(0,W.jsx)(m.Z,{className:"ml5 font12 c-light-black"})})," "]}),e.is_target&&D.test_set_score&&(0,W.jsx)(j.Z,{value:e.target_name,maxLength:30,style:{width:"50%"},onChange:function(e){var n=re.map((function(n,i){return i===t?u()(u()({},n),{},{target_name:e.target.value}):n}));le(n)}}),(0,W.jsx)("span",{className:"tr flex1",style:{float:"right"},children:0!==t&&(0,W.jsx)(I.Z,{placement:"bottom",title:"删除",children:(0,W.jsx)("span",{className:"font16 c-red current",onClick:function(){var e=re.filter((function(e,n){return n!==t})),n=xe.filter((function(e,n){return n!==t}));fe(n),jt(e)},children:"删 除"})})})]}),(0,W.jsx)(K,{bordered:!1,className:"mt10",rows:5,placeholder:"输入",value:e.input,onChange:function(e){var n=re.map((function(n,i){return i===t?u()(u()({},n),{},{input:e.target.value}):n}));le(n)}}),(0,W.jsx)(K,{bordered:!1,className:"mt10",rows:5,placeholder:"预期输出",value:e.output,onChange:function(e){var n=re.map((function(n,i){return i===t?u()(u()({},n),{},{output:e.target.value}):n}));le(n)}}),(0,W.jsxs)("div",{className:"mt10",children:[(0,W.jsxs)("span",{className:"font14 mr15",children:["可见性: ",(0,W.jsx)(I.Z,{title:(0,W.jsxs)("div",{children:[(0,W.jsx)("span",{children:'全部隐藏:隐藏测试集可以防止学生通过"print"等手段直接通关'}),(0,W.jsx)("br",{}),(0,W.jsx)("span",{children:"隐藏输入:勾选后测试输入对学员始终不可见"}),(0,W.jsx)("br",{}),(0,W.jsx)("span",{children:"隐藏预期输出:勾选后预期输出对学员始终不可见"}),(0,W.jsx)("br",{}),(0,W.jsx)("span",{children:"隐藏实际输出:勾选后实际输出对学员始终不可见"}),(0,W.jsx)("br",{})]}),children:(0,W.jsx)(m.Z,{className:"ml5 font12 c-light-black"})})]}),(0,W.jsx)(Z.Z,{checked:1===e.hidden,onChange:function(e){var n=re.map((function(n,i){return i===t?u()(u()({},n),{},{hidden:e.target.checked?1:0,input_visible:e.target.checked,is_invisible:e.target.checked,actual_output_visible:e.target.checked}):n}));le(n)},children:(0,W.jsx)("span",{className:"font14",children:"全部隐藏"})}),(0,W.jsx)(Z.Z,{checked:1===e.hidden||e.input_visible,onChange:function(n){var i=re.map((function(i,s){if(s===t){var a=n.target.checked&&e.is_invisible&&e.actual_output_visible?1:0;return u()(u()({},i),{},{input_visible:n.target.checked,hidden:a})}return i}));le(i)},children:(0,W.jsx)("span",{className:"font14",children:"隐藏输入"})}),(0,W.jsx)(Z.Z,{checked:1===e.hidden||e.is_invisible,onChange:function(n){var i=re.map((function(i,s){if(s===t){var a=n.target.checked&&e.actual_output_visible&&e.input_visible?1:0;return u()(u()({},i),{},{is_invisible:n.target.checked,hidden:a})}return i}));le(i)},children:(0,W.jsx)("span",{className:"font14",children:"隐藏预期输出"})}),(0,W.jsx)(Z.Z,{checked:1===e.hidden||e.actual_output_visible,onChange:function(n){var i=re.map((function(i,s){if(s===t){var a=n.target.checked&&e.is_invisible&&e.input_visible?1:0;return u()(u()({},i),{},{actual_output_visible:n.target.checked,hidden:a})}return i}));le(i)},children:(0,W.jsx)("span",{className:"font14",children:"隐藏实际输出"})})]}),(0,W.jsxs)("div",{children:[(0,W.jsx)("span",{className:"font14 mr20",children:"特殊判定:"}),(0,W.jsx)(Z.Z,{checked:e.last_match_rule,onChange:function(e){var n=re.map((function(n,i){return i===t?u()(u()({},n),{},{last_match_rule:e.target.checked}):n}));le(n)},children:(0,W.jsxs)("span",{className:"font14",children:["末尾匹配",(0,W.jsx)("span",{className:"font12 c-light-black",children:"(实际输出与预期输出最后一行相同即可通关)"})]})})]})]},t)})),!D.is_file&&(0,W.jsxs)("div",{children:[(0,W.jsx)(C.ZP,{type:"primary",ghost:!0,className:"mt10",onClick:function(){var e=[].concat(s()(re),[{hidden:0,input:"",output:"",score:0}]);fe([].concat(s()(xe),[!1])),ve(!1),B.getFieldValue("test_set_average")?jt(e):le(e)},children:"新增测试集"}),(0,W.jsx)("span",{className:" ml20 mt10 font12 c-light-black",children:"温馨提示:公开测试集和隐藏测试集结合使用,可以降低作弊的机率;隐藏测试集,在“提交评测”时也将被系统自动检测"})]})]})})]}),(0,W.jsx)(z,{fileType:be,path:null==D?void 0:D[be],onFinish:function(e){return t=e,n=r()({},be,t),B.setFieldsValue(n),void R(u()(u()({},D),n));var t,n}})]},1),(0,W.jsx)(F.t,{onOk:function(){return B.submit()},className:"customFixedButton",onCancel:function(){var e,t=function(){_.history.push("/shixuns/".concat(Ue.id,"/challenges")),p({type:"practiceSetting/setSideBarTabs",payload:{confirmLeave:!1}})};null!=g&&null!==(e=g.sideBar)&&void 0!==e&&e.confirmLeave?y.Z.confirm({title:"离开此页提示",content:"系统可能不会保存您所做的更改。",okText:"离开",cancelText:"取消",onOk:function(){t()}}):t()}},2),(0,W.jsx)(U.Z,{loading:Pe}),(0,W.jsx)(q.ZP,{rootIdentifier:null==d||null===(o=d.detail)||void 0===o?void 0:o.root_identifier,visible:Be,onClose:function(){return Ve(!1)},onOK:function(e){if(null!=e&&e.length){if(B.setFieldsValue({is_file:null==e?void 0:e[0].is_file}),R(u()(u()({},D),{},{is_file:null==e?void 0:e[0].is_file})),null!=e&&e[0].is_file){var t=Q.concat(e.map((function(e){return u()(u()({},e),{},{hidden:0,is_invisible:!1,last_match_rule:!1})})));D.test_set_average?gt(t):$(t)}if(null==e||!e[0].is_file){var n=null==re?void 0:re.filter((function(e){return e.input||e.output})).concat(e);fe(Array(n.length).fill(!1)),D.test_set_average?jt(n):le(n)}}},multiple:!0,defaultMultipleValue:null==D?void 0:D.is_file}),(0,W.jsx)(y.Z,{open:Re,onOk:function(){var e=re.map((function(e,t){return xe[t]?(console.log(u()({},e)),console.log(u()({},ue)),console.log(u()(u()({},e),ue)),u()(u()({},e),ue)):e}));le(e),de({hidden:0,input_visible:!1,is_invisible:!1,actual_output_visible:!1,last_match_rule:!1}),We(!1)},centered:!0,okText:"确认",cancelText:"取消",onCancel:function(){de({hidden:0,input_visible:!1,is_invisible:!1,actual_output_visible:!1,last_match_rule:!1}),We(!1)},width:586,title:"批量设置",children:(0,W.jsxs)("div",{children:[(0,W.jsxs)("span",{className:"font14 mr15",children:["可见性: ",(0,W.jsx)(I.Z,{title:(0,W.jsxs)("div",{children:[(0,W.jsx)("span",{children:'全部隐藏:隐藏测试集可以防止学生通过"print"等手段直接通关'}),(0,W.jsx)("br",{}),(0,W.jsx)("span",{children:"隐藏输入:勾选后测试输入对学员始终不可见"}),(0,W.jsx)("br",{}),(0,W.jsx)("span",{children:"隐藏预期输出:勾选后预期输出对学员始终不可见"}),(0,W.jsx)("br",{}),(0,W.jsx)("span",{children:"隐藏实际输出:勾选后实际输出对学员始终不可见"}),(0,W.jsx)("br",{})]}),children:(0,W.jsx)(m.Z,{className:"ml5 font12 c-light-black"})})]}),(0,W.jsx)(Z.Z,{checked:1===ue.hidden,onChange:function(e){de(u()(u()({},ue),{},{hidden:e.target.checked?1:0,input_visible:e.target.checked,is_invisible:e.target.checked,actual_output_visible:e.target.checked}))},children:(0,W.jsx)("span",{className:"font14 mr10",children:"全部隐藏"})}),(0,W.jsx)(Z.Z,{checked:ue.input_visible,onChange:function(e){var t=e.target.checked&&ue.is_invisible&&ue.actual_output_visible?1:0;de(u()(u()({},ue),{},{hidden:t,input_visible:e.target.checked}))},children:(0,W.jsx)("span",{className:"font14 mr10",children:"隐藏输入"})}),(0,W.jsx)(Z.Z,{checked:ue.is_invisible,onChange:function(e){var t=e.target.checked&&ue.input_visible&&ue.actual_output_visible?1:0;de(u()(u()({},ue),{},{hidden:t,is_invisible:e.target.checked}))},children:(0,W.jsx)("span",{className:"font14 mr10",children:"隐藏预期输出"})}),(0,W.jsx)(Z.Z,{checked:ue.actual_output_visible,onChange:function(e){var t=e.target.checked&&ue.input_visible&&ue.is_invisible?1:0;de(u()(u()({},ue),{},{hidden:t,actual_output_visible:e.target.checked}))},children:(0,W.jsx)("span",{className:"font14",children:"隐藏实际输出"})}),(0,W.jsxs)("div",{className:"mt10",children:[(0,W.jsx)("span",{className:"font14 mr20",children:"特殊判定:"}),(0,W.jsx)(Z.Z,{checked:ue.last_match_rule,onChange:function(e){de(u()(u()({},ue),{},{last_match_rule:e.target.checked}))},children:(0,W.jsxs)("span",{className:"font14",children:["末尾匹配",(0,W.jsx)("span",{className:"font12 c-light-black",children:"(实际输出与预期输出最后一行相同即可通关)"})]})})]})]})})]})}))},55339:function(e,t,n){n.d(t,{Z:function(){return l}});var i=n(59301),s=n(43418),a=n(79265),r=n(37712),l=(0,a.connect)((function(e){return{globalSetting:e.globalSetting,practiceSetting:e.practiceSetting}}))((function(e){var t=e.activeIndex,n=e.isEdit,l=void 0===n||n,c=e.dispatch,o=e.practiceSetting,u=(0,a.useParams)(),d=u.id,h=u.challengesId,p=(0,i.useMemo)((function(){return[{name:"本关任务",url:"/shixuns/".concat(d,"/edit/").concat(h,"/editcheckpoint")},{name:"评测设置",url:"/shixuns/".concat(d,"/edit/").concat(h,"/tab=2")},{name:"参考答案",url:"/shixuns/".concat(d,"/edit/").concat(h,"/tab=3")},{name:"关卡排行榜",url:"/shixuns/".concat(d,"/edit/").concat(h,"/tab=4")}]}),[d,h]);return(0,r.jsx)("ul",{className:"challenge-nav",children:l?p.map((function(e,n){return t===n?(0,r.jsxs)("li",{children:[" ",(0,r.jsx)("a",{className:"active",children:e.name})," "]},e.url):(0,r.jsxs)("li",{children:[" ",(0,r.jsx)("a",{onClick:function(){return t=e.url,i=function(){a.history.push(t),c({type:"practiceSetting/setSideBarTabs",payload:{confirmLeave:!1}})},void(null!=o&&null!==(n=o.sideBar)&&void 0!==n&&n.confirmLeave?s.Z.confirm({title:"离开此页提示",content:"系统可能不会保存您所做的更改。",okText:"离开",cancelText:"取消",onOk:function(){i()}}):i());var t,n,i},children:e.name})," "]},e.url)})):(0,r.jsxs)("li",{children:[" ",(0,r.jsx)("a",{className:"active",children:p[0].name})," "]},p[0].url)})}))},51217:function(e,t,n){n.d(t,{Z:function(){return r}});n(59301);var i=n(71418),s="loading___lueiN",a=n(37712),r=function(e){return e.loading?(0,a.jsx)("div",{className:s,children:(0,a.jsx)(i.Z,{})}):(0,a.jsx)(a.Fragment,{})}},7188:function(e,t,n){n.d(t,{S:function(){return d},m:function(){return h}});var i=n(7557),s=n.n(i),a=n(41498),r=n.n(a),l=n(95972),c=n(8591),o=n(43418),u=n(37712),d=function(e){var t=document.createElement("textarea");return t.value=e,t.value},h=function(){var e=r()(s()().mark((function e(t,n,i,a,r){var d,h,p;return s()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t({type:"shixunsDetail/saveCopyForExercise",payload:{id:i,save_type:a}});case 2:d=e.sent,1===a?(0==(null==d?void 0:d.status)&&c.ZP.success("保存成功"),null!=d&&null!==(h=d.data)&&void 0!==h&&h.exists_same_shixun_name?t({type:"classroomList/setActionTabs",payload:{key:"重名修改",name:null==d||null===(p=d.data)||void 0===p?void 0:p.shixun_name}}):t({type:"classroomList/setActionTabs",payload:{}})):(t({type:"classroomList/setActionTabs",payload:{}}),0===(null==d?void 0:d.status)&&o.Z.info({title:"提示",width:460,icon:null,centered:!0,content:(0,u.jsx)("div",{children:(0,u.jsx)("div",{children:"实训同步修改完成,请验证实训是否可以正常使用。"})}),okText:"前往原实训",onOk:function(){var e;(0,l.xg)("/shixuns/".concat(null==n||null===(e=n.detail)||void 0===e||null===(e=e.fork_from)||void 0===e?void 0:e.fork_identifier,"/challenges"))}}));case 4:case"end":return e.stop()}}),e)})));return function(t,n,i,s,a){return e.apply(this,arguments)}}()}}]);