kmIDfBJs)ONY%S2_gX5+yBP$n}{p4d*Q`gdQS#muI*EZV76-U^{W7YXkw>R zdGNUT^%r&24(VPeo(m$_Fzk{+X|KO-NZ!niT{G1NDCVCx-`NlEKX1PC!{L7zyM0Dk zKc4OOzk=b12)w3Iu9W})0-)>e_&Ud+hZhXM)Se&4zxvs9y08oH{#x(+lBaC|n4AhR ziLqHoXplIshU~H>ax()}F%<+rW+dvybl>#!R@Wsj;J#S=`LpJaemwd=zE%F5P`eID zu=8KQ&3^^Jm;A&NiC7Yfr2j{prVx2Tz*Cx_{kX_DaERSPU#IW|QMr=f?-L z^V1j_je(epa Ur2l)s1hTNwreDbLNn_tgE+^in2y~WyM5??*~?D2!&*7J#qG*Oc6@mc1a z6HyUGKm-#JRUHnB@u)I@7=wtafdLW`F^gyu!pXt@ cxjk6%7hjWKEz0Wc=V z#0ILOM2JW#ss>D$c^VB0Vs4rk+V^Has0M`Ky;n66IX*hHU;o3qAN{x*?`=kmYw%`e zQbghRj{v~_?1OL0pqqhF-)%@@T&)6_!pC3N|LIqYy17=wy`5Jec#vlC;;T=NUp`fp z5JXkM%&{XPQBgG_OqwoPA!5ohUljSED2mKG$ArjCj09#0hZCV0ipa_F(US+isi&u4 zn?0~ATo^Nej~~G=K8FxDN#K$|mW@LIYVl~|ZNd7hD)#Z$i@*KNLUqlk8f@%**Ev0= z@zs+rj$S-5(-5Mns+wcRL?K24bIhh@D&BFK`!dhU%$J#~ysL_AJSeK%XU-u4pn2z* zS;3+jF&ThJJbv}!>1V%*&3u!H`jYD#2Q&Z$_~Z%v`b&$kMIUCJ94@RT5p^Kmb &$0~1N1l$)XY(2wF#~W+A}V02Mnn>0Xu{F{i^0}cx8M6NkXw7awI{Vc zbWVRo;gcum9Q^USNYpw4ttYYcQI@OiiRO|9LtIg|X?b}pfA!O86W<)`+FHk6o~C;8 z>goQYFJfp^wTaO&n<+C#5mhbn3=y2es>lh^6BLe1@5&+@4~y+#mFJm^i*fD>M~A1g zX%mB(m;oXh7?_A6v8XH-^@~TJ4|i`3wr*bO{#joguXc#yZ@-3dY46`zy5zRf?i*Io zfq{YHy2}-#{oSu;A#QRxuQdK^FQq%$PF_8E`o+hgsllvi0w&yr1O_37BsfH?a$h>C zG9DG#xGJ_sgYl>u4azL@Oc+8OW-epOnGVnAr;AueZGxz@Q4Uo}e`k~F;nT0G(GHSd zd$cQ>(Elw8|L_2Bj%`>$`&w3P!}@CCpwbqz6;~1?{QIBHULJ{E=bCQTcWXf0Y%w`` z_T?wde1?cIL^UI%Wat)6!$h8l8FR !shQ?J zFB~h_?jXOtHP{^ucD4sQTU{pvZIQn28WgRn44Z_KwTK4~nA9vak1#MYLgx63j3K zW7A+;%x5njeqM}rd_K7RRF@yR4`kHf_#8ie3_pC|i2AXP4erJorZ$7qiT>TM7jiX$ zc|D!G0yiQ@&mW#1ADAf^gcy_WVW cP?Wl!tE;G9aVeVqwVo{I2vVn;k_f`mS;+CoC }s88BjPLHoGVigg7g(rOtjE9% z9=&W{97elV+)M3n4G4Ie7Z@d@?apLJ~DKP*q|EKvl^y@0c@30Jb}>cE*F@psK1e z%X9BNIc7|q4inU5L`{a3QoI|9=q=}}A|DUS-#vQy^5`546b#YOFp8cW?w{;Gz4h*g zh`7!|UuFH)jtCKc|Cs*tTble0>>^A3WyPb+7W((Ut)pCt!Pl2{JKyI53?@e}&yNpO zVyos%6E;d+Nkof0cZ3-eAZ!h*s>q8xcUk6~BW5D*;Rr-TFeEcX6hQW<0KSV@euqc^ z&EVznc@z^-A_BE~Q6D~gxO3<2tQfAhsBbGaxR@<>YVhO$-@XC2w>L;_<&&kKpFas_ zQ@MD|l`^wSTiT_mXZw%840Ua4h-hZ5w}OBOszQXG$ukmRp82xyd7in pi zTYFT)K0kGNjA2JXD!|zskIuV*;6<4mrB3&se^<{Jt>o6ozzayouI_JuX0Vu?PL5wm zjJk~4q G6vvm%HAwMc0!^BJj&E_zHRf2msEf`s%dTH?IXC zn`oW(IW#ttqnFdO6Nynxsh2^KhFoky=Ch^8iU7IKobyN?iPNa;1`YwDAwtU4AqHY2 zXG8`J$VjdgE@I~0_Mj+pM})+L0GbA_X$axfvqw!m?+K~*>mo*m<(N&o)ZpbAJv(Yc z-RqJ70)uA 5au}Tn203)#d#X7NMEXrxR5% zv!tNXt7Rfb7)6|Ot)qYz)Hur7bn)oL!O{72Se2teu{9bD2g9-~Ge9J2^^Qr5aXOow zolhpy>AVgh1c^cbnWtfqdB<7iZf*?+;D!(L`zEmH?;_V|?}W;qJZnioxj8qvK_L zce%+=kLY{` 36Lfh=Yg7PDqPnNKH4*ANmRCDx0Gl1A{% zh$te45TY`ZsGQB_v${E(&IV`x{JglayS=x&OM|g<&WHdkhH!RvdT@ArcyczcLmdJD zIOjZb-RSB0q{_3cVX-r+c1MF(CleA;1+zBJsAki%ljE0 FpV!rs`E11&HgIP}` zGI;z7zyHof-0PklT GX_=9gVB gjZHdNx@sLYeu!?V)>i zFw+JRLD3Q>RuGB%kG>f1-5G4{ZuFEcH0yE$KY8ljztaqg9*hBV&tA!Eh^04JOhqM1 z45pp2CQOh85X6*`h%nJaMBu&i?5e_V56ba)P?kBfGXND)Gel5{<~R*~MlAC@_s+yr z6~PFRoFjJNsmxqi=Cj!>hPX2 ZXkGH(fV`xlOV`Dx;kBA5n96M2MLbF)R>v QRL{wlN (1=nz1u`CH1pUrmJ1>! zk5)zI^ZDt~$@7ELr^l0N6CKmepxiFq?cMQUI6x+LF7qx0h0H8-WCqe=6)>>r*~!uK zM|Z0q^t9eOp?s-7_5 nmI!6T*l~`2SxVL+qd4{9W!Fez%~F8IePiDUd(#!-M~j}a&G|uW($0L zz!!Y7%{10kqP(y-T}fk@ou8@1WK|8+OjCaWwUm@ih&f|2wWd~it{85Q2RBF6ZsG3i z49DZq;j81&gw~HU13*(TKtMO2)r5F+d$czm42x`MIJ`Nk-q{_Mc@{++6BB2Sa_@#k zc4Jh$y*+q$Z`?klS;{1cu{k? +1qvA2bury{*6Ygs>+-izPZgfss^R^K8g}?Rrq^*qn$xM%zfR2H0Trz4OLA- zJUw_m-n&%{#+X7ym#iyxxa4B)h{Dl?`rh4=bMGDadOCe=k=WGpNz>G3Mu?`SYKR~b zQ;$fam=KwW8A-tr6}cak`Svgy3`@_RnVk2oC<#Fg83+x!tSHOaZSC$l@0!J88`1fU z9fK*T5CJm-B5GiSL7wg1D{gL$xDE&B^HpC$Q-FFgGnL8ltGpT|esE($H*Pe95HadX z#BRgE*R5T;qG~gnhPqCD4T(fF#r>kFYU}h9CDziI5D^rVkhZsmqw%0Bhd%d?Gxi<< zLbEVHr1au3DG5Tz%gXsIG_|S_wC*pMB?+pCU_^kuQMElN_O`c9UmZ0qFO+yN#KeRl zHuIUrKv|aJs#n?8wXFaEaK6CMx^`w8$LzXnuEmUIu~{_pNo?xGRhX(sBz7@MlxS*T zybJ)Vnj=&*iAIRy;b1h{DyxdwF}oDy0$V!roenZHRmb4U()-Lz0Dy@A5mYn=iA_jc zhvDwlI784TAmJiP=SC(E5t&(H1b{G~vCl5|x@91HV~ Q|#h=_=`x&r|WQreej>hwyCMUfYIk!Kl^Lqt vA%RCgN_17q>`78n5Y-r?G>wMfJU61pvxP407h!@ci`mpnMWbCB zojvMgr6*TnF#v$)N6QTDO|rWl?DadI#85A$rw1>aMXe&b8g4BTOrq%6b_-Dp@0ie3 z%gh(vdroO%Nz<6A#wJLJV1PhiifLmAB4R3FLSP7h$cO}HXz3MMj3OaeY{sJ!0rpR4 zN0WsnqN`1PLv}9Ib&mkPNQ+-^Io3qmmS3)@s@GuSi!6H|@)$@6v(uBsY^o;96ruHU zfyCcI3S30d+`BZEtD^8(Mnp)6U9M4#A;y4+2#AD$h|Z-;NN6lJnyMawup6{0F>(4$ z2;*UO`|hnW_fh2IC;N*gBtxO?z&F*_plupl{hqPrSY24!i*>P{E3xs#m}HMPHn3(f zo6pWu|1wymU8MsMktp>WMQpQPh#;yGVpZjim)U=afTk8gNMVnrS%jvEp%IB81~4;; z5(1dC!6N`wRZ%lgvmhc8OYd0(3_gE;^ySN=L`Ah7N=*SIMj{Sj;j`jGO3#H@#AV@P zCphcUM=p)oOR0yKk$3ysAT+h9v2%$x7PSsi5K$XNHGnA6W?=z}K#Y=kH>xTkPTc{z z+D!xmljEb~U;XyM(c$5Ia(;Gr@agY9ot~bms$q)38nhY5K_!YwG;Km$%o`C|)b%Hi zUi{TRKA6>wfwj+(;E5^#RD+R4$%_H>NZdZ3yDX=_?ArH!ul$NjB|q2l#+~ku&3qPO zkPzCj35G-|{z*nDM?}p+ltiwo>9nq+$jz-`QFs7TRZ~qP3yF%dYU(=A^ZR#ismgp_ zv*X)$Zn5+1yz?1xXHhk345~p@RJ0D^S6@CkIi0B3*ZW5&lUm!xSX)?!008X#V0#DI zvCpo_$G-|2uaW~0uD~eQ7}_4zlO`-?=PHtN`%~9bGA0x?03<|3K*T7bDgYRwE}A(a z-rgNCqnL;Y5|FWh0vLNY7>}LzW3#Nt(ZCm3F{m7SUliyZA{!`ZG*#6os-h+$iza^g z{OG~M=K!hbr&V4Z`=1^e^P(iAVlcvG#n2|+so&7eX> =^(C 8c@9JfmXcCbO|2dBA HLqW;WoUT02Is r~4K-KCdoK6=pL}_bu48ag#F`FGfe$Hp}ETVVbJ7%Vof?_H`4H#jV z>E7Vh{kP1!lx(1;LE?*7M-QJJ5K&ncL=;7qWgzYNMFV2zILq=F8-rA!aWN*iZ0>U7 z=IWqM6>XB;8*xyGM95qYM#PkHQR_@qlUfl~229j3cF6%L+*e0={OaU``?t44)GWD7 zNDfEa+wdMVFOK}QDLE_hoEQ-aeJ(KujpmVWZt?EW=XrWbsv2XQ%x1s-?9sGtvMdKg zH6uhKR#oUqX^6-%4MyY9&W$jiX$Z`Gi8bjg%DN=3aBuO7ct!tRTmcc6h^X4yaX!n- zfl7=~5>cMUp_&pBA~@nM6UGqW+0p5f{iEIOQBin_P92l7&$IE3-9=g2*@R|+2$?() zqVvQabH}5B8 Ihg>awTO?lP+eTX{7EGxizI=gF2Jwg6m3n3);X0L{#R ziRVr8i_f3j*dCRI_s(%-Kte?CyxU?Olp3R|s2U=&^OR>ro|E&)m|~bF7Dei&dA@)2 z*FXDsGOx?B5EViq;#75(P_bi1Z2egxaxN
DI)!Jd~Wb7|0i+?Y$QdKd%>yB~O>IC=o`{jK}~OI}`)v9Uq)dfBMPS<3a8n6A>VI z=aG=vd!Hp%6H<)ad3GL&ljmZfiO32e>>r-| znSz=EgNUdZGo_piA_6ou z6BUs_?25r?HaP_~;LVM_zQ1`+l`Fk@DlST>w{meVp7sDFast6LIOo_qn`^IrBefn0 zm59uYh(uGV9Wrr<@yq82H$E$i+!M7G7Y;DlR+n ` zzC#2esprF;8|A@^`D7ARmsLUtKnTEWrbt9YAx1zXA}}E0CdL;>r(ZsK2>`o0hKQIW zAsI6;GNp`TMs`SSCN2Dv*fh;#Iz2c(eSUBfL{d^?H@BKuXIlvgiA*&;fT^+bNJz}m zvC`Ms#l8oYHW(m5nXMva--tKvZ$~g=cHlBpby=1s$RKQ!G!s?mj8(1h4iP0P05FoG zIl?H=L^+?%ULG8G7KR83V`O4QB_luul{Vi+MPg{`W-^(aPiJ+Ab(9vuVe09qW=sU8 z21JZ)qFT# $Ca<2&&Q1}m zC`&XGiOcFgQE`r$S=6G6sxgy^c;^;Ph*4D`s!gT~fMZny!~%htkN|)|jaV%PRf!Vn z#r*8-Y_X_`5KKcOxRhO+Q%itos>vrbQBh5(*k?sOo6aX^SurG9PHnIz9P7iBP3G1+ z+a4^FK)-3M$5w8c8K^Xq `7vlN)N5=bO=3NS^9B5^i7KYa0IFx~+Gq=fG-;;}B)v$<$LcUERgf@WiUw!d6J z-H0aAOwU4S0AMjWJvn?CLb!GR+k5xkDF!1(JUiG2F-0>3c8mxFn3Pr9Q~)9(qOQUn zJiC-CJey6yq^TEKo_Xhp9T9+`sKgizEX#8P43ZpKO+HByP%4XSH61|8_)Az_Rhy dHmyOi %MG^r zTtqHYBde*a5D5tZV+hY4epyyS=d$tMEuR-zn#87e)-@V_d!W5MsBe^0k&GyDG2F?j zk(s6-4Iu-ONtmA=AMHPrl&Ay1#L4HEC@~QPMD0*AK!g~z2~k=c$4o?oOw7#8j=Xoy zCx{zW2^A!f3SxjUigfiGOS(VdBUK@GgkXlwaU%U=45{$N`3%5bJ$p2pob27XpB2?o zI6c9wYMYj#V1oB=HGRpvZp^M>y-u$XGI=vF6B7w>Zl=v_`tsp}>Dig6wn-F(01#u0 zqDVw&j(Iv?q&yHJ64M|l(K(fhF%z+O%#NIQ?8$jbuZN7HBpw=7%``*-)vop>VGdI4 zs&-7 `Doz@6EhJZIbu)FAu}Q( zGXRn*J5*5 {5$W5z|Br24;$efEuHuY9PeKfF)nW=Vi5hBddnM{n_oV z!^Zb-HW~K;AGl$OlX=gjvx}znO0NYG%p^9=Vm3WJZkmO)0k0I+({3QOK_38E)U{)W zNGicQ&K(z-Vf)^O)0dB2?S?gGABMkmr%$98*5`nAUZ=I-6V&mMQ1dV5}L zJ`j+7KG?p&&SynAKR>PKQ;9)h3{7L23J-xDqX8k*O$30d$VFo2C}SK|`KT;X3M~ z)J(pu?-7BT#G%s@4Q8yKUtr{;~K&B3`eS8@ Us6#!UoE)AV z?TZKz5xXqUG=`>bM8r8N$OC|P#5os?+oP%~GH%0wlxEw(L=*$H+J6~MAOdM4YNCcn zMd8cb$2vMBHB0@KozIFQhUoKr`{o^=SH#XFDgY5zqpjiIt-KiEsycVowyRQj0N{hW zO+t2S^US_`8=1hQ8|PO|4YQQjx)cc!*kyxZW ez)DMBuCgFi)j*N3$o!!2MqCW4 z*|d%-K;)gfb?<&w4i>X%UJb`L?g9W1`MmNzLw2|}k?+O%J~mbd4+{P0{^GK*9U=VX zNBlRxN%?cFExlsQ+U2639$|=x;IeGAdkebP0BU8P(fzxju4l7(IT+lybz?LfjfR6q zpZ=~nJ86Z~rg$N8J7$*`0O(IjqG~Do8VS*RHyBj+zI8VrjE)YE&(A0G#T #61_gZY z9sKzN6TLjq=9?|J;U}RDxbdRwOUGGO 2@| zk^%s=DHLg1g%}rgJ)bS=CT#89{NZ2xSEJn<^TnbZj;806#e5MZic#aR5!{eea#2QW zZMeWVrL@!SO7=!^d1fnF=*^Y-qYvowr*d=-DZ~4E?syaXzN~piKyZW%p`cJ;pv*hx z^E@xA%KO$&VCTGZgZIC!^=x+VJVuQnNX*Qsk(rr@nvs!8N|6*3m8NNC^Z9f#tDA89 z?fc*UXMetP=boAQJkPSMD$Ds|5t`66O;kN^U=c}l!_ e2<#}F|rE?C69Wy)j-h1!A z_s{>ulaGIW{_?Rzkr+grV>SV$B*2!zH? {DS&SjY|%ZghZ!H$^NImcX9 zAO83+PF_6OfAE_qAthY{0!Zi1w{t8?(=@Z$Y_VwWfA5d)fB&E5)c^oZ4Z%SM WMBfskAq)%oiw~!5doLDvx3;47NXi`Fy$z4{ zp$`3H)~23HcVNUU<6-HyD?b`Ik7gP*iW- eR27w4?lc8 Apvr#eTm5( zVJ4>ebdq_Gh-HT3fvaOSYi!==tkEVcOF#O(p>Jma0lsy+DKcC4*m`NT-5ek7Oa9<3 z{QN0AdbwsYdq0r~2Zg_TV|ZhfIZQLgh#4r7CQ3trU6yi7Bv%7)?5nDB?40*VOaO@x zqIRZ}R!45#x?2uLufF IT3hgwWKP^Ga-;zd+b!{A$P W5>IDg-l&0n|E %Lml^=Z>2DF6ubc{Lih z#h0Df5|7u#?c0~ZNac7t8~m`^yL0y9>5cckJ=nQH=sG{VKdIVMtyr5SCQ#4k2Fi|U zZNjx~T(%Q9blR?EVQt{8+U8qhcQzNK$%psq4jT7`cG1i@gVpSAOQ7}_KY)47jSk ;XM;r*La zChHr8<);(+Y<|nR_gZdkL )5okF)Ol@fd&7__$LI}$bP#~HZ)6!r8F2AjW0ANI<00z`)0aF0osSb;5ag{(W zeZgb>yD961EmmZU8>9Wx#XSSRVvu{V$l5uG`gdBQrItd1jz=OQ$2>VXMuV~%B+Ccg zcmV`3OqKGYLV&IuKs5vaiD5CDYK+Bj#Hr7=T_UjvTGw@G7KGddkUJ#^xKxLI#YF(C zUfeb#j*3@<{CufLF9-xStzMkZecgqyJezIP^OO3$RVBufB3ykUrPbpEV1SD4?AK=0 zS%jANb ZtEvi#Y*i=M_S)%ml4Y6q84?jWKp^7S)F;OWgQgzs++a+6P>Muq zJ)ecTPB6P0QA^ig<>7br8@){Ku22d p$7xQ_jo1_<@7hN#}N>W=5zh&$MJH?$)p;i8Q<&Li7e6LvEU_N(% z%$ _4n6#a 7 zr9Zd~+}?0;Z+xa@Zn9H+byD9`7^p43478ll0oU}!#mTF!GjoIt4giT&Vw8A(ewq*% zlUr8swHC<0Pz@NFo%5<`CUY{dZu$#MG2Ruz$7SXm+UgZv3}q3@&_6Et2(J8k*=wYc zxX*rAw-p3#Ue(M`Z@Djy=kGMImA(rH?QF}i8VxIywq}^ybX`OOQbtFrM3QC$?GHKZ zJgkHrL{ra8vsEVRW12qP($`?rfr*ZWT_zv))Lzmi8K3QBUjb?dKKifudI>DQ&4viL z?044dN7t9reLns$MxE$3;;E<{*C3N@pS zw!}882LV7)i8_WmmHMn8Qagnf+WOS>m~590{HvjVfhcQ@>g4<;5?HdJ8@|```USPh z4jeDe!~G}&SVHtJy{=O(O9j-ansz*4n?0bUVAPQ^sb92cRSnSEM4i@`YNeF?iGDD( zqhs3kA#{F=*%GH1fTOULeVy^y1y8j $@9{|*W zdpYvY0sk=Vwt4x6vbz{#(xHD^@ZnsxXYp=t_JNi2(VswmdAhCkrn&DReFCM^tIPgo z-7ulf7g_?_RzY-AD=$q&+v%-?$r( BkHpct^Ty-+3o+9Hlc6Z5zXVIz*mJky8Ioj z*EaA %SQHJ|K~$J?{PuUWOsooD>1f + + + + | + + + + + + + diff --git a/src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss b/src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss new file mode 100644 index 00000000..311f8d9f --- /dev/null +++ b/src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss @@ -0,0 +1,58 @@ +/** + * 这里是 uni-list 组件内置的常用样式变量 + * 如果需要覆盖样式,这里提供了基本的组件样式变量,您可以尝试修改这里的变量,去完成样式替换,而不用去修改源码 + * + */ + +// 背景色 +$background-color : #fff; +// 分割线颜色 +$divide-line-color : #e5e5e5; + +// 默认头像大小,如需要修改此值,注意同步修改 js 中的值 const avatarWidth = xx ,目前只支持方形头像 +// nvue 页面不支持修改头像大小 +$avatar-width : 45px ; + +// 头像边框 +$avatar-border-radius: 5px; +$avatar-border-color: #eee; +$avatar-border-width: 1px; + +// 标题文字样式 +$title-size : 16px; +$title-color : #3b4144; +$title-weight : normal; + +// 描述文字样式 +$note-size : 12px; +$note-color : #999; +$note-weight : normal; + +// 右侧额外内容默认样式 +$right-text-size : 12px; +$right-text-color : #999; +$right-text-weight : normal; + +// 角标样式 +// nvue 页面不支持修改圆点位置以及大小 +// 角标在左侧时,角标的位置,默认为 0 ,负数左/下移动,正数右/上移动 +$badge-left: 0px; +$badge-top: 0px; + +// 显示圆点时,圆点大小 +$dot-width: 10px; +$dot-height: 10px; + +// 显示角标时,角标大小和字体大小 +$badge-size : 18px; +$badge-font : 12px; +// 显示角标时,角标前景色 +$badge-color : #fff; +// 显示角标时,角标背景色 +$badge-background-color : #ff5a5f; +// 显示角标时,角标左右间距 +$badge-space : 6px; + +// 状态样式 +// 选中颜色 +$hover : #f5f5f5; diff --git a/src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue b/src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue new file mode 100644 index 00000000..d49fd7c7 --- /dev/null +++ b/src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue @@ -0,0 +1,593 @@ + + ++ + ++ + + + | + + + + + + diff --git a/src/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue b/src/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue new file mode 100644 index 00000000..6402508b --- /dev/null +++ b/src/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue @@ -0,0 +1,534 @@ + + ++ + ++ + ++ + ++ + ++ + ++ ++ + + + ++ + + +{{ badgeText === 'dot' ? '' : badgeText }} ++ ++ +{{ title }} ++ +[草稿] +{{isDraft?note.slice(14):note}} ++ ++ +{{ time }} ++ +{{ badgeText === 'dot' ? '' : badgeText }} ++ + | + + + + + + \ No newline at end of file diff --git a/src/uni_modules/uni-list/components/uni-list/uni-list.vue b/src/uni_modules/uni-list/components/uni-list/uni-list.vue new file mode 100644 index 00000000..6ef5972a --- /dev/null +++ b/src/uni_modules/uni-list/components/uni-list/uni-list.vue @@ -0,0 +1,123 @@ + + ++ + ++ + ++ ++ ++ ++ + ++ + ++ +{{ title }} +{{ note }} ++ ++ +{{ rightText }} ++ + + + + + ++ + + +
+ + + + + diff --git a/src/uni_modules/uni-list/components/uni-list/uni-refresh.vue b/src/uni_modules/uni-list/components/uni-list/uni-refresh.vue new file mode 100644 index 00000000..3b4c5a23 --- /dev/null +++ b/src/uni_modules/uni-list/components/uni-list/uni-refresh.vue @@ -0,0 +1,65 @@ + + ++ + + + ++ + + + + + + + diff --git a/src/uni_modules/uni-list/components/uni-list/uni-refresh.wxs b/src/uni_modules/uni-list/components/uni-list/uni-refresh.wxs new file mode 100644 index 00000000..818a6b72 --- /dev/null +++ b/src/uni_modules/uni-list/components/uni-list/uni-refresh.wxs @@ -0,0 +1,87 @@ +var pullDown = { + threshold: 95, + maxHeight: 200, + callRefresh: 'onrefresh', + callPullingDown: 'onpullingdown', + refreshSelector: '.uni-refresh' +}; + +function ready(newValue, oldValue, ownerInstance, instance) { + var state = instance.getState() + state.canPullDown = newValue; + // console.log(newValue); +} + +function touchStart(e, instance) { + var state = instance.getState(); + state.refreshInstance = instance.selectComponent(pullDown.refreshSelector); + state.canPullDown = (state.refreshInstance != null && state.refreshInstance != undefined); + if (!state.canPullDown) { + return + } + + // console.log("touchStart"); + + state.height = 0; + state.touchStartY = e.touches[0].pageY || e.changedTouches[0].pageY; + state.refreshInstance.setStyle({ + 'height': 0 + }); + state.refreshInstance.callMethod("onchange", true); +} + +function touchMove(e, ownerInstance) { + var instance = e.instance; + var state = instance.getState(); + if (!state.canPullDown) { + return + } + + var oldHeight = state.height; + var endY = e.touches[0].pageY || e.changedTouches[0].pageY; + var height = endY - state.touchStartY; + if (height > pullDown.maxHeight) { + return; + } + + var refreshInstance = state.refreshInstance; + refreshInstance.setStyle({ + 'height': height + 'px' + }); + + height = height < pullDown.maxHeight ? height : pullDown.maxHeight; + state.height = height; + refreshInstance.callMethod(pullDown.callPullingDown, { + height: height + }); +} + +function touchEnd(e, ownerInstance) { + var state = e.instance.getState(); + if (!state.canPullDown) { + return + } + + state.refreshInstance.callMethod("onchange", false); + + var refreshInstance = state.refreshInstance; + if (state.height > pullDown.threshold) { + refreshInstance.callMethod(pullDown.callRefresh); + return; + } + + refreshInstance.setStyle({ + 'height': 0 + }); +} + +function propObserver(newValue, oldValue, instance) { + pullDown = newValue; +} + +module.exports = { + touchmove: touchMove, + touchstart: touchStart, + touchend: touchEnd, + propObserver: propObserver +} diff --git a/src/uni_modules/uni-list/package.json b/src/uni_modules/uni-list/package.json new file mode 100644 index 00000000..5ebe1569 --- /dev/null +++ b/src/uni_modules/uni-list/package.json @@ -0,0 +1,91 @@ +{ + "id": "uni-list", + "displayName": "uni-list 列表", + "version": "1.2.15", + "description": "List 组件 ,帮助使用者快速构建列表。", + "keywords": [ + "", + "uni-ui", + "uniui", + "列表", + "", + "list" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-badge", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y", + "app-harmony": "u", + "app-uvue": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/src/uni_modules/uni-list/readme.md b/src/uni_modules/uni-list/readme.md new file mode 100644 index 00000000..ae499e66 --- /dev/null +++ b/src/uni_modules/uni-list/readme.md @@ -0,0 +1,46 @@ +## List 列表 +> **组件名:uni-list** +> 代码块: `uList`、`uListItem` +> 关联组件:`uni-list-item`、`uni-badge`、`uni-icons`、`uni-list-chat`、`uni-list-ad` + + +List 列表组件,包含基本列表样式、可扩展插槽机制、长列表性能优化、多端兼容。 + +在vue页面里,它默认使用页面级滚动。在app-nvue页面里,它默认使用原生list组件滚动。这样的长列表,在滚动出屏幕外后,系统会回收不可见区域的渲染内存资源,不会造成滚动越长手机越卡的问题。 + +uni-list组件是父容器,里面的核心是uni-list-item子组件,它代表列表中的一个可重复行,子组件可以无限循环。 + +uni-list-item有很多风格,uni-list-item组件通过内置的属性,满足一些常用的场景。当内置属性不满足需求时,可以通过扩展插槽来自定义列表内容。 + +内置属性可以覆盖的场景包括:导航列表、设置列表、小图标列表、通信录列表、聊天记录列表。 + +涉及很多大图或丰富内容的列表,比如类今日头条的新闻列表、类淘宝的电商列表,需要通过扩展插槽实现。 + +下文均有样例给出。 + +uni-list不包含下拉刷新和上拉翻页。上拉翻页另见组件:[uni-load-more](https://ext.dcloud.net.cn/plugin?id=29) + +### [点击查看详细文档](https://uniapp.dcloud.io/component/uniui/uni-indexed-list) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + + +## 基于uni-list扩展的页面模板 + +通过扩展插槽,可实现多种常见样式的列表 + +**新闻列表类** + +1. 云端一体混合布局:[https://ext.dcloud.net.cn/plugin?id=2546](https://ext.dcloud.net.cn/plugin?id=2546) +2. 云端一体垂直布局,大图模式:[https://ext.dcloud.net.cn/plugin?id=2583](https://ext.dcloud.net.cn/plugin?id=2583) +3. 云端一体垂直布局,多行图文混排:[https://ext.dcloud.net.cn/plugin?id=2584](https://ext.dcloud.net.cn/plugin?id=2584) +4. 云端一体垂直布局,多图模式:[https://ext.dcloud.net.cn/plugin?id=2585](https://ext.dcloud.net.cn/plugin?id=2585) +5. 云端一体水平布局,左图右文:[https://ext.dcloud.net.cn/plugin?id=2586](https://ext.dcloud.net.cn/plugin?id=2586) +6. 云端一体水平布局,左文右图:[https://ext.dcloud.net.cn/plugin?id=2587](https://ext.dcloud.net.cn/plugin?id=2587) +7. 云端一体垂直布局,无图模式,主标题+副标题:[https://ext.dcloud.net.cn/plugin?id=2588](https://ext.dcloud.net.cn/plugin?id=2588) + +**商品列表类** + +1. 云端一体列表/宫格视图互切:[https://ext.dcloud.net.cn/plugin?id=2651](https://ext.dcloud.net.cn/plugin?id=2651) +2. 云端一体列表(宫格模式):[https://ext.dcloud.net.cn/plugin?id=2671](https://ext.dcloud.net.cn/plugin?id=2671) +3. 云端一体列表(列表模式):[https://ext.dcloud.net.cn/plugin?id=2672](https://ext.dcloud.net.cn/plugin?id=2672) \ No newline at end of file diff --git a/src/uni_modules/uni-table/changelog.md b/src/uni_modules/uni-table/changelog.md new file mode 100644 index 00000000..9f87c67c --- /dev/null +++ b/src/uni_modules/uni-table/changelog.md @@ -0,0 +1,27 @@ +## 1.2.3(2023-03-28) +- 修复 在vue3模式下可能会出现错误的问题 +## 1.2.2(2022-11-29) +- 优化 主题样式 +## 1.2.1(2022-06-06) +- 修复 微信小程序存在无使用组件的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-table](https://uniapp.dcloud.io/component/uniui/uni-table) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-07-08) +- 新增 uni-th 支持 date 日期筛选范围 +## 1.0.6(2021-07-05) +- 新增 uni-th 支持 range 筛选范围 +## 1.0.5(2021-06-28) +- 新增 uni-th 筛选功能 +## 1.0.4(2021-05-12) +- 新增 示例地址 +- 修复 示例项目缺少组件的Bug +## 1.0.3(2021-04-16) +- 新增 sortable 属性,是否开启单列排序 +- 优化 表格多选逻辑 +## 1.0.2(2021-03-22) +- uni-tr 添加 disabled 属性,用于 type=selection 时,设置某行是否可由全选按钮控制 +## 1.0.1(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/src/uni_modules/uni-table/components/uni-table/uni-table.vue b/src/uni_modules/uni-table/components/uni-table/uni-table.vue new file mode 100644 index 00000000..21d9527f --- /dev/null +++ b/src/uni_modules/uni-table/components/uni-table/uni-table.vue @@ -0,0 +1,455 @@ + ++ + + + + + + + diff --git a/src/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue b/src/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue new file mode 100644 index 00000000..fbe1bdcb --- /dev/null +++ b/src/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue @@ -0,0 +1,29 @@ + + + ++
+ + ++ + +{{ emptyText }} ++ + + ++ + +{{ emptyText }} ++ + + + + + + + + + + diff --git a/src/uni_modules/uni-table/components/uni-td/uni-td.vue b/src/uni_modules/uni-table/components/uni-td/uni-td.vue new file mode 100644 index 00000000..9ce93e93 --- /dev/null +++ b/src/uni_modules/uni-table/components/uni-td/uni-td.vue @@ -0,0 +1,90 @@ + + + + + + + ++ + + + + + + + + diff --git a/src/uni_modules/uni-table/components/uni-th/filter-dropdown.vue b/src/uni_modules/uni-table/components/uni-th/filter-dropdown.vue new file mode 100644 index 00000000..df22a714 --- /dev/null +++ b/src/uni_modules/uni-table/components/uni-th/filter-dropdown.vue @@ -0,0 +1,511 @@ + ++ + + + + + + diff --git a/src/uni_modules/uni-table/components/uni-th/uni-th.vue b/src/uni_modules/uni-table/components/uni-th/uni-th.vue new file mode 100644 index 00000000..14889dd8 --- /dev/null +++ b/src/uni_modules/uni-table/components/uni-th/uni-th.vue @@ -0,0 +1,285 @@ + + ++ ++ + ++ + + ++ + + + + ++ + ++ + ++ {{resource.reset}} +{{resource.submit}} ++ + ++ + +{{resource.search}} ++ {{resource.reset}} ++ +{{resource.gt}} + +{{resource.lt}} + ++ + ++ {{resource.reset}} +{{resource.submit}} ++ ++ ++ + + + ++ ++ ++ + ++ + + + + + + + + diff --git a/src/uni_modules/uni-table/components/uni-thead/uni-thead.vue b/src/uni_modules/uni-table/components/uni-thead/uni-thead.vue new file mode 100644 index 00000000..0dd18cd8 --- /dev/null +++ b/src/uni_modules/uni-table/components/uni-thead/uni-thead.vue @@ -0,0 +1,129 @@ + + + + + ++ ++ + + + + + + + + + + diff --git a/src/uni_modules/uni-table/components/uni-tr/table-checkbox.vue b/src/uni_modules/uni-table/components/uni-tr/table-checkbox.vue new file mode 100644 index 00000000..1089187e --- /dev/null +++ b/src/uni_modules/uni-table/components/uni-tr/table-checkbox.vue @@ -0,0 +1,179 @@ + + + + + + + + diff --git a/src/uni_modules/uni-table/components/uni-tr/uni-tr.vue b/src/uni_modules/uni-table/components/uni-tr/uni-tr.vue new file mode 100644 index 00000000..f9b96716 --- /dev/null +++ b/src/uni_modules/uni-table/components/uni-tr/uni-tr.vue @@ -0,0 +1,171 @@ + + ++ ++ + ++ + + + ++ ++ + + + + + + + + + diff --git a/src/uni_modules/uni-table/i18n/en.json b/src/uni_modules/uni-table/i18n/en.json new file mode 100644 index 00000000..e32023cc --- /dev/null +++ b/src/uni_modules/uni-table/i18n/en.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "Reset", + "filter-dropdown.search": "Search", + "filter-dropdown.submit": "Submit", + "filter-dropdown.filter": "Filter", + "filter-dropdown.gt": "Greater or equal to", + "filter-dropdown.lt": "Less than or equal to", + "filter-dropdown.date": "Date" +} diff --git a/src/uni_modules/uni-table/i18n/es.json b/src/uni_modules/uni-table/i18n/es.json new file mode 100644 index 00000000..9afd04bb --- /dev/null +++ b/src/uni_modules/uni-table/i18n/es.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "Reiniciar", + "filter-dropdown.search": "Búsqueda", + "filter-dropdown.submit": "Entregar", + "filter-dropdown.filter": "Filtrar", + "filter-dropdown.gt": "Mayor o igual a", + "filter-dropdown.lt": "Menos que o igual a", + "filter-dropdown.date": "Fecha" +} diff --git a/src/uni_modules/uni-table/i18n/fr.json b/src/uni_modules/uni-table/i18n/fr.json new file mode 100644 index 00000000..b0062371 --- /dev/null +++ b/src/uni_modules/uni-table/i18n/fr.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "Réinitialiser", + "filter-dropdown.search": "Chercher", + "filter-dropdown.submit": "Soumettre", + "filter-dropdown.filter": "Filtre", + "filter-dropdown.gt": "Supérieur ou égal à", + "filter-dropdown.lt": "Inférieur ou égal à", + "filter-dropdown.date": "Date" +} diff --git a/src/uni_modules/uni-table/i18n/index.js b/src/uni_modules/uni-table/i18n/index.js new file mode 100644 index 00000000..2469dd02 --- /dev/null +++ b/src/uni_modules/uni-table/i18n/index.js @@ -0,0 +1,12 @@ +import en from './en.json' +import es from './es.json' +import fr from './fr.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + es, + fr, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/src/uni_modules/uni-table/i18n/zh-Hans.json b/src/uni_modules/uni-table/i18n/zh-Hans.json new file mode 100644 index 00000000..862af179 --- /dev/null +++ b/src/uni_modules/uni-table/i18n/zh-Hans.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "重置", + "filter-dropdown.search": "搜索", + "filter-dropdown.submit": "确定", + "filter-dropdown.filter": "筛选", + "filter-dropdown.gt": "大于等于", + "filter-dropdown.lt": "小于等于", + "filter-dropdown.date": "日期范围" +} diff --git a/src/uni_modules/uni-table/i18n/zh-Hant.json b/src/uni_modules/uni-table/i18n/zh-Hant.json new file mode 100644 index 00000000..64f80615 --- /dev/null +++ b/src/uni_modules/uni-table/i18n/zh-Hant.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "重置", + "filter-dropdown.search": "搜索", + "filter-dropdown.submit": "確定", + "filter-dropdown.filter": "篩選", + "filter-dropdown.gt": "大於等於", + "filter-dropdown.lt": "小於等於", + "filter-dropdown.date": "日期範圍" +} diff --git a/src/uni_modules/uni-table/package.json b/src/uni_modules/uni-table/package.json new file mode 100644 index 00000000..7c2f91cd --- /dev/null +++ b/src/uni_modules/uni-table/package.json @@ -0,0 +1,83 @@ +{ + "id": "uni-table", + "displayName": "uni-table 表格", + "version": "1.2.3", + "description": "表格组件,多用于展示多条结构类似的数据,如", + "keywords": [ + "uni-ui", + "uniui", + "table", + "表格" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss","uni-datetime-picker"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "n" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "n", + "QQ": "y" + }, + "快应用": { + "华为": "n", + "联盟": "n" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/src/uni_modules/uni-table/readme.md b/src/uni_modules/uni-table/readme.md new file mode 100644 index 00000000..bb08c791 --- /dev/null +++ b/src/uni_modules/uni-table/readme.md @@ -0,0 +1,13 @@ + + +## Table 表单 +> 组件名:``uni-table``,代码块: `uTable`。 + +用于展示多条结构类似的数据 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-table) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + + + From 561e5675e5b12c2c9b6de3d65843e1adedfa1c66 Mon Sep 17 00:00:00 2001 From: yixiudong <827231259@qq.com> Date: Tue, 19 Aug 2025 15:34:59 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=88=91=E7=9A=84?= =?UTF-8?q?=E6=8E=92=E8=A1=8C=E6=A6=9C=E8=B7=B3=E8=BD=AC=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E5=8F=8A=E8=B7=AF=E7=94=B1=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages.json | 9 +++++++++ src/pages/me/index.vue | 3 +-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/pages.json b/src/pages.json index b7ca8b0a..9c98f24b 100644 --- a/src/pages.json +++ b/src/pages.json @@ -145,6 +145,15 @@ } } }, + { + "path": "pages/charts/index", + "style": { + "navigationBarTitleText": "", + "app-plus": { + "titleNView": false + } + } + }, { "path": "pages/favorites/index", "style": { diff --git a/src/pages/me/index.vue b/src/pages/me/index.vue index b31a8bc2..357f3c86 100644 --- a/src/pages/me/index.vue +++ b/src/pages/me/index.vue @@ -111,8 +111,7 @@+ ++ + From 4e5c17fe3de88cadc4ae1d5b0c0214e8e415ee6f Mon Sep 17 00:00:00 2001 From: yixiudong <827231259@qq.com> Date: Tue, 19 Aug 2025 16:57:03 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E8=81=94=E8=B0=83=E6=88=91=E7=9A=84?= =?UTF-8?q?=E6=8E=92=E8=A1=8C=E6=A6=9C=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/charts/index.vue | 316 ++++++++++++++++--------------------- 1 file changed, 133 insertions(+), 183 deletions(-) diff --git a/src/pages/charts/index.vue b/src/pages/charts/index.vue index d87c9df2..47921944 100644 --- a/src/pages/charts/index.vue +++ b/src/pages/charts/index.vue @@ -100,7 +100,7 @@ - + {{tableLastName}} -+ 暂无数据 @@ -127,7 +127,7 @@- + @@ -184,7 +184,7 @@ const practCntList = ref([]) const examCntList = ref([]) const crsCntList = ref([]) - const myselfList = ref([]) + const myselfObj = ref({}) const tableLastName = ref("学习时长(h)"); const taskRef = ref(null); const tabAct = ref(0); @@ -220,23 +220,26 @@ } if (tableLastName.value == '学习时长') { allChartsList.value = learnTimeList.value; - chartsList.value = learnTimeList.value.annual || []; - chartsList.value.score = learnTimeList.value.annual.annlStdyTmLen || ""; + chartsList.value = learnTimeList.value.annual.list || []; + myselfObj.value = allChartsList.value.annual?allChartsList.value.annual.self:{}; + myselfObj.value.score = allChartsList.value.annual.self.annlStdyTmLen; + chartsList.value.forEach(item => item.score = item.annlStdyTmLen) } else if (tableLastName.value == '练习次数') { allChartsList.value = practCntList.value; - chartsList.value = practCntList.value.annual || []; - chartsList.value.score = practCntList.value.annual.annlPractCnt || ""; + chartsList.value = practCntList.value.annual.list || []; + myselfObj.value = allChartsList.value.annual?allChartsList.value.annual.self:{}; + myselfObj.value.score = allChartsList.value.annual.self.annlPractCnt; } else if (tableLastName.value == '考试次数') { allChartsList.value = examCntList.value; - chartsList.value = examCntList.value.annual || []; - chartsList.value.score = examCntList.value.annual.annlExamCnt || ""; + chartsList.value = examCntList.value.annual.list || []; + myselfObj.value = allChartsList.value.annual?allChartsList.value.annual.self:{}; + myselfObj.value.score = allChartsList.value.annual.self.annlExamCnt; } else if (tableLastName.value == '通关课程数') { allChartsList.value = crsCntList.value; - chartsList.value = crsCntList.value.annual || []; - chartsList.value.score = crsCntList.value.annual.annlCrsCnt || ""; + chartsList.value = crsCntList.value.annual.list || []; + myselfObj.value = allChartsList.value.annual?allChartsList.value.annual.self:{}; + myselfObj.value.score = allChartsList.value.annual.self.annlCrsCnt; } - //我的排名---接口待联调 - // myselfList.value = chartsList.value.myselfList || []; if (chartsList.value.length > 3) { newChartsList.value = chartsList.value.slice(3).concat(); } else { @@ -247,202 +250,149 @@ const itemFun = (index, item) => { itemIndex.value = index; if (item.value == 'annual') { - chartsList.value = allChartsList.value.annual ? allChartsList.value.annual : []; - if (tableLastName.value == '学习时长') { - chartsList.value.score = chartsList.value.annlStdyTmLen || ""; + chartsList.value = allChartsList.value.annual ? allChartsList.value.annual.list : []; + myselfObj.value = allChartsList.value.annual ? allChartsList.value.annual.self : {}; + if (tableLastName.value.includes('学习时长')) { + chartsList.value.forEach(item => item.score = item.annlStdyTmLen); + myselfObj.value.score = myselfObj.value.annlStdyTmLen; } else if (tableLastName.value == '练习次数') { - chartsList.value.score = chartsList.value.annlPractCnt || ""; + chartsList.value.forEach(item => item.score = item.annlPractCnt); + myselfObj.value.score = myselfObj.value.annlPractCnt; } else if (tableLastName.value == '考试次数') { - chartsList.value.score = chartsList.value.annlExamCnt || ""; + chartsList.value.forEach(item => item.score = item.annlExamCnt); + myselfObj.value.score = myselfObj.value.annlExamCnt; } else if (tableLastName.value == '通关课程数') { - chartsList.value.score = chartsList.value.annlCrsCnt || ""; + chartsList.value.forEach(item => item.score = item.annlCrsCnt); + myselfObj.value.score = myselfObj.value.annlCrsCnt; } } else if (item.value == 'month') { - chartsList.value = allChartsList.value.month ? allChartsList.value.month : []; + chartsList.value = allChartsList.value.month ? allChartsList.value.month.list : []; + myselfObj.value = allChartsList.value.month ? allChartsList.value.month.self : {}; if (tableLastName.value == '学习时长') { - chartsList.value.score = chartsList.value.thisMonthStdyTmLen || ""; + chartsList.value.forEach(item => item.score = item.thisMonthStdyTmLen); + myselfObj.value.score = myselfObj.value.thisMonthStdyTmLen; } else if (tableLastName.value == '练习次数') { - chartsList.value.score = chartsList.value.thisMonthPractCnt || ""; + chartsList.value.forEach(item => item.score = item.thisMonthPractCnt); + myselfObj.value.score = myselfObj.value.thisMonthPractCnt; } else if (tableLastName.value == '考试次数') { - chartsList.value.score = chartsList.value.thisMonthExamCnt || ""; + chartsList.value.forEach(item => item.score = item.thisMonthExamCnt); + myselfObj.value.score = myselfObj.value.thisMonthExamCnt; } else if (tableLastName.value == '通关课程数') { - chartsList.value.score = chartsList.value.thisMonthCrsCnt || ""; + chartsList.value.forEach(item => item.score = item.thisMonthCrsCnt); + myselfObj.value.score = myselfObj.value.thisMonthCrsCnt; } } else if (item.value == 'week') { - chartsList.value = allChartsList.value.week ? allChartsList.value.week : [];; + chartsList.value = allChartsList.value.week ? allChartsList.value.week.list : []; + myselfObj.value = allChartsList.value.week ? allChartsList.value.week.self : {}; if (tableLastName.value == '学习时长') { - chartsList.value.score = chartsList.value.thisWeekStdyTmLen || ""; + chartsList.value.forEach(item => item.score = item.thisWeekStdyTmLen); + myselfObj.value.score = myselfObj.value.thisWeekStdyTmLen; } else if (tableLastName.value == '练习次数') { - chartsList.value.score = chartsList.value.thisWeekPractCnt || ""; + chartsList.value.forEach(item => item.score = item.thisWeekPractCnt); + myselfObj.value.score = myselfObj.value.thisWeekPractCnt; } else if (tableLastName.value == '考试次数') { - chartsList.value.score = chartsList.value.thisWeekExamCnt || ""; + chartsList.value.forEach(item => item.score = item.thisWeekExamCnt); + myselfObj.value.score = myselfObj.value.thisWeekExamCnt; } else if (tableLastName.value == '通关课程数') { - chartsList.value.score = chartsList.value.thisWeekCrsCnt || ""; + chartsList.value.forEach(item => item.score = item.thisWeekCrsCnt); + myselfObj.value.score = myselfObj.value.thisWeekCrsCnt; } } - //我的排名---接口待联调 - // myselfList.value = chartsList.value.myselfList || []; } onMounted(() => { //挡板数据代码 - let tempList = { - annual: [{ - userName: "江心", - score: 94, - dept: "吉林银行吉林分行", - userId: "USER001", - imgAddr: "/static/images/charts/avator.png" - }, - { - userName: "李婉儿", - score: 98, - dept: "吉林银行吉林分行" - }, - { - userName: "百里里", - score: 88, - dept: "吉林银行吉林分行" - }, - { - userName: "黎明", - score: 94, - dept: "吉林银行吉林分行", - imgAddr: "/static/images/charts/avator.png" - }, - { - userName: "张伟", - score: 91, - dept: "吉林银行吉林分行" - }, - { - userName: "俞小凡", - score: 89, - dept: "吉林银行吉林分行", - imgAddr: "/static/images/charts/avator.png" - }, - { - userName: "黎明", - score: 94, - dept: "吉林银行吉林分行" - }, - { - userName: "张伟", - score: 91, - dept: "吉林银行吉林分行" - }, - { - userName: "俞小凡", - score: 89, - dept: "吉林银行吉林分行" - }, - { - userName: "江月心", - score: 10, - dept: "吉林银行吉林分行" - } - ] - } - learnTimeList.value = tempList; - allChartsList.value = learnTimeList.value; - chartsList.value = tempList.annual; - console.log(chartsList.value, '1111111') - chartsList.value.score = learnTimeList.value.annual.annlStdyTmLen; - console.log(chartsList.value, '222222') - myselfList.value = chartsList.value.filter(item => item.userId == userId) - console.log(myselfList.value, '3333') - myselfList.value[0].rank = "待定888888"; - if (chartsList.value.length > 3) { - newChartsList.value = chartsList.value.slice(3).concat(); - } else { - newChartsList.value = chartsList.value; - } - console.log(learnTimeList.value, 'learnTimeList') + // let tempList = { + // annual: [{ + // userName: "江心", + // score: 94, + // dept: "吉林银行吉林分行", + // userId: "USER001", + // imgAddr: "/static/images/charts/avator.png" + // }, + // { + // userName: "李婉儿", + // score: 98, + // dept: "吉林银行吉林分行" + // }, + // { + // userName: "百里里", + // score: 88, + // dept: "吉林银行吉林分行" + // }, + // { + // userName: "黎明", + // score: 94, + // dept: "吉林银行吉林分行", + // imgAddr: "/static/images/charts/avator.png" + // }, + // { + // userName: "张伟", + // score: 91, + // dept: "吉林银行吉林分行" + // }, + // { + // userName: "俞小凡", + // score: 89, + // dept: "吉林银行吉林分行", + // imgAddr: "/static/images/charts/avator.png" + // }, + // { + // userName: "黎明", + // score: 94, + // dept: "吉林银行吉林分行" + // }, + // { + // userName: "张伟", + // score: 91, + // dept: "吉林银行吉林分行" + // }, + // { + // userName: "俞小凡", + // score: 89, + // dept: "吉林银行吉林分行" + // }, + // { + // userName: "江月心", + // score: 10, + // dept: "吉林银行吉林分行" + // } + // ] + // } + // learnTimeList.value = tempList; + // allChartsList.value = learnTimeList.value; + // chartsList.value = tempList.annual; + // console.log(chartsList.value, '1111111') + // chartsList.value.score = learnTimeList.value.annual.annlStdyTmLen; + // console.log(chartsList.value, '222222') + // myselfObj.value = chartsList.value.filter(item => item.userId == userId) + // console.log(myselfObj.value, '3333') + // if (chartsList.value.length > 3) { + // newChartsList.value = chartsList.value.slice(3).concat(); + // } else { + // newChartsList.value = chartsList.value; + // } + // console.log(learnTimeList.value, 'learnTimeList') //挡板数据代码 - + console.log(myselfObj.value,'78787878') getLeaderBoardStdyTmApi().then(res => { console.log(res, 'getLeaderBoardStdyTmApi') - - //挡板数据代码 - let tempList = { - annual: [{ - userName: "江心", - score: 94, - dept: "吉林银行吉林分行", - userId: "USER001", - imgAddr: "/static/images/charts/avator.png" - }, - { - userName: "李婉儿", - score: 98, - dept: "吉林银行吉林分行" - }, - { - userName: "百里里", - score: 88, - dept: "吉林银行吉林分行" - }, - { - userName: "黎明", - score: 94, - dept: "吉林银行吉林分行", - imgAddr: "/static/images/charts/avator.png" - }, - { - userName: "张伟", - score: 91, - dept: "吉林银行吉林分行" - }, - { - userName: "俞小凡", - score: 89, - dept: "吉林银行吉林分行" - }, - { - userName: "黎明", - score: 94, - dept: "吉林银行吉林分行" - }, - { - userName: "张伟", - score: 91, - dept: "吉林银行吉林分行" - }, - { - userName: "俞小凡", - score: 89, - dept: "吉林银行吉林分行" - }, - { - userName: "江月心", - score: 10, - dept: "吉林银行吉林分行" - } - ] - } - learnTimeList.value = tempList; + learnTimeList.value = res.body || []; allChartsList.value = learnTimeList.value; - chartsList.value = tempList.annual; - console.log(chartsList.value, '1111111') - chartsList.value.score = learnTimeList.value.annual.annlStdyTmLen; - console.log(chartsList.value, '222222') - myselfList.value = chartsList.value.filter(item => item.userId == userId) - console.log(myselfList.value, '3333') - - myselfList.value[0].rank = "待定888888"; - //挡板数据代码 - - - // learnTimeList.value = res.body || []; - // allChartsList.value = learnTimeList.value; - // chartsList.value = allChartsList.value.annual?allChartsList.value.annual:[]; - // chartsList.value.score = learnTimeList.value.annual?learnTimeList.value.annual.annlStdyTmLen:""; + chartsList.value = allChartsList.value.annual?allChartsList.value.annual.list:[]; + myselfObj.value = allChartsList.value.annual?allChartsList.value.annual.self:{}; + // chartsList.value[0].dept = "吉林银行吉林分行" + // myselfObj.value.dept = "吉林银行吉林分行" + console.log(chartsList.value,'chartsList.value') + console.log(myselfObj.value,myselfObj.value,'myselfObj.value') + chartsList.value.forEach(item => item.score = item.annlStdyTmLen); + myselfObj.value.score = myselfObj.value.annlStdyTmLen; if (chartsList.value.length > 3) { newChartsList.value = chartsList.value.slice(3).concat(); } else { newChartsList.value = chartsList.value; } - console.log(learnTimeList.value, 'learnTimeList') + console.log(newChartsList.value, 'newChartsList') }) getLeaderBoardPractCntApi().then(res => { console.log(res, 'getLeaderBoardPractCntApi') From b885a6600cd10cf7bd3fc03f712ff51aaa3c31c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E8=88=AA?= 我的排名 @@ -138,21 +138,21 @@我的排名 -11 +{{myselfObj.position}} - - {{myselfList[0].userName}} -{{myselfList[0].dept}} +{{myselfObj.userName}} +{{myselfObj.dept}} {{myselfList[0].score}} +{{myselfObj.score}} Date: Tue, 19 Aug 2025 18:27:23 +0800 Subject: [PATCH 4/4] =?UTF-8?q?fix:=20=E7=AD=94=E9=A2=98=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../examination/radio-subject-item.vue | 6 +- src/components/examination/radio-subject.vue | 61 +++++++++++-------- src/pages/course/components/talkingItem.vue | 18 +++++- src/pages/course/study.vue | 10 ++- 4 files changed, 65 insertions(+), 30 deletions(-) diff --git a/src/components/examination/radio-subject-item.vue b/src/components/examination/radio-subject-item.vue index 9d4149b9..66f5be7c 100644 --- a/src/components/examination/radio-subject-item.vue +++ b/src/components/examination/radio-subject-item.vue @@ -1,7 +1,7 @@ - {{props.analysisVo.itemContent}} + {{props.analysisVo.itemNo}}. {{props.analysisVo.itemContent}} {{ showContent }} +