From 4cd6f19e8d3251e2898eade73ecb4f246a1c8c64 Mon Sep 17 00:00:00 2001 From: ihzero Date: Sun, 28 Apr 2024 05:25:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/manifest.json | 11 +- src/pages.json | 16 +- src/pages/audits/detail.vue | 2 +- src/pages/contract/create.vue | 5 +- src/pages/examination/detail.vue | 3 +- src/pages/expense-account/submit.vue | 49 +++-- src/pages/home/components/chart.vue | 46 +++-- src/pages/home/components/store-down.vue | 194 ++++++++++++++++++ .../home/components/store-drop-down/index.vue | 95 +++++---- src/pages/home/index.vue | 74 ++++++- src/pages/work/commone.vue | 12 +- src/static/images/home-a.png | Bin 0 -> 2912 bytes src/static/images/home.png | Bin 3168 -> 2889 bytes src/static/images/mine-a.png | Bin 0 -> 3262 bytes src/static/images/mine.png | Bin 0 -> 3251 bytes src/static/images/table-a.png | Bin 0 -> 3103 bytes src/static/images/table.png | Bin 0 -> 3081 bytes src/static/images/update-a.png | Bin 0 -> 2618 bytes src/static/images/update.png | Bin 0 -> 2614 bytes src/static/images/首页.svg | 1 + 20 files changed, 400 insertions(+), 108 deletions(-) create mode 100644 src/pages/home/components/store-down.vue create mode 100644 src/static/images/home-a.png create mode 100644 src/static/images/mine-a.png create mode 100644 src/static/images/mine.png create mode 100644 src/static/images/table-a.png create mode 100644 src/static/images/table.png create mode 100644 src/static/images/update-a.png create mode 100644 src/static/images/update.png create mode 100644 src/static/images/首页.svg diff --git a/src/manifest.json b/src/manifest.json index 8845708..bebc660 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -10,17 +10,20 @@ "usingComponents" : true, "nvueStyleCompiler" : "uni-app", "compilerVersion" : 3, - "compatible": { - "ignoreVersion": true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持 + "compatible" : { + "ignoreVersion" : true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持 }, "splashscreen" : { "alwaysShowBeforeRender" : false, "waiting" : true, "autoclose" : false, "delay" : 0 - }, + }, /* 模块配置 */ - "modules" : {}, + "modules" : { + "VideoPlayer" : {}, + "Camera" : {} + }, /* 应用发布信息 */ "distribute" : { /* android打包配置 */ diff --git a/src/pages.json b/src/pages.json index 99f62ed..b025a73 100644 --- a/src/pages.json +++ b/src/pages.json @@ -391,31 +391,31 @@ "tabBar": { "color": "#333", "selectedColor": "#ff3c2a", - "borderStyle": "black", + "borderStyle": "#fff", "backgroundColor": "#ffffff", "list": [ { "pagePath": "pages/home/index", - "selectedIconPath": "static/images/home.png", + "selectedIconPath": "static/images/home-a.png", "iconPath": "static/images/home.png", "text": "首页" }, { "pagePath": "pages/revert/index", - "selectedIconPath": "static/images/home.png", - "iconPath": "static/images/home.png", + "selectedIconPath": "static/images/update-a.png", + "iconPath": "static/images/update.png", "text": "上报" }, { "pagePath": "pages/statement/index", - "selectedIconPath": "static/images/home.png", - "iconPath": "static/images/home.png", + "selectedIconPath": "static/images/table-a.png", + "iconPath": "static/images/table.png", "text": "报表" }, { "pagePath": "pages/mine/index", - "selectedIconPath": "static/images/home.png", - "iconPath": "static/images/home.png", + "selectedIconPath": "static/images/mine-a.png", + "iconPath": "static/images/mine.png", "text": "我的" } ] diff --git a/src/pages/audits/detail.vue b/src/pages/audits/detail.vue index f919c10..85cc0a9 100644 --- a/src/pages/audits/detail.vue +++ b/src/pages/audits/detail.vue @@ -37,7 +37,7 @@ > - + diff --git a/src/pages/contract/create.vue b/src/pages/contract/create.vue index d1b131c..f4c2b58 100644 --- a/src/pages/contract/create.vue +++ b/src/pages/contract/create.vue @@ -42,11 +42,11 @@ const form = reactive({ images: [] }) const rules = reactive({ - name: [{ required: true, message: "请输入清洁范围" }], + name: [{ required: true, message: "请输入合同名称" }], images: { type: "array", required: true, - message: "请上传报销凭证" + message: "请上传合同照片", } }) onLoad(options => { @@ -98,6 +98,7 @@ const onSubmit = async () => { title: "提交成功", icon: "none" }) + form.images = [] formRef.value.resetFields() uni.$emit("task:submit") uni.navigateBack() diff --git a/src/pages/examination/detail.vue b/src/pages/examination/detail.vue index a2e91af..a42a4e3 100644 --- a/src/pages/examination/detail.vue +++ b/src/pages/examination/detail.vue @@ -75,7 +75,8 @@ diff --git a/src/pages/expense-account/submit.vue b/src/pages/expense-account/submit.vue index 6013d65..86c4a1d 100644 --- a/src/pages/expense-account/submit.vue +++ b/src/pages/expense-account/submit.vue @@ -36,32 +36,31 @@ label="报销原因" required prop="reason" - :borderBottom="true" labelPosition="top" > - - - - + + + {{ form.photos.length }}/9 + + + @@ -110,7 +109,21 @@ const rules = reactive({ message: '请选择报销分类', }, ], - expense: [{ required: true, message: '请输入报销金额' }], + expense: [ + { required: true, message: '请输入报销金额' }, + { + required: true, + type: 'number', + min: 0.01, + max: 22, + message: '报销金额不能小于0.01', + },{ + validator: (rule, value) => { + return value > 0 + }, + message: '报销金额不能小于0', + } + ], reason: [{ required: true, message: '请输入报销原因' }], photos: { type: 'array', diff --git a/src/pages/home/components/chart.vue b/src/pages/home/components/chart.vue index 67bc7c0..74b4fbc 100644 --- a/src/pages/home/components/chart.vue +++ b/src/pages/home/components/chart.vue @@ -10,7 +10,7 @@ const props = defineProps({ data: Array, }) -const opts = ref({ +const opts = { color: ['#ee2c37'], dataLabel: false, dataPointShape: true, @@ -20,10 +20,7 @@ const opts = ref({ }, xAxis: { - // disableGrid: true, - boundaryGap: 'justify', - format: 'ssss', }, yAxis: { @@ -43,22 +40,39 @@ const opts = ref({ legendShow: false, }, }, -}) +} -const chartData = reactive({ - categories: [], - series: [ - { - name: '金额', - data: [], - }, - ], -}) +const chartData = reactive({}) watch( () => props.data, (e) => { - chartData.categories = e.map((el) => el.key) - chartData.series[0].data = e.map((el) => el.value) + const obj = { + categories: e.map((el) => el.key), + series: [ + { + name: '金额', + data: e.map((el) => el.value), + }, + ], + } + Object.assign(chartData, JSON.parse(JSON.stringify(obj))) + + + // chartData = { + // categories: e.map((el) => el.key), + // series: [ + // { + // name: '金额', + // data: e.map((el) => el.value), + // }, + // ], + // } + console.log(e) + // chartData.categories= ['03月29日', '03月30日', '03月31日', '04月01日', '04月02日', '04月03日', '04月04日', '04月05日', '04月06日', '04月07日', '04月08日', '04月09日', '04月10日', '04月11日', '04月12日', '04月13日', '04月14日', '04月15日', '04月16日', '04月17日', '04月18日', '04月19日', '04月20日', '04月21日', '04月22日', '04月23日', '04月24日', '04月25日', '04月26日', '04月27日'] + // chartData.categories = e.map((el) => el.key) + // console.log(e.map((el) => el.value)); + // chartData.series[0].data = e.map((el) => el.value) + // chartData.series[0].data = ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '2', '0', '0', '0', '0', '0', '0', '0', '1', '11', '112', '1', '0', '100', '20040'] }, { immediate: true, diff --git a/src/pages/home/components/store-down.vue b/src/pages/home/components/store-down.vue new file mode 100644 index 0000000..9a49125 --- /dev/null +++ b/src/pages/home/components/store-down.vue @@ -0,0 +1,194 @@ + + diff --git a/src/pages/home/components/store-drop-down/index.vue b/src/pages/home/components/store-drop-down/index.vue index 706b61c..8b452fa 100644 --- a/src/pages/home/components/store-drop-down/index.vue +++ b/src/pages/home/components/store-drop-down/index.vue @@ -1,25 +1,25 @@ @@ -52,6 +59,39 @@ import StoreDropDown from '@/pages/home/components/store-drop-down/index.vue' import { http } from '@/utils/request' import { onShow } from '@dcloudio/uni-app' import { timeFormat } from '@climblee/uv-ui/libs/function' +import StoreDown from './components/store-down.vue' +const opts = { + color: ['#ee2c37'], + dataLabel: false, + dataPointShape: true, + enableScroll: false, + legend: { + show: false, + }, + + xAxis: { + boundaryGap: 'justify', + format: 'ssss', + }, + yAxis: { + gridType: 'dash', + dashLength: 2, + }, + extra: { + area: { + type: 'curve', + opacity: 0.2, + addLine: true, + width: 2, + gradient: true, + activeType: 'hollow', + }, + tooltip: { + legendShow: false, + }, + }, +} + const list = ref([ { name: '销售金额', @@ -69,6 +109,7 @@ const detail = ref({ expenditure: 0, }, }) +const chartData = ref({}) const yesday_ledger = computed(() => detail.value.yesday_ledger) const trends_of_30days = computed(() => detail.value.trends_of_30days) @@ -76,7 +117,15 @@ const yesterday = computed(() => { return timeFormat(Number(new Date()) - 1000 * 60 * 60 * 24) }) const tabObj = computed(() => list.value[tabIndex.value]) -const countData = computed(() => { + + +const onTabClick = (e) => { + tabIndex.value = e.index + updateData() +} + +const updateData = () => { + const arr = trends_of_30days?.value?.reduce((p, c) => { p.push({ @@ -85,12 +134,16 @@ const countData = computed(() => { }) return p }, []) ?? [] - return JSON.parse(JSON.stringify(arr)) -}) - -const onTabClick = (e) => { - console.log(e) - tabIndex.value = e.index + chartData.value = { + categories: arr.map((el) => el.key), + series: [ + { + name: '金额', + data: arr.map((el) => el.value), + }, + ], + } + // countData.value = arr } onShow(() => { @@ -106,6 +159,7 @@ const getData = () => { }) .then((res) => { detail.value = res + updateData() }) } diff --git a/src/pages/work/commone.vue b/src/pages/work/commone.vue index d5082ab..bf0f012 100644 --- a/src/pages/work/commone.vue +++ b/src/pages/work/commone.vue @@ -65,13 +65,13 @@ { const params = { ...form, } - + const resData = await http.request({ url: `/hr/promotion/${props.id}`, method: 'POST', @@ -302,7 +304,7 @@ const open = () => { const select = (e) => { const { value } = e - if(value === 'submit') { + if (value === 'submit') { uni.navigateTo({ url: `/pages/work/create?id=${props.id}`, }) diff --git a/src/static/images/home-a.png b/src/static/images/home-a.png new file mode 100644 index 0000000000000000000000000000000000000000..e2d8402dad02e6dfaa0f6fd15ecd6281c7722f27 GIT binary patch literal 2912 zcmds3X;c#07RD|Y$%{V0Zc?b>Kxqy^nHt4aOfRBVN|u2m;t*P5j#tYxu_A{=ayGS# zWjSYNmSfI2p`c+-Sg9#umXVs4*T;QpyfwEzY(CHf!05pPSdHy5^ zcHJ9`f20JyVhLb6Xehr#4g-Lpz@h{PwVB6q2w+0PP z69CNl=a~K5Sl$4~^ zI)MT+LtAtUW=8r)2=uN;{Rxi#@flltm;$L#&$qOE$jyXT?!#!Bc5!EoZjD?D}%_q&ub970mSL-rOJqbQ*#2c|FODT?%oit-&$aj&w%L%x281lJI)a$ zF_m-OQtu{B8TC9eD~wO^V94d5k7HP*p7Mk+@jmanc4NRUSbJo^m;6QKZq<{zwt8n zgr+EY;wgMz3w$O{85cgAKc`4`KQE0g5xpnQwaM;t&$IxcW4G*0ekfA7()azE#WSv$ zuUDOCCkSV=<`l(C*%xW-;3KM;JR~lhZBAu;KziUph(eYrmw;9tLM(}8rr1Wvy96;S#JsY!=a|$@@ zi?xt$H0WIe|KX#NEYz3IS&@v89uE=lMytzt&JCgSh4=Jo_n3z!*F8`X27MMSJ6939 z)yuWn#MmQQ`m6H)qTkNuG&S1(_GT*w6^hvMry{sV!y%vQyuFGpt%Z zB)KF{y<~(r{E8G}?^D+-!kH&~Xq3IR@FbqFe{ih)BJ4EtM~F16QZIQIa86P21*X&B zP?CRD@Erh1OuX}=6$r^O?N8uMzd1$|DS!@%>0l7k8iYV3ngj$PB9=F4=tyroM+m{mo%Vo1+6HrVOgG_G^ONrsRWU`fSm2osNvkc(`@#Ku?yEpk+p2IUl6= zdWTE4RnK*g22@b9D_*bbK!^%}+DckXcRb*Q{YFlNn?+e-rtYY6i6 zKf`t$9sBs2&#ZhXne1&09zD^9wox&PeoPoN1Z78D++3K|ez+!|mOik8VX29)1WLE& z_(;LcxQtq3flJeYdR3K4+=7tuaqm6K9c=O%nBuS8dmIBIQ|NoTWTX2ugd{(AiB{^j z=?4VSQL7p$_=UG@!%aLPT5jTLKcBz{!4_*)V)QOeF8$N27U;? zus>?JJpZuz{dB0h6%oSJZK+X`f^(Ee&iul_l`=81JZTjk&kUJ;f>7z}0CC1`|| z`kj!c`&h|4!rG9wLFH}7;)ZCCOlvcw-6P**2k$UWj{r*BkAGh z341T+IxS6ga4@aN@@F`e1DlS<`fozn1J>!`DUmz%`;C3f+6{#bXgZ!(wX^=2@t#Ci zrB*vrXrhsRf5#IEjjg>c;FB$U=E{ry0@r@VdU{jeuvBjIVzv6rsg2Zk%fU*O$K7eS zI3A?h1>bUY?{bga=KbFpB$`^V`(r@ArS@E-P)O5A9B)KLD*3X< z>!U}_jmVEz&Ow5+pRX-ph7E;s)n7$ZW8ln+n|R)x<*Tb^-Z&@uU3?w*3WG%+=PykvS~w+JcqqBIEyY0jyVk*u~s(jGFex-TIOm2V1kiQP9^}< oU5e9Jl_|q*Ht{q6qted@)GSdBJ@>E4$s{v?XnoSE!qPMDpR}x0U;qFB literal 0 HcmV?d00001 diff --git a/src/static/images/home.png b/src/static/images/home.png index b6e9c92557a242821189ca2096b792338d472ccd..4499bbc49fa201929ada38f566d2bd78c97ef49d 100644 GIT binary patch literal 2889 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 literal 3168 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 literal 0 HcmV?d00001 diff --git a/src/static/images/table-a.png b/src/static/images/table-a.png new file mode 100644 index 0000000000000000000000000000000000000000..97c16aed71926081e02f82758eab604ac0fe511f GIT binary patch literal 3103 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 literal 0 HcmV?d00001 diff --git a/src/static/images/update-a.png b/src/static/images/update-a.png new file mode 100644 index 0000000000000000000000000000000000000000..2265c1dc7581831e8aa5c6434a9dfd7f53492e24 GIT binary patch literal 2618 zcmeHJ>pN778egVGi$2XMP_lK>#UKz1OyN1vQ3bdGv|7s zIM6xw+NjKE&Lux``_tSe&?LB7kx*{4nI-Vd9xre=>;1Z@cNO7>$w?3(u?oajBm!W! ziY*+q5!?&g!cRAX@MUX2MoWf^*qlxMav4A`C?Dupz}muEW`{4@0Yppr{D4&mxpIB` zeM@Z?QV4dL#DQ>2TiWqL*fzrz4a~E_KtfULBUcDbWzeEKCy&?A+^^*YNrD1h}ybL(08^oE^Vf~kFjW53KSxasksaT7-dBH5KA?>>) zVr}(C45Du;-O99bScWi7ST|K{7Col^t@)z{nZfirV-N3n(z5EzaN+7ZW$}kCe?TcI zdV++;gyvWT4ZN>Sn6Gb9TVP!pfWC|V#r=ED_v%QO z1;(?uHKBT21|S2mgxZCsazuvtkt&DryMipZSWVl>^3A-8rB|s)KA0ES zsYnb&3nLcq3i1tqZTExeav$>;y&+w&I@-CB`CYwzIheVmRpx>3Q<;yD4OXPCR9l@_ za8hO!D>}kSSyc}mLoZ(1eTns1k%VI-J9mXrn+Lum6iY|ZA%)udTc2_~Hc;7GCYYV< z4WVvO7GoX20K;4Nc}0RsU17N+On8y4lbazrzq3w@yd_dy4kQQWF9g?q{WXYJH{P9U zpW$%V`K0xhjt?(%QW6=m?LXJbSp@Os=DszXBy{gR<6XlOay{<*kgnwbQAa(MXl0je z4SqtLGCpmaxGPX#UqzUJ=K!rQWWsUHM#VD&I5s0VUDy9WQq(@a(5e+?zOqKm z+I0BQC8NnmFb_xU_aD5+oG`EUNY;swO>ufzMO&(?Mb-1DW=npnqM0ztr@ZuHfeCx- zE)u-KYDOS(k5$3attL7n_amRVs>Bw4l^NX~rWxBJ4iSMlwCb%MTM-_d1lpTIJZN(3}W0@$!v&Or)py`8>o(Jl?TYU#wtqJHBJS zt|2MJ6X7RasxR++oy^EXdqa5Hs>JS!Z~=`M^h7`M_PQ2&a>(v#@6^)|&(9prP+5td zP%m~%Xfa+>P!8us6Bsmi(BijO&zVX;QBJ0mwH!kcOAuh&$xIKmjUNDD;J4y+hjVuFSIZtK~QmCj_Qv zafYf$v{F4T!uHr>Bry(;pYX~xF42&?;T9n{Z93PYB9<=lWDR`=S22u&_> z_|&Ex9lqTM?7wQ@)#%?A@beq+qE!#CbmU3U$05%y&|(oZRC>8Ss0s;H#^3&4t?k0;>o7Ifj z^nR+G+>vGr7p`Zm?LLtan%iWU#fiJ09$$L|>>Km~+t2<{C7ap6drHcVw|JYm&o>2$ zk>jY1MhtXDsS+0o-1cA{+ENh9Qj;90i1e57e|7{;uaucqL`#d0JB4YRo>XirZg}4i zo|O<$>U|ax!8l=#Iw4T#RH9F1gmiN$S3ml*~;zs zv6%R={Q=3y7uO=Lvy_$t{%%CmVM;3KdeWs(v ziY7Mx&^B3W6(Y2MwF~l=J_=!2$QzM@5`;jp0LBL6{cqw=Jh;h!^`oZ&^GRo(Ji_m6 zvKXF%`4UO|m+N@QSG#`4n}W%s$`l@=b6i|}+bj=bP=5q7$Vk2BQjg*uO*NigznG(H z@wf!c|F-I^LTm*OljAjN>~EBKF;*_t6H4CB<@)B!S6UtF1~3sANcjw3F-abA`r|y6 zRsf(a8YcFB7|6}so3qt`g+#DBkKF`N)h)TdypjeLXq&3)vyi0bfZ+d))TYLOK_8u> Tk(?RnGYF6!T^+b~r_g@@`euK# literal 0 HcmV?d00001 diff --git a/src/static/images/update.png b/src/static/images/update.png new file mode 100644 index 0000000000000000000000000000000000000000..c7002bbcb78c101757902bbd79608d944080bd13 GIT binary patch literal 2614 zcmeHJX;f1O7JlGEf+BfIQIy3zB*17`I^sftkUR*GfM!4iAyyU(qM#OnVPAtpC=3Z8 zu^@|x!=eJRq#6T7OEe4?5h4^+6eLkFvPxM6n>q7)&Ybx-r>8&e{qDKTx!<{e?w9Go zaNV>)e**vjo9Hy^VHI}#%TVi8zSgI%R0V30hg}_kx~GQY0H8HZry@sV{3c4y#l799 z>oU`6)|7@fC<=0Vpkvmw`!2)S=`XmcRsOj;##(c?jNnVE*TFu17TAsh;qZb7fB}j! zOi}{_*_7e+Du|^3h|fA`8WW&76H(!14njBbuN7AE0M6pQo||8(qk8Gj4$52sB;nQR zJ}otH9DllU+$05dIN$u?BEY$T-6NaBP$1lXCfgA}NLoc_mQip9&!CoMoC24CU3(Hi zNFx2acL_w{GdQP;9Mn;7M_q0)P%zCLu{nfO1OLahHMON>Wo6vJMfS%FTe)Oe+jn`Y4y=#2bd+%9iCy2 ze}RI`2DXVcU26+}CW*8;zdSf_L??%719IU{h{FMw-HFW7RjDW8>R9^P0HW{Y?O=)4 zR->y=U#>)5_h9um+cHbg>1e2AB%=$Wg29$yG0n?wJfg%#MCLlIQjNfA6zp|S^<1hD z?1dY)BUBGTBQeL@P-v047>1E_Po8{YD!0|SxM1?n!1MbIK>Deoxig~ZqlUs3d0n#; zpL)%Ga=Y}*^iZyZGKkCu)FCQ*v9U?5!}93C5Z*>y?Y&!lrw1b>Zh*LQD6PWV@tXMw zn8tsvuNbc0ti2hT1?oPYe&k88e$ibzfT&Yi#nKB^^i}8l{EFMuV?kWNW$W$0Xz;SeR`Ln0NxMTGkA8} zk;?Ko97kTQKoyw?jEausjP`tpaju6k^ce3arTgtNatqmkI5GLlQ?9T~Hg71*F4yS9 zNPuo}{5Pc6RIrd+Ox&`LGwFt*W*>-0Tr@_iP1oyLI6-Ow!?Y&RJbOSJVP?BO=<(9x zpd#+xi@a=1lUK8oWRwTbg0(oWGVNDR7eweO6FU4-MYq^*VnNZvY6ZqDOtX;thE=?9 z#baUvD9Wv0DDYkKusQ3F8?? zqOio!nyKhn!AM;ENljwVsJ$RYFW<|hoBgg-7I#II9E8F`c$Qz86Es!p&&ysjy*DX9 zvGRDqJ#jqm$QC-;pVe=!4#}+%aLFnoE`HDF!c=FM?h}n0^Rhd`*hdo-`n;oQu=$yq zkok_D&`cvq`11`}UuaqW+X$Ru&->myPfV)+Vw`Tv@WdbVfQ- zHnp;vw9Ib5+$Q4rRHZp2z{|w?Es^eO&3Ozcs2mpP29@t5%Y!jNnF*5^V2^J>4HdF?`!o1s9ijQ6gLeB$lsJ)K6FW+^xLsKnEglMJ zk@U?r=Ts85`fnyjiHEvxXC7dZ1Y#loqk*uyq1P{H#~C6#_Z$(YzOy`!V^S62Rr zJ(*12)c$pP^2F4)hSG)Aq%S=|0J^tk(Q$UKK@?w8%iHLkQmK4tn?q*gU~uhUe;!{- zlbzw=`qu6&FoTrsmG zSKG4v6`o(=b}^A*9hJ7o{0|bN-y&oDs(*?6(Vh^q6xe3ndlt_LURhbGA-{kV(&r** zHocedcR~@f>-~ST$L-cw-|D75$U2yRa0tnHuJfj0P3ZQ$_RU?XW^HS|RQ}FXdfs^1 zsO=87K2y=>76+VH=+YDGF3`8s$RveQ3~(gddYuB*QHO26soY|o0!MJ?JbnN;x;j^C z9%;d}Vq<$<6^r!t;Lr$l6gGs0PFH0|!V8)IAEVRgGQ~}k8?8A3Dj^8aof*_R#{kan DV2*P< literal 0 HcmV?d00001 diff --git a/src/static/images/首页.svg b/src/static/images/首页.svg new file mode 100644 index 0000000..7ed55ec --- /dev/null +++ b/src/static/images/首页.svg @@ -0,0 +1 @@ + \ No newline at end of file