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.
2 lines
16 KiB
2 lines
16 KiB
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1273],{29487:function(se,K,n){n.d(K,{t:function(){return z}});var f=n(59301),w=n(3113),x={buttonFixed:"buttonFixed___vyq30",button:"button___hxmYv",buttonWrap:"buttonWrap___uK8dl"},J=n(92310),g=n.n(J),I=Object.defineProperty,L=Object.getOwnPropertySymbols,O=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable,$=(E,c,p)=>c in E?I(E,c,{enumerable:!0,configurable:!0,writable:!0,value:p}):E[c]=p,y=(E,c)=>{for(var p in c||(c={}))O.call(c,p)&&$(E,p,c[p]);if(L)for(var p of L(c))D.call(c,p)&&$(E,p,c[p]);return E};const z=({cancelText:E="\u53D6\u6D88",okText:c="\u786E\u5B9A",loading:p=!1,hasOkBtn:U=!0,hasCancelBtn:Y=!0,okButtonProps:P={},onCancel:M=()=>{},onOk:j=()=>{},className:V=""})=>f.createElement("div",{className:g()(x.buttonFixed,V)},f.createElement("div",{className:x.buttonWrap},Y&&f.createElement(w.ZP,{size:"middle",className:`${x.button} mr20`,onClick:M},E),U&&f.createElement(w.ZP,y({size:"middle",type:"primary",className:`${x.button} mr20`,loading:p,onClick:j},P),c)))},51273:function(se,K,n){n.d(K,{Z:function(){return Ee}});var f=n(59301),w=n(63144),x=n(36381),J=n(98135),g=n(78241),I=n(8591),L=n(43418),O=n(24905),D=n(6848),$=n(26220),y=n(5112),z=n(81327),E=n(95237),c=n(57809),p=n(78673),U=n(29487),Y=n(73304),P={wrap:"wrap___BgpUe",row:"row___UWxAG",textarea:"textarea___gaLin",btn:"btn___ZpuhS",sub:"sub___Jd_ZS"},M=n(90612),j=n(76265),V=n(35099),e=n(59301),re=Object.defineProperty,oe=Object.defineProperties,ce=Object.getOwnPropertyDescriptors,H=Object.getOwnPropertySymbols,ie=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable,Q=(B,m,i)=>m in B?re(B,m,{enumerable:!0,configurable:!0,writable:!0,value:i}):B[m]=i,d=(B,m)=>{for(var i in m||(m={}))ie.call(m,i)&&Q(B,i,m[i]);if(H)for(var i of H(m))de.call(m,i)&&Q(B,i,m[i]);return B},C=(B,m)=>oe(B,ce(m)),W=(B,m,i)=>new Promise((R,v)=>{var h=b=>{try{N(i.next(b))}catch(S){v(S)}},T=b=>{try{N(i.throw(b))}catch(S){v(S)}},N=b=>b.done?R(b.value):Promise.resolve(b.value).then(h,T);N((i=i.apply(B,m)).next())});const{Panel:me}=x.default,{TextArea:Fe}=J.default;var Ee=({active:B,type:m="jupyter"})=>{var i,R;const v=(0,w.useParams)(),[h]=g.default.useForm(),[T,N]=(0,f.useState)({}),[b,S]=(0,f.useState)(!1),[ve,pe]=(0,f.useState)(0),[F,A]=(0,f.useState)([]),[X,Be]=(0,f.useState)([]),[fe,Ce]=(0,f.useState)([]),_e=(R=(i=(0,V.eY)())==null?void 0:i.shixun)==null?void 0:R.editable;(0,f.useEffect)(()=>{B==="testCase"&&ge()},[B]),(0,f.useEffect)(()=>{he()},[]);const ge=()=>W(void 0,null,function*(){var t,l,u,o,a,r,_,k,q,ee,te,ue,ae,le;const be=[{hidden:0,input:"",output:"",score:100}],s=yield(0,j.ZP)(`/api/shixuns/${v==null?void 0:v.id}/jupyter_evalute_setting.json`,{method:"get"});if((s==null?void 0:s.status)===0){Ce((t=s==null?void 0:s.data)==null?void 0:t.standard_scripts);const ne={open_evaluate:(l=s==null?void 0:s.data)==null?void 0:l.open_evaluate,exec_time:((u=s==null?void 0:s.data)==null?void 0:u.exec_time)||3,test_set_score:((o=s==null?void 0:s.data)==null?void 0:o.test_set_score)===null?!1:(a=s==null?void 0:s.data)==null?void 0:a.test_set_score,test_set_average:((r=s==null?void 0:s.data)==null?void 0:r.test_set_average)===null?!0:(_=s==null?void 0:s.data)==null?void 0:_.test_set_average,choice_standard_scripts:((k=s==null?void 0:s.data)==null?void 0:k.choice_standard_scripts)||null,evaluate_script:((q=s==null?void 0:s.data)==null?void 0:q.evaluate_script)||"",evaluate_method:(ee=s==null?void 0:s.data)==null?void 0:ee.evaluate_method,use_jupyter_result:(te=s==null?void 0:s.data)==null?void 0:te.use_jupyter_result};h.setFieldsValue(ne),N(ne),A((ae=(ue=s==null?void 0:s.data)==null?void 0:ue.test_sets)!=null&&ae.length?(le=s==null?void 0:s.data)==null?void 0:le.test_sets:be)}}),he=()=>W(void 0,null,function*(){var t;const l=yield(0,j.ZP)(`/api/shixuns/${v==null?void 0:v.id}/get_jupyter_tags.json`,{method:"get"});(l==null?void 0:l.status)===0&&Be(((t=l==null?void 0:l.data)==null?void 0:t.list)||[])}),De=t=>W(void 0,null,function*(){const u=F.map(a=>a.score).reduce((a,r)=>a+r,0);if(t.test_set_score&&u!==100){I.ZP.warning("\u6D4B\u8BD5\u7528\u4F8B\u7684\u8BC4\u5206\u5360\u6BD4\u4E4B\u548C\u5FC5\u987B\u7B49\u4E8E100");return}if(t.evaluate_method===3&&(F!=null&&F.some(a=>!a.tags))){I.ZP.warning("\u8BF7\u9009\u62E9\u6307\u5B9A\u4EE3\u7801\u5757");return}S(!0),(yield(0,j.ZP)(`/api/shixuns/${v==null?void 0:v.id}/update_jupyter_evaluate_setting.json`,{method:"post",body:C(d({},t),{mirror_script_id:t==null?void 0:t.choice_standard_scripts,open_evaluate:t!=null&&t.open_evaluate?1:0,test_set:F.map(a=>C(d({},a),{is_file:!1}))})})).status===0&&I.ZP.success("\u4FDD\u5B58\u6210\u529F"),S(!1)}),ye=t=>{N(d({},h.getFieldsValue())),"test_set_average"in t&&(t!=null&&t.test_set_average)&&G(F),"test_set_score"in t&&(t!=null&&t.test_set_score)&&(h.setFieldsValue({test_set_average:!0}),N(C(d({},h.getFieldsValue()),{test_set_average:!0})),G(F)),"choice_standard_scripts"in t&&L.default.confirm({centered:!0,title:"\u63D0\u793A",okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",content:e.createElement("div",{className:"tc font16"},"\u539F\u6709\u811A\u672C\u5C06\u88AB\u65B0\u7684\u811A\u672C\u8986\u76D6\uFF0C\u65E0\u6CD5\u64A4\u9500",e.createElement("br",null),"\u662F\u5426\u786E\u8BA4\u6267\u884C\u8986\u76D6\u64CD\u4F5C"),onOk:()=>W(void 0,null,function*(){const l=yield(0,j.ZP)(`/api/shixuns/${v==null?void 0:v.id}/get_script_contents.json`,{method:"get",params:{id:v==null?void 0:v.id,script_id:t==null?void 0:t.choice_standard_scripts}});l!=null&&l.content&&(L.default.info({centered:!0,title:"\u63D0\u793A",okText:"\u77E5\u9053\u5566",content:e.createElement("div",{className:"tc font16"},"\u8BC4\u6D4B\u811A\u672C\u751F\u6210\u6210\u529F\uFF01")}),h.setFieldsValue({evaluate_script:l==null?void 0:l.content}),N(C(d({},h.getFieldsValue()),{evaluate_script:l==null?void 0:l.content})))})})},G=t=>{let l=0;const u=Math.floor((100-l)/t.length),o=u+(100-l)%t.length;t=t.map((a,r)=>r===t.length-1?C(d({},a),{score:o}):C(d({},a),{score:u})),A(t)},Ae=()=>{const t=[...F,{hidden:0,input:"",output:"",score:0}];h.getFieldValue("test_set_average")?G(t):A(t)},{test_set_score:Pe,test_set_average:Ne,choice_standard_scripts:xe,open_evaluate:Z}=T;return e.createElement("section",{className:P.wrap},e.createElement(g.default,{form:h,disabled:!Z,layout:"vertical",onValuesChange:ye,onFinish:De},e.createElement(g.default.Item,{name:"open_evaluate",style:{marginTop:10},valuePropName:"checked"},e.createElement(O.default,{disabled:!1},"\u542F\u7528Jupyter\u8BC4\u6D4B\u529F\u80FD")),e.createElement("h4",{className:"font14"},"\u8BC4\u6D4B\u65F6\u957F\u9650\u5236"),e.createElement(D.Z,{title:!Z&&"\u8BF7\u542F\u7528Jupyter\u8BC4\u6D4B\u529F\u80FD\u540E\uFF0C\u8FDB\u884C\u7F16\u8F91",placement:"topLeft"},e.createElement(g.default.Item,{label:"\u8BC4\u6D4B\u65F6\u957F\uFF08\u79D2\uFF09\uFF1A",name:"exec_time",className:P.row,rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8BC4\u6D4B\u65F6\u957F\u9650\u5236"},{type:"number",min:3,message:"\u6700\u5C0F\u9650\u5236\u65F6\u95F4\u662F3\u79D2"}]},e.createElement($.Z,{size:"large",style:{width:400},min:3}))),e.createElement("h4",{className:"font14 mb10"},"\u7CFB\u7EDF\u8BC4\u5206\u89C4\u5219"),e.createElement(D.Z,{title:!Z&&"\u8BF7\u542F\u7528Jupyter\u8BC4\u6D4B\u529F\u80FD\u540E\uFF0C\u8FDB\u884C\u7F16\u8F91",placement:"topLeft"},e.createElement(g.default.Item,{name:"test_set_score"},e.createElement(y.ZP.Group,null,e.createElement(z.Z,{direction:"vertical"},e.createElement(y.ZP,{value:!1},"\u901A\u8FC7\u5168\u90E8\u6D4B\u8BD5\u96C6",e.createElement("span",{className:"c-grey-999"}," \uFF08\u5B66\u5458\u8BC4\u6D4B\uFF0C\u4EC5\u5F53\u6240\u6709\u6D4B\u8BD5\u96C6\u90FD\u6B63\u786E\u65F6\uFF0C\u624D\u83B7\u5F97\u4E00\u6B21\u6027\u5956\u52B1\uFF09")),e.createElement(y.ZP,{value:!0},"\u901A\u8FC7\u90E8\u5206\u6D4B\u8BD5\u96C6",e.createElement("span",{className:"c-grey-999"}," \uFF08\u5B66\u5458\u8BC4\u6D4B\uFF0C\u901A\u8FC7\u6D4B\u8BD5\u96C6\u5373\u53EF\u83B7\u5F97\u5BF9\u5E94\u5956\u52B1\uFF09")))))),e.createElement(g.default.Item,{label:e.createElement("span",{style:{fontWeight:500},className:"c-black"},"\u8BC4\u6D4B\u8BBE\u7F6E"),name:"evaluate_method",style:{flexDirection:"row",marginTop:15},rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8BC4\u6D4B\u8BBE\u7F6E"}]},e.createElement(y.ZP.Group,null,e.createElement(z.Z,{direction:"vertical"},e.createElement(y.ZP,{value:1},"\u901A\u8FC7\u6240\u6709\u4EE3\u7801\u5757\u8BC4\u6D4B",e.createElement("span",{className:"c-grey-999"}," \uFF08\u5BF9\u5B66\u5458\u4EFB\u52A1\u6587\u4EF6\u7684\u6240\u6709\u975E\u7A7A\u4EE3\u7801\u5757\u8FDB\u884C\u8BC4\u6D4B\uFF09")),e.createElement(y.ZP,{value:3},"\u901A\u8FC7\u6307\u5B9A\u4EE3\u7801\u5757\u8BC4\u6D4B",e.createElement("span",{className:"c-grey-999"}," \uFF08\u5BF9\u5B66\u5458\u4EFB\u52A1\u6587\u4EF6\u7684\u6307\u5B9A\u975E\u7A7A\u4EE3\u7801\u5757\u8FDB\u884C\u8BC4\u6D4B\uFF09"))))),e.createElement(E.Z,{align:"middle",justify:"space-between",className:"font14"},e.createElement("div",{style:{fontWeight:500}},e.createElement("span",{className:P.sub},"*"),"\u6D4B\u8BD5\u7528\u4F8B"),e.createElement(D.Z,{title:!Z&&"\u8BF7\u542F\u7528Jupyter\u8BC4\u6D4B\u529F\u80FD\u540E\uFF0C\u8FDB\u884C\u7F16\u8F91",placement:"topLeft"},e.createElement(Y.op,{style:{borderRadius:2},onClick:Ae},"\u6DFB\u52A0\u6D4B\u8BD5\u7528\u4F8B"))),Pe&&e.createElement(g.default.Item,{name:"test_set_average"},e.createElement(y.ZP.Group,null,e.createElement(y.ZP,{value:!0},"\u5747\u5206\u6BD4\u4F8B"),e.createElement(y.ZP,{value:!1,style:{marginLeft:50}},"\u81EA\u5B9A\u4E49\u6BD4\u4F8B"))),e.createElement(D.Z,{title:!Z&&"\u8BF7\u542F\u7528Jupyter\u8BC4\u6D4B\u529F\u80FD\u540E\uFF0C\u8FDB\u884C\u7F16\u8F91",placement:"topLeft"},e.createElement("div",null,F.map((t,l)=>e.createElement(x.default,{activeKey:ve,key:l,onChange:()=>{pe(u=>u===l?null:l)}},e.createElement(me,{header:e.createElement("div",{className:"font16"},e.createElement("span",{className:"mr10"},"\u6D4B\u8BD5\u7528\u4F8B",l+1),T.test_set_score&&e.createElement("span",{style:{marginLeft:40}},e.createElement(J.default,{style:{width:120},value:t.score,onClick:u=>u.stopPropagation(),type:"number",disabled:Ne,onChange:u=>{const o=F.map((r,_)=>_===l?C(d({},r),{score:u.target.value?Number(u.target.value):0}):r),a={test_set_average:!1};N(d(d({},T),a)),h.setFieldsValue(a),A(o)}}),e.createElement("span",{className:"ml10 mr10"},"%")),e.createElement("span",{className:"tr flex1",style:{float:"right"}},l!==0&&e.createElement(D.Z,{placement:"bottom",title:"\u5220\u9664"},e.createElement("span",{style:{color:"#c5c5c5"},className:"current iconfont icon-shanchu4",onClick:u=>{u.stopPropagation(),L.default.confirm({centered:!0,icon:null,okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",title:"\u63D0\u793A",content:"\u786E\u8BA4\u8981\u5220\u9664\u8FD9\u4E2A\u6D4B\u8BD5\u7528\u4F8B\u5417\uFF1F",onOk:()=>{const o=F.filter((a,r)=>r!==l);G(o)}})}})))),key:l},e.createElement("div",null,T.evaluate_method===3&&e.createElement(E.Z,{align:"middle",className:"mb20"},e.createElement("div",null,e.createElement("span",{className:P.sub},"*"),e.createElement("span",null,"\u6307\u5B9A\u4EE3\u7801\u5757"),e.createElement(D.Z,{title:"\u8BF7\u5148\u5728Jupyter\u4E2D\u5BF9\u60A8\u9700\u8981\u8BC4\u6D4B\u7684\u6307\u5B9A\u4EE3\u7801\u5757\u5B8C\u6210\u6807\u7B7E\u8BBE\u7F6E\u3002"},e.createElement("i",{style:{marginLeft:6,marginRight:20,color:"#145DFF"},className:"iconfont icon-xiaowenhao2 font14"}))),e.createElement(c.default,{value:t.tags,size:"large",style:{width:450},onChange:u=>{const o=F.map((a,r)=>r===l?C(d({},a),{tags:u}):a);A(o)}},X==null?void 0:X.map(u=>e.createElement(c.default.Option,{value:u==null?void 0:u.tags,key:u==null?void 0:u.tags},u==null?void 0:u.tags)))),e.createElement(E.Z,{align:"middle"},e.createElement("div",null," ",e.createElement("span",null,"\u9884\u671F\u8F93\u51FA")),e.createElement(Fe,{bordered:!1,className:P.textarea,rows:5,placeholder:"\u9884\u671F\u8F93\u51FA",value:t.output,onChange:u=>{const o=F.map((a,r)=>r===l?C(d({},a),{output:u.target.value}):a);A(o)}})),e.createElement(E.Z,{className:"mt20",align:"middle"},e.createElement("div",null,e.createElement("span",null,"\u53EF\u89C1\u6027"),e.createElement(D.Z,{title:e.createElement("div",null,e.createElement("div",null,'\u5168\u90E8\u9690\u85CF\uFF1A\u9690\u85CF\u6D4B\u8BD5\u96C6\u53EF\u4EE5\u9632\u6B62\u5B66\u751F\u901A\u8FC7"print"\u7B49\u624B\u6BB5\u76F4\u63A5\u901A\u5173'),e.createElement("div",null,"\u9690\u85CF\u9884\u671F\u8F93\u51FA\uFF1A\u52FE\u9009\u540E\u9884\u671F\u8F93\u51FA\u5BF9\u5B66\u5458\u59CB\u7EC8\u4E0D\u53EF\u89C1"),e.createElement("div",null,"\u9690\u85CF\u5B9E\u9645\u8F93\u51FA\uFF1A\u52FE\u9009\u540E\u5B9E\u9645\u8F93\u51FA\u5BF9\u5B66\u5458\u59CB\u7EC8\u4E0D\u53EF\u89C1"))},e.createElement("i",{style:{marginLeft:6,marginRight:13,color:"#145DFF"},className:"iconfont icon-xiaowenhao2 font14"}))),e.createElement("div",null,e.createElement(O.default,{className:"font14 ml5",checked:t.hidden===1,onChange:u=>{const o=F.map((a,r)=>{if(r===l){let _={is_invisible:!1,actual_output_visible:!1};return u.target.checked&&(_={is_invisible:!0,actual_output_visible:!0}),C(d(d({},a),_),{hidden:u.target.checked?1:0})}return a});A(o)}},"\u5168\u90E8\u9690\u85CF")),e.createElement(O.default,{checked:t.is_invisible,style:{margin:"0 60px"},onChange:u=>{const o=F.map((a,r)=>{if(r===l){let _=0;return u.target.checked&&a.actual_output_visible&&(_=1),C(d({},a),{hidden:_,is_invisible:u.target.checked})}return a});A(o)}},"\u9690\u85CF\u9884\u671F\u8F93\u51FA"),e.createElement(O.default,{checked:t.actual_output_visible,onChange:u=>{const o=F.map((a,r)=>{if(r===l){let _=0;return u.target.checked&&a.is_invisible&&(_=1),C(d({},a),{hidden:_,actual_output_visible:u.target.checked})}return a});A(o)}},"\u9690\u85CF\u5B9E\u9645\u8F93\u51FA")),e.createElement("div",{className:"mt20"},e.createElement("span",{className:"font14 mr20"},"\u7279\u6B8A\u5224\u5B9A:"),e.createElement(O.default,{checked:t.last_match_rule,onChange:u=>{const o=F.map((a,r)=>r===l?C(d({},a),{last_match_rule:u.target.checked}):a);A(o)}},e.createElement("span",{className:"font14"},"\u672B\u5C3E\u5339\u914D",e.createElement("span",{className:"font12 c-light-black"},"\uFF08\u5B9E\u9645\u8F93\u51FA\u4E0E\u9884\u671F\u8F93\u51FA\u6700\u540E\u4E00\u884C\u76F8\u540C\u5373\u53EF\u901A\u5173\uFF09")))))))))),e.createElement("h4",{className:"font14 mt20 mb10"},e.createElement("span",{className:P.sub},"*"),"\u8BC4\u6D4B\u811A\u672C"),e.createElement(D.Z,{title:!Z&&"\u8BF7\u542F\u7528Jupyter\u8BC4\u6D4B\u529F\u80FD\u540E\uFF0C\u8FDB\u884C\u7F16\u8F91",placement:"topLeft"},e.createElement(g.default.Item,{name:"choice_standard_scripts",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8BC4\u6D4B\u811A\u672C"}]},e.createElement(c.default,{getPopupContainer:t=>t.parentNode,size:"large",style:{width:400},placeholder:"\u8BF7\u9009\u62E9\u8BC4\u6D4B\u811A\u672C"},fe.map((t,l)=>e.createElement(c.default.Option,{value:t.id,key:l},t.scptname))))),e.createElement(D.Z,{title:!Z&&"\u8BF7\u542F\u7528Jupyter\u8BC4\u6D4B\u529F\u80FD\u540E\uFF0C\u8FDB\u884C\u7F16\u8F91",placement:"topLeft"},e.createElement(g.default.Item,{name:"evaluate_script"},e.createElement(M.ZP,{height:450,style:{border:"1px solid #ccc"},language:"shell",theme:"vs-light",options:{readOnly:!Z}}))),(0,V.Ny)()&&e.createElement(E.Z,{className:"mb20",align:"middle"},e.createElement(g.default.Item,{name:"use_jupyter_result",className:"mt10",valuePropName:"checked",noStyle:!0},e.createElement(p.Z,null)),e.createElement("div",{className:"ml10"},"\u662F\u5426\u6CBF\u7528Jupyter\u8FD0\u884C\u7ED3\u679C"))),e.createElement(U.t,{okText:"\u4FDD\u5B58",hasOkBtn:_e,loading:b,onCancel:()=>w.history.push(`/shixuns/${v==null?void 0:v.id}/challenges`),onOk:()=>h.submit(),className:m==="jupyterLab"?P.btn:""}))}}}]);
|