From d97fb2a87df7cb9e0a61d117a4fe34b0cd649c8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B2=B3=E7=95=94=E4=B8=80=E8=A7=92?= Date: Sun, 27 Oct 2024 00:12:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E5=92=8C=E8=8F=9C=E5=8D=95=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=85=B3=E8=81=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 20 ++-- README.zh-CN.md | 20 ++-- packages/docs/src/public/sponsor/8.jpeg | Bin 0 -> 5867 bytes packages/docs/src/public/sponsor/9.png | Bin 0 -> 53980 bytes packages/docs/src/sponsor.md | 20 ++-- packages/editor/src/api/types/index.ts | 2 - .../editor/src/components/CreateProject.tsx | 105 ++++++++++++++++++ .../editor/src/components/CustomIconList.tsx | 82 ++++++++++++++ .../src/pages/admin/menu/CreateMenu.tsx | 100 ++++++++--------- .../editor/src/pages/admin/menu/index.tsx | 41 ++++--- .../editor/src/pages/admin/role/index.tsx | 10 +- .../editor/src/pages/admin/user/index.tsx | 10 +- packages/editor/src/pages/editor/editor.tsx | 4 +- .../editor/src/pages/home/ProjectList.tsx | 31 ++++-- 14 files changed, 330 insertions(+), 115 deletions(-) create mode 100644 packages/docs/src/public/sponsor/8.jpeg create mode 100644 packages/docs/src/public/sponsor/9.png create mode 100644 packages/editor/src/components/CreateProject.tsx create mode 100644 packages/editor/src/components/CustomIconList.tsx diff --git a/README.md b/README.md index 9c54b1fa..1ce16a82 100644 --- a/README.md +++ b/README.md @@ -160,15 +160,17 @@ If you encounter any technical or commercial authorization issues during use, pl Thank you to the following brothers for their donation: -| name | profile picture | -| --------------- | ------------------------------------------------------------- | -| 物联网方案-肖工 | | -| 🥕 二月贝弋 🥕 | | -| 猩猩点灯 | | -| 元次达 | | -| IoT-Fast | | -| w10752842 | | -| 朱红宾 | | +| name | profile picture | +| --------------- | -------------------------------------------------------------- | +| 物联网方案-肖工 | | +| 🥕 二月贝弋 🥕 | | +| 猩猩点灯 | | +| 元次达 | | +| IoT-Fast | | +| w10752842 | | +| 朱红宾 | | +| yangshare | | +| Joker6578 | | ## 🤝 Participate and contribute diff --git a/README.zh-CN.md b/README.zh-CN.md index d9793f2e..f00a7ace 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -161,15 +161,17 @@ git merge upstream/main 感谢以下兄弟的捐赠: -| 名称 | 头像 | -| --------------- | ------------------------------------------------------------- | -| 物联网方案-肖工 | | -| 🥕 二月贝弋 🥕 | | -| 猩猩点灯 | | -| 元次达 | | -| IoT-Fast | | -| w10752842 | | -| 朱红宾 | | +| 名称 | 头像 | +| --------------- | -------------------------------------------------------------- | +| 物联网方案-肖工 | | +| 🥕 二月贝弋 🥕 | | +| 猩猩点灯 | | +| 元次达 | | +| IoT-Fast | | +| w10752842 | | +| 朱红宾 | | +| yangshare | | +| Joker6578 | | ## 🤝 参与贡献 diff --git a/packages/docs/src/public/sponsor/8.jpeg b/packages/docs/src/public/sponsor/8.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..95b42b23afd9f27a7bd6d22ad7021976aa3e4c6e GIT binary patch literal 5867 zcmb7oXEYpc(EaK?N)R<7R@vyi6IRqHt1XL&tX`JYq7xBOqOTey%3`A>qPIk6^%8A~ zh)xI_y~OKx{^x(r`}MsuU!F5Fckc6X?#xDCJ!4gdxa5fc8F zw;;Yv5^@p}Vqy|XGBQ$fYD#KqDoQFUnmY`1G2?+%w4HXUJ{~0&m0QBU506+i{0X=|_o`8s+;HC$_d8?C{=s&st zAH+l?WaI>-6oi1=vN9cjfQX2Y_!dN@WdC&$5E2msNa#tq$r!}d$nQez7#|{2D3~N( z@u(LvOB%oU+zAAGN7k+!9Nvzz695Qr$^RGo?UR@UKuUI76ugx|NI*<@`!hnK|F@lh zke-N`fm>V+a`&Nx9SJETl9@+6W#wi8KuvT@MNdQzPz97cire+pc!8byIckJjoBRjr z5IAL+*%s54!|P7|?r|RS`@@@6qi`bMR@b2W`KbKNyF-8@{9{;l^s4yd@ z=7p6jpK_P7d=3mY>5+lK+#r!Ol_79P&FQ*7GOa)1aKa&=Y{g0MVC*fdV~_dRYdRAL zuF?|LB-cY`m}C-tv%hNHmwA}T27RQT&9xqsl#XSY{OVv`j}w`VnY4eLa42330{L~m z16GtRPIv3KIh~7y=p3}i{&;Rs-^Pk6#i26k3IusnCA?{;f|%ZD29s`F!yyF*_3YpK z%*@W1^^1%VBj9ueNsdWkzqU-m$;52)rN&*8Ov>Jb(MmM!%yG-RSo!gqwc+j*Znx(C zRCb>f;gZ}Y@r$?aCcZliaf7_Juee4=XfzkoybUL^-21b#>1~ir9_eKn>dB_+I)L9Q zH-LIo1iuJNyVj1p3TUOGvHOa!(XE!sVSToGM`K{0mu?ju8O9CFces1ig!2qaXUQ@Y zF%WXj{obA#lXzKEJVchQy?);MF31QgH8cL}I?2EED5h>HT^X0TaUT{&K;2LvRG})H zW$1}!H>&1(&~QrZa@mlQAhXa~UuvH<+-nS!W&Qa^VVghQQW?O)!emSBt!cbG8#x*X zN5K!PL*C;2&>cOT{yL@3g&>{Pp>B<@6@G5L05OHqD ztA=nL>WQ|mYpv{kXpSc=fc*WsvmE}T)rZU#>?YcRrDR9C=qBnK7ZIrHMr~yz>pXA% z+oIc1T3GMTW?Ip?I;sbME)l9|T)lKhFJ1-QykyhLmQ$*~K~tC&xwdySqc@@gQLc3}b!IivkLIVM&?M9$Lc5hJ>`JH=5LSB6kfif@+jo zYK&{A!n=j~9>Er^VvEpio!xgY(1d3)@1GR9-G9-EMJDW~eqz6W%$y~wtZ?>j?r$>D z2>!GmqQxRBl_I()<$S?#$m^^Q(>48Mn(si6VwHR?s&r9QHbkr<*}40r3auL&#S{*L zsP4g%uiJAV?Sqs-W~MmNDrO~P?^@r za$7_@>>%27dyW@0M4{++TvLFP8VgSW8;EtOWL2-NPP$KY;n}nnS{wYvb%l{rHvo{_ z1*GK3Tz`edQ<-8$AU7qDgK}FlOK1GF+lE;Bk@@bW^awWhv@*fqC2c8RN18#|a6Gj8 z2UV9@n^+gj9G9x;cHcN(%N-YmT(zcNxa_*_16gN@E8#1-R?6hZ>S5iO3|Zr?ngZ=w z!PxtvuYw{aQg=@<)DmV`Ml01v?W#c&(S<5dO-FszXffqdgv@Mi;wlNPOc9}YGgA<& ztk%ods(fVkw9P$w+f^){qB7FQ8~hjJ+}U!AWw4b0sKj84Mi9s7AsS6ao zYSfiwFcCvt+E4RtZ3s zL9)m1;<03zP2)r{TEy|@2`|4qdz`0hlujmiyGq%IrqS~|ZC|qtLlI#{T4KMl?1#jY zrE0=KIW$|6|xQp}i87jDDHb8-N+!tpTA>O@bPe5!a7DQD@S4F0+^;(4kJ9L`OpDxT6M? zzX3SDZ?{^G*=ehnOEjhS7>U%HLK{!Js_-?5Zr6=Lkk(S#ZQSEAPswK{=Y*QE*%X`{ z(2$Ei&)h^@WX%zFolH!f&UZh|Pt6#YCXW+ThWkst8o&FvcJR^XG5v(U*3khDQwgql z(BL#-g0p=Y_&OM#mP$g2s#Vc;RS5Cu$?yv&gFgd{FXE?p01FItgp{P;LNW2a4*f4~ z0J9ksW`%v7omrKE4voYlyk9|l{;dt8?h@juJ~%jWs`qDiXTG=3ut~DE z^q%j$HEy6S-$%&*ns1Pa#fgk{kgpDDk2dH2fGT#9S`hjYjVu9MeOQ2)%eLcC)%^egin?Jd%x7ewm0sVhB^R%R5kTIKaxlSzqJj;(NhZUli zBuyaE!u*8Xc*gFJ?j>kv-bcEv!Dj!4k18S>02Da5b=DYBM}Ctw!vC2`zyN+aS*^d_ z-qmaRB|FRmJaD2){Ptz0OlW%92c_kn51Z+oDVDA^XzMPmUl26%Q3(~ zHK^QUCN%l43R$VMgSKGw)B22i(y|$Yp=W8_a^V&vA|;^;^k$pTqioh0UfEB}5T@jB zM&J0W1@ZzU?(2XcBQ?xzKAAloKpK_BsQ#%8GnEV?-39gYX1$Nca>TT1$2Iyzorfm) zz&!(})B&iLWyubsvS$QGnCU!~OO2=>M&l>^N6pZ~C@0Y;+TFgZ_tyNr9Av_rJ@kDW zmh1*hWvoPaU7@Pn#P$q|f6R`8dRC9mg?7cXICA0^o(tJf%ozv*kY=j!7Vw_LH(rAsh zPhJcO7tV$`PRbbZv#JI?v%tLYmu1ZL?u)I^vZdn`!YUQB@U;!krcL%eqvG$9-cCoO zTc%X(EC$UbkE>1PC9pVNE1Ux*c#DQ$D$BQ&X>CbH=J3v{{3x62d_!u}hHy2wa$w(_ z&T#13^@jjP-!ij+=bg=ox83BgWA^=w_#J8>gZ5ln+DyAW>|N7QU?V~)(ORy6Z{hh+ z^vpOBICvVis*Dv^2eE zc~X<%ch=q_f5#H@$mv@OFf{%#ZJiN7$AX>aL^+5}Gecq|xEU;+U04eB)mZr2*T_+2 z%T)FU%7`oB$*ynMYo=*Zcs-Od6;@QYf{vE;a~{dBwuHN+W36LNiW^qZx*odb5<%s; zX>nmXh>%A@E)Uik%;wsxy5>?m6U2PLE~6oSvw$?U7iRUh#41t zX4-J@O4mMaT69DeAr^U85_Vxfrr4w>kmm+o3MqTwo;(^IAkN`%+?u&@+k)ny$^KX> z1BJ=Z=nX)(m740GVH%H2{Sw@oL3aIfCIN&Q%aQnt%FVfi5d(Z4sVoj_LiV#64kn~} z^7wm`_0Zn2Ss7!I4*gvAG~nI9KQhDpfekHNe9B1`njLc~IgRm<%44YejA#UD;NOsx zU;3B@)*O$7vBK}_Nrl(>%D&F2UM`jk`d5gg2qU~ZT06c|cZA=k1nX7$n44|oa6 zZ~xl+oo(jyWz=#ygKvEYE}&lkGAj6eWtHt$5_`eBr1#|GvsoEdPVKx3xip`UbH{@prD#9SV%fDBoD1ZJzE;^At zO(^N@c}tDXcH^F`Kli8efGP}~cW%iMC0SFMmOGP1|Fq6}#>VeV;K2>R0O@HsQ0F=% zrS~D3F>1iCa8oLnu@aGXIb~9tllHpK`%hwsXiC?8?nS9Vi!dcw(^6Yv2WJTGJ!iiz zMemt1;beqqyB=x6S8D3~2@@WqT{YKh4StV%;8g=;Z1(KWuisht~zc^tBc z(d^#WDcf7W?`Fd9Q1MF(V7D_jYVG09T`_6$_Ps%uHYaVFipp_b#RR4zPWr3UP>I%@`6&O766_5=vi-oU%7DZci5;SZcF#C#Vtc3LY~o>%nt;e z?w{icmHkIvv?~>37Bi`5gWd=$#D^5s-hb5N;z0EZBuM6qnt89QoQ;e^pWs6}gskqn z=vM<1PI!ne#@lPbt4UI9!M4}ThVgAYuUAxUGmX?H8<{X?N*G?3Gw)xc||N(S>GcpcnEIvgaAu*e!t1masj`?7D{2wDx$|A?j?-?*Pv+9&Xyp zRO+9Hm1&Fyi_Z%*8#sLrwD4LS`d4ZJK3z)+)B3=}nR}<~gNEXIPxG?_hyBLz{QClj zE~cCkPURU|_JS+R{rffFIl>yWW@P!6rcTR9+QqV6gzK5y%-La&mye$_=*)f3UX723 z9DrnU+{yZT;CFk3$})To=`3yM7;o(bNy;`C%7P!*DWvm&@Ed>?J6v_o;4!)%&^N~d zm1HFVzBB#K(Zxg0{V6j!-~DGUb&mC+P+o?ZtG7%3l|(6(3O1HzfLaa)V>c;O!a&9T z;HsR~CUv9_y?>vya4iP^7;$G_4)etE8{TgVZ9wXe(7M(SAYdP)F8_Sx3>itSMU@aO zMx+@U|2z=u6@aBcQgf*{`Prvy;Lcd~TZhCoDmKLH!O!*Ft`_?V>8HHdLQ5AxC|2>f zJhk@W*4KZ`o0uB_;nkDRt*nM2dQ(>JW!}13>JgXk!j46^bLf>4^gI~V*P^OjY3iEh zAspq}O5ZL_*k3l&B(2pc-8-=Ay(8vUQQgx+J-;iO1}p-xB0Et8XKmA!o9X z#(ge)Zb$HCRF*#k^{TPT7tP{(DUZlZeADLf0~)k?+&Q^nwCF37lAi@x$c{CA3>C2? zc~>>ldEPi8mUT|9XU78!`xw2Qd`avZ=r$@d<_a8ez2G>qS%gW~*TS+9#&CQ~`5(kv zz_UQJ-^e(BP>9b``1v_01OWtB=GiG=eT-1Qerg7MW>LI&?ILFodhJHVI9-$rbxic* zl_}kO)#rsVC{smim=#s1J$X*h(U&yNNFX0lQ&*Re>f-r1Wy{NOl^ zh0}u&OVy3TO$e`I6rQFX?*?VBGfC30W990lR7}ppl)yMp@9GrkA1A_nOS?`ub(T5H zC$JI1_-4_ua(k4wjN}on)D{##i=>FPSb4;)#*9Tg6Kr3bf^cBpMF_E&*BVWYv1uAI`4Fs literal 0 HcmV?d00001 diff --git a/packages/docs/src/public/sponsor/9.png b/packages/docs/src/public/sponsor/9.png new file mode 100644 index 0000000000000000000000000000000000000000..0a25c9fea8eb6c841e3d4933976f076dcedee3c8 GIT binary patch literal 53980 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 | -| 🥕 二月贝弋 🥕 | | -| 猩猩点灯 | | -| 元次达 | | -| IoT-Fast | | -| w10752842 | | -| 朱红宾 | | +| 名称 | 头像 | +| --------------- | -------------------------------------------------------------- | +| 物联网方案-肖工 | | +| 🥕 二月贝弋 🥕 | | +| 猩猩点灯 | | +| 元次达 | | +| IoT-Fast | | +| w10752842 | | +| 朱红宾 | | +| yangshare | | +| Joker6578 | | diff --git a/packages/editor/src/api/types/index.ts b/packages/editor/src/api/types/index.ts index b53479df..66bb2272 100644 --- a/packages/editor/src/api/types/index.ts +++ b/packages/editor/src/api/types/index.ts @@ -40,14 +40,12 @@ export interface CreatePageParams { name: string; user_name: string; user_id: string; - path: string; } export interface UpdatePageParams { id: number; user_id: string; name: string; - path: string; } export interface PublishPageParams { diff --git a/packages/editor/src/components/CreateProject.tsx b/packages/editor/src/components/CreateProject.tsx new file mode 100644 index 00000000..3c25eeea --- /dev/null +++ b/packages/editor/src/components/CreateProject.tsx @@ -0,0 +1,105 @@ +import { Input, Modal, Form, Radio } from 'antd'; +import { useImperativeHandle, useState, forwardRef, useMemo } from 'react'; +import { addProject } from '@/api'; +import { usePageStore } from '@/stores/pageStore'; +import UploadImages from './UploadImages/UploadImages'; +import { message } from '@/utils/AntdGlobal'; + +/** + * 创建项目 + */ +const CreateProject = (props: { update: () => void }, ref: any) => { + const [form] = Form.useForm(); + const [visible, setVisible] = useState(false); + const [loading, setLoading] = useState(false); + const userId = usePageStore((store) => store.userInfo.userId); + + // 暴露方法 + useImperativeHandle(ref, () => ({ + open() { + setVisible(true); + }, + })); + + // 提交 + const handleOk = async () => { + try { + await form.validateFields(); + const values = form.getFieldsValue(); + setLoading(true); + await addProject({ ...initValue, ...values }); + message.success('创建成功'); + props.update(); + setLoading(false); + setVisible(false); + } catch (error) { + setLoading(false); + } + }; + + // 关闭 + const handleCancel = () => { + form.resetFields(); + setVisible(false); + }; + + const initValue = useMemo(() => { + return { + layout: 1, + menu_mode: 'inline', + menu_theme_color: 'dark', + system_theme_color: '#1677ff', + breadcrumb: true, + tag: true, + footer: false, + logo: 'https://marsview.cdn.bcebos.com/mars-logo.png', + is_public: 1, + is_edit: 2, + }; + }, []); + return ( + +
+ + + + + + + + + + + + 公开 + 私有 + {/* 普通用户暂不开放模板设置 */} + {userId == 50 ? 公开模板 : null} + + + + + 编辑 + 查看 + + +
+
+ ); +}; + +export default forwardRef(CreateProject); diff --git a/packages/editor/src/components/CustomIconList.tsx b/packages/editor/src/components/CustomIconList.tsx new file mode 100644 index 00000000..066a38b0 --- /dev/null +++ b/packages/editor/src/components/CustomIconList.tsx @@ -0,0 +1,82 @@ +import React, { useState, useMemo } from 'react'; +import { Segmented, Select } from 'antd'; +import * as icons from '@ant-design/icons'; +import { styled } from 'styled-components'; + +const BoxWrapper = styled.div` + display: flex; + flex-wrap: wrap; + width: 100%; + height: 300px; + overflow: auto; +`; + +const IconItem = styled.div` + width: 50px; + height: 50px; + padding: 10px; + cursor: pointer; +`; +/** + * 菜单中,自定义图标选择列表 + */ +export default function CustomIconOptions({ value, onChange }: any) { + const [open, setOpen] = useState(false); + const [type, setType] = useState('线框风格'); + + const allList = useMemo(() => { + // 获取所有的antd图标,动态渲染到下拉框中 + const iconsList: { [key: string]: any } = icons; + + return Object.keys(icons) + .filter((item) => !['default', 'createFromIconfontCN', 'getTwoToneColor', 'setTwoToneColor', 'IconProvider'].includes(item)) + .map((key) => ({ value: key, label: React.createElement(iconsList[key], { style: { fontSize: '24px', verticalAlign: 'middle' } }) })); + }, []); + + // 过滤出不同风格的图标 + const outlined = useMemo(() => allList.filter((item) => item.value.includes('Outlined')), []); + const filled = useMemo(() => allList.filter((item) => item.value.includes('Filled')), []); + const twoTone = useMemo(() => allList.filter((item) => item.value.includes('TwoTone')), []); + + const options = useMemo(() => { + switch (type) { + case '线框风格': + return outlined; + case '实底风格': + return filled; + default: + return twoTone; + } + }, [type]); + return ( + - + ) { {() => { const type = form.getFieldValue('type'); return type === 2 ? ( - + ) : ( <> {type === 1 ? ( - + ) : null} - - 暂无页面? - { - createRef.current?.open(); - }} - > - 去创建 - - - } - name="page_id" - > - - + {action === 'edit' ? ( + + 该菜单可以解绑、修改、新增绑定页面。暂无页面? + { + createRef.current?.open(); + }} + > + 去创建 + + + } + name="page_id" + > + + + ) : ( + + + + + + + )} ); }} - }}> + - + 启用 停用 diff --git a/packages/editor/src/pages/admin/menu/index.tsx b/packages/editor/src/pages/admin/menu/index.tsx index 94b5c5a6..c5b40ea9 100644 --- a/packages/editor/src/pages/admin/menu/index.tsx +++ b/packages/editor/src/pages/admin/menu/index.tsx @@ -1,6 +1,6 @@ import React, { useEffect, useRef, useState } from 'react'; -import { useParams } from 'react-router-dom'; -import { Form, Input, Button, Table, Space, Select } from 'antd'; +import { Link, useParams } from 'react-router-dom'; +import { Form, Input, Button, Table, Select, Badge } from 'antd'; import { Menu } from '@/api/types'; import { IAction } from '@/pages/types'; import { ColumnsType } from 'antd/es/table'; @@ -84,7 +84,7 @@ export default function MenuList() { if (record.type == 3) text = '页面'; Modal.confirm({ title: '确认', - content: `确认删除该${text}吗?`, + content: `${text}删除后不可恢复,确认删除吗?`, onOk() { handleDelSubmit(record.id); }, @@ -105,11 +105,13 @@ export default function MenuList() { dataIndex: 'name', key: 'name', width: 200, + align: 'center', }, { title: '菜单图标', dataIndex: 'icon', key: 'icon', + align: 'center', render(icon: string) { if (!icon) return '-'; const iconsList: { [key: string]: any } = icons; @@ -124,6 +126,7 @@ export default function MenuList() { title: '菜单类型', dataIndex: 'type', key: 'type', + align: 'center', render(type: number) { return { 1: '菜单', @@ -136,17 +139,18 @@ export default function MenuList() { title: '权限标识', dataIndex: 'code', key: 'code', + align: 'center', render(code: string) { if (!code) return '-'; return code; }, }, { - title: '关联页面', + title: '绑定页面', dataIndex: 'page_id', key: 'page_id', + align: 'center', render(page_id: string) { - if (!page_id) return '-'; return page_id; }, }, @@ -154,48 +158,52 @@ export default function MenuList() { title: '排序值', dataIndex: 'sort_num', key: 'sort_num', + align: 'center', }, { title: '状态', dataIndex: 'status', key: 'status', + align: 'center', render(status: number) { - return { - 1: '正常', - 2: '停用', - }[status]; + if (status === 1) return ; + if (status === 2) return ; }, }, { title: '创建时间', dataIndex: 'created_at', key: 'created_at', + align: 'center', }, { title: '创建人', dataIndex: 'user_name', key: 'user_name', + align: 'center', }, { title: '操作', key: 'action', - width: 200, + width: 320, + align: 'center', render(_, record) { return ( - - - - - - + {record.page_id > 0 && 去设计} + ); }, }, @@ -225,6 +233,7 @@ export default function MenuList() { + {/* 新增菜单 */} ); diff --git a/packages/editor/src/pages/admin/role/index.tsx b/packages/editor/src/pages/admin/role/index.tsx index d7802474..c63a42ca 100644 --- a/packages/editor/src/pages/admin/role/index.tsx +++ b/packages/editor/src/pages/admin/role/index.tsx @@ -1,6 +1,6 @@ import { useEffect, useRef, useState } from 'react'; import { useParams } from 'react-router-dom'; -import { Button, Table, Form, Input, Space } from 'antd'; +import { Button, Table, Form, Input, Space, Tooltip } from 'antd'; import { ColumnsType } from 'antd/es/table'; import { message, Modal } from '@/utils/AntdGlobal'; import SearchForm from '../components/SearchForm'; @@ -9,6 +9,7 @@ import SetPermission from './SetPermission'; import { getRoleList, delRoleById } from '@/api'; import { IAction } from '@/pages/types'; import { Role } from '@/api/types'; +import { QuestionCircleOutlined } from '@ant-design/icons'; export default function RoleList() { const [list, setList] = useState([]); const [total, setTotal] = useState(0); @@ -141,7 +142,12 @@ export default function RoleList() {
-
角色列表
+ + 角色列表 + + + +
) )} + getList(1, pageSize)} /> ); }