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
32 KiB

"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4994],{8409:function(Je,se){se.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"}},36249:function(Je,se,l){l.d(se,{Z:function(){return X}});var i=l(59301),S=l(34439),pe=l(73170),ie={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"},he=Object.defineProperty,h=Object.defineProperties,L=Object.getOwnPropertyDescriptors,G=Object.getOwnPropertySymbols,M=Object.prototype.hasOwnProperty,ee=Object.prototype.propertyIsEnumerable,Fe=(m,B,D)=>B in m?he(m,B,{enumerable:!0,configurable:!0,writable:!0,value:D}):m[B]=D,W=(m,B)=>{for(var D in B||(B={}))M.call(B,D)&&Fe(m,D,B[D]);if(G)for(var D of G(B))ee.call(B,D)&&Fe(m,D,B[D]);return m},$=(m,B)=>h(m,L(B)),Z=(m,B)=>{var D={};for(var N in m)M.call(m,N)&&B.indexOf(N)<0&&(D[N]=m[N]);if(m!=null&&G)for(var N of G(m))B.indexOf(N)<0&&ee.call(m,N)&&(D[N]=m[N]);return D},ge=(m,B,D)=>new Promise((N,ye)=>{var j=H=>{try{fe(D.next(H))}catch(_e){ye(_e)}},Oe=H=>{try{fe(D.throw(H))}catch(_e){ye(_e)}},fe=H=>H.done?N(H.value):Promise.resolve(H.value).then(j,Oe);fe((D=D.apply(m,B)).next())}),X=m=>{var B=m,{value:D,onChange:N,defaultValue:ye,disabled:j}=B,Oe=Z(B,["value","onChange","defaultValue","disabled"]);const[fe,H]=(0,i.useState)([]),[_e,We]=(0,i.useState)("1");(0,i.useEffect)(()=>{oe()},[]);const oe=()=>ge(void 0,null,function*(){const O=yield(0,pe.NZ)({});if(O!=null&&O.data){const Be=[{title:i.createElement("div",{title:"\u6839\u76EE\u5F55",className:ie.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(O.data||[])}];H(Be),We("2")}}),Xe=O=>{function Be(U){const Ce=U.children,Ne=Array.isArray(Ce)&&Ce.length>0,Ve=U==null?void 0:U.group_id;return{title:i.createElement("div",{title:U==null?void 0:U.name,className:ie.name},U==null?void 0:U.name),value:Ve,key:Ve,icon:i.createElement("i",{className:"iconfont icon-wenjianjia2 c-light-primary mr10",style:{lineHeight:"19px"}}),children:Ne?Ce==null?void 0:Ce.map(Ye=>Be(Ye)):[]}}return O==null?void 0:O.map(U=>Be(U))},Ie=ye?{defaultExpandedKeys:[0],defaultSelectedKeys:[0]}:{selectedKeys:D,defaultExpandedKeys:D};return i.createElement("div",{className:ie.customTree},i.createElement(S.default,W($(W({key:_e},Ie),{showIcon:!0,treeData:fe,onSelect:N,disabled:j}),Oe)))}},18236:function(Je,se,l){l.d(se,{Z:function(){return S}});var i=l(59301),S=({defaultX:pe="40%",leftChild:ie,rightChild:he,className:h,hideResize:L=!1})=>{const[G,M]=(0,i.useState)(pe),ee=(0,i.useRef)();function Fe(){ee.current=!0}(0,i.useEffect)(()=>{function Z(Te){ee.current&&M(Te.pageX)}function ge(){ee.current=!1}return window.addEventListener("mousemove",Z),window.addEventListener("mouseup",ge),()=>{window.removeEventListener("mousemove",Z),window.removeEventListener("mouseup",ge)}},[]);const W=typeof G=="number"&&G!==.01?`${G}px`:pe,$=`calc(100% - ${L?"0px":"4px"} - ${W})`;return i.createElement("div",{className:`split-panel-container ${h}`},i.createElement("section",{style:{width:W,display:G===.01?"none":""}},ie),i.createElement("section",{className:"resize-x-bar",onMouseDown:Fe},i.createElement("a",{className:"btn-resize"},i.createElement("svg",{width:"16",height:"13",viewBox:"0 0 16 13"},i.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"})))),i.createElement("section",{style:{width:$}},he))}},10043:function(Je,se,l){l.r(se),l.d(se,{Types:function(){return _t},default:function(){return Gt}});var i=l(59301),S=l(8409),pe=l(92832),ie=l(43418),he=l(33174),h=l(78700),L=l(8591),G=l(71418),M=l(3113),ee=l(57809),Fe=l(19842),W=l(25560),$=l(59263),Z=l(98554),ge=l(60153),Te=l(69349),X=l(11584),m=l(71471),B=l(24334),D=l(45918),N=l(61567),ye=l(57455),j=l(29646),Oe=l(76505),fe=l(18236),H=l(43428),_e=l(57197),We=l(89767),oe=l(2220),Xe=l(15267),Ie={"code-panel-container":"code-panel-container___rlI_l","action-oj-bar":"action-oj-bar___WLV9q",active:"active___CLsJG"},O=l(59301),Be=Object.defineProperty,U=Object.defineProperties,Ce=Object.getOwnPropertyDescriptors,Ne=Object.getOwnPropertySymbols,Ve=Object.prototype.hasOwnProperty,Ye=Object.prototype.propertyIsEnumerable,st=(u,s,v)=>s in u?Be(u,s,{enumerable:!0,configurable:!0,writable:!0,value:v}):u[s]=v,be=(u,s)=>{for(var v in s||(s={}))Ve.call(s,v)&&st(u,v,s[v]);if(Ne)for(var v of Ne(s))Ye.call(s,v)&&st(u,v,s[v]);return u},Me=(u,s)=>U(u,Ce(s));const At={theme:(0,oe.G)("cmCodeMode","vs-dark"),fontSize:(0,oe.G)("cmFontSize",14),showEditorSetting:!1,tabToSpace:(0,oe.G)("cmTabToSpace",!0)};var Pt=(u=>(u[u.set_font_size=0]="set_font_size",u[u.set_theme=1]="set_theme",u[u.on_tab_to_space=2]="on_tab_to_space",u[u.set_show_editor_setting=3]="set_show_editor_setting",u))(Pt||{});function kt(u,s){switch(s.type){case 3:return Me(be({},u),{showEditorSetting:s.payload});case 1:return Me(be({},u),{theme:s.payload});case 0:return Me(be({},u),{fontSize:s.payload});case 2:return Me(be({},u),{tabToSpace:s.payload});default:throw new Error}}var St=({isLoading:u,value:s,onChange:v,language:De,onUpdateCode:k,form:_})=>{var ce;const[K,r]=(0,i.useReducer)(kt,At),{theme:Y,fontSize:te,showEditorSetting:de,tabToSpace:Ae}=K,A=(0,i.useRef)(),Q=(0,i.useRef)(),c=h.default.useWatch(["hack_codes","language"],_),me={onFontSizeChange:g=>{r({type:0,payload:g}),(0,oe.t)("cmFontSize",g)},tabToSpace:Ae,cmFontSize:te,className:"oj",cmCodeMode:Y,onTabToSpace:g=>{r({type:2,payload:g}),(0,oe.t)("cmTabToSpace",g)},onCodeModeChange:g=>{r({type:1,payload:g}),(0,oe.t)("cmCodeMode",g)}};function R(){r({type:3,payload:!1})}function ae(){r({type:3,payload:!0})}const q={value:s,language:De,theme:"vs",height:"calc(100% - 56px)",options:{fontSize:te,insertSpaces:Ae},onChange:g=>{v(g),Q.current=g,clearTimeout(A.current),A.current=setTimeout(()=>{k(Q.current)},1e4)},onEditBlur:g=>{Q.current&&k(Q.current)}};return O.createElement(i.Fragment,null,O.createElement("div",{className:Ie["code-panel-container"]},O.createElement("div",{className:Ie["action-oj-bar"]},(ce=[c])==null?void 0:ce.map(g=>O.createElement("aside",{className:Ie.active,key:g},O.createElement("i",{className:"iconfont icon-bianchengyuyan1"}),O.createElement("span",null,g)))),!u&&O.createElement(_e.ZP,be({},q))),O.createElement(We.Z,null,O.createElement(H.Z,{rootClassName:"oj",title:null,placement:"right",closable:!1,open:de,onClose:R},O.createElement(Xe.Z,be({},me)))))},Zt=l(85506),Ot=l(40117),Qe=l(16427),It=l(66593),xt=l(26857),jt=l(36249),it=l(23973),ot=l(79953),rt=l(15403),wt=l(78272),e=l(59301),Tt=Object.defineProperty,Nt=Object.defineProperties,Vt=Object.getOwnPropertyDescriptors,ct=Object.getOwnPropertySymbols,Mt=Object.prototype.hasOwnProperty,Lt=Object.prototype.propertyIsEnumerable,dt=(u,s,v)=>s in u?Tt(u,s,{enumerable:!0,configurable:!0,writable:!0,value:v}):u[s]=v,p=(u,s)=>{for(var v in s||(s={}))Mt.call(s,v)&&dt(u,v,s[v]);if(ct)for(var v of ct(s))Lt.call(s,v)&&dt(u,v,s[v]);return u},F=(u,s)=>Nt(u,Vt(s)),re=(u,s,v)=>new Promise((De,k)=>{var _=r=>{try{K(v.next(r))}catch(Y){k(Y)}},ce=r=>{try{K(v.throw(r))}catch(Y){k(Y)}},K=r=>r.done?De(r.value):Promise.resolve(r.value).then(_,ce);K((v=v.apply(u,s)).next())});const{TextArea:mt}=pe.default,{confirm:pt}=ie.default,{Panel:Kt}=he.default;function ft(){return new Date().getTime()}const Rt={loading:!0,user:null,disciplines:[],dicts:null,status:0,data:void 0,lastedUpdateTime:0};var _t=(u=>(u[u.SET_INITAL_DATA=0]="SET_INITAL_DATA",u[u.SET_LOADING=1]="SET_LOADING",u[u.SET_STATUS=2]="SET_STATUS",u))(_t||{});function zt(u,s){switch(s.type){case 0:return p(p({},u),s.payload);case 1:return F(p({},u),{loading:s.payload});case 2:return F(p({},u),{status:s.payload});default:throw new Error}}var Gt=()=>{var u,s;const[v]=(0,m.useSearchParams)(),De=(0,m.useLocation)(),{id:k}=(0,m.useParams)(),[_]=h.default.useForm(),[ce,K]=(0,i.useState)(),[r,Y]=(0,i.useState)([]),[te,de]=(0,i.useState)([]),[Ae,A]=(0,i.useReducer)(zt,Rt),{loading:Q,data:c,user:me,disciplines:R,dicts:ae,status:q}=Ae,g=c==null?void 0:c.hack_sets,ue=(u=c==null?void 0:c.hack)==null?void 0:u.test_set_average,{callback_url:I,express_id:ve,score:xe,question_id:je,type:Le}=(0,Qe.oP)(),[Ee,Ke]=(0,i.useState)([]),[Re,ze]=(0,i.useState)(!1),[qe,Ge]=(0,i.useState)(!1),ne=Le==="1",et=(0,i.useMemo)(()=>{let t=[];return R&&(0,X.D0)(R,t),t},[R]),we=(0,i.useCallback)((t=0)=>re(void 0,null,function*(){var n,f;let d=R;if(d.length===0&&(d=(yield(0,j.d1)("new_question")).disciplines),k){let E={disciplines:d};const o=yield(0,j.fu)(k);if(o.message)o.status==="401"&&(document.location.href="/user/login");else{const{category:a,user:P,code:T,language:le,hack_sets:C,description:V,difficult:z,name:J,open_or_not:y,sub_discipline_id:Se,tag_discipline_id:vt,analysis:ut,time_limit:Et,test_set_average:ht,test_set_score:Ft,status:na,tag_discipline_ids:nt,item_banks_group_id:gt,is_file:Ue=!1,hide_actual_output:la,code_compile_score:yt,languages:sa,is_my:ia,codes:Bt,submit_rule:oa}=o,[Ze,ra]=(0,X.y3)(d,Se);ze(la);const Ct=Ue?[{input:"",output:"",score:100,position:1}]:C;Ue?(de(C),_.setFieldsValue({hack_sets:Ct})):de([]);const{lastedUpdateTime:bt}=(0,Qe.oP)(),Dt=Bt==null?void 0:Bt.map(lt=>F(p({},lt),{code:B.Base64.decode(lt==null?void 0:lt.code)}));E=F(p({},E),{loading:!1,user:P,dicts:ra,status:na,lastedUpdateTime:t||bt||0,data:{hack_codes:{language:le,code:B.Base64.decode(T)},hack:{category:a,difficult:z,name:J,description:V,open_or_not:y,time_limit:Et,test_set_average:ht,test_set_score:Ft,sub_discipline_id:Ze,tag_discipline_ids:nt,languages:sa,score:xe||1,item_banks_group_ids:gt,is_file:Ue,is_my:ia,code_compile_score:yt,analysis:ut,submit_rule:oa},hack_sets:Ct,tags:nt,codes:Dt}}),parseInt(yt)>0&&Ge(!0),A({type:0,payload:E}),K({hack:{category:a,difficult:z,name:J,description:V,open_or_not:y,time_limit:Et,test_set_average:ht,test_set_score:Ft,sub_discipline_id:Ze,tag_discipline_ids:nt,score:xe||1,item_banks_group_ids:gt,is_file:Ue,analysis:ut},codes:Dt}),$e(Ze==null?void 0:Ze[0],Ze==null?void 0:Ze[1],d)}}else{const{user:E}=yield(0,j.PR)(),{difficult:o,sub_discipline_id:a,tag_discipline_id:P,tagIds:T,banksIds:le}=(0,Qe.oP)(),[C,V]=(0,X.y3)(d,parseInt(a,10));let z=[Number(le)];A({type:0,payload:{loading:!1,user:E,disciplines:d,status:0,dicts:V,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:T&&((n=T==null?void 0:T.split(","))==null?void 0:n.map(J=>Number(J))),name:"",item_banks_group_ids:z,is_file:!1},tags:P?P==null?void 0:P.split(",").map(J=>parseInt(J,10)):[],hack_sets:[{input:"",output:"",score:100,position:1}]}}}),K({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:T&&((f=T==null?void 0:T.split(","))==null?void 0:f.map(J=>Number(J))),name:"",item_banks_group_id:z,is_file:!1}}),$e(C==null?void 0:C[0],C==null?void 0:C[1],d)}}),[k,R]);(0,i.useEffect)(()=>{try{we()}catch(t){console.log(t,"----")}},[]),(0,i.useEffect)(()=>{function t(){return re(this,null,function*(){let n=yield(0,Ot.U2)("item_banks_groups/mine.json");Ke(n)})}t()},[]);const $e=(t,n,f)=>{var d,E,o;const a=(o=(E=(d=f==null?void 0:f.find(P=>P.id===t))==null?void 0:d.sub_disciplines)==null?void 0:E.find(P=>P.id===n))==null?void 0:o.tag_disciplines};function Pe(t,n,f){return re(this,null,function*(){var d;const{hack_sets:E,hack_codes:o,hack:a,tags:P,codes:T}=p({},t);a.hide_actual_output=Re;let le=[],C=[],V=0;const z=a!=null&&a.is_file?te.map((y,Se)=>F(p({},y),{position:Se+1})):E.map(y=>F(p({},y),{is_file:!1}));for(let y of z)V+=y.score,y.id&&y.id>=0?le.push(y):C.push(y);if(!(z!=null&&z.length)){L.ZP.error("\u6D4B\u8BD5\u96C6\u4E0D\u80FD\u4E3A\u7A7A");return}if(V+=parseInt(a.code_compile_score||0),V!==100&&!a.test_set_score){L.ZP.error("\u6D4B\u8BD5\u96C6\u7684\u8BC4\u5206\u5360\u6BD4\u4E4B\u548C\u5FC5\u987B\u7B49\u4E8E100");return}if(z!=null&&z.some(y=>!y.output)){L.ZP.error("\u6D4B\u8BD5\u96C6\u8F93\u51FA\u4E0D\u80FD\u4E3A\u7A7A");return}let J={};if(ne?T==null||T.forEach(y=>{J[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),a.sub_discipline_id=(d=a.sub_discipline_id)==null?void 0:d[1],A({type:1,payload:!0}),I||(a.score=a.difficult*100),k){if(yield(0,j.l_)(k,{hack:a,hack_codes:o,hack_sets:C,update_hack_sets:le,tags:P,is_cover:f,languages:a.languages,codes:J}),I){if(yield(0,j.j2)(k),I.includes("paperlibrary")){(yield(0,ot.oF)({id:ve,question_id:je,item_type:rt.c.Program,name:a.name,question_score:a.score,difficulty:a.difficult,sub_discipline_id:a.sub_discipline_id,tag_discipline_ids:a.tag_discipline_ids,item_banks_group_ids:a.item_banks_group_ids,analysis:a.analysis})).status===0&&m.history.replace(I);return}const{status:y}=yield(0,j.GM)(je,{question_type:6,question_score:a.score,question_title:a.name,description:a.description,sub_discipline_id:a.sub_discipline_id,tag_discipline_ids:a.tag_discipline_ids,item_banks_group_ids:a.item_banks_group_ids,identifier:k,analysis:a.analysis});if(y===0){if(n==="start")return;m.history.replace(I)}}else L.ZP.success("\u4FDD\u5B58\u6210\u529F"),we(ft());A({type:1,payload:!1})}else{const{identifier:y,exam_identifier:Se}=yield(0,j.zQ)({hack:a,hack_codes:o,hack_sets:z,tags:P,examination_bank_id:ve||null});if(A({type:1,payload:!1}),n==="start")return;if(y)if(!I)m.history.replace(`/problems/${y}/edit?lastedUpdateTime=${ft()}`);else if(yield(0,j.j2)(y),k)m.history.replace(I);else{if(I.includes("paperlibrary")){(yield(0,ot.oF)({id:ve,item_type:rt.c.Program,name:a.name,question_score:a.score,difficulty:a.difficult,sub_discipline_id:a.sub_discipline_id,tag_discipline_ids:a.tag_discipline_ids,identifier:Se,analysis:a.analysis})).status===0&&m.history.replace(I);return}const{status:vt}=yield(0,j.MK)(parseInt(ve,10),{question_type:6,question_score:a.score,question_title:a.name,identifier:y,tag_discipline_ids:a.tag_discipline_ids,analysis:a.analysis});vt===0&&m.history.replace(I)}}})}function tt(){_.submit(),setTimeout(()=>re(this,null,function*(){const t=yield(0,j.j2)(k);t.status===0?(L.ZP.success("\u53D1\u5E03\u6210\u529F"),A({type:2,payload:1})):L.ZP.info(t.message)}),400)}function He(){return re(this,null,function*(){const t=yield(0,j.ZS)(k);t.status===0?(L.ZP.success("\u64A4\u9500\u53D1\u5E03\u6210\u529F"),A({type:2,payload:0})):L.ZP.info(t.message)})}function b(){pt(q===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(){He()}})}function x(){return re(this,null,function*(){Pe(yield _.getFieldValue(),"start"),setTimeout(()=>re(this,null,function*(){const{identifier:t}=yield(0,j.uE)(k);ne?window.location.href=`/myproblems/${t}?type=1`:window.location.href=`/myproblems/${t}`}),400)})}function w(){var t;if(I)m.history.replace(I);else if(ne){let n=(t=localStorage.getItem("program_homework"))==null?void 0:t.split(",");m.history.push(`/classrooms/${n==null?void 0:n[0]}/program_homework/${n==null?void 0:n[1]}/detail`)}else m.history.replace("/problemset")}const ke=t=>{let n=parseInt(_.getFieldValue("hack").code_compile_score)||0;const f=Math.floor((100-n)/t.length),d=f+(100-n)%t.length;t=t.map((E,o)=>o===t.length-1?F(p({},E),{score:d}):F(p({},E),{score:f})),de(t)};function at(t){t.target.value||ke(te),A({type:0,payload:{data:F(p({},c),{hack:F(p({},c.hack),{test_set_score:t.target.value})})}})}function Ht(t){A({type:0,payload:{data:F(p({},c),{hack:F(p({},c.hack),{is_file:t.target.value})})}})}function Ut(t){ze(t.target.checked)}function Jt(t){const n=t.target.value;n&&ke(te),A({type:0,payload:{data:F(p({},c),{hack:F(p({},c.hack),{test_set_average:n})})}})}function Wt(){let t=_.getFieldValue("hack_sets"),n=parseInt(_.getFieldValue("hack").code_compile_score)||0;const f=t.length+1,d=Math.floor((100-n)/f),E=(100-n)%f;t.map((o,a)=>(ue&&(o.score=d),o.position=a+1,o)),t.push({input:"",output:"",position:f,score:ue?d+E:0}),_.setFieldsValue({hack_sets:t}),A({type:0,payload:{data:F(p({},c),{hack_sets:t})}})}function Xt(){let t=_.getFieldValue("hack_sets"),n=parseInt(_.getFieldValue("hack").code_compile_score)||0;const f=t.length,d=Math.floor((100-n)/f),E=(100-n)%f;t.map((o,a)=>(ue&&(o.score=d,a===t.length-1&&(o.score=d+E)),o.position=a+1,o)),_.setFieldsValue({hack_sets:t}),A({type:0,payload:{data:F(p({},c),{hack_sets:t})}})}(0,i.useEffect)(()=>{if(ue){let t=parseInt(_.getFieldValue("hack").code_compile_score)||0;const n=g==null?void 0:g.length,f=Math.floor((100-t)/n),d=(100-t)%n;g==null||g.map((E,o)=>(E.score=f,E.position=o+1,o===n-1&&(E.score=f+d),E)),A({type:0,payload:{data:F(p({},c),{hack_sets:g})}}),_.setFieldsValue({hack_sets:g})}},[ue]);function Yt(t){let n=_.getFieldValue("hack_sets"),f=parseInt(_.getFieldValue("hack").code_compile_score)||0;const d=(n==null?void 0:n.length)-1,E=Math.floor((100-f)/d),o=(100-f)%d;n.splice(t,1),n==null||n.map((a,P)=>(ue&&(a.score=E,P===d-1&&(a.score=E+o)),a.position=P+1,a)),A({type:0,payload:{data:F(p({},c),{hack_sets:n})}}),_.setFieldsValue({hack_sets:n})}function Qt(t){A({type:0,payload:{data:F(p({},c),{hack_codes:F(p({},c.hack_codes),{language:t})})}})}const qt=t=>{var n,f,d,E,o,a;if((n=t==null?void 0:t.hack)!=null&&n.sub_discipline_id){const[P,T]=(f=t==null?void 0:t.hack)==null?void 0:f.sub_discipline_id,le=(o=(E=(d=R==null?void 0:R.find(V=>V.id===P))==null?void 0:d.sub_disciplines)==null?void 0:E.find(V=>V.id===T))==null?void 0:o.tag_disciplines,C=F(p({},_.getFieldsValue()),{hack:F(p({},(a=_.getFieldsValue())==null?void 0:a.hack),{tag_discipline_ids:[]})});_.setFieldsValue(C),K(C)}else K(p({},_.getFieldsValue()))},ea=t=>{Y([...r,p({},t)])};(0,i.useEffect)(()=>{var t,n,f,d;(n=(t=c==null?void 0:c.hack)==null?void 0:t.sub_discipline_id)!=null&&n[1]&&ta((d=(f=c==null?void 0:c.hack)==null?void 0:f.sub_discipline_id)==null?void 0:d[1])},[(s=c==null?void 0:c.hack)==null?void 0:s.sub_discipline_id]);const ta=t=>re(void 0,null,function*(){const n=yield(0,Oe.YY)({sub_discipline_id:t});Y(n.tag_disciplines)});function aa(t){let n=t[1];const[,f]=(0,X.y3)(R,n);_.setFieldsValue({tags:[]}),A({type:0,payload:{dicts:f,data:F(p({},c),{hack:F(p({},c.hack),{sub_discipline_id:t}),tags:[]})}})}const ua=(t,n=!1)=>{var f,d;if(n)return()=>{A({type:0,payload:{data:F(p({},c),{hack:F(p({},c.hack),{is_file:!0})})}}),_.setFieldsValue({hack:{is_file:!0}})};const E=t==null?void 0:t.map(C=>({input:C.input,output:C.output,score:0,position:1}));let o=(d=(f=_.getFieldValue("hack_sets"))==null?void 0:f.filter(C=>C.input||C.output))==null?void 0:d.concat(E),a=parseInt(_.getFieldValue("hack").code_compile_score)||0;const P=o==null?void 0:o.length,T=Math.floor((100-a)/P),le=(100-a)%P;o==null||o.map((C,V)=>(ue&&(C.score=T,V===P-1&&(C.score=T+le)),C.position=V+1,C)),A({type:0,payload:{data:F(p({},c),{hack_sets:o,hack:F(p({},c.hack),{is_file:!1})})}}),_.setFieldsValue({hack_sets:o,hack:{is_file:!1}})};return e.createElement(G.Z,{spinning:Q,delay:500},c?e.createElement(i.Fragment,null,e.createElement("header",{className:S.Z.header},e.createElement("div",null,e.createElement("img",{src:`${It.Z.IMG_SERVER}/images/${me==null?void 0:me.image_url}`,alt:"user",width:30}),e.createElement("span",null,me==null?void 0:me.name)),e.createElement("h2",null," ",c==null?void 0:c.hack.name," "),k?e.createElement("a",{className:S.Z.btn_back,onClick:w}," ",e.createElement(D.Z,null),"\u9000\u51FA"):null),e.createElement(h.default,{form:_,initialValues:c,layout:"vertical",className:S.Z["oj-form-container"],onValuesChange:qt,onFinish:(t,n)=>{if(v.get("exercise")&&!I.includes("paperlibrary")){ie.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,n,1),onCancel:()=>Pe(t,n,0)});return}Pe(t,n)}},e.createElement(fe.Z,{leftChild:e.createElement($t,{onAddTestCases:Xt,form:_,handleAddKnowledgeFinish:ea,MyGroup:Ee,formValue:ce,knowledgeOptions:r,onChangeLanguage:Qt,onChangeSubDiscipline:aa,onRemoveTestCase:Yt,onAddTestCase:Wt,dicts:ae,categorys:et,callback_url:I,hack:c.hack,onChangeScore:at,onChangehide:Ut,onChangeAverage:Jt,onChangeFile:Ht,uploadData:te,setUploadData:de,handleUploadRatio:ke,ischecked:Re,isshows:qe,isProgram:ne,addUploadFnc:ua}),rightChild:ne?e.createElement(h.default.Item,{name:"codes",style:{marginBottom:0}},e.createElement(Zt.Z,null)):e.createElement(h.default.Item,{name:["hack_codes","code"],style:{marginBottom:0}},e.createElement(St,{language:c.hack_codes.language}))}),e.createElement("div",{className:S.Z.footer},k?e.createElement(i.Fragment,null,ne&&e.createElement(M.ZP,{onClick:w,type:"primary",ghost:!0},"\u9000\u51FA\u7F16\u8F91"),I||ne?null:e.createElement(M.ZP,{type:q?"default":"primary",onClick:b},q?"\u64A4\u9500\u53D1\u5E03":"\u7ACB\u5373\u53D1\u5E03"),e.createElement(M.ZP,{loading:Q,type:"primary",htmlType:"submit"},"\u4FDD\u5B58"),e.createElement(M.ZP,{type:"primary",onClick:x},q?"\u5F00\u59CB\u6311\u6218":"\u6A21\u62DF\u6311\u6218")):e.createElement(i.Fragment,null,e.createElement(M.ZP,{onClick:w},"\u53D6\u6D88"),e.createElement(M.ZP,{loading:Q,type:"primary",htmlType:"submit"},"\u4FDD\u5B58"))))):null)};function $t({form:u,onAddTestCases:s,handleAddKnowledgeFinish:v,ischecked:De,MyGroup:k,formValue:_,knowledgeOptions:ce,categorys:K,hack:r,callback_url:Y,onChangeAverage:te,onChangeScore:de,onChangehide:Ae,onChangeFile:A,onAddTestCase:Q,onRemoveTestCase:c,onChangeSubDiscipline:me,onChangeLanguage:R,uploadData:ae,setUploadData:q,handleUploadRatio:g,isshows:ue,isProgram:I,addUploadFnc:ve}){var xe,je,Le;const Ee=((xe=location==null?void 0:location.search)==null?void 0:xe.includes("select"))||!1,[Ke,Re]=(0,i.useState)(ue),[ze,qe]=(0,i.useState)(!1),{test_set_average:Ge,test_set_score:ne}=r,[et,we]=(0,i.useState)(!1),$e=(b,x)=>{const w=[...ae];w.splice(x,1),Ge?g(w):q(w)},Pe=(b,x)=>{console.log(b,x);const w=ae.map((ke,at)=>at===x?F(p({},ke),{score:b.target.value?Number(b.target.value):0}):ke);q(w)},tt=b=>{if(b!=null&&b.length){if(b!=null&&b[0].is_file){ve(b,!0)();const x=ae.concat(b);r.test_set_average?g(x):q(x)}b!=null&&b[0].is_file||ve(b)}};function He(b){b.stopPropagation()}return e.createElement("div",{className:S.Z["oj-left-panel"]},e.createElement("div",{className:S.Z["oj-form-info"]},e.createElement("div",{className:S.Z.field},e.createElement(h.default.Item,{label:"\u96BE\u6613\u5EA6",name:["hack","difficult"],rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u96BE\u6613\u5EA6"}]},e.createElement(ee.default,{disabled:Ee},(0,X.jw)(X.R8.difficult))),e.createElement(h.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(Fe.Z,{disabled:Ee,allowClear:!1,options:K,placeholder:"\u8BF7\u9009\u62E9",onChange:me}))),e.createElement("div",{className:S.Z.field},Y&&e.createElement(h.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(W.Z,{disabled:Ee,min:1,max:100})),e.createElement(h.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(W.Z,{min:1})),I?e.createElement(h.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($.default.Group,null,e.createElement($.default,{value:"C"},"C"),e.createElement($.default,{value:"C++"},"C++"),e.createElement($.default,{value:"Java"},"Java"),e.createElement($.default,{value:"Python"},"Python"))):e.createElement(h.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(ee.default,{onChange:R},(0,X.jw)(X.R8.language)))),e.createElement(h.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(xt.N,{selectvalues:(r==null?void 0:r.tag_discipline_id)||(r==null?void 0:r.tag_discipline_ids),disabled:Ee,subId:(Le=(je=_==null?void 0:_.hack)==null?void 0:je.sub_discipline_id)==null?void 0:Le[1],knowledgeOptions:ce,onAddKnowledgeFinish:v})),e.createElement(h.default.Item,{label:"\u52A0\u5165\u6587\u4EF6\u5939\u76EE\u5F55",name:["hack","item_banks_group_ids"],labelCol:{span:24},wrapperCol:{span:24}},e.createElement(jt.Z,{disabled:Ee})),e.createElement(h.default.Item,{label:"\u4EFB\u52A1\u540D\u79F0",name:["hack","name"],rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u4EFB\u52A1\u540D\u79F0"}]},e.createElement(pe.default,{maxLength:60,placeholder:"\u8BF7\u8F93\u5165\u4EFB\u52A1\u540D\u79F0",suffix:e.createElement("span",null,60-r.name.length)})),e.createElement(h.default.Item,{name:["hack","description"],valuePropName:"defaultValue",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u63CF\u8FF0\u5185\u5BB9"}]},e.createElement(ye.Z,{miniToolbar:!0,id:"moop_cases_content",noStorage:!0,height:200})),e.createElement("div",{onClick:()=>qe(!0)},e.createElement(h.default.Item,{label:"\u9898\u76EE\u89E3\u6790",name:["hack","analysis"],className:`${S.Z.baseLineHeight}`},e.createElement(wt.x,{placeholder:"\u8BF7\u7F16\u8F91\u9898\u76EE\u89E3\u6790\uFF08\u975E\u5FC5\u586B\uFF09",isEdit:ze}))),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:Q},"\u6DFB\u52A0\u6D4B\u8BD5\u7528\u4F8B")),e.createElement(h.default.Item,{name:["hack","test_set_score"]},e.createElement(Z.ZP.Group,{onChange:de},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($.default,{style:{marginBottom:"5px"},checked:De,onChange:Ae},"\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(h.default.Item,{className:S.Z.testJi,name:["hack","is_file"],label:"\u7528\u4F8B\u7C7B\u578B:"},e.createElement(Z.ZP.Group,{onChange:A},e.createElement(ge.Z,{direction:"horizontal"},e.createElement(Z.ZP,{value:!1},"\u6587\u672C"),e.createElement(Z.ZP,{value:!0},"\u6587\u4EF6")))),e.createElement(h.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(h.default.Item,{name:["hack","test_set_average"],label:"\u7CFB\u7EDF\u8BC4\u5206\u5360\u6BD4"},e.createElement(Z.ZP.Group,{onChange:te},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($.default,{checked:Ke,style:{display:"flex",alignItems:"center"},className:S.Z.checkboxs,onChange:b=>{Re(b.target.checked),u.setFieldsValue({hack:{code_compile_score:0}}),r.test_set_average&&(r.is_file?g(ae):s())}},"\u542F\u7528\u7F16\u8BD1\u901A\u8FC7\u5373\u53EF\u5F97\u5206"),Ke&&e.createElement("span",{style:{display:"flex"}},e.createElement(h.default.Item,{rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u7F16\u8BD1\u5F97\u5206"}],name:["hack","code_compile_score"]},e.createElement(W.Z,{onChange:()=>{r.test_set_average&&(r.is_file?g(ae):s())},parser:b=>isNaN(parseInt(b))?"":parseInt(b),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:S.Z.upBtn},e.createElement(M.ZP,{ghost:!0,type:"primary",className:"mb20",onClick:()=>we(!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:ae,onRemove:$e})),!r.is_file&&e.createElement(h.default.List,{name:"hack_sets"},(b,{})=>e.createElement(he.default,{accordion:!0,className:S.Z.collapse},b.map((x,w)=>e.createElement(Kt,{key:`${x.key}--${w}`,header:e.createElement("a",{className:S.Z["test-case-name"]},e.createElement("span",null,"\u6D4B\u8BD5\u7528\u4F8B",w+1),ne?null:e.createElement(e.Fragment,null,e.createElement(h.default.Item,{name:[x.name,"score"],style:{marginBottom:0},fieldKey:[x.fieldKey,"score"],rules:[{required:!0,message:`\u8BF7\u8F93\u5165\u6D4B\u8BD5\u96C6${w+1}\u8BC4\u5206`}]},e.createElement(W.Z,{onClick:He,min:0,max:100,disabled:Ge})),e.createElement("span",null,"%"))),extra:w>0?e.createElement("div",{onClick:He},e.createElement(Te.Z,{okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",title:"\u786E\u5B9A\u5220\u9664\u6D4B\u8BD5\u96C6"+(w+1),onConfirm:()=>{c(w)}},e.createElement(N.Z,{className:S.Z["btn-remove-case"]}))):null},e.createElement(h.default.Item,{label:"\u8F93\u5165",name:[x.name,"input"],fieldKey:[x.fieldKey,"input"]},e.createElement(mt,null)),e.createElement(h.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:()=>we(!1),onOK:tt,multiple:!0,defaultMultipleValue:r==null?void 0:r.is_file}))}}}]);