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__Problems__OjForm__index....

2 lines
34 KiB

"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4994],{97309:function(Ze,G,a){a.d(G,{Z:function(){return T}});var i=a(87462),b=a(67294),j={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm0 76c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm128.01 198.83c.03 0 .05.01.09.06l45.02 45.01a.2.2 0 01.05.09.12.12 0 010 .07c0 .02-.01.04-.05.08L557.25 512l127.87 127.86a.27.27 0 01.05.06v.02a.12.12 0 010 .07c0 .03-.01.05-.05.09l-45.02 45.02a.2.2 0 01-.09.05.12.12 0 01-.07 0c-.02 0-.04-.01-.08-.05L512 557.25 384.14 685.12c-.04.04-.06.05-.08.05a.12.12 0 01-.07 0c-.03 0-.05-.01-.09-.05l-45.02-45.02a.2.2 0 01-.05-.09.12.12 0 010-.07c0-.02.01-.04.06-.08L466.75 512 338.88 384.14a.27.27 0 01-.05-.06l-.01-.02a.12.12 0 010-.07c0-.03.01-.05.05-.09l45.02-45.02a.2.2 0 01.09-.05.12.12 0 01.07 0c.02 0 .04.01.08.06L512 466.75l127.86-127.86c.04-.05.06-.06.08-.06a.12.12 0 01.07 0z"}}]},name:"close-circle",theme:"outlined"},$=j,W=a(74643),v=function(S,R){return b.createElement(W.Z,(0,i.Z)({},S,{ref:R,icon:$}))},T=b.forwardRef(v)},32693:function(Ze,G,a){a.d(G,{Z:function(){return T}});var i=a(87462),b=a(67294),j={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M705.6 124.9a8 8 0 00-11.6 7.2v64.2c0 5.5 2.9 10.6 7.5 13.6a352.2 352.2 0 0162.2 49.8c32.7 32.8 58.4 70.9 76.3 113.3a355 355 0 0127.9 138.7c0 48.1-9.4 94.8-27.9 138.7a355.92 355.92 0 01-76.3 113.3 353.06 353.06 0 01-113.2 76.4c-43.8 18.6-90.5 28-138.5 28s-94.7-9.4-138.5-28a353.06 353.06 0 01-113.2-76.4A355.92 355.92 0 01184 650.4a355 355 0 01-27.9-138.7c0-48.1 9.4-94.8 27.9-138.7 17.9-42.4 43.6-80.5 76.3-113.3 19-19 39.8-35.6 62.2-49.8 4.7-2.9 7.5-8.1 7.5-13.6V132c0-6-6.3-9.8-11.6-7.2C178.5 195.2 82 339.3 80 506.3 77.2 745.1 272.5 943.5 511.2 944c239 .5 432.8-193.3 432.8-432.4 0-169.2-97-315.7-238.4-386.7zM480 560h64c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z"}}]},name:"poweroff",theme:"outlined"},$=j,W=a(74643),v=function(S,R){return b.createElement(W.Z,(0,i.Z)({},S,{ref:R,icon:$}))},T=b.forwardRef(v)},77969:function(Ze,G){G.Z={header:"header___HqHSe",checkboxs:"checkboxs___ObBnD",field:"field___w_sM6","oj-form-container":"oj-form-container____odYP","oj-left-panel":"oj-left-panel___emEB2","oj-form-info":"oj-form-info___m00Ag",footer:"footer___O4iSJ",collapse:"collapse___Ltfkj","test-case-name":"test-case-name___miZcb","btn-remove-case":"btn-remove-case___cHap2","icon-tag":"icon-tag___gmyTb",btn_back:"btn_back___tNmX3",testJi:"testJi___L3fHb",upBtn:"upBtn___RGH6X",djs:"djs____TS0n",time:"time___IAdHc"}},1191:function(Ze,G,a){a.d(G,{Z:function(){return K}});var i=a(67294),b=a(79870),j=a(38244),$={flex_box_center:"flex_box_center___SFmJH",flex_space_between:"flex_space_between___f2H1D",flex_box_vertical_center:"flex_box_vertical_center___hW_hp",flex_box_center_end:"flex_box_center_end___yklmJ",flex_box_column:"flex_box_column___m0oUw",customTree:"customTree___ZhEHU",name:"name___RIkn2"},W=Object.defineProperty,v=Object.defineProperties,T=Object.getOwnPropertyDescriptors,te=Object.getOwnPropertySymbols,S=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable,ge=(d,B,P)=>B in d?W(d,B,{enumerable:!0,configurable:!0,writable:!0,value:P}):d[B]=P,X=(d,B)=>{for(var P in B||(B={}))S.call(B,P)&&ge(d,P,B[P]);if(te)for(var P of te(B))R.call(B,P)&&ge(d,P,B[P]);return d},Y=(d,B)=>v(d,T(B)),Z=(d,B)=>{var P={};for(var L in d)S.call(d,L)&&B.indexOf(L)<0&&(P[L]=d[L]);if(d!=null&&te)for(var L of te(d))B.indexOf(L)<0&&R.call(d,L)&&(P[L]=d[L]);return P},Se=(d,B,P)=>new Promise((L,Fe)=>{var N=Q=>{try{ve(P.next(Q))}catch(Ee){Fe(Ee)}},Ie=Q=>{try{ve(P.throw(Q))}catch(Ee){Fe(Ee)}},ve=Q=>Q.done?L(Q.value):Promise.resolve(Q.value).then(N,Ie);ve((P=P.apply(d,B)).next())}),K=d=>{var B=d,{value:P,onChange:L,defaultValue:Fe,disabled:N}=B,Ie=Z(B,["value","onChange","defaultValue","disabled"]);const[ve,Q]=(0,i.useState)([]),[Ee,We]=(0,i.useState)("1");(0,i.useEffect)(()=>{ce()},[]);const ce=()=>Se(void 0,null,function*(){const x=yield(0,j.NZ)({});if(x!=null&&x.data){const ye=[{title:i.createElement("div",{title:"\u6839\u76EE\u5F55",className:$.name},"\u6839\u76EE\u5F55"),value:0,key:0,icon:i.createElement("i",{className:"iconfont icon-wenjianjia2 c-light-primary mr10",style:{lineHeight:"19px"}}),children:Xe(x.data||[])}];Q(ye),We("2")}}),Xe=x=>{function ye(q){const Be=q.children,Ve=Array.isArray(Be)&&Be.length>0,Me=q==null?void 0:q.group_id;return{title:i.createElement("div",{title:q==null?void 0:q.name,className:$.name},q==null?void 0:q.name),value:Me,key:Me,icon:i.createElement("i",{className:"iconfont icon-wenjianjia2 c-light-primary mr10",style:{lineHeight:"19px"}}),children:Ve?Be==null?void 0:Be.map(Ye=>ye(Ye)):[]}}return x==null?void 0:x.map(q=>ye(q))},we=Fe?{defaultExpandedKeys:[0],defaultSelectedKeys:[0]}:{selectedKeys:P,defaultExpandedKeys:P};return i.createElement("div",{className:$.customTree},i.createElement(b.default,X(Y(X({key:Ee},we),{showIcon:!0,treeData:ve,onSelect:L,disabled:N}),Ie)))}},60076:function(Ze,G,a){a.d(G,{Z:function(){return $}});var i=a(67294),b=a(33054),j=a(67294),$=({defaultX:W="40%",leftChild:v,rightChild:T,className:te,hideResize:S=!1})=>{const[R,ge]=(0,i.useState)(W),X=(0,i.useRef)();function Y(){X.current=!0}(0,i.useEffect)(()=>{function xe(d){X.current&&(b.Z.publish("resize-move-bar",d),ge(d.pageX))}function K(){X.current=!1}return window.addEventListener("mousemove",xe),window.addEventListener("mouseup",K),()=>{window.removeEventListener("mousemove",xe),window.removeEventListener("mouseup",K)}},[]);const Z=typeof R=="number"&&R!==.01?`${R}px`:W,Se=`calc(100% - ${S?"0px":"4px"} - ${Z})`;return j.createElement("div",{className:`split-panel-container ${te}`},j.createElement("section",{style:{width:Z,display:R===.01?"none":""}},v),j.createElement("section",{className:"resize-x-bar",onMouseDown:Y},j.createElement("a",{className:"btn-resize"},j.createElement("svg",{width:"16",height:"13",viewBox:"0 0 16 13"},j.createElement("path",{d:"M12.245 7.53H5.647v1.882h6.598v2.823L16 8.471l-3.755-3.765V7.53zM10.353 4.706H3.755v2.823L0 3.765 3.755 0v2.824h6.598v1.882z"})))),j.createElement("section",{style:{width:Se}},T))}},5937:function(Ze,G,a){a.r(G),a.d(G,{Types:function(){return vt},default:function(){return Gt}});var i=a(67294),b=a(77969),j=a(69677),$=a(14446),W=a(47221),v=a(22150),T=a(2453),te=a(57953),S=a(71577),R=a(42563),ge=a(85546),X=a(31795),Y=a(84567),Z=a(78045),Se=a(93421),xe=a(86738),K=a(44048),d=a(35973),B=a(19575),P=a(32693),L=a(97309),Fe=a(35567),N=a(55834),Ie=a(15835),ve=a(60076),Q=a(72565),Ee=a(36295),We=a(76621),ce=a(40471),Xe=a(21434),we={"code-panel-container":"code-panel-container___rlI_l","action-oj-bar":"action-oj-bar___WLV9q",active:"active___CLsJG"},x=a(67294),ye=Object.defineProperty,q=Object.defineProperties,Be=Object.getOwnPropertyDescriptors,Ve=Object.getOwnPropertySymbols,Me=Object.prototype.hasOwnProperty,Ye=Object.prototype.propertyIsEnumerable,st=(n,s,_)=>s in n?ye(n,s,{enumerable:!0,configurable:!0,writable:!0,value:_}):n[s]=_,Ce=(n,s)=>{for(var _ in s||(s={}))Me.call(s,_)&&st(n,_,s[_]);if(Ve)for(var _ of Ve(s))Ye.call(s,_)&&st(n,_,s[_]);return n},Le=(n,s)=>q(n,Be(s));const Pt={theme:(0,ce.G)("cmCodeMode","vs-dark"),fontSize:(0,ce.G)("cmFontSize",14),showEditorSetting:!1,tabToSpace:(0,ce.G)("cmTabToSpace",!0)};var At=(n=>(n[n.set_font_size=0]="set_font_size",n[n.set_theme=1]="set_theme",n[n.on_tab_to_space=2]="on_tab_to_space",n[n.set_show_editor_setting=3]="set_show_editor_setting",n))(At||{});function kt(n,s){switch(s.type){case 3:return Le(Ce({},n),{showEditorSetting:s.payload});case 1:return Le(Ce({},n),{theme:s.payload});case 0:return Le(Ce({},n),{fontSize:s.payload});case 2:return Le(Ce({},n),{tabToSpace:s.payload});default:throw new Error}}var Ot=({isLoading:n,value:s,onChange:_,language:be,onUpdateCode:O,form:E})=>{var me;const[H,r]=(0,i.useReducer)(kt,Pt),{theme:ae,fontSize:le,showEditorSetting:fe,tabToSpace:De}=H,A=(0,i.useRef)(),ue=(0,i.useRef)(),c=v.default.useWatch(["hack_codes","language"],E),pe={onFontSizeChange:F=>{r({type:0,payload:F}),(0,ce.t)("cmFontSize",F)},tabToSpace:De,cmFontSize:le,className:"oj",cmCodeMode:ae,onTabToSpace:F=>{r({type:2,payload:F}),(0,ce.t)("cmTabToSpace",F)},onCodeModeChange:F=>{r({type:1,payload:F}),(0,ce.t)("cmCodeMode",F)}};function U(){r({type:3,payload:!1})}function se(){r({type:3,payload:!0})}const ne={value:s,language:be,theme:"vs",height:"calc(100% - 56px)",options:{fontSize:le,insertSpaces:De},onChange:F=>{_(F),ue.current=F,clearTimeout(A.current),A.current=setTimeout(()=>{O(ue.current)},1e4)},onEditBlur:F=>{ue.current&&O(ue.current)}};return x.createElement(i.Fragment,null,x.createElement("div",{className:we["code-panel-container"]},x.createElement("div",{className:we["action-oj-bar"]},(me=[c])==null?void 0:me.map(F=>x.createElement("aside",{className:we.active,key:F},x.createElement("i",{className:"iconfont icon-bianchengyuyan1"}),x.createElement("span",null,F)))),!n&&x.createElement(Ee.ZP,Ce({},ne))),x.createElement(We.Z,null,x.createElement(Q.Z,{rootClassName:"oj",title:null,placement:"right",closable:!1,open:fe,onClose:U},x.createElement(Xe.Z,Ce({},pe)))))},Zt=a(69223),St=a(33170),Qe=a(28706),xt=a(11320),It=a(4069),wt=a(1191),it=a(32259),ot=a(56443),rt=a(71573),jt=a(41307),e=a(67294),Tt=Object.defineProperty,Nt=Object.defineProperties,Vt=Object.getOwnPropertyDescriptors,ct=Object.getOwnPropertySymbols,Mt=Object.prototype.hasOwnProperty,Lt=Object.prototype.propertyIsEnumerable,dt=(n,s,_)=>s in n?Tt(n,s,{enumerable:!0,configurable:!0,writable:!0,value:_}):n[s]=_,f=(n,s)=>{for(var _ in s||(s={}))Mt.call(s,_)&&dt(n,_,s[_]);if(ct)for(var _ of ct(s))Lt.call(s,_)&&dt(n,_,s[_]);return n},g=(n,s)=>Nt(n,Vt(s)),de=(n,s,_)=>new Promise((be,O)=>{var E=r=>{try{H(_.next(r))}catch(ae){O(ae)}},me=r=>{try{H(_.throw(r))}catch(ae){O(ae)}},H=r=>r.done?be(r.value):Promise.resolve(r.value).then(E,me);H((_=_.apply(n,s)).next())});const{TextArea:mt}=j.default,{confirm:ft}=$.default,{Panel:zt}=W.default;function pt(){return new Date().getTime()}const Rt={loading:!0,user:null,disciplines:[],dicts:null,status:0,data:void 0,lastedUpdateTime:0};var vt=(n=>(n[n.SET_INITAL_DATA=0]="SET_INITAL_DATA",n[n.SET_LOADING=1]="SET_LOADING",n[n.SET_STATUS=2]="SET_STATUS",n))(vt||{});function Kt(n,s){switch(s.type){case 0:return f(f({},n),s.payload);case 1:return g(f({},n),{loading:s.payload});case 2:return g(f({},n),{status:s.payload});default:throw new Error}}var Gt=()=>{var n,s;const[_]=(0,d.useSearchParams)(),be=(0,d.useLocation)(),{id:O}=(0,d.useParams)(),[E]=v.default.useForm(),[me,H]=(0,i.useState)(),[r,ae]=(0,i.useState)([]),[le,fe]=(0,i.useState)([]),[De,A]=(0,i.useReducer)(Kt,Rt),{loading:ue,data:c,user:pe,disciplines:U,dicts:se,status:ne}=De,F=c==null?void 0:c.hack_sets,ie=(n=c==null?void 0:c.hack)==null?void 0:n.test_set_average,{callback_url:I,express_id:_e,score:je,question_id:Te,type:ze}=(0,Qe.oP)(),[he,Re]=(0,i.useState)([]),[Ke,Ge]=(0,i.useState)(!1),[qe,$e]=(0,i.useState)(!1),oe=ze==="1",et=(0,i.useMemo)(()=>{let t=[];return U&&(0,K.D0)(U,t),t},[U]),Ne=(0,i.useCallback)((t=0)=>de(void 0,null,function*(){var l,p;let m=U;if(m.length===0&&(m=(yield(0,N.d1)("new_question")).disciplines),O){let h={disciplines:m};const o=yield(0,N.fu)(O);if(o.message)o.status==="401"&&(document.location.href="/user/login");else{const{category:u,user:k,code:M,language:re,hack_sets:C,description:z,difficult:J,name:ee,open_or_not:y,sub_discipline_id:ke,tag_discipline_id:Et,analysis:ut,time_limit:_t,test_set_average:ht,test_set_score:gt,status:na,tag_discipline_ids:nt,item_banks_group_id:Ft,is_file:Je=!1,hide_actual_output:la,code_compile_score:yt,languages:sa,is_my:ia,codes:Bt,submit_rule:oa}=o,[Oe,ra]=(0,K.y3)(m,ke);Ge(la);const Ct=Je?[{input:"",output:"",score:100,position:1}]:C;Je?(fe(C),E.setFieldsValue({hack_sets:Ct})):fe([]);const{lastedUpdateTime:bt}=(0,Qe.oP)(),Dt=Bt==null?void 0:Bt.map(lt=>g(f({},lt),{code:B.Base64.decode(lt==null?void 0:lt.code)}));h=g(f({},h),{loading:!1,user:k,dicts:ra,status:na,lastedUpdateTime:t||bt||0,data:{hack_codes:{language:re,code:B.Base64.decode(M)},hack:{category:u,difficult:J,name:ee,description:z,open_or_not:y,time_limit:_t,test_set_average:ht,test_set_score:gt,sub_discipline_id:Oe,tag_discipline_ids:nt,languages:sa,score:je||1,item_banks_group_ids:Ft,is_file:Je,is_my:ia,code_compile_score:yt,analysis:ut,submit_rule:oa},hack_sets:Ct,tags:nt,codes:Dt}}),parseInt(yt)>0&&$e(!0),A({type:0,payload:h}),H({hack:{category:u,difficult:J,name:ee,description:z,open_or_not:y,time_limit:_t,test_set_average:ht,test_set_score:gt,sub_discipline_id:Oe,tag_discipline_ids:nt,score:je||1,item_banks_group_ids:Ft,is_file:Je,analysis:ut},codes:Dt}),He(Oe==null?void 0:Oe[0],Oe==null?void 0:Oe[1],m)}}else{const{user:h}=yield(0,N.PR)(),{difficult:o,sub_discipline_id:u,tag_discipline_id:k,tagIds:M,banksIds:re}=(0,Qe.oP)(),[C,z]=(0,K.y3)(m,parseInt(u,10));let J=[Number(re)];A({type:0,payload:{loading:!1,user:h,disciplines:m,status:0,dicts:z,data:{hack_codes:{language:"C",code:""},hack:{category:null,difficult:parseInt(o,10),time_limit:3,description:"",test_set_score:!0,test_set_average:!0,open_or_not:!0,sub_discipline_id:C,tag_discipline_id:M&&((l=M==null?void 0:M.split(","))==null?void 0:l.map(ee=>Number(ee))),name:"",item_banks_group_ids:J,is_file:!1},tags:k?k==null?void 0:k.split(",").map(ee=>parseInt(ee,10)):[],hack_sets:[{input:"",output:"",score:100,position:1}]}}}),H({hack:{category:null,difficult:parseInt(o,10),time_limit:3,description:"",test_set_average:!0,open_or_not:!0,sub_discipline_id:C,tag_discipline_id:M&&((p=M==null?void 0:M.split(","))==null?void 0:p.map(ee=>Number(ee))),name:"",item_banks_group_id:J,is_file:!1}}),He(C==null?void 0:C[0],C==null?void 0:C[1],m)}}),[O,U]);(0,i.useEffect)(()=>{try{Ne()}catch(t){console.log(t,"----")}},[]),(0,i.useEffect)(()=>{function t(){return de(this,null,function*(){let l=yield(0,St.U2)("item_banks_groups/mine.json");Re(l)})}t()},[]);const He=(t,l,p)=>{var m,h,o;const u=(o=(h=(m=p==null?void 0:p.find(k=>k.id===t))==null?void 0:m.sub_disciplines)==null?void 0:h.find(k=>k.id===l))==null?void 0:o.tag_disciplines};function Pe(t,l,p){return de(this,null,function*(){var m;const{hack_sets:h,hack_codes:o,hack:u,tags:k,codes:M}=f({},t);u.hide_actual_output=Ke;let re=[],C=[],z=0;const J=u!=null&&u.is_file?le.map((y,ke)=>g(f({},y),{position:ke+1})):h.map(y=>g(f({},y),{is_file:!1}));for(let y of J)z+=y.score,y.id&&y.id>=0?re.push(y):C.push(y);if(!(J!=null&&J.length)){T.ZP.error("\u6D4B\u8BD5\u96C6\u4E0D\u80FD\u4E3A\u7A7A");return}if(z+=parseInt(u.code_compile_score||0),z!==100&&!u.test_set_score){T.ZP.error("\u6D4B\u8BD5\u96C6\u7684\u8BC4\u5206\u5360\u6BD4\u4E4B\u548C\u5FC5\u987B\u7B49\u4E8E100");return}if(J!=null&&J.some(y=>!y.output)){T.ZP.error("\u6D4B\u8BD5\u96C6\u8F93\u51FA\u4E0D\u80FD\u4E3A\u7A7A");return}let ee={};if(oe?M==null||M.forEach(y=>{ee[y.language]=y!=null&&y.code?B.Base64.encode(y==null?void 0:y.code):""}):o.code=B.Base64.encode(o==null?void 0:o.code),u.sub_discipline_id=(m=u.sub_discipline_id)==null?void 0:m[1],A({type:1,payload:!0}),I||(u.score=u.difficult*100),O){if(yield(0,N.l_)(O,{hack:u,hack_codes:o,hack_sets:C,update_hack_sets:re,tags:k,is_cover:p,languages:u.languages,codes:ee}),I){if(yield(0,N.j2)(O),I.includes("paperlibrary")){(yield(0,ot.oF)({id:_e,question_id:Te,item_type:rt.c.Program,name:u.name,question_score:u.score,difficulty:u.difficult,sub_discipline_id:u.sub_discipline_id,tag_discipline_ids:u.tag_discipline_ids,item_banks_group_ids:u.item_banks_group_ids,analysis:u.analysis})).status===0&&d.history.replace(I);return}const{status:y}=yield(0,N.GM)(Te,{question_type:6,question_score:u.score,question_title:u.name,description:u.description,sub_discipline_id:u.sub_discipline_id,tag_discipline_ids:u.tag_discipline_ids,item_banks_group_ids:u.item_banks_group_ids,identifier:O,analysis:u.analysis});if(y===0){if(l==="start")return;d.history.replace(I)}}else T.ZP.success("\u4FDD\u5B58\u6210\u529F"),Ne(pt());A({type:1,payload:!1})}else{const{identifier:y,exam_identifier:ke}=yield(0,N.zQ)({hack:u,hack_codes:o,hack_sets:J,tags:k,examination_bank_id:_e||null});if(A({type:1,payload:!1}),l==="start")return;if(y)if(!I)d.history.replace(`/problems/${y}/edit?lastedUpdateTime=${pt()}`);else if(yield(0,N.j2)(y),O)d.history.replace(I);else{if(I.includes("paperlibrary")){(yield(0,ot.oF)({id:_e,item_type:rt.c.Program,name:u.name,question_score:u.score,difficulty:u.difficult,sub_discipline_id:u.sub_discipline_id,tag_discipline_ids:u.tag_discipline_ids,identifier:ke,analysis:u.analysis})).status===0&&d.history.replace(I);return}const{status:Et}=yield(0,N.MK)(parseInt(_e,10),{question_type:6,question_score:u.score,question_title:u.name,identifier:y,tag_discipline_ids:u.tag_discipline_ids,analysis:u.analysis});Et===0&&d.history.replace(I)}}})}function tt(){E.submit(),setTimeout(()=>de(this,null,function*(){const t=yield(0,N.j2)(O);t.status===0?(T.ZP.success("\u53D1\u5E03\u6210\u529F"),A({type:2,payload:1})):T.ZP.info(t.message)}),400)}function Ue(){return de(this,null,function*(){const t=yield(0,N.ZS)(O);t.status===0?(T.ZP.success("\u64A4\u9500\u53D1\u5E03\u6210\u529F"),A({type:2,payload:0})):T.ZP.info(t.message)})}function D(){ft(ne===0?{title:"\u63D0\u793A",content:e.createElement(i.Fragment,null," ",e.createElement("div",null,"\u53D1\u5E03\u540E\u5373\u53EF\u5E94\u7528\u5230\u81EA\u5DF1\u7BA1\u7406\u7684\u8BFE\u5802")," ",e.createElement("div",null," \u662F\u5426\u786E\u8BA4\u53D1\u5E03?")," "),okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",onOk(){tt()}}:{title:"\u63D0\u793A",content:e.createElement("p",null,"\u662F\u5426\u786E\u8BA4\u64A4\u9500\u53D1\u5E03\uFF1F"),okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",onOk(){Ue()}})}function w(){return de(this,null,function*(){Pe(yield E.getFieldValue(),"start"),setTimeout(()=>de(this,null,function*(){const{identifier:t}=yield(0,N.uE)(O);oe?window.location.href=`/myproblems/${t}?type=1`:window.location.href=`/myproblems/${t}`}),400)})}function V(){var t;if(I)d.history.replace(I);else if(oe){let l=(t=localStorage.getItem("program_homework"))==null?void 0:t.split(",");d.history.push(`/classrooms/${l==null?void 0:l[0]}/program_homework/${l==null?void 0:l[1]}/detail`)}else d.history.replace("/problemset")}const Ae=t=>{let l=parseInt(E.getFieldValue("hack").code_compile_score)||0;const p=Math.floor((100-l)/t.length),m=p+(100-l)%t.length;t=t.map((h,o)=>o===t.length-1?g(f({},h),{score:m}):g(f({},h),{score:p})),fe(t)};function at(t){t.target.value||Ae(le),A({type:0,payload:{data:g(f({},c),{hack:g(f({},c.hack),{test_set_score:t.target.value})})}})}function Ht(t){A({type:0,payload:{data:g(f({},c),{hack:g(f({},c.hack),{is_file:t.target.value})})}})}function Ut(t){Ge(t.target.checked)}function Jt(t){const l=t.target.value;l&&Ae(le),A({type:0,payload:{data:g(f({},c),{hack:g(f({},c.hack),{test_set_average:l})})}})}function Wt(){let t=E.getFieldValue("hack_sets"),l=parseInt(E.getFieldValue("hack").code_compile_score)||0;const p=t.length+1,m=Math.floor((100-l)/p),h=(100-l)%p;t.map((o,u)=>(ie&&(o.score=m),o.position=u+1,o)),t.push({input:"",output:"",position:p,score:ie?m+h:0}),E.setFieldsValue({hack_sets:t}),A({type:0,payload:{data:g(f({},c),{hack_sets:t})}})}function Xt(){let t=E.getFieldValue("hack_sets"),l=parseInt(E.getFieldValue("hack").code_compile_score)||0;const p=t.length,m=Math.floor((100-l)/p),h=(100-l)%p;t.map((o,u)=>(ie&&(o.score=m,u===t.length-1&&(o.score=m+h)),o.position=u+1,o)),E.setFieldsValue({hack_sets:t}),A({type:0,payload:{data:g(f({},c),{hack_sets:t})}})}(0,i.useEffect)(()=>{if(ie){let t=parseInt(E.getFieldValue("hack").code_compile_score)||0;const l=F==null?void 0:F.length,p=Math.floor((100-t)/l),m=(100-t)%l;F==null||F.map((h,o)=>(h.score=p,h.position=o+1,o===l-1&&(h.score=p+m),h)),A({type:0,payload:{data:g(f({},c),{hack_sets:F})}}),E.setFieldsValue({hack_sets:F})}},[ie]);function Yt(t){let l=E.getFieldValue("hack_sets"),p=parseInt(E.getFieldValue("hack").code_compile_score)||0;const m=(l==null?void 0:l.length)-1,h=Math.floor((100-p)/m),o=(100-p)%m;l.splice(t,1),l==null||l.map((u,k)=>(ie&&(u.score=h,k===m-1&&(u.score=h+o)),u.position=k+1,u)),A({type:0,payload:{data:g(f({},c),{hack_sets:l})}}),E.setFieldsValue({hack_sets:l})}function Qt(t){A({type:0,payload:{data:g(f({},c),{hack_codes:g(f({},c.hack_codes),{language:t})})}})}const qt=t=>{var l,p,m,h,o,u;if((l=t==null?void 0:t.hack)!=null&&l.sub_discipline_id){const[k,M]=(p=t==null?void 0:t.hack)==null?void 0:p.sub_discipline_id,re=(o=(h=(m=U==null?void 0:U.find(z=>z.id===k))==null?void 0:m.sub_disciplines)==null?void 0:h.find(z=>z.id===M))==null?void 0:o.tag_disciplines,C=g(f({},E.getFieldsValue()),{hack:g(f({},(u=E.getFieldsValue())==null?void 0:u.hack),{tag_discipline_ids:[]})});E.setFieldsValue(C),H(C)}else H(f({},E.getFieldsValue()))},ea=t=>{ae([...r,f({},t)])};(0,i.useEffect)(()=>{var t,l,p,m;(l=(t=c==null?void 0:c.hack)==null?void 0:t.sub_discipline_id)!=null&&l[1]&&ta((m=(p=c==null?void 0:c.hack)==null?void 0:p.sub_discipline_id)==null?void 0:m[1])},[(s=c==null?void 0:c.hack)==null?void 0:s.sub_discipline_id]);const ta=t=>de(void 0,null,function*(){const l=yield(0,Ie.YY)({sub_discipline_id:t});ae(l.tag_disciplines)});function aa(t){let l=t[1];const[,p]=(0,K.y3)(U,l);E.setFieldsValue({tags:[]}),A({type:0,payload:{dicts:p,data:g(f({},c),{hack:g(f({},c.hack),{sub_discipline_id:t}),tags:[]})}})}const ua=(t,l=!1)=>{var p,m;if(l)return()=>{A({type:0,payload:{data:g(f({},c),{hack:g(f({},c.hack),{is_file:!0})})}}),E.setFieldsValue({hack:{is_file:!0}})};const h=t==null?void 0:t.map(C=>({input:C.input,output:C.output,score:0,position:1}));let o=(m=(p=E.getFieldValue("hack_sets"))==null?void 0:p.filter(C=>C.input||C.output))==null?void 0:m.concat(h),u=parseInt(E.getFieldValue("hack").code_compile_score)||0;const k=o==null?void 0:o.length,M=Math.floor((100-u)/k),re=(100-u)%k;o==null||o.map((C,z)=>(ie&&(C.score=M,z===k-1&&(C.score=M+re)),C.position=z+1,C)),A({type:0,payload:{data:g(f({},c),{hack_sets:o,hack:g(f({},c.hack),{is_file:!1})})}}),E.setFieldsValue({hack_sets:o,hack:{is_file:!1}})};return e.createElement(te.Z,{spinning:ue,delay:500},c?e.createElement(i.Fragment,null,e.createElement("header",{className:b.Z.header},e.createElement("div",null,e.createElement("img",{src:`${xt.Z.IMG_SERVER}/images/${pe==null?void 0:pe.image_url}`,alt:"user",width:30}),e.createElement("span",null,pe==null?void 0:pe.name)),e.createElement("h2",null," ",c==null?void 0:c.hack.name," "),O?e.createElement("a",{className:b.Z.btn_back,onClick:V}," ",e.createElement(P.Z,null),"\u9000\u51FA"):null),e.createElement(v.default,{form:E,initialValues:c,layout:"vertical",className:b.Z["oj-form-container"],onValuesChange:qt,onFinish:(t,l)=>{if(_.get("exercise")&&!I.includes("paperlibrary")){$.default.confirm({title:"\u4FDD\u5B58\u63D0\u793A",content:"\u6B64\u9898\u76EE\u5DF2\u5B58\u5728\u8BD5\u9898\u5E93\u4E2D\uFF0C\u662F\u5426\u5C06\u4FEE\u6539\u540E\u7684\u8BD5\u9898\u8986\u76D6\u8BD5\u9898\u5E93\u7684\u539F\u9898\uFF1F",okText:"\u8986\u76D6\u539F\u9898",cancelText:"\u4E0D\u8986\u76D6",onOk:()=>Pe(t,l,1),onCancel:()=>Pe(t,l,0)});return}Pe(t,l)}},e.createElement(ve.Z,{leftChild:e.createElement($t,{onAddTestCases:Xt,form:E,handleAddKnowledgeFinish:ea,MyGroup:he,formValue:me,knowledgeOptions:r,onChangeLanguage:Qt,onChangeSubDiscipline:aa,onRemoveTestCase:Yt,onAddTestCase:Wt,dicts:se,categorys:et,callback_url:I,hack:c.hack,onChangeScore:at,onChangehide:Ut,onChangeAverage:Jt,onChangeFile:Ht,uploadData:le,setUploadData:fe,handleUploadRatio:Ae,ischecked:Ke,isshows:qe,isProgram:oe,addUploadFnc:ua}),rightChild:oe?e.createElement(v.default.Item,{name:"codes",style:{marginBottom:0}},e.createElement(Zt.Z,null)):e.createElement(v.default.Item,{name:["hack_codes","code"],style:{marginBottom:0}},e.createElement(Ot,{language:c.hack_codes.language}))}),e.createElement("div",{className:b.Z.footer},O?e.createElement(i.Fragment,null,oe&&e.createElement(S.ZP,{onClick:V,type:"primary",ghost:!0},"\u9000\u51FA\u7F16\u8F91"),I||oe?null:e.createElement(S.ZP,{type:ne?"default":"primary",onClick:D},ne?"\u64A4\u9500\u53D1\u5E03":"\u7ACB\u5373\u53D1\u5E03"),e.createElement(S.ZP,{loading:ue,type:"primary",htmlType:"submit"},"\u4FDD\u5B58"),e.createElement(S.ZP,{type:"primary",onClick:w},ne?"\u5F00\u59CB\u6311\u6218":"\u6A21\u62DF\u6311\u6218")):e.createElement(i.Fragment,null,e.createElement(S.ZP,{onClick:V},"\u53D6\u6D88"),e.createElement(S.ZP,{loading:ue,type:"primary",htmlType:"submit"},"\u4FDD\u5B58"))))):null)};function $t({form:n,onAddTestCases:s,handleAddKnowledgeFinish:_,ischecked:be,MyGroup:O,formValue:E,knowledgeOptions:me,categorys:H,hack:r,callback_url:ae,onChangeAverage:le,onChangeScore:fe,onChangehide:De,onChangeFile:A,onAddTestCase:ue,onRemoveTestCase:c,onChangeSubDiscipline:pe,onChangeLanguage:U,uploadData:se,setUploadData:ne,handleUploadRatio:F,isshows:ie,isProgram:I,addUploadFnc:_e}){var je,Te,ze;const he=((je=location==null?void 0:location.search)==null?void 0:je.includes("select"))||!1,[Re,Ke]=(0,i.useState)(ie),[Ge,qe]=(0,i.useState)(!1),{test_set_average:$e,test_set_score:oe}=r,[et,Ne]=(0,i.useState)(!1),He=(D,w)=>{const V=[...se];V.splice(w,1),$e?F(V):ne(V)},Pe=(D,w)=>{console.log(D,w);const V=se.map((Ae,at)=>at===w?g(f({},Ae),{score:D.target.value?Number(D.target.value):0}):Ae);ne(V)},tt=D=>{if(D!=null&&D.length){if(D!=null&&D[0].is_file){_e(D,!0)();const w=se.concat(D);r.test_set_average?F(w):ne(w)}D!=null&&D[0].is_file||_e(D)}};function Ue(D){D.stopPropagation()}return e.createElement("div",{className:b.Z["oj-left-panel"]},e.createElement("div",{className:b.Z["oj-form-info"]},e.createElement("div",{className:b.Z.field},e.createElement(v.default.Item,{label:"\u96BE\u6613\u5EA6",name:["hack","difficult"],rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u96BE\u6613\u5EA6"}]},e.createElement(R.default,{disabled:he},(0,K.jw)(K.R8.difficult))),e.createElement(v.default.Item,{label:"\u8BFE\u7A0B(\u5408\u7406\u7684\u8BFE\u7A0B\u5206\u7C7B\u6709\u5229\u4E8E\u5FEB\u901F\u68C0\u7D22)",name:["hack","sub_discipline_id"],rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8BFE\u7A0B"}]},e.createElement(ge.Z,{disabled:he,allowClear:!1,options:H,placeholder:"\u8BF7\u9009\u62E9",onChange:pe}))),e.createElement("div",{className:b.Z.field},ae&&e.createElement(v.default.Item,{label:"\u5206\u6570",name:["hack","score"],rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u5206\u6570"}],extra:e.createElement("span",{style:{position:"absolute",left:100,top:5}},"\u5206")},e.createElement(X.Z,{disabled:he,min:1,max:100})),e.createElement(v.default.Item,{label:e.createElement("div",null,"\u5355\u4E2A\u6D4B\u8BD5\u96C6\u8BC4\u6D4B\u65F6\u957F\u9650\u5236 "),name:["hack","time_limit"],rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u5355\u4E2A\u6D4B\u8BD5\u96C6\u8BC4\u6D4B\u65F6\u957F\u9650\u5236"},{type:"number",min:1,message:"\u6700\u5C0F\u9650\u5236\u65F6\u95F4\u662F1\u79D2"}],extra:e.createElement("span",{style:{position:"absolute",left:100,top:5}},"\u79D2")},e.createElement(X.Z,{min:1})),I?e.createElement(v.default.Item,{label:"\u7F16\u7A0B\u8BED\u8A00",style:{paddingBottom:16},name:["hack","languages"],rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u7F16\u7A0B\u8BED\u8A00"}]},e.createElement(Y.default.Group,null,e.createElement(Y.default,{value:"C"},"C"),e.createElement(Y.default,{value:"C++"},"C++"),e.createElement(Y.default,{value:"Java"},"Java"),e.createElement(Y.default,{value:"Python"},"Python"))):e.createElement(v.default.Item,{label:"\u7F16\u7A0B\u8BED\u8A00",name:["hack_codes","language"],style:{paddingBottom:16},rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u7F16\u7A0B\u8BED\u8A00"}]},e.createElement(R.default,{onChange:U},(0,K.jw)(K.R8.language)))),e.createElement(v.default.Item,{label:e.createElement("span",null,"\u77E5\u8BC6\u70B9\uFF1A",e.createElement("span",{className:"c-grey-999"},"\uFF08\u6240\u6709\u81EA\u5EFA\u77E5\u8BC6\u70B9\u4EC5\u672C\u4EBA\u53EF\u89C1\uFF0C\u88ABEduCoder\u5E73\u53F0\u5BA1\u6838\u901A\u8FC7\u4E3A\u5B98\u65B9\u77E5\u8BC6\u70B9\u540E\u6240\u6709\u7528\u6237\u53EF\u89C1\uFF09")),name:["hack","tag_discipline_ids"]},e.createElement(It.N,{selectvalues:(r==null?void 0:r.tag_discipline_id)||(r==null?void 0:r.tag_discipline_ids),disabled:he,subId:(ze=(Te=E==null?void 0:E.hack)==null?void 0:Te.sub_discipline_id)==null?void 0:ze[1],knowledgeOptions:me,onAddKnowledgeFinish:_})),e.createElement(v.default.Item,{label:"\u52A0\u5165\u6587\u4EF6\u5939\u76EE\u5F55",name:["hack","item_banks_group_ids"],labelCol:{span:24},wrapperCol:{span:24}},e.createElement(wt.Z,{disabled:he})),e.createElement(v.default.Item,{label:"\u4EFB\u52A1\u540D\u79F0",name:["hack","name"],rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u4EFB\u52A1\u540D\u79F0"}]},e.createElement(j.default,{maxLength:60,placeholder:"\u8BF7\u8F93\u5165\u4EFB\u52A1\u540D\u79F0",suffix:e.createElement("span",null,60-r.name.length)})),e.createElement(v.default.Item,{name:["hack","description"],valuePropName:"defaultValue",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u63CF\u8FF0\u5185\u5BB9"}]},e.createElement(Fe.Z,{miniToolbar:!0,id:"moop_cases_content",noStorage:!0,height:200})),e.createElement("div",{onClick:()=>qe(!0)},e.createElement(v.default.Item,{label:"\u9898\u76EE\u89E3\u6790",name:["hack","analysis"],className:`${b.Z.baseLineHeight}`},e.createElement(jt.x,{placeholder:"\u8BF7\u7F16\u8F91\u9898\u76EE\u89E3\u6790\uFF08\u975E\u5FC5\u586B\uFF09",isEdit:Ge}))),e.createElement("div",{className:"tst-case-info"},e.createElement("h3",{className:"flex-container",style:{justifyContent:"space-between"}}," \u6D4B\u8BD5\u7528\u4F8B\u4E0E\u7CFB\u7EDF\u8BC4\u5206\u89C4\u5219",!r.is_file&&e.createElement(S.ZP,{type:"primary",ghost:!0,onClick:ue},"\u6DFB\u52A0\u6D4B\u8BD5\u7528\u4F8B")),e.createElement(v.default.Item,{name:["hack","test_set_score"]},e.createElement(Z.ZP.Group,{onChange:fe},e.createElement(Z.ZP,{value:!0},"\u901A\u8FC7\u5168\u90E8\u6D4B\u8BD5\u96C6",e.createElement("span",{className:"tip"}," \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(Z.ZP,{value:!1},"\u901A\u8FC7\u90E8\u5206\u6D4B\u8BD5\u96C6",e.createElement("span",{className:"tip"}," \uFF08\u5B66\u5458\u8BC4\u6D4B\uFF0C\u901A\u8FC7\u6D4B\u8BD5\u96C6\u5373\u53EF\u83B7\u5F97\u5BF9\u5E94\u5956\u52B1\uFF09")))),e.createElement(Y.default,{style:{marginBottom:"5px"},checked:be,onChange:De},"\u9690\u85CF\u5B9E\u9645\u8F93\u51FA \uFF08\u9009\u4E2D\uFF0C\u5219\u5728\u5B66\u751F\u8003\u8BD5\u8FC7\u7A0B\u4E2D\u65E0\u6CD5\u770B\u5230\u5B9E\u9645\u8F93\u51FA\u7ED3\u679C\uFF0C\u4EC5\u5C55\u793A\u662F\u5426\u8BC4\u6D4B\u662F\u5426\u901A\u8FC7\uFF09"),e.createElement(v.default.Item,{className:b.Z.testJi,name:["hack","is_file"],label:"\u7528\u4F8B\u7C7B\u578B:"},e.createElement(Z.ZP.Group,{onChange:A},e.createElement(Se.Z,{direction:"horizontal"},e.createElement(Z.ZP,{value:!1},"\u6587\u672C"),e.createElement(Z.ZP,{value:!0},"\u6587\u4EF6")))),e.createElement(v.default.Item,{label:"\u8BC4\u6D4B\u65F6\u7A7A\u683C\u5904\u7406",name:["hack","submit_rule"],rules:[{required:!0}]},e.createElement(Z.ZP.Group,null,e.createElement(Z.ZP,{value:0},"\u4E0D\u5FFD\u7565\u7A7A\u683C"),e.createElement(Z.ZP,{value:1},"\u5FFD\u7565\u9996\u5C3E\u7A7A\u683C"),e.createElement(Z.ZP,{value:2},"\u5FFD\u7565\u6240\u6709\u7A7A\u683C"))),!r.test_set_score&&e.createElement(v.default.Item,{name:["hack","test_set_average"],label:"\u7CFB\u7EDF\u8BC4\u5206\u5360\u6BD4"},e.createElement(Z.ZP.Group,{onChange:le},e.createElement(Z.ZP,{value:!0},"\u5747\u5206\u6BD4\u4F8B"),e.createElement(Z.ZP,{value:!1},"\u81EA\u5B9A\u4E49\u6BD4\u4F8B"))),!r.test_set_score&&e.createElement("div",{style:{marginBottom:"20px",marginTop:"-10px"}},e.createElement("div",{style:{display:"flex",height:"30px",marginBottom:"10px"}},e.createElement(Y.default,{checked:Re,style:{display:"flex",alignItems:"center"},className:b.Z.checkboxs,onChange:D=>{Ke(D.target.checked),n.setFieldsValue({hack:{code_compile_score:0}}),r.test_set_average&&(r.is_file?F(se):s())}},"\u542F\u7528\u7F16\u8BD1\u901A\u8FC7\u5373\u53EF\u5F97\u5206"),Re&&e.createElement("span",{style:{display:"flex"}},e.createElement(v.default.Item,{rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u7F16\u8BD1\u5F97\u5206"}],name:["hack","code_compile_score"]},e.createElement(X.Z,{onChange:()=>{r.test_set_average&&(r.is_file?F(se):s())},parser:D=>isNaN(parseInt(D))?"":parseInt(D),min:0,max:100,style:{width:"90px",margin:"5px 0px"}}))," ",e.createElement("span",{style:{display:"flex",alignItems:"center",marginLeft:"5px"}},"%"))),e.createElement("span",{style:{color:"#999",fontSize:"12px",marginLeft:"-8px"}},"\uFF08\u8BF7\u6CE8\u610F\u8BE5\u5B9E\u8BAD\u9898\u662F\u5426\u6709\u7F16\u8BD1\u8FC7\u7A0B\uFF0C\u82E5\u6CA1\u6709\u5219\u65E0\u6CD5\u83B7\u5F97\u7F16\u8BD1\u5F97\u5206\uFF09")),e.createElement("div",{className:b.Z.upBtn},e.createElement(S.ZP,{ghost:!0,type:"primary",className:"mb20",onClick:()=>Ne(!0)},"\u6279\u91CF\u4E0A\u4F20\u6D4B\u8BD5\u7528\u4F8B"),(r==null?void 0:r.is_file)&&e.createElement(it.Y2,{disabled:r==null?void 0:r.test_set_average,inputChange:Pe,showScore:!r.test_set_score,data:se,onRemove:He})),!r.is_file&&e.createElement(v.default.List,{name:"hack_sets"},(D,{})=>e.createElement(W.default,{accordion:!0,className:b.Z.collapse},D.map((w,V)=>e.createElement(zt,{key:`${w.key}--${V}`,header:e.createElement("a",{className:b.Z["test-case-name"]},e.createElement("span",null,"\u6D4B\u8BD5\u7528\u4F8B",V+1),oe?null:e.createElement(e.Fragment,null,e.createElement(v.default.Item,{name:[w.name,"score"],style:{marginBottom:0},fieldKey:[w.fieldKey,"score"],rules:[{required:!0,message:`\u8BF7\u8F93\u5165\u6D4B\u8BD5\u96C6${V+1}\u8BC4\u5206`}]},e.createElement(X.Z,{onClick:Ue,min:0,max:100,disabled:$e})),e.createElement("span",null,"%"))),extra:V>0?e.createElement("div",{onClick:Ue},e.createElement(xe.Z,{okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",title:"\u786E\u5B9A\u5220\u9664\u6D4B\u8BD5\u96C6"+(V+1),onConfirm:()=>{c(V)}},e.createElement(L.Z,{className:b.Z["btn-remove-case"]}))):null},e.createElement(v.default.Item,{label:"\u8F93\u5165",name:[w.name,"input"],fieldKey:[w.fieldKey,"input"]},e.createElement(mt,null)),e.createElement(v.default.Item,{label:"\u8F93\u51FA",name:[w.name,"output"],fieldKey:[w.fieldKey,"output"],rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8F93\u51FA\u5185\u5BB9"}]},e.createElement(mt,null)))))))),e.createElement(it.ZP,{rootIdentifier:null,visible:et,onClose:()=>Ne(!1),onOK:tt,multiple:!0,defaultMultipleValue:r==null?void 0:r.is_file}))}}}]);