From 280db0a2739958688c5ca74a3d61a0eca8114e83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9A=E4=BA=9A=E7=94=B7?= Date: Fri, 15 Oct 2021 18:35:39 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E5=AE=8C=E5=96=84=EF=BC=8C?= =?UTF-8?q?=E4=BC=9A=E8=AE=AE=E6=B4=BB=E5=8A=A8=E7=AD=9B=E9=80=89=E5=88=86?= =?UTF-8?q?=E9=A1=B5=EF=BC=8C=E6=89=AB=E7=A0=81=E7=AD=BE=E5=88=B0=E5=AE=8C?= =?UTF-8?q?=E5=96=84=EF=BC=8C=E5=88=86=E6=A0=87=E5=A7=94=E5=88=97=E8=A1=A8?= =?UTF-8?q?=EF=BC=8C=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/images/jcbd.png | Bin 0 -> 1695 bytes assets/images/jxz.png | Bin 0 -> 19030 bytes assets/images/wks.png | Bin 0 -> 19161 bytes assets/images/xgmm.png | Bin 5563 -> 1833 bytes assets/images/yjs.png | Bin 0 -> 19317 bytes assets/images/youji.png | Bin 0 -> 585 bytes assets/images/yqd.png | Bin 0 -> 19664 bytes assets/js/common.js | 25 ++ assets/js/http/userApi.js | 8 + pages/committee/committee.js | 76 +++--- pages/committee/committee.json | 1 + pages/committee/committee.wxml | 7 +- pages/committee/committee.wxss | 35 +-- pages/committeeDetail/committeeDetail.js | 57 +++++ pages/committeeDetail/committeeDetail.json | 4 + pages/committeeDetail/committeeDetail.wxml | 29 +++ pages/committeeDetail/committeeDetail.wxss | 267 +++++++++++++++++++++ pages/contractDetail/contractDetail.json | 1 + pages/contractDetail/contractDetail.wxml | 18 +- pages/contractDetail/contractDetail.wxss | 20 +- pages/home/home.json | 5 +- pages/home/home.wxml | 10 +- pages/home/home.wxss | 16 +- pages/login/login.js | 73 +++--- pages/meeting/meeting.js | 192 +++++---------- pages/meeting/meeting.wxml | 26 +- pages/mine/mine.js | 11 + pages/mine/mine.wxml | 4 +- pages/mineContract/mineContract.js | 1 + pages/mineData/mineData.js | 32 ++- pages/mineMeeting/mineMeeting.js | 67 ------ pages/mineMeeting/mineMeeting.json | 3 - pages/mineMeeting/mineMeeting.wxml | 14 -- pages/mineMeeting/mineMeeting.wxss | 24 -- pages/phonePassword/phonePassword.js | 32 +-- pages/project/project.js | 2 +- pages/project/project.json | 5 +- pages/project/project.wxml | 18 +- pages/projectDetail/projectDetail.js | 54 ++++- pages/projectDetail/projectDetail.json | 1 + pages/projectDetail/projectDetail.wxml | 14 +- pages/projectDetail/projectDetail.wxss | 22 ++ pages/scanSign/scanSign.js | 28 ++- pages/scanSign/scanSign.wxml | 12 +- pages/scanSign/scanSign.wxss | 12 + pages/setPassword/setPassword.js | 33 +-- 46 files changed, 785 insertions(+), 474 deletions(-) create mode 100644 assets/images/jcbd.png create mode 100644 assets/images/jxz.png create mode 100644 assets/images/wks.png create mode 100644 assets/images/yjs.png create mode 100644 assets/images/youji.png create mode 100644 assets/images/yqd.png create mode 100644 assets/js/common.js create mode 100644 pages/committeeDetail/committeeDetail.js create mode 100644 pages/committeeDetail/committeeDetail.json create mode 100644 pages/committeeDetail/committeeDetail.wxml create mode 100644 pages/committeeDetail/committeeDetail.wxss delete mode 100644 pages/mineMeeting/mineMeeting.js delete mode 100644 pages/mineMeeting/mineMeeting.json delete mode 100644 pages/mineMeeting/mineMeeting.wxml delete mode 100644 pages/mineMeeting/mineMeeting.wxss diff --git a/assets/images/jcbd.png b/assets/images/jcbd.png new file mode 100644 index 0000000000000000000000000000000000000000..5cb15c1a388ba0c2eac1710e83821cce56bc003d GIT binary patch literal 1695 zcmV;Q24MM#P)Px*SxH1eR9HvNSZz#`R}_Bk+d|n^4T^w(*=LO6P;4s#Q>HVZ;Kvf3#<7SqBJqzV z!(fb>&1qr`!GvY|u?Sb+9|BVW5p+T+?_JKNZ++kP zrLFUiHz6sv_n!OoIp;j*+{-uzV+8X7`(cQ-maJ7Krm(cIjOv9U4r`4k#oMn*>Nw%hHG^nmFCN=ZqHkBp40WsKRB zO=hzh`T6RCqoczjYjAK7r%#_ob#*l!Jb2*S!#Q`j-R?CV9UZs*4Fv$QSS+!U zBwbd!C_6hFd-v`|OiWBzK>Qc=_xGc$tPG8fjq0zi%d-5Y%jLSOp40#$H;s;t{=^td zqeYS=p`@e)n>K9{srWR5bB;4-&fxg*XiWAw{M?dMm;>Tj6t^>4?SZr z8zT^HGQkjnIhk~YjH=cVQ>CS)ifK-|=5o1&KNUa*o6Xjt#0|yFv17+HM#f|r=95IA zc0Am=14c>GW${vP4_4Kk72nmbT8m`~iHfUm;J^V8Ti$Wq;c%poP6>K(_ z*;G?gqY2VDQaV zR#xJ~i4)5IEe?kxgV}7h*8tog_mSwGKYw1MGj~TGVb&=@UeJ*l7mq`hMPf~EU9Ij~ zHAA$3bSf_|PZ3WN&DqRqweDh!ks>22D+}f2R3#pdo5RDHQ&X*(8{S%oBQ6KZ+JDu| zllzF#t9@E#mc-A*p@oZlF{IwKXU`s7zD%+wWMDTj^c{eFn$XLvzL60mojR#GI4eFu zxG3ksSv1}54a(focyi}DNRwovU&d7vL%%V`7Le7dsw$+WrfLqLRDVGyyXaScxX^}+ zy*+s3@!-?W_5fg^z|e+{jt*?wwoPH^8UY$$j7_5%O2cW>#7E7bjG4%?e>C$YDXGX# znxz}SwDA6x?T9iOgEDyU-aWPW4v@<{07U4ww6wsW$^x||Vv1a(29-7=77Q#PX4L!Y zR;|JEgrrG9jgOBbJ)K%CF+9Z32xH6?3XoVWK>eVrN0XhH9vg=v*2P%v6-EDb)Sgf) z;~nF~5LMe5!Ca;`LRpkscUELmi=WOEzrFyG1_Mg3xisezsKb^typ>1Inaw8(kZHMS+(Dzt?zOF)%Nx~m_J?HzH0`8s{9(e_a{Crk*(N-@kwI28}F)YGDZ!wdT|t25a~U)ZpkShCO45k_?z`G6`)` zk8oO8vHqEA@(GaMHHhwG{>{E#s)sX2%+UQT>}!zMbn~002ovPDHLkV1jrJG1CA5 literal 0 HcmV?d00001 diff --git a/assets/images/jxz.png b/assets/images/jxz.png new file mode 100644 index 0000000000000000000000000000000000000000..ba0d0e7a1e9da0d8bffc1abc6badb2aeadfb129d GIT binary patch literal 19030 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 N002ovPDHLkV1i1zn?wKr literal 0 HcmV?d00001 diff --git a/assets/images/wks.png b/assets/images/wks.png new file mode 100644 index 0000000000000000000000000000000000000000..cf2531c2cac01ecbb2aacd6445453c0de4a1b60a GIT binary patch literal 19161 zcmV)fK&8KlP)r004Lh1^@s6E!}E%00001b5ch_0Itp) z=>PyA07*naRCr$9eF>NxRn_);ZdFgumITP2nVucOCWr}(0tyO3GLwWwf{L;Q41$Vm zDhd(>6#N8SKm?MIgw+6skVzr}29TWu2#`R?Y~8bDUuWy-uDa)cPF43zPfxFt$*>>|TF%yll8DkY;9BYgt zqOk-X!2}H^1I%Lp&S#OwkUE4J>vS@BFPPR6;Z0_GI~)#w zbYOGy&Qt%FZcqQK1Vy%%yy3ayS*x!qMbp7Jnt>5Sln3TSFHl~54}fkEbwl%B0Bs;_ zW9F?2*sPg5pcDhV-5}b_7BiV*wW;B@)}ugd646Ko4gz5uF-id%0p>yw@&M$5C?|<< z%KbY5Yy~=NI3OpF^6ZdOCUbW56M3PrLQ&?Fj> z@E#HF%&%*Daer-X|CNHWc-^|3y!`wMGUyxt-vUqpAiv*d$1E>i7JLIKdYzbFvJB%> zv#V=&UQ0{Y{#vl4pFT4!7NfakePO;`FqViWv*NEX<5&PCKIO zW?Vo7F;wLXiXA~F+D4jRB~mZxaQHPt>n&5Ns@ey;KoWBqd%ywXjQso^L$%+_HAjyt z817XC<+f#?tcbn_#$*tU1hZ&_AP5_XvB>h~JvL+P*e#BhV5Wa=*)lpD4o+i@i;3`s zxR1mJXcw~~Z!|aO?c(sU8frEHUl-$% zfLQOP8{ifO{Zp}CN+J7$j!GrUIl2LHqG@>;at|%mQSJ3=UMS(il|yMM)g|*=DkexI1JZv1 zNVYe5mkh!?WbqZ%<>em?Npv>B$EYe!P zRb5iDd$8L}vPE0m+5z%yYwr z=hx>H7w;G_f38SiDJKM)h z0KTX<6S+w@gFgn*B4zQ@@0OKqos(bQ|sYS$xhY!O$B&}Jq)Wy6{m+8f+36gEijDlyZufxuxV_zF@u zmKmb~9KaIpkDUW^CrI@GEdQP&8+Q(+f%x~9mXRLII+F+&GvNdRB=+JA*X6}lB0Qr> zFY1QpqnSRRxc`XUZi2?Z}_;7TGImm=KXL!ehQ zshbPy>fRd)cl+VS#@vI54pR!V0Gv(0*jSgB;RFg-lcM=OFjkyXRJ1dbE${iwYYVLK zh%2?`pOXarT#4Ju;Cpm_&s{S{_ia~$UDN+>8btzBUkC&aBk+$E;XDbwM<-1ZfFgPh zmcFlL$By@gN?j&e6mdVFYH2wzANJW2cYvaa2_n3bDSjT>x@C1q<@MRCdLf|6-C;aaYB8xRQgZN2p@xq?&?#662>2s~ECCaw`3_^9}dBnbHw27~p zUR?J4zS?&GUj#*7&Wh&dNeufYfW98HNb)e7pfJxO>!BGFDqG?o$T9Zvj7pDfG@a@5 z?Tmdvjyo9+dkY#G+Oz%Q7jNBKSP<;`9s@T);t?@}*@^PrVuY**_SMZ?ymeh+UQhmH zVv>7(J=S1%cN**_;1!$gc|i;Ro>^JBCmSJ*o+}^XWWRq36#fi1f-PH+Mc}339_yO3 zs;Zg?bKRJad0&2>{JYXef@}h5B-FpeiXHP2-wNMZ`jPae_w)$`&FZekSuL!IMRgiOV&I+CNN|ZVI2|O znitl!rwRZmUSRyXt!!T6um*myvWspc@F z2H=&f@vzCfQya#q3_a5co!GcBo4}RCg$jn}PSk8j==~dD6!p)~P!|z@$c%?PIk~lO zjvc#wU+tfGK@m;aQCW5_nC>RRgg))1o*-NQY_Q(jeiM}E>g!9C$M_`!-=;pp&1U8| zSeZ8mi{E@L6ICm&WRAA(1n`~sOsr@D)8J`S2H^rO-L`F*r@LdSrO7hA-dCrNA1{~@ z$ji>n%^jya>aehl4QG{=`O_JKqB)n;*N@Kec&0GvO9(U>a0EFzBx$z=L{BNw3p$I+ z*3Tq?RPLYgVoS@&ptgPu;F734$c(Mb_<69j^O2d9ecEHc2#RO{vb;Y9^Y?nyu6*%~ z*A=N>c4R0dVhHAU7oG*;pMxClq(5?v@F~N%XiahP>TJKvC`@2ZG z@Kt=6t%we}ph$9WC-WtM{w3TvfusEZ{!l5pwxj5sSJG(`#{k~eG?u$@5kTJup*Ts3 zy$6IBiPfCWx88bx=FH5E!PU&3hV|>c$jvqK@+^c%+m{)8zQkRPRaIT=OIWdS<8bZqoD79a!8jFeekM9M@#X}f|01C07vvVae(IPp zNj)dADS}m1hcjChQ%lO9-524A|LrqPP2;@^cN1`~R2;~0B5Ky)tGkO!pG&7LW3M-) zf>Ij@90}NWGw5r5>X+IW{F`07_AJN*_9v5*ZQNxBZ-Vsumq^+WFp8{Yq+6) zC!Y}@LRd4lL*X$a7+w(@_YluUTh;*v^WjW<6fuqg_(&#<1Sp>fIm|GXfT*RqDLS;4 zT+_QCo@;mYERQDQRxz7<+ZrnkTU`J^{*}b#X9S+`5fc__R)3%F^KFjLQOQTpZQx7| zItjq>U_Kf|0%~fgDJiQQNFY1teRs08#>fS>pD9_i`jS1%% za~LF{c{l3F+|Ekf=Yjg4Y~vgeYn>J}HF-yPf(1D`Zw83&1oKD$O{C}+&DL8SLQmK* z!g=9vr+}B_cgq8T18lMc)B05cp8((sUu;EqzC96qA`%?WWHTqHyl#L3}oVQvpl>IprG;#x%hY1KWn8Fo8R@#tTq9 zx7*vbIvQw`Y%}NO9md+eCi7M z2GmYsy;U1(oyX!A-deC=i-4j;Z9mu8IED;5OA(2iDVf<=+^z^&3lu#Gn-_Lt za_urVybtiRip*=K78kdqyXHO%%0HT$4+^`$pUe9elDBEb%{w#}MpbvZiKII&?rKh; zZXzM4DA((KmH=0&Q)APA$ab=q8O=nrmcXl-?F|ZMo2}HI zFi|kKyF1(w3I(GtT7MPlpfNMZrx%(rd(6qsFb=YQc@yc^A0fox?7nKrGzr< zt45i#YLz*uqT(zfz6WqzSQ%o_J!V__=QAoQ9Ki5U4JY;ikXY-hb~PT*)s87l^aCjb ziwkhM_7TuZ0)PU)Xe;}5FT6W9Syopv;T2)b_4`WB-2bH% zs4OS0@zhf)n*fHY^AHRT(+P&5!ZRZ<%sBy)xOdnr@K%5aW}jlzTH9a_t|lq34CK`d)MR1 z?5sg+l;tfghiE&zfQZEXbm4cJ|D{M>F}0*b5aS8QV&GvgD<9S60?&)>lQgl8oHke>63Xw-nlX=frrirnKyIXX{~l0C2X`7@fxLAX*DR z;xCdNy|lWd{NZc`Mb2N=+^N|WX3*hMtjO|}PgLWoJ{A|3|u)SQ}{Sb)yMb38K%yd}RXLq)jo+oLXA?`f|VjyHI?kVdI=L%gQ#TyGNqq zVobLibSVM9Cf87xAzSHRF`RC%Iba|Rbx;~*X>(nb0dt`Qo}8$#Q-DoN$kta!)7Y}T zNU%(xR^67xc~w<*PfN>io9t^?LsaHkCgc2RK3{99hkbzAQ{3X8&dj#}BoM;roI?P; z#hU-1gTWUw2^=|YVoS?-($;wlx{wHm#k$dv=kNpk1e5VdVO?Egs{G8#=H{bpw&g4D zHwbvVx};1Zw~*T5WFJGUpd?!Z0XKo{>D9&AyTz&2^&i`s##`O=2Y{t)H&V+ia7;=V z-p^W4B)B$OsS82;Tex*NGBz{RkJr@KKNGE}ch1XECy~t)ZDz|L?A4lzq3DMM$=^^5 zn7;Gw{Q0jX+w&!ew%qUk3Y2(N4#M0qTEzfkLM^enGrzw6gG`cbQXYc5oD&REmjVzt zrobQj@-r^{@dc1EU-k67nJEye*59-kg!AHFN_RnS{us&e)CQXV?f|I?TO|j?8Ujh& zWiqbrxAi1`tFM_FGozX#F8(6hmIL@A@NL;{L-HZl1_ECN_&y>yc{xdqNa1`)hps+1 z&h^e(P@b);^LcVS_eJ6h1{}Z;Kd+VN`>_>vVvFRr1ZIMHjv&Ugo1YQM6>mcB+XZG> ztn#~yP5fS-5p(jo_Rzc z3^Xf2aaFhfOk#+!6^)zh1oMq5WG#$0OqT`%6AZF%5zR4xjlhlGN|DnJf?5yo>!i%T zO)V^TJ7R$WqdbL`)qZ*BF3?eODKV>b4f zf;xL@Ny(rx&np6fN*h`L*=O{HIPfVHuBt97eL1?uSqX}hUiW(B0j`X^cuC8z))fBs z3}63LeDpyi$iuMjBGA{8U`j+_Bue?LO~xHFe7?FBJ9Z4$T^&CL^EENXvUnl?Bv?PG z_EierHmN3wQbs72I$l1HKoV<-rJU#j;R9kdwpzuSChTeC}l*br)LI%F9A6&X8-&Qp%sj$Os0qT zmXvH9DoA3~7D**g{j>(rA6fH+KKq6PVEde!(yBGGofR}R1iGrqCM9&06Wk<|xQgru ziI9Mg`TYluApQkFR{$J^aBkPEe;rhwxf0&bSWsM>!!KnAf?pMvO1|hOCcbo9aoH=$ z0$XC!7#{O4L{5aUAC;Cy1vdRNx)(p!)KpFe{zRZD(LyEywJ_U1@9OAYoGc&| zrHp{$%K@s6@Q}ntZ1*tu4QP7EVqTR|tR>U8E*aWp|1C~{EN&3tanke`CSDb5$B1#8 z@6E65?CzQm!e~?D+up{;ZJm|nvQeA+hqYSP70>YP~u@wTXfzp>xEh<}^v7k60XWRM%fb&5PT1uD|mw7a&fgf}Rxzg=BXA+ZoRFWU-zKeAAfJzTVwz7J@>v!?W@0cEC( zd9jh(FsVp+3_Gt+0p^k_)yC&OiB&8hM;E1H|XqP4Y*6s>bT6ka2l zTczpkM9;arrT!4shS(@hAS`|;GESN5^SzSDjuG1;ufD!ke$!o1aXc%Y$Ls)%1`a0? zNV987OB-Z6>Z~kZJuoPTH3bcgCuHIU#^1mRXpSiS7Bq_hj&qI^+FA46@ObadSWuqx z`;RaP4>MR0=JLC}MD$y2c>a{k2$XHd=<2v0MB+ZKWsR3evB$}$NaT_6p{=a*qxQ|x zK>cJB#yoaY`VqJS{~MaFs3|M^WWdAK*N@0Gak8O|i-j^G&OmhXGbDD6#=MTs&Ua$1 z_+(#Qf*g#yW{NJXF7C4(UbZ7$8U`eXljB7Iz6!$?Y z&W4L;aHS2XC+JJ7edYg7w(U4j#Blf+Q|rzi+itUZdUhA)070x zTQWiEN50fm@!CNGaUh9^ zy(qO1^iMJp6z3)Oblw1{Ya>_&$r8V4gD#F*#fijMZv3m4UpC@tEu#hNiurhDn*S8w z%*y75qb#i+Cc-gbc`?{X!2MQU!J-+XN4w-Pk^Bro-ZMz?MUXrbJ0yDU;Rs~}2uqms zf@JxbL~~u?_n(+h^*e5^H9OVbUmIxpy=1Hl>Kh;Isx131gXYKHLouD?gx>>=m&6}K zObjGZ@J1Z7!sa}mLQ z0E{yogOo^WbN{S6yML2O=selvBPg{1p8|9RD z$`1_VNPuTC^9+!~Fw|!p6WXD%8ld?h!&sRqWrQ1R(RU1hCNc|o;GF#W#y@4V=SM(E z;!^g;NunOfij5mbv)9wwZ@XZ=v!=BCXR=0-Sc#+r`o~z3U{B&u+=4b)rC-4)Nr61i~Ufz&NNr=oPl3@FN46T)` zYzZq(<(WMg^)0`TXqcF&D+g*y$_0Wb$7E}h7ZFv1PS!a3pSAu*DVmdjX1@{DO7cf1 zwo+AbC2M_KG8h6N?zZ}Tx}>XUkzq|uKFd@yiTOeT4(SzS#$HYM9hp53q}_U?M4`j) zpGgW5ka4R1okSJv^QwK7A7!iF;?H;Og3>Pn>I}u!N`!cIG{P%eUSU_)aoWHo5p5O^ zN!-ogm%;q7Q8?n2sUt^bM4u&b3V@}AAr@iQJ2i1>t9@=#Z!jZa0FJH6Zj7Yyr?IZB zY%SHkvS^{4bGreyOk~aT>l%;jtneKTm@;>vR!us@t|F+JsUo%l)++F*Q#8~p0-qcc z+;liw$jN=#Kb~4tA!b18;g)sg-@rtoehMQsHUH%9p3A09oR~86o9^0jTr|d4nwo|S z=f&EE3->x&WYsG3m?~eH!RGnI_%4&fuNI4i6%5O#03PX4;VVoQ>i_^C07*naRKM9p zRhu$_B)Ud<*>xbgB@VATV5*ry1(H2uZJ_Dju|{z;ES~_dB)-K#v0uIbpqTiBfgTOs z0%Ov^yb_*r-1%r6CyiYd1#2a8fKYQzXc@9iZg|`(bV7uFf<+ z69EKCyyJ-2d%Hou1hESVi)%h2HYq1D7HDmeQth_Z9R*sqC9B_wH(Xt~0Nu{EmJ*VF z!7>*t?Nsqe?rR$nKgb$qC&?4_Oq!409H<*7_(9m>OXGPh43F>Ub z%jz{WlWqxu#bJADeD+ohSMBvkATbtcpKiMDamJbg%_ntAdLvP6#qAOFr-I!4Ihp2n z#2FZA7@t$nvW=e=;p&f#l)J_BnjZwws(9Nbt)MJxXgC^%dW^{Z5*5>HXKXR>`YD&s(&*Y-AwV&YkkF}J8iMfoqKUm9207?fEMUQjHdSXo=(3q%8M@m6) z0x)fXufgJnKn^dM#474Y;d?bjr7x!gE~k4C2T}>^C_r7NnWqsPI?verj9_73XXpoV zhaK?h=?5K@5x<$^Hrk>4627E3EfJlgctA`8u^tjc%dcxZxu?8*bRwXUgNkGRfnZM( z2+F{?NxDUe9FIm=mp3;(#*A;r3HnwFhL4#gvCw^gqX&L8&=wiSr zK9A4OY$U=0TY3H#obY;UI;sr0K_)4Au@&+y{(PcsGeND5GjA!4V6bS0cnrx}BA#9C zD}OuDIyjoj5Jo3=u;yVzG@98ddF>CL9(VyKXcpPR1i}y#m%&!jbdCh^65ZEfU8<@o zC$_%{KnRaZ;=o#xTogRdB8%zi_kF(2=_1#u1w|_FO}b1oguO>5D!dS@*s?E~URgOP zzIeg3aIX0!t?4oXzB+(1f@lXb|C6Bp%BHy{OJj8)dOg8PN+7M;SNf~?Ly>@&yp(iy zg{0kY$~G9+tG(hg%}kX_DIY^0&CC*Gk-j{F<`dcB*7?u_I@;x$1xDf{z@0L$@lj(B0(*I=CU z;`<9qTTMxsaJ}^#65;I!gADi=5~=x;iB63@vr`xsYpiw(*)cOc z95T9U&nY@|=i+VK99wYxU;fgS&M`b#X{+N_}+}9X8t=FPoY=6NU zP?*(wI1_MCCR=fAi}c}*sr8$`aw zUrgk5^NR0c)hT!nCVDVT=0DCZD%v?1NTQQpQM8B@zLF>@SQl$bIIY)s&VC7%c0Nw!e?lKF{q76t?YG&nhe1v!u24AP-w- z5IbJG4T)k(F?2pV$a&mngu=I_DrXQ%?_(~!aI`Xv=^%ZX zlv>0vL%QK%<`xhwwlx-Q+P3YpeWf*bD)x$t4@{)#BH$wFUlVV8>{319iR|^(fb<=S zT;G9P&)`Zq;{;`OGz3q?CnPh5lSxjx{yr|*F?|N2M|H@0B3Mz;Dv@iqqlx!Au){nt zjsQu4TtD7d_Gr4=?398clol3ScY*2KPE|iqCqdswLF@Kpg5orc40j)^7?&_G1*D`k zTGZtg0+&5-@-u3Fu4TP?`XDL2v;F*1Kox~nGfMswy=>IJ5we^9F&M`k9z5hwv|pD& zd)+X6U$QXM=MiVX&doh3VSgXDtHzFK_TB5rTOC_WFD+Y?NsGv(nU^7m!JD?(JU<;h zNm@Y(v;9Bh@|B7EDuAGSRZsZVctLTo41rQs_y#mz3UGN$nT1SBTGej=smHXko(N8G zr99IG+Sl`(7i7{0Nuh?(8^qW*wf=_lKx*-TdrRbWkdQ+MYRUG?k!#*nQ&M()CeJ2d zt+ELtE5jCjN8&0({rmec&`l7sV>K@}`yP93w|s^dfmzUi1jZgF{JNWr`_p+pX}6vN zmsD8xGn1L?!Sw6y&d#S}_cYm}ay{x418Nq>XCYk>_6{(fXT@`KJbCZ#D`i9`3!CVi zxR=!Ll%$ZuB+=EuLJngQaT0xkU6885IaFwEWz&y9Bz3ZRJis_@*6oLS-y@=q#F@h*(gp6kzoFLU?ptKPj{8P?RO%iy;;cIDF*Q@hJ%fW1mg-)bVh_OwXc|73{aw%Y>Cu%_Pm}A6m@A+(=mpD`EYqrWNcyZ)tMxC(`JvO z4VFO?DBwQT@v-ZJka!*G+T&Y z$V4R*i55EzKnOO-Y%2y#q$F@`y|!hv~G4I0HswW3ks`e3P}l zgop-!wV1G8ffi_}XS&~fb8{wKFtPVt+SGKaQo`Qpw9A#z0E1>%PbhgQUHmE|K@peC z@){>7D8Z}_q>PZj4$+I+=D!Zh&wnQoM#7{05ybRJ3~p%g*P3k1$4DM%MecNtQDZSf_Uw3G;RMN8(N3>uzn&T zi=gF&k|GYPlDvQ_S$RaH?&svJ1836mrLgc|MSKZ6tPN^HJS0&Hu$cAyu8_4N6SCuE znoA60E62Q85&b5H*XDIHb1tZ!Fu|$ROf`}UN^cfYI(suDi`hpRAyN)(1K~MaQ^ryr zu}y@!A$~~OyI<7QS$yEme4B5NO^((2{gX`Qwsf>qA}n3Ot_PUyhm#3e;sPo>Ra08# z3T}cCF|?N?IJCB)zHxFUV6I-URwy)uNQ&v{SciVSZ%BMe@W@XAYC%_f`)BDw?CD;# z)5$b6;u_8TlL$S#ge{&Y+tDbS)BS#cporvAZtg@&vXH8)qvfy{1;E&r>g6VV>3;u-n)tQ2;|Y_6 zvF9XVF4$#|aY{Ozj>D#D+n;xe=@a+⁡~`@Ic7MD??RGzj)ocgYpXVZzmW3BerD^ zGbBp;(@Z?cK0#ro=j-c7TV8WIGo%Xdn0P5?aH}Hqq~vFUgQSc|gZbD+P}fE6i1-)m z28=i%<77=qSw{9&>@_1suk;plfdSzL#| zwY>Z&QWAmX=>SRnOn*os;SJcB7iRv~V5QvI4tlz!(NH4hLz&9Dg8IhKCsW_aw=P~= zQ&Jvv`O<08e#hg>Dl%<{;!=_8>xk7=f`U(V)1})!9Y)H{Sddk*QXT@)Mle4@9)9xO4gS_dz}rkF>hA6K9~0Ec_WyZ;w0jC9z5F&M;w#z z-z_WKdieVF`T4{0Pb5+&=#cgJw93kj>E@E|xMcGuU3~GGq#)%gQIdg1z?xoDQY8*X z+Cj_On!cbc`YnTFsk5T_nSW@;!`|H7w+EY_iEK4eWhgk&-Vw1eoUT-HquXP6CPvkG z3MBmof-yT8;w$ZwM^1>%y+r;rB+*vK($8G9Wzs zUu9{|V9*a%Z){jHSPdRKx92x+9up4rJOprc1RmMN8Q_Zgeb}{uCb9Y@NhJ76=|S_d z#rWk2=Jy8sA{>Gl*z%J5xIo;yI`{{nhY&j?1#LsrtBKb*3B93AzpO;(#cPx(LsGWa z?1dzTf;AvW$I^KIILqy~YQ%OpqSY7~D{1G%-mPBu{~x+Z^P z!xNdr0}?KLW8?8K1~LH&!CoTIASvdf|HV^!L)pI6*z^0@C^5t~*<7=aKTf)O>8S(2 zT8urU=mmnFPx-^&h`#X1mhb}tU)z_kq#Z>3GYW@ZXG+_y6rYGMkDfuKC z)D(=0ue?03!``gV8+~|ZqAPmF?sks&)Y35-J} zvN5cr>Z@3jHktJ=2rp{n0t&#tEBtMng2pG9o8`BTz>H z!MsKq-%rGumeCa>Cq*>H@#*Sg-SY;9?$h7P;c4w#80OIlxI)qzrnP}4$!@#l91&`Y z^!Ek?td(cdm&qkN{z@EWgmePk4vpuC^rD@++TV-s(7LR7LlMDyCp6FOE6$=;rSRj9 zqLL+1^q5_F0h=@4a zcBHpoPO3{w6NjQr{wi1yHtuhWUC}>3LtP+V3r!0`;qbGG$c}|@nY;I1#hL^L8SN(^ zOj8SblyOsRg@cpKYw-*HM=w8(Fmgt0N@;^PFKqKK61^+gc5(~yzDr8o8Pi3hQ4?R1 zimx}(^V8q!>ksjm#_iIYEK0}3?C{546ZDnU4mGYdGq#}qQ%&JYrxcfD6@k$o#rE&Z z#E4zCVZ$hRy=Oo{5N87^BZxME@iZ%YfzfS$nh268e7$*rz&AT_l`wPiBTC>BQCmHs>7?=AHn`JK5MWrhe*(X9-0;}gSEvP`-lkY$$A9 zbxu`P#@mkEh#ca*=El<$=w5&XryvuznXuBb_=jf?K`Ywmi>dY3P0EBVD8bwBCa9|b z`|NDk0n!Odg#Pn1X7;42t#Rvy)Dcch1Uw_YzYhU>H1GzP<`eKzvfPQoyL*~=1r;;BOS zLW9K`6Vp*m0dTg4NWSM=U?G}GLr;~Y#yEpr%Q>YNtOb2Gx%_cL{SnI_7iOpBEFRGs zk0%0aMepTs&bPFjq_uSmh`tDWk~*(4A0F9ARm0t}*4gBiN%*>Tn-U`uh{-R z3?!nA*eR{+$xw3(Jb7=W3gt^KZE{7$DNKAT5lxP1Dz$`C3R;!3$bP@0XdAxVTHjiB1()f98J4rydZvoJ)nIFir^qj%eQuW?6 z(#rKLr64rsZi^L{9{d?I57(YKI{UU{iDu>5Uv5c9d6iM~bZ1x?r(+Uudn)E%K}5d>ki}^Ums$5}{3FX?+9e zg%S2DffR&UsV5CH=ekraYg4V&01St4-YepH5!6+rmoeUBOV65CUjAXWEK3n#k#=c+ ziH7duCsZ3~^v7*Y>pX^MO2T>?!9PSA5o99-sm>Ko#M{z%Xwv>ZPP-ZXzA$M^ekNTp zy`z;5DXlbYB{kbpDl#ToR_lP!L8}}gDK1}~>DOJ`*mwpR>LJa%QQP{;85I=?`vbZ4 z#d+6Bv^UD?E$q{_rrFan6Q1Q zUQqNp37RlEwneh`^QmfZvYDHB221MeM|*ROY9^BWj9^;&`ujLEAG(EsCv2!kw`|+C zF;#BF>5%r>X9uAm_Y~6NLbFhD#8Oa5k^c)C*6r{4D%NBwB=Ss48XL<@gRVE2p3f^O zS(zvbE9Wh1Y5F2;ewc{dK7mfbIv!`!d&9oGyM(B)<&BNw*nm{`f2%JfO|5{wzQ9-Z zbh1fi^OB%@UUWx3+k8 zGPRfP>D*LhP;X)CC2ER7~5Q?xos%9@mVn@Qc@N4`K1Bt-s*HtfZzis{8rJ&1V( z8~izw3=s|qTKeJwV-^Sv44S9I_QGtLsxn0YLj;nF3D>q{tR+&HSNnWxvb8NU(kRiB9CVrv-|Z0Cx_oQm zw>L2BYidf$muJ)VHQ55hBiaozj*j<=TpG--wTa1j6Bn1q-cK^H^5vT?t%+EI|1*g++4GVIhU9Z1ldIf8;5Ge623o*7(R9bl(AfNvPeQf zQKuP?+Zs=X%ie8{vRX=X_Pq1X(}OiC6Ro45={yGCz)(MmGEoa;1kAUNROW+U^7*73 zW}imt+T%HM)UmT>eVy69FVb1V3GWNVxHilm#`ZZL>@50`{4&m8#@lmq6 zpZFg-`!-u=2)`K-e=)YdPn0r35j}0$yucFbMztk(ldtS!ltsJqN*X>pl};T13&?gIohDaf z#+*aaN=B%*+~AtUjA!kzb?sSIRarN9%4+M0p6s-+%`v6XfHYEegE!2(!TcNKW|6lX{wzf+K{{&CQcQ`p?WbE~av#UPE6w%~vkm_$eERXDXN()xtRYAME=HbZR6X zAU9tJ1G8%;l)gFG{V$HHv#r49%2Yut7n)$7maOha9y+$a4}mX^r;KnT!`w)u9+!rc zdG+=F&|wF8LtVqF$W-3}c&5X{pIk8HHj>`&5}+3m-UF-G8KD=vVQN0DqC$Et4tP0I zSZ8}Zml5b!0B^D_{f&Kf3dCjh7*2`kxzX+;3`o%J9y_=Do*APLbvvgG!N^EZ9Q8JK z)J$UhE+&`K1Lh~XG;W-kK}lkwx%R86*#~yS=(RKG@8eKLfb~4PtLF`&j9AvTVH7Oy z`3kt0T@OzTQZ2ofB?!TinkOecA7XG9fwlqs5i{N=gFd7%f6{51d-@fQi_yDnTfxq* zu3@H9q^O&SJrxAHi$Sur%FCR?8jp09l|jojPG*2+*LLj9_R{w&DFq8Ap`;dKZ`~2dj!R=pKr4m;tnXt?>~+dz8kT@avf)Zs2ducLNPi>XhO|qH+>=YjA$vRNv5O&6!57A{tocRu(8F=MN|8@)U9@7 zKZyKb*KB6|gxr>SGNh2~Wv$F>W<;7iWGV!ioR_hn$i*Zh$yy2QUl^8Lzzxy61a(=p z&zDstE{%1xWfbU64c2A!V(a1`whFPUHQNVX`bdpd}oNJnY0iW_q~ zThup*oz^l=Ba6tW1Jre0Z@slVTi%o*7ZllNbzaUzkY08m>4f39g2JwpXLx>{O;D%S z-*^W=QeJsrf!)7>QYI63>SqotsDy<}-L~}u`uhmk@q5fX7oOY|HRH#NRu~e)E|d9* ztu)#17o5$nK#+zDu{aj@5^n59xLy~lu)b$%Ma9Ncb94&ab@)6Y<0gQkATznr76yLT z-QM}&{)*LPrBP%?LP2SQf2+aYq`vlTEed>np0Dhgp$zXQdLe!JnVhLi`a-zYet$}D zX6X{T*dlvTXm4;sI!z!v{oB^BSBcJ(?FsAG=i%_fyR)_>nCTyz{KteXewaXlXp0>p zw5`N^pJnsI)62`ZrW2BUtV?oAANTM4*x5gJ@-tTFmcH9aM1~8Ehr95FA(^W zCKj%nSjHcbcNqvrbtf)=})@ITQBNg{$9Ij(@5B%lK~n9!?R>CNwt-m8q4f3Jp(w= z+t^_fuq>#;KTKzMI;4x;h362Vzb0YqB89m@8~2=BmOWl5n|F}4pvc9Al*JAoaFwmK zG*mbsa>KpEe7BWfcz16@>uhF{;@ouoeIk_JbpReSJp6d3Mq%`pD*}N^4Sla8cuGCS z8ZW@m!(rn)46ad7%MDV$IMe4FKwOyW5gpuWOVb$!I}Nj?4}iGT7Ko&;fb4_+$jQmQ z_>2_wHEsQNX$Vnne{g5 zA5JeWdw!_wf%N@-u$?upWTu6|{LXh~jyXb5Us;W4gH1qe9qa{Igf0)HDy26b6aOy9 zllS{EIk%!BEv;5oi;?8yK?{l$CM|DnmNp(zZxXe>CFZb%(R0l--@diF6}zFU zwY7q^<<`%*;pu+;eE@t6@O-kdL?|N$n?{eYApJlo{35O^s#9hQ@C|KScRZSDoo;lk zog9qdTok+n^?YYIym3TT`n3N$u?g+t-M@X^Y#u0t$)(72a`oVWZ?XmnjDFh z>;du9Ht9QN_^L#p|G$hu3yRE679z(~H#!vP(xxR^zs!7Vr!pT*=jtVU!ruNqz{OxX zF+qPHq4a)M!+v;&tv*Ue_@8biopKCQT`pZq6STYE1E}AsQ0V?t9Yqq|!}*v3fe~FD z9pQLyL@+;4>T?#+x*0y-rf78A$=U~lCn=Bm5!^_4Z$_F0Gt791$+%w%*wa1NP#)hW zL6M0pYivA}47wjedl^k{OAtxZ71gDsZ)URvrS0!SXlFnQtLKHud|oIc2Ae*JE~4Yc zHaDIK7`Fo~t=0PFbRzB58d>8HVbgpf9Sky?mm~K+{Hdo%;vQ}tPV;zzeZB%+4x)o& z(E1GK0GRF#ndZZp^h(NR9+{lG&w>&O@1GY5???C19@hN0&da}X#@Mm)^`{(Z`}?>h zlzxFEB5W^e+qJ7H+if7x1Ozp+@Fc|MA)dDPQ zTb-}NqmMC3e~&@ZtTI|=DnApt_)kIjZJ{@RX{LRS)2(^7$M;!KWLjD1!lcvqb^X4U)Mx`3>KHZl&+my zwl6=M^M^!G#MP?}1ik=b=@KgO0*WNn-n5x!PcJQv7J~QAZ80x4a{b4ZkU{4q>F?76 z#wVJ15s|sLyZFt`nY6Uc=HbOQ3FdIAWf{e!c!XvyRd8OKaM>Bm+(e3Qw_v}cLfB&{ z6(Y;pm2F-teohj^8?mK+WGG~u3dV&*B#;IPGeqBqW>BjF9@Sy%;qHoxhOC2q*(^i` z=MIgaNE1jYgCv>-g*gO_a_>zNM*l0AZjVj)Ni~1Cz5QfEN&OIuZ4-^f$d4qswVi+! z%2ac0^1Q!h{P^H8jg6z>!C1Sar}gYZ4;@tR!Bp!Zo(4`iC9fdZc^(6I0#pdl1L0x% zS7#qsE?RA$hkP7n{TD`hyyl6daV`kbU`djCv35}qEIhvYFJVo!nFI~@d14t{V8{eT z?j_-UCCom|!g=B#z@$PAnr_s=;B%^@!!|~bF0)C0ha_1>RML+!LR!%=e*mbtmSwG+ zUS7WKx$WBvJUyMqYK_a`v?JkH3F>b>O0Bc@>}gLIp3h(n`kmtNmT2z-P&ksbzP!4$ z;)QIl5r4jbsD=|An5)!r41GQX*UEZqKa`x5hOpQ{{2VEMaBNZ8x@-%{_jR7Bem|sw zB9{B|R{tr`{8zxKD{(Z0wAKZ*R7gr==^718ieft>=h#Hl#!}8e#=_3MdpFEH{P6IS z=H?0ywAek;5nRedMfe0Vu*nq|yljy9nhplHPN}MD&&I<_wkS@rad<%u11D%!f0$8H zB6*{%hq%ViHZ={;F-@P%_Q}NfDme|Sc~qQ$NMdjoz^_YGxCh2d{|T=q-2)D(pvcVx zJd_{ox|)IOsc%aW_pU?i76yjJ=4X;oMu^?Y8qjfI9h3(1yVwNDFEl#<^t~SM${#g-2iO__%+RXt!b)_ zhLPK9x3>p7LZRSLZ&6~vF9tjZHZ|31cice6#~4xnBK~< z&n}r-VP@=x=1zy`4zx)OY(>0X7>Jl?4>NCL8$rV`*tTsl3}y{dr0F0K4`-r61wGQG z_@rV2COGvxM0w1d@5EmOw=!@@I~D0hvYiO;v!-XmTE7-H%`JmXZ)Eynhx)wzCn%Ab zMhSJhh;jv9q`Rmm{O-H$`vTXKe2Ag-LAGTbOCy) z2%P}11^q6x;k$^q37~)5mVQlnJoPyq&+e~}9osb&9@$V%JezB=Sb^F6;J^7?aYt9y z)fFm_r=UmKMN*n7@Ix^wT_c!^0nUlkzlc_d7IwwkIq{~7gKZ@tqj6FBVSpw7A_Rm@ zvXyGqjY7o%#hLh<&nCckEG%NrK% o%sZ&6>%Y~tO(zKHj*FoDKdm~jzGER8NdN!<07*qoM6N<$f@;jU*8l(j literal 0 HcmV?d00001 diff --git a/assets/images/xgmm.png b/assets/images/xgmm.png index c68bac2150aa576ec3d58df7a44aee9d1152fc5e..5870b00c3605273c7b6d559cdcfd37fe88f880fb 100644 GIT binary patch literal 1833 zcmV+^2iEwBP)Px*<4Ht8R9Hu~n15`QR~g5@&v}2`OX+UQSb;)uxHOVk(zN$x4zf8(j7B##iUEfq zG6M_iIvk)=k(pg4abYlslMSX86T&v^Tq5{mF(zit;auT;Tdt5$(=eO^1=c}-?EZT1 zd%othw_OqFEnR#5y2*XdIiK^K=lMR*bA*J5fEeRQBodBgSsx9<@be@Wibx%Rn@IKp z=n|2?1Nd`)fB&)0&d$CuE<600Tn|uPU0u2Bx}Q@@eG|ZK0Ln>5#T;pHL(38w*CIB@gb0X3S;1J2fBzu%nQ2+}_en~_=VZZ?Nk=#de zb9;OHg|R@51xOkj8y702S^(S%AWQOP%d&pb+uM7xv$NA!Xut>O&6^jE#bVWt+5^ItE($l3aTVfB9W*7@F;+0k`d#uN~wpA9zFWcA&~#yWWj<3GhNr+ zC?cy#mWjygK@hA=rBZKwXrOpJUJKww5lH|zNAh9c_g@AOj<$F_9=}yY_LFQB5o4wM zec%5*06p5gQWjG2c>Hb=`8j}@B;T+s>)scpDf?!7~ zm3n{NKt^*&t`L#!04hix6p=Na=e=7BsJ^~_s^d5tNPZ81Eg~&p7;ft5=(sd)pxWBn zNGuk+55N;5Vl?Mhwr#I#YisK+1!QEQp`qc6mSsIfvRp)VWwY6xCr+F&K`=OyNrmca z3v1RG3l5A?uWa$+#dc3mj|ulD0o(xKg)j`)l{)3n;zjNHic#_~3=eg5baV{|!n4m# zi>Sh#+IA`-k_uKmaO?`8y1F{ovaHHTBofJFGA5@uuInxXV9Y+1&&!O2aU=2&OcVlTitNm-YP$0>pt`!c8(r7^f>P?s0A`P{U=@J5 zMu|nlsILj#!iaQnRW6bSI1rJ)0N63?cl)+Yb#&}LA&kgYg9LQgn_t~*g(%g zSeCU;DP{a+hPnSzr@xN>-wMOLvOha%ezp82ZFi;|q zXd?Njh*TGq_&pKHU&p3bd`i+7QH$1x^I`ad)RHAO#P&{A4;O>X9Lg@RK5P0gR*U3SOq@gO$!DTum5 z%yo){Lj6~Ud^msqgZ~)vuYt|t@%U*Gxf#G&04qGtd-YmrVLVo=N`Ak#cTUZA?Kt;{ zrVS+;1*TMxS)V=E^BR)LVf7vWN+c5R0GI>7DDYCx^WGfK##f!w^3&PTJd--=t^i~T zL?~g{rPAq*neM)WNG1y-=M4cFkQx96Y`N!ouTKcjbI;vmN7On2n}w_#@DZ)gTG`y= z>73q&4I7LUTs9^TsHNow+X~hQ@*%PJ>{{rAg`L`UZ=-D) zwGN^6D@Yd}$*)~|a>!vC8yjaUrA)nK{b>^mL`r1u?vGK_RuK09CcKqKsC_G) zUYq&Ww@u^@w_Ek~^)-&;{2IXR0D3*o`yh2ph=q3Vp5sQ<6BJo0WRxbnHBU+*_-?Lp z#w%F1?6L~82=pQVlTbGjXmWvm z`OGXA_R|2CNFk)1N&iQJaC?8Wd@q`tKPbpXD9)q;*}vFxm$Kw%rjvDhd*3KO_4aRb z(XxXVw{GpZmcULPP%>#dw^Szx>r*HM$D-Z+?fq?Sm+;a{qgD%(2V_j}ho>WWx6;O` zQ<;&8aNU^v0t56v X?jdzgodz3T00000NkvXXu0mjfZvJAr literal 5563 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 diff --git a/assets/images/yjs.png b/assets/images/yjs.png new file mode 100644 index 0000000000000000000000000000000000000000..7f5e5f22d406cd1e6d942ef8d79408901c247bf2 GIT binary patch literal 19317 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 X1mJ33SIGkH00000NkvXXu0mjf#_A5_ literal 0 HcmV?d00001 diff --git a/assets/images/yqd.png b/assets/images/yqd.png new file mode 100644 index 0000000000000000000000000000000000000000..ff83c640f789dbdfd3e10a80957f6868f36e15a5 GIT binary patch literal 19664 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 XJblK^uOG)N00000NkvXXu0mjf1+wCG literal 0 HcmV?d00001 diff --git a/assets/js/common.js b/assets/js/common.js new file mode 100644 index 0000000..4779f12 --- /dev/null +++ b/assets/js/common.js @@ -0,0 +1,25 @@ +export function wxBind(callback){ + // 获取openid进行手机号和微信的绑定 + wx.login({ + success (res) { + if (res.code) { + //发起网络请求 + wx.request({ + url: 'https://api.weixin.qq.com/sns/jscode2session', + data: { + appid: 'wx24914e866df035fb', + secret: '0d2830f26f57722716249f2b2236f409', + js_code: res.code, + grant_type: 'authorization_code' + }, + success (res) { // 成功拿到openId + // 微信和该账号绑定 + callback(res) + } + }) + } else { + console.log('授权失败!' + res.errMsg) + } + } + }) +} \ No newline at end of file diff --git a/assets/js/http/userApi.js b/assets/js/http/userApi.js index 05e0c07..9d6f4c9 100644 --- a/assets/js/http/userApi.js +++ b/assets/js/http/userApi.js @@ -26,6 +26,8 @@ const UserApi = { wxLogin: (params) => http.post(`${URL_CONFIG}company/WCLogin`, params), // 微信绑定 wxBind: (params) => http.post(`${URL_CONFIG}company/bindWeXin`, params), + // 微信解绑 + wxUnbind: (params) => http.post(`${URL_CONFIG}company/unbindWeXin`, params), // 设置密码 setPassword: (params) => http.post(`${URL_CONFIG}company/changePasswordWithToken`, params), // 修改密码 @@ -44,6 +46,8 @@ const UserApi = { editMineInfo: (params) => http.post(`${URL_CONFIG}company/payContactsManagement/companyEdit`, params), // 我的资料 dataList: (params) => http.get(`${URL_CONFIG}project/payWorkingGroupDistributionRecord/listForFile`, params), + // 发送邮件 + sendEmail: (params) => http.get(`${URL_CONFIG}project/payWorkingGroupDataFile/wxDownloadFile`, params), // 我的合同 contractList: (params) => http.get(`${URL_CONFIG}contract/payIncomeContract/queryCompanyPageList`, params), // 合同详情 @@ -61,6 +65,10 @@ const UserApi = { messageStatus: (params) => http.post(`${URL_CONFIG}sys/sysAnnouncementSend/editCompanyByAnntIdAndUserId`, params), // 工作组分页 workList: (params) => http.get(`${URL_CONFIG}project/payWorkingGroupSubitem/queryCompanyPageList`, params), + // 分标委列表 + committeeList: (params) => http.get(`${URL_CONFIG}payCaseCommittee/payCaseCommittee/list`, params), + // 分标委详情 + committeeDetail: (params) => http.get(`${URL_CONFIG}payCaseCommittee/payCaseCommittee/detail`, params), } export default UserApi diff --git a/pages/committee/committee.js b/pages/committee/committee.js index 3349a12..e75f6fe 100644 --- a/pages/committee/committee.js +++ b/pages/committee/committee.js @@ -1,66 +1,46 @@ -// pages/meeting/meeting.js +import UserApi from '../../assets/js/http/userApi' Page({ /** * 页面的初始数据 */ data: { - + pageNo: 1, + pageSize: 10, + list: [] }, - /** - * 生命周期函数--监听页面加载 - */ - onLoad: function (options) { - + loadData(){ + let params = { + pageNo: this.data.pageNo, + pageSize: this.data.pageSize + } + UserApi.committeeList(params).then(res=>{ + if(res.success){ + if(res.result.records && res.result.records.length){ + this.setData({ + list: [...this.data.list, ...res.result.records] + }) + } + } + }) + }, + // 分标委详情页 + detail(e){ + wx.navigateTo({ + url: `../committeeDetail/committeeDetail?id=${e.currentTarget.dataset.committee.id}`, + }) }, - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady: function () { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow: function () { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide: function () { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload: function () { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh: function () { - + onLoad: function () { + this.loadData() }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage: function () { - + this.data.pageNo++ + this.loadData() } }) \ No newline at end of file diff --git a/pages/committee/committee.json b/pages/committee/committee.json index 8835af0..61f9e0c 100644 --- a/pages/committee/committee.json +++ b/pages/committee/committee.json @@ -1,3 +1,4 @@ { + "navigationBarTitleText": "分标委", "usingComponents": {} } \ No newline at end of file diff --git a/pages/committee/committee.wxml b/pages/committee/committee.wxml index 33f168c..f679d03 100644 --- a/pages/committee/committee.wxml +++ b/pages/committee/committee.wxml @@ -1,4 +1,9 @@ - 分标委 + + {{item.name}} + + + 暂无数据 + diff --git a/pages/committee/committee.wxss b/pages/committee/committee.wxss index 94874ac..e78ee55 100644 --- a/pages/committee/committee.wxss +++ b/pages/committee/committee.wxss @@ -1,20 +1,21 @@ -/* pages/meeting/meeting.wxss */ -.select-list { - height: 92rpx; - display: flex; - align-items: center; - background-color: #F5F5F5; +page{ + padding-bottom: 20px; + background-color: #f5f5f5; + padding: 15px; + box-sizing: border-box; } - -.select-item { - flex: 1; - display: flex; - align-items: center; - justify-content: center; +.item{ + box-sizing: border-box; + padding: 0 15px; + width: 100%; + height: 40px; + line-height: 40px; + background-color: #fff; + border-radius: 10px; + color: #333; + font-size: 14px; + margin-bottom: 10px; } - -.select-item image { - width: 21rpx; - height: 12rpx; - margin-left: 20rpx; +.item:last-child{ + margin-bottom: 0; } \ No newline at end of file diff --git a/pages/committeeDetail/committeeDetail.js b/pages/committeeDetail/committeeDetail.js new file mode 100644 index 0000000..70c8f40 --- /dev/null +++ b/pages/committeeDetail/committeeDetail.js @@ -0,0 +1,57 @@ +import UserApi from '../../assets/js/http/userApi' +import { previewFile } from '../../assets/js/preview' +import MeetingApi from '../../assets/js/http/meetingApi' +Page({ + + /** + * 页面的初始数据 + */ + data: { + form: {}, + id: '', // 在工作组id,项目id + projectFileList: [], // 项目资料文件 + meetingList: [] // 会议文件 + }, + // 预览 + preview(e){ + const fileObj = e.currentTarget.dataset.file + previewFile(fileObj.fileId ,fileObj.fileName) + }, + // 获取更多会议信息数据 + goMoreMeeting(){ + wx.navigateTo({ + url: `../meeting/meeting?caseCommitteeId=${this.data.id}`, + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + this.data.id = options.id + MeetingApi.meetingList({caseCommitteeId: this.data.id}).then(res=>{ + if(res.success){ + if(res.result.records && res.result.records.length >= 1){ + this.setData({ + meetingList: res.result.records + }) + }else if(res.result.records && res.result.records.length >= 2){ + this.setData({ + meetingList: res.result.records.slice(1) + }) + } + } + }) + UserApi.committeeDetail({id: this.data.id}).then(res=>{ + this.setData({ + form: res.result + }) + }) + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + } +}) diff --git a/pages/committeeDetail/committeeDetail.json b/pages/committeeDetail/committeeDetail.json new file mode 100644 index 0000000..61f0f4a --- /dev/null +++ b/pages/committeeDetail/committeeDetail.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "详情", + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/committeeDetail/committeeDetail.wxml b/pages/committeeDetail/committeeDetail.wxml new file mode 100644 index 0000000..aaf475d --- /dev/null +++ b/pages/committeeDetail/committeeDetail.wxml @@ -0,0 +1,29 @@ + + + + 项目名称 + {{form.name}} + + + 项目资料 + + {{item.fileName}} + + + + + + + 会议信息 + 更多>> + + + + {{item.meetingName}} + 查看详情 + + + 暂无会议记录! + + \ No newline at end of file diff --git a/pages/committeeDetail/committeeDetail.wxss b/pages/committeeDetail/committeeDetail.wxss new file mode 100644 index 0000000..5159e1d --- /dev/null +++ b/pages/committeeDetail/committeeDetail.wxss @@ -0,0 +1,267 @@ +page{ + box-sizing: border-box; + background-color: #F5F5F5; + padding-bottom: 20px; +} +.basic-info .title{ + height: 40px; +} +.basic-info .title text{ + display: block; + border-left: 3px solid #069F99; + height: 14px; + padding-left: 10px; + border-radius: 2px; + display: flex; + justify-content: center; + align-items: center; + color: #333; + font-size: 15px; + font-weight: 500; +} +.basic-info view{ + background-color: #FFF; + padding: 15px; + height: 40px; + display: flex; + justify-content: space-between; + align-items: center; + color: #333; + font-size: 14px; + border-bottom: 0.5px solid #f5f5f5; + position: relative; +} +.basic-info view:last-child{ + border-bottom: 0; +} +.basic-info view text:nth-child(1){ + flex-shrink: 0; + margin-right: 10px; +} +.meeting-name{ + margin-bottom: 10px; +} +.meeting-files{ + margin-top: 10px; + flex-direction: column; + align-items: flex-start !important; + height: auto !important; +} +.basic-info .meeting-files .file-name{ + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; + box-sizing: border-box; + padding: 0; + height: 40px; + margin-top: 10px; +} +.file-name view{ + padding: 0; + height: 30px; + line-height: 30px; + border-bottom: 0; +} +.file-name view image{ + width: 30px; + height: 30px; + margin-right: 10px; +} +.basic-info .meeting-files .file-name .look-file{ + color: #069F99; +} +.warning-text{ + position: absolute !important; + top: 5px; + left: 75px; + color: #FF5E60 !important; + font-size: 10px !important; + padding: 0 !important; +} +.warning-text image{ + width: 10px; + height: 10px; +} +.pay-prove-box{ + display: flex !important; + flex-direction: column !important; + justify-content: flex-start !important; + align-items: flex-start !important; + padding: 0; + height: 120px !important; +} +.pay-prove-box .pay-prove-content{ + margin-top: 20px; + display: flex; + justify-content: flex-start; + align-items: center; + padding: 0; + height: 80px; +} +.pay-prove-box .pay-prove-content .pay-prove{ + width: 80px; + height: 80px; + margin-right: 10px; + position: relative !important; + background-color: #D1D1D1; + padding: 0; + border-radius: 5px; + display: flex; + justify-content: center; + align-items: center; +} +.pay-prove-box .pay-prove-content .pay-prove image{ + width: 80px; + height: 80px; +} +.pay-prove-box .pay-prove-content .pay-prove .delete-image{ + width: 12px; + height: 12px; + color: #fff; + background-color: #FF5E60; + border-radius: 50%; + display: flex; + justify-content: center; + align-items: center; + font-size: 7px; + position: absolute; + top: -3px; + right: -3px; +} +.way-box{ + display: block !important; + padding: 0 !important; + height: auto !important; +} +.info-file{ + padding: 0 !important; + display: flex; + flex-direction: column; + align-items: flex-end !important; + height: auto !important; + overflow: hidden; +} +.info-file text{ + overflow:hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.meeting-info{ + width: 100%; + height: auto !important; + display: flex; + justify-content: space-between !important; + align-items: center; + padding: 0 !important; + border: none; +} +.meeting-info text:nth-child(1){ + flex-shrink: 1 !important; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.meeting-info text:nth-child(2){ + flex-shrink: 0 !important; +} +.basic-info .way{ + padding: 0 15px; + display: flex; + justify-content: flex-start !important; +} +.basic-info .way image{ + width: 23px; + height: 23px; + margin-right: 10px; +} +.way-info .way-left{ + padding: 0; + display: flex; + justify-content: flex-start !important; +} +.way-info .way-center{ + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: flex-start; +} +.way-info .way-center text:nth-child(1){ + color: #333; + font-size: 14px; + flex-shrink: 0; +} +.way-info .way-center text:nth-child(2){ + color: #999; + font-size: 11px; + flex-shrink: 0; +} +.way-info .green { + width: 20px; + height: 20px; + background: #069F99; + color: #fff; + font-size: 11px; + text-align: center; + line-height: 20px; + border-radius: 5px; +} +.way-info .blue { + width: 20px; + height: 20px; + background: #0A72F7; + color: #fff; + font-size: 11px; + text-align: center; + line-height: 20px; + border-radius: 5px; +} +.way-info .way-right{ + flex-shrink: 0; + padding: 0; + color: #666; + font-size: 12px; +} +.basic-info .look-progress{ + padding: 0 15px; +} +.basic-info .look-progress text:nth-child(1){ + color: #FF5E60; + font-size: 14px; +} +.basic-info .look-progress text:nth-child(2){ + display: block; + width: 70px; + height: 26px; + color: #069F99; + font-size: 11px; + border-radius: 13px; + border: 0.5px solid #069F99; + text-align: center; + line-height: 26px; +} +.sign-up-empty{ + height: 60px; + width: 100%; + display: block; + margin-top: 10px; +} +.sign-up{ + width: 100%; + padding: 10px 15px; + box-sizing: border-box; + background-color: #fff; + position: fixed; + bottom: 0; +} +.sign-up text{ + background-color: #069F99; + height: 40px; + border-radius: 10px; + color: #fff; + font-size: 16px; + font-weight: 600; + display: block; + text-align: center; + line-height: 40px; +} \ No newline at end of file diff --git a/pages/contractDetail/contractDetail.json b/pages/contractDetail/contractDetail.json index 8835af0..61f0f4a 100644 --- a/pages/contractDetail/contractDetail.json +++ b/pages/contractDetail/contractDetail.json @@ -1,3 +1,4 @@ { + "navigationBarTitleText": "详情", "usingComponents": {} } \ No newline at end of file diff --git a/pages/contractDetail/contractDetail.wxml b/pages/contractDetail/contractDetail.wxml index df3044c..334de5a 100644 --- a/pages/contractDetail/contractDetail.wxml +++ b/pages/contractDetail/contractDetail.wxml @@ -1,6 +1,8 @@ - 基本信息 + + 基本信息 + 合同编号 {{form.contractNum}} @@ -20,13 +22,17 @@ 关联项目 - {{item.chargeUse_dictText}} + {{item.chargeUse_dictText}} - 邮寄信息 - diff --git a/pages/contractDetail/contractDetail.wxss b/pages/contractDetail/contractDetail.wxss index a7cdbe5..c1884bc 100644 --- a/pages/contractDetail/contractDetail.wxss +++ b/pages/contractDetail/contractDetail.wxss @@ -1,13 +1,21 @@ page{ box-sizing: border-box; } -.title{ +.basic-info .title{ height: 40px; +} +.basic-info .title text{ + display: block; + border-left: 3px solid #069F99; + height: 14px; padding-left: 10px; - line-height: 40px; - color: #999; - font-size: 14px; - background-color: #f5f5f5; + border-radius: 2px; + display: flex; + justify-content: center; + align-items: center; + color: #333; + font-size: 15px; + font-weight: 500; } .basic-info view{ background-color: #FFF; @@ -27,6 +35,7 @@ page{ .email-info text:nth-child(1){ color: #333; font-size: 14px; + line-height: 25px; } .email-info{ padding: 15px; @@ -37,6 +46,7 @@ page{ display: block; margin-top: 10px; text-align: center; + flex-shrink: 0; } .ass-project{ height: auto !important; diff --git a/pages/home/home.json b/pages/home/home.json index a2ebd45..965b8e8 100644 --- a/pages/home/home.json +++ b/pages/home/home.json @@ -1,7 +1,4 @@ { - "usingComponents": { - "popup": "../../components/popup/popup", - "dateMonth": "../../components/dateMonth/dateMonth" - }, + "usingComponents": {}, "navigationStyle": "custom" } \ No newline at end of file diff --git a/pages/home/home.wxml b/pages/home/home.wxml index b623cf2..fe83ece 100644 --- a/pages/home/home.wxml +++ b/pages/home/home.wxml @@ -40,11 +40,15 @@ - + - {{item.titile_dictText}} + + + + + {{item.titile_dictText}} {{item.sendTime}} @@ -58,5 +62,3 @@ - - diff --git a/pages/home/home.wxss b/pages/home/home.wxss index a3e8fed..4d6871b 100644 --- a/pages/home/home.wxss +++ b/pages/home/home.wxss @@ -61,8 +61,8 @@ page{ margin-left: 9px; } .list-content{ - max-height: 500px; - overflow-y: auto; + /* max-height: 500px; */ + /* overflow-y: auto; */ padding: 15px 15pt; border-radius: 10px; } @@ -84,6 +84,18 @@ page{ font-size: 11px; color: #999; } +.content-top .blue{ + color: #0A72F7 !important; +} +.content-top .yellow{ + color: #FF7200 !important; +} +.content-top .green{ + color: #069F99 !important; +} +.content-top .pol{ + color: #690AF7; +} .content-top image{ width: 10px; height: 10px; diff --git a/pages/login/login.js b/pages/login/login.js index 62b1365..a54a65c 100644 --- a/pages/login/login.js +++ b/pages/login/login.js @@ -1,6 +1,7 @@ // pages/mine/mine.js import UserApi from '../../assets/js/http/userApi' import { encrypt } from '../../assets/js/jsencrypt/rsa' +import { wxBind } from '../../assets/js/common' var countdown = 60; // 倒计时秒数 Page({ data: { @@ -79,25 +80,29 @@ Page({ }, // 微信登录 wxLogin(){ - let params = { - openId: this.data.openid, - rsaPublicKey: this.data.rsaPublicKey - } - UserApi.wxLogin(params).then(res=>{ - if(res.success) {// 已经用手机号登录过,此时用微信快捷登录时,把微信的个人信息存进缓存(微信信息在缓存的userInfoTemp) - wx.getStorage({ - key: 'userInfoTemp', - success(result){ - console.log(result) - } - }) - }else{ // 首次登录不能直接用微信快捷登录 - wx.showToast({ - title: '暂未授权手机号', - duration: 2000, - icon: "none", - }) + wxBind((res)=>{ + let params = { + openId: res.data.openid, + rsaPublicKey: this.data.rsaPublicKey } + UserApi.wxLogin(params).then(res=>{ + if(res.success) {// 已经用手机号登录过,此时用微信快捷登录时,把微信的个人信息存进缓存(微信信息在缓存的userInfoTemp) + wx.setStorageSync('userInfo', res.result.userInfo) + wx.setStorage({ + key: 'X-Access-Token', + data: res.result.token + }) + wx.switchTab({ + url: '../home/home', + }) + }else{ // 首次登录不能直接用微信快捷登录 + wx.showToast({ + title: '暂未授权手机号', + duration: 2000, + icon: "none", + }) + } + }) }) }, // 登录 @@ -163,33 +168,13 @@ Page({ }, // 绑定微信 wxBind(){ - const that = this - // 获取openid进行手机号和微信的绑定 - wx.login({ - success (res) { - if (res.code) { - //发起网络请求 - wx.request({ - url: 'https://api.weixin.qq.com/sns/jscode2session', - data: { - appid: 'wx24914e866df035fb', - secret: '0d2830f26f57722716249f2b2236f409', - js_code: res.code, - grant_type: 'authorization_code' - }, - success (res) { // 成功拿到openId - // 微信和该账号绑定 - let params = { - openId: res.openId, - rsaPublicKey: that.data.rsaPublicKey - } - UserApi.wxBind(params).then(res=>{}) - } - }) - } else { - console.log('授权失败!' + res.errMsg) - } + wxBind((res)=>{ + let params = { + openId: res.data.openid, + rsaPublicKey: that.data.rsaPublicKey } + // 需要判断是否绑定过微信,再进行绑定请求 + UserApi.wxBind(params).then(res=>{}) }) }, diff --git a/pages/meeting/meeting.js b/pages/meeting/meeting.js index daf353d..de63585 100644 --- a/pages/meeting/meeting.js +++ b/pages/meeting/meeting.js @@ -9,27 +9,16 @@ Page({ searchParams: { pageNo: 1, pageSize: 10, - meetingStatus: 0, // 会议状态 - meetingType: 0, // 标协会议 2 工作组会议 1 国际研讨会 3 其他 4 - month: '', // 运行月份 + meetingSignUpType: 0, // 可报名:1 全部 0 + meetingStatus: '', // 会议状态 + meetingType: '', // 工作组会议:1 标协会议 2 国际研讨会 3 其他会议 4 分标委会议 5 + meetingStartTime: '', // 开始时间 + meetingEndTime: '' // 结束时间 }, - selects: [ // 自定义选择框参数 - { - select: '状态', - active: false, - tabIndex: 1 - }, - { - select: '会议类型', - active: false, - tabIndex: 2 - }, - { - select: '时间', - active: false, - tabIndex: 3 - } - ], + // 会议筛选参数 + meetingStatus: ['可报名', '未开始', '进行中', '已结束'], + // 会议类型筛选参数 + meetingType: ['工作组会议', '标协会议', '国际研讨会', '其他会议', '分标委会议'], // 会议列表数据 meetingList:[], // 下拉框送搜索数据 @@ -41,10 +30,47 @@ Page({ // 是哪个筛选条件 index:-1 }, - + // 会议状态筛选 + bindStatusChange(e){ + this.data.searchParams.pageNo = 1 + if(e.detail.value == 0){ + this.setData({ + 'searchParams.meetingSignUpType': 1 + }) + }else if(e.detail.value == 1){ + this.setData({ + 'searchParams.meetingStatus': 2 + }) + }else if(e.detail.value == 2){ + this.setData({ + 'searchParams.meetingStatus': 3 + }) + }else if(e.detail.value == 3){ + this.setData({ + 'searchParams.meetingStatus': 4 + }) + } + this.queryMeetingList() + }, + // 会议类型筛选 + bindTypeChange(e){ + this.data.searchParams.pageNo = 1 + let value = Number(e.detail.value) + 1 + this.setData({ + 'searchParams.meetingType': value + }) + this.queryMeetingList() + }, + bindDateChange(e){ + this.data.searchParams.pageNo = 1 + this.setData({ + 'searchParams.meetingStartTime': e.detail.value, + 'searchParams.meetingEndTime': e.detail.value + }) + this.queryMeetingList() + }, // 会议详情 meetingDetail(e){ - let meetingInfo =JSON.stringify(e.currentTarget.dataset.meetinginfo) // wx.navigateTo({ // // url: `../meetingDetailSigned/meetingDetailSigned?meetingInfo=${meetingInfo}`, // (已报名) @@ -69,12 +95,19 @@ Page({ }, // 获取会议列表数据 queryMeetingList(){ - const that = this - MeetingApi.meetingList().then(res => { + MeetingApi.meetingList(this.data.searchParams).then(res => { if(res.success){ - that.setData({ - meetingList:res.result.records - }) + // 搜索时,把原数据清空,重新筛选 + if(this.data.searchParams.pageNo === 1) { + this.setData({ + meetingList: [] + }) + } + if(res.result.records && res.result.records.length){ + this.setData({ + meetingList: [...this.data.meetingList, ...res.result.records] + }) + } } }).catch(err => { wx.showToast({ @@ -84,65 +117,7 @@ Page({ }) }) }, - // 点击搜索条件 - changeTab(e){ - let index = e.currentTarget.dataset.index - switch(index) { - case 1: this.setData({ - visible:true, - selectData:[ - {label:'可报名',value:1}, - {label:'未开始',value:1}, - {label:'进行中',value:1}, - {label:'已结束',value:1}, - ] - }) - break - case 2:this.setData({ - visible:true, - selectData:[ - {label:'工作组会议',value:1}, - {label:'标协会议',value:2}, - {label:'国际研讨会',value:3}, - {label:'其他会议',value:4}, - {label:'分标委会议',value:5}, - ] - }) - break - case 3 : this.setData({ - visibleDate:true - }) - } - }, - // 关闭弹出层 - close() { - this.setData({ - visible: false - }) - }, - // 下拉框选中 - ok(e){ - this.data.pageNo = 1 - if(this.data.index === 0){ - this.setData({ - 'searchParams.needInvoice': e.detail - }) - }else if(this.data.index === 1){ - this.setData({ - 'searchParams.pack': e.detail - }) - } - this.loadData() - }, - // 日期选中 - dateOk(value){ - // this.data.pageNo = 1 - this.setData({ - // "searchParams.year": value.detail, - visibleDate: false - }) - this.loadData() - }, + /** * 生命周期函数--监听页面加载 */ @@ -150,52 +125,11 @@ Page({ this.queryMeetingList() }, - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady: function () { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow: function () { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide: function () { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload: function () { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh: function () { - - }, - /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage: function () { - + this.data.searchParams.pageNo++ + this.queryMeetingList() } }) diff --git a/pages/meeting/meeting.wxml b/pages/meeting/meeting.wxml index 2548351..c135c34 100644 --- a/pages/meeting/meeting.wxml +++ b/pages/meeting/meeting.wxml @@ -1,10 +1,26 @@ - - {{select.select}} - - - + + + + 状态 + + + + + + + 会议类型 + + + + + + + 时间 + + + diff --git a/pages/mine/mine.js b/pages/mine/mine.js index 4c0c691..eab44b0 100644 --- a/pages/mine/mine.js +++ b/pages/mine/mine.js @@ -24,6 +24,17 @@ Page({ url: '../upDateInfo/upDateInfo', }) }, + // 解除绑定 + unBind(){ + UserApi.wxUnbind().then(res=>{ + if(res.success){ + wx.showToast({ + title: res.result, + icon: "none" + }) + } + }) + }, // 扫码签到 scanCode(){ // wx.scanCode({ diff --git a/pages/mine/mine.wxml b/pages/mine/mine.wxml index 55c8b93..167a86e 100644 --- a/pages/mine/mine.wxml +++ b/pages/mine/mine.wxml @@ -31,9 +31,9 @@ - + - + 解除绑定 diff --git a/pages/mineContract/mineContract.js b/pages/mineContract/mineContract.js index ac7ce5b..68199e7 100644 --- a/pages/mineContract/mineContract.js +++ b/pages/mineContract/mineContract.js @@ -35,6 +35,7 @@ Page({ * 生命周期函数--监听页面显示 */ onShow: function () { + this.data.pageNo = 1 this.loadData() }, diff --git a/pages/mineData/mineData.js b/pages/mineData/mineData.js index a8217c1..7276e74 100644 --- a/pages/mineData/mineData.js +++ b/pages/mineData/mineData.js @@ -6,6 +6,7 @@ Page({ * 页面的初始数据 */ data: { + userId: '', list: [], pageNo: 1, pageSize: 10 @@ -31,16 +32,41 @@ Page({ let fileType = sliceFileTypeByFileName(fileObj.fileName) // 文件类型不是docx,doc,pdf时,已邮件形式发送到参会人的邮箱 if(fileType !== 'docx' && fileType !== 'doc' && fileType !== 'pdf') { - + let params = { + fileId: fileObj.fileId, + userId: this.data.userId + } + UserApi.sendEmail(params).then(res=>{ + if(res.success){ + wx.showToast({ + title: '文件已发送到您的邮箱', + icon: 'none' + }) + }else{ + wx.showToast({ + title: res.message, + icon: "none" + }) + } + }) }else { - previewFile(fileObj.filId, fileObj.fileName) + previewFile(fileObj.fileId, fileObj.fileName) } }, /** * 生命周期函数--监听页面显示 */ onShow: function () { - this.loadData() + const that = this + that.loadData() + wx.getStorage({ + key: 'userInfo', + success(res){ + that.setData({ + userId: res.data.id + }) + } + }) }, /** diff --git a/pages/mineMeeting/mineMeeting.js b/pages/mineMeeting/mineMeeting.js deleted file mode 100644 index c903bcc..0000000 --- a/pages/mineMeeting/mineMeeting.js +++ /dev/null @@ -1,67 +0,0 @@ -// pages/meeting/meeting.js -Page({ - - /** - * 页面的初始数据 - */ - data: { - list: [,1,1,1,1,1,1,1,1] - }, - - - /** - * 生命周期函数--监听页面加载 - */ - onLoad: function (options) { - - }, - - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady: function () { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow: function () { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide: function () { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload: function () { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh: function () { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom: function () { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage: function () { - - } -}) \ No newline at end of file diff --git a/pages/mineMeeting/mineMeeting.json b/pages/mineMeeting/mineMeeting.json deleted file mode 100644 index 8835af0..0000000 --- a/pages/mineMeeting/mineMeeting.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "usingComponents": {} -} \ No newline at end of file diff --git a/pages/mineMeeting/mineMeeting.wxml b/pages/mineMeeting/mineMeeting.wxml deleted file mode 100644 index d893413..0000000 --- a/pages/mineMeeting/mineMeeting.wxml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - 会议列表未定 - 合同金额:5000元 - - - 合同编号:002 - 负责人:张三 - - - - diff --git a/pages/mineMeeting/mineMeeting.wxss b/pages/mineMeeting/mineMeeting.wxss deleted file mode 100644 index 6324f25..0000000 --- a/pages/mineMeeting/mineMeeting.wxss +++ /dev/null @@ -1,24 +0,0 @@ -/* pages/mineContract/mineContract.wxss */ -page{ - background-color: #F5F5F5; - padding: 15px; - width: 100%; - box-sizing: border-box; -} -.list-item{ - display: flex; - padding: 15px; - flex-direction: column; - background-color: #fff; - border-radius: 10px; -} -.list-item:not(:first-child){ - margin-top: 10px; -} -.list-item .list-info{ - color: #333; - display: flex; - justify-content: space-between; - align-items: center; - font-size: 14px; -} diff --git a/pages/phonePassword/phonePassword.js b/pages/phonePassword/phonePassword.js index 7845398..a08b809 100644 --- a/pages/phonePassword/phonePassword.js +++ b/pages/phonePassword/phonePassword.js @@ -1,6 +1,7 @@ // pages/meeting/meeting.js import UserApi from '../../assets/js/http/userApi' import { encrypt } from '../../assets/js/jsencrypt/rsa' +import { wxBind } from '../../assets/js/common' // var countdown = 60; // 倒计时秒数 Page({ @@ -138,32 +139,13 @@ Page({ // 绑定微信 wxBind(){ // 获取openid进行手机号和微信的绑定 - wx.login({ - success (res) { - if (res.code) { - //发起网络请求 - wx.request({ - url: 'https://api.weixin.qq.com/sns/jscode2session', - data: { - appid: 'wx24914e866df035fb', - secret: '0d2830f26f57722716249f2b2236f409', - js_code: res.code, - grant_type: 'authorization_code' - }, - success (res) { // 成功拿到openId - // 微信和该账号绑定 - // 微信和该账号绑定 - let params = { - openId: res.openId, - rsaPublicKey: that.data.rsaPublicKey - } - UserApi.wxBind(params).then(res=>{}) - } - }) - } else { - console.log('授权失败!' + res.errMsg) - } + wxBind((res)=>{ + let params = { + openId: res.data.openid, + rsaPublicKey: that.data.rsaPublicKey } + // 需要判断是否绑定过微信,再进行绑定请求 + UserApi.wxBind(params).then(res=>{}) }) }, /** diff --git a/pages/project/project.js b/pages/project/project.js index 8ad94c6..f3055da 100644 --- a/pages/project/project.js +++ b/pages/project/project.js @@ -56,7 +56,7 @@ Page({ projectDetail(e){ console.log(e) wx.navigateTo({ - url: `../projectDetail/projectDetail?id=${e.currentTarget.dataset.project.id}`, + url: `../projectDetail/projectDetail?id=${e.currentTarget.dataset.project.id}&type=${this.data.type}`, }) }, loadData(){ diff --git a/pages/project/project.json b/pages/project/project.json index 08ac634..0e892df 100644 --- a/pages/project/project.json +++ b/pages/project/project.json @@ -1,7 +1,4 @@ { "navigationBarTitleText": "项目", - "usingComponents": { - "popup": "../../components/popup/popup", - "dateMonth": "../../components/dateMonth/dateMonth" - } + "usingComponents": {} } \ No newline at end of file diff --git a/pages/project/project.wxml b/pages/project/project.wxml index c727c85..444bba9 100644 --- a/pages/project/project.wxml +++ b/pages/project/project.wxml @@ -1,32 +1,26 @@ - - + - 发票{{searchParams.needInvoice == '' ? '' : searchParams.needInvoice == 1 ? ' :是' : ' :否'}} + 发票 - + - 打包{{searchParams.pack == '' ? '' : searchParams.pack == 1 ? ' :是' : ' :否'}} + 打包 - + - 时间 - 时间:{{searchParams.year}}年 + 时间 diff --git a/pages/projectDetail/projectDetail.js b/pages/projectDetail/projectDetail.js index ac91a1b..faf832d 100644 --- a/pages/projectDetail/projectDetail.js +++ b/pages/projectDetail/projectDetail.js @@ -1,5 +1,6 @@ import UserApi from '../../assets/js/http/userApi' import { previewFile, initFileList } from '../../assets/js/preview' +import MeetingApi from '../../assets/js/http/meetingApi' Page({ /** @@ -7,34 +8,65 @@ Page({ */ data: { form: {}, + id: '', // 在工作组id,项目id + showMeeting: false, // 会议信息的显隐 projectFileList: [], // 项目资料文件 - notifyFileList: [] // 通知文件 + notifyFileList: [], // 通知文件 + meetingList: [] // 会议文件 }, // 预览 preview(e){ const fileObj = e.currentTarget.dataset.file previewFile(fileObj.id,fileObj.name) }, + // 获取更多会议信息数据 + goMoreMeeting(){ + wx.navigateTo({ + url: `../meeting/meeting?workingGroupProjectId=${this.data.id}`, + }) + }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { - UserApi.projectDetail({id: options.id}).then(res=>{ + this.data.id = options.id + if(options.type == 'work') { // 工作组项目有会议详情 + this.setData({ + showMeeting: true + }) + MeetingApi.meetingList({workingGroupProjectId: this.data.id}).then(res=>{ + console.log(res) + if(res.success){ + if(res.result.records && res.result.records.length >= 1){ + this.setData({ + meetingList: res.result.records + }) + }else if(res.result.records && res.result.records.length >= 2){ + this.setData({ + meetingList: res.result.records.slice(1) + }) + } + } + }) + } + UserApi.projectDetail({id: this.data.id}).then(res=>{ this.setData({ form: res.result }) // 获取项目资料文件list - initFileList(this.data.form.files).then(res => { - this.setData({ - projectFileList: res + if(this.data.form) { + initFileList(this.data.form.files).then(res => { + this.setData({ + projectFileList: res + }) }) - }) - // 获取通知文件list - initFileList(this.data.form.chargeNoticeId).then(res => { - this.setData({ - notifyFileList: res + // 获取通知文件list + initFileList(this.data.form.chargeNoticeId).then(res => { + this.setData({ + notifyFileList: res + }) }) - }) + } }) }, diff --git a/pages/projectDetail/projectDetail.json b/pages/projectDetail/projectDetail.json index 8835af0..61f0f4a 100644 --- a/pages/projectDetail/projectDetail.json +++ b/pages/projectDetail/projectDetail.json @@ -1,3 +1,4 @@ { + "navigationBarTitleText": "详情", "usingComponents": {} } \ No newline at end of file diff --git a/pages/projectDetail/projectDetail.wxml b/pages/projectDetail/projectDetail.wxml index 08733cd..581ae9a 100644 --- a/pages/projectDetail/projectDetail.wxml +++ b/pages/projectDetail/projectDetail.wxml @@ -74,17 +74,18 @@ - + 会议信息 + 更多>> - + - hi一 - 查看详情 + {{item.meetingName}} + 查看详情 - 暂无会议记录! + 暂无会议记录! @@ -92,8 +93,8 @@ {{item.paymentDate}}到账{{item.amountReceived}}元 - 暂无到账记录! + 暂无到账记录! @@ -130,5 +131,6 @@ 查看物流 + 暂无邮寄记录! \ No newline at end of file diff --git a/pages/projectDetail/projectDetail.wxss b/pages/projectDetail/projectDetail.wxss index d29bfc6..5159e1d 100644 --- a/pages/projectDetail/projectDetail.wxss +++ b/pages/projectDetail/projectDetail.wxss @@ -34,6 +34,10 @@ page{ .basic-info view:last-child{ border-bottom: 0; } +.basic-info view text:nth-child(1){ + flex-shrink: 0; + margin-right: 10px; +} .meeting-name{ margin-bottom: 10px; } @@ -136,6 +140,12 @@ page{ flex-direction: column; align-items: flex-end !important; height: auto !important; + overflow: hidden; +} +.info-file text{ + overflow:hidden; + text-overflow: ellipsis; + white-space: nowrap; } .meeting-info{ width: 100%; @@ -144,6 +154,16 @@ page{ justify-content: space-between !important; align-items: center; padding: 0 !important; + border: none; +} +.meeting-info text:nth-child(1){ + flex-shrink: 1 !important; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.meeting-info text:nth-child(2){ + flex-shrink: 0 !important; } .basic-info .way{ padding: 0 15px; @@ -169,10 +189,12 @@ page{ .way-info .way-center text:nth-child(1){ color: #333; font-size: 14px; + flex-shrink: 0; } .way-info .way-center text:nth-child(2){ color: #999; font-size: 11px; + flex-shrink: 0; } .way-info .green { width: 20px; diff --git a/pages/scanSign/scanSign.js b/pages/scanSign/scanSign.js index 91df21c..238d541 100644 --- a/pages/scanSign/scanSign.js +++ b/pages/scanSign/scanSign.js @@ -6,9 +6,9 @@ Page({ */ data: { form: {}, - isSigned: 0, // 默认未报名 + isSigned: 1, // 默认未报名 fileId: '', // 图片id - src: null // 签名之后,保存签名的图片地址 + src: 'null' // 签名之后,保存签名的图片地址 }, // 去签到页 scanSign(){ @@ -25,14 +25,25 @@ Page({ UserApi.scanSure(params).then(res=>{ if(res.success){ this.setData({ - isSigned: !this.data.isSigned + 'form.checkIn': 1 }) }else{ - wx.showToast({ - title: res.message, - icon: "none", - duration: 2000 + this.setData({ + 'form.checkIn': 0 }) + if(res.message == '签到图片'){ + wx.showToast({ + title: '请手动签到', + icon: "none", + duration: 2000 + }) + }else{ + wx.showToast({ + title: res.message, + icon: "none", + duration: 2000 + }) + } } }) }, @@ -48,10 +59,9 @@ Page({ onLoad: function (options) { console.log(options) this.setData({ - isSigned: options.signed + isSigned: options.signed, }) let form = JSON.parse(options.meeting) - console.log(form) this.setData({ form }) diff --git a/pages/scanSign/scanSign.wxml b/pages/scanSign/scanSign.wxml index 6ba917c..4b4ad07 100644 --- a/pages/scanSign/scanSign.wxml +++ b/pages/scanSign/scanSign.wxml @@ -1,4 +1,5 @@ + 会议名称 {{form.meetingName}} @@ -13,7 +14,7 @@ 召开时间 - {{form.startTime}} + {{form.startTime}} @@ -26,9 +27,10 @@ 是否签到 - {{form.checkIn_dictText}} + {{form.checkIn ? '是' : '否'}} - + + 手动签到 签到 @@ -36,12 +38,12 @@ - + 签到 -、 + diff --git a/pages/scanSign/scanSign.wxss b/pages/scanSign/scanSign.wxss index 29462f6..a1a5323 100644 --- a/pages/scanSign/scanSign.wxss +++ b/pages/scanSign/scanSign.wxss @@ -1,3 +1,15 @@ +.basic-info{ + position: relative; +} +.sign-image{ + z-index: 9; + position: absolute; + width: 98px; + height: 85px; + top: 10px; + left: 50%; + transform: translateX(-50%); +} .basic-info .title{ height: 40px; } diff --git a/pages/setPassword/setPassword.js b/pages/setPassword/setPassword.js index ab80001..f0e31a1 100644 --- a/pages/setPassword/setPassword.js +++ b/pages/setPassword/setPassword.js @@ -1,6 +1,7 @@ // pages/meeting/meeting.js import UserApi from '../../assets/js/http/userApi' import { encrypt } from '../../assets/js/jsencrypt/rsa' +import { wxBind } from '../../assets/js/common' Page({ /** * 页面的初始数据 @@ -83,11 +84,11 @@ Page({ key: 'X-Access-Token', data: that.data.password }) + // 绑定微信 + this.wxBind() wx.switchTab({ url: '../home/home', }) - // 绑定微信 - this.wxBind() } else { wx.showToast({ title: '登录失败', @@ -100,28 +101,14 @@ Page({ }, // 绑定微信 wxBind(){ - // 获取openid进行手机号和微信的绑定 - wx.login({ - success (res) { - if (res.code) { - //发起网络请求 - wx.request({ - url: 'https://api.weixin.qq.com/sns/jscode2session', - data: { - appid: 'wx24914e866df035fb', - secret: '0d2830f26f57722716249f2b2236f409', - js_code: res.code, - grant_type: 'authorization_code' - }, - success (res) { // 成功拿到openId - // 微信和该账号绑定 - - } - }) - } else { - console.log('授权失败!' + res.errMsg) - } + wxBind((res)=>{ + // 微信和该账号绑定 + let params = { + openId: res.data.openid, + rsaPublicKey: that.data.rsaPublicKey } + // 需要判断是否绑定过微信,再进行绑定请求 + UserApi.wxBind(params).then(res=>{}) }) }, /**