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],{65363:function(Ze,G,a){a.d(G,{Z:function(){return H}});var i=a(60499),b=a(59301),w={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"},$=w,X=a(7657),v=function(R,ae){return b.createElement(X.Z,(0,i.Z)({},R,{ref:ae,icon:$}))},j=b.forwardRef(v),H=j},76618:function(Ze,G,a){a.d(G,{Z:function(){return H}});var i=a(60499),b=a(59301),w={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"},$=w,X=a(7657),v=function(R,ae){return b.createElement(X.Z,(0,i.Z)({},R,{ref:ae,icon:$}))},j=b.forwardRef(v),H=j},33299: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"}},96324:function(Ze,G,a){a.d(G,{Z:function(){return K}});var i=a(59301),b=a(17574),w=a(36141),$={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"},X=Object.defineProperty,v=Object.defineProperties,j=Object.getOwnPropertyDescriptors,H=Object.getOwnPropertySymbols,M=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable,ae=(d,B,P)=>B in d?X(d,B,{enumerable:!0,configurable:!0,writable:!0,value:P}):d[B]=P,Y=(d,B)=>{for(var P in B||(B={}))M.call(B,P)&&ae(d,P,B[P]);if(H)for(var P of H(B))R.call(B,P)&&ae(d,P,B[P]);return d},Q=(d,B)=>v(d,j(B)),Z=(d,B)=>{var P={};for(var L in d)M.call(d,L)&&B.indexOf(L)<0&&(P[L]=d[L]);if(d!=null&&H)for(var L of H(d))B.indexOf(L)<0&&R.call(d,L)&&(P[L]=d[L]);return P},Se=(d,B,P)=>new Promise((L,Fe)=>{var T=q=>{try{_e(P.next(q))}catch(Ee){Fe(Ee)}},xe=q=>{try{_e(P.throw(q))}catch(Ee){Fe(Ee)}},_e=q=>q.done?L(q.value):Promise.resolve(q.value).then(T,xe);_e((P=P.apply(d,B)).next())}),K=d=>{var B=d,{value:P,onChange:L,defaultValue:Fe,disabled:T}=B,xe=Z(B,["value","onChange","defaultValue","disabled"]);const[_e,q]=(0,i.useState)([]),[Ee,We]=(0,i.useState)("1");(0,i.useEffect)(()=>{de()},[]);const de=()=>Se(void 0,null,function*(){const S=yield(0,w.NZ)({});if(S!=null&&S.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(S.data||[])}];q(ye),We("2")}}),Xe=S=>{function ye(ee){const Be=ee.children,Ve=Array.isArray(Be)&&Be.length>0,Me=ee==null?void 0:ee.group_id;return{title:i.createElement("div",{title:ee==null?void 0:ee.name,className:$.name},ee==null?void 0:ee.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 S==null?void 0:S.map(ee=>ye(ee))},we=Fe?{defaultExpandedKeys:[0],defaultSelectedKeys:[0]}:{selectedKeys:P,defaultExpandedKeys:P};return i.createElement("div",{className:$.customTree},i.createElement(b.default,Y(Q(Y({key:Ee},we),{showIcon:!0,treeData:_e,onSelect:L,disabled:T}),xe)))}},22854:function(Ze,G,a){a.d(G,{Z:function(){return $}});var i=a(59301),b=a(21798),w=a(59301),$=({defaultX:X="40%",leftChild:v,rightChild:j,className:H,hideResize:M=!1})=>{const[R,ae]=(0,i.useState)(X),Y=(0,i.useRef)();function Q(){Y.current=!0}(0,i.useEffect)(()=>{function Ie(d){Y.current&&(b.Z.publish("resize-move-bar",d),ae(d.pageX))}function K(){Y.current=!1}return window.addEventListener("mousemove",Ie),window.addEventListener("mouseup",K),()=>{window.removeEventListener("mousemove",Ie),window.removeEventListener("mouseup",K)}},[]);const Z=typeof R=="number"&&R!==.01?`${R}px`:X,Se=`calc(100% - ${M?"0px":"4px"} - ${Z})`;return w.createElement("div",{className:`split-panel-container ${H}`},w.createElement("section",{style:{width:Z,display:R===.01?"none":""}},v),w.createElement("section",{className:"resize-x-bar",onMouseDown:Q},w.createElement("a",{className:"btn-resize"},w.createElement("svg",{width:"16",height:"13",viewBox:"0 0 16 13"},w.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"})))),w.createElement("section",{style:{width:Se}},j))}},97257:function(Ze,G,a){a.r(G),a.d(G,{Types:function(){return vt},default:function(){return Gt}});var i=a(59301),b=a(33299),w=a(92832),$=a(43418),X=a(36381),v=a(78241),j=a(8591),H=a(71418),M=a(3113),R=a(57809),ae=a(19842),Y=a(5871),Q=a(24905),Z=a(5112),Se=a(81327),Ie=a(14478),K=a(99612),d=a(91482),B=a(24334),P=a(76618),L=a(65363),Fe=a(40973),T=a(50263),xe=a(31591),_e=a(22854),q=a(43428),Ee=a(11488),We=a(53531),de=a(13357),Xe=a(24821),we={"code-panel-container":"code-panel-container___rlI_l","action-oj-bar":"action-oj-bar___WLV9q",active:"active___CLsJG"},S=a(59301),ye=Object.defineProperty,ee=Object.defineProperties,Be=Object.getOwnPropertyDescriptors,Ve=Object.getOwnPropertySymbols,Me=Object.prototype.hasOwnProperty,Ye=Object.prototype.propertyIsEnumerable,st=(n,s,E)=>s in n?ye(n,s,{enumerable:!0,configurable:!0,writable:!0,value:E}):n[s]=E,Ce=(n,s)=>{for(var E in s||(s={}))Me.call(s,E)&&st(n,E,s[E]);if(Ve)for(var E of Ve(s))Ye.call(s,E)&&st(n,E,s[E]);return n},Le=(n,s)=>ee(n,Be(s));const Pt={theme:(0,de.G)("cmCodeMode","vs-dark"),fontSize:(0,de.G)("cmFontSize",14),showEditorSetting:!1,tabToSpace:(0,de.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:E,language:be,onUpdateCode:O,form:_})=>{var fe;const[U,r]=(0,i.useReducer)(kt,Pt),{theme:ue,fontSize:se,showEditorSetting:pe,tabToSpace:De}=U,A=(0,i.useRef)(),ne=(0,i.useRef)(),c=v.default.useWatch(["hack_codes","language"],_),ve={onFontSizeChange:F=>{r({type:0,payload:F}),(0,de.t)("cmFontSize",F)},tabToSpace:De,cmFontSize:se,className:"oj",cmCodeMode:ue,onTabToSpace:F=>{r({type:2,payload:F}),(0,de.t)("cmTabToSpace",F)},onCodeModeChange:F=>{r({type:1,payload:F}),(0,de.t)("cmCodeMode",F)}};function J(){r({type:3,payload:!1})}function ie(){r({type:3,payload:!0})}const le={value:s,language:be,theme:"vs",height:"calc(100% - 56px)",options:{fontSize:se,insertSpaces:De},onChange:F=>{E(F),ne.current=F,clearTimeout(A.current),A.current=setTimeout(()=>{O(ne.current)},1e4)},onEditBlur:F=>{ne.current&&O(ne.current)}};return S.createElement(i.Fragment,null,S.createElement("div",{className:we["code-panel-container"]},S.createElement("div",{className:we["action-oj-bar"]},(fe=[c])==null?void 0:fe.map(F=>S.createElement("aside",{className:we.active,key:F},S.createElement("i",{className:"iconfont icon-bianchengyuyan1"}),S.createElement("span",null,F)))),!n&&S.createElement(Ee.ZP,Ce({},le))),S.createElement(We.Z,null,S.createElement(q.Z,{rootClassName:"oj",title:null,placement:"right",closable:!1,open:pe,onClose:J},S.createElement(Xe.Z,Ce({},ve)))))},Zt=a(63996),St=a(79769),Qe=a(25544),It=a(6521),xt=a(13624),wt=a(96324),it=a(56125),ot=a(84997),rt=a(57971),jt=a(69925),e=a(59301),Tt=Object.defineProperty,Nt=Object.defineProperties,Vt=Object.getOwnPropertyDescriptors,ct=Object.getOwnPropertySymbols,Mt=Object.prototype.hasOwnProperty,Lt=Object.prototype.propertyIsEnumerable,dt=(n,s,E)=>s in n?Tt(n,s,{enumerable:!0,configurable:!0,writable:!0,value:E}):n[s]=E,f=(n,s)=>{for(var E in s||(s={}))Mt.call(s,E)&&dt(n,E,s[E]);if(ct)for(var E of ct(s))Lt.call(s,E)&&dt(n,E,s[E]);return n},g=(n,s)=>Nt(n,Vt(s)),me=(n,s,E)=>new Promise((be,O)=>{var _=r=>{try{U(E.next(r))}catch(ue){O(ue)}},fe=r=>{try{U(E.throw(r))}catch(ue){O(ue)}},U=r=>r.done?be(r.value):Promise.resolve(r.value).then(_,fe);U((E=E.apply(n,s)).next())});const{TextArea:mt}=w.default,{confirm:ft}=$.default,{Panel:zt}=X.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[E]=(0,d.useSearchParams)(),be=(0,d.useLocation)(),{id:O}=(0,d.useParams)(),[_]=v.default.useForm(),[fe,U]=(0,i.useState)(),[r,ue]=(0,i.useState)([]),[se,pe]=(0,i.useState)([]),[De,A]=(0,i.useReducer)(Kt,Rt),{loading:ne,data:c,user:ve,disciplines:J,dicts:ie,status:le}=De,F=c==null?void 0:c.hack_sets,oe=(n=c==null?void 0:c.hack)==null?void 0:n.test_set_average,{callback_url:I,express_id:he,score:je,question_id:Te,type:ze}=(0,Qe.oP)(),[ge,Re]=(0,i.useState)([]),[Ke,Ge]=(0,i.useState)(!1),[qe,$e]=(0,i.useState)(!1),re=ze==="1",et=(0,i.useMemo)(()=>{let t=[];return J&&(0,K.D0)(J,t),t},[J]),Ne=(0,i.useCallback)((t=0)=>me(void 0,null,function*(){var l,p;let m=J;if(m.length===0&&(m=(yield(0,T.d1)("new_question")).disciplines),O){let h={disciplines:m};const o=yield(0,T.fu)(O);if(o.message)o.status==="401"&&(document.location.href="/user/login");else{const{category:u,user:k,code:V,language:ce,hack_sets:C,description:z,difficult:W,name:te,open_or_not:y,sub_discipline_id:ke,tag_discipline_id:_t,analysis:ut,time_limit:Et,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?(pe(C),_.setFieldsValue({hack_sets:Ct})):pe([]);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:ce,code:B.Base64.decode(V)},hack:{category:u,difficult:W,name:te,description:z,open_or_not:y,time_limit:Et,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}),U({hack:{category:u,difficult:W,name:te,description:z,open_or_not:y,time_limit:Et,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,T.PR)(),{difficult:o,sub_discipline_id:u,tag_discipline_id:k,tagIds:V,banksIds:ce}=(0,Qe.oP)(),[C,z]=(0,K.y3)(m,parseInt(u,10));let W=[Number(ce)];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:V&&((l=V==null?void 0:V.split(","))==null?void 0:l.map(te=>Number(te))),name:"",item_banks_group_ids:W,is_file:!1},tags:k?k==null?void 0:k.split(",").map(te=>parseInt(te,10)):[],hack_sets:[{input:"",output:"",score:100,position:1}]}}}),U({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:V&&((p=V==null?void 0:V.split(","))==null?void 0:p.map(te=>Number(te))),name:"",item_banks_group_id:W,is_file:!1}}),He(C==null?void 0:C[0],C==null?void 0:C[1],m)}}),[O,J]);(0,i.useEffect)(()=>{try{Ne()}catch(t){console.log(t,"----")}},[]),(0,i.useEffect)(()=>{function t(){return me(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 me(this,null,function*(){var m;const{hack_sets:h,hack_codes:o,hack:u,tags:k,codes:V}=f({},t);u.hide_actual_output=Ke;let ce=[],C=[],z=0;const W=u!=null&&u.is_file?se.map((y,ke)=>g(f({},y),{position:ke+1})):h.map(y=>g(f({},y),{is_file:!1}));for(let y of W)z+=y.score,y.id&&y.id>=0?ce.push(y):C.push(y);if(!(W!=null&&W.length)){j.ZP.error("\u6D4B\u8BD5\u96C6\u4E0D\u80FD\u4E3A\u7A7A");return}if(z+=parseInt(u.code_compile_score||0),z!==100&&!u.test_set_score){j.ZP.error("\u6D4B\u8BD5\u96C6\u7684\u8BC4\u5206\u5360\u6BD4\u4E4B\u548C\u5FC5\u987B\u7B49\u4E8E100");return}if(W!=null&&W.some(y=>!y.output)){j.ZP.error("\u6D4B\u8BD5\u96C6\u8F93\u51FA\u4E0D\u80FD\u4E3A\u7A7A");return}let te={};if(re?V==null||V.forEach(y=>{te[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,T.l_)(O,{hack:u,hack_codes:o,hack_sets:C,update_hack_sets:ce,tags:k,is_cover:p,languages:u.languages,codes:te}),I){if(yield(0,T.j2)(O),I.includes("paperlibrary")){(yield(0,ot.oF)({id:he,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,T.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 j.ZP.success("\u4FDD\u5B58\u6210\u529F"),Ne(pt());A({type:1,payload:!1})}else{const{identifier:y,exam_identifier:ke}=yield(0,T.zQ)({hack:u,hack_codes:o,hack_sets:W,tags:k,examination_bank_id:he||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,T.j2)(y),O)d.history.replace(I);else{if(I.includes("paperlibrary")){(yield(0,ot.oF)({id:he,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:_t}=yield(0,T.MK)(parseInt(he,10),{question_type:6,question_score:u.score,question_title:u.name,identifier:y,tag_discipline_ids:u.tag_discipline_ids,analysis:u.analysis});_t===0&&d.history.replace(I)}}})}function tt(){_.submit(),setTimeout(()=>me(this,null,function*(){const t=yield(0,T.j2)(O);t.status===0?(j.ZP.success("\u53D1\u5E03\u6210\u529F"),A({type:2,payload:1})):j.ZP.info(t.message)}),400)}function Ue(){return me(this,null,function*(){const t=yield(0,T.ZS)(O);t.status===0?(j.ZP.success("\u64A4\u9500\u53D1\u5E03\u6210\u529F"),A({type:2,payload:0})):j.ZP.info(t.message)})}function D(){ft(le===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 x(){return me(this,null,function*(){Pe(yield _.getFieldValue(),"start"),setTimeout(()=>me(this,null,function*(){const{identifier:t}=yield(0,T.uE)(O);re?window.location.href=`/myproblems/${t}?type=1`:window.location.href=`/myproblems/${t}`}),400)})}function N(){var t;if(I)d.history.replace(I);else if(re){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(_.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})),pe(t)};function at(t){t.target.value||Ae(se),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(se),A({type:0,payload:{data:g(f({},c),{hack:g(f({},c.hack),{test_set_average:l})})}})}function Wt(){let t=_.getFieldValue("hack_sets"),l=parseInt(_.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)=>(oe&&(o.score=m),o.position=u+1,o)),t.push({input:"",output:"",position:p,score:oe?m+h:0}),_.setFieldsValue({hack_sets:t}),A({type:0,payload:{data:g(f({},c),{hack_sets:t})}})}function Xt(){let t=_.getFieldValue("hack_sets"),l=parseInt(_.getFieldValue("hack").code_compile_score)||0;const p=t.length,m=Math.floor((100-l)/p),h=(100-l)%p;t.map((o,u)=>(oe&&(o.score=m,u===t.length-1&&(o.score=m+h)),o.position=u+1,o)),_.setFieldsValue({hack_sets:t}),A({type:0,payload:{data:g(f({},c),{hack_sets:t})}})}(0,i.useEffect)(()=>{if(oe){let t=parseInt(_.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})}}),_.setFieldsValue({hack_sets:F})}},[oe]);function Yt(t){let l=_.getFieldValue("hack_sets"),p=parseInt(_.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)=>(oe&&(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})}}),_.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,V]=(p=t==null?void 0:t.hack)==null?void 0:p.sub_discipline_id,ce=(o=(h=(m=J==null?void 0:J.find(z=>z.id===k))==null?void 0:m.sub_disciplines)==null?void 0:h.find(z=>z.id===V))==null?void 0:o.tag_disciplines,C=g(f({},_.getFieldsValue()),{hack:g(f({},(u=_.getFieldsValue())==null?void 0:u.hack),{tag_discipline_ids:[]})});_.setFieldsValue(C),U(C)}else U(f({},_.getFieldsValue()))},ea=t=>{ue([...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=>me(void 0,null,function*(){const l=yield(0,xe.YY)({sub_discipline_id:t});ue(l.tag_disciplines)});function aa(t){let l=t[1];const[,p]=(0,K.y3)(J,l);_.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})})}}),_.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=_.getFieldValue("hack_sets"))==null?void 0:p.filter(C=>C.input||C.output))==null?void 0:m.concat(h),u=parseInt(_.getFieldValue("hack").code_compile_score)||0;const k=o==null?void 0:o.length,V=Math.floor((100-u)/k),ce=(100-u)%k;o==null||o.map((C,z)=>(oe&&(C.score=V,z===k-1&&(C.score=V+ce)),C.position=z+1,C)),A({type:0,payload:{data:g(f({},c),{hack_sets:o,hack:g(f({},c.hack),{is_file:!1})})}}),_.setFieldsValue({hack_sets:o,hack:{is_file:!1}})};return e.createElement(H.Z,{spinning:ne,delay:500},c?e.createElement(i.Fragment,null,e.createElement("header",{className:b.Z.header},e.createElement("div",null,e.createElement("img",{src:`${It.Z.IMG_SERVER}/images/${ve==null?void 0:ve.image_url}`,alt:"user",width:30}),e.createElement("span",null,ve==null?void 0:ve.name)),e.createElement("h2",null," ",c==null?void 0:c.hack.name," "),O?e.createElement("a",{className:b.Z.btn_back,onClick:N}," ",e.createElement(P.Z,null),"\u9000\u51FA"):null),e.createElement(v.default,{form:_,initialValues:c,layout:"vertical",className:b.Z["oj-form-container"],onValuesChange:qt,onFinish:(t,l)=>{if(E.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(_e.Z,{leftChild:e.createElement($t,{onAddTestCases:Xt,form:_,handleAddKnowledgeFinish:ea,MyGroup:ge,formValue:fe,knowledgeOptions:r,onChangeLanguage:Qt,onChangeSubDiscipline:aa,onRemoveTestCase:Yt,onAddTestCase:Wt,dicts:ie,categorys:et,callback_url:I,hack:c.hack,onChangeScore:at,onChangehide:Ut,onChangeAverage:Jt,onChangeFile:Ht,uploadData:se,setUploadData:pe,handleUploadRatio:Ae,ischecked:Ke,isshows:qe,isProgram:re,addUploadFnc:ua}),rightChild:re?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,re&&e.createElement(M.ZP,{onClick:N,type:"primary",ghost:!0},"\u9000\u51FA\u7F16\u8F91"),I||re?null:e.createElement(M.ZP,{type:le?"default":"primary",onClick:D},le?"\u64A4\u9500\u53D1\u5E03":"\u7ACB\u5373\u53D1\u5E03"),e.createElement(M.ZP,{loading:ne,type:"primary",htmlType:"submit"},"\u4FDD\u5B58"),e.createElement(M.ZP,{type:"primary",onClick:x},le?"\u5F00\u59CB\u6311\u6218":"\u6A21\u62DF\u6311\u6218")):e.createElement(i.Fragment,null,e.createElement(M.ZP,{onClick:N},"\u53D6\u6D88"),e.createElement(M.ZP,{loading:ne,type:"primary",htmlType:"submit"},"\u4FDD\u5B58"))))):null)};function $t({form:n,onAddTestCases:s,handleAddKnowledgeFinish:E,ischecked:be,MyGroup:O,formValue:_,knowledgeOptions:fe,categorys:U,hack:r,callback_url:ue,onChangeAverage:se,onChangeScore:pe,onChangehide:De,onChangeFile:A,onAddTestCase:ne,onRemoveTestCase:c,onChangeSubDiscipline:ve,onChangeLanguage:J,uploadData:ie,setUploadData:le,handleUploadRatio:F,isshows:oe,isProgram:I,addUploadFnc:he}){var je,Te,ze;const ge=((je=location==null?void 0:location.search)==null?void 0:je.includes("select"))||!1,[Re,Ke]=(0,i.useState)(oe),[Ge,qe]=(0,i.useState)(!1),{test_set_average:$e,test_set_score:re}=r,[et,Ne]=(0,i.useState)(!1),He=(D,x)=>{const N=[...ie];N.splice(x,1),$e?F(N):le(N)},Pe=(D,x)=>{console.log(D,x);const N=ie.map((Ae,at)=>at===x?g(f({},Ae),{score:D.target.value?Number(D.target.value):0}):Ae);le(N)},tt=D=>{if(D!=null&&D.length){if(D!=null&&D[0].is_file){he(D,!0)();const x=ie.concat(D);r.test_set_average?F(x):le(x)}D!=null&&D[0].is_file||he(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:ge},(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(ae.Z,{disabled:ge,allowClear:!1,options:U,placeholder:"\u8BF7\u9009\u62E9",onChange:ve}))),e.createElement("div",{className:b.Z.field},ue&&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(Y.Z,{disabled:ge,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(Y.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(Q.default.Group,null,e.createElement(Q.default,{value:"C"},"C"),e.createElement(Q.default,{value:"C++"},"C++"),e.createElement(Q.default,{value:"Java"},"Java"),e.createElement(Q.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:J},(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\u88AB\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(xt.N,{selectvalues:(r==null?void 0:r.tag_discipline_id)||(r==null?void 0:r.tag_discipline_ids),disabled:ge,subId:(ze=(Te=_==null?void 0:_.hack)==null?void 0:Te.sub_discipline_id)==null?void 0:ze[1],knowledgeOptions:fe,onAddKnowledgeFinish:E})),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:ge})),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(w.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(M.ZP,{type:"primary",ghost:!0,onClick:ne},"\u6DFB\u52A0\u6D4B\u8BD5\u7528\u4F8B")),e.createElement(v.default.Item,{name:["hack","test_set_score"]},e.createElement(Z.ZP.Group,{onChange:pe},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(Q.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:se},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(Q.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(ie):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(Y.Z,{onChange:()=>{r.test_set_average&&(r.is_file?F(ie):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(M.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:ie,onRemove:He})),!r.is_file&&e.createElement(v.default.List,{name:"hack_sets"},(D,{})=>e.createElement(X.default,{accordion:!0,className:b.Z.collapse},D.map((x,N)=>e.createElement(zt,{key:`${x.key}--${N}`,header:e.createElement("a",{className:b.Z["test-case-name"]},e.createElement("span",null,"\u6D4B\u8BD5\u7528\u4F8B",N+1),re?null:e.createElement(e.Fragment,null,e.createElement(v.default.Item,{name:[x.name,"score"],style:{marginBottom:0},fieldKey:[x.fieldKey,"score"],rules:[{required:!0,message:`\u8BF7\u8F93\u5165\u6D4B\u8BD5\u96C6${N+1}\u8BC4\u5206`}]},e.createElement(Y.Z,{onClick:Ue,min:0,max:100,disabled:$e})),e.createElement("span",null,"%"))),extra:N>0?e.createElement("div",{onClick:Ue},e.createElement(Ie.Z,{okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",title:"\u786E\u5B9A\u5220\u9664\u6D4B\u8BD5\u96C6"+(N+1),onConfirm:()=>{c(N)}},e.createElement(L.Z,{className:b.Z["btn-remove-case"]}))):null},e.createElement(v.default.Item,{label:"\u8F93\u5165",name:[x.name,"input"],fieldKey:[x.fieldKey,"input"]},e.createElement(mt,null)),e.createElement(v.default.Item,{label:"\u8F93\u51FA",name:[x.name,"output"],fieldKey:[x.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}))}}}]);