From 1956fd9219f087664423ca25dda9aa8da39d70d6 Mon Sep 17 00:00:00 2001 From: 1019933623 <1019933623@qq.com> Date: Sat, 18 Sep 2021 16:19:00 +0800 Subject: [PATCH 01/11] add style course --- src/pages.json | 14 ++ src/pages/index/index.vue | 6 + src/static/images/icon/index/tab_10.png | Bin 402 -> 0 bytes src/static/images/icon/index/tab_8.png | Bin 477 -> 2497 bytes src/static/images/icon/index/tab_9.png | Bin 696 -> 0 bytes .../course/components/store_name/store_name.vue | 81 ++++++++ src/subpackage/course/js/course_api.js | 8 + src/subpackage/course/js/course_server.js | 10 + src/subpackage/course/pages/index/index.vue | 204 +++++++++++++++++++++ .../course/static/images/icon/arrow_b2.png | Bin 0 -> 251 bytes .../course/static/images/icon/arrow_white.png | Bin 0 -> 563 bytes .../course/static/images/tab/tab_0_0.png | Bin 0 -> 2149 bytes .../course/static/images/tab/tab_0_1.png | Bin 0 -> 2527 bytes .../course/static/images/tab/tab_0_2.png | Bin 0 -> 2459 bytes .../course/static/images/tab/tab_0_3.png | Bin 0 -> 2245 bytes 15 files changed, 323 insertions(+) delete mode 100644 src/static/images/icon/index/tab_10.png delete mode 100644 src/static/images/icon/index/tab_9.png create mode 100644 src/subpackage/course/components/store_name/store_name.vue create mode 100644 src/subpackage/course/js/course_api.js create mode 100644 src/subpackage/course/js/course_server.js create mode 100644 src/subpackage/course/pages/index/index.vue create mode 100644 src/subpackage/course/static/images/icon/arrow_b2.png create mode 100644 src/subpackage/course/static/images/icon/arrow_white.png create mode 100644 src/subpackage/course/static/images/tab/tab_0_0.png create mode 100644 src/subpackage/course/static/images/tab/tab_0_1.png create mode 100644 src/subpackage/course/static/images/tab/tab_0_2.png create mode 100644 src/subpackage/course/static/images/tab/tab_0_3.png diff --git a/src/pages.json b/src/pages.json index 116db35..709fc16 100644 --- a/src/pages.json +++ b/src/pages.json @@ -385,6 +385,20 @@ } } ] + }, + { + "root": "subpackage/course", + "pages": [ + { + "path": "pages/index/index", + "style" : { + "navigationBarTitleText": "课程管理" , + "navigationBarBackgroundColor": "#009874", + "navigationBarTextStyle": "white" + } + } + + ] } ], "globalStyle": { diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index 5589bbf..9d03d23 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -125,6 +125,12 @@ name: '商品零售', path: '/subpackage/retail/pages/index/index', serverKey: 1011 // 后端对应权限编号 + }, + { + id: 8, + name: '课程管理', + path: '/subpackage/course/pages/index/index', + serverKey: 1011 // 后端对应权限编号 } ]; diff --git a/src/static/images/icon/index/tab_10.png b/src/static/images/icon/index/tab_10.png deleted file mode 100644 index 247c05817f10c7d3400855f1495531b92de8fa7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 402 zcmeAS@N?(olHy`uVBq!ia0vp^CLqkg3?x4-dwml~xd!-zxB_X086^y}iWz1C$r2D7 zh=A-F#SAkl7^WkM%qnG=QwWuvS;{c87{r}g3KU`Q2yz3OBUTdR7tHX;YmL*wo{~ha zZzs1+4;K3H?3$&DM5t256rhS{o-U3d9>?!qd(G9Vz{Bt$EiF!K_q)IHU*~8#DafeL zQMj{SvTmv0rFBmQ8d@19DjKOyRZKbZ|H699?F~n^bw-t}?RXv9$(F@m>XF0|+1PVO z`PR~h3!N>cIa^C#X(-R!b-wsiir~_94{TN9T)2b2+^Si=?DvI;Q^i43d_O*P+4*Qq zT*Y6Hn-X@XqKY1`$bNM0!>c8k#uaOAbGgsz==E~xEMk>X7uMXp=fS?83{1OP6iq{9FJ diff --git a/src/static/images/icon/index/tab_8.png b/src/static/images/icon/index/tab_8.png index f90fae4cf475c3624b140bb9f15983c36b024171..4b19fe3d3927094bc048984e8f9c798a8521bcbc 100644 GIT binary patch literal 2497 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 diff --git a/src/subpackage/course/components/store_name/store_name.vue b/src/subpackage/course/components/store_name/store_name.vue new file mode 100644 index 0000000..1924957 --- /dev/null +++ b/src/subpackage/course/components/store_name/store_name.vue @@ -0,0 +1,81 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/course/js/course_api.js b/src/subpackage/course/js/course_api.js new file mode 100644 index 0000000..ce64999 --- /dev/null +++ b/src/subpackage/course/js/course_api.js @@ -0,0 +1,8 @@ +import { ORIGIN } from '../../../js/api'; + +export const COURSE_API = { + stadiumList:`${ORIGIN}/admin/stadium/list`, // 店铺列表 + +} + +export default COURSE_API; \ No newline at end of file diff --git a/src/subpackage/course/js/course_server.js b/src/subpackage/course/js/course_server.js new file mode 100644 index 0000000..9245726 --- /dev/null +++ b/src/subpackage/course/js/course_server.js @@ -0,0 +1,10 @@ +import { Server } from '../../../js/server'; + +class DeviceServer extends Server { + constructor(props){ + super(props) + } +} + + +export default new DeviceServer(); \ No newline at end of file diff --git a/src/subpackage/course/pages/index/index.vue b/src/subpackage/course/pages/index/index.vue new file mode 100644 index 0000000..1370525 --- /dev/null +++ b/src/subpackage/course/pages/index/index.vue @@ -0,0 +1,204 @@ + + + + + diff --git a/src/subpackage/course/static/images/icon/arrow_b2.png b/src/subpackage/course/static/images/icon/arrow_b2.png new file mode 100644 index 0000000000000000000000000000000000000000..54df2b3b9b66beeb07c3830279efe65fe73e4f58 GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU3?z3ec*FxK%K)DcS0KG($BwI4ubw(}YVY2? zyLRn5di3b^>(_7GxN-dW@oU$v0i_NfK78WDiHjF6oapY literal 0 HcmV?d00001 diff --git a/src/subpackage/course/static/images/icon/arrow_white.png b/src/subpackage/course/static/images/icon/arrow_white.png new file mode 100644 index 0000000000000000000000000000000000000000..13457065fde3eec1abd663ee678b82c6ab1dbbfc GIT binary patch literal 563 zcmV-30?hr1P)0LlYsqH!sKHHpDQg%F2@F}g9ZAv}|b3l-&% zb5lh+Wp!8g?e5LZO%GqbQ)d#%WoD9OW_AHs0TzLek`B#mQqsTloi6{C0ZvFdHM3RV zHDJIW;Gv}VW;P}1Zx=}Q*&Hw$z5*TtzknIw1Xz=_+XtEhj>2YUw}9_}ht`cIgY7*@ z`{P3Y1G>JM#jxH1_5gqGG(bJPZn`%PGz(0i%i%2D)Dvc+k7+G1Kt~B;W_N+zAxs;A z33L$CB5-KaR=^=mTLU|q)^?;$zy?z<8Nd8{>ymb2X{8;hGcW^v6Y4WUy=-nv`jG3r zV*wNBQ(!YR2JgGxk&b~S9|A)e#`bpu_yqW`8+v1y1~w!;&xN(KVQgn+HV+&CR}#A~ zz_O&Danv9#?&&15G17Cr;VCAoQD7_m!h~MZH(u&zaFuNS4h)2m`?|?^=PUdx$~uOOu}YgLDp&CRp1*O?W8 zmGxp4I0CLF**KP2ZAdG?E#L|8JEZ-T*ICBav(Nt%pGAk`n-a#%(`r(N*>J*s?P=ZwNp8?5hk1VKvQ)B=D002ovPDHLkV1h7> B_#glP literal 0 HcmV?d00001 diff --git a/src/subpackage/course/static/images/tab/tab_0_0.png b/src/subpackage/course/static/images/tab/tab_0_0.png new file mode 100644 index 0000000000000000000000000000000000000000..12e7b58c8f7d8f0f230fbbb56ea71f81c68fdb0a GIT binary patch literal 2149 zcmV-r2%7haP)h%ODZzv&mfsXCOPRWV|scs zn9UeIjWMkYwbS=Fr7nPZg%CgCe0qW%4^4Z(9LFs;M{PiM@R7ciG`mk=)UDv{Q0=k4 zt*&`vc0I*2EHQVmWq1m^$t6Sm8@{})^lkhsx zq330J2{>|9$S1kqvMwDsL#gCBF7Y^g!c`9z+?0QybT{GjTcq`V4ByDrXd#sTBiFon%e+1-P(Wh2B+iy)5wEmKzoS{Q zRMF(Rb4s15^M;;>F3pQnV~L;QvMJ|oVKm!`CP%yt8Qr-8(rRH!O+8s$DlG}-Hc%AdQ0oVm?;Kq2m-Gx>-IU@U$EM!kli zITyCyXNg%k?_34~NLCnkBD{C;RgC$h@7~Aob+#pc>9H#H-)KUD!C;ZgokN=h>F~b@ zr5%h~op(9Z?|8fQi}RA~2MW-!{+m(mZ-A={hI@Pzhi-{>5w!U}(c#1Ms^>re)$MXB zgEGhSF6S|v>r+yR`!GCE)XQXJVsW(7`URRZYs;pAKmZkoF){4i^6H)G@-{<SCeM|v7Ctb5iq)Caz^7p5AV#m914yaY!SoPIKIa7z z$#vGoJM*BYt83**Yz}UoE%)jUaVNicXvxn%=&l{Im7Zc^gX<`kP1Q0kbIZVLVc&z!<=nRc*!8C$MODkWZVhxa*RYV0g>%} zvX=#B|CTyWz=cpeLM(Ytuz;$&oGe_@yXZ99oFF>X!{Y;O%w+z6Yi`ULE>Q81;$k7o5T)1>$#t7L?8^=y%VP1C5%;IX8xUll}+B?R_T$_ z=c=i6HktPA0weXCWg&w$J2<=aQ7>s)SF)cYi7yaRKgO7w@`{o+FAyEREf**P)D%jK z(?dNie59$3&cU-@w`ngMp~T=+{7g<+70oV!())-F?(ue8M1FhyZB_QWCy^yqWB66B zDwqFWz|E|t`_Ri?#j@U+39bdV?suZMopktVjQbgs8ppJ5rOUaPH&n#Fk$bO4XU+iE z=j{F;+T2ET_%G%3Gmin$8f0uL@jQmFpg;E}P-w@!=fSY$Plm7f3Bvyvkx2s_A1sZn$EAl+KFvjn=jceO18PcB&-G zDQ+j0eA>$s%g;6L>4WrQl7~j)yTDVBq&93K#DjDuch~>)p`e^Tj>{I{l9$o7iW40= zST1N4Y7Kc?)Gin4(h1x3x8H zR7T-yVSg3I+su|cL&|I-HeA-_t3U9vp;vN5*!>g6h~QDKSqlnAwRr@bR3?ANHD988 z_?`M0$`+8>cLI+0ZYQIElv`0iS-rZ^V5E((nz&T)o9IeTRC0HJkM%86#}Zpmp4PV9 zw_dk+xb_`|H$d$mHuP-8+OV#dC-O}7d<><(hO65_HTF#sV+@)p(&}Y0tcYR?qRCy)FPUs(y9bwBG+oUbbw0cLmwO(3UIG}n>xx)9?&(IY%u-@f9 bbb$U3m7RuwvY=B`00000NkvXXu0mjfHxeTt literal 0 HcmV?d00001 diff --git a/src/subpackage/course/static/images/tab/tab_0_1.png b/src/subpackage/course/static/images/tab/tab_0_1.png new file mode 100644 index 0000000000000000000000000000000000000000..0d7f666bcb68077bf3d939e4eaf56128eaa08c07 GIT binary patch literal 2527 zcmV<52_W`~P)=6=s)k{i%ixEsvhf#VF@ysqJGpDNLcX>iRsV3-u*CXURf1u7NX!1f-h(&;-C}S}* z{H{w!Ba-da^r`JGxG)dqW58` zJ3Ufzo#FkSuhSrvE_3%X)FEv94qCI%mh<`;2sO{7H8nsbcZdJqlSqNO8?ZcdLaN@7 zt;XBUXQd9Hk6v2NQ}q*S)Ms&Pw%@UeNOGmMb&7;^OzlG-z8zj8=zPTop^p8#i!S^7s)^0CM#br2d6GL9&e1ML#MwdUK;zFc82001KA&a7?053Rgs8 z*f2OYTp&^ypR!dY#wq5Pe{+ zBHsO+aB)54bOxvGL))dDK{)v*L!~CduN)Rn^^61PBaZ61ARkRl<@mtspwA8^??+9b z7I`7#)j9PJQ<^U1_SBFIT5Cmb$Ma~tz#}AeLkgi^M`~?;vOgD*i3V7e+C{AEN|e&l z=DFvdT;gH0Y6YY-j-b@{iKo}GxqTXirm+(%ylXJ^6y=D*Y17?sIdV)fy&=NThk9Hs zP-MVlS^5KV?Q7Bcz5uI1j##EuxG1L+b_?NZEbjL_6Gf?B;_3K=+kf$Xu2p(Ei1!r4 zisN>te-z2J=g>M9U^TgumdpdfMO4l`ujJalhStvn7ooS)n*EAH_|;2v)$SmS(C-w) zvzERMZQKa<9QP9ARh0cSrh3e=^jMA+;ey?h_#LQgLdL&=c=|WOrRbqt+h@_nE?}zH zckRP6=kvYJBXzg_e)vAL<^m%2li2$6C2fzZN``uog0Yz8oo`g^4NKkVmzPbePsfS~ z&P%<$hfwwc;@vO%9&+nYZ~G^)^-kbZt}%HJ)1J@L?pK4btQIRi8S#wGbJ+R{K-zo} z7{61HT$Cc)fT3Q%;9AF1^~^8))Oe(A4wkVS+i9m{{S!kiB$j^Ltwa81I%SX>*aiBF z9*_oM~f68i_BX)s6ro>QBU* z7NAnLD+;oTdGr)o-vkUfp=Yv;mdqn{J-D#H!dM)g*PILr(S| z*>lQ&EDUoVvCh4I6nU+W*DdsPOb7cdV46!n4botq&(d{=Ylg&$6a_y59$7n+Ve261 zM$f<>fN?IZUB`TUBO6c=hgk!A(fTq^<25$(S)O^J?mRjXvK`c*NFsIl80nP5vC4n?rfjLM*$vrqYRrWJw#<({Ub3KaSR4DqC2U`XgH1LTlHX&c6PA zmEzj>es5wKw%Sz0##6*H-wxkaB;;G6xBW-h`mUmi=q&MUvSKZga0t(^CC(4cvbZpR z8hNV))FQO~X*Yt6zk}XN)ZE1D(IcGGX9lNDfA~^vDq5^T8MI0S*bH?qvGfna(Gw=* z_H>&Pi?P%bMV;qY#53P4OUQrSA|N)kU+&Z}%|bL6xYDc!K%eThQ$lG7)cc_2^m!b` z8z^=nwWKBel9LAx@sigu0ionC(R`y=C-o9qvQLJw6$$xneJHUILp@(Ce(d4gp#@yG zK0iVj{6yWdx{;%ib!g&%BrzS4ElH_%vF7)r)KC)#Ruk{aZat`Z_s( zNgkOf^;?DpZ{&`U@%(2>!)sU~2^RI z?2CaV0@Z2n#?mtO6;MJ#e#Gi>+O0L|k!$7DDMpoR-C4M)?x!W)7J&34C)e=>v@M4A zo}>Osp=mxVQXf_xV+A)So<%F^x!j&kaU=1}FPvDNvtPSPmY4@lXiAuQuTYEw7~F$l z>|i+BU)4no`DSeUYHWSC_u9tY0|r4~No#hGcNUW~TY-m?-@@SOA|}0!c=q~I^&MS@ z3XA4L0kFnCy+jx>uHp)ks2t-X~XJv!N&q`lqyJZwp-O6yW|pqnR6c$26AE()DD` zdKGqC&_Q=B#1+O+;~75{dJ>O;`c9~eUr8*pv6hFtp04d`Y-4+%SW3Ob zaMM-fk6F&Z!#dW475N7+)5AA}Iptyo-hZd!>y~oyC)3rV`2tO+o{e=}_LI}Htizav zi!rAUID?hwbd!bw@#5tHCd0mlSoe<7Xed9dcTca<@=MbCtMr9ec#+ORxcV(3Ody`wR zSrqh56Ey!M-7a;`#9%A2jGU}Tt7L>GV!v|WMXj7Y@*=^H{ktU*6sD(-k%gl;E6WE#MqLtBV zVP|G-A|-TZfJ!ZD!Co){71S1@F|{@(E#(8LTBHFiX$oO?c4v3yyyiW(IWu$SvKKC? zzMnR`bKdj+KiB{B%nCkaM|{Zm@IOXKj*_rIUM|m9_K+eo7GSZMMl7aZYGTzxt~cBO zGa5z=>NJCFj7h#96PKD)IU(D!y^(v-w4b2M>436y{rM)uYe=z*j_x;!#r(u#xe*&> zln;1=RGtwnN0D+C82L~?8I!z*;1oVFkM{WA*fZb9{JrBBepOPT7^s~$&qSIT5dQ(1 zEkep(^^#J+l@WX(&LZS|!imF-XHHegZ*M}qu^{xnXA!cUpQ$qnf>wwsVt(KpLR(17 zKM!(tY7_oxWAxOiVLDR7m9SJJbQVzH)X9K;9oeA^v;_PNOe``}*$(7FD`5FuM=Gh*NkY}@*OCv5UUboxtRG9l| zlGhk`N(@}BD5xANgj~IZRPUMnmM}=|h%P3_kASO3T>8r?*;v$H>L64UGDcA-$)Oq{ zSIJ|l4^4Srd1>Tl($#_!|$xSonEiv8tYS9QlD!^-PdY$0jh8`4`A*UCDd7 z3DhF5$XI<&oS`xJ36{hLP0&&b(raHv$~KFT>Km#N+I^(f<(K;Js>lQ!tU??n)O`m+ zNG0>kxhEBQ3Mo1OrHuUuv4L=W6Fa&lkqeHVSnfTIY`}azkoAp8`uH==PFQ+*!b_|c%~jeNkQ2>EMITN2wO$&`^k9`ehMgKaJ7<&Ej-VTIN}Ye8iQ5Uq z-!=P?eTj@|q%wy=egRPPMgv0LO*r}cnt4>Zdr&IjTsCJZj(1#hRX^z0dygU2=bS=n zMD9Y0Lk>p7p9lxr5HZ~>3hET{=sBcZ01O(T=cAoviJhJvvO^#poeN@1mEA)v#Zj1Z zkgEtK4tR!mp?EDN&khHp5PJy6@3%RW5Q;vAJeuz|LYrT=qsWpzR(0uJI~nwoz$B|G4bb4bj-{K< zR;@tlMNJ=RG{yzh$BxgfZI>Z-O)^UI44}z%zvJdw?}h3{-92c8;eb?dW2A0UOT| zN_@i|(*;6K8SeT4x_q=yMP!n2GFq`0*)L0VeG@6umI_t^*QeAk@G#-{&*kF{WQ$(r^o0tZ@v)fp_-^NAPS|X?2045H z$!E(vH92UZ0*IYDW-+Z=4Vyo2S*SKR4P9&)MmvyeIUpqgIQ`8T?+jpdu) zaa`+=Svv>hACXcGTjm_)_KZ!!4s!dsa!;wyY(QvR2zNi?X}E3cu1CwOf-uv%?hL}; zMtIY4?~t=Cu{Aakf941nv91zZN6J>dmHdli2`2&52rhyMAue01C+*kLW#{~gPA$H-vwe0x;$ifQF(7;toCH;tc+JrLHZUW zwLzr#h0!G4>t_3N>F7FiHWe`GTM6~7EG<^Wgq(1Qu0TgknO0uNU34TLuBsL)3cfM^ z!A^zV$WK8$%1FXJLo8AA^ys6@J_Pl^E6K`HiBAQ*k?4$6tzT| zFwwkouuqmPQToqI0+W3-Wd4AZDl|=TtLgU;>N!-}yS$h6=Jfiul^ZtPdcW`*qf072 z?w+f%XyOKAO0DbL2V?Qrf7~jOrW(F7j*aCcjm@))s-cCi@^&;G-Gk12M>ky=gjBKd zp|O`xLQU3Xr<{4K8Dbj5K6vL`zy&(zN!RIr}4^g zj)mehL)HH8p|aKOz1dj)J?3Iqq6V(oVKmx*V7eG&)SWd9T$|9v0(Oz^{Xe0LWY}@L Z_P=%5?S0xE>#_g<002ovPDHLkV1hXPwSoWu literal 0 HcmV?d00001 diff --git a/src/subpackage/course/static/images/tab/tab_0_3.png b/src/subpackage/course/static/images/tab/tab_0_3.png new file mode 100644 index 0000000000000000000000000000000000000000..9d27be69fa86b7da0a140c68ee014f4b229873c4 GIT binary patch literal 2245 zcmV;$2s-zPP)wbr6dv0?>*8Rl`%-e#S1_L(zx?%bK%dDfkf zbLX6W_Fn(J*7~oT!S|*zXoXFR*Dt&P$$L1JaSV_xA^SjWw67|Io60^g zKmtME=_B3I=VVr7GMY@r&|d!~wBC)ea{vQV-t@%OG+Ld*nDwMvekxc(4IRmpbFuRb zmRljP$q$Mjg|aICN_EvdmSlQI0%(BKO#;|r`xgK-yva?^^Qo>0_OYS%FJf{|!Xzp5 zyysIES;_8h2(;FMC)2=8k_T-B0UvZrmZkA69PJ|?FyWj1Z z>Ckz8AfT!nNN2hjPns`v{~>AH1=VdCVL!w7>#Mk`{xty5GLdO|}PTD*?LHwfazNHjZ&{l^cGBb$!;d$Ha#0U+hCWmU^B;@CIr zL6mOt;{(W@@ZoP?M{n*Fh7Sj_YyN@C-9^o={}k2Kl+#cqlOmJJk*(i~QQLuBq>L2W zK2B}R6Sz5rv^1pvIaAxe=_Y(mVC`*DDi!KTsWhQCNw@xckT1y^j_M~AP>|Gan8wA_?f7~&<^C-gbsN@x z9MmVV+!2FOTnsc|sZQK`9qjK=>P@tLgI@1#Jo7Hqxj(UF*VSPDgaFEQ&SvfRuFzh0 zJxcAvs{4S70!gcAL+X@r(3?ZwH#>k{K;lxqb;$f4ls%5MHG%e?d2|M;s&`AtR7y9w zp6)rUZ@a{ShE?>@9{Gs)fcS@8WlgzCO{GD-hOh78TAr|16jzK;$ZZCf5{Y zq*>A2!R~c4si-_RF@W|rJVK6x!KsECaziLuz!{W1hT<`5TmBY2%+`Ml%ad63l?b$e zNG0A4*GjRRmCc7H29V3;0{M}i=>}C7f`d%ct9f2 z@Ak*$K;O@Ry9R+No4$depGMi|=f<(z0X2LEcp11R;($K@51{!1#@>fg^2X0m-f{fC zAA_DB&ASXNBHjF(sR77k&HL)VjIVwY`GrvNKT&ihT4SL;w0aX`rAP6hc&=yfr>5nl zI0K&&8rs*e0iT@-K#r`1BqTeKA-)uvUpORYrSRBDP4lj)p`rLR8?r!6?C4?C4;gRZ z5D)^&Wfu}$_mOU{jT6;L)sTxX7e0Ct_-vx~kr*fcF5%G{VDhO0W=65cHCP1LE6jT9 z?l@jeIv^1sTYmzp?oMdvGRhvtdd&fY$!HfQ^c%2hSwtQZa6ObgNo~u*xDJ|BKrUGB z-LeSJJcqTj(7cE-t)yFD56npF8yV8}k{HuocL!S6VR#6oF5v5>tamA_SAa;0HO3`1?nnXmkLP}MfG(DeZJ&yYmZYdCymCcXumG1y65nXwo3zo zr94am6s@^ZJdY7#pi+8Epe^*S+>>X|ubWBdfbyXes%|XSxh)6{q`hA zZ)0`SFJoaO^^sF|o!60m2~5sUW)re-w*K=N8bK{cl<}QRv$F$@4$-hI{v9azZq#); z>fD4e!^IE9F>G!d>0Q5%n%(Sa)4NzHf9mIN#x$leV%|((FpOE< zShIrFtuGeqycXAxQ|p1cdE~rCto>TFxPTH96pblR=g|HhwAaSUrpv*G#e69FTnfcY zdNsb@nCKG8`XZaGZ_xHfSTDn>9jAxujSv6nF=^-7EsL;5%t7Lfi}bD^5H%6)6X>cV zL6Mg47p@N{4li|7Mdke{(})ccRXHG+MTGqYZC}CHjRX9382=m|P{=s_>Awh4Uiko8 ziN@|sRGhMw2x3v{RZw!G$75ELAI?wOH-Ao|6V@z@-U)jUv3aS#pv`ttGk#d`V2b$X z$N;$ow`0uX81>btt>u74#1Ts+%|~}n{NyEk)5z+buZ;$XTfKA*<)2o* z<3C%s0Ij!Txi{fo?yUqf>Q_-T#(tLUX_ugp{Hdb{h^}kz!pGCb5|+|#s3-4 zHgjv$A@0fK;^ft(L8Aa8uZ|s{q<^_Q?fJ}1u68cPs5QVewB3)F%Ch3A^J8INg|Lq; zpyUq8m=pZ}hr~zYB&m#2Bjaasg#^p@ul&Eq7|ht4+&BnW>XPGUa-~W#M)Us%Nu8gB T-pioD00000NkvXXu0mjf=%-_i literal 0 HcmV?d00001 From ce223a2d486f47ce29f6ac5a1d897cff46f31ee8 Mon Sep 17 00:00:00 2001 From: 1019933623 <1019933623@qq.com> Date: Fri, 24 Sep 2021 15:09:28 +0800 Subject: [PATCH 02/11] add course style --- src/pages.json | 76 +++- .../cancel_class_modal/cancel_class_modal.vue | 147 +++++++ .../class_reset_modal/class_reset_modal.vue | 175 +++++++++ .../bclass_reserve_item/bclass_reserve_item.vue | 112 ++++++ .../manage/class_manage_item/class_manage_item.vue | 93 +++++ .../private_reserve_item/private_reserve_item.vue | 108 +++++ .../student_course_item/student_course_item.vue | 72 ++++ .../sclass_record_section.vue | 113 ++++++ .../course/components/store_name/store_name.vue | 20 +- .../course/components/tab_bar/tab_bar.vue | 117 ++++++ .../components/task_section/task_section.vue | 193 +++++++++ .../course/pages/arrange_class/arrange_class.vue | 427 ++++++++++++++++++++ .../pages/class_add_student/class_add_student.vue | 222 +++++++++++ .../class_student_detail/class_student_detail.vue | 251 ++++++++++++ .../pages/class_time_change/class_time_change.vue | 268 +++++++++++++ src/subpackage/course/pages/index/index.vue | 11 +- .../bclass_reserve_detail.vue | 242 ++++++++++++ .../class_manage_detail/class_manage_detail.vue | 433 +++++++++++++++++++++ .../private_reserve_detail.vue | 159 ++++++++ .../student_course_detail.vue | 302 ++++++++++++++ .../course/pages/manage_list/manage_list.vue | 188 +++++++++ .../course/pages/task_detail/task_detail.vue | 132 +++++++ .../pages/task_finish_list/task_finish_list.vue | 147 +++++++ .../course/static/images/icon/arrow_black.png | Bin 0 -> 624 bytes .../course/static/images/icon/arrow_green.png | Bin 0 -> 653 bytes .../course/static/images/icon/calendar.png | Bin 0 -> 786 bytes .../course/static/images/icon/close_gray.png | Bin 0 -> 667 bytes src/subpackage/course/static/images/icon/phone.png | Bin 0 -> 1137 bytes .../course/static/images/icon/triangle.png | Bin 0 -> 428 bytes src/subpackage/course/static/images/no_order.png | Bin 0 -> 14345 bytes 30 files changed, 3994 insertions(+), 14 deletions(-) create mode 100644 src/subpackage/course/components/cancel_class_modal/cancel_class_modal.vue create mode 100644 src/subpackage/course/components/class_reset_modal/class_reset_modal.vue create mode 100644 src/subpackage/course/components/manage/bclass_reserve_item/bclass_reserve_item.vue create mode 100644 src/subpackage/course/components/manage/class_manage_item/class_manage_item.vue create mode 100644 src/subpackage/course/components/manage/private_reserve_item/private_reserve_item.vue create mode 100644 src/subpackage/course/components/manage/student_course_item/student_course_item.vue create mode 100644 src/subpackage/course/components/sclass_record_section/sclass_record_section.vue create mode 100644 src/subpackage/course/components/tab_bar/tab_bar.vue create mode 100644 src/subpackage/course/components/task_section/task_section.vue create mode 100644 src/subpackage/course/pages/arrange_class/arrange_class.vue create mode 100644 src/subpackage/course/pages/class_add_student/class_add_student.vue create mode 100644 src/subpackage/course/pages/class_student_detail/class_student_detail.vue create mode 100644 src/subpackage/course/pages/class_time_change/class_time_change.vue create mode 100644 src/subpackage/course/pages/manage_detail/bclass_reserve_detail/bclass_reserve_detail.vue create mode 100644 src/subpackage/course/pages/manage_detail/class_manage_detail/class_manage_detail.vue create mode 100644 src/subpackage/course/pages/manage_detail/private_reserve_detail/private_reserve_detail.vue create mode 100644 src/subpackage/course/pages/manage_detail/student_course_detail/student_course_detail.vue create mode 100644 src/subpackage/course/pages/manage_list/manage_list.vue create mode 100644 src/subpackage/course/pages/task_detail/task_detail.vue create mode 100644 src/subpackage/course/pages/task_finish_list/task_finish_list.vue create mode 100644 src/subpackage/course/static/images/icon/arrow_black.png create mode 100644 src/subpackage/course/static/images/icon/arrow_green.png create mode 100644 src/subpackage/course/static/images/icon/calendar.png create mode 100644 src/subpackage/course/static/images/icon/close_gray.png create mode 100644 src/subpackage/course/static/images/icon/phone.png create mode 100644 src/subpackage/course/static/images/icon/triangle.png create mode 100644 src/subpackage/course/static/images/no_order.png diff --git a/src/pages.json b/src/pages.json index 709fc16..6e7ee0f 100644 --- a/src/pages.json +++ b/src/pages.json @@ -220,7 +220,7 @@ "navigationBarTitleText": "门店信息列表" } } - + ], "subpackages": [ { @@ -389,15 +389,79 @@ { "root": "subpackage/course", "pages": [ - { + { "path": "pages/index/index", "style" : { - "navigationBarTitleText": "课程管理" , - "navigationBarBackgroundColor": "#009874", - "navigationBarTextStyle": "white" + "navigationBarTitleText": "课程管理" + + } + }, + { + "path": "pages/manage_list/manage_list", + "style" : { + "navigationBarTitleText": "课程管理列表" + } + }, + { + "path": "pages/manage_detail/student_course_detail/student_course_detail", + "style" : { + "navigationBarTitleText": "学员课程详情" + } + }, + { + "path": "pages/manage_detail/private_reserve_detail/private_reserve_detail", + "style" : { + "navigationBarTitleText": "私教约课记录详情" + } + }, + { + "path": "pages/manage_detail/bclass_reserve_detail/bclass_reserve_detail", + "style" : { + "navigationBarTitleText": "大班约课记录详情" + } + }, + { + "path": "pages/manage_detail/class_manage_detail/class_manage_detail", + "style" : { + "navigationBarTitleText": "班级管理详情" + } + }, + { + "path": "pages/task_detail/task_detail", + "style" : { + "navigationBarTitleText": "作业详情" + } + }, + { + "path": "pages/arrange_class/arrange_class", + "style" : { + "navigationBarTitleText": "安排上课" + } + }, + { + "path": "pages/class_add_student/class_add_student", + "style" : { + "navigationBarTitleText": "添加学员" + } + }, + { + "path": "pages/class_student_detail/class_student_detail", + "style" : { + "navigationBarTitleText": "学员详情" + } + }, + { + "path": "pages/class_time_change/class_time_change", + "style" : { + "navigationBarTitleText": "更改上课时间" + } + }, + { + "path": "pages/task_finish_list/task_finish_list", + "style" : { + "navigationBarTitleText": "作业完成列表" } } - ] } ], diff --git a/src/subpackage/course/components/cancel_class_modal/cancel_class_modal.vue b/src/subpackage/course/components/cancel_class_modal/cancel_class_modal.vue new file mode 100644 index 0000000..3647a3e --- /dev/null +++ b/src/subpackage/course/components/cancel_class_modal/cancel_class_modal.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/src/subpackage/course/components/class_reset_modal/class_reset_modal.vue b/src/subpackage/course/components/class_reset_modal/class_reset_modal.vue new file mode 100644 index 0000000..257a2cd --- /dev/null +++ b/src/subpackage/course/components/class_reset_modal/class_reset_modal.vue @@ -0,0 +1,175 @@ + + + + + diff --git a/src/subpackage/course/components/manage/bclass_reserve_item/bclass_reserve_item.vue b/src/subpackage/course/components/manage/bclass_reserve_item/bclass_reserve_item.vue new file mode 100644 index 0000000..6989a52 --- /dev/null +++ b/src/subpackage/course/components/manage/bclass_reserve_item/bclass_reserve_item.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/subpackage/course/components/manage/class_manage_item/class_manage_item.vue b/src/subpackage/course/components/manage/class_manage_item/class_manage_item.vue new file mode 100644 index 0000000..8323279 --- /dev/null +++ b/src/subpackage/course/components/manage/class_manage_item/class_manage_item.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/src/subpackage/course/components/manage/private_reserve_item/private_reserve_item.vue b/src/subpackage/course/components/manage/private_reserve_item/private_reserve_item.vue new file mode 100644 index 0000000..d980d5a --- /dev/null +++ b/src/subpackage/course/components/manage/private_reserve_item/private_reserve_item.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/src/subpackage/course/components/manage/student_course_item/student_course_item.vue b/src/subpackage/course/components/manage/student_course_item/student_course_item.vue new file mode 100644 index 0000000..3c7daf6 --- /dev/null +++ b/src/subpackage/course/components/manage/student_course_item/student_course_item.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/src/subpackage/course/components/sclass_record_section/sclass_record_section.vue b/src/subpackage/course/components/sclass_record_section/sclass_record_section.vue new file mode 100644 index 0000000..be3d81b --- /dev/null +++ b/src/subpackage/course/components/sclass_record_section/sclass_record_section.vue @@ -0,0 +1,113 @@ + + + + + diff --git a/src/subpackage/course/components/store_name/store_name.vue b/src/subpackage/course/components/store_name/store_name.vue index 1924957..2c906ab 100644 --- a/src/subpackage/course/components/store_name/store_name.vue +++ b/src/subpackage/course/components/store_name/store_name.vue @@ -1,9 +1,9 @@ @@ -17,7 +17,7 @@ export default { curStoreInfo: state => state.device.curStoreInfo, }), getThemeIcon(){ - return ()=> {return (this.theme=='light')?'/subpackage/course/static/images/icon/arrow_white.png':'/subpackage/course/static/images/icon/arrow_b2.png';} + return ()=> {return (this.theme=='light')?'/subpackage/course/static/images/icon/arrow_white.png':'/subpackage/course/static/images/icon/arrow_black.png';} }, getThemeColor(){ return ()=> {return (this.theme=='light')?'#FFFFFF':'#333333';} @@ -62,6 +62,13 @@ export default { width: 52upx; height: 52upx; } + .sn-logo2{ + flex-grow: 0; + flex-shrink: 0; + margin-right: 10upx; + width: 30upx; + height: 30upx; + } .sn-txt{ /* flex-grow: 1; */ line-height: 40upx; @@ -78,4 +85,11 @@ export default { width: 28upx; height: 28upx; } + .sn-arrow2{ + flex-shrink: 0; + flex-grow: 0; + margin-left: 20upx; + width: 20upx; + height: 20upx; + } \ No newline at end of file diff --git a/src/subpackage/course/components/tab_bar/tab_bar.vue b/src/subpackage/course/components/tab_bar/tab_bar.vue new file mode 100644 index 0000000..08e7bf1 --- /dev/null +++ b/src/subpackage/course/components/tab_bar/tab_bar.vue @@ -0,0 +1,117 @@ + + + + + diff --git a/src/subpackage/course/components/task_section/task_section.vue b/src/subpackage/course/components/task_section/task_section.vue new file mode 100644 index 0000000..01115d3 --- /dev/null +++ b/src/subpackage/course/components/task_section/task_section.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/subpackage/course/pages/arrange_class/arrange_class.vue b/src/subpackage/course/pages/arrange_class/arrange_class.vue new file mode 100644 index 0000000..e948268 --- /dev/null +++ b/src/subpackage/course/pages/arrange_class/arrange_class.vue @@ -0,0 +1,427 @@ + + + + + diff --git a/src/subpackage/course/pages/class_add_student/class_add_student.vue b/src/subpackage/course/pages/class_add_student/class_add_student.vue new file mode 100644 index 0000000..07fe6ef --- /dev/null +++ b/src/subpackage/course/pages/class_add_student/class_add_student.vue @@ -0,0 +1,222 @@ + + + + + diff --git a/src/subpackage/course/pages/class_student_detail/class_student_detail.vue b/src/subpackage/course/pages/class_student_detail/class_student_detail.vue new file mode 100644 index 0000000..b902720 --- /dev/null +++ b/src/subpackage/course/pages/class_student_detail/class_student_detail.vue @@ -0,0 +1,251 @@ + + + + + diff --git a/src/subpackage/course/pages/class_time_change/class_time_change.vue b/src/subpackage/course/pages/class_time_change/class_time_change.vue new file mode 100644 index 0000000..cc0a0b2 --- /dev/null +++ b/src/subpackage/course/pages/class_time_change/class_time_change.vue @@ -0,0 +1,268 @@ + + + + + diff --git a/src/subpackage/course/pages/index/index.vue b/src/subpackage/course/pages/index/index.vue index 1370525..ef1ada1 100644 --- a/src/subpackage/course/pages/index/index.vue +++ b/src/subpackage/course/pages/index/index.vue @@ -33,7 +33,7 @@ {{e.type}} - + {{item.name}} @@ -58,7 +58,7 @@ const tabList = [ { id: 0, name: "学员课程", - path: "", + path: "/subpackage/course/pages/manage_list/manage_list", }, { id: 1, @@ -100,9 +100,10 @@ export default { }, methods: { - tabChange(path){ - if(path=='')return util.showNone('开发中'); - util.routeTo(path,'nT') + tabChange(id1,id2){ + // if(path=='')return util.showNone('开发中'); + let _type_id = `${id1}-${id2}` + util.routeTo(`/subpackage/course/pages/manage_list/manage_list?type_id=${_type_id}`,'nT') }, } } diff --git a/src/subpackage/course/pages/manage_detail/bclass_reserve_detail/bclass_reserve_detail.vue b/src/subpackage/course/pages/manage_detail/bclass_reserve_detail/bclass_reserve_detail.vue new file mode 100644 index 0000000..d091192 --- /dev/null +++ b/src/subpackage/course/pages/manage_detail/bclass_reserve_detail/bclass_reserve_detail.vue @@ -0,0 +1,242 @@ + + + + + diff --git a/src/subpackage/course/pages/manage_detail/class_manage_detail/class_manage_detail.vue b/src/subpackage/course/pages/manage_detail/class_manage_detail/class_manage_detail.vue new file mode 100644 index 0000000..9361008 --- /dev/null +++ b/src/subpackage/course/pages/manage_detail/class_manage_detail/class_manage_detail.vue @@ -0,0 +1,433 @@ + + + + + diff --git a/src/subpackage/course/pages/manage_detail/private_reserve_detail/private_reserve_detail.vue b/src/subpackage/course/pages/manage_detail/private_reserve_detail/private_reserve_detail.vue new file mode 100644 index 0000000..207193e --- /dev/null +++ b/src/subpackage/course/pages/manage_detail/private_reserve_detail/private_reserve_detail.vue @@ -0,0 +1,159 @@ + + + + + diff --git a/src/subpackage/course/pages/manage_detail/student_course_detail/student_course_detail.vue b/src/subpackage/course/pages/manage_detail/student_course_detail/student_course_detail.vue new file mode 100644 index 0000000..de796fc --- /dev/null +++ b/src/subpackage/course/pages/manage_detail/student_course_detail/student_course_detail.vue @@ -0,0 +1,302 @@ + + + + + diff --git a/src/subpackage/course/pages/manage_list/manage_list.vue b/src/subpackage/course/pages/manage_list/manage_list.vue new file mode 100644 index 0000000..4ebc440 --- /dev/null +++ b/src/subpackage/course/pages/manage_list/manage_list.vue @@ -0,0 +1,188 @@ + + + + + diff --git a/src/subpackage/course/pages/task_detail/task_detail.vue b/src/subpackage/course/pages/task_detail/task_detail.vue new file mode 100644 index 0000000..e4a5ae1 --- /dev/null +++ b/src/subpackage/course/pages/task_detail/task_detail.vue @@ -0,0 +1,132 @@ + + + + + diff --git a/src/subpackage/course/pages/task_finish_list/task_finish_list.vue b/src/subpackage/course/pages/task_finish_list/task_finish_list.vue new file mode 100644 index 0000000..3fd336e --- /dev/null +++ b/src/subpackage/course/pages/task_finish_list/task_finish_list.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/src/subpackage/course/static/images/icon/arrow_black.png b/src/subpackage/course/static/images/icon/arrow_black.png new file mode 100644 index 0000000000000000000000000000000000000000..137e9b859aac131acead0c0a4716e55af5d315a9 GIT binary patch literal 624 zcmV-$0+0QPP)}itKVapM$YCc4f~FJ{v=>e}Y!pP11B0lI za)pw{G{ zVx>|!9!1d>Gp`ZRZDY*0AP81ktyZ)Q=oqk8s~u{$+y8vu-vsbHVfTZG0%OdV^nMZO z1VgR$Ip^GG0LPN#U(CD_hT-lqOtXNJAIsKSUvSRt05~b{MDz#1Rb$MX1XOA&^_@8T z0kfdO^euqXNmE8dbi)|)Y#!5TfJhU{1ok*!DxgGV znsfrdI{;+>(&-fd53IF!0i@O%OP>jtM8q|%R;z2H(dacZUj#4$a2UX&LZQ$UXJmmF z0gmO@>-Ai}-+uw%az_45YwhE#`40p*7z~~=a|3{MJ?DAey>7RAe`&z9Ilk|oBBC8; zUQZLU{&R{2Rp4P(s5#8Sd`Vp_6*v8PI<(rP}Rmu+)B z?Isa@cg|f2!|>}oFkw2eZM4=6=iJM*lK?*Ca=B}rPN#pM<&Xv|r7kh^uKdjNyzSv| z*zEOsVw0s7?fx3ZvXxTjiRehT+x;}F__OxnB4Z1yi3Kok$^Hj-&J-k(h=I5O0000< KMNUMnLSTX-MH^lK literal 0 HcmV?d00001 diff --git a/src/subpackage/course/static/images/icon/arrow_green.png b/src/subpackage/course/static/images/icon/arrow_green.png new file mode 100644 index 0000000000000000000000000000000000000000..ff4fdf0f2bcf507e09bd320970e1a00c48dfaa82 GIT binary patch literal 653 zcmV;80&@L{P)9Zmd>ysK0%I)=|LxohF`t zO*IlQWqAOGy|4r90TYO9@Nx2{`!=W&`>#|A;k>KRmTSNdAdDktiRE@pZjXV%G1n)Q^Kz<)X3m%V0kPbDo3q;k3sOq1gUojWbe>pY(XGNX-k5D@ zIkkpn!RPy!SmAbuu&cH;Te6Yt)b}D^O&QjdV;jt`VM_WqXp z=99E{ifrkbjHZ${O}o-%#}cvpiVIM=vrOAD0G{S%DB}5dUBYAAPPZyQj$$1o4{OAxKX&~W%bo`jYa@fvAE4AeC?ll6 zT)AjxL_dX$6!Yi2_vXgE&vAY|$5Cc#gwE#j-hJnu?>pz7@44p+lt=^u$s?zp8n+SO zlh~HjbDle_N6YTkqw5JhZYG8FO-rz3&vMr{1CLm(nEnF7Hj8qIbp25Mgb~4T7Z9QYDV~9t1aVgI zxbG-_;*H)Ve&iI_V&53?$G~xt+MWUxj9xMJ^S;T|Pp$o=?=Y@A5ds7gjCP_AKI_nQjRZhS zEhAk<5Oy7jalp^<2quPTqvzq*ERU2LNXjEaHx7}M6JbDXgw;XA)CXpos`7IW($e^TRdaw6#WmZRSNx=YU}Hkd0HWCN!18ls zvU4qyl<6u2ujm;#uYnBpzC?0vYxBk^->WZbmfl%FDkwDRqE~8i+q~#y?U4!rQbD2l zpEbczu>uLLLN;qE#Y$0Ia%b|S37%4{df#jGI>R({KAR@GvZ z$sk*H8UBocfFus}#C-XNMdiA&)RP`eljwV%MFacZ}SjU$1&g8!(L|7cY} zBFri28O_`|_xRj%=Z0ZJ7K`E_A~qZj`Dip!ze^#6Tm?=c1P8zyjRrNF zP01LeIUw;%)q!P$NsBoL#P|KXmzO^d0QP{0z1!VweG@_$LWp1)%;;Fh$ES}Nqt}e# zqF&#AYntY-5Qy*lHPbXFj^iB>$u|H9z?gI6Ww*QIEdz{>F&Lb+r3^j-*aE;9!(p%2 zIS7I1O^)M!C8DPQegfE5IsxaF-EE&O0!E+h54;^n=_-BvyMukPZR?o^5^AB}cOL_E z4!{5~0Z;?*dl6<5n79*(9T3%?C<)9oqD2&;P9IR{sR}a*OoY{#kRXqXHPlLk!nA|A z0?uG!E-|go8|7OxK$d1oFfmIg(MPHT(&b$>kyJyg5^#|O@|-oKu83x)HV{-5dnS;m z$K+k0_7(x0=F+)9qF_=k3Jim_)V?5~(})L^D*Hk}GMG`Gpkj=tVpX=S+Jgd7$_NVs zNnl20ua>$vy8g!Gyj7+(lmar(%%|s4j=kxp(C-$-M8Nr0yW4&7xlDihKY_%2;&whw ziovZ{tT~Rkp7Jef^(!^BGQDGE7GIQ!Xo;2q9=H0KldBL2d69QPr>UIFr=UcYxZ8^SZPSlizce*jG-aa5<0P+kB4002ovPDHLkV1nPq BD!c#y literal 0 HcmV?d00001 diff --git a/src/subpackage/course/static/images/icon/phone.png b/src/subpackage/course/static/images/icon/phone.png new file mode 100644 index 0000000000000000000000000000000000000000..9ac41699c90c4c55e984fe99c5257bc936a1ff0b GIT binary patch literal 1137 zcmV-%1djWOP)#TThnmgw zjh<{Lh!{X|lt2f7i$FR7;xK2{-XAig2!ghn2w}3Y9^nYeEr0>M*h%zRWQg98*YN!` zzHb4x^a!y zP{fYNS+2-*(!KAuR;5Cy6#qf>sucjlX&}H$ZDjlK53ORs0yu^0`X(u`)Z6G&VK=1B z06pbutD?6-3)TEIMm9GA;Hdu+O%0HH_2*VPj{sB(C6s(!8@i5|Bc;39UVbY~k=q+B z>VOEqL~$#kpVR?}_kkWHSAH&Z+%Y5VSW3e9(5-mp2DzXJhyYZF?!*Kq;x+8R#bema0QZm^{i7Wq?1GKfY^Cra$`eg$ z;Zt(uM?%}Ea#mi;tF)Dc4L32^fq2uvwRJ7&>fr#rr5zy)FZuTR<{*;VVFmjrA}70Q zg%=6f+n^;ah!p4xrXoEQs1rCu+`;9hqIue(Co6+E4S#`LBR`8x*8<=pkkg z+0p%BI`;Y!swH=vXn7}}C6Edt=fLbBTej&HrnK(#|cW&&mAv zBu~BZ_Y#ULg+nM0CjJ|zPkuyAf2gby>|H8A9Ei#M9*|e!R9KzpY%LQOL>lBL)a1fT z?WyITC6G58Fc*Okna5*4vujGBzVv;skpfzr`PD)h!(i;t+B(5%-8uPw0pSbaSCnnQ zHLKXH(`e9dC4XZ8$%3g4?#6hQ38#$gJ44;DTKL{f)+OyN8&>-NiLkXX0BfGC@>>3J z0yz-R2pf4l8%{SQQ?=aAjO$2dngehkT?Dec={0+Qm@lL{MY3HNT%fE23=T6Zx7r= zCUqCWCh#_b-iUGosDjKPavC)!FdQc%hv^wP?HK(Z#Z~5HgGDZH00000NkvXXu0mjf D=WZK< literal 0 HcmV?d00001 diff --git a/src/subpackage/course/static/images/icon/triangle.png b/src/subpackage/course/static/images/icon/triangle.png new file mode 100644 index 0000000000000000000000000000000000000000..6a53e9464d4a78111732825f5639a13c9031e47a GIT binary patch literal 428 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 Date: Fri, 24 Sep 2021 16:37:55 +0800 Subject: [PATCH 03/11] add course api --- src/subpackage/course/js/course_api.js | 25 +++++++++++++++++++++++++ src/subpackage/course/js/course_server.js | 4 ++-- src/subpackage/course/pages/index/index.vue | 29 +++++++++++++++++++++++++++-- 3 files changed, 54 insertions(+), 4 deletions(-) diff --git a/src/subpackage/course/js/course_api.js b/src/subpackage/course/js/course_api.js index ce64999..0469ebb 100644 --- a/src/subpackage/course/js/course_api.js +++ b/src/subpackage/course/js/course_api.js @@ -3,6 +3,31 @@ import { ORIGIN } from '../../../js/api'; export const COURSE_API = { stadiumList:`${ORIGIN}/admin/stadium/list`, // 店铺列表 + courseHome:`${ORIGIN}/admin/assistant/venueCourse/home`, //课程首页 + + stuCourse:`${ORIGIN}/admin/assistant/venueCourse/student`, //学员课程 + stuInfo:`${ORIGIN}/admin/assistant/venueCourse/studentInfo`, //学员课程 - 详情 + stuWorkInfo:`${ORIGIN}/admin/assistant/venueCourse/studentWorkInfo`, //学员作业详情 + arrangeStuAcCoach:`${ORIGIN}/admin/assistant/venueCourse/arrangeStudentAcCoach`, //学员课程 - 详情 - 安排上课[私教课] - 获取教练 + arrangeStuAc:`${ORIGIN}/admin/assistant/venueCourse/arrangeStudentAc`, //学员课程 - 详情 - 安排上课[私教课] + + subscribePri:`${ORIGIN}/admin/assistant/venueCourse/subscribePri`, //约课记录 - 私教课 + subscribeBclass:`${ORIGIN}/admin/assistant/venueCourse/subscribeBclass`, //约课记录 - 大班课 + subscribeInfo:`${ORIGIN}/admin/assistant/venueCourse/subscribeInfo`, //约课记录 - 详情 + setBclassAc:`${ORIGIN}/admin/assistant/venueCourse/setBclassAc`, //约课记录 - 大班课提前确认上课 + cancelBclassAc:`${ORIGIN}/admin/assistant/venueCourse/cancelBclassAc`, //约课记录 - 大班课取消上课 + cancelStuAc:`${ORIGIN}/admin/assistant/venueCourse/cancelStudentAc`, //约课记录 - 详情 - 某个学员取消上课 + bclassStus:`${ORIGIN}/admin/assistant/venueCourse/bclassStudents`, //约课记录 - 详情 - 获取大班课可添加学员 + bclassStuAdd:`${ORIGIN}/admin/assistant/venueCourse/bclassStudentAdd`, //约课记录 - 详情 - 大班课添加学员 + + sclassManage:`${ORIGIN}/admin/assistant/venueCourse/sclass`, //班级管理 + sclassInfo:`${ORIGIN}/admin/assistant/venueCourse/sclassInfo`, //班级管理 - 详情 + sclassConfirm:`${ORIGIN}/admin/assistant/venueCourse/sclassConfirm`, //班级管理 - 成班课确认成班 + stuCanChangeSclass:`${ORIGIN}/admin/assistant/venueCourse/studentCanChangeSclass`, //班级管理 - 学员详情 - 可换班级列表 + resetStuSclass:`${ORIGIN}/admin/assistant/venueCourse/resetStudentSclass`, //班级管理 - 学员详情 - 换班 + sclassStuWork:`${ORIGIN}/admin/assistant/venueCourse/sclassStudentWork`, //班级管理 - 作业完成情况 + sclassTimeChange:`${ORIGIN}/admin/assistant/venueCourse/sclassTimeChange`, //班级管理 - 修改上课时间 + } export default COURSE_API; \ No newline at end of file diff --git a/src/subpackage/course/js/course_server.js b/src/subpackage/course/js/course_server.js index 9245726..069cd29 100644 --- a/src/subpackage/course/js/course_server.js +++ b/src/subpackage/course/js/course_server.js @@ -1,10 +1,10 @@ import { Server } from '../../../js/server'; -class DeviceServer extends Server { +class CourseServer extends Server { constructor(props){ super(props) } } -export default new DeviceServer(); \ No newline at end of file +export default new CourseServer(); \ No newline at end of file diff --git a/src/subpackage/course/pages/index/index.vue b/src/subpackage/course/pages/index/index.vue index ef1ada1..bcad34b 100644 --- a/src/subpackage/course/pages/index/index.vue +++ b/src/subpackage/course/pages/index/index.vue @@ -47,7 +47,7 @@ From d01a0f4b4d3479dbb63825a7f8ee3701e028ff98 Mon Sep 17 00:00:00 2001 From: 1019933623 <1019933623@qq.com> Date: Thu, 14 Oct 2021 09:16:22 +0800 Subject: [PATCH 04/11] add api course --- src/pages/index/index.vue | 2 +- src/store/index.js | 1 + .../bclass_reserve_item/bclass_reserve_item.vue | 59 +++-- .../manage/class_manage_item/class_manage_item.vue | 32 +-- .../private_reserve_item/private_reserve_item.vue | 35 ++- .../student_course_item/student_course_item.vue | 32 ++- .../sclass_record_section.vue | 17 +- .../course/components/store_name/store_name.vue | 2 +- .../components/task_section/task_section.vue | 11 +- .../course/pages/arrange_class/arrange_class.vue | 23 +- .../pages/class_add_student/class_add_student.vue | 24 +- .../class_student_detail/class_student_detail.vue | 57 ++--- .../pages/class_time_change/class_time_change.vue | 16 +- src/subpackage/course/pages/index/index.vue | 51 +++-- .../bclass_reserve_detail.vue | 172 +++++++++++--- .../class_manage_detail/class_manage_detail.vue | 249 +++++++++++++++------ .../private_reserve_detail.vue | 115 ++++++++-- .../student_course_detail.vue | 155 +++++++------ .../course/pages/manage_list/manage_list.vue | 216 +++++++++++++++--- .../course/pages/task_detail/task_detail.vue | 12 +- .../pages/task_finish_list/task_finish_list.vue | 35 ++- 21 files changed, 946 insertions(+), 370 deletions(-) diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index 9d03d23..63cdaf9 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -130,7 +130,7 @@ id: 8, name: '课程管理', path: '/subpackage/course/pages/index/index', - serverKey: 1011 // 后端对应权限编号 + serverKey: 1011 // 后端对应权限编号 1013 } ]; diff --git a/src/store/index.js b/src/store/index.js index a97ca4c..792fdc3 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -29,6 +29,7 @@ export default new Vuex.Store({ '1010': '设备管理', '1011': '商品零售', '1012': '订单管理', + '1013': '课程管理', }, // 场地占用提交页面信息 diff --git a/src/subpackage/course/components/manage/bclass_reserve_item/bclass_reserve_item.vue b/src/subpackage/course/components/manage/bclass_reserve_item/bclass_reserve_item.vue index 6989a52..9a084ff 100644 --- a/src/subpackage/course/components/manage/bclass_reserve_item/bclass_reserve_item.vue +++ b/src/subpackage/course/components/manage/bclass_reserve_item/bclass_reserve_item.vue @@ -2,28 +2,39 @@ - 欧轩智能场馆(羽毛球馆永泰店) - 待上课 + {{orderInfo.brand_name ||''}}({{orderInfo.stadium_name||'-'}}) + {{orderInfo.status_text||'-'}} - 已预约人数:3人(上课区间:5-10) - 上课时间:2021.06.02(周五) 14:00-16:00 - 上课地点:羽毛球(3号场) - 上课教练:周扎米 - 课程名称:羽毛球培训课 - - 取消时间:2021.06.03 11:42:50 - 取消原因:教练取消(大雨停课) + 已预约人数:{{orderInfo.bclass_nums||0}}人(上课区间:{{orderInfo.bclass_nums_min||0}}-{{orderInfo.bclass_nums_max||0}}) + 上课时间:{{ formatDate({date: orderInfo.date, partition: '.'}) || ''}}({{orderInfo.week||'-'}}) {{orderInfo.start_duration||''}}-{{orderInfo.end_duration||''}} + 上课地点:{{orderInfo.addr||''}} + 上课教练:{{orderInfo.coach_name||''}} + 课程名称:{{orderInfo.course_name||''}} + + 取消时间:{{orderInfo.cancel_time||''}} + 取消原因:{{orderInfo.cancel_reason||''}} - - 取消上课 - 确认上课 + + 取消上课 + 确认上课 + + + diff --git a/src/subpackage/course/pages/manage_detail/student_course_detail/student_course_detail.vue b/src/subpackage/course/pages/manage_detail/student_course_detail/student_course_detail.vue index de796fc..2c6ae83 100644 --- a/src/subpackage/course/pages/manage_detail/student_course_detail/student_course_detail.vue +++ b/src/subpackage/course/pages/manage_detail/student_course_detail/student_course_detail.vue @@ -1,82 +1,83 @@ @@ -84,7 +85,7 @@ @@ -166,6 +184,9 @@ page{ font-size: 28rpx; line-height: 52rpx; } + .ss-gary{ + color: #9A9A9D; + } .ss-view{ padding-right: 84rpx; color: #1A1A1A; diff --git a/src/subpackage/course/pages/manage_list/manage_list.vue b/src/subpackage/course/pages/manage_list/manage_list.vue index 4ebc440..816fc16 100644 --- a/src/subpackage/course/pages/manage_list/manage_list.vue +++ b/src/subpackage/course/pages/manage_list/manage_list.vue @@ -1,27 +1,29 @@ @@ -87,6 +88,13 @@ export default { } } } + .mo-after-sale-tip{ + margin-bottom: 12upx; + text-align: right; + font-size: 24upx; + line-height: 30upx; + color: #EA5061; + } .mo-goods-ls{ margin-bottom: 30upx; @include centerFlex(space-between); diff --git a/src/components/organize_order/organize_order.vue b/src/components/organize_order/organize_order.vue index b57dfd6..74dda8a 100644 --- a/src/components/organize_order/organize_order.vue +++ b/src/components/organize_order/organize_order.vue @@ -30,12 +30,12 @@ {{orderInfo.label.Date+" "+ orderInfo.label.StartTime+" "+orderInfo.label.EndTime || '-'}} - + diff --git a/src/pages/order_list/order_list.vue b/src/pages/order_list/order_list.vue index aa31185..4f20478 100644 --- a/src/pages/order_list/order_list.vue +++ b/src/pages/order_list/order_list.vue @@ -575,7 +575,7 @@ case 14: // 赛事订单列表 订单状态 全部1,2,4 1=进行中 4=已退款 2=已完成 return [ {id: '1,2,4', name: '全部'}, {id: 1, name: '进行中'}, {id: 2, name: '已完成'}, {id: 4, name: '已退款'}]; case 2: // 商城订单 0/1/2/3/4/5/6 - 待支付/待发货/已发货/已完成/已关闭/退款中/已退款 商家助手全部1,2,3,6 // 测试: 不显示全部分组 - return [ {id: 'assistant_all', name: '全部'}, {id: 1, name: '待发货'}, {id: 2, name: '已发货'}, {id: 3, name: '交易完成'}, {id: 5, name: '申请售后中'}, {id: 6, name: '退款完成'}]; + return [ {id: 'assistant_all', name: '全部'}, {id: 1, name: '待发货'}, {id: 2, name: '已发货'}, {id: 3, name: '交易完成'}, {id: 'after_sale', name: '申请售后中'}, {id: 6, name: '退款完成'}]; case 8: // 租售柜 筛选的 status 全部 1,2,4 租用中 1 已完成 2 已退款4 已购买5 return [ {id: '1,2,4', name: '全部'}, {id: 1, name: '租用中'}, {id: 2, name: '已完成'}, {id: 4, name: '已退款'},{id: 5, name: '已购买'}]; default: diff --git a/src/subpackage/device/components/order/organize_detail/organize_detail.vue b/src/subpackage/device/components/order/organize_detail/organize_detail.vue index b67e180..d6aea86 100644 --- a/src/subpackage/device/components/order/organize_detail/organize_detail.vue +++ b/src/subpackage/device/components/order/organize_detail/organize_detail.vue @@ -44,8 +44,8 @@ - 订场费用:¥{{ orderInfo.original_order.pay_amount || 0 }} + 订场费用:¥{{ orderInfo.original_order.pay_amount || 0 }} 报名费用:¥{{orderInfo.price_per_person || 0}} @@ -268,7 +268,6 @@ export default { flex-shrink: 0; width: 40rpx; height: 40rpx; - background-color: skyblue; } >view{ diff --git a/src/subpackage/order/pages/mall/detail/detail.vue b/src/subpackage/order/pages/mall/detail/detail.vue index fa67c1f..ad7aeff 100644 --- a/src/subpackage/order/pages/mall/detail/detail.vue +++ b/src/subpackage/order/pages/mall/detail/detail.vue @@ -82,7 +82,7 @@ 主动退款 - 发货 + 发货 @@ -100,7 +100,7 @@ export default { computed: { isRufundBtn(){ let { orderInfo } = this; - return (orderInfo.status!=6 || orderInfo.status != 7) + return (orderInfo.status!=6 || orderInfo.status != 7) && orderInfo.after_sale_status == 0 }, order_custom(){ let { orderInfo } = this;