From 6a747ef5b9843b79e91ad2f620887e9851d4002e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Sat, 11 Jan 2025 18:13:10 +0800 Subject: [PATCH 01/31] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E5=8F=91=E8=B5=B7=E7=94=B3=E8=AF=B7=E5=92=8C=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E4=B8=AD=E5=BF=83=E7=9A=84UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages.json | 22 ++- src/pages/approval/approval.vue | 78 ++++++++- .../approval/components/ApplicationList.vue | 58 +++++++ .../approval/components/ApprovalRecords.vue | 149 ++++++++++++++++++ src/pages/attendance/attendance.vue | 6 +- src/static/images/icon_default_avatar.png | Bin 0 -> 3963 bytes src/types/uni-pages.d.ts | 6 +- 7 files changed, 313 insertions(+), 6 deletions(-) create mode 100644 src/pages/approval/components/ApplicationList.vue create mode 100644 src/pages/approval/components/ApprovalRecords.vue create mode 100644 src/static/images/icon_default_avatar.png diff --git a/src/pages.json b/src/pages.json index 64a6baa..7b81eb9 100644 --- a/src/pages.json +++ b/src/pages.json @@ -163,7 +163,19 @@ }, { "path": "pages/info-publish/basic-info", - "type": "page" + "type": "page", + "layout": "default", + "style": { + "navigationStyle": "custom" + } + }, + { + "path": "pages/info-publish/drafts-list", + "type": "page", + "layout": "default", + "style": { + "navigationStyle": "custom" + } }, { "path": "pages/info-publish/info-publish", @@ -223,6 +235,14 @@ "navigationStyle": "custom" } }, + { + "path": "pages/attendance/attendance-add-group/attendance-device", + "type": "page", + "layout": "default", + "style": { + "navigationStyle": "custom" + } + }, { "path": "pages/attendance/attendance-add-group/attendance-staff", "type": "page", diff --git a/src/pages/approval/approval.vue b/src/pages/approval/approval.vue index 5c80404..e0069bb 100644 --- a/src/pages/approval/approval.vue +++ b/src/pages/approval/approval.vue @@ -7,14 +7,18 @@ } + + diff --git a/src/pages/approval/components/ApprovalRecords.vue b/src/pages/approval/components/ApprovalRecords.vue new file mode 100644 index 0000000..b470eac --- /dev/null +++ b/src/pages/approval/components/ApprovalRecords.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/pages/attendance/attendance.vue b/src/pages/attendance/attendance.vue index 92cfe85..bb290ec 100644 --- a/src/pages/attendance/attendance.vue +++ b/src/pages/attendance/attendance.vue @@ -11,9 +11,9 @@ - - - + + + diff --git a/src/static/images/icon_default_avatar.png b/src/static/images/icon_default_avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..b93dfad6a207648a45b5f45684ac9d1b2d892d45 GIT binary patch literal 3963 zcmW+(bx_oQ(EeP(d6Lr7hyte)N{VuagaQ&uoE(UBNh%WBn*%^k&;qU5YXcX zNVf<|N_UsQ!OQ#pvAgr^?99&W?mW92rKfX;9&;W80HD{ntNP&7LjNadnp54NWYK{@+t++`()2Cy4sBb2{g22yOC~oa zms~5F8v?Z=m$IpWHY!i{mdg?>?+Y;5b0_f(?;1Dle4QSvx3Y=&!~?j$9Mw>n?iy+Y8kPE}TLz^f)k|@o)>aZ+-`3c5(SNV#D>)KU@`bVj*+iK15Xv@Mv-3WQ(KULMC;e6}kX6Ib$f9p(~whjiCVH(&CqwRQI~16M271X`uNvv3Xk?;bW~OX%FDRNP3v4_6GdU^adrZCX(5Bv5}TuW|C_tfWdnH| z>Sv|O>jl~p113e;K#E~pk=NjmawCmFkw7D|$?vj##6?5;EExXl;8IbA+peg`_NF!w zfi*PqM28}JJm2cyUSfN->HnvMyPYMK<)NpbDSarMBJ|HZ%I{7VxpG?di`N`6(BK5= zF-v55_O5&bD!%ZZ35|dT{zvVb8&c{NtSg z*BONehURqWnwl^>X3a|HE~|?zg?t1sa^rDD-D3%=j=G2;vJH_r{B?#NCinmD0o^J8 zx;LpmDK=Ngo=q%paj@>Dbno6P6@H_+#9+6{AsZ28_aj9Kv?*fZ(x1WZ1mXPy!P}3k0#Tbux>d5Cq-1Vb7zaWs65a=s7FEKEt?0;T`ih z!{qO_f4;p8E{w>Drj3M|*A;19n|#AxO{hU|YID?TtxqdvV3MzC-^A15k5ijW_X4OL zeqf><)@g)CLZS=J{i`rY0z4{Wc1C3ZvY z+kj&IVDFVR+&mZV1<s5dd+ZzMq10(GAq#3BQhV9aZEfHlx@N_rhYl1C(&E;+H{<_=N50Mc7s{TH`}2zfP{>qYaWZkju9Th?`w5U@Q3kI`)F^X&6Kl_!anNGlnieqcA^Ak~ z(Dr?jA_t%bBrpK6t70@kyTGUqUb(>IN2DJpTwYJyDk%~~8?3VSoI$b)u7B97@A`(s zSFBJzb?wQ3eEfvn+#w&JgE^fk4YbDa1TLGV{oFfDtyF*g{m|>Iqz*fHi3%Pk)Qx$4 z(?n>XIg+vJ2~z<+40t#YZ`kT-kr45d-i`7G-q@hWI=j9=@*&jxsPXP2>Z6>^=21Mc z)W-$E%m}sVB1>-Y4NkoWJ+JfQJgO_YPZ;56Uy+16I*~pV?lS&uvN#!(m; znD;P3QcMPuA16{%x(r0<8M{xai_nQ`tl%{(D1&*1$Z~XxCd`JaQ!ZeNtfkp3|J3^WG9=gCQ1%= zWJ6*s7NXx6cW@dtZ{NxEc0$yqFIpb;|F>cI1kVE^;e3M~Zro;955T*N@t~~zQGiv2W98W&ZBEy^m zv9E2oCzw|fJN}EsERR*t7x`{DC%AlVuR`HNkGMrB3A~)Ri*t)}lYd_f=l_@ck*=Ni zR)#b5*cu`5;5c^IZ#9g5e!8_R%hvO_+B?MwU%tI$H)G2!DmENT+BtfXrQX*@b=lEO zk_$L*$QxguF@U$PgqJaDq>!XSg*lThQV*iaTo6ruyB`L+zp2i2+`+Ju`LFs$<}$axA@tN?z(M@cH`-qYG{h*X3`uTw!*AJ7Wbq1qzx*5Ug#Oj#E@FW7j ze`n;lX`zTK=x!mBWIA+Eq|$9g`=_fO*pN-^y?po=q6xD+fANm1^C|oOvwA$XmK%k$ zMh4ne-mIc#%YR(SNP5%D%=H{5n%sxNW_q4Ex7a#4Pt_~K+or7 z42Aa_N(+;EB)q)lH4KpkmS`ymFp|y-nH7<4%KndHL}f<&7pm83WJ}CZk?6HynwSDJ zR$$~fF|*kGtfB=y1e4TjiOZcUt(>y|P>%fyV?)T&;iduX(D^4q+7koy3p@D0NdZW@{&fL2BC0X+{;( z;~C^WM8=S8qT+^9(q89b`89`+)Q2_Oh3Vo9Zl=^m4D=<~F8yuB(ykbP_mvQ)Kg3dg z=gYrc6+?S3glDp8%`-x^sc*iy`irWT9()84}(&S z31~%0fkrr~hQ>Ba|1j|@oYUr{EACj*a^$B?A&q0T=jB4jwJP~vIgv~8NT^E67_65! zd|Odd&1G;Gi$`Nd~g8!TZNYeSGb_U zd#9(z{lhvgfj&TSSDqyI{=T+`+NXzpwC8?YohvK!4dDF<@XfTlD+iKF3IS#&>jjFC zkSk3|7Ia#+I(Q>eueq~*#x?r2{{_iD7zH8kyRG-g#3_Sy|4TlI)H!XdRFT|LbL_i` zR+hYU7^J*^)c7|i3DyvH%c3y>-lmCCA*k>ctpst6SBXT-|GV|&>6#CnxlB-9jn)eW z-MG%xSIG?lY@cm`(Dk73#kN`eN^)s0%Xcj*pmjyxBmiotDnvd9unK&`kHo+_nHYB@ zCCB<^>%EDZTOw@z9;$wWmf;P~@bkLgr!BL3mtp;L;1+sj<++n>0PCnW%>+B})|D{e z%9l4aqkfHkK_J39^1^BFN6>e8zg1`R2KZ+Lrc|^3pJedumr#-( zjoJ5F`4VJ)th!6{0r~7;H^=9TE%o_IVq*OJO$+IK$dUv{0wZ*H;f?GUT_-zR0jUdo zfnkl>82i^4$H#m2cRGvc2i_liO%cM~Fij2-U>2AkMv7|25tQCCas2G!Ja>5MVp^Sd zh1SLmgq=hvF5%Ww(VHoJ^Q6BvcujvTNhW))bas>U Date: Mon, 13 Jan 2025 17:52:14 +0800 Subject: [PATCH 02/31] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E8=AF=A6=E6=83=85=E9=A1=B5UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/approval/approval-detail.vue | 66 +++++++++++++++ src/pages/approval/approval.vue | 6 +- .../approval/components/ApplicationList.vue | 7 ++ .../approval/components/ApprovalContent.vue | 61 ++++++++++++++ .../approval/components/ApprovalProcess.vue | 81 +++++++++++++++++++ .../approval/components/ApprovalRecords.vue | 15 +++- 6 files changed, 231 insertions(+), 5 deletions(-) create mode 100644 src/pages/approval/approval-detail.vue create mode 100644 src/pages/approval/components/ApprovalContent.vue create mode 100644 src/pages/approval/components/ApprovalProcess.vue diff --git a/src/pages/approval/approval-detail.vue b/src/pages/approval/approval-detail.vue new file mode 100644 index 0000000..9b74160 --- /dev/null +++ b/src/pages/approval/approval-detail.vue @@ -0,0 +1,66 @@ + +{ + style: { + navigationStyle: 'custom', + disableScroll: true + } +} + + + + diff --git a/src/pages/approval/approval.vue b/src/pages/approval/approval.vue index e0069bb..09b0ea5 100644 --- a/src/pages/approval/approval.vue +++ b/src/pages/approval/approval.vue @@ -9,8 +9,10 @@ diff --git a/src/pages/approval/components/ApplicationList.vue b/src/pages/approval/components/ApplicationList.vue index 26d60ba..a8c67fc 100644 --- a/src/pages/approval/components/ApplicationList.vue +++ b/src/pages/approval/components/ApplicationList.vue @@ -22,6 +22,7 @@ :key="item.processDefId" :class="[index === group.processDefs.length - 1 ? '' : 'mb-2']" class="flex flex-items-center bg-white px-3 py-3 mx-1 rounded-2" + @click="toDetail(item)" > {{ item.processDefName }} @@ -45,6 +46,12 @@ required: true } }) + + const toDetail = (item: Record) => { + uni.navigateTo({ + url: `/pages/approval/create-application?id=${item.processDefId}&title=${item.processDefName}` + }) + } diff --git a/src/pages/approval/components/ApprovalProcess.vue b/src/pages/approval/components/ApprovalProcess.vue new file mode 100644 index 0000000..c999f2d --- /dev/null +++ b/src/pages/approval/components/ApprovalProcess.vue @@ -0,0 +1,81 @@ + + + diff --git a/src/pages/approval/components/ApprovalRecords.vue b/src/pages/approval/components/ApprovalRecords.vue index b470eac..9d24188 100644 --- a/src/pages/approval/components/ApprovalRecords.vue +++ b/src/pages/approval/components/ApprovalRecords.vue @@ -36,10 +36,13 @@ v-for="item in 10" :key="item" class="mx-4 my-2 p-4 bg-white shadow-sm rounded-2 text-3.5" + @click="toDetail(item)" > 请假 - + 通过 @@ -104,14 +107,20 @@ { label: '近30日', value: 3 } ]) - function typeChange({ value }) { + const typeChange = ({ value }) => { console.log(value) } - function dateChange({ value }) { + const dateChange = ({ value }) => { console.log(value) } + const toDetail = item => { + uni.navigateTo({ + url: '/pages/approval/approval-detail' + }) + } + const handleChange = value => { currentIndex.value = value.index } From 735ff0c7223a5b141f838c9c4104b8486f8cc6d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Mon, 13 Jan 2025 17:52:54 +0800 Subject: [PATCH 03/31] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E5=AE=A1=E6=89=B9=E8=BE=93=E5=85=A5=E6=A1=86=E4=B8=8E?= =?UTF-8?q?=E6=96=87=E6=9C=AC=E6=A1=86=E7=BB=84=E4=BB=B6=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages.json | 16 +++++ src/pages/approval/components/Components.vue | 42 ++++++++++++ src/pages/approval/components/Input.vue | 64 ++++++++++++++++++ src/pages/approval/components/Textarea.vue | 71 ++++++++++++++++++++ src/pages/approval/create-application.vue | 40 +++++++++++ src/types/uni-pages.d.ts | 2 + 6 files changed, 235 insertions(+) create mode 100644 src/pages/approval/components/Components.vue create mode 100644 src/pages/approval/components/Input.vue create mode 100644 src/pages/approval/components/Textarea.vue create mode 100644 src/pages/approval/create-application.vue diff --git a/src/pages.json b/src/pages.json index 7b81eb9..5e5745b 100644 --- a/src/pages.json +++ b/src/pages.json @@ -63,6 +63,14 @@ "path": "pages/application-list/application-list", "type": "page" }, + { + "path": "pages/approval/approval-detail", + "type": "page", + "style": { + "navigationStyle": "custom", + "disableScroll": true + } + }, { "path": "pages/approval/approval", "type": "page", @@ -71,6 +79,14 @@ "disableScroll": true } }, + { + "path": "pages/approval/create-application", + "type": "page", + "style": { + "navigationStyle": "custom", + "disableScroll": true + } + }, { "path": "pages/attendance/allowed-time", "type": "page", diff --git a/src/pages/approval/components/Components.vue b/src/pages/approval/components/Components.vue new file mode 100644 index 0000000..0162720 --- /dev/null +++ b/src/pages/approval/components/Components.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/pages/approval/components/Input.vue b/src/pages/approval/components/Input.vue new file mode 100644 index 0000000..ff1e7d5 --- /dev/null +++ b/src/pages/approval/components/Input.vue @@ -0,0 +1,64 @@ + + + + + diff --git a/src/pages/approval/components/Textarea.vue b/src/pages/approval/components/Textarea.vue new file mode 100644 index 0000000..d870304 --- /dev/null +++ b/src/pages/approval/components/Textarea.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/src/pages/approval/create-application.vue b/src/pages/approval/create-application.vue new file mode 100644 index 0000000..c7fd5a4 --- /dev/null +++ b/src/pages/approval/create-application.vue @@ -0,0 +1,40 @@ + +{ + style: { + navigationStyle: 'custom', + disableScroll: true + } +} + + + + diff --git a/src/types/uni-pages.d.ts b/src/types/uni-pages.d.ts index b85ce17..64d411e 100644 --- a/src/types/uni-pages.d.ts +++ b/src/types/uni-pages.d.ts @@ -6,7 +6,9 @@ interface NavigateToOptions { url: "/pages/home/home" | "/pages/application-list/application-list" | + "/pages/approval/approval-detail" | "/pages/approval/approval" | + "/pages/approval/create-application" | "/pages/attendance/allowed-time" | "/pages/attendance/attendance-rules" | "/pages/attendance/attendance" | From 207a55e525e600c0b72cfe0ed127715502f25632 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Mon, 13 Jan 2025 18:42:04 +0800 Subject: [PATCH 04/31] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E5=AE=A1=E6=89=B9=E9=80=89=E6=8B=A9=E5=99=A8=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/approval/components/Components.vue | 34 +++++++++- .../approval/components/SelectPicker.vue | 66 +++++++++++++++++++ 2 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 src/pages/approval/components/SelectPicker.vue diff --git a/src/pages/approval/components/Components.vue b/src/pages/approval/components/Components.vue index 0162720..2cfa5e9 100644 --- a/src/pages/approval/components/Components.vue +++ b/src/pages/approval/components/Components.vue @@ -1,6 +1,6 @@ @@ -25,6 +41,22 @@ + + From a8a9f0863a75b2eac47390ba3b44392c0148b43d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Mon, 13 Jan 2025 18:56:05 +0800 Subject: [PATCH 05/31] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E5=AE=A1=E6=89=B9=E6=95=B0=E5=AD=97=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/approval/components/Components.vue | 9 +++++++++ src/pages/approval/components/Input.vue | 7 ++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/pages/approval/components/Components.vue b/src/pages/approval/components/Components.vue index 2cfa5e9..212d071 100644 --- a/src/pages/approval/components/Components.vue +++ b/src/pages/approval/components/Components.vue @@ -34,6 +34,15 @@ type="checkbox" :columns="columns" > + + diff --git a/src/pages/approval/components/Input.vue b/src/pages/approval/components/Input.vue index ff1e7d5..96df501 100644 --- a/src/pages/approval/components/Input.vue +++ b/src/pages/approval/components/Input.vue @@ -6,9 +6,10 @@ @@ -26,6 +27,10 @@ type: Number, required: true }, + type: { + type: String, + default: 'text' + }, required: { type: Boolean, default: false From 813ec1dfd6f0449791d7500c62b68776d135053c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Tue, 14 Jan 2025 18:17:24 +0800 Subject: [PATCH 06/31] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E5=AE=A1=E6=89=B9=E6=97=B6=E9=97=B4=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E5=99=A8=E7=BB=84=E4=BB=B6=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/approval/components/Components.vue | 22 ++ .../approval/components/DatetimePicker.vue | 196 ++++++++++++++++++ 2 files changed, 218 insertions(+) create mode 100644 src/pages/approval/components/DatetimePicker.vue diff --git a/src/pages/approval/components/Components.vue b/src/pages/approval/components/Components.vue index 212d071..0cfb397 100644 --- a/src/pages/approval/components/Components.vue +++ b/src/pages/approval/components/Components.vue @@ -43,6 +43,23 @@ placeholder="数字" @change="inputChange" > + + + + + + @@ -51,6 +68,7 @@ import Input from '@/pages/approval/components/Input.vue' import Textarea from '@/pages/approval/components/Textarea.vue' import SelectPicker from '@/pages/approval/components/SelectPicker.vue' + import DatetimePicker from '@/pages/approval/components/DatetimePicker.vue' const columns = ref>([ { @@ -74,6 +92,10 @@ const textareaChange = e => { console.log('textareaChange', e) } + + const changeDate = e => { + console.log('changeDate', e) + } From 1bdc3bdc875abe16f6295e6916ca0f43a901d083 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Tue, 14 Jan 2025 19:44:58 +0800 Subject: [PATCH 08/31] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E5=AE=A1=E6=89=B9=E8=AF=B4=E6=98=8E=E9=A1=B9=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/approval/components/Components.vue | 6 ++++++ src/pages/approval/components/Description.vue | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 src/pages/approval/components/Description.vue diff --git a/src/pages/approval/components/Components.vue b/src/pages/approval/components/Components.vue index 2b9bc94..4f2a1c8 100644 --- a/src/pages/approval/components/Components.vue +++ b/src/pages/approval/components/Components.vue @@ -62,6 +62,11 @@ > + + @@ -72,6 +77,7 @@ import SelectPicker from '@/pages/approval/components/SelectPicker.vue' import DatetimePicker from '@/pages/approval/components/DatetimePicker.vue' import Images from '@/pages/approval/components/Images.vue' + import Description from '@/pages/approval/components/Description.vue' const columns = ref>([ { diff --git a/src/pages/approval/components/Description.vue b/src/pages/approval/components/Description.vue new file mode 100644 index 0000000..5bed04c --- /dev/null +++ b/src/pages/approval/components/Description.vue @@ -0,0 +1,18 @@ + + + From 0c35f8742c1bfb061834570bc9d5d28454d2017d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Wed, 15 Jan 2025 20:03:50 +0800 Subject: [PATCH 09/31] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E5=AE=A1=E6=89=B9=E6=88=90=E5=91=98=E5=8F=8A=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E7=BB=84=E4=BB=B6=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TopNavigation/TopNavigation.vue | 17 +- src/pages.json | 8 + src/pages/approval/components/Components.vue | 14 +- .../components/MemberOrDepartment.vue | 65 +++++ .../components/MemberOrDepartmentItem.vue | 56 ++++ .../components/SearchItem.vue | 35 +++ .../select-member-or-department.vue | 275 ++++++++++++++++++ src/static/images/icon_delete.png | Bin 0 -> 1493 bytes src/static/images/icon_file.png | Bin 0 -> 1205 bytes src/types/uni-pages.d.ts | 1 + 10 files changed, 468 insertions(+), 3 deletions(-) create mode 100644 src/pages/approval/components/MemberOrDepartment.vue create mode 100644 src/pages/select-member-or-department/components/MemberOrDepartmentItem.vue create mode 100644 src/pages/select-member-or-department/components/SearchItem.vue create mode 100644 src/pages/select-member-or-department/select-member-or-department.vue create mode 100644 src/static/images/icon_delete.png create mode 100644 src/static/images/icon_file.png diff --git a/src/components/TopNavigation/TopNavigation.vue b/src/components/TopNavigation/TopNavigation.vue index af1bfdd..aa9af26 100644 --- a/src/components/TopNavigation/TopNavigation.vue +++ b/src/components/TopNavigation/TopNavigation.vue @@ -31,6 +31,13 @@ {{ title }} + + {{ rightButtonText }} + @@ -59,16 +66,24 @@ backUrl: { type: String, default: '/static/images/icon_back.png' + }, + rightButtonText: { + type: [String, null], + default: null } }) - const emits = defineEmits(['back']) + const emits = defineEmits(['back', 'rightButton']) const back = () => { uni.navigateBack() emits('back') } + const rightButton = () => { + emits('rightButton') + } + onMounted(async () => { systemInfo.value = await $basic.getSystemInfo() }) diff --git a/src/pages.json b/src/pages.json index 5e5745b..9c1261e 100644 --- a/src/pages.json +++ b/src/pages.json @@ -239,6 +239,14 @@ }, "needLogin": false }, + { + "path": "pages/select-member-or-department/select-member-or-department", + "type": "page", + "style": { + "navigationStyle": "custom", + "disableScroll": true + } + }, { "path": "pages/workbench/workbench", "type": "page" diff --git a/src/pages/approval/components/Components.vue b/src/pages/approval/components/Components.vue index 4f2a1c8..d331ce8 100644 --- a/src/pages/approval/components/Components.vue +++ b/src/pages/approval/components/Components.vue @@ -61,12 +61,21 @@ @change="changeDate" > - + + + + + @@ -78,6 +87,7 @@ import DatetimePicker from '@/pages/approval/components/DatetimePicker.vue' import Images from '@/pages/approval/components/Images.vue' import Description from '@/pages/approval/components/Description.vue' + import MemberOrDepartment from '@/pages/approval/components/MemberOrDepartment.vue' const columns = ref>([ { diff --git a/src/pages/approval/components/MemberOrDepartment.vue b/src/pages/approval/components/MemberOrDepartment.vue new file mode 100644 index 0000000..5339c4c --- /dev/null +++ b/src/pages/approval/components/MemberOrDepartment.vue @@ -0,0 +1,65 @@ + + + diff --git a/src/pages/select-member-or-department/components/MemberOrDepartmentItem.vue b/src/pages/select-member-or-department/components/MemberOrDepartmentItem.vue new file mode 100644 index 0000000..2b3c360 --- /dev/null +++ b/src/pages/select-member-or-department/components/MemberOrDepartmentItem.vue @@ -0,0 +1,56 @@ + + + diff --git a/src/pages/select-member-or-department/components/SearchItem.vue b/src/pages/select-member-or-department/components/SearchItem.vue new file mode 100644 index 0000000..9a13733 --- /dev/null +++ b/src/pages/select-member-or-department/components/SearchItem.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/pages/select-member-or-department/select-member-or-department.vue b/src/pages/select-member-or-department/select-member-or-department.vue new file mode 100644 index 0000000..f3a80e6 --- /dev/null +++ b/src/pages/select-member-or-department/select-member-or-department.vue @@ -0,0 +1,275 @@ + +{ + style: { + navigationStyle: 'custom', + disableScroll: true + } +} + + + + + + diff --git a/src/static/images/icon_delete.png b/src/static/images/icon_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..10c193fd39f760e9eda2fbbad302136b9b4c82ba GIT binary patch literal 1493 zcmZ`(doFY=JSK*;C?u6MdA43ro}C(x_>EL-IcO(qJ%>`F zu&rn7F^;k%&y`oosJs$pY0D$*w14mZaqm6%-tT<(p6{M>lbjrFC?q8k08s2~t(_$i z{c2JKiElRdZkGfk!r8_ON;{RO0q`ky)|SV(9#!7mNSSH@>KdM;&ywVAm=Q@sWC z{S%hrM>USyIehEhzV=b;n|86=pZaUjF&^&GUQ@$SifX`~q)9ltYl)^zH9ElgIbLUn zjbvI*v>;+J4UzO!r$%CY{tME;5-%>Ti;c*Kdy01@T;udpH0m6^qoS4PWhy5s3{pzS z;_w)Ygt(@V$&u+HIb0_!WenrjS&MlF$rdfECz2{TWn%<1W2G@+Y;f2+Y~7XGkaF?% z6VAhdP%LV{lGls?=ZCfoH89BD+x+1z9=KsRAUEdYd`!;`W%*M(R=6Dvc^qRa_NA+< zv3=X#xF%ir?F_*f@3F_g?cPh30hfybBw^XxKV+NqZAuE~y2;SiP&e|l-#_4Id?unE z$*5Ls=$#3QoWen2kF25$;Ihv~ZUQe8Q_KM2f0L?1P~cghxKot3J3ZiUoU@^d;Chj< z!DcX)I-RuXG}I~kst)RgU48iL?8lA591yznZFoAgo1qL4^@pmSNqL*oIw5~@XC@U) ziBNs58r%J7-qZ7n>sQ&as8&K1mKJYMq?Os~Vgc<$5-0Xc50ZGzWPmDy1#TCGU4auQ zj8IWNp*$KKM?1%2KMPv8bHlroM=(w$3O9JGDt9Nx^?K`S^@Gl~Ee(&N7_hFY8yB3* zX_>|L@2y<;w4`*+%}&;~4tG|Xc3kIAEgweW{Z|Lv)fAKiS-wMG8r+EGhoDFX~J97w|9fJr-dMCi2XFEAWj8%t{$Sar<@~^dzo2V z#Ob``IZk%!B}H|BlAa)tATp=ppeA~4#ki6ze1TzM1cgYEA3*5qGPGHB#Wjb*Y=5%Ur;hFb_W}2aXO+M{eJFq`w$49 zY4wg$`s8_iGQ3vMI4{F4RkSXAzHb_amCz(|Y6+f;VK17XN5_v^NOoM^KXch5Fct(+ zQhf?Mdp_!>hcb{pm6r5I1-Dh!jx>6oAv;(r)ztW$j@Et8)mV!J16HAO9ws$DWS>6X z5Nf7*?dlV2eij=Wn9{WqP1#Qaxcw6W)u`V=_FSilS$I@#vSP#ddV~%6o&4Qul^Q+<(QY#dB136jJr!CC6Sbw4YN`c=EdC+5K3t>&LskLg#>?( z05ks`9Ru9h2tyLoY|`wafp9S^>j(%Pv?H$qQt_Gl! yOy+Gsvz!*l2(TJ!>3A4PxaltiqUDZ`qQ>7@h0p6x`KC*LD%c%xv@W&sivI^x=VxXB literal 0 HcmV?d00001 diff --git a/src/static/images/icon_file.png b/src/static/images/icon_file.png new file mode 100644 index 0000000000000000000000000000000000000000..5a8886b842e0730c225abb5596c8a0e2df2ca159 GIT binary patch literal 1205 zcmeAS@N?(olHy`uVBq!ia0vp^y+GW+!3HGF4!o)cQjEnx?oJHr&dI!FU|`Ajba4!+ zh;CIfk-rOFqcY3wQ`mco zA9b@daXxua(KgwENlJl3ox$Yci5Uzg1_FK$(lX?}9X_49RdMxDBW&W(VZVpghZ~y#hng-}{k=RgX4xs{Ic>`xdtW|2V~0=Yg2EjpwM@_FZ2R*mUuxcJ z^3{Yq{hI@(<00;t02WE zgKt)$^UFCE_wO?0@ZG<(`H?E`TZhB@cj+~p+&`(ye5xt4?@ME;&`ED=ChlC{n#nBX zH*?jDbGEs&8kUs^hfaQ5v2kbqPmQ@nO`jI4_#Zzcy>m_%fqKaFTX9>X!kCY z$-lYuRMVPX}yCo*CkK3j5)W&Dp{ohC-@mTJifB+g!YAwrjkjF zQp>lw#x=T$ESb!6!D6fKCoYpk3UgB$j;+j{7`{M|^`#2)NHKaf%dA5E@4piT-g3@7 z28`lk+*yUy4wsX(d*6GqojqJvAsJMacSrxWu*!tjtUK^y{p2}(%a8BTEsSE}UGD2S<+WUJRi>6*=CQ_x&3PK@-tPOt_G3|C z$)y-JX219cJsW!Z`gZ>jDimvaCOhwX;^cRi)HVquOM5?2lb%D!7)eJ_}#&3_x> z$B?1Le(!LR!)530skRKhPY+Z_@MTnGY}~}YV5Lk2|7k{Fe%-Kd3?@^V-zQowc)9TC jDY=GaMGtIszDsZ3b$`C!kBA?@a)`mx)z4*}Q$iB}w`U?2 literal 0 HcmV?d00001 diff --git a/src/types/uni-pages.d.ts b/src/types/uni-pages.d.ts index 64d411e..63e6d56 100644 --- a/src/types/uni-pages.d.ts +++ b/src/types/uni-pages.d.ts @@ -29,6 +29,7 @@ interface NavigateToOptions { "/pages/mine/mine" | "/pages/notification/notification" | "/pages/reset-password/reset-password" | + "/pages/select-member-or-department/select-member-or-department" | "/pages/workbench/workbench" | "/pages/attendance/attendance-add-group/attendance-add-group" | "/pages/attendance/attendance-add-group/attendance-device" | From 51123d48c8893e4fc223cf31ff35d4d403864155 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Thu, 16 Jan 2025 09:38:56 +0800 Subject: [PATCH 10/31] =?UTF-8?q?fix:=20=E6=95=B4=E7=90=86=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/TeamPopup/TeamPopup.vue | 3 +- .../TopNavigation/TopNavigation.vue | 3 +- src/pages.json | 58 +++++++++---------- .../application-list.vue | 0 .../home/{ => compoents}/HomeAddDevice.vue | 0 .../{ => compoents}/HomeAddTeamManager.vue | 0 .../home/{ => compoents}/HomeAttendance.vue | 0 .../home/{ => compoents}/HomeBulletin.vue | 0 .../home/{ => compoents}/HomeOpenDoor.vue | 0 .../home/{ => compoents}/HomeSetting.vue | 0 src/pages/home/{ => compoents}/HomeSwiper.vue | 0 src/pages/home/{ => compoents}/HomeTab.vue | 2 +- .../home/{ => compoents}/HomeTeamManager.vue | 0 src/pages/home/{ => compoents}/HomeTodo.vue | 0 src/pages/home/home.vue | 32 +++++----- src/pages/{code => login}/code.vue | 6 +- src/pages/{get-code => login}/get-code.vue | 8 ++- src/pages/login/login.vue | 12 +++- .../reset-password.vue | 6 +- .../components/MemberOrDepartmentItem.vue | 6 +- .../select-member-or-department.vue | 3 +- src/service/user.ts | 4 +- src/types/uni-pages.d.ts | 8 +-- 23 files changed, 84 insertions(+), 67 deletions(-) rename src/pages/{application-list => home}/application-list.vue (100%) rename src/pages/home/{ => compoents}/HomeAddDevice.vue (100%) rename src/pages/home/{ => compoents}/HomeAddTeamManager.vue (100%) rename src/pages/home/{ => compoents}/HomeAttendance.vue (100%) rename src/pages/home/{ => compoents}/HomeBulletin.vue (100%) rename src/pages/home/{ => compoents}/HomeOpenDoor.vue (100%) rename src/pages/home/{ => compoents}/HomeSetting.vue (100%) rename src/pages/home/{ => compoents}/HomeSwiper.vue (100%) rename src/pages/home/{ => compoents}/HomeTab.vue (96%) rename src/pages/home/{ => compoents}/HomeTeamManager.vue (100%) rename src/pages/home/{ => compoents}/HomeTodo.vue (100%) rename src/pages/{code => login}/code.vue (97%) rename src/pages/{get-code => login}/get-code.vue (93%) rename src/pages/{reset-password => login}/reset-password.vue (98%) diff --git a/src/components/TeamPopup/TeamPopup.vue b/src/components/TeamPopup/TeamPopup.vue index b9e73f1..d120885 100644 --- a/src/components/TeamPopup/TeamPopup.vue +++ b/src/components/TeamPopup/TeamPopup.vue @@ -56,10 +56,11 @@ diff --git a/src/pages/code/code.vue b/src/pages/login/code.vue similarity index 97% rename from src/pages/code/code.vue rename to src/pages/login/code.vue index 04ac263..3f72908 100644 --- a/src/pages/code/code.vue +++ b/src/pages/login/code.vue @@ -124,7 +124,7 @@ } } else if (type.value === 'reset-password') { await uni.redirectTo({ - url: `/pages/reset-password/reset-password?phone=${phone.value}&code=${code.value}` + url: `/pages/login/reset-password?phone=${phone.value}&code=${code.value}` }) } } @@ -159,4 +159,8 @@ border: #b8b8b8 solid 2rpx; border-radius: 12rpx; } + + page { + background-color: #ffffff; + } diff --git a/src/pages/get-code/get-code.vue b/src/pages/login/get-code.vue similarity index 93% rename from src/pages/get-code/get-code.vue rename to src/pages/login/get-code.vue index 22720bd..574fe38 100644 --- a/src/pages/get-code/get-code.vue +++ b/src/pages/login/get-code.vue @@ -63,7 +63,7 @@ uni.hideLoading() if (result.errorCode === Result.Success.code) { await uni.navigateTo({ - url: `/pages/reset-password/reset-password?phone=${phone.value}` + url: `/pages/login/reset-password?phone=${phone.value}` }) } else { await uni.showToast({ @@ -85,3 +85,9 @@ phone.value = value } + + diff --git a/src/pages/login/login.vue b/src/pages/login/login.vue index c9cc32b..48f0e18 100644 --- a/src/pages/login/login.vue +++ b/src/pages/login/login.vue @@ -61,7 +61,7 @@ :disabled="!phonePass" :round="false" size="large" - @click="codeLogin" + @click="codeLogin(false, $event)" > 获取验证码 @@ -264,7 +264,7 @@ }) uni.hideLoading() if (result.errorCode === Result.Success.code) { - let url = `/pages/code/code?phone=${phone.value}&type=login` + let url = `/pages/login/code?phone=${phone.value}&type=login` if (tip) { url = url + `&tip=true` } @@ -298,7 +298,7 @@ params = `?phone=${phone.value}` } uni.navigateTo({ - url: `/pages/get-code/get-code${params}` + url: `/pages/login/get-code${params}` }) } @@ -325,3 +325,9 @@ consentAgreement.value = !consentAgreement.value } + + diff --git a/src/pages/reset-password/reset-password.vue b/src/pages/login/reset-password.vue similarity index 98% rename from src/pages/reset-password/reset-password.vue rename to src/pages/login/reset-password.vue index c70afde..d89595f 100644 --- a/src/pages/reset-password/reset-password.vue +++ b/src/pages/login/reset-password.vue @@ -226,4 +226,8 @@ } - + diff --git a/src/pages/select-member-or-department/components/MemberOrDepartmentItem.vue b/src/pages/select-member-or-department/components/MemberOrDepartmentItem.vue index 2b3c360..a845b28 100644 --- a/src/pages/select-member-or-department/components/MemberOrDepartmentItem.vue +++ b/src/pages/select-member-or-department/components/MemberOrDepartmentItem.vue @@ -16,11 +16,11 @@ {{ item.name }} - + @@ -31,7 +31,7 @@ size="14px" class="ml-2" :color="disabled ? '#87a9fb' : '#255cf7'" - v-if="item.type === 'department'" + v-if="item.type !== 'member'" > diff --git a/src/pages/select-member-or-department/select-member-or-department.vue b/src/pages/select-member-or-department/select-member-or-department.vue index f3a80e6..c27d26b 100644 --- a/src/pages/select-member-or-department/select-member-or-department.vue +++ b/src/pages/select-member-or-department/select-member-or-department.vue @@ -148,6 +148,7 @@ import { useBasicStore } from '@/store' import MemberOrDepartmentItem from '@/pages/select-member-or-department/components/MemberOrDepartmentItem.vue' import SearchItem from '@/pages/select-member-or-department/components/SearchItem.vue' + import GetSystemInfoResult = UniNamespace.GetSystemInfoResult const instance = getCurrentInstance().proxy const eventChannel = instance.getOpenerEventChannel() @@ -167,7 +168,7 @@ const $basic = useBasicStore() - const systemInfo = ref(null) + const systemInfo = ref(null) const value = ref([]) const showSelected = ref(false) diff --git a/src/service/user.ts b/src/service/user.ts index eee4867..4bbbe59 100644 --- a/src/service/user.ts +++ b/src/service/user.ts @@ -62,8 +62,8 @@ interface TeamInfo { } // 获取用户信息 -export const getUserInfoApi = (params: UserInfo) => { - return http.post('/v1/user/detail', params) +export const getUserInfoApi = () => { + return http.post('/v1/user/detail') } export interface resetPasswordRequest { diff --git a/src/types/uni-pages.d.ts b/src/types/uni-pages.d.ts index 63e6d56..058f3eb 100644 --- a/src/types/uni-pages.d.ts +++ b/src/types/uni-pages.d.ts @@ -5,7 +5,6 @@ interface NavigateToOptions { url: "/pages/home/home" | - "/pages/application-list/application-list" | "/pages/approval/approval-detail" | "/pages/approval/approval" | "/pages/approval/create-application" | @@ -17,18 +16,19 @@ interface NavigateToOptions { "/pages/attendance/flexible-punching" | "/pages/attendance/issue-record-detail" | "/pages/attendance/issue-record" | - "/pages/code/code" | - "/pages/get-code/get-code" | + "/pages/home/application-list" | "/pages/info-publish/announce-notice" | "/pages/info-publish/basic-info" | "/pages/info-publish/drafts-list" | "/pages/info-publish/info-publish" | "/pages/info-publish/notice-details" | "/pages/info-publish/notice-manage" | + "/pages/login/code" | + "/pages/login/get-code" | "/pages/login/login" | + "/pages/login/reset-password" | "/pages/mine/mine" | "/pages/notification/notification" | - "/pages/reset-password/reset-password" | "/pages/select-member-or-department/select-member-or-department" | "/pages/workbench/workbench" | "/pages/attendance/attendance-add-group/attendance-add-group" | From d6ff287a65d1437bf77ab366cba2042d1c99e2b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Thu, 16 Jan 2025 15:19:30 +0800 Subject: [PATCH 11/31] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E6=A8=A1=E5=9D=97=E8=AF=B7=E5=81=87=E3=80=81=E5=87=BA?= =?UTF-8?q?=E5=B7=AE=E3=80=81=E5=A4=96=E5=87=BA=E3=80=81=E8=A1=A5=E5=8D=A1?= =?UTF-8?q?=E3=80=81=E5=8A=A0=E7=8F=AD=E5=A5=97=E4=BB=B6=E7=9A=84=E5=B0=81?= =?UTF-8?q?=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/approval/components/Components.vue | 23 +++- .../approval/components/DatetimePicker.vue | 63 +++++++++- .../components/DatetimePickerGroup.vue | 110 ++++++++++++++++++ src/pages/approval/components/Input.vue | 13 +++ src/pages/approval/components/Leave.vue | 97 +++++++++++++++ .../components/MemberOrDepartment.vue | 4 +- src/pages/approval/components/Overtime.vue | 43 +++++++ .../approval/components/SelectPicker.vue | 40 ++++++- 8 files changed, 387 insertions(+), 6 deletions(-) create mode 100644 src/pages/approval/components/DatetimePickerGroup.vue create mode 100644 src/pages/approval/components/Leave.vue create mode 100644 src/pages/approval/components/Overtime.vue diff --git a/src/pages/approval/components/Components.vue b/src/pages/approval/components/Components.vue index d331ce8..001aede 100644 --- a/src/pages/approval/components/Components.vue +++ b/src/pages/approval/components/Components.vue @@ -1,5 +1,5 @@ @@ -88,8 +104,11 @@ import Images from '@/pages/approval/components/Images.vue' import Description from '@/pages/approval/components/Description.vue' import MemberOrDepartment from '@/pages/approval/components/MemberOrDepartment.vue' + import Leave from '@/pages/approval/components/Leave.vue' + import DatetimePickerGroup from '@/pages/approval/components/DatetimePickerGroup.vue' + import Overtime from '@/pages/approval/components/Overtime.vue' - const columns = ref>([ + const columns = ref>([ { value: 0, label: '男装' diff --git a/src/pages/approval/components/DatetimePicker.vue b/src/pages/approval/components/DatetimePicker.vue index 95fc9c5..e27f5d8 100644 --- a/src/pages/approval/components/DatetimePicker.vue +++ b/src/pages/approval/components/DatetimePicker.vue @@ -6,7 +6,9 @@ - {{ text || placeholder }} + + {{ text || placeholder }} + @@ -104,7 +106,31 @@ }, placeholder: { type: String, - default: '请输入' + default: '请选择' + }, + disabled: { + type: Boolean, + default: false + }, + disabledText: { + type: String, + default: '' + }, + minDate: { + type: [Number, null], + default: null + }, + maxDate: { + type: [Number, null], + default: null + }, + minDateText: { + type: String, + default: '' + }, + maxDateText: { + type: String, + default: '' } }) @@ -159,6 +185,13 @@ } const openDialog = () => { + if (props.disabled) { + uni.showToast({ + title: props.disabledText, + icon: 'none' + }) + return + } if (!props.value) { if (text.value === '') { timestamp.value = new Date().getTime() @@ -180,6 +213,20 @@ } const confirm = () => { + if (props.minDate && timestamp.value < props.minDate) { + uni.showToast({ + title: props.minDateText, + icon: 'none' + }) + return + } + if (props.maxDate && timestamp.value > props.maxDate) { + uni.showToast({ + title: props.maxDateText, + icon: 'none' + }) + return + } show.value = false returnTimestamp.value = timestamp.value if (props.type === 'dateHalfDay') { @@ -193,4 +240,16 @@ const afterLeave = () => { showPicker.value = false } + + const clear = () => { + text.value = '' + date.value = '' + halfDay.value = '' + returnTimestamp.value = 0 + emits('change', { id: props.id, value: returnTimestamp.value, text: text.value }) + } + + defineExpose({ + clear + }) diff --git a/src/pages/approval/components/DatetimePickerGroup.vue b/src/pages/approval/components/DatetimePickerGroup.vue new file mode 100644 index 0000000..3d3142d --- /dev/null +++ b/src/pages/approval/components/DatetimePickerGroup.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/src/pages/approval/components/Input.vue b/src/pages/approval/components/Input.vue index 96df501..9334107 100644 --- a/src/pages/approval/components/Input.vue +++ b/src/pages/approval/components/Input.vue @@ -11,6 +11,7 @@ :placeholder="placeholder" :maxlength="type === 'text' ? 30 : 15" v-model="text" + :readonly="readonly" @input="change(id, $event)" > @@ -46,6 +47,10 @@ placeholder: { type: String, default: '请输入' + }, + readonly: { + type: Boolean, + default: false } }) @@ -56,6 +61,14 @@ const change = (id, data) => { emits('change', { id, value: data.value }) } + + const clear = () => { + text.value = '' + } + + defineExpose({ + clear + }) diff --git a/src/pages/approval/components/MemberOrDepartment.vue b/src/pages/approval/components/MemberOrDepartment.vue index 5339c4c..e582118 100644 --- a/src/pages/approval/components/MemberOrDepartment.vue +++ b/src/pages/approval/components/MemberOrDepartment.vue @@ -6,7 +6,9 @@ - {{ text || placeholder }} + + {{ text || placeholder }} + diff --git a/src/pages/approval/components/Overtime.vue b/src/pages/approval/components/Overtime.vue new file mode 100644 index 0000000..683a52c --- /dev/null +++ b/src/pages/approval/components/Overtime.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/src/pages/approval/components/SelectPicker.vue b/src/pages/approval/components/SelectPicker.vue index 4ce41f7..99708b3 100644 --- a/src/pages/approval/components/SelectPicker.vue +++ b/src/pages/approval/components/SelectPicker.vue @@ -12,7 +12,9 @@ v-model="picker" :columns="columns" size="large" - /> + @change="change" + select-size="large" + > @@ -51,11 +53,17 @@ } }) + const emits = defineEmits(['change']) + onMounted(() => { if (props.value) { picker.value = props.value } }) + + const change = ({ value }) => { + emits('change', { id: props.id, value: props.columns.find(item => item.value === value) }) + } From f8be94b7a96bc47292841c87d6d2797cf634ee62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Thu, 16 Jan 2025 18:38:45 +0800 Subject: [PATCH 12/31] =?UTF-8?q?feat:=20=E4=BF=AE=E6=94=B9=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E7=BB=84=E4=BB=B6=E6=94=AF=E6=8C=81=E8=A1=8C=E5=86=85?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F+=E6=B7=BB=E5=8A=A0=E8=99=9A=E6=8B=9F?= =?UTF-8?q?=E9=94=AE=E7=9B=98=E7=BB=84=E4=BB=B6+=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=82=80=E7=BA=A6=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages.json | 6 +- src/pages/approval/components/Components.vue | 10 +- .../approval/components/DatetimePicker.vue | 36 +++++-- src/pages/approval/components/Input.vue | 53 ++++++++--- src/pages/approval/components/Keyboard.vue | 94 +++++++++++++++++++ .../components/MemberOrDepartment.vue | 67 ------------- .../approval/components/NavigatorSelector.vue | 89 ++++++++++++++++++ .../approval/components/SelectPicker.vue | 52 +++++++--- src/pages/approval/components/Visitor.vue | 86 +++++++++++++++++ .../components/OrganizationItem.vue} | 0 .../components/SearchItem.vue | 0 src/pages/select/select-access-control.vue | 7 ++ .../select-organization.vue} | 10 +- src/types/uni-pages.d.ts | 3 +- 14 files changed, 399 insertions(+), 114 deletions(-) create mode 100644 src/pages/approval/components/Keyboard.vue delete mode 100644 src/pages/approval/components/MemberOrDepartment.vue create mode 100644 src/pages/approval/components/NavigatorSelector.vue create mode 100644 src/pages/approval/components/Visitor.vue rename src/pages/{select-member-or-department/components/MemberOrDepartmentItem.vue => select/components/OrganizationItem.vue} (100%) rename src/pages/{select-member-or-department => select}/components/SearchItem.vue (100%) create mode 100644 src/pages/select/select-access-control.vue rename src/pages/{select-member-or-department/select-member-or-department.vue => select/select-organization.vue} (96%) diff --git a/src/pages.json b/src/pages.json index 35d9713..0c06a21 100644 --- a/src/pages.json +++ b/src/pages.json @@ -240,7 +240,11 @@ "type": "page" }, { - "path": "pages/select-member-or-department/select-member-or-department", + "path": "pages/select/select-access-control", + "type": "page" + }, + { + "path": "pages/select/select-organization", "type": "page", "style": { "navigationStyle": "custom", diff --git a/src/pages/approval/components/Components.vue b/src/pages/approval/components/Components.vue index 001aede..167026c 100644 --- a/src/pages/approval/components/Components.vue +++ b/src/pages/approval/components/Components.vue @@ -1,5 +1,6 @@ diff --git a/src/pages/approval/components/Input.vue b/src/pages/approval/components/Input.vue index ff1e7d5..96df501 100644 --- a/src/pages/approval/components/Input.vue +++ b/src/pages/approval/components/Input.vue @@ -6,9 +6,10 @@ @@ -26,6 +27,10 @@ type: Number, required: true }, + type: { + type: String, + default: 'text' + }, required: { type: Boolean, default: false From 53d212ba33a7676a781ad049aa1b50a75f5ba2f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Tue, 14 Jan 2025 18:17:24 +0800 Subject: [PATCH 21/31] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E5=AE=A1=E6=89=B9=E6=97=B6=E9=97=B4=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E5=99=A8=E7=BB=84=E4=BB=B6=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/approval/components/Components.vue | 22 ++ .../approval/components/DatetimePicker.vue | 196 ++++++++++++++++++ 2 files changed, 218 insertions(+) create mode 100644 src/pages/approval/components/DatetimePicker.vue diff --git a/src/pages/approval/components/Components.vue b/src/pages/approval/components/Components.vue index 212d071..0cfb397 100644 --- a/src/pages/approval/components/Components.vue +++ b/src/pages/approval/components/Components.vue @@ -43,6 +43,23 @@ placeholder="数字" @change="inputChange" > + + + + + + @@ -51,6 +68,7 @@ import Input from '@/pages/approval/components/Input.vue' import Textarea from '@/pages/approval/components/Textarea.vue' import SelectPicker from '@/pages/approval/components/SelectPicker.vue' + import DatetimePicker from '@/pages/approval/components/DatetimePicker.vue' const columns = ref>([ { @@ -74,6 +92,10 @@ const textareaChange = e => { console.log('textareaChange', e) } + + const changeDate = e => { + console.log('changeDate', e) + } From 3cb49a5132bfbe444175d820ed430a59f6abbe39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Tue, 14 Jan 2025 19:44:58 +0800 Subject: [PATCH 23/31] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E5=AE=A1=E6=89=B9=E8=AF=B4=E6=98=8E=E9=A1=B9=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/approval/components/Components.vue | 6 ++++++ src/pages/approval/components/Description.vue | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 src/pages/approval/components/Description.vue diff --git a/src/pages/approval/components/Components.vue b/src/pages/approval/components/Components.vue index 2b9bc94..4f2a1c8 100644 --- a/src/pages/approval/components/Components.vue +++ b/src/pages/approval/components/Components.vue @@ -62,6 +62,11 @@ > + + @@ -72,6 +77,7 @@ import SelectPicker from '@/pages/approval/components/SelectPicker.vue' import DatetimePicker from '@/pages/approval/components/DatetimePicker.vue' import Images from '@/pages/approval/components/Images.vue' + import Description from '@/pages/approval/components/Description.vue' const columns = ref>([ { diff --git a/src/pages/approval/components/Description.vue b/src/pages/approval/components/Description.vue new file mode 100644 index 0000000..5bed04c --- /dev/null +++ b/src/pages/approval/components/Description.vue @@ -0,0 +1,18 @@ + + + From 03d338974ef60e3a49a7d48a3747be1e174fc1e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Fri, 17 Jan 2025 14:54:10 +0800 Subject: [PATCH 24/31] =?UTF-8?q?fix:=20=E5=90=88=E5=B9=B6=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TopNavigation/TopNavigation.vue | 21 +- src/pages.json | 64 +++- src/pages/approval/components/Components.vue | 14 +- .../components/MemberOrDepartment.vue | 65 +++++ .../components/MemberOrDepartmentItem.vue | 56 ++++ .../components/SearchItem.vue | 35 +++ .../select-member-or-department.vue | 275 ++++++++++++++++++ src/static/images/icon_delete.png | Bin 0 -> 1493 bytes src/static/images/icon_file.png | Bin 0 -> 1205 bytes src/types/uni-pages.d.ts | 6 + 10 files changed, 529 insertions(+), 7 deletions(-) create mode 100644 src/pages/approval/components/MemberOrDepartment.vue create mode 100644 src/pages/select-member-or-department/components/MemberOrDepartmentItem.vue create mode 100644 src/pages/select-member-or-department/components/SearchItem.vue create mode 100644 src/pages/select-member-or-department/select-member-or-department.vue create mode 100644 src/static/images/icon_delete.png create mode 100644 src/static/images/icon_file.png diff --git a/src/components/TopNavigation/TopNavigation.vue b/src/components/TopNavigation/TopNavigation.vue index e1755e0..7e6a7f9 100644 --- a/src/components/TopNavigation/TopNavigation.vue +++ b/src/components/TopNavigation/TopNavigation.vue @@ -26,14 +26,21 @@ class="pos-absolute left-3 h-5 w-5" @click="back" > - - + + {{ title }} + + {{ rightButtonText }} + @@ -62,16 +69,24 @@ backUrl: { type: String, default: '/static/images/icon_back.png' + }, + rightButtonText: { + type: [String, null], + default: null } }) - const emits = defineEmits(['back']) + const emits = defineEmits(['back', 'rightButton']) const back = () => { uni.navigateBack() emits('back') } + const rightButton = () => { + emits('rightButton') + } + onMounted(async () => { systemInfo.value = await $basic.getSystemInfo() }) diff --git a/src/pages.json b/src/pages.json index 1fb3c68..39642f0 100644 --- a/src/pages.json +++ b/src/pages.json @@ -50,6 +50,14 @@ ] }, "pages": [ + { + "path": "pages/mine/mine", + "type": "home", + "style": { + "navigationStyle": "custom", + "navigationBarTitleText": "首页" + } + }, { "path": "pages/home/home", "type": "home", @@ -169,6 +177,14 @@ }, "needLogin": false }, + { + "path": "pages/info-publish/add-release-plan", + "type": "page", + "layout": "default", + "style": { + "navigationStyle": "custom" + } + }, { "path": "pages/info-publish/announce-notice", "type": "page", @@ -193,9 +209,29 @@ "navigationStyle": "custom" } }, + { + "path": "pages/info-publish/edit-pic-video", + "type": "page", + "layout": "default", + "style": { + "navigationStyle": "custom" + } + }, { "path": "pages/info-publish/info-publish", - "type": "page" + "type": "page", + "layout": "default", + "style": { + "navigationStyle": "custom" + } + }, + { + "path": "pages/info-publish/material-library", + "type": "page", + "layout": "default", + "style": { + "navigationStyle": "custom" + } }, { "path": "pages/info-publish/notice-details", @@ -213,6 +249,22 @@ "navigationStyle": "custom" } }, + { + "path": "pages/info-publish/play-content-library", + "type": "page", + "layout": "default", + "style": { + "navigationStyle": "custom" + } + }, + { + "path": "pages/info-publish/release-plan", + "type": "page", + "layout": "default", + "style": { + "navigationStyle": "custom" + } + }, { "path": "pages/login/login", "type": "page", @@ -243,6 +295,14 @@ }, "needLogin": false }, + { + "path": "pages/select-member-or-department/select-member-or-department", + "type": "page", + "style": { + "navigationStyle": "custom", + "disableScroll": true + } + }, { "path": "pages/workbench/workbench", "type": "page" @@ -297,4 +357,4 @@ } ], "subPackages": [] -} +} \ No newline at end of file diff --git a/src/pages/approval/components/Components.vue b/src/pages/approval/components/Components.vue index 4f2a1c8..d331ce8 100644 --- a/src/pages/approval/components/Components.vue +++ b/src/pages/approval/components/Components.vue @@ -61,12 +61,21 @@ @change="changeDate" > - + + + + + @@ -78,6 +87,7 @@ import DatetimePicker from '@/pages/approval/components/DatetimePicker.vue' import Images from '@/pages/approval/components/Images.vue' import Description from '@/pages/approval/components/Description.vue' + import MemberOrDepartment from '@/pages/approval/components/MemberOrDepartment.vue' const columns = ref>([ { diff --git a/src/pages/approval/components/MemberOrDepartment.vue b/src/pages/approval/components/MemberOrDepartment.vue new file mode 100644 index 0000000..5339c4c --- /dev/null +++ b/src/pages/approval/components/MemberOrDepartment.vue @@ -0,0 +1,65 @@ + + + diff --git a/src/pages/select-member-or-department/components/MemberOrDepartmentItem.vue b/src/pages/select-member-or-department/components/MemberOrDepartmentItem.vue new file mode 100644 index 0000000..2b3c360 --- /dev/null +++ b/src/pages/select-member-or-department/components/MemberOrDepartmentItem.vue @@ -0,0 +1,56 @@ + + + diff --git a/src/pages/select-member-or-department/components/SearchItem.vue b/src/pages/select-member-or-department/components/SearchItem.vue new file mode 100644 index 0000000..9a13733 --- /dev/null +++ b/src/pages/select-member-or-department/components/SearchItem.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/pages/select-member-or-department/select-member-or-department.vue b/src/pages/select-member-or-department/select-member-or-department.vue new file mode 100644 index 0000000..f3a80e6 --- /dev/null +++ b/src/pages/select-member-or-department/select-member-or-department.vue @@ -0,0 +1,275 @@ + +{ + style: { + navigationStyle: 'custom', + disableScroll: true + } +} + + + + + + diff --git a/src/static/images/icon_delete.png b/src/static/images/icon_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..10c193fd39f760e9eda2fbbad302136b9b4c82ba GIT binary patch literal 1493 zcmZ`(doFY=JSK*;C?u6MdA43ro}C(x_>EL-IcO(qJ%>`F zu&rn7F^;k%&y`oosJs$pY0D$*w14mZaqm6%-tT<(p6{M>lbjrFC?q8k08s2~t(_$i z{c2JKiElRdZkGfk!r8_ON;{RO0q`ky)|SV(9#!7mNSSH@>KdM;&ywVAm=Q@sWC z{S%hrM>USyIehEhzV=b;n|86=pZaUjF&^&GUQ@$SifX`~q)9ltYl)^zH9ElgIbLUn zjbvI*v>;+J4UzO!r$%CY{tME;5-%>Ti;c*Kdy01@T;udpH0m6^qoS4PWhy5s3{pzS z;_w)Ygt(@V$&u+HIb0_!WenrjS&MlF$rdfECz2{TWn%<1W2G@+Y;f2+Y~7XGkaF?% z6VAhdP%LV{lGls?=ZCfoH89BD+x+1z9=KsRAUEdYd`!;`W%*M(R=6Dvc^qRa_NA+< zv3=X#xF%ir?F_*f@3F_g?cPh30hfybBw^XxKV+NqZAuE~y2;SiP&e|l-#_4Id?unE z$*5Ls=$#3QoWen2kF25$;Ihv~ZUQe8Q_KM2f0L?1P~cghxKot3J3ZiUoU@^d;Chj< z!DcX)I-RuXG}I~kst)RgU48iL?8lA591yznZFoAgo1qL4^@pmSNqL*oIw5~@XC@U) ziBNs58r%J7-qZ7n>sQ&as8&K1mKJYMq?Os~Vgc<$5-0Xc50ZGzWPmDy1#TCGU4auQ zj8IWNp*$KKM?1%2KMPv8bHlroM=(w$3O9JGDt9Nx^?K`S^@Gl~Ee(&N7_hFY8yB3* zX_>|L@2y<;w4`*+%}&;~4tG|Xc3kIAEgweW{Z|Lv)fAKiS-wMG8r+EGhoDFX~J97w|9fJr-dMCi2XFEAWj8%t{$Sar<@~^dzo2V z#Ob``IZk%!B}H|BlAa)tATp=ppeA~4#ki6ze1TzM1cgYEA3*5qGPGHB#Wjb*Y=5%Ur;hFb_W}2aXO+M{eJFq`w$49 zY4wg$`s8_iGQ3vMI4{F4RkSXAzHb_amCz(|Y6+f;VK17XN5_v^NOoM^KXch5Fct(+ zQhf?Mdp_!>hcb{pm6r5I1-Dh!jx>6oAv;(r)ztW$j@Et8)mV!J16HAO9ws$DWS>6X z5Nf7*?dlV2eij=Wn9{WqP1#Qaxcw6W)u`V=_FSilS$I@#vSP#ddV~%6o&4Qul^Q+<(QY#dB136jJr!CC6Sbw4YN`c=EdC+5K3t>&LskLg#>?( z05ks`9Ru9h2tyLoY|`wafp9S^>j(%Pv?H$qQt_Gl! yOy+Gsvz!*l2(TJ!>3A4PxaltiqUDZ`qQ>7@h0p6x`KC*LD%c%xv@W&sivI^x=VxXB literal 0 HcmV?d00001 diff --git a/src/static/images/icon_file.png b/src/static/images/icon_file.png new file mode 100644 index 0000000000000000000000000000000000000000..5a8886b842e0730c225abb5596c8a0e2df2ca159 GIT binary patch literal 1205 zcmeAS@N?(olHy`uVBq!ia0vp^y+GW+!3HGF4!o)cQjEnx?oJHr&dI!FU|`Ajba4!+ zh;CIfk-rOFqcY3wQ`mco zA9b@daXxua(KgwENlJl3ox$Yci5Uzg1_FK$(lX?}9X_49RdMxDBW&W(VZVpghZ~y#hng-}{k=RgX4xs{Ic>`xdtW|2V~0=Yg2EjpwM@_FZ2R*mUuxcJ z^3{Yq{hI@(<00;t02WE zgKt)$^UFCE_wO?0@ZG<(`H?E`TZhB@cj+~p+&`(ye5xt4?@ME;&`ED=ChlC{n#nBX zH*?jDbGEs&8kUs^hfaQ5v2kbqPmQ@nO`jI4_#Zzcy>m_%fqKaFTX9>X!kCY z$-lYuRMVPX}yCo*CkK3j5)W&Dp{ohC-@mTJifB+g!YAwrjkjF zQp>lw#x=T$ESb!6!D6fKCoYpk3UgB$j;+j{7`{M|^`#2)NHKaf%dA5E@4piT-g3@7 z28`lk+*yUy4wsX(d*6GqojqJvAsJMacSrxWu*!tjtUK^y{p2}(%a8BTEsSE}UGD2S<+WUJRi>6*=CQ_x&3PK@-tPOt_G3|C z$)y-JX219cJsW!Z`gZ>jDimvaCOhwX;^cRi)HVquOM5?2lb%D!7)eJ_}#&3_x> z$B?1Le(!LR!)530skRKhPY+Z_@MTnGY}~}YV5Lk2|7k{Fe%-Kd3?@^V-zQowc)9TC jDY=GaMGtIszDsZ3b$`C!kBA?@a)`mx)z4*}Q$iB}w`U?2 literal 0 HcmV?d00001 diff --git a/src/types/uni-pages.d.ts b/src/types/uni-pages.d.ts index b4660c3..8e6bfdb 100644 --- a/src/types/uni-pages.d.ts +++ b/src/types/uni-pages.d.ts @@ -20,16 +20,22 @@ interface NavigateToOptions { "/pages/attendance/issue-record" | "/pages/code/code" | "/pages/get-code/get-code" | + "/pages/info-publish/add-release-plan" | "/pages/info-publish/announce-notice" | "/pages/info-publish/basic-info" | "/pages/info-publish/drafts-list" | + "/pages/info-publish/edit-pic-video" | "/pages/info-publish/info-publish" | + "/pages/info-publish/material-library" | "/pages/info-publish/notice-details" | "/pages/info-publish/notice-manage" | + "/pages/info-publish/play-content-library" | + "/pages/info-publish/release-plan" | "/pages/login/login" | "/pages/notification/notification" | "/pages/personnel-passage/traffic-correlation" | "/pages/reset-password/reset-password" | + "/pages/select-member-or-department/select-member-or-department" | "/pages/workbench/workbench" | "/pages/attendance/attendance-add-group/attendance-add-group" | "/pages/attendance/attendance-add-group/attendance-device" | From 67996568f4e40a7646dbcc4f75e161a4bfde8aba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Thu, 16 Jan 2025 09:38:56 +0800 Subject: [PATCH 25/31] =?UTF-8?q?fix:=20=E6=95=B4=E7=90=86=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/TeamPopup/TeamPopup.vue | 3 +- .../TopNavigation/TopNavigation.vue | 3 +- src/pages.json | 102 ++++-------------- .../application-list.vue | 0 .../home/{ => compoents}/HomeAddDevice.vue | 0 .../{ => compoents}/HomeAddTeamManager.vue | 0 .../home/{ => compoents}/HomeAttendance.vue | 0 .../home/{ => compoents}/HomeBulletin.vue | 0 .../home/{ => compoents}/HomeOpenDoor.vue | 0 .../home/{ => compoents}/HomeSetting.vue | 0 src/pages/home/{ => compoents}/HomeSwiper.vue | 0 src/pages/home/{ => compoents}/HomeTab.vue | 2 +- .../home/{ => compoents}/HomeTeamManager.vue | 0 src/pages/home/{ => compoents}/HomeTodo.vue | 0 src/pages/home/home.vue | 32 +++--- src/pages/{code => login}/code.vue | 6 +- src/pages/{get-code => login}/get-code.vue | 8 +- src/pages/login/login.vue | 12 ++- .../reset-password.vue | 6 +- .../components/MemberOrDepartmentItem.vue | 6 +- .../select-member-or-department.vue | 3 +- src/types/uni-pages.d.ts | 18 ++-- 22 files changed, 78 insertions(+), 123 deletions(-) rename src/pages/{application-list => home}/application-list.vue (100%) rename src/pages/home/{ => compoents}/HomeAddDevice.vue (100%) rename src/pages/home/{ => compoents}/HomeAddTeamManager.vue (100%) rename src/pages/home/{ => compoents}/HomeAttendance.vue (100%) rename src/pages/home/{ => compoents}/HomeBulletin.vue (100%) rename src/pages/home/{ => compoents}/HomeOpenDoor.vue (100%) rename src/pages/home/{ => compoents}/HomeSetting.vue (100%) rename src/pages/home/{ => compoents}/HomeSwiper.vue (100%) rename src/pages/home/{ => compoents}/HomeTab.vue (96%) rename src/pages/home/{ => compoents}/HomeTeamManager.vue (100%) rename src/pages/home/{ => compoents}/HomeTodo.vue (100%) rename src/pages/{code => login}/code.vue (97%) rename src/pages/{get-code => login}/get-code.vue (93%) rename src/pages/{reset-password => login}/reset-password.vue (98%) diff --git a/src/components/TeamPopup/TeamPopup.vue b/src/components/TeamPopup/TeamPopup.vue index b9e73f1..d120885 100644 --- a/src/components/TeamPopup/TeamPopup.vue +++ b/src/components/TeamPopup/TeamPopup.vue @@ -56,10 +56,11 @@ diff --git a/src/pages/code/code.vue b/src/pages/login/code.vue similarity index 97% rename from src/pages/code/code.vue rename to src/pages/login/code.vue index 04ac263..3f72908 100644 --- a/src/pages/code/code.vue +++ b/src/pages/login/code.vue @@ -124,7 +124,7 @@ } } else if (type.value === 'reset-password') { await uni.redirectTo({ - url: `/pages/reset-password/reset-password?phone=${phone.value}&code=${code.value}` + url: `/pages/login/reset-password?phone=${phone.value}&code=${code.value}` }) } } @@ -159,4 +159,8 @@ border: #b8b8b8 solid 2rpx; border-radius: 12rpx; } + + page { + background-color: #ffffff; + } diff --git a/src/pages/get-code/get-code.vue b/src/pages/login/get-code.vue similarity index 93% rename from src/pages/get-code/get-code.vue rename to src/pages/login/get-code.vue index 22720bd..574fe38 100644 --- a/src/pages/get-code/get-code.vue +++ b/src/pages/login/get-code.vue @@ -63,7 +63,7 @@ uni.hideLoading() if (result.errorCode === Result.Success.code) { await uni.navigateTo({ - url: `/pages/reset-password/reset-password?phone=${phone.value}` + url: `/pages/login/reset-password?phone=${phone.value}` }) } else { await uni.showToast({ @@ -85,3 +85,9 @@ phone.value = value } + + diff --git a/src/pages/login/login.vue b/src/pages/login/login.vue index c9cc32b..48f0e18 100644 --- a/src/pages/login/login.vue +++ b/src/pages/login/login.vue @@ -61,7 +61,7 @@ :disabled="!phonePass" :round="false" size="large" - @click="codeLogin" + @click="codeLogin(false, $event)" > 获取验证码 @@ -264,7 +264,7 @@ }) uni.hideLoading() if (result.errorCode === Result.Success.code) { - let url = `/pages/code/code?phone=${phone.value}&type=login` + let url = `/pages/login/code?phone=${phone.value}&type=login` if (tip) { url = url + `&tip=true` } @@ -298,7 +298,7 @@ params = `?phone=${phone.value}` } uni.navigateTo({ - url: `/pages/get-code/get-code${params}` + url: `/pages/login/get-code${params}` }) } @@ -325,3 +325,9 @@ consentAgreement.value = !consentAgreement.value } + + diff --git a/src/pages/reset-password/reset-password.vue b/src/pages/login/reset-password.vue similarity index 98% rename from src/pages/reset-password/reset-password.vue rename to src/pages/login/reset-password.vue index c70afde..d89595f 100644 --- a/src/pages/reset-password/reset-password.vue +++ b/src/pages/login/reset-password.vue @@ -226,4 +226,8 @@ } - + diff --git a/src/pages/select-member-or-department/components/MemberOrDepartmentItem.vue b/src/pages/select-member-or-department/components/MemberOrDepartmentItem.vue index 2b3c360..a845b28 100644 --- a/src/pages/select-member-or-department/components/MemberOrDepartmentItem.vue +++ b/src/pages/select-member-or-department/components/MemberOrDepartmentItem.vue @@ -16,11 +16,11 @@ {{ item.name }} - + @@ -31,7 +31,7 @@ size="14px" class="ml-2" :color="disabled ? '#87a9fb' : '#255cf7'" - v-if="item.type === 'department'" + v-if="item.type !== 'member'" > diff --git a/src/pages/select-member-or-department/select-member-or-department.vue b/src/pages/select-member-or-department/select-member-or-department.vue index f3a80e6..c27d26b 100644 --- a/src/pages/select-member-or-department/select-member-or-department.vue +++ b/src/pages/select-member-or-department/select-member-or-department.vue @@ -148,6 +148,7 @@ import { useBasicStore } from '@/store' import MemberOrDepartmentItem from '@/pages/select-member-or-department/components/MemberOrDepartmentItem.vue' import SearchItem from '@/pages/select-member-or-department/components/SearchItem.vue' + import GetSystemInfoResult = UniNamespace.GetSystemInfoResult const instance = getCurrentInstance().proxy const eventChannel = instance.getOpenerEventChannel() @@ -167,7 +168,7 @@ const $basic = useBasicStore() - const systemInfo = ref(null) + const systemInfo = ref(null) const value = ref([]) const showSelected = ref(false) diff --git a/src/types/uni-pages.d.ts b/src/types/uni-pages.d.ts index 8e6bfdb..058f3eb 100644 --- a/src/types/uni-pages.d.ts +++ b/src/types/uni-pages.d.ts @@ -4,9 +4,7 @@ // Generated by vite-plugin-uni-pages interface NavigateToOptions { - url: "/pages/mine/mine" | - "/pages/home/home" | - "/pages/application-list/application-list" | + url: "/pages/home/home" | "/pages/approval/approval-detail" | "/pages/approval/approval" | "/pages/approval/create-application" | @@ -18,23 +16,19 @@ interface NavigateToOptions { "/pages/attendance/flexible-punching" | "/pages/attendance/issue-record-detail" | "/pages/attendance/issue-record" | - "/pages/code/code" | - "/pages/get-code/get-code" | - "/pages/info-publish/add-release-plan" | + "/pages/home/application-list" | "/pages/info-publish/announce-notice" | "/pages/info-publish/basic-info" | "/pages/info-publish/drafts-list" | - "/pages/info-publish/edit-pic-video" | "/pages/info-publish/info-publish" | - "/pages/info-publish/material-library" | "/pages/info-publish/notice-details" | "/pages/info-publish/notice-manage" | - "/pages/info-publish/play-content-library" | - "/pages/info-publish/release-plan" | + "/pages/login/code" | + "/pages/login/get-code" | "/pages/login/login" | + "/pages/login/reset-password" | + "/pages/mine/mine" | "/pages/notification/notification" | - "/pages/personnel-passage/traffic-correlation" | - "/pages/reset-password/reset-password" | "/pages/select-member-or-department/select-member-or-department" | "/pages/workbench/workbench" | "/pages/attendance/attendance-add-group/attendance-add-group" | From 3bfcf05ad964e7e24bcd98e278f56caeae681c86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Thu, 16 Jan 2025 15:19:30 +0800 Subject: [PATCH 26/31] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E6=A8=A1=E5=9D=97=E8=AF=B7=E5=81=87=E3=80=81=E5=87=BA?= =?UTF-8?q?=E5=B7=AE=E3=80=81=E5=A4=96=E5=87=BA=E3=80=81=E8=A1=A5=E5=8D=A1?= =?UTF-8?q?=E3=80=81=E5=8A=A0=E7=8F=AD=E5=A5=97=E4=BB=B6=E7=9A=84=E5=B0=81?= =?UTF-8?q?=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/approval/components/Components.vue | 23 +++- .../approval/components/DatetimePicker.vue | 63 +++++++++- .../components/DatetimePickerGroup.vue | 110 ++++++++++++++++++ src/pages/approval/components/Input.vue | 13 +++ src/pages/approval/components/Leave.vue | 97 +++++++++++++++ .../components/MemberOrDepartment.vue | 4 +- src/pages/approval/components/Overtime.vue | 43 +++++++ .../approval/components/SelectPicker.vue | 40 ++++++- 8 files changed, 387 insertions(+), 6 deletions(-) create mode 100644 src/pages/approval/components/DatetimePickerGroup.vue create mode 100644 src/pages/approval/components/Leave.vue create mode 100644 src/pages/approval/components/Overtime.vue diff --git a/src/pages/approval/components/Components.vue b/src/pages/approval/components/Components.vue index d331ce8..001aede 100644 --- a/src/pages/approval/components/Components.vue +++ b/src/pages/approval/components/Components.vue @@ -1,5 +1,5 @@ @@ -88,8 +104,11 @@ import Images from '@/pages/approval/components/Images.vue' import Description from '@/pages/approval/components/Description.vue' import MemberOrDepartment from '@/pages/approval/components/MemberOrDepartment.vue' + import Leave from '@/pages/approval/components/Leave.vue' + import DatetimePickerGroup from '@/pages/approval/components/DatetimePickerGroup.vue' + import Overtime from '@/pages/approval/components/Overtime.vue' - const columns = ref>([ + const columns = ref>([ { value: 0, label: '男装' diff --git a/src/pages/approval/components/DatetimePicker.vue b/src/pages/approval/components/DatetimePicker.vue index 95fc9c5..e27f5d8 100644 --- a/src/pages/approval/components/DatetimePicker.vue +++ b/src/pages/approval/components/DatetimePicker.vue @@ -6,7 +6,9 @@ - {{ text || placeholder }} + + {{ text || placeholder }} + @@ -104,7 +106,31 @@ }, placeholder: { type: String, - default: '请输入' + default: '请选择' + }, + disabled: { + type: Boolean, + default: false + }, + disabledText: { + type: String, + default: '' + }, + minDate: { + type: [Number, null], + default: null + }, + maxDate: { + type: [Number, null], + default: null + }, + minDateText: { + type: String, + default: '' + }, + maxDateText: { + type: String, + default: '' } }) @@ -159,6 +185,13 @@ } const openDialog = () => { + if (props.disabled) { + uni.showToast({ + title: props.disabledText, + icon: 'none' + }) + return + } if (!props.value) { if (text.value === '') { timestamp.value = new Date().getTime() @@ -180,6 +213,20 @@ } const confirm = () => { + if (props.minDate && timestamp.value < props.minDate) { + uni.showToast({ + title: props.minDateText, + icon: 'none' + }) + return + } + if (props.maxDate && timestamp.value > props.maxDate) { + uni.showToast({ + title: props.maxDateText, + icon: 'none' + }) + return + } show.value = false returnTimestamp.value = timestamp.value if (props.type === 'dateHalfDay') { @@ -193,4 +240,16 @@ const afterLeave = () => { showPicker.value = false } + + const clear = () => { + text.value = '' + date.value = '' + halfDay.value = '' + returnTimestamp.value = 0 + emits('change', { id: props.id, value: returnTimestamp.value, text: text.value }) + } + + defineExpose({ + clear + }) diff --git a/src/pages/approval/components/DatetimePickerGroup.vue b/src/pages/approval/components/DatetimePickerGroup.vue new file mode 100644 index 0000000..3d3142d --- /dev/null +++ b/src/pages/approval/components/DatetimePickerGroup.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/src/pages/approval/components/Input.vue b/src/pages/approval/components/Input.vue index 96df501..9334107 100644 --- a/src/pages/approval/components/Input.vue +++ b/src/pages/approval/components/Input.vue @@ -11,6 +11,7 @@ :placeholder="placeholder" :maxlength="type === 'text' ? 30 : 15" v-model="text" + :readonly="readonly" @input="change(id, $event)" > @@ -46,6 +47,10 @@ placeholder: { type: String, default: '请输入' + }, + readonly: { + type: Boolean, + default: false } }) @@ -56,6 +61,14 @@ const change = (id, data) => { emits('change', { id, value: data.value }) } + + const clear = () => { + text.value = '' + } + + defineExpose({ + clear + }) diff --git a/src/pages/approval/components/MemberOrDepartment.vue b/src/pages/approval/components/MemberOrDepartment.vue index 5339c4c..e582118 100644 --- a/src/pages/approval/components/MemberOrDepartment.vue +++ b/src/pages/approval/components/MemberOrDepartment.vue @@ -6,7 +6,9 @@ - {{ text || placeholder }} + + {{ text || placeholder }} + diff --git a/src/pages/approval/components/Overtime.vue b/src/pages/approval/components/Overtime.vue new file mode 100644 index 0000000..683a52c --- /dev/null +++ b/src/pages/approval/components/Overtime.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/src/pages/approval/components/SelectPicker.vue b/src/pages/approval/components/SelectPicker.vue index 4ce41f7..99708b3 100644 --- a/src/pages/approval/components/SelectPicker.vue +++ b/src/pages/approval/components/SelectPicker.vue @@ -12,7 +12,9 @@ v-model="picker" :columns="columns" size="large" - /> + @change="change" + select-size="large" + > @@ -51,11 +53,17 @@ } }) + const emits = defineEmits(['change']) + onMounted(() => { if (props.value) { picker.value = props.value } }) + + const change = ({ value }) => { + emits('change', { id: props.id, value: props.columns.find(item => item.value === value) }) + } From dc3d862e62f8c7862fd412f80199f65a11db5671 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Thu, 16 Jan 2025 18:38:45 +0800 Subject: [PATCH 27/31] =?UTF-8?q?feat:=20=E4=BF=AE=E6=94=B9=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E7=BB=84=E4=BB=B6=E6=94=AF=E6=8C=81=E8=A1=8C=E5=86=85?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F+=E6=B7=BB=E5=8A=A0=E8=99=9A=E6=8B=9F?= =?UTF-8?q?=E9=94=AE=E7=9B=98=E7=BB=84=E4=BB=B6+=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=82=80=E7=BA=A6=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages.json | 6 +- src/pages/approval/components/Components.vue | 10 +- .../approval/components/DatetimePicker.vue | 36 +++++-- src/pages/approval/components/Input.vue | 53 ++++++++--- src/pages/approval/components/Keyboard.vue | 94 +++++++++++++++++++ .../components/MemberOrDepartment.vue | 67 ------------- .../approval/components/NavigatorSelector.vue | 89 ++++++++++++++++++ .../approval/components/SelectPicker.vue | 52 +++++++--- src/pages/approval/components/Visitor.vue | 86 +++++++++++++++++ .../components/OrganizationItem.vue} | 0 .../components/SearchItem.vue | 0 src/pages/select/select-access-control.vue | 7 ++ .../select-organization.vue} | 10 +- src/types/uni-pages.d.ts | 3 +- 14 files changed, 399 insertions(+), 114 deletions(-) create mode 100644 src/pages/approval/components/Keyboard.vue delete mode 100644 src/pages/approval/components/MemberOrDepartment.vue create mode 100644 src/pages/approval/components/NavigatorSelector.vue create mode 100644 src/pages/approval/components/Visitor.vue rename src/pages/{select-member-or-department/components/MemberOrDepartmentItem.vue => select/components/OrganizationItem.vue} (100%) rename src/pages/{select-member-or-department => select}/components/SearchItem.vue (100%) create mode 100644 src/pages/select/select-access-control.vue rename src/pages/{select-member-or-department/select-member-or-department.vue => select/select-organization.vue} (96%) diff --git a/src/pages.json b/src/pages.json index de9a36a..b675786 100644 --- a/src/pages.json +++ b/src/pages.json @@ -240,7 +240,11 @@ "type": "page" }, { - "path": "pages/select-member-or-department/select-member-or-department", + "path": "pages/select/select-access-control", + "type": "page" + }, + { + "path": "pages/select/select-organization", "type": "page", "style": { "navigationStyle": "custom", diff --git a/src/pages/approval/components/Components.vue b/src/pages/approval/components/Components.vue index 001aede..167026c 100644 --- a/src/pages/approval/components/Components.vue +++ b/src/pages/approval/components/Components.vue @@ -1,5 +1,6 @@