From e1df05b96ec31fc2b70d3e14ddfe0263d08091c9 Mon Sep 17 00:00:00 2001 From: lzq Date: Wed, 30 Jul 2025 18:56:14 +0800 Subject: [PATCH] 1 --- index.html | 4 +- package-lock.json | 32 +++ package.json | 1 + plugin/file-watcher.ts | 35 +++ plugin/iconfont-dts.ts | 31 ++ public/iconfont/{ => ali}/demo.css | 76 ++--- public/iconfont/{ => ali}/demo_index.html | 297 +++++++++++++++++-- public/iconfont/ali/iconfont.css | 71 +++++ public/iconfont/ali/iconfont.js | 1 + public/iconfont/ali/iconfont.json | 107 +++++++ public/iconfont/ali/iconfont.ttf | Bin 0 -> 4628 bytes public/iconfont/ali/iconfont.woff | Bin 0 -> 3024 bytes public/iconfont/ali/iconfont.woff2 | Bin 0 -> 2524 bytes public/iconfont/iconfont.css | 27 -- public/iconfont/iconfont.js | 1 - public/iconfont/iconfont.json | 30 -- public/iconfont/iconfont.ttf | Bin 2132 -> 0 bytes public/iconfont/iconfont.woff | Bin 1412 -> 0 bytes public/iconfont/iconfont.woff2 | Bin 1012 -> 0 bytes src/components/echarts/Charts.vue | 43 +++ src/components/echarts/echarts.d.ts | 39 +++ src/components/echarts/index.ts | 32 +++ src/components/iconfont/Iconfont.vue | 24 ++ src/components/iconfont/iconfont.d.ts | 20 ++ src/dts/components.d.ts | 4 + src/main.ts | 2 + src/pages/dispose-recode/DisposeRecode.vue | 291 ++++++++++++++++++- src/pages/frame/ZsyFrame.vue | 28 +- src/pages/tsp/Tsp.vue | 315 ++++++++++++++++++--- vite.config.ts | 6 + 30 files changed, 1351 insertions(+), 166 deletions(-) create mode 100644 plugin/file-watcher.ts create mode 100644 plugin/iconfont-dts.ts rename public/iconfont/{ => ali}/demo.css (90%) rename public/iconfont/{ => ali}/demo_index.html (53%) create mode 100644 public/iconfont/ali/iconfont.css create mode 100644 public/iconfont/ali/iconfont.js create mode 100644 public/iconfont/ali/iconfont.json create mode 100644 public/iconfont/ali/iconfont.ttf create mode 100644 public/iconfont/ali/iconfont.woff create mode 100644 public/iconfont/ali/iconfont.woff2 delete mode 100644 public/iconfont/iconfont.css delete mode 100644 public/iconfont/iconfont.js delete mode 100644 public/iconfont/iconfont.json delete mode 100644 public/iconfont/iconfont.ttf delete mode 100644 public/iconfont/iconfont.woff delete mode 100644 public/iconfont/iconfont.woff2 create mode 100644 src/components/echarts/Charts.vue create mode 100644 src/components/echarts/echarts.d.ts create mode 100644 src/components/echarts/index.ts create mode 100644 src/components/iconfont/Iconfont.vue create mode 100644 src/components/iconfont/iconfont.d.ts diff --git a/index.html b/index.html index 4b78c65..8e467d3 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ - + ")}catch(t){console&&console.log(t)}}e=function(){var t,l=document.createElement("div");l.innerHTML=c._iconfont_svg_string_4985351,(l=l.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",l=l,(t=document.body).firstChild?h(l,t.firstChild):t.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(e,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),e()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(o=e,a=c.document,n=!1,d(),a.onreadystatechange=function(){"complete"==a.readyState&&(a.onreadystatechange=null,s())})}function s(){n||(n=!0,o())}function d(){try{a.documentElement.doScroll("left")}catch(t){return void setTimeout(d,50)}s()}})(window); \ No newline at end of file diff --git a/public/iconfont/ali/iconfont.json b/public/iconfont/ali/iconfont.json new file mode 100644 index 0000000..1b974be --- /dev/null +++ b/public/iconfont/ali/iconfont.json @@ -0,0 +1,107 @@ +{ + "id": "4985351", + "name": "回收监管", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "1174312", + "name": "menu", + "font_class": "menu", + "unicode": "e667", + "unicode_decimal": 58983 + }, + { + "icon_id": "12891317", + "name": "menu_3rolepermiss", + "font_class": "menu_rolepermiss", + "unicode": "e689", + "unicode_decimal": 59017 + }, + { + "icon_id": "1261484", + "name": "cog", + "font_class": "cog", + "unicode": "e65b", + "unicode_decimal": 58971 + }, + { + "icon_id": "10793071", + "name": "user", + "font_class": "user", + "unicode": "e627", + "unicode_decimal": 58919 + }, + { + "icon_id": "32804214", + "name": "bar-chart", + "font_class": "bar-chart", + "unicode": "e670", + "unicode_decimal": 58992 + }, + { + "icon_id": "1898529", + "name": "arrow-up", + "font_class": "arrow-up", + "unicode": "e615", + "unicode_decimal": 58901 + }, + { + "icon_id": "6151171", + "name": "exclamation circle-f", + "font_class": "exclamationcircle-f", + "unicode": "e7de", + "unicode_decimal": 59358 + }, + { + "icon_id": "6151177", + "name": "check-circle-fill", + "font_class": "check-circle-fill", + "unicode": "e7e2", + "unicode_decimal": 59362 + }, + { + "icon_id": "11399087", + "name": "map-pin", + "font_class": "map-pin", + "unicode": "e600", + "unicode_decimal": 58880 + }, + { + "icon_id": "11121385", + "name": "文本框", + "font_class": "wenbenkuang", + "unicode": "e629", + "unicode_decimal": 58921 + }, + { + "icon_id": "10352352", + "name": "组件", + "font_class": "zujian", + "unicode": "e61e", + "unicode_decimal": 58910 + }, + { + "icon_id": "17716099", + "name": "删除", + "font_class": "shanchu", + "unicode": "e601", + "unicode_decimal": 58881 + }, + { + "icon_id": "837051", + "name": "map-marker", + "font_class": "mapmarker", + "unicode": "e777", + "unicode_decimal": 59255 + }, + { + "icon_id": "31499371", + "name": "循环", + "font_class": "xunhuan", + "unicode": "e60a", + "unicode_decimal": 58890 + } + ] +} diff --git a/public/iconfont/ali/iconfont.ttf b/public/iconfont/ali/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7d36220dd995576cb2ae0a3421e7ecd640fd88c1 GIT binary patch literal 4628 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 literal 0 HcmV?d00001 diff --git a/public/iconfont/ali/iconfont.woff b/public/iconfont/ali/iconfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..966d4faea9f41146d313530986e0729be7eae3ca GIT binary patch literal 3024 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 literal 0 HcmV?d00001 diff --git a/public/iconfont/ali/iconfont.woff2 b/public/iconfont/ali/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ee0a1cfb3a6f6c9077603ce633014ef63a7d4d33 GIT binary patch literal 2524 zcmV<22_yD*Pew8T0RR91014ax3jhEB01^}c011r%0RR9100000000000000000000 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 t=(e=(e=document.getElementsByTagName("script"))[e.length-1]).getAttribute("data-injectcss"),e=e.getAttribute("data-disable-injectsvg");if(!e){var i,a,o,d,l,c=function(t,e){e.parentNode.insertBefore(t,e)};if(t&&!n.__iconfont__svg__cssinject__){n.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(t){console&&console.log(t)}}i=function(){var t,e=document.createElement("div");e.innerHTML=n._iconfont_svg_string_4902724,(e=e.getElementsByTagName("svg")[0])&&(e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.width=0,e.style.height=0,e.style.overflow="hidden",e=e,(t=document.body).firstChild?c(e,t.firstChild):t.appendChild(e))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(i,0):(a=function(){document.removeEventListener("DOMContentLoaded",a,!1),i()},document.addEventListener("DOMContentLoaded",a,!1)):document.attachEvent&&(o=i,d=n.document,l=!1,h(),d.onreadystatechange=function(){"complete"==d.readyState&&(d.onreadystatechange=null,s())})}function s(){l||(l=!0,o())}function h(){try{d.documentElement.doScroll("left")}catch(t){return void setTimeout(h,50)}s()}})(window); \ No newline at end of file diff --git a/public/iconfont/iconfont.json b/public/iconfont/iconfont.json deleted file mode 100644 index 06b8f32..0000000 --- a/public/iconfont/iconfont.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": "4902724", - "name": "wh", - "font_family": "iconfont", - "css_prefix_text": "icon-", - "description": "", - "glyphs": [ - { - "icon_id": "17716099", - "name": "删除", - "font_class": "shanchu", - "unicode": "e601", - "unicode_decimal": 58881 - }, - { - "icon_id": "10352352", - "name": "组件", - "font_class": "zujian", - "unicode": "e61e", - "unicode_decimal": 58910 - }, - { - "icon_id": "11121385", - "name": "文本框", - "font_class": "wenbenkuang", - "unicode": "e629", - "unicode_decimal": 58921 - } - ] -} diff --git a/public/iconfont/iconfont.ttf b/public/iconfont/iconfont.ttf deleted file mode 100644 index ff1026f71e891a3d9686a12d7b3fbf00a597050d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2132 zcmd^A&u<$=6n?Y2{*f4`_BwHptA@25+X}Ir)NxGGq*0+X$pO)*X>uxpjkB>6?6qZY zLeoE+A`fkmNW(Mp3oj_|#I6ysF|d~}&JSfKgR}oYzX|=dd|9pDyKxebH6b4q zN}DUeIi-V0+#wREsHw|?TMH5#9z$|P5Uxk!b>Occ{l&6z)dzss-_iL>mAuMcrd`Cp z552RjUahiTx&r&t&=p-RYrc;r?+`h7{zA1}&4?gxoK(iYtK8V;JkCp;`rF&ExEQPMK8q8+mYmPaQs zqH6FG<)FK*9l}g~je!>S;sC*F)x&)_5_o3DYx}=9ep-pL_BLQw8rWMde2*J_mhdyy z7_h{ACq%d#+=-vT);HpgI1b)VGAR_M7!6R0(nNu9PdL^yGMbG?!x85xHZmG!{;0n@ zI1NPN_v%}ucQXm*Na`dCl5 zYa|mq#d0H1y1Q63lIZDn#=_hj>y^_In<5_}rpX7Gl|$AUj33 zuj7Fd@CwLrDC}^ybH_ydH>G()THE3u_(GhZXHX}qOfz03wm8`1?{>0?6GN~!JjLmF z)DiB9V&|jct>zDjv9W|0N8h~Xm1VCO=l$MIw)@%q=XC~KEHOTwXg*Agi8}#r^PyK} z3~n)R;KSMdDErAgH8MRi?;}?N5c61|cSEzVKrT9IV-bAB#uD(eHg@1kpRutM{8<}! z(jZ;1u?HEeIA=`aU%oiKX=6q{`q;(-b#_waS{7H_}DJsGb=b;`4Amov)PXJk>}el??RDxL!-NiGG#x zR3V*K%-%SnUxIgm)~STZ+7auM(Tnh|Q5}9fr$VQ3d54cg&A>}HJ)c}noi;FA25U61 zA_Y=IrZUj9y*>>qDFG{Zf!wx+Jb8Ghsc1%3=?o3wY1h;CPn&g?t-l;UVf;ULT$7l< iL?$r@x#~q#&llI7*VfloRo(N3rY~vw>+7msAo>@L#Wacl diff --git a/public/iconfont/iconfont.woff b/public/iconfont/iconfont.woff deleted file mode 100644 index 2ef8f256853b7f0c313363b545f4a5ca4b4e7f0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1412 zcmY*YdoQ|m05Bq0X9MAA&8K78P=wkw$k#$_#J|9Z*&JRP)E+`k zfFKg#us@llsZ+yLM+4M$pyV*pU|-A|$k#)dqE>?FBnBrA0IVMDOND(Ch}CWiZt_7M zyze$x;{@S1x7@-qt(=9#B8Zx4izrw~%7ORV40X5vW)(}qL>PP^aif%xE$!T;0!%07 zUOhjNU>YyXMFR_0oFCBaWiXI(rShIq*{9;=2n3buX?AV#w#-qGPf<|p5F9G8&Poqo zLH6j4P5L;bR4Ox$q5LSeRhyV-kbu+6Pb;64coO)wT3EdN0=cbn&f@C={h873&jmVt z!XmDU*iR(r_VCxVN~uZMr*Ur z4kSr-_ATlfmmNL(D?d0L*?x*D z5c2ngNR;kfl|b@sxPQbG`reY+rutgrln&v=@b?!Emlm5lIdz`x6;9cyW+G~ra<|-l z_o==B=WJ9z`Rn(i^RD}bUOCSrF_G3I5fOu5HY9u*mgq}spZKPwu)xn>W=|absmN4V z1Ihww9InbtdT&MzXW%=K@CVhL{QPanzNNT-Q> z?=Fs}?4qP(?3*0g_jzfcCDWjMoSR9@>OIB9Pq|bS#tATimIsVxlwOlJi1+*UvTNeQ z#GQ$pvBWv|-J2;gm!aDUG+P;=Evq2L!{akgLd7i$y*^5Kn?aFBEXo{_^z#Fwzru`iJ zSFiCAv7;TJsl`&1u>t^J9W)1ek%1tHXFC82umZYU6Yy_nzWBc$M;Ka&Iu@WTOkbgC z%W{?w4-8mANAcjgSn8hCP9=)Z-jQHSHU*rwPuyv>$w0MG;wKL|S91>E_{z8GX%xw? z&pD`2VmPYxntd?eFTLLj<8$lTK=O;W(se2@r8stMru7e-fe!P=V(S)VHTUGF6N=!Y zCUup072GqQE^{%YG{d9@Rwtn%>z7(_Dnq~dBe71s>})%IJf_`aes@a_enIQ0d`ZX2 z_FbL0jGaEL9GCYVbQqM=*^j%XKb%H1A0#*~I15C}Y=1))I9CITR zmktGwHFe3?r-*IPya&-{Hy^jBy95<}7c&uhh-aPDEfd+7MBVpiHjL=IJ-;Fs^NKt_c~Gl diff --git a/public/iconfont/iconfont.woff2 b/public/iconfont/iconfont.woff2 deleted file mode 100644 index 1cd60001f306984d31465fa5d870fd99704c8ea8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1012 zcmVk700X7~0RR9100000000000000000000 z0000SR0d!GgB%Kk0E0CFHUcCA5DN+b1Rw>3X9q|dJqO4h3FQ{DPi|QiKY|CW^Lv?0 zmHC7gM+v8PA@C-4X>F)h(i%;pCGn(v-0$9ZyjV+gDxrWfxE(E}!v5!)x+JI%;EM{1 zXdE8c*&=m7(FHW%y$RE7fLAq;wWJx>K%1al2BsC?7oW(=3K}L!xJ

