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

2 lines
17 KiB

"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5125],{18190:function(pe,k,m){m.r(k),m.d(k,{default:function(){return q}});var e=m(59301),g=m(63144),L=m(95237),y=m(66104),z=m(43604),B=m(99313),f=m(5112),S=m(14491),M=m(43418),K=m(22596),d={flex_box_center:"flex_box_center___Qx5by",flex_space_between:"flex_space_between___Jovvb",flex_box_vertical_center:"flex_box_vertical_center___ZgKxt",flex_box_center_end:"flex_box_center_end___rLoZQ",flex_box_column:"flex_box_column___H7gvw",title:"title___mKlZQ",link:"link____MbLK",wrap:"wrap___M54Mm",info:"info___LS1sD",name:"name___XFTyf",box:"box___MY5TN",tab:"tab___Pts7W",group:"group___KTR8B",modal:"modal___wynb6",head:"head___rpYjK",des:"des___PNfp8",sub:"sub___LF5wd",tags:"tags___tdrDl"},N=m(76265),R=m(99232),H=m.n(R),Q=m(46961),J=Object.defineProperty,G=Object.defineProperties,V=Object.getOwnPropertyDescriptors,j=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,Z=(v,o,E)=>o in v?J(v,o,{enumerable:!0,configurable:!0,writable:!0,value:E}):v[o]=E,b=(v,o)=>{for(var E in o||(o={}))W.call(o,E)&&Z(v,E,o[E]);if(j)for(var E of j(o))Y.call(o,E)&&Z(v,E,o[E]);return v},X=(v,o)=>G(v,V(o)),I=(v,o,E)=>new Promise((h,A)=>{var _=a=>{try{F(E.next(a))}catch(p){A(p)}},D=a=>{try{F(E.throw(a))}catch(p){A(p)}},F=a=>a.done?h(a.value):Promise.resolve(a.value).then(_,D);F((E=E.apply(v,o)).next())});const U=({exercise:v,user:o,dispatch:E})=>{var h,A,_;const D=(h=window.location.pathname)==null?void 0:h.includes("exercise"),F=D?"exercise":"shixun_homework",a=(0,g.useParams)(),{userInfo:p}=o,[r,ee]=(0,e.useState)({}),[c,le]=(0,e.useState)(),[ue,x]=(0,e.useState)(0),[te,ne]=(0,e.useState)([]),[ae,T]=(0,e.useState)(!0),[re,O]=(0,e.useState)(!1),[ie,ce]=(0,e.useState)(0),[i,w]=(0,e.useState)({type:"2",degree:0,page:1,limit:10,id:a.studentId}),{bug:l,vulnerability:u,codeSmall:t}=(r==null?void 0:r.analysis_data)||{};(0,e.useEffect)(()=>{oe(),$(i)},[]);const oe=()=>I(void 0,null,function*(){const n=yield(0,N.ZP)("/api/code_analyses_detail/analyse_detail.json",{method:"get",params:{id:a.studentId}});n.status===0&&ee(n.data)}),$=n=>I(void 0,null,function*(){var s;T(!0);const C=yield(0,N.ZP)("/api/code_analyses_detail/analyse_detail_list.json",{method:"get",params:n});C.status===0&&(ne(C.data.recordList),ce((s=C.data)==null?void 0:s.recordSum)),T(!1)}),P={\u963B\u65AD:e.createElement("i",{style:{color:"#D4333F"},className:"iconfont icon-zuduan font14"}),\u4E25\u91CD:e.createElement("i",{style:{color:"#D4333F"},className:"iconfont icon-yanzhong font14"}),\u4E3B\u8981:e.createElement("i",{style:{color:"#D4333F"},className:"iconfont icon-zhuyao font14"}),\u6B21\u8981:e.createElement("i",{style:{color:"#B0D513"},className:"iconfont icon-ciyao font14"}),\u63D0\u793A:e.createElement("i",{style:{color:"#4B9FD5"},className:"iconfont icon-tishi10 font14"}),Bug:e.createElement("i",{className:"iconfont icon-bug"}),\u6F0F\u6D1E:e.createElement("i",{className:"iconfont icon-loudong1"}),\u4EE3\u7801\u89C4\u8303:e.createElement("i",{className:"iconfont icon-yiwei"})},se=[{title:"\u5E8F\u53F7",dataIndex:"name",align:"left",width:80,render:(n,s,C)=>i.limit*(i.page-1)+C+1},{title:`${i.type==="2"?"Bug":i.type==="3"?"\u6F0F\u6D1E":"\u89C4\u8303\u5F02\u5E38"}\u540D\u79F0`,align:"left",ellipsis:!0,dataIndex:"name",render:(n,s)=>e.createElement("a",{target:"_blank",href:`/classrooms/${a.coursesId}/${F}/${a.exerciseId}/analysis/${a.studentId}/code?name=${r==null?void 0:r.user_name}&rule_id=${s.ruleId}&uuid=${s.uuid}&issueId=${s.issueId}&language=${s.language}&rowNumber=${s.rowNumber}`,className:d.link},n)},{title:"\u6587\u4EF6\u8DEF\u5F84",align:"left",ellipsis:!0,dataIndex:"filePath"},{title:"\u4E25\u91CD\u7A0B\u5EA6",align:"left",width:90,dataIndex:"level",render:n=>e.createElement("span",null,P[n],e.createElement("span",{className:"ml5"},n))},{title:"\u64CD\u4F5C",width:154,align:"left",dataIndex:"action",render:(n,s)=>e.createElement(L.Z,{justify:"space-between",align:"middle"},e.createElement("span",{onClick:()=>ve(s),className:"current c-light-primary"},"\u95EE\u9898\u5206\u6790"),e.createElement("a",{target:"_blank",href:`/classrooms/${a.coursesId}/${F}/${a.exerciseId}/analysis/${a.studentId}/code?name=${r==null?void 0:r.user_name}&rule_id=${s.ruleId}&uuid=${s.uuid}&issueId=${s.issueId}&language=${s.language}&rowNumber=${s.rowNumber}`,className:"current c-light-primary"},"\u4EE3\u7801\u8BE6\u60C5"))}],me=n=>{i.page=1,i.type=n,w(b({},i)),$(i)},Ee=n=>{i.page=1,i.degree=n.target.value,w(b({},i)),$(i)},de=n=>{i.page=n==null?void 0:n.current,i.limit=n==null?void 0:n.pageSize,w(b({},i)),$(i)},ve=n=>I(void 0,null,function*(){const s=yield(0,N.ZP)("/api/code_analyses_detail/problem_analysis.json",{method:"get",params:{rule_id:n.ruleId}});s.status===0&&(le(X(b({},s.data),{level:n.level,type:i.type==="2"?"Bug":i.type==="3"?"\u6F0F\u6D1E":"\u4EE3\u7801\u89C4\u8303"})),x(32))});let Fe=[{live:"A",gz:"0\u4E2A\u9519\u8BEF",ld:"0\u4E2A\u6F0F\u6D1E",gf:"0 - 5%"},{live:"B",gz:"\u81F3\u5C111\u4E2A\u6B21\u8981\u9519\u8BEF",ld:"\u81F3\u5C111\u4E2A\u6B21\u8981\u6F0F\u6D1E",gf:"6% - 10%"},{live:"C",gz:"\u81F3\u5C111\u4E2A\u4E3B\u8981\u9519\u8BEF",ld:"\u81F3\u5C111\u4E2A\u4E3B\u8981\u6F0F\u6D1E",gf:"11% - 20%"},{live:"D",gz:"\u81F3\u5C111\u4E2A\u4E25\u91CD\u9519\u8BEF",ld:"\u81F3\u5C111\u4E2A\u4E25\u91CD\u6F0F\u6D1E",gf:"21% - 50%"},{live:"E",gz:"\u81F3\u5C111\u4E2A\u963B\u65AD\u9519\u8BEF",ld:"\u81F3\u5C111\u4E2A\u963B\u65AD\u6F0F\u6D1E",gf:"\u8D85\u8FC750%"}];return e.createElement("section",{className:"edu-container"},e.createElement("section",{className:"animated fadeIn"},e.createElement("aside",{className:"mt10"},p&&e.createElement(y.Z,{separator:">"},e.createElement(y.Z.Item,null,e.createElement(g.Link,{to:`/classrooms/${a.coursesId}/${F}`},(A=p==null?void 0:p.course)==null?void 0:A.course_name)),e.createElement(y.Z.Item,null,e.createElement(g.Link,{to:`/classrooms/${a.coursesId}/${F}`},D?"\u8003\u8BD5":"\u5B9E\u8BAD","\u5217\u8868")),e.createElement(y.Z.Item,null,e.createElement(g.Link,{to:`/classrooms/${a.coursesId}/${F}/${a==null?void 0:a.exerciseId}/detail`},D?"\u8BD5\u5377":"\u4F5C\u4E1A","\u8BE6\u60C5")),e.createElement(y.Z.Item,null,r==null?void 0:r.user_name))),e.createElement("aside",{className:[d.title,"mt20"].join(" ")},e.createElement(L.Z,{style:{width:"100%"}},e.createElement(z.Z,{flex:"1",style:{lineHeight:"24px"}},e.createElement(g.Link,{to:`/classrooms/${a.coursesId}/${F}/${a==null?void 0:a.exerciseId}/detail`},e.createElement(K.Z,{className:"font16 c-black"})),e.createElement("strong",{className:"font20 ml5"},r==null?void 0:r.name),e.createElement("span",{className:"iconfont icon-a-wenhaobeifen2",onClick:()=>{O(!0)},style:{fontWeight:800,color:"#0152d9",float:"right",cursor:"pointer"}},"\u89C4\u5219\u8BF4\u660E"))))),e.createElement("section",{className:d.wrap},e.createElement("div",{className:d.info},e.createElement("img",{src:`${Q.Z.IMG_SERVER}/images/${r==null?void 0:r.avatar}`,alt:""}),e.createElement("ul",{style:{marginLeft:30}},e.createElement("li",{className:d.name},r==null?void 0:r.user_name),e.createElement("li",null,e.createElement("span",null,"\u5B66\u53F7\uFF1A"),r==null?void 0:r.student_number),e.createElement("li",null,e.createElement("span",null,"\u4EE3\u7801\u884C\u6570\uFF1A"),r==null?void 0:r.total_row_number)),e.createElement("ul",{style:{marginTop:65}},e.createElement("li",null,e.createElement("span",null,"\u5206\u73ED\uFF1A"),r==null?void 0:r.group_course_name),e.createElement("li",null,e.createElement("span",null,"\u590D\u6742\u4EE3\u7801\uFF1A"),r==null?void 0:r.complexity)),e.createElement("ol",null,e.createElement("li",null,"\u8D28\u91CF\u8BC4\u5206\uFF1A"),e.createElement("li",null,r==null?void 0:r.quality_score))),e.createElement("div",{className:d.box},e.createElement("ul",null,e.createElement("li",null,e.createElement("p",{className:"mb20"},l==null?void 0:l.total),e.createElement("div",null,"\u7F3A\u9677")),e.createElement("li",null,e.createElement("div",null,"\u7B49\u7EA7\uFF1A",e.createElement("b",null,l==null?void 0:l.levelStr)),e.createElement("div",null,e.createElement("span",null,"\u963B\u65AD"),e.createElement("div",null,e.createElement("aside",{style:{background:"#A73E38",width:(l==null?void 0:l.blocker)===0?0:`${(l==null?void 0:l.blocker)/(l==null?void 0:l.total)*100}%`}})),e.createElement("span",null,l==null?void 0:l.blocker)),e.createElement("div",null,e.createElement("span",null,"\u4E25\u91CD"),e.createElement("div",null,e.createElement("aside",{style:{background:"#DB544D",width:(l==null?void 0:l.critical)===0?0:`${(l==null?void 0:l.critical)/(l==null?void 0:l.total)*100}%`}})),e.createElement("span",null,l==null?void 0:l.critical)),e.createElement("div",null,e.createElement("span",null,"\u4E3B\u8981"),e.createElement("div",null,e.createElement("aside",{style:{background:"#F7AB3E",width:(l==null?void 0:l.major)===0?0:`${(l==null?void 0:l.major)/(l==null?void 0:l.total)*100}%`}})),e.createElement("span",null,l==null?void 0:l.major)),e.createElement("div",null,e.createElement("span",null,"\u6B21\u8981"),e.createElement("div",null,e.createElement("aside",{style:{background:"#E7DF37",width:(l==null?void 0:l.minor)===0?0:`${(l==null?void 0:l.minor)/(l==null?void 0:l.total)*100}%`}})),e.createElement("span",null,l==null?void 0:l.minor)))),e.createElement("ul",null,e.createElement("li",null,e.createElement("p",{className:"mb20"},u==null?void 0:u.total),e.createElement("div",null,"\u6F0F\u6D1E")),e.createElement("li",null,e.createElement("div",null,"\u7B49\u7EA7\uFF1A",e.createElement("b",null,u==null?void 0:u.levelStr)),e.createElement("div",null,e.createElement("span",null,"\u963B\u65AD"),e.createElement("div",null,e.createElement("aside",{style:{background:"#A73E38",width:(u==null?void 0:u.blocker)===0?0:`${(u==null?void 0:u.blocker)/(u==null?void 0:u.total)*100}%`}})),e.createElement("span",null,u==null?void 0:u.blocker)),e.createElement("div",null,e.createElement("span",null,"\u4E25\u91CD"),e.createElement("div",null,e.createElement("aside",{style:{background:"#DB544D",width:(u==null?void 0:u.critical)===0?0:`${(u==null?void 0:u.critical)/(u==null?void 0:u.total)*100}%`}})),e.createElement("span",null,u==null?void 0:u.critical)),e.createElement("div",null,e.createElement("span",null,"\u4E3B\u8981"),e.createElement("div",null,e.createElement("aside",{style:{background:"#F7AB3E",width:(u==null?void 0:u.major)===0?0:`${(u==null?void 0:u.major)/(u==null?void 0:u.total)*100}%`}})),e.createElement("span",null,u==null?void 0:u.major)),e.createElement("div",null,e.createElement("span",null,"\u6B21\u8981"),e.createElement("div",null,e.createElement("aside",{style:{background:"#E7DF37",width:(u==null?void 0:u.minor)===0?0:`${(u==null?void 0:u.minor)/(u==null?void 0:u.total)*100}%`}})),e.createElement("span",null,u==null?void 0:u.minor)))),e.createElement("ul",null,e.createElement("li",null,e.createElement("p",{className:"mb20"},t==null?void 0:t.total),e.createElement("div",null,"\u4EE3\u7801\u89C4\u8303")),e.createElement("li",null,e.createElement("div",null,"\u7B49\u7EA7\uFF1A",e.createElement("b",null,t==null?void 0:t.levelStr)),e.createElement("div",null,e.createElement("span",null,"\u963B\u65AD"),e.createElement("div",null,e.createElement("aside",{style:{background:"#A73E38",width:(t==null?void 0:t.blocker)===0?0:`${(t==null?void 0:t.blocker)/(t==null?void 0:t.total)*100}%`}})),e.createElement("span",null,t==null?void 0:t.blocker)),e.createElement("div",null,e.createElement("span",null,"\u4E25\u91CD"),e.createElement("div",null,e.createElement("aside",{style:{background:"#DB544D",width:(t==null?void 0:t.critical)===0?0:`${(t==null?void 0:t.critical)/(t==null?void 0:t.total)*100}%`}})),e.createElement("span",null,t==null?void 0:t.critical)),e.createElement("div",null,e.createElement("span",null,"\u4E3B\u8981"),e.createElement("div",null,e.createElement("aside",{style:{background:"#F7AB3E",width:(t==null?void 0:t.major)===0?0:`${(t==null?void 0:t.major)/(t==null?void 0:t.total)*100}%`}})),e.createElement("span",null,t==null?void 0:t.major)),e.createElement("div",null,e.createElement("span",null,"\u6B21\u8981"),e.createElement("div",null,e.createElement("aside",{style:{background:"#E7DF37",width:(t==null?void 0:t.minor)===0?0:`${(t==null?void 0:t.minor)/(t==null?void 0:t.total)*100}%`}})),e.createElement("span",null,t==null?void 0:t.minor))))),e.createElement(B.default,{className:d.tab,activeKey:i.type,onChange:me},e.createElement(B.default.TabPane,{tab:`Bug (${(l==null?void 0:l.total)||0})`,key:"2"}),e.createElement(B.default.TabPane,{tab:`\u6F0F\u6D1E (${(u==null?void 0:u.total)||0})`,key:"3"}),e.createElement(B.default.TabPane,{tab:`\u4EE3\u7801\u89C4\u8303 (${(t==null?void 0:t.total)||0})`,key:"1"})),e.createElement("div",{className:d.group},e.createElement("span",{className:"mr5"},"\u4E25\u91CD\u7A0B\u5EA6:"),e.createElement(f.ZP.Group,{value:i.degree,onChange:Ee},e.createElement(f.ZP,{value:0},"\u5168\u90E8"),e.createElement(f.ZP,{value:1},"\u963B\u65AD"),e.createElement(f.ZP,{value:2},"\u4E25\u91CD"),e.createElement(f.ZP,{value:3},"\u4E3B\u8981"),e.createElement(f.ZP,{value:4},"\u6B21\u8981"))),e.createElement(S.default,{style:{padding:"30px 30px 0 30px"},dataSource:te,columns:se,onChange:de,loading:ae,pagination:{pageSize:i.limit,total:ie,current:i.page,showQuickJumper:!0,hideOnSinglePage:!0,position:["bottomCenter"],showTotal:n=>e.createElement("span",{className:"mr10"},"\u5171",e.createElement("span",{className:"c-orange"},n),"\u6761\u6570\u636E")}})),e.createElement("div",{className:d.modal,style:{height:`${ue}vh`}},e.createElement("div",{className:d.head},e.createElement("span",null,"\u95EE\u9898\u5206\u6790"),e.createElement("i",{className:"icon-zuixiaohua iconfont mt10",onClick:()=>x(32)}),e.createElement("i",{style:{margin:"0 18px"},className:"icon-fangda iconfont",onClick:()=>x(80)}),e.createElement("i",{className:"icon-guanbi7 iconfont",onClick:()=>x(0)})),e.createElement("div",{className:d.des},e.createElement("div",{className:d.sub},c==null?void 0:c.title),e.createElement("div",{className:d.tags},e.createElement("span",null,P[c==null?void 0:c.type],"\xA0",c==null?void 0:c.type),e.createElement("span",null,P[c==null?void 0:c.level],"\xA0",c==null?void 0:c.level),e.createElement("span",null,e.createElement("i",{className:"iconfont icon-biaoqian4 mr5"}),(_=c==null?void 0:c.tags)==null?void 0:_.join(",")),e.createElement("span",null,"\u751F\u6548\u65F6\u95F4",H()(c==null?void 0:c.createTime).format("ll")),e.createElement("span",null,c==null?void 0:c.language),e.createElement("span",null,"\u5E38\u91CF/\u4EFB\u52A1:",c==null?void 0:c.constantIssue)),e.createElement("div",{className:d.example,dangerouslySetInnerHTML:{__html:(c==null?void 0:c.example)||""}}))),e.createElement(M.default,{open:re,title:"\u89C4\u5219\u8BF4\u660E",width:800,footer:null,onCancel:()=>{O(!1)}},e.createElement("p",null,"\u4E00\u3001\u7B49\u7EA7\u89C4\u5219"),e.createElement("p",{style:{marginLeft:"10px"}},"1. \u7F3A\u9677\u7B49\u7EA7"),e.createElement("p",{style:{marginLeft:"10px"}},e.createElement(S.default,{dataSource:Fe,columns:[{title:"\u7B49\u7EA7",dataIndex:"live"},{title:"\u7F3A\u9677\u8BC4\u4F30\u89C4\u5219",dataIndex:"gz"},{title:"\u6F0F\u6D1E\u8BC4\u4F30\u89C4\u5219",dataIndex:"ld"},{title:"\u4EE3\u7801\u89C4\u8303\u8BC4\u4F30\u89C4\u5219",dataIndex:"gf"}],pagination:!1})),e.createElement("p",{style:{marginLeft:"10px"}},"\u6CE8\uFF1A\u4EE3\u7801\u89C4\u8303\u8BC4\u4F30\u89C4\u5219\u4E2D\u6570\u503C\u6765\u6E90\u4E3A\u8BA1\u7B97\u6280\u672F\u503A\u52A1\u65F6\u95F4\u5360\u5F00\u53D1\u6240\u6709\u4EE3\u7801\u6240\u9700\u8981\u7684\u65F6\u95F4\u7684\u6BD4\u4F8B\uFF08Technical Debt Ratio\uFF09"),e.createElement("p",{style:{marginLeft:"20px"}},"Technical Debt Ratio = \u6280\u672F\u503A\u52A1\u65F6\u95F4 / \u5F00\u53D1\u65F6\u95F4"),e.createElement("p",{style:{marginLeft:"20px"}},"\u6280\u672F\u503A\u52A1\u65F6\u95F4\u4E3A\u4FEE\u590D\u6240\u6709\u95EE\u9898\u6240\u9700\u8981\u7684\u65F6\u95F4\u3002"),e.createElement("p",null,"\u4E8C\u3001\u590D\u6742\u5EA6\u89C4\u5219"),e.createElement("p",{style:{marginLeft:"10px"}},"\u6839\u636E\u4EE3\u7801\u8DEF\u5F84\u6570\u8BA1\u7B97\u7684\u6570\u503C\uFF0C\u6BCF\u5F53\u4E00\u4E2A\u51FD\u6570\u7684\u63A7\u5236\u6D41\u5206\u53C9\u65F6\uFF0C\u590D\u6742\u5EA6\u8BA1\u6570\u5668\u5C31\u4F1A\u81EA\u589E\u4E00\u3002"),e.createElement("p",{style:{marginLeft:"10px"}},"\u6BCF\u4E2A\u7A0B\u5E8F\u8BED\u8A00\u7684\u5173\u952E\u5B57\u5BF9\u5E94\u7684\u590D\u6742\u5EA6\u6570\u636E\u4E0D\u540C\uFF0C\u4F46\u6BCF\u4E2A\u51FD\u6570\u7684\u6700\u5C0F\u590D\u6742\u5EA6\u4E3A1\u3002\uFF08\u7279\u5B9A\u8BED\u8A00\u7684\u8BE6\u7EC6\u6570\u636E\u7565\uFF09"),e.createElement("p",null,"\u4E09\u3001\u4EE3\u7801\u8D28\u91CF\u5206\u89C4\u5219"),e.createElement("p",{style:{marginLeft:"10px"}},"\u4EE3\u7801\u8D28\u91CF\u5206 = 0.5*\u7F3A\u9677\u5206\u6570 + 0.3*\u6F0F\u6D1E\u5206\u6570 + 0.2*\u4EE3\u7801\u89C4\u8303\u6027\u5206\u6570"),e.createElement("p",{style:{marginLeft:"10px"}},"\u5176\u4E2D\uFF1A"),e.createElement("p",{style:{marginLeft:"10px"}},"\u7F3A\u9677/\u6F0F\u6D1E/\u4EE3\u7801\u89C4\u8303\u6027\u5206\u6570\u8BA1\u7B97\u89C4\u5219\u4E3A\uFF1A100 - 100 *((100*\u963B\u65AD\u6570 + 5*\u4E25\u91CD\u6570 + 3*\u4E3B\u8981\u6570 + 1*\u6B21\u6570\uFF09/ \u4EE3\u7801\u884C\u6570\uFF09"),e.createElement("p",{style:{marginLeft:"10px"}},"\u6CE8\uFF1A\u5206\u6570\u4E3A\u7A7A\u7684\u4EE3\u8868\u4E0D\u652F\u6301\u7684\u6587\u4EF6\u683C\u5F0F\u3002")))};var q=(0,g.connect)(({exercise:v,user:o})=>({exercise:v,user:o}))(U)}}]);