"use strict";(self.webpackChunkant_design_pro=self.webpackChunkant_design_pro||[]).push([[5567],{95567:function(I,i,_){_.r(i);var g=_(97857),o=_.n(g),T=_(15009),t=_.n(T),h=_(99289),m=_.n(h),c=_(5574),v=_.n(c),E=_(67294),d=_(2453),M=_(78957),O=_(83622),f=_(96154),P=_(54683),s=_(85893),A=function(){var j=(0,E.useState)([]),b=v()(j,2),D=b[0],p=b[1];(0,E.useEffect)(function(){var u=function(){var n=m()(t()().mark(function r(){var a;return t()().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,P.Z.get("/api/bounties",{params:{status:[0,1,2].join(",")}});case 3:a=e.sent,a.data.code===200&&p(a.data.data.records||[]),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),d.ZP.error("\u52A0\u8F7D\u60AC\u8D4F\u5217\u8868\u5931\u8D25");case 10:case"end":return e.stop()}},r,null,[[0,7]])}));return function(){return n.apply(this,arguments)}}();u()},[]);var W=function(){var u=m()(t()().mark(function n(r){var a;return t()().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,P.Z.post("/api/bounties/close",{id:r});case 3:a=e.sent,a.data.code===200&&(d.ZP.success("\u60AC\u8D4F\u5DF2\u5173\u95ED"),p(D.map(function(l){return l.id===r?o()(o()({},l),{},{status:2}):l}))),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),d.ZP.error("\u5173\u95ED\u5931\u8D25");case 10:case"end":return e.stop()}},n,null,[[0,7]])}));return function(r){return u.apply(this,arguments)}}(),C=[{title:"\u6211\u662Fmanage\u6807\u9898",dataIndex:"title"},{title:"\u5956\u52B1",dataIndex:"reward"},{title:"\u72B6\u6001",dataIndex:"status",render:function(n){return n===0?"\u8FDB\u884C\u4E2D":n===1?"\u5DF2\u5B8C\u6210":"\u5DF2\u5173\u95ED"}},{title:"\u64CD\u4F5C",render:function(n,r){return(0,s.jsx)(M.Z,{children:(0,s.jsx)(O.ZP,{type:"link",onClick:function(){return W(r.id)},children:"\u5173\u95ED"})})}}];return(0,s.jsxs)("div",{className:"page-container",children:[(0,s.jsx)("h2",{children:"\u60AC\u8D4F\u7BA1\u7406"}),(0,s.jsx)(f.Z,{dataSource:D,columns:C,rowKey:"id",pagination:{pageSize:10}})]})};i.default=A}}]);