YPtVg@itM~opz9q$xsNmvj&&| z38Y+@T69}Bc2KN5DI{vDd5Jt=#fk<8tqFUZ=yVGEri9k$FAoG75`>vB)&+nZ@k)3r z5&?xMjOA!7N@NkQ6t7RP0&c)MU_YTaL`kxtA$2zq@pM^EBqVrvSljmTc$&hoQMpW9 zPu0|QSXt@z4Tk%qO@duqx^Ii^Mz*e zY6tpgk1x`&S9!$)+ct|==g7>Q@M)QmoxLpEY!4pTe)o%P;^kePQ|;~5B(mRc+XD(` zU|hSQ!`S#?@o@>Q7&0{H)@oNT*H~B2<8jA5X=yLlfuG}b_dIF%WIz4n0Owh`S{4%N zxjZ2&eN*ITIp90)M3;Mf+q##0vl=fi>vhKX(PDB=(ZNKy?}!C6zfn;u5K;H6pzBlI zg#9mRT~8eV4N!`NuP^{!o*qK%4ab7OigyDV7J@-yB?_w(lfZ;Q7MQV83W{X4rW<(c zr-;yPK%7wo0uLKN!;J$V@o)~S6YqfuKkvYdhku}GlIvmyadlk#gdu6rVK{W}s9465 zu&DP+dgP!#=6sSLm~4m4w2Z!gPfY$kh725{&jt;W&}D#fp|-XiIgWyU1C&J~9CaHM zzUS%bU8deL>e$!Kt@#KF5e?`d1G*CwCNt!)`+HYJ7jYmT#6I=DKw(JzAXAzQ0J|45 zl<`8A87QWk86+fuE`0L2Ky5=$9M_|Oe$(wNLOvDz=)#0$pn)ums4^n5OyuTJ;#VAQN630E2LJ%%6~#vY diff --git a/src/components/echarts/Charts.vue b/src/components/echarts/Charts.vue new file mode 100644 index 0000000..a192c4f --- /dev/null +++ b/src/components/echarts/Charts.vue @@ -0,0 +1,43 @@ + + + + diff --git a/src/components/echarts/echarts.d.ts b/src/components/echarts/echarts.d.ts new file mode 100644 index 0000000..d4d71c7 --- /dev/null +++ b/src/components/echarts/echarts.d.ts @@ -0,0 +1,39 @@ +export {} + +declare global { + namespace Echarts { + + import type { + // 系列类型的定义后缀都为 SeriesOption + BarSeriesOption, + LineSeriesOption + } from 'echarts/charts' + import type { + // 组件类型的定义后缀都为 ComponentOption + TitleComponentOption, + TooltipComponentOption, + GridComponentOption, + DatasetComponentOption, + LegendComponentOption, + AriaComponentOption + } from 'echarts/components' + import type { + ComposeOption, + } from 'echarts/core' + + + // 通过 ComposeOption 来组合出一个只有必须组件和图表的 Option 类型 + type Option = ComposeOption< + | BarSeriesOption + | LineSeriesOption + | TitleComponentOption + | TooltipComponentOption + | GridComponentOption + | DatasetComponentOption + | LegendComponentOption + | AriaComponentOption + >; + + } +} + diff --git a/src/components/echarts/index.ts b/src/components/echarts/index.ts new file mode 100644 index 0000000..c081887 --- /dev/null +++ b/src/components/echarts/index.ts @@ -0,0 +1,32 @@ +import * as echarts from 'echarts/core' +import { BarChart, } from 'echarts/charts' +import { + AriaComponent, + GridComponent, + LegendComponent, + TooltipComponent +} from 'echarts/components' +import { SVGRenderer } from 'echarts/renderers' + +import type { App } from 'vue' + +const install = (_: App): void => { + echarts.use([ + TooltipComponent, + GridComponent, + BarChart, + SVGRenderer, + LegendComponent, + AriaComponent + ]) +} +export default {install} + +export function useEcharts(el: HTMLElement | string) { + if (typeof el === 'string') { + el = document.getElementById(el) as HTMLElement + } + return echarts.init(el) +} + + diff --git a/src/components/iconfont/Iconfont.vue b/src/components/iconfont/Iconfont.vue new file mode 100644 index 0000000..888a4bf --- /dev/null +++ b/src/components/iconfont/Iconfont.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/src/components/iconfont/iconfont.d.ts b/src/components/iconfont/iconfont.d.ts new file mode 100644 index 0000000..ab9a195 --- /dev/null +++ b/src/components/iconfont/iconfont.d.ts @@ -0,0 +1,20 @@ +export {} + +declare global { + namespace IconfontTypes { + type name = 'menu' + | 'menu_rolepermiss' + | 'cog' + | 'user' + | 'bar-chart' + | 'arrow-up' + | 'exclamationcircle-f' + | 'check-circle-fill' + | 'map-pin' + | 'wenbenkuang' + | 'zujian' + | 'shanchu' + | 'mapmarker' + | 'xunhuan' + } +} diff --git a/src/dts/components.d.ts b/src/dts/components.d.ts index be0752f..49590c5 100644 --- a/src/dts/components.d.ts +++ b/src/dts/components.d.ts @@ -7,9 +7,11 @@ export {} declare module 'vue' { export interface GlobalComponents { + Charts: typeof import('./../components/echarts/Charts.vue')['default'] Dialog: typeof import('./../components/dialog/Dialog.vue')['default'] District: typeof import('./../components/district/District.vue')['default'] Funbar: typeof import('./../components/fun-bar/Funbar.vue')['default'] + Iconfont: typeof import('./../components/iconfont/Iconfont.vue')['default'] IxAvatar: typeof import('@idux/components/avatar')['IxAvatar'] IxBreadcrumb: typeof import('@idux/components/breadcrumb')['IxBreadcrumb'] IxBreadcrumbItem: typeof import('@idux/components/breadcrumb')['IxBreadcrumbItem'] @@ -21,6 +23,7 @@ declare module 'vue' { IxCol: typeof import('@idux/components/grid')['IxCol'] IxCollapse: typeof import('@idux/components/collapse')['IxCollapse'] IxCollapsePanel: typeof import('@idux/components/collapse')['IxCollapsePanel'] + IxDatePicker: typeof import('@idux/components/date-picker')['IxDatePicker'] IxDivider: typeof import('@idux/components/divider')['IxDivider'] IxDrawer: typeof import('@idux/components/drawer')['IxDrawer'] IxDropdown: typeof import('@idux/components/dropdown')['IxDropdown'] @@ -49,6 +52,7 @@ declare module 'vue' { IxSpace: typeof import('@idux/components/space')['IxSpace'] IxTable: typeof import('@idux/components/table')['IxTable'] IxTabs: typeof import('@idux/components/tabs')['IxTabs'] + IxTag: typeof import('@idux/components/tag')['IxTag'] IxTextarea: typeof import('@idux/components/textarea')['IxTextarea'] IxTooltip: typeof import('@idux/components/tooltip')['IxTooltip'] IxTreeSelect: typeof import('@idux/components/tree-select')['IxTreeSelect'] diff --git a/src/main.ts b/src/main.ts index 8373f93..17ef6cf 100644 --- a/src/main.ts +++ b/src/main.ts @@ -3,6 +3,7 @@ import '@/assets/styles/css/normalize.css' import idux from '@/common/idux' import '@/assets/styles/css/index.css' import router from '@/common/router/index.ts' +import echarts from '@/components/echarts/index.ts' import { Settings } from 'luxon' import { createPinia } from 'pinia' @@ -16,6 +17,7 @@ createApp(App) }) .use(createPinia().use(piniaPluginPersistedstate)) .use(router) + .use(echarts) .use(idux) .mount('#app') diff --git a/src/pages/dispose-recode/DisposeRecode.vue b/src/pages/dispose-recode/DisposeRecode.vue index e130bc4..894a38d 100644 --- a/src/pages/dispose-recode/DisposeRecode.vue +++ b/src/pages/dispose-recode/DisposeRecode.vue @@ -1,13 +1,292 @@ + + - - diff --git a/src/pages/frame/ZsyFrame.vue b/src/pages/frame/ZsyFrame.vue index 6734e14..b97bda6 100644 --- a/src/pages/frame/ZsyFrame.vue +++ b/src/pages/frame/ZsyFrame.vue @@ -9,6 +9,9 @@ :type="type" class="zsy-frame" > + @@ -45,6 +48,7 @@ import { MenuCategory } from '@/common/app/contants.ts' import Nav from '@/common/router/nav.ts' +import Iconfont from '@/components/iconfont/Iconfont.vue' const appSettingStore = useAppSettingStore() const logoImage = computed(() => { @@ -70,7 +74,11 @@ const menuTree = computed(() => { pid: it.pid, key: it.routeName, label: it.title, - type: it.menuCategory === MenuCategory.Page ? 'item' : 'sub', + // icon: it.icon, + icon: h(Iconfont, {className: 'ix-icon ixicon', name: it.icon as IconfontTypes.name}), + type: it.menuCategory === MenuCategory.Page ? 'item' + : it.menuCategory === MenuCategory.Group ? 'itemGroup' + : 'sub', }))) as MenuData[] }) const wholeTheme = ref('light') @@ -83,6 +91,7 @@ const mergedTheme = computed(() => { }) function openPageHandler(options: MenuClickOptions) { + if (options.type !== 'item') return Nav.open({ insId: options.key as string, routeName: options.key as string @@ -92,11 +101,17 @@ function openPageHandler(options: MenuClickOptions) { diff --git a/src/pages/tsp/Tsp.vue b/src/pages/tsp/Tsp.vue index 48b483e..0742a6c 100644 --- a/src/pages/tsp/Tsp.vue +++ b/src/pages/tsp/Tsp.vue @@ -1,59 +1,151 @@ diff --git a/vite.config.ts b/vite.config.ts index 2febfb3..bb4c870 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -15,6 +15,8 @@ import VueDevTools from 'vite-plugin-vue-devtools' import processHtml from './plugin/html-process' import zipDist from './plugin/zip-dist' import { viteStaticCopy } from 'vite-plugin-static-copy' +import { fileWatcher } from './plugin/file-watcher' +import iconfontDts from './plugin/iconfont-dts' let viteConfig: UserConfigFnObject = configEnv => { const env = loadEnv(configEnv.mode, process.cwd(), '') @@ -47,6 +49,10 @@ let viteConfig: UserConfigFnObject = configEnv => { processHtml(env.VITE_APP_NAME), zipDist(), Icons(), + fileWatcher({ + file: './public/iconfont/ali/iconfont.json', + fn: iconfontDts('./src/components/iconfont/iconfont.d.ts'), + }), viteStaticCopy({ targets: [ {