From 36c4b55d978f0e6267f7c2a2248475d1136574b0 Mon Sep 17 00:00:00 2001 From: pengYYYYY Date: Thu, 26 Aug 2021 11:25:15 +0800 Subject: [PATCH] develop (merge request !2) Squash merge branch 'develop' into 'master' Co-author: pengYYYYY --- .editorconfig | 14 + .env | 1 + .env.development | 1 + .eslintignore | 30 ++ .gitignore | 31 ++ .prettierrc.js | 39 ++ commitlint.config.js | 1 + docker/nginx.conf | 20 + docs/20210627-114325.png | Bin 0 -> 181257 bytes globals.d.ts | 13 + index.html | 13 + public/favicon.ico | Bin 0 -> 16958 bytes src/App.vue | 6 + src/components/card/index.vue | 88 ++++ src/components/result/index.vue | 83 ++++ src/components/thumbnail/index.vue | 51 +++ src/config/global.ts | 11 + src/config/proxy.ts | 20 + src/config/routes.ts | 174 ++++++++ src/config/style.ts | 12 + src/constants/index.ts | 35 ++ src/pages/dashboard/base/index.less | 309 +++++++++++++ src/pages/dashboard/base/index.ts | 270 +++++++++++ src/pages/dashboard/detail/index.less | 147 ++++++ src/pages/detail/advanced/index.less | 176 ++++++++ src/pages/detail/advanced/index.vue | 285 ++++++++++++ src/pages/detail/base/index.less | 57 +++ src/pages/detail/base/index.vue | 84 ++++ src/pages/detail/secondary/index.less | 64 +++ src/pages/detail/secondary/index.vue | 276 ++++++++++++ src/pages/form/base/index.less | 29 ++ src/pages/form/step/index.less | 62 +++ src/pages/form/step/index.vue | 420 ++++++++++++++++++ src/pages/list/select/index.vue | 19 + src/pages/login/index.less | 247 ++++++++++ src/pages/result/403/index.vue | 17 + src/pages/result/404/index.vue | 17 + src/pages/result/500/index.vue | 17 + .../result/browser-incompatible/index.vue | 17 + src/pages/result/fail/index.vue | 62 +++ src/pages/result/network-error/index.vue | 17 + src/pages/result/success/index.vue | 68 +++ src/pages/user/index.less | 298 +++++++++++++ src/router/index.ts | 47 ++ src/shims-vue.d.ts | 6 + src/store/index.ts | 20 + src/store/modules/notification.ts | 68 +++ src/style/font-family.less | 6 + src/style/index.less | 167 +++++++ src/style/sidenav.less | 96 ++++ src/utils/date.ts | 6 + src/utils/request.js | 57 +++ tsconfig.json | 19 + vite.config.ts | 27 ++ 54 files changed, 4120 insertions(+) create mode 100644 .editorconfig create mode 100644 .env create mode 100644 .env.development create mode 100644 .eslintignore create mode 100755 .gitignore create mode 100644 .prettierrc.js create mode 100644 commitlint.config.js create mode 100644 docker/nginx.conf create mode 100644 docs/20210627-114325.png create mode 100644 globals.d.ts create mode 100644 index.html create mode 100644 public/favicon.ico create mode 100644 src/App.vue create mode 100644 src/components/card/index.vue create mode 100644 src/components/result/index.vue create mode 100644 src/components/thumbnail/index.vue create mode 100644 src/config/global.ts create mode 100644 src/config/proxy.ts create mode 100644 src/config/routes.ts create mode 100644 src/config/style.ts create mode 100644 src/constants/index.ts create mode 100644 src/pages/dashboard/base/index.less create mode 100644 src/pages/dashboard/base/index.ts create mode 100644 src/pages/dashboard/detail/index.less create mode 100644 src/pages/detail/advanced/index.less create mode 100644 src/pages/detail/advanced/index.vue create mode 100644 src/pages/detail/base/index.less create mode 100644 src/pages/detail/base/index.vue create mode 100644 src/pages/detail/secondary/index.less create mode 100644 src/pages/detail/secondary/index.vue create mode 100644 src/pages/form/base/index.less create mode 100644 src/pages/form/step/index.less create mode 100644 src/pages/form/step/index.vue create mode 100644 src/pages/list/select/index.vue create mode 100644 src/pages/login/index.less create mode 100644 src/pages/result/403/index.vue create mode 100644 src/pages/result/404/index.vue create mode 100644 src/pages/result/500/index.vue create mode 100644 src/pages/result/browser-incompatible/index.vue create mode 100644 src/pages/result/fail/index.vue create mode 100644 src/pages/result/network-error/index.vue create mode 100644 src/pages/result/success/index.vue create mode 100644 src/pages/user/index.less create mode 100644 src/router/index.ts create mode 100644 src/shims-vue.d.ts create mode 100644 src/store/index.ts create mode 100644 src/store/modules/notification.ts create mode 100644 src/style/font-family.less create mode 100644 src/style/index.less create mode 100644 src/style/sidenav.less create mode 100644 src/utils/date.ts create mode 100644 src/utils/request.js create mode 100644 tsconfig.json create mode 100644 vite.config.ts diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..4fc13c7 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +root = true + +[*] +indent_style = space +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false + +[*.{ts,js,vue,css}] +indent_size = 2 diff --git a/.env b/.env new file mode 100644 index 0000000..ead7728 --- /dev/null +++ b/.env @@ -0,0 +1 @@ +VITE_SOME_KEY=123 diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..a97f050 --- /dev/null +++ b/.env.development @@ -0,0 +1 @@ + VITE_SOME_KEY=456 diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..9313def --- /dev/null +++ b/.eslintignore @@ -0,0 +1,30 @@ +snapshot* +dist +lib +es +node_modules +common +static +cypress +script/test/cypress +_site +temp* +static/ + +examples +site/* +!site/v3.js +src/addon +src/calendar +src/locale +src/upload +src/dropdown +src/transfer +src/time-picker +src/utils +src/textarea +typings +dist +es +lib +types \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..1fda54c --- /dev/null +++ b/.gitignore @@ -0,0 +1,31 @@ +node_modules +.vscode +.DS_Store +.vscode + +# build files +es/ +lib/ +dist/ +typings/ + +_site +package +tmp* +temp* +coverage +test-report.html +.idea/ +yarn.lock +*.zip +.history +script/test/cypress/screenshots +script/test/cypress/videos +script/test/cypress/results +script/test/cypress/support +results/ +yarn-error.log +cypress +cypress.json +Dockerfile +robotMsg.json diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..5e92232 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,39 @@ +module.exports = { + // 一行最多 120 字符 + printWidth: 120, + // 使用 2 个空格缩进 + tabWidth: 2, + // 不使用缩进符,而使用空格 + useTabs: false, + // 行尾需要有分号 + semi: true, + // 使用单引号 + singleQuote: true, + // 对象的 key 仅在必要时用引号 + quoteProps: 'as-needed', + // jsx 不使用单引号,而使用双引号 + jsxSingleQuote: false, + // 末尾需要有逗号 + trailingComma: 'all', + // 大括号内的首尾需要空格 + bracketSpacing: true, + // jsx 标签的反尖括号需要换行 + jsxBracketSameLine: false, + // 箭头函数,只有一个参数的时候,也需要括号 + arrowParens: 'always', + // 每个文件格式化的范围是文件的全部内容 + rangeStart: 0, + rangeEnd: Infinity, + // 不需要写文件开头的 @prettier + requirePragma: false, + // 不需要自动在文件开头插入 @prettier + insertPragma: false, + // 使用默认的折行标准 + proseWrap: 'preserve', + // 根据显示样式决定 html 要不要折行 + htmlWhitespaceSensitivity: 'css', + // vue 文件中的 script 和 style 内不用缩进 + vueIndentScriptAndStyle: false, + // 换行符使用 lf + endOfLine: 'lf', +}; diff --git a/commitlint.config.js b/commitlint.config.js new file mode 100644 index 0000000..422b194 --- /dev/null +++ b/commitlint.config.js @@ -0,0 +1 @@ +module.exports = { extends: ['@commitlint/config-conventional'] }; diff --git a/docker/nginx.conf b/docker/nginx.conf new file mode 100644 index 0000000..62b7d40 --- /dev/null +++ b/docker/nginx.conf @@ -0,0 +1,20 @@ +server { + if ($request_method = HEAD) { + return 200; + } + + location / { + alias /usr/share/nginx/html/; + index index.html index.htm; + try_files $uri $uri/ /index.html; + } + + access_log /var/log/nginx/access.log main; + error_log /var/log/nginx/error.log error; + + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } +} \ No newline at end of file diff --git a/docs/20210627-114325.png b/docs/20210627-114325.png new file mode 100644 index 0000000000000000000000000000000000000000..4013e37eb9bbaf1ec7095005ce58c9106aef7a4a GIT binary patch literal 181257 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%0Dvl|yHM=NTM^=QFje78(7n)j2ed$(`|}G% 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

Qc!M^ZC#t%;WLC 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

8nt&2!Cp6FjotPZ439!yJ=srN^d{G1wWQ-19- zk6T*f{VC1kg~)v8YR=64WEx)eQkx0?vA&|^wi46CAuHR<<4;{v0eAL`7lOkptwBBk z0HTV-5Hs>uk{9rdN`&EedUpWm@u=#xK1k#B3lIMC9DFi=(l!~e!bCS6PhRp5GW#k zI|G%G)F1^TL(0{!Rh;EQWI*ZnuRMG;jMkoI#e2>RZAc&mauv1by1vH)2g3`R|1p|r zfGXa~5MQ;7dzM$J(vnx+j97L~>r%R%jWC>WoQg?AlZn4a#nvX$FTroXbER#LLovJe z+u9u;r78m3S3YC7&rcJDj|+~s)*#`G&U0fav6d&Q-da*|3-vXlKwG2Wnke0-|8Zw* zF`|@Bf_JiU=judY#W;eYcG2oIAdN!(0T();3e4s$0{=17&-=ZdJdhX@ zD#rCr#nE&;-CZ0&llm12`}xzH`c|H-YOmlbG(rVxX8D5HH*t-nO^~O9H|`z85&vcs z%mArw6{zLwbqLo0G})m8uIss0_~2Z){-3DfzjAfBgYgbbtCNcA4)LD9F1RmAUO1!L zo=#R&o(DYhpb5F)zDeuOv#vYf(+Er5XIy=2Wx}@lP8kXbRWyd=!OB=UKQQS->oVk@ z&P=MB!|Q$LAQ^h?K`J*tT~RKA+P1p%zGs|EyoCP|JEO-q1Zor{3CoEOQwsqL4*7B> z99?w^gDkWbBS;UHKLI!gZ}z6G@kqz|lFap%KI@Dm(Z>s49lI0|n=moC;ljWUsmya< zsl=|Y$SRVKrv!0Qh5o)L|9L8k_<{|*Cp24TJWGJTwL2_Xpwbc0%j8(oE{zaN6_6KIvJv)_ZmOa=1 zQ`iHvSYQA?az8fogX}#q_0I+RG=iDkc|z6aBg=}wS2|=+60(8D3i=pZFzZ+2KJ$4K z9AFChGMd!rFU%M|%Vx`g#5|4^!K=7?v*+c0{Fd4&`}UA@M=`_SgW>?N_S4TgdR@ZP zP9!A{wsPm3{1}?2otrHlAJM75(>gAmK{f*jgbh%rs4j(ED$_Bt0P-MF=5)`yO_$E&URfwm{+N@9jIE$TvgA8)7^^Lx8ExW zv@m1S4{do`@CQ|45y10m6qp>ECl_Z&aNN;^e3an(@O~rkh~TyS?M{28rK+gaAnj~% z(9(PNAW!d??%7D`=;C`TO07Be?JBpC zqW*+}NyQ=N2P+Az^RAw1^a!+9Fkj0I#!%+@NAR6g2{<0X4^w#hI=x*6i2yhd$oFo$ zZ#fWu(ozlpPF}L1HpH8fOszHix-f;QAzUxd$KC8n&QAu0=G!%#T3A~O=Hv-J)8yqj zvDS`d2mAM0FA(Xco`Wf|8R&4+?fFKYq~^f@j^DxIrLjt6r1^_WM}Yn{4=Zg+O44Eq zD9Wi^<{ky7;ylmWN%u4^920f-*U>W#p*r*GM7#rl)n`X1r@1Oi0$5xA^1p9m937}L z=_P4gJng$sWAik7`@B3nm#d@v>EGV}KMFu7{Vzg4RCuMfCaRj z)8E+67k~qCl=*aZR{Fhk#Ci^fAiF4u!433~SF#VOv=+Wl`9awE8$Dw+auji)jF$iPB4}+nLrPlD+fSNdgDk-x9J1u0HnM z9mgR>OvKdu8$|G5oBM1D=x@C;xgY7niSV9$CrGQ(z%X6cw_ycWHyd@}=;SH_AqN`y ztu$mW6ey52{RYICm7BkrCx~JbzW<~RSujgw*EH;i{#-P~@0*ni3eb6-4<_8Ny8Q-R zAMl>2mDf);tj^+nfJIvgPuk(*%JXY<#uOAClVHEe_StTZ`R_aa-xU8#*^-G92sZ;s z4EPh|2Uf$Bjo+#kpPUY90$IZIFd&`Jv=@TZNk2qu?!FN|E+kAxsA;}W5lqinCz0q+ zF8GzhiqHI9QKqJ7O|KlOQ&osBdscIaPD-4*WRWNV4ukfVwZWG6-?qa)NrBNS(x7)_ z+kSzD!?J;I7eS5Na)FQEU%nKB7VplrtcS_@N0uxVNBW(vdoi9oYmtyE#N$h&kNBXd z#`5bxe6hpZ^EFvV2xQfdUM)cBS~Ls@P4#A2N>u;U9uu-agvYRI=sAbeY%PNnyc}|v z0|st)SxB5?@Y3D5yK|eHnj3}s`%exM`%el8FA zKM+1D4$D$utO(TpVBAu#@rz1ANnh&hJ!#+)UkIn!_RB*RPw_zLeq$U2fSvG1#I`I8 zIFiRFG8NcI@k0FYAd!1Zb&;_7G%>q(%es%~zM6%hH$23eR&}hI9IbtOoK{RTzUA{S zhXtno)CglYC2OmZ`-?9?&~ICYYdt8&g)S&Ro~|^c@}JP(zYl*D@Fh+!HkeUVGplYm z?f9LySFfat?vh~t!kHDOw-^~O7>A%KwFsE-x4 z*SiX~%lzImYcqQ(8kbfWD{we*>35T~BnX`}HBxH$KZ!H)<{*rC{G^hnUwYEQV(l|w zF}lQwK#qkly{44_pB=mK|8vTq}*Z6)*^W7TEuFkk+jy6alArrP{tJ(#aKzn<`$G*^~5GH$=(FxNDoaQa( z_Z@Z@Nm9p7OPk_E+K`?e8kc}2pE*&asIQ3OlG}RSu9{kN#R65+y@{5LHmRMJMnnVQ zd3DxFvs}BR#C+e#UywGk7^Fq($J}e+fr6?sF&?0FnX^7-Tk-U;(kyoF^o(7Y^N*_# z*kZbhbS7+_(J<&1NzOoSYIQM(?jciTj73-Y$-}rUpwd!N-7f6H{HlZ%f6M53e9%sf zdr;g%xHTS$28p%$>2pSf4dsZ&-Ie{|Xf&qR?M#0CU6Yo(J4QPz9RUqptL0(hlHS{4 zIN?_+1|hmLg1jbf``@dh{Q>|)OsA%ut2Qcdi&L*#)#cF^nb#&IWhN{BVoQs7#iT;} zqU0qHtV8}uncQEDK6Qz9?yqY|^(GSa;PEf~A}hXcDAjGxR4%jtQLZR#4LjST+x%KT zu0}iUTE9To^wM{K8C(!qIc-QCL@P|m+Q%8Bm)g-z+~_RwrP{l+XH8cz_raNCT}Pj# zNxHr%gd5bl%&(g={cy9x(&Whvg%nX|L@2!L(ASYRd*bGq-yR4~}rOaznrUyeWHIfrFMg z=W#;=hbdtg@012ct0f3ecN{d9hd35` z7kzhAQ*Ze$bJ}lDhgfn}7Krf@O`h(mE(|ZCn=Ez0S^W~mTQCMRxe%3Yn%f84NBsOz z7kTWp|2fwAlm3#}3E0IL$J6t9vN~9=cmy|4e4ixlULXGC?%v5XyrSt(l@#%147f|B z2J+mDyc1PqQfXmAf>f$>sF1@w)+u>A{1RgzX$I-J5_q3?9L6GYzkismAVAucG6$D8 z@=iowdQQ3H+ry1F9Phg61PY&zy;dl+*mhbw#!jfDt=cY1n1ceWVp4){UA z8Z|E$A*+!Zo+GG0gTGDc_RAjTWxZ*NxlQ@CfiumS{8*dlPdU&c!vk3ven;os z#>6fwFMp4%g`#QrT<+5-$<~*m5hIZwTVoIp7Vbv6T;?c(-ysOQ$PDc26WPKq?gZZg zsTs|vHiU?^dbu#U%`|$Rg*$OmBQ&-=RkP3UPb!9GMwwet9q%uJzU&gqvAWVN+=^Pf zghCq-QnU{{K_4~H-C4LmM-_se!GKD=%Y~nCOg+qhU-tj{AruB^SV|8TY>hN_-Lb?} z%X%N}8PMP-poh-&>l`S)=_)G-({XiRnEkW!srEOXfG8G<5Ikug@fo62MIs|gbc)IC z0;Xq2x2ZeEe9(PlxZDwvmm4=Q?#a`7D_eEM5Rs(YJ+F&?Vlmjt5*=wv@-aoNJMfN?yzVzdmN*brI zQyx-b`!_1&dtHxK%*-t8XUnwec{tx7+-S3JfXvP3OB&k~g<)U_#O)J4)*$baH|PX{ zlt(|sYTkvqRiGEhj9XKQKB>DvbH5DK#FI>x7f^Zn1yUiV=Vm;`TfSq0!X#wx(g{SO zPmR8H3qQG-VIvx75%JU-ZP-)z$tP39yDaReb^l)oxq#33@4rOEO0$)nJcbqAH|Jqe zESiNg+s6)%t{7ysjaxhi2&N(BQHL}eqjC$E1zi8!t#kLcBZ|<8g0%g!un3@E&3^wa4uLl_*S+a--hZ_rAND zYeO84-c`em$#CzwXav?YW z{|QQncI}Rf>YT!CpszuL7NOJH;_7hUPv1FWzs2isyYL_{NwFLL$`8j}33Gg9e?l$bWg=;I$^>W_%KGjZF9Bt7^pB!@|pq_fE|5 zj%+Rp(Hu$Ho_fm3F^&8f$tGiavFxtjOhjZx=H>4ON_j2m-*4Ufu)Re461s66@o zHhJP3%JK9Z#Pk(kcPuNXGpvBdR70&_&G`v1TA;O1@vH_1k0Hd)N#O2bv)|OhN!o(F zk|bh|06v7+E>R8CpV1+4q`WJx@VZ#lj+L_h!_cJD0Pl$`v&;<)q$<5cR-JBdOp`W+ zlzLxu*!fy)M5dx|+o`j2&NE4C=FbzEqV=tbLzNk&xQtgwP4w_yr9-dqRD6m0PAbYQ z^RWtX8jChprk2>)sj&x+os=*Y9>OW^7DgIb)zd@y9kMLx{mA{2IZ+qR9vwLMkFXn9 z^fzweO5eaBdJX)na=;=gPPv0TAeAsHx@#eIl!&B%(!Z=%{jTS-aLNQgd#TAHJo^Uou#Q~A`7s9U1VdS{*NH%Bd-mvC;B)?335GjP zV`F0z#gTW_nXZ^yeLmvc#4WSH@D(Z#yV=v&BJIw#p(lGj$OKUBw=I8xvsB>+$+dWj zFGCGk6LMVfETrDJl!J474Y|pgoVT9rpF_9w`_U|Wk4eN<@=bYDa;18hOdW$GyF{OZL#7?kBRxvQiq( z)W(fU|NuNi33@bQq0w0O3 z{I&5180Su7HyDT3k`~p=|CrYh=-=E-_Q9%x33oh!qCOht8yuJH5iqw{U7WAYr85u~ z7KVGKk$cZ4HQK0_`DUIrZwBdP%e3oXGryKb;9@!31#XUtt--MVbA*4<=kqu~QzKQ0 zg7Y^IdDQK`8VtVl*Zkr;6-RGrU;bEB^nvQ<2#Qn%j5=>Y)!0&P?yp;5-ZcwbL$*(U zt#B_B>v5w#XA%(oQrD#ZN96xzn>m;mkhPf0HA_39ob~RlXFR<1pzwff+XE2OisEOB zgrbGVy!C!riVRW`@_m}`z3D*yB9!-s4P843sYT2I(Np0_cK^l3I-Z*Wm77iFHjn?8 zleEEWu7ne&;*;9Zq1R6^o zsFfP>Q*0ILkZBTP8OqapYc&*!l?4ATpf`fafgL+BY>SlQ%f8y<)oP4;*37EOwH@B- zQ?G6b=^ozf^k7b2J3JE^(66@!uZgEc!7RxGH7k%`nKOh%MDF{jhaW0FdGc(VMgIha zdIB!WTvdv$_Y-xnRrr(**}erLBt9tA$qAd9w?1CH zC3)+?TC_f~bktW%W=_5dA)hkB+qdQ4^d0@EQzq4Gj3Xj6vL9EEO8N2>Z+stOxvFAs z6Z>qi;b3xMlY6+949H`DI|V3;e=dq&Lh(xySd20*$s@A_OfX7K;Vj;EJo|!WOw|g5 zUv#1+O4(Rh8E;ZKZ&5Z34h}~2T&PGtV_{!+YZ4tij1x^9q9oeu<(|+(M&I2?wOgCWqyw0|Xb@Prs^Jd$7o*E8Y&kXu+AFh$(p#+pMKNf z*JhMNf|>DPvSgY0&pvE4ir4Bxr)bZ!a@eqG+uCAvuTH5CsJ( zp@FQRluhNaB@v3{=a9OkHgD28P%Hcwvvfbc4iwF^@u;;q!B2Z~{Kwg+uTsK@fJI}a zyd7J~FJkO%n#-?JjI6Zww{auipufj%UgtX zVx*DhmXq8ZD>$a>1HJLTcx!Hr_fr*Gb5Tt5yR=EqVx^Y4yH3jb^gorBtxu*`Q=}cY zr7%MP!7OdZ_IL5?(^FIT8NpD+H|svNci$`VINK5b#VO`!>BrKD1=rimtfgjEw|<}Y zizObtCSS6#>>vR~eQPiU{@LP9nYA*V+e3?s7J;lLY>a_T#ude{%jlJP(<(hGte)RyYJX)*2*=S>AAy60dwnoM&SCkY9hU5|sCqWLUcM`)$dd z^$yrixl&DwX1g(kUG>VEF64gNVDlkIza4HB_+|R2@f@Oj#U<+I3u*Hvywl5kM7n)I zlZ+PVcWDh?WqYjzy?AG&8PZ*(^a14!lPOBpH+h=Et)n~u?d|_)S^SEGgk)l7COTqO zqFaT8J*xlv8=G$?!=>zdvX^Ji`mTNw7;QIzsyqCtb6Aua&oYJabyJhD zOX}>PXLTm78hZT>uaxDAu`upnd0ZnXVYaNDHx5U(ip&VS7w1!& zX-azpLBxF8FfG;XM|H9FY-zjGmYj1I!tX-W1d4BPPu43|-=6AOoOVXgquf4M! zAFS}V&r)<<*lfE^HfXLQKCx(sC@TwXwm1|IB{A3I8U1l`>X>fAq6J|HnfO>%H4nb6 zhY6Ney@YuF=UUzbkvS2tdIBKMwZwWeC{S}=6FVS@kHL6Rj?^i?rEn&ePRfb6d^MjZ zLFKYxEs>yz6*C0q&+htb64CKz0cPRlxrPw*! zok`QjuWE^?QSrgq_M*0-`hCN;(5ooMaP7?88q5kDo-D+p6T>)1F=NyNFhzy3FH>6YjW z>tm8HDg6^CoWhZeU~kW@>AsWcX;Tww!rwJJy(nNmB#u$2K=N4O;}UagSav7A1l1+E zBE8^hJ3G6+I`$QuVpi{`O3C--};x5M4_}F=xg$>2|JuFx|F_2}Q-A z6&+sXQEzrEFO#7s0+4K|d3W?J^r#tawOmgW=;xwr{ciJhq%t~2 z9PMc0Yuw?dPM!YUu*9p1#a~Ukj~pvG{PnH-$I%p$HWcW0rnLR+WWQ^n8(4!Mr0rpe zkLtsg$yMoFKiZcoFao+bM4#qBC)jj_k9LST)nHGn2lv-)C zjhoK=49I86iP&mvK zn7_Q2(5;E4CWwR`h$!Z%t?4l0o$nakDr@Lr!%K?f)uf@}ov~_REgxlsK5ZB;blz!b zqdnP3z87`8y-Z`)?mTt39hDjrcxg7%n{}Zgj$*s+47)x(aX9~keqlTOJ{Ku+CF<-x z;nZGIX{uemFXinp`>nE-4S!dobmY#nRfqE?I(_g<&R9DRObjkHdjIwT-7}EU{@|Az zzZpz7Frw*!?cl!p4$3Frk$YpGtIyM6nAH{C3a58H-?*2xeP^h)iPwbvBCL@|aHYqX z#i3j6=aTz@=iKVtv3--ASbdKb$cZGB=zs~usm|fzLT`1wk|{$G2t80LR-0*&WASr) z(P9lTUNLB98+*B#PDYD10{R+y((UdH*3J3IRYtEanhJ~idwgrVmW4MvUA$X35>(g1 z#^OLO*ym$brjOngps#}CzQqF_OA62IMMsTK-2KyI8y*C-!=(N$&OI@24SO0apzD}i z&)dgh0(PmS@!G(XmtkuvOC&5`fI%v?+F-Nw`0_yuvLrC>3^@t8IgRkq8DI0)t^^pH=V3?A=wblv`SQq=qgIRa{IorVaS|k6JB<@wd}+^>9I{C6U@W%dFtrtxf9@!sElYm z_~RO$!ll>j2@?>-7WCDysrkhIHndaUqcMscYpW`gV{mF^<;5JPps1rhhf22^;Cs%m zj$y~SKYL0Y?9kk`(^@ff3&9}8JlL0e5afR{{3f7@I!44sO9)?5lSjuG-;-d@m?Z{J!vv)?ZB#XhHfVON^4VPYOYGgUu}g z&wH=)&~5HjuhgmG=4bZ1HL=rfFQR0FwC`@$ABeY@JdV|)Nme{rmlAk2-AcP#FO5sn z^x<+gs^y0 z;A5v{R``tC8O<`qo%nz=E2vT9xJ6l`6@#8W&({3tsADTuOVmyEkCkDgpFRW}owu=9 zlC?IQPzR#Mm1lzTMD*6DR>}ev>5Ls8sb2?pgqK9yTvDolPYiaJ5VQSo8-sWJ9IVHC z`d>5Wkgk<;{l>>J>Uzl33@T*n{(701AhC~j|Ho;oUBk&cS(%4NvHkCO*B>r|L04NJ z2Ab~_8^goqTFwuUJ}paccq`Xd{J1K7IdFaj84k6F{$G3l+{`J((&Sk@^)w~$=z|)IA7-cuKCVvuLVfGzV6)X0n>J@sZ-|LC z4ak2gOfk&S-#`8IXEe5<)NX7k+7W$blE7YyXz2=4-m6__bGWvMYnf;4nNy{8T87x4 z^B|TQ-&cG}G0lRo#W_J{SA~th6LP`5esJugrM7hk&z0wM=Z(7cVOOYiAwy?pv650d zj~&BG}_B(zuso4#J__24yFIfH_%Mp{kcGOWfAR`_JamR z$Ad;QgkM(8C&@T{*P&b?B;p`DfYQV$Gtf?BVMwqoMhI4^ta3h>s04+rdyK+ECI4_4 zCIo`L=T0UBigjQ@k(R`%^>;fxB2>%uGvJe_7?l!{FfkB!X;D+Zr5$fdtp|f6apKoJ zeh&4_O_lwEo$c+q%*@Q9pcPeU;N`i}^ASjAOi@rl!7S$Zq_X)*tAsDGVCZUq zj)IZUE>b%@EE=^}+q10)nq8M5TU%PWdN*U56x1{R0KKpvC=Oc9Z@EKecD0eFxa|zO z=BIc`r}a|X@$4svD(H|!#miQa=xfUO``< zI!o+=pDI=APe}HOUr+0mbzhaZL6_M;ZOTnhYEc95_ViA+@ zLIuXmx6gg{pO%44B-Z2~mnb}mNNiM&&&=w!FJ`QtQYoUPrH%cFsKv4yFUvZjlssuTWTkYz<>{l3#&Lxco zA$%`%D7>bVC_Leh_$XR=Lm%*?*W#XR>jhmCOe|Umm3%E$5`(-U)P!C{tPU;M(o7o< zMCf0Y!%>bIC@Q)I^M#AWct5R4-p#CCE_lDNnT;N5&OT`**EI1~f1j@RUMa*W+|R>? zJhSzvY~VmBtG&J-1h&tD2D-qbScdkFx_3DI_KzR5Z1&C9^13Or!Ai1P8q{w)^_I?c z@$(eBs5vozUUw%Nr8=Dc)^(-`b`l+L4u_*sAHi@J2R8{sS0aV_>$1wabLkxQ-_nS#VYo0$>mui@tkDB47w1mOuW-I@ z3RZGiOZofP1*+>fxWTuhGS=ZN3Rw?bkCe*ud53i+E)>`Aco~(^ z_OJ{lKP8TUz8LabH=hnfG6m@R9xGE6*;{D5?1?i#U2yT#f)(Eh!Qi8l8IY8P)auE3 zRJ;(cAtE{TV=-Rnap+Q?8JgkYB z`nRoBPP2u`3jc5@_|>;AW0)mTzY4gQ?Ro1}6m82ZqrjcitRPeWER*=7>svUZsAZeD znLT~wyZs5_UXVvNbWqz69Z$)hYF|0bW=kg}iysA0ag%&~8#`7A*m=%!xk9nnB?dJ1CSxjP?DcYa*;C;qB^T`<+mWXwk4yKr3}E*{xQBkBd#{K__V z(R&;K`urSCZIrJ{uvOL7#e!D9UjH1h%f^K2btgeZ_|4E!RZiJB)9fKM*~YuK3knl` zP*~K3ZM%B~AU}`vo4@Pg&q=>tTa;VAg0U@h_%;&Qk?qcefThjF7a=U5IzwziMkSg~ z^-Na@pT+0y$q{NQHx6W%V(M#4TEa+OOFnr}F!46*&}XCe)HX+1)`PozovO0qx#r5{ z?B{Vo@h3fD_WEclip?144iqg+IDs{#ba~jyKoPy$xP&lUGf=E%w;3re&x3$N79Z|WP3N%zg-tYeznN>PK?NcY!VTHkkf1Oh z+YxI6%T2VMz3$mazWKCm@U%Oc*D}`XWA-rF^BwGuS8%Wk~JTa3I%OkX?7!iw9Z;7;i~d zs#NK1zFZECn)6Vo1Y99s6ShE$n&%IqhfV@f2WUSn6lyUC+UVSe?r_`-4haBdul6__ z+N4dQ!Ow$u`PwoQcSBEj72kC^R;44Qj9QjNK@z3=1rw@@Z+=%Z@x~bZSD9i>F%Dk+ z%sE@wP}e2-)d31UmY46|!JxO-WyY$PmzN>V3!t?0k99y(WyP7pyGHJGUsW?#EyuXY z@IeeTfEEMK%9y8_1;3TxiQ%B8nwZ?)sI&L-XhIoqJ;Ok1wXiu1QPH|FF2{i=oNdNF zH7Qt!x~H^x&Rn#6G~0O@k1c0YlafF2)OPgFd$r)#Yzb|+P6fa*o>OH?B3x7Z!xtb+ zGc8tiG6JoB_~_TLdfI3-s?-+>66S19wn0XwM0>tEbaZ<0Ev_W|lS=`~NsyqJ&E{=2 z@&`lHA3e#T3F|dKi=<59k6ucN9)bGJJTp!TaUwnM*4DCcZ708$qU0lR_8Lc=F4+j_ zt4Y0%5CLNK1m6gKE)Htkqgn>oQr1J>nildxhZdUJJSCM_yv|wT5-;=HMSe~OpTud~ zf6XiAOK1pqQ5qY=_Z`KvHT=O#9}f zt~20mBkV8~q|*%4uk^}!x1CgV`t<_u(y;YRKc^Mfa;r(-_wi%gE8%dSiUUyAkX`ws z$kKoTtm=4*i4v}e(LSINT+1eWC_(r*3~YejiJMCkGpTLddIJuMn-(0maonojh5smx zoB7cnH+__;$g?`%MI(u@BIaa~oNz$yDo-!-sZO=XJ<44Ej`Tg0?g+eer}%`tj0~S* zhsg$dbFXQ)^|*;U6@}g`Zm73K54vRu_xZMrqAmf6pj{TQvTS}qVb(m(JG5QfH_XS_ zRYL2OD{&ON>NRgiLmS8(+bs70f4|yV?pvErmU{9AN}gWqrKE1-^t#gy2fZ9E8j$&Xhxp;usr zlCpKvj5_C8;TKW?7C&e&&pt|`mKq&rKGp`)-XVuoEUdl?D(x@x@_4M@Un@3j{)a_L zZ}2PTJ5JaCGDiL;UO>WgM-OUyjhtk~6JE#(P`dyO@Y_6g!m00;aRk$p))Sk zo_$izfo54Ik2X%mZpQT(pS<8zk2T!Eq=Uq^wq`;Hn}?y=;vSX#Y3ThqE6*vm#19WS z2@f^%yLPTt?sB#7$z`MRJe!4`D|%`uOt^U5V=pxwi2Qu;?A^Y2#i`9yKxv)2MA>J* z4(~^qc#S`q5!%m5>QR)aB!5~cAheaJ9LSk`PUSds`dXn_yFROl-iWh_eTO?Nmcp^e zCj)ZWImklrB?in>$1^HEI5cfG7gQ$nihe{t+dzQE(_|Gd?R?Wre?Mm3@nsetsL2|I zPuMZqz`vCi+9xsN58kneBe*ha3mgu-fbDPS-BNFT=!D&_3v#sz^0-cS{G<#r{b8TE zyd$LcKPRpmi1ex%r*zvtC(;S=rteTUg;@ai3d_VsqXVx!;?{(MsZGp8Z?x~&nkvK* zAvDtrwl~6s*|pz~O8khO8DspRa0;fPY8kZmvxEH>WJ}YV?9TnirS8RGmVN(vGv!VP zB?3IyqOX&u@l+w06)AP-#gAeeqK?a9FFJCih>-F=424*4D3?Cr&ldEt=;O>)EO%e0 zd6^-}Pmo&+8HZ|JUtH59T$QB#7#FCOqm4V;F*+|hU(?d%ZF1SRg*>GF8ZzkA&WVq$ zNm6WoVr|tj=xJoVUQ27&ZRI9aZzEurg>zbUsaPNhLgho8PO(dGwss|3mv?5%KrOY>D z*1w6l{7izI2f=9r2idr(wIc2{bUFGR&e;M+Az~fAztk{{b;CIk~-es%Z(yu+q z=2B}TAxIelpgSS%&m-RVZNvkRjjju(%_ikK3TQ22x_@vHlso)JZhjT>P2VBprk<{FIdvt8 z{ukxjmOfYCTCDxcOrgZRf(grGEwdq0yJ-K4t}a@=@`qaWEjv?op?X<0b`v+PXVV%V zJ3d&ChkKi5v{!vywrFbux&Acb#gA4HLSov~(s&|xC=9NSamu!i^#nxIz~r?%1{p!u z8Pz9>>Nb7fzNw(zsDGZ?q&@)gZ5M@KG`jf}nlz3hz$jN#P;HHNPx7%rTzJ4Nj@GQt zTub{#<{X7DZgT&5xFlA8i|+UHpLzxTeO8LxUe$z@M|ZbsBFgzRd7s&L_U=jwSk9Ry z#i<*@4_OPiP}NjGIOl>owK|fEPvTL|!NuLlM`3uR3ZZ`_+0gr7iCwIg-&v_#33kp` zSPV5=6eESmCSIzlsXcj91W97+5HrRi!?E{i|8{w8bvB*t&kck=XD(!OPZeQGK% zMTbuD{)Y0*I7RdGZ3eQO2g^CKP`XJ+$k7_XdMp8$#}?_?Yp-wG!nd7qu(kEXJDVaS zvDR_5p-f=Wf>-un*)P z6W4|cKwZ=Fh11PS`;l>6n}MP(buTJ?pS@I_DD3k@|qXrYzu z_Z@g#y9)?Rv%5vHpykQ@TN?haUIuEBUmAE8)%BPjo!c#b$*p<(dcPw>GH~v^2X`>1 zRDXg5%)_DVKSA8-^NI#*)BH7v%a(CgBy&95c;b%$A3YHvkip?C!rDgqHKe=|KO64` z%hN2N`z@)-XLdzX_iP5ylcHxW48Bjz%8j{!`;qxoN@j#d&LRhB=r&^;`PLNAwevZB~eZ1oe+V1Q$_Kl2Y&bg4CidX zD_|6~xd6KaqJ)ilnOT($0uf7MdVImVHL}kJT*eZcE6FN*$Ehg>MR8qj$GPN@gZRtY zW*Hu9;<>?+q2}-D%P(Avi?p(o|J+hMHwKo?Gu0(!w|Y*d+YT z4Mwn$$6@4?Ed^8MMG&*TqEwvIUd~;qG?42pqrcaIMY2aURvZg6R^qzTYB%C#eE+j* z)$zw$zk6smFw|a0lFV!i3}Z!&Pus010|_cT_=gOxl)=pdyth&bfZ^tM?hVsBEa%8f zJ$x9g4-FGbE%>iEI`Gr}{SC(B)a{8-Dzdj5^iNgtoPHRcK12OI=)DR(?uemE`h*zw z_j=0yKk^EsrGJs*NDQ~LE_I=Cu0Z6K&|gk_88!y(c~|~sQ!>_~FK@`dGF*No;{Kg< zr^F1%uDoY|A62Le^dR6h_FvoHo5v!`SxCF5`1=Bhl*Debsy*{1ERPRpJ*p%Ex{d#5 zrvIAswRGA&rFsKDTi$ZpLlc_LilzsUE82>tzG zdKqBfB(Mh`G5*gXpXUH!YcPr%GyT6Nxq*Sl2*f%+4}Ky2zlR{70J)TNzUinx(^dXM z0wp3~y;$H|fAICcx zSUcX + + + + + + TDesign Pro + + +

+ + + diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..cacf9d3f5683f44849c2fecb7610c0f69f0a18fd GIT binary patch literal 16958 zcmds-e@K;A7{|}OUS>pO#267VB_d>OSEo%}8|5Oe;wrBWH<1`>CNUaRRErjMC1Qm0 zk1a+U(Z(1NE=G(YuI2T|Y#Yms5g{TmN@9zU&?cgG^_+d5_uf~p=lY)az4yLX@9oOt z^PcxT&v~EEIq!MS^PYPdbKtM2h~a-0%ihM=bBwWU2u?8{gwAW9qM)+te@?G(y8R;C z-66^#l`)7X*Du!P_i(3OJ}p)|IexJMyyqd~5D|wwba(Lmi{-an_kqvnz&sNNcX*#o zx&3^jUA`r{9XzwEz&&9TyWS5+6YaNM?PJd8+00ITaP_qt!Y&sR+K#(ZtWN;{KyIg4 zo>0eaYCNZlJHh|h=013o(;>2Kaxvk}fW60Neu|}A67IN7H-N7#Cj7tSdaER6eU>uo zAlAPc6aJHOS0iV5QEkI7$TrDZ#$0uSMX?6*wxX{2@jU-$;ew4SU+PO%UfHjlPVp>Q z?kdJ}FsGBRlN7V0!Tp72WMoPWGy2GZd7p4Gu z<@)(L*>~7nRPc}B+6LJsS<4tpWemjgzCaA*`xX2&Z?KD%8Xx#tt!Cj7F%Ws+X0?qt zkQ(%iVSJI(a%CR)>M!%-nY)Yj&bVR?;9sW-KXRPa7|Xkg@f^f{(L#CPfUyn#GgbKW zeiaO3={IH(W4N|Z9(YM%GqtIkKa(nb0FGt_3&k_9%z|@=RW>xQWSe9ygTo{Siqo?1 z;M=C+$F&;SCRxka58PnF(k}as`m~4mNMYA3+azl_|Av+a9>ACyNv-TV?RA2^U%?;I zXL1{gc!G9;WBXZqHWoFrTupd|OT^{_w4$c}Ig`pfdBACw?DF;iq zjL&ke&y?l<6c9#I_~U=2Vh?jIC=JZT_eLjz>c7XF;)@7ZOiy@A#PafDu@BM;xe|k% zt==i-eb0O7%hs%(4@*SP@r7mR{mffW>e)2|X~+3k01-&A0w-5F+OT<5c`&P>SgqN$T1jD$u*u+kKa521nIwl{MfPd`C z9=1EMhs}#evTyLW05WAG|84mm@Z$yWk1t{$4B=iL*$=twE#WJ`-D@K|jenq`bpGBR z_*cW9yNTwXs?%cZAoaKK$+VGW_AlSIUP`%#HW^`Z?SMyKv3URPUVpNRcXP}Zcgx`yJ}fRVtr z?cw)U9b*j3(9Uoa?6=T<)O%+b%S!lf%UXY-^5ZcReqi+Pr=AKTGm7N3=SJEDO(!MqP*EibBL6yv|bI$|lthxf-@9^nM{ zIlI`Yohr}x1oDl5V%&xW-owNF(2o(TU9dY0QQ6Opc^#t|{}JsG=xs!!;cpRS+)jRK z>)&_R89xKa#qgZ2m;J>1II*`_X0K=T4pSRItd-lcT86KEcC%A^*WRf$iviW)KB7NX zg5?5aZfw=Zv>ud(w-L)Rd^OASEX{ej4?nN?)Oh@ZTrIl4U|$ZFtC%x1kFD_EK|Qx_ zACHFLry(N{ngb-1*M@|L9qZ?`HG4p_;?Jc;20eS!=;^ z-6A*jjUW9L@tcBJ`=DYccX~ZM8|&XDO+35+dQLo|5P3}@@&jnT8P_(0F(@AXI`SS} zw%}NoqNZJKWs`LdRnBrB?3=*TXOW$rjmyXfqK@&g_Dwu?@RQcC9t9gc8)kDvp9@s? z%yd0l7LQMhZ3~~975qAznWp?_-(vf2$Nk_pz0;cUsjff594W=V{eroI9X=+q4aBLe zIQaWvpDVsiq=$)ZTO8J6Ks4_z`m@lBaknkTCzev(I>x^(if4dg{3XQBMcrFa6U28F zJWUq)DUWX!^|9x&@p+mUYcTDwz#qVvH)6iWoX01|`}kYMJl+6))jRw@s8fb_-ly^d zHp=ad_U-QAdfrnB9)b$(j}WRMIoq8k?lG1weCedoMh2Q^X`E%!SB`1Z=vmS*L-Q;R zW~3c3(=^QR;SQLQW-trtQ>0NvQvyzEAKW0QH8Wff_OI}54W9R%3hAH{O(ESI(j%n* E2Wvu-@&Et; literal 0 HcmV?d00001 diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..59cb0aa --- /dev/null +++ b/src/App.vue @@ -0,0 +1,6 @@ + + + diff --git a/src/components/card/index.vue b/src/components/card/index.vue new file mode 100644 index 0000000..7d7a686 --- /dev/null +++ b/src/components/card/index.vue @@ -0,0 +1,88 @@ + + + diff --git a/src/components/result/index.vue b/src/components/result/index.vue new file mode 100644 index 0000000..0b0fd9d --- /dev/null +++ b/src/components/result/index.vue @@ -0,0 +1,83 @@ + + + diff --git a/src/components/thumbnail/index.vue b/src/components/thumbnail/index.vue new file mode 100644 index 0000000..2815888 --- /dev/null +++ b/src/components/thumbnail/index.vue @@ -0,0 +1,51 @@ + + + diff --git a/src/config/global.ts b/src/config/global.ts new file mode 100644 index 0000000..537adf6 --- /dev/null +++ b/src/config/global.ts @@ -0,0 +1,11 @@ +export const prefix = 'tdesign-pro'; +export const theme = 'light'; +// 登录方式设定,authenticationMethod取值有:smartProxy(走智能网关内网登录,要求.oa.co../.woa.co.. 等域名,且要求域名申请接入智能网关) +// customize(自定义登录,外网域名,统一重定向到登录页面) +// export const authenticationMethod = 'smartProxy'; +export const authenticationMethod = 'customize'; +export default { + prefix, + theme, + authenticationMethod, +}; diff --git a/src/config/proxy.ts b/src/config/proxy.ts new file mode 100644 index 0000000..42284bb --- /dev/null +++ b/src/config/proxy.ts @@ -0,0 +1,20 @@ +export default { + development: { + // 开发环境接口请求 + host: 'https://service-exndqyuk-1257786608.gz.apigw.tencentcs.com', + // 开发环境 cdn 路径 + cdn: '', + }, + test: { + // 测试环境接口地址 + host: 'https://service-exndqyuk-1257786608.gz.apigw.tencentcs.com', + // 测试环境 cdn 路径 + cdn: '', + }, + release: { + // 正式环境接口地址 + host: 'https://service-bv448zsw-1257786608.gz.apigw.tencentcs.com', + // 正式环境 cdn 路径 + cdn: '', + }, +}; diff --git a/src/config/routes.ts b/src/config/routes.ts new file mode 100644 index 0000000..d788c8f --- /dev/null +++ b/src/config/routes.ts @@ -0,0 +1,174 @@ +export default [ + { + path: '/dashboard', + icon: 'dashboard', + title: '仪表盘', + component: '../layouts/td-layout.tsx', + redirect: '/dashboard/base', + children: [ + { + title: '概览仪表盘', + path: 'base', + component: '../pages/dashboard/base/index.vue', + }, + { + title: '统计报表', + path: 'detail', + component: '../pages/dashboard/detail/index.vue', + }, + ], + }, + { + path: '/list', + icon: 'view-module', + title: '列表页', + component: '../layouts/td-layout.tsx', + redirect: '/list/base', + children: [ + { + title: '基础列表页', + path: 'base', + component: '../pages/list/base/index.vue', + }, + { + title: '卡片列表页', + path: 'card', + component: '../pages/list/card/index.vue', + }, + { + title: '筛选列表页', + path: 'select', + component: '../pages/list/select/index.vue', + }, + { + title: '树状筛选列表页', + path: 'tree', + component: '../pages/list/tree/index.vue', + }, + ], + }, + { + path: '/form', + icon: 'queue', + title: '表单页', + component: '../layouts/td-layout.tsx', + redirect: '/form/base', + children: [ + { + title: '基础表单页', + path: 'base', + component: '../pages/form/base/index.vue', + }, + { + title: '分步表单页', + path: 'step', + component: '../pages/form/step/index.vue', + }, + ], + }, + { + path: '/detail', + icon: 'layers', + title: '详情页', + component: '../layouts/td-layout.tsx', + redirect: '/detail/base', + children: [ + { + title: '基础详情页', + path: 'base', + component: '../pages/detail/base/index.vue', + // 默认不填,则需要每个页面都会经过登录的校验,若不需要进行登录校验则将needLogin:设为false + meta: { needLogin: false, title: '基础详情页' }, + }, + { + title: '多卡片详情页', + path: 'advanced', + component: '../pages/detail/advanced/index.vue', + }, + { + title: '数据详情页', + path: 'deploy', + component: '../pages/detail/deploy/index.vue', + }, + { + title: '二级详情页', + path: 'secondary', + component: '../pages/detail/secondary/index.vue', + }, + ], + }, + { + path: '/result', + icon: 'check-circle', + title: '结果页', + component: '../layouts/td-layout.tsx', + redirect: '/result/success', + children: [ + { + title: '成功页', + path: 'success', + component: '../pages/result/success/index.vue', + }, + { + title: '失败页', + path: 'fail', + component: '../pages/result/fail/index.vue', + }, + { + title: '网络异常', + path: 'network-error', + component: '../pages/result/network-error/index.vue', + }, + { + title: '无权限', + path: '403', + component: '../pages/result/403/index.vue', + }, + { + title: '访问页面不存在页', + path: '404', + component: '../pages/result/404/index.vue', + }, + { + title: '服务器出错页', + path: '500', + component: '../pages/result/500/index.vue', + }, + { + title: '浏览器不兼容页', + path: 'browser-incompatible', + component: '../pages/result/browser-incompatible/index.vue', + }, + ], + }, + { + path: '/user', + icon: 'user-circle', + title: '个人页', + component: '../layouts/td-layout.tsx', + redirect: '/user/index', + children: [ + { + title: '个人中心', + path: 'index', + component: '../pages/user/index.vue', + }, + ], + }, + // 自定义登录页面 + { + path: '/login', + title: '登录页', + component: '../layouts/blank.vue', + icon: 'chevron-right-rectangle', + redirect: '/login/index', + children: [ + { + title: '登录中心', + path: 'index', + meta: { needLogin: false }, + component: '../pages/login/index.vue', + }, + ], + }, +]; diff --git a/src/config/style.ts b/src/config/style.ts new file mode 100644 index 0000000..6d184d1 --- /dev/null +++ b/src/config/style.ts @@ -0,0 +1,12 @@ +export default { + showFooter: true, + isSidebarCompact: false, + showBreadcrumb: false, + theme: 'dark', + layout: 'side', + splitMenu: false, + isFooterAside: false, + isSidebarFixed: true, + isHeaderFixed: true, + showHeader: true, +}; diff --git a/src/constants/index.ts b/src/constants/index.ts new file mode 100644 index 0000000..18b4bbc --- /dev/null +++ b/src/constants/index.ts @@ -0,0 +1,35 @@ +// 合同状态枚举 +export const CONTRACT_STATUS = { + FAIL: 0, + AUDIT_PENDING: 1, + EXEC_PENDING: 2, + EXECUTING: 3, + FINISH: 4, +}; + +export const CONTRACT_STATUS_OPTIONS = [ + { value: CONTRACT_STATUS.FAIL, label: '审核失败' }, + { value: CONTRACT_STATUS.AUDIT_PENDING, label: '待审核' }, + { value: CONTRACT_STATUS.EXEC_PENDING, label: '待履行' }, + { value: CONTRACT_STATUS.EXECUTING, label: '审核成功' }, + { value: CONTRACT_STATUS.FINISH, label: '已完成' }, +]; + +// 合同类型枚举 +export const CONTRACT_TYPES = { + MAIN: 0, + SUB: 1, + SUPPLEMENT: 2, +}; + +export const CONTRACT_TYPE_OPTIONS = [ + { value: CONTRACT_TYPES.MAIN, label: '主合同' }, + { value: CONTRACT_TYPES.SUB, label: '子合同' }, + { value: CONTRACT_TYPES.SUPPLEMENT, label: '补充合同' }, +]; + +// 合同收付类型枚举 +export const CONTRACT_PAYMENT_TYPES = { + PAYMENT: 0, + RECIPT: 1, +}; diff --git a/src/pages/dashboard/base/index.less b/src/pages/dashboard/base/index.less new file mode 100644 index 0000000..0ad0f33 --- /dev/null +++ b/src/pages/dashboard/base/index.less @@ -0,0 +1,309 @@ +@import '@/style/index'; + +@media (max-width: @screen-md-max) { + .dashboard-panel .t-col-3 { + min-width: 50%; + &:first-child { + margin-bottom: 16px; + } + } + } + +.dashboard-panel .t-col { + .card-container { + margin: 0; + } +} +.t-tabs__content { + padding-top: @spacer-3; +} + +.dashboard-panel { + padding: 0; + border-radius: @border-radius; + + .card-container { + .card-content { + &-label-title { + color: @text-color-primary; + padding-bottom: 4px; + } + } + .t-table th, .t-table td { + padding: 10px 8px; + } + .t-table tr { + color: @text-color-primary; + } + } +} + + .dashboard-item-perfix { + margin-right: 0 !important; + } + + + .dashboard-item-bottom { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: flex-end; + + .dashboard-item-bottom-left { + display: flex; + flex-direction: row; + align-items:flex-start; + + &-unit { + font-size: 14px; + color: rgba(0,0,0,0.90); + padding-left: 4px; + padding-top: 17px; + } + + &-number { + display: inline-block; + color: black; + font-size: 36px; + line-height: 44px; + } + } + } + + .dashboard-item-bottom-right { + display: flex; + flex-direction: row; + justify-content: space-between; + height: 55px; + + .dashboard-item-bottom-emergency { + width: 96px; + height: 32px; + background: #FFE9E9; + border-radius: 16px; + font-size: 14px; + color: #E34D59; + display: flex; + align-items: center; + justify-content: center; + margin-top: 15px; + } + + .dashboard-item-bottom-right-top { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + + h1 { + font-size: 14px; + color: rgba(0,0,0,0.60); + padding-right: 8px; + } + div { + height: 24px; + // font-weight: bold; + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + padding-top: 14px; + + > span { + color: #00A870; + } + } + } + .dashboard-item-bottom-right-bottom { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + + h1 { + font-size: 14px; + color: rgba(0,0,0,0.60); + padding-right: 8px; + } + div { + height: 24px; + background: #FFE9E9; + border-radius: @border-radius; + color: #E34D59; + // font-weight: bold; + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + padding: 1px 8px; + + .t-icon-caret-up { + margin-left: 5px !important; + } + } + } + + } + + + +.dashboard-bottom { + margin-top: 16px; + display: flex; + flex-direction: row; + + // 左边图表 + .dashboard-bottom-left { + width: 100%; + height: 100%; + + .dashboard-bottom-left-top { + display: flex; + flex-direction: row; + width: 100%; + height: 100%; + + // 计量统计 + .dashboard-bottom-left-top-count-chart { + padding: 20px 24px; + background-color: white; + border-radius: @border-radius; + width: 100%; + min-width: 300px; + height: 320px; + } + // 动态监测 + .dashboard-bottom-left-top-monitor-chart { + padding: 20px 24px; + background-color: white; + border-radius: @border-radius; + margin-left: 16px; + width: 100%; + // min-width: 300px; + height: 320px; + + } + } + + // 出入库概览() + .dashboard-bottom-left-bottom { + background-color: white; + padding: 20px 24px; + border-radius: @border-radius; + margin-top: 16px; + width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + min-height: 366px; + } + } + + // 右边列表-实时热度趋势 + .dashboard-bottom-right { + padding: 20px 24px; + background-color: white; + border-radius: @border-radius; + margin-left: 16px; + width: 426px; + min-height: 690px; + + ul { + padding-top: 16px; + + li { + .dashboard-chart-tend-item-title { + color: grey !important; + } + + .dashboard-chart-tend-sep { + padding: 0 0 17px 0 !important; + } + + .dashboard-chart-tend-item-line { + border-bottom: solid 1px #dedede; + padding: 9px 0; + } + + .dashboard-chart-tend-item { + display: flex; + flex-direction: row; + justify-content: space-between; + + .dashboard-chart-tend-left { + display: flex; + flex-direction: row; + .dashboard-chart-tend-num { + width: 48px; + } + + .dashboard-chart-tend-rante { + width: 48px; + } + } + } + } + } + } +} + +// 标题内容 +.dashboard-chart-title { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + font-weight: bold; + + &-describe { + font-size: 14px !important; + color: rgba(0,0,0,0.60) !important; + text-align: left; + line-height: 22px; + } + &-container { + .t-date-picker { + width: 240px; + } + } + + span { + font-size: 16px; + color: rgba(0,0,0,0.90); + overflow: hidden; + text-overflow: ellipsis; + } + + .dashboard-chart-title-search { + display: flex; + flex-direction: row; + border: 1px solid #DDDDDD; + border-radius: @border-radius; + padding: 0; + align-items: center; + justify-content: center; + font-weight: normal; + + input { + border: solid 0px #ffffff !important; + } + } + + label { + font-weight: normal !important; + padding: 5px 15px !important; + + .t-radio-button__label { + font-size: 10px !important; + } + } +} +.dashboard-chart-container { + margin: 0 auto; +} + +.dashboard-item-block { + display: flex; + align-items: center; + justify-content: center; +} diff --git a/src/pages/dashboard/base/index.ts b/src/pages/dashboard/base/index.ts new file mode 100644 index 0000000..edaa17c --- /dev/null +++ b/src/pages/dashboard/base/index.ts @@ -0,0 +1,270 @@ +import dayjs from 'dayjs'; + +export class DashboardBase { + /** 更新容器尺寸 */ + setContainerSize(containerCopyValue: HTMLElement, absWidth = 0, absHeight = 0): void { + const container = containerCopyValue; + try { + if (container && container.style && container.parentElement) { + container.style.width = `${container.parentElement.clientWidth - absWidth}px`; + container.style.height = `${container.parentElement.clientHeight - absHeight}px`; + } + } catch (error) { + // hook + } + } +} + +/** + * 获取随机数 + * + * @param {number} [num=100] + * @returns + * + * @memberOf DashboardBase + */ +export function getRandomNum(num = 100): number { + let resultNum = Number((Math.random() * num).toFixed(0)); + + if (resultNum <= 1) { + resultNum = 1; + } + + return resultNum; +} + +/** 柱状图数据源 */ +export function constructInitDataset(dateTime: Array = []) { + const dataset: Array> = [['时间'], ['入库'], ['出库']]; + const divideNum = 10; + + for (let i = 0; i < divideNum; i++) { + const [timeArray, inArray, outArray] = dataset; + if (dateTime.length > 0) { + const dateAbsTime: number = (new Date(dateTime[1]).getTime() - new Date(dateTime[0]).getTime()) / divideNum; + const enhandTime: number = new Date(dateTime[0]).getTime() + dateAbsTime * i; + // console.log('dateAbsTime..', dateAbsTime, enhandTime); + timeArray.push(dayjs(enhandTime).format('YYYY-MM-DD')); + } else { + timeArray.push( + dayjs() + .subtract(divideNum - i, 'day') + .format('YYYY-MM-DD'), + ); + } + + inArray.push(getRandomNum().toString()); + outArray.push(getRandomNum().toString()); + } + return dataset; +} + +/** + * 线性图表数据源 + * + * @export + * @param {Array} [dateTime=[]] + * @returns {*} + */ +export function getLineChartDataSet(dateTime: Array = []): any { + if (dateTime.length > 0) { + const devideNum = 10; + const dateArray: Array = getDateArray(dateTime, devideNum); + return [ + dateArray, + getSelftItemList('杯子', devideNum), + getSelftItemList('茶叶', devideNum), + getSelftItemList('蜂蜜', devideNum), + getSelftItemList('面粉', devideNum), + ]; + } + return [ + [ + '日期', + '2020-01-16', + '2020-01-17', + '2020-01-18', + '2020-01-19', + '2020-01-20', + '2020-01-21', + '2020-01-22', + '2020-01-23', + '2020-01-24', + '2020-01-25', + ], + ['杯子', 5, 15, 15, 25, 24, 13, 32, 37, 43, 35], + ['茶叶', 1, 6, 13, 38, 39, 44, 48, 75, 62, 52], + ['蜂蜜', 16, 22, 27, 22, 32, 35, 23, 32, 33, 25], + ['面粉', 12, 12, 25, 29, 21, 30, 37, 47, 40, 47], + ]; +} +/** 图表颜色 */ +export const chartListColor: Array = ['#0052D9', '#00A870', '#7D46BD', '#0594FA', '#ED7B2F']; + +/** + * 获取表头数据 + * + * @export + * @param {string[]} dateTime + * @param {number} divideNum + * @returns {string[]} + */ +export function getDateArray(dateTime: string[] = [], divideNum = 10): string[] { + const timeArray: string[] = ['日期']; + if (dateTime.length > 0) { + for (let i = 0; i < divideNum; i++) { + const dateAbsTime: number = (new Date(dateTime[1]).getTime() - new Date(dateTime[0]).getTime()) / divideNum; + const enhandTime: number = new Date(dateTime[0]).getTime() + dateAbsTime * i; + timeArray.push(dayjs(enhandTime).format('YYYY-MM-DD')); + } + } + + return timeArray; +} + +/** + * 获取表行数据 + * + * @export + * @param {string} productName + * @param {number} devideNum + */ +export function getSelftItemList(productName: string, devideNum: number): string[] { + const productArray: string[] = [productName]; + for (let i = 0; i < devideNum; i++) { + productArray.push(getRandomNum(100 * i).toString()); + } + + return productArray; +} + +/** + * 散点图数据 + * + * @export + * @returns {any[]} + */ +export function getScattlerDataSet(): any[] { + const scatterData = [...Array(40)].map(() => [ + getRandomNum(Math.random() * 100), + getRandomNum(Math.random() * 200), + getRandomNum(Math.random() * 30), + getRandomNum(Math.random() * 400), + ]); + + return [ + ['咖啡机质量', '咖啡机效果', '按摩仪质量', '按摩仪效果'], + [getRandomNum(100), getRandomNum(200), getRandomNum(100), getRandomNum(500)], + ...scatterData, + ]; +} + +/** + * 获域图数据结构 + * + * @export + * @returns {any[]} + */ +export function getAreaChartDataSet(text = ''): any { + return { + title: { + text, + }, + dataset: [ + ['时间', '00:00', '02:00', '04:00', '06:00', '08:00'], + [ + '测试', + getRandomNum(Math.random() * 100), + getRandomNum(Math.random() * 200), + getRandomNum(Math.random() * 300), + getRandomNum(Math.random() * 400), + getRandomNum(Math.random() * 500), + ], + [ + '上线', + getRandomNum(Math.random() * 100), + getRandomNum(Math.random() * 200), + getRandomNum(Math.random() * 300), + getRandomNum(Math.random() * 400), + getRandomNum(Math.random() * 500), + ], + ], + area: { + smooth: true, + }, + injectOption: (option) => ({ ...option, color: chartListColor }), + }; +} + +/** + * 柱状图数据结构 + * + * @export + * @param {boolean} [isMonth=false] + * @returns {*} + */ +export function getColumnChartDataSet(isMonth = false): any { + if (isMonth) { + return { + title: { + text: '', + }, + dataset: [ + ['日期', '1', '4', '8', '12', '16', '20', '24'], + [ + '告警', + getRandomNum(Math.random() * 800), + getRandomNum(Math.random() * 700), + getRandomNum(Math.random() * 600), + getRandomNum(Math.random() * 500), + getRandomNum(Math.random() * 400), + getRandomNum(Math.random() * 300), + getRandomNum(Math.random() * 100), + ], + ], + injectOption: (option) => ({ ...option, color: chartListColor }), + }; + } + return { + title: { + text: '', + }, + dataset: [ + ['时间', '周一', '周二', '周三', '周四', '周五', '周六', '周日'], + [ + '告警', + getRandomNum(Math.random() * 200), + getRandomNum(Math.random() * 300), + getRandomNum(Math.random() * 600), + getRandomNum(Math.random() * 500), + getRandomNum(Math.random() * 100), + getRandomNum(Math.random() * 300), + getRandomNum(Math.random() * 100), + ], + ], + injectOption: (option) => ({ ...option, color: chartListColor }), + }; +} + +/** + * 获取饼图数据 + * + * @export + * @param {number} [radius=1] + * @returns {*} + */ +export function getPieChartDataSet(radius = 42): any { + return { + title: { + text: '', + }, + dataset: [ + ['状态', '审核中', '待履行', '履行中', '已完成'], + ['数量', 67, 45, radius, 36], + ], + injectOption: (option) => ({ ...option, color: chartListColor }), + pie: { + radius: ['45%', '60%'], // 设置内圆和外圆半径 + }, + }; +} diff --git a/src/pages/dashboard/detail/index.less b/src/pages/dashboard/detail/index.less new file mode 100644 index 0000000..a188fd5 --- /dev/null +++ b/src/pages/dashboard/detail/index.less @@ -0,0 +1,147 @@ +@import '@/style/index'; +.t-tabs__content { + padding-top: @spacer-3; +} + +.dashboard-panel-detail { + padding: 0; + border-radius: @border-radius; + } + +// 标题内容 +.dashboard-chart-title { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + font-weight: bold; + + span { + font-size: 16px; + color: rgba(0,0,0,0.90); + overflow: hidden; + text-overflow: ellipsis; + } + + .dashboard-chart-title-date { + display: flex; + flex-direction: row; + border: 1px solid #DDDDDD; + border-radius: @border-radius; + padding: 5px 8px; + align-items: center; + justify-content: center; + font-weight: normal; + + .dashboard-chart-title-to { + color: rgba(0,0,0,0.30); + padding: 0 10px; + } + + .t-icon-creditcard { + margin-left: 20px !important; + } + } + + .dashboard-chart-title-search { + display: flex; + flex-direction: row; + border: 1px solid #DDDDDD; + border-radius: @border-radius; + padding: 0; + align-items: center; + justify-content: center; + font-weight: normal; + + input { + border: solid 0px #ffffff !important; + } + } + + label { + font-weight: normal !important; + padding: 5px 15px !important; + + .t-radio-button__label { + font-size: 10px !important; + } + } +} + + +.dashboard-detail-top-container { + padding: 20px 24px; + background-color: white; + border-radius: @border-radius; + + .dashboard-detail-box { + .dashboard-detail-container-item:not(:last-child) { + border-right: solid 1px #EBEBEB; + margin-right: 22.5px; + } + @media screen and (min-width: @screen-md-max) { + .dashboard-detail-container-item-perfix { + border-right: solid 1px #EBEBEB; + margin-right: 22.5px; + } + display: flex; + } + @media screen and (max-width: @screen-md-max - 1px) and (min-width: 0) { + display: normal; + } + } + .dashboard-detail-container { + display: flex; + flex: 1; + flex-direction: row; + padding-top: 20px; + + .dashboard-detail-container-item { + min-width: 108px; + width: 100%; + height: 106px; + + span { + font-size: 14px; + color: rgba(0,0,0,0.60); + } + + h1 { + font-size: 36px; + color: rgba(0,0,0,0.90); + font-weight: 500; + padding-top: 8px; + + span { + font-size: 14px; + color: rgba(0,0,0,0.30); + padding-left: 8px; + } + } + + .dashboard-detail-container-item-text { + // color: #E34D59; + display: flex; + flex-direction: row; + align-items: center; + justify-items: center; + font-size: 12px; + color: rgba(0,0,0,0.40); + text-align: left; + line-height: 20px; + } + } + } +} + +.dashboard-detail-bottom-container { + padding: 20px 24px; + background-color: white; + border-radius: @border-radius; + margin-top: 16px; + min-height: 400px; + + .dashboard-chart-title-container { + width: 240px; + } +} diff --git a/src/pages/detail/advanced/index.less b/src/pages/detail/advanced/index.less new file mode 100644 index 0000000..22dc4c3 --- /dev/null +++ b/src/pages/detail/advanced/index.less @@ -0,0 +1,176 @@ +@import '@/style/index'; +.t-tabs__content { + padding-top: @spacer-3; +} +.t-layout--content-replace { + color: rgba(0, 0, 0, 0.6) !important; +} + +.row-padding { + padding-top: 30px; + padding-left: 20px; +} +.operater-block-container { + padding: 10px 0 30px; +} +.operater-add { + width: 100%; + height: 210px; + display: flex; + align-items: center; + justify-items: center; + padding: 20px 10px 24px 20px; + border: dashed 1px #dedede; + + .operater-sub { + font-size: 14px; + color: @text-color-secondary; + margin: 0 auto; + text-align: center; + line-height: 22px; + display: flex; + align-items: center; + cursor: pointer; + .t-icon { + color: @brand-color-8; + } + } + + span { + padding-left: 10px; + } +} + +.operater-gap { + margin-left: 20px; +} + +.operater-block { + background-color: #EBEDF1; + padding: 20px 10px 24px 20px; + height: 210px; + + .operater-title { + display: flex; + align-items: center; + margin-bottom: 25px; + + h1 { + display: inline-block; + padding-left: 20px; + font-weight: bold; + font-size: 14px; + } + } + .operater-item { + padding-left: 48px; + padding-top: 8px; + padding-bottom: 8px; + display: flex; + h1 { + display: inline-block; + width: 136px; + text-align: left; + font-size: 14px; + color: rgba(0,0,0,0.60); + } + span { + width: 100%; + } + } +} + +.@{prefix} { + &-panel { + background-color: white; + padding: @spacer-3; + border-radius: @border-radius; + margin-top: 16px; + } + + &-search-input { + width: 360px; + margin-right: 8px; + } + + &-operater-row { + margin-bottom: 12px; + } + + &-operater-title { + font-size: 16px; + color: rgba(0, 0, 0, 0.9); + font-weight: bold; + } + + &-operater-label { + color: #000; + padding-left: 112px; + } +} + +.info-block { + column-count: 2; + + .info-item { + padding: 12px 0; + display: flex; + + h1 { + width: 84px; + font-family: PingFangSC-Regular; + font-size: 14px; + color: @text-color-secondary; + text-align: left; + line-height: 22px; + } + span { + margin-left: 24px; + } + i { + display: inline-block; + width: 8px; + height: 8px; + border-radius: @border-radius-50; + background: @success-color-5; + } + .inProgress { + color: @success-color-5; + } + .pdf { + color: @brand-color-8; + } + } +} +.dialog-info-block { + + .info-item { + padding: 12px 0; + display: flex; + + h1 { + width: 84px; + font-family: PingFangSC-Regular; + font-size: 14px; + color: @text-color-secondary; + text-align: left; + line-height: 22px; + } + span { + margin-left: 24px; + } + i { + display: inline-block; + width: 8px; + height: 8px; + border-radius: @border-radius-50; + background: @success-color-5; + } + .green { + color: @success-color-5; + } + .blue { + color: @brand-color-8; + } + } +} diff --git a/src/pages/detail/advanced/index.vue b/src/pages/detail/advanced/index.vue new file mode 100644 index 0000000..0b996d8 --- /dev/null +++ b/src/pages/detail/advanced/index.vue @@ -0,0 +1,285 @@ + + + diff --git a/src/pages/detail/base/index.less b/src/pages/detail/base/index.less new file mode 100644 index 0000000..06b11e6 --- /dev/null +++ b/src/pages/detail/base/index.less @@ -0,0 +1,57 @@ +@import '@/style/index'; +.t-tabs__content { + padding-top: @spacer-3; +} + +.@{prefix} { + &-panel { + background-color: white; + padding: @spacer-3; + border-radius: @border-radius; + } + + &-operater-row { + margin-bottom: 12px; + } + + &-operater-title { + font-size: 16px; + color: @text-color-primary; + font-family: PingFangSC-Medium; + } +} + +.info-block { + column-count: 2; + + .info-item { + padding: 12px 0; + display: flex; + + h1 { + font-weight: normal; + width: 84px; + font-family: PingFangSC-Regular; + font-size: 14px; + color: @text-color-secondary; + text-align: left; + line-height: 22px; + } + span { + margin-left: 24px; + } + i { + display: inline-block; + width: 8px; + height: 8px; + border-radius: @border-radius-50; + background: @success-color-5; + } + .inProgress { + color: @success-color-5; + } + .pdf { + color: @brand-color-8; + } + } +} \ No newline at end of file diff --git a/src/pages/detail/base/index.vue b/src/pages/detail/base/index.vue new file mode 100644 index 0000000..d928488 --- /dev/null +++ b/src/pages/detail/base/index.vue @@ -0,0 +1,84 @@ + + + diff --git a/src/pages/detail/secondary/index.less b/src/pages/detail/secondary/index.less new file mode 100644 index 0000000..8014358 --- /dev/null +++ b/src/pages/detail/secondary/index.less @@ -0,0 +1,64 @@ +@import '@/style/variables.less'; + +.secondary-notification { + background-color: white; + border-radius: @border-radius; + margin-top: 16px; + + .t-tabs__content { + padding-top: 0; + } +} +.secondary-msg-list { + min-height: 443px; + max-height: calc(100vh - 400px); + + .t-list-item { + cursor: pointer; + + &:hover { + background-color: @bg-color-container-hover; + .msg-date { + display: none; + } + .msg-action { + display: flex; + align-items: center; + + &-icon { + display: flex; + align-items: center; + } + } + } + } + .content { + font-family: PingFangSC-Medium; + font-size: 14px; + color:@text-color-placeholder; + text-align: left; + line-height: 22px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + + span { + font-family: PingFangSC-Regular; + } + } + .unread { + color: @brand-color-8; + } + .msg-action { + display: none; + + .set-read-icon { + margin-right: 24px; + } + } + &__empty-list { + min-height: 443px; + padding-top: 170px; + text-align: center; + } +} diff --git a/src/pages/detail/secondary/index.vue b/src/pages/detail/secondary/index.vue new file mode 100644 index 0000000..d30d846 --- /dev/null +++ b/src/pages/detail/secondary/index.vue @@ -0,0 +1,276 @@ + + diff --git a/src/pages/form/base/index.less b/src/pages/form/base/index.less new file mode 100644 index 0000000..2b390e3 --- /dev/null +++ b/src/pages/form/base/index.less @@ -0,0 +1,29 @@ +@import '@/style/index'; +.t-tabs__content { + padding-top: @spacer-3; +} + +.@{prefix} { + &-panel { + background-color: white; + padding: @spacer-3; + border-radius: @border-radius; + + .base-form { + .t-form__label { + min-width: 108px; + } + } + } + &-form { + padding-right: 50px; + padding-top: 30px; + border-top: solid 1px #EEEEEE; + } +} +.upload-tips { + margin-left: 16px; + font-size: 12px; + color: @text-level-2-color; + line-height: 20px; +} diff --git a/src/pages/form/step/index.less b/src/pages/form/step/index.less new file mode 100644 index 0000000..6e7e797 --- /dev/null +++ b/src/pages/form/step/index.less @@ -0,0 +1,62 @@ +@import '@/style/index'; +.t-tabs__content { + padding-top: @spacer-3; +} + +.@{prefix} { + &-panel { + background-color: white; + + &.@{prefix}-step-panel { + padding: 0; + } + } + &-step { + padding: 14px 0 24px 0; + } + &-form { + padding-right: 50px; + padding-top: 30px; + border-top: solid 1px #eeeeee; + } +} + +.rule-tips { + padding: 24px 24px 0 24px; +} + +.step-top { + padding: 24px; + border-bottom: #eeeeee solid 1px; +} + +.step-form { + padding: 24px; + + .t-form__label { + min-width: 108px; + } +} + +.step-form-4 { + height: 365px; + margin-top: 72px; + text-align: center; + + .t-icon { + margin: 6px; + } + .text { + margin: 16px 0 8px 0; + font-weight: bold; + font-size: 20px; + color: @text-level-1-color; + line-height: 30px; + } + .tips { + margin-bottom: 24px; + font-size: 14px; + color: @text-level-2-color; + line-height: 22px; + } +} diff --git a/src/pages/form/step/index.vue b/src/pages/form/step/index.vue new file mode 100644 index 0000000..60c50e6 --- /dev/null +++ b/src/pages/form/step/index.vue @@ -0,0 +1,420 @@ + + + diff --git a/src/pages/list/select/index.vue b/src/pages/list/select/index.vue new file mode 100644 index 0000000..08b195f --- /dev/null +++ b/src/pages/list/select/index.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/pages/login/index.less b/src/pages/login/index.less new file mode 100644 index 0000000..162e602 --- /dev/null +++ b/src/pages/login/index.less @@ -0,0 +1,247 @@ +@import '@/style/index'; +.login-wrapper { + width: 100%; + height: 100%; + background-image: url(https://tdesign.gtimg.com/pro-template/login-bg-img.jpg); + background-size: cover; + background-position: 50%; + position: relative; +} +.login-container { + position: absolute; + top: 28%; + left: 12%; + min-height: 500px; + line-height: 22px; +} +.title-container { + .icon { + width: 290px; + height: 60px; + } + .side-title { + margin-top: 24.9px; + .tip1, .tip2 { + display: inline-block; + margin-right: 8px; + } + .tip1 { + font-size: 14px; + color: rgba(0,0,0,0.60); + } + .tip2 { + font-size: 14px; + color: @brand-color-8; + cursor: pointer; + } + } +} + +.login-step1 { + .input-container { + margin-top: 72px; + + .t-input { + display: block; + } + .t-popup-reference { + margin: 24px 0; + } + } + .check-container { + .t-checkbox__label { + color: @text-color-secondary; + span { + color: @brand-color-8; + } + } + } +} +.login-step3 { + .input-container { + margin-top: 34px; + } +} +.input-container { + .tip-container { + margin-bottom: 16px; + .tip1 { + font-size: 14px; + color: rgba(0,0,0,0.60); + } + .tip2 { + float: right; + font-size: 14px; + color: @brand-color-8; + + .t-icon { + height: 20px; + vertical-align: text-bottom; + } + } + } + .button-container { + margin-top: 16px; + } + .check-container { + font-size: 14px; + color: rgba(0,0,0,0.60); + + .tip { + float: right; + font-size: 14px; + color: @brand-color-8; + } + } +} + +.login-step1 { + .bottom-container { + margin-top: 72px; + } +} +.login-step3 { + .bottom-container { + margin-top: 32px; + } + .input-container .tip-container { + width: 192px; + } +} +.login-step2 { + .input-container { + margin-top: 108.9px; + .tip1 { + cursor: pointer; + } + } +} +.bottom-container { + margin-top: 66px; + .tip { + font-size: 14px; + color: @brand-color-8; + cursor: pointer; + } + i { + font-style: normal; + color: @gray-color-3; + margin: 0 14px; + } + +} +.rex-check { + font-family: PingFangSC-Regular; + font-size: 14px; + color: @text-color-placeholder; + line-height: 22px; +} +.format-correct { + color: @text-color-primary; + + .t-icon { + color: @success-color-5; + } +} + +.login-step4 { + .input-container { + margin-top: 64px; + + .t-input { + display: block; + } + .t-popup-reference { + margin: 24px 0; + } + .verification-code { + margin-bottom: 24px; + + .t-input { + display: inline-block; + } + button { + width: 102px; + height: 40px; + margin-left: 11px; + } + } + } + .bottom-container { + margin-top: 66px; + } + .check-container { + .t-checkbox__label { + color: @text-color-secondary; + + span { + color: @brand-color-8; + } + } + } +} + +.login-step5 { + .input-container { + margin-top: 64px; + + .t-input { + display: block; + } + .t-popup-reference { + margin: 24px 0; + } + .t-select-popup-reference { + margin: 0; + } + } + .bottom-container { + margin-top: 66px; + } + .check-container { + .t-checkbox__label { + color: @text-color-secondary; + + span { + color: @brand-color-8; + } + } + } +} + +.login-step6 { + .input-container { + margin-top: 64px; + + .t-input { + display: block; + } + .t-popup-reference { + margin: 24px 0; + } + .verification-code { + margin: 24px 0; + + .t-input { + display: inline-block; + } + button { + width: 102px; + height: 40px; + margin-left: 11px; + } + } + } + .bottom-container { + margin-top: 66px; + } + .check-container { + .t-checkbox__label { + color: @text-color-secondary; + + span { + color: @brand-color-8; + } + } + } +} \ No newline at end of file diff --git a/src/pages/result/403/index.vue b/src/pages/result/403/index.vue new file mode 100644 index 0000000..ac93963 --- /dev/null +++ b/src/pages/result/403/index.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/pages/result/404/index.vue b/src/pages/result/404/index.vue new file mode 100644 index 0000000..4d07692 --- /dev/null +++ b/src/pages/result/404/index.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/pages/result/500/index.vue b/src/pages/result/500/index.vue new file mode 100644 index 0000000..809148b --- /dev/null +++ b/src/pages/result/500/index.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/pages/result/browser-incompatible/index.vue b/src/pages/result/browser-incompatible/index.vue new file mode 100644 index 0000000..2f315bb --- /dev/null +++ b/src/pages/result/browser-incompatible/index.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/pages/result/fail/index.vue b/src/pages/result/fail/index.vue new file mode 100644 index 0000000..9e4fa96 --- /dev/null +++ b/src/pages/result/fail/index.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/pages/result/network-error/index.vue b/src/pages/result/network-error/index.vue new file mode 100644 index 0000000..96fa1e2 --- /dev/null +++ b/src/pages/result/network-error/index.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/pages/result/success/index.vue b/src/pages/result/success/index.vue new file mode 100644 index 0000000..e0d8665 --- /dev/null +++ b/src/pages/result/success/index.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/src/pages/user/index.less b/src/pages/user/index.less new file mode 100644 index 0000000..aa95d03 --- /dev/null +++ b/src/pages/user/index.less @@ -0,0 +1,298 @@ +@import '@/style/index'; +.user-panel { + + @media (max-width: @screen-sm-max) { + .user-right { + min-width: 100%; + } + } + + @media (min-width: @screen-md-min) { + .user-right { + min-width: 33.33%; + } + } + .user-right { + transition: width .3s linear; + &-greeting { + margin-bottom: 16px; + background: #fff; + border-radius: @border-radius; + } + &-trend { + margin-bottom: 16px; + background: #fff; + border-radius: @border-radius; + } + &-todo { + margin-bottom: 16px; + background: #fff; + border-radius: @border-radius; + } + } + .head-bar { + display: flex; + justify-content: space-between; + margin-bottom: 8px; + + .title { + line-height: 24px; + font-family: PingFangSC-Medium; + font-size: 16px; + color: @text-level-1-color; + text-align: left; + } + .more { + display: flex; + align-items: center; + justify-content: center; + line-height: 22px; + font-family: PingFangSC-Regular; + font-size: 14px; + color: @text-level-1-color; + cursor: pointer; + + .t-icon { + vertical-align: bottom; + font-size: 20px; + } + &:hover { + color: @brand-color-8; + } + } + } + + .user-left { + .user-top { + padding: 24px; + margin: 0 16px 16px 0; + background: #fff; + border-radius: @border-radius; + + .account { + text-align: center; + margin-bottom: 48px; + color: @text-level-1-color; + + .img { + display: block; + width: 122px; + height: 122px; + border-radius: @border-radius-50; + background: #EBEDF1; + margin-top: 16px; + margin-left: 50%; + transform: translateX(-50%); + } + .name { + line-height: 37px; + font-family: PingFangSC-Semibold; + font-size: 26px; + margin-top: 16px; + } + .position { + line-height: 24px; + font-family: PingFangSC-Regular; + font-size: 14px; + margin-top: 8px; + } + } + .user-info { + line-height: 24px; + font-family: PingFangSC-Regular; + font-size: 14px; + color: @text-level-1-color; + .hiredate, .del, .mail { + display: flex; + } + .t-icon { + height: 24px; + margin-right: 8px; + } + .del { + margin: 16px 0; + } + } + } + .user-bottom { + padding: 24px 24px 0 24px; + margin: 0 16px 16px 0; + background: #fff; + border-radius: @border-radius; + + .t-list-item { + height: 64px; + min-width: 230px; + margin: 8px 0 16px 0; + background: #F3F3F3; + border-radius: @border-radius; + + .t-list-item__meta-avatar { + height: 32px; + width: 32px; + margin: auto; + } + .t-list-item__meta-content { + line-height: 22px; + margin-left: 10px; + padding: 5px 0; + } + .t-list-item__meta-title { + display: inline-block; + margin: 0 7px 0 0; + } + .t-list-item__meta-description { + display: inline-block; + color: @text-color-secondary; + font-size: 12px; + } + .t-list-item__action { + li { + margin-right: 16px; + cursor: pointer; + } + .t-icon { + color: @text-level-1-color; + + &:hover { + color: @brand-color-8; + } + } + } + } + } + } + .user-right { + .user-top { + .user-right-greeting { + padding: 24px; + line-height: 28px; + font-family: PingFangSC-Semibold; + font-size: 20px; + color: @text-level-1-color; + text-align: left; + .regular { + vertical-align: bottom; + font-family: PingFangSC-Regular; + font-size: 14px; + } + } + .user-right-trend { + padding: 24px; + + .t-list-item { + padding: 8px 0; + cursor: pointer; + + .text { + display: flex; + line-height: 20px; + font-family: PingFangSC-Regular; + font-size: 14px; + color: @text-level-1-color; + + .t-icon { + margin-right: 8px; + height: 20px; + font-size: 16px; + color: @text-level-3-color; + } + p { + display: inline-block; + } + } + .t-list-item__action { + line-height: 20px; + font-family: PingFangSC-Regular; + font-size: 12px; + color: @text-level-2-color; + } + &:hover { + .text { + color: @brand-color-8; + + .t-icon { + color: @brand-color-8; + } + } + } + } + .t-list-item:last-child { + padding-bottom: 0; + } + } + .user-right-todo { + padding: 24px; + + .empty-list { + margin-top: 18px; + line-height: 20px; + font-family: PingFangSC-Regular; + font-size: 14px; + color: @text-level-3-color; + text-align: center; + + img { + margin-bottom: 2px; + width: 42px; + } + } + } + } + .user-bottom { + padding: 24px; + background: #fff; + border-radius: @border-radius; + + .contract { + width: 340px; + height: 88px; + border-radius: @border-radius; + margin: 8px 0; + cursor: pointer; + + &-type { + position: relative; + float: left; + margin: 13px 16px; + + img { + width: 64px; + height: 64px; + } + } + &-title { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + line-height: 24px; + margin: 20px 0 6px 0; + font-family: PingFangSC-Medium; + font-size: 16px; + color: @text-level-1-color; + } + &-date { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + line-height: 22px; + font-family: PingFangSC-Regular; + font-size: 14px; + color: @text-level-3-color; + } + &:hover { + background: #f7f7f7; + } + } + .contract:last-child, + .contract:nth-last-child(2) { + margin-bottom: 0; + } + } + } + .user-bottom .user-right{ + height: 447px; + background: #fff; + border-radius: @border-radius; + } +} diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..4569f35 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,47 @@ +import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router' +import routeConfig from '@/config/routes'; + +const layoutModules = import.meta.glob('../layouts/*'); +const pagesModules = import.meta.glob('../pages/**/*.vue'); +const fristPagesModules = import.meta.glob('../pages/*.vue'); + +const modules = Object.assign({}, layoutModules, fristPagesModules, pagesModules); + +const getMenuRoutes = (list) => { + if (!list) { + return []; + } + return list.map((item) => { + const { path = '', component, meta = { title: item.title }, redirect = '' } = item; + return { + path, + component: modules[component], + children: getMenuRoutes(item.children), + meta, + redirect, + }; + }); +}; + +const routes: Array = [ + ...getMenuRoutes(routeConfig), + { + path: '', + redirect: '/dashboard/base', + component: () => import('@/pages/dashboard/base/index.vue'), + }, +]; + +const router = createRouter({ + history: createWebHistory(''), + routes, + scrollBehavior(to, from, savedPosition) { + return { + el: '#app', + top: 0, + behavior: 'smooth', + } + }, +}) +export default router + diff --git a/src/shims-vue.d.ts b/src/shims-vue.d.ts new file mode 100644 index 0000000..c458ab5 --- /dev/null +++ b/src/shims-vue.d.ts @@ -0,0 +1,6 @@ +declare module '*.vue' { + import { DefineComponent } from 'vue' + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types + const component: DefineComponent<{}, {}, any> + export default component +} diff --git a/src/store/index.ts b/src/store/index.ts new file mode 100644 index 0000000..9118eb2 --- /dev/null +++ b/src/store/index.ts @@ -0,0 +1,20 @@ +import { InjectionKey } from 'vue' +import { createStore, Store } from 'vuex' +import user from './modules/user'; +import notification from './modules/notification'; +import setting from './modules/setting'; +export interface State { + count: number +} + +export const key: InjectionKey> = Symbol() + +export const store = createStore({ + modules: { + user, + setting, + notification, + }, +}) + +export default store; diff --git a/src/store/modules/notification.ts b/src/store/modules/notification.ts new file mode 100644 index 0000000..13e753f --- /dev/null +++ b/src/store/modules/notification.ts @@ -0,0 +1,68 @@ +// 定义的state初始值 +const state = { + msgData: [ + { + id: '123', + content: '腾讯大厦一楼改造施工项目 已通过审核!', + type: '合同动态', + status: true, + date: '2021-01-01 08:00', + }, + { + id: '124', + content: '三季度生产原材料采购项目 开票成功!', + type: '票务动态', + status: true, + date: '2021-01-01 08:00', + }, + { + id: '125', + content: '2021-01-01 10:00的【国家电网线下签约】会议即将开始,请提前10分钟前往 会议室1 进行签到!', + type: '会议通知', + status: true, + date: '2021-01-01 08:00', + }, + { + id: '126', + content: '一季度生产原材料采购项目 开票成功!', + type: '票务动态', + status: true, + date: '2021-01-01 08:00', + }, + { + id: '127', + content: '二季度生产原材料采购项目 开票成功!', + type: '票务动态', + status: true, + date: '2021-01-01 08:00', + }, + { + id: '128', + content: '三季度生产原材料采购项目 开票成功!', + type: '票务动态', + status: true, + date: '2021-01-01 08:00', + }, + ], +}; + +const mutations = { + setMsgData(state, data) { + state.msgData = data; + }, +}; + +const getters = { + unreadMsg: (state) => state.msgData.filter((item) => item.status), + readMsg: (state) => state.msgData.filter((item) => !item.status), +}; + +const actions = {}; + +export default { + namespaced: true, + state, + mutations, + actions, + getters, +}; diff --git a/src/style/font-family.less b/src/style/font-family.less new file mode 100644 index 0000000..c677a52 --- /dev/null +++ b/src/style/font-family.less @@ -0,0 +1,6 @@ +@font-face { + font-family: "TencentSansW7"; + src: url("data:application/font-woff;charset=utf-8;base64,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") format("woff"); + font-weight: normal; + font-style: normal; + } \ No newline at end of file diff --git a/src/style/index.less b/src/style/index.less new file mode 100644 index 0000000..6554dc3 --- /dev/null +++ b/src/style/index.less @@ -0,0 +1,167 @@ +@import "./common.less"; +@import "./variables.less"; +@import "./rewrite.less"; +@import "./font-family.less"; +@import "./sidenav.less"; + +body { + color: @text-level-2-color; + font-family: -apple-system, BlinkMacSystemFont, @font-family; + font-size: @font-size-base; + line-height: 1.5; + -webkit-font-smoothing: antialiased; + padding: 0; + min-width: @screen-sm-min; + } + pre { + font-family: @font-family; + } + + ul, + dl, + li, + dd, + dt { + margin: 0; + padding: 0; + list-style: none; + } + + figure, + h1, + h2, + h3, + h4, + h5, + h6, + p { + margin-top: 0; + margin-bottom: 0; + margin: 0; + } + + * { + box-sizing: border-box; + } + + .@{prefix}-text-ellipsis { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + .@{prefix}-text-tip { + font-size: 12px; + color: @text-level-3-color; + } + + .@{prefix}-pic { + background-position: center; + background-repeat: no-repeat; + background-size: 100%; + } + + .@{prefix}-main-link { + color: @text-level-1-color; + text-decoration: none; + cursor: pointer; + + &:hover { + color: @text-level-1-color; + } + + &:active { + color: @text-level-1-color; + } + + &--active { + color: #000; + } + + &:focus { + text-decoration: none; + } + } + + .@{prefix}-link { + color: @primary-color; + + text-decoration: none; + margin-right: @spacer-3; + + cursor: pointer; + + &:hover { + color: @primary-color; + } + + &:active { + color: @primary-color; + } + + &--active { + color: @primary-color; + } + + &:focus { + text-decoration: none; + } + } + + // 布局元素调整 + .@{prefix}-wrapper { + height: 100vh; + display: flex; + flex-direction: column; + } + .@{prefix}-sidenav-layout { + + &-relative { + height: 100%; + } + } + .@{prefix}-content-layout { + margin: @spacer-3; + } + + .@{prefix}-footer-layout { + padding: 0; + margin-bottom: @spacer-2; + } + + .@{prefix}-footer { + color: rgba(0, 0, 0, 0.3); + line-height: 20px; + text-align: center; + } + + .@{prefix}-icon-container { + width: 16px; + height: 16px; + margin-left: 4px; + display: inline-flex; + align-items: center; + justify-content: center; + } + + .@{prefix}-flat-icon { + width: 10px; + height: 3px; + background: rgba(0,0,0,0.60); + } + + .@{prefix}-up-triangle { + width: 0; + height: 0; + border-style: solid; + border-width: 0 6px 8px 6px; + border-color: transparent transparent #00A870 transparent; + } + + .@{prefix}-down-triangle { + width: 0; + height: 0; + border-style: solid; + border-width: 8px 6px 0 6px; + border-color: #E34D59 transparent transparent transparent; + } \ No newline at end of file diff --git a/src/style/sidenav.less b/src/style/sidenav.less new file mode 100644 index 0000000..d5686b3 --- /dev/null +++ b/src/style/sidenav.less @@ -0,0 +1,96 @@ +@import './variables.less'; +@import './font-family.less'; + +.@{prefix} { + &-sidebar-layout { + height: 100%; + } + + &-sidebar-compact { + width: 64px; + .@{prefix}-sidenav-logo-wrapper { + padding-left: 16px; + } + } + &-sidebar-layout-side { + z-index: 100; + } + + &-sidenav{ + position: fixed; + top: 0; + bottom: 0; + z-index: 10; + transition: all .3s; + min-height: 100%; + + &-mix { + top: 64px; + + &-fixed { + top: 64px; + z-index: 0; + } + } + + &-no-fixed { + position: relative; + z-index: 1; + } + + &-no-logo { + z-index: 1; + } + + &-logo-wrapper { + display: flex; + align-items: center; + width: 100%; + } + &-logo-t-logo { + width: 32px; + } + &-logo-tdesign-logo { + width: 112px; + } + &-logo-normal { + font-family: TencentSansKoreanW7; + color: @primary-color; + font-size: @font-size-l; + transition: all .3s; + } + } + + + &-sidenav-placeholder { + flex: 1 1 232px; + min-width: 232px; + transition: all .3s; + + &-hidden { + flex: 1 1 72px; + min-width: 72px; + transition: all .3s; + } + } + +} +.t-menu--dark .t-menu__options:not(:empty) .t-icon-menu-unfold { + color: rgba(255, 255, 255, 0.55) +} + +.logo-container { + cursor: pointer; + display: inline-flex; + height: 64px; + margin-left: 24px; + } + + .optional-icon { + color: #000000; + cursor: pointer; + + &:hover { + color: @primary-color; + } + } \ No newline at end of file diff --git a/src/utils/date.ts b/src/utils/date.ts new file mode 100644 index 0000000..c6be642 --- /dev/null +++ b/src/utils/date.ts @@ -0,0 +1,6 @@ +// 获取常用时间 +import dayjs, { Dayjs } from 'dayjs'; + +export const LAST_7_DAYS: [Dayjs, Dayjs] = [dayjs().subtract(7, 'day'), dayjs().subtract(1, 'day')]; + +export const LAST_30_DAYS: [Dayjs, Dayjs] = [dayjs().subtract(30, 'day'), dayjs().subtract(1, 'day')]; diff --git a/src/utils/request.js b/src/utils/request.js new file mode 100644 index 0000000..e276b96 --- /dev/null +++ b/src/utils/request.js @@ -0,0 +1,57 @@ +import axios from 'axios'; +import proxy from '../config/proxy'; + +const env = import.meta.env.MODE || 'development'; + +const host = env === 'mock' ? '/' : proxy[env].host; // 如果是mock模式 就不配置host 会走本地Mock拦截 + +const CODE = { + LOGIN_TIMEOUT: 1000, + REQUEST_SUCCESS: 0, + REQUEST_FOBID: 1001, +}; + +const instance = axios.create({ + baseURL: host, + timeout: 1000, + withCredentials: true, +}); + +instance.interceptors.request.use((config) => config); + +instance.defaults.retry = 3; + +instance.interceptors.response.use( + (response) => { + if (response.status === 200) { + const { data } = response; + if (data.code === CODE.REQUEST_SUCCESS) { + return data; + } + return response; + } + }, + (err) => { + const { config } = err; + + if (!config || !config.retry) return Promise.reject(err); + + config.retryCount = config.retryCount || 0; + + if (config.retryCount >= config.retry) { + return Promise.reject(err); + } + + config.retryCount += 1; + + const backoff = new Promise((resolve) => { + setTimeout(() => { + resolve(); + }, config.retryDelay || 1); + }); + + return backoff.then(() => instance(config)); + }, +); + +export default instance; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..5de7b38 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "moduleResolution": "node", + "strict": false, + "jsx": "preserve", + "sourceMap": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "lib": ["esnext", "dom"], + "noEmit": true, + "baseUrl": "./", + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue", "src/config/proxy.ts", "src/pages/detail/base/index.js"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..c66be59 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,27 @@ +import { defineConfig } from 'vite' +import { viteMockServe } from 'vite-plugin-mock'; +const HttpProxyAgent = require('http-proxy-agent'); +import vueJsx from '@vitejs/plugin-vue-jsx'; + +import vue from '@vitejs/plugin-vue' +const path = require('path'); + +import proxy from './src/config/proxy'; + +// https://vitejs.dev/config/ +export default defineConfig({ + base: './', + resolve: { + alias: { + '~': path.resolve(__dirname, './'), + '@': path.resolve(__dirname, './src'), + }, + }, + plugins: [ + vue(), + vueJsx() + ], + server: { + port: 3002, + }, +})