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/37] =?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 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 Date: Mon, 13 Jan 2025 17:52:14 +0800 Subject: [PATCH 02/37] =?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/37] =?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/37] =?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/37] =?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/37] =?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/37] =?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/37] =?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/37] =?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 46bb7cebedf2eaf0936186dd00522277a294d5c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CDaisyWu=E2=80=9D?= <“18682150237@163.com”> Date: Thu, 16 Jan 2025 10:24:56 +0800 Subject: [PATCH 11/37] =?UTF-8?q?feat:=201=EF=BC=8C=E6=98=9F=E5=8B=A4?= =?UTF-8?q?=EF=BC=9A=E4=BF=A1=E6=81=AF=E5=8F=91=E5=B8=83=E6=A8=A1=E5=9D=97?= =?UTF-8?q?-=E6=96=B0=E5=A2=9E=E4=BF=A1=E6=81=AF=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E4=B8=BB=E9=A1=B5=E7=9B=B8=E5=85=B3UI=E5=8F=8A=E5=9B=BE?= =?UTF-8?q?=E7=89=87=202=EF=BC=8C=E6=98=9F=E5=8B=A4=EF=BC=9A=E5=B7=B2?= =?UTF-8?q?=E6=9C=89=E9=A1=B5=E9=9D=A2=E7=9A=84=E4=BB=A3=E7=A0=81=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E5=8F=8A=E9=A3=8E=E6=A0=BC=E4=BF=AE=E6=94=B9=E7=BB=9F?= =?UTF-8?q?=E4=B8=80=203=EF=BC=8C=E6=98=9F=E5=8B=A4=EF=BC=9A=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=8F=91=E5=B8=83=E6=A8=A1=E5=9D=97-=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=92=AD=E6=94=BE=E5=86=85=E5=AE=B9=E5=BA=93=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/home/home.vue | 3 +- src/pages/info-publish/announce-notice.vue | 175 +++++----- src/pages/info-publish/basic-info.vue | 180 +++++----- src/pages/info-publish/info-publish.vue | 205 +++++++++++- src/pages/info-publish/material-library.vue | 309 ++++++++++++++++++ .../info-publish/play-content-library.vue | 229 +++++++++++++ src/static/images/content_icon.png | Bin 0 -> 3980 bytes src/static/images/material_icon.png | Bin 0 -> 7146 bytes src/static/images/notice_icon.png | Bin 0 -> 5556 bytes src/static/images/plan_icon.png | Bin 0 -> 7104 bytes src/static/images/publish_icon.png | Bin 0 -> 52476 bytes 11 files changed, 917 insertions(+), 184 deletions(-) create mode 100644 src/pages/info-publish/material-library.vue create mode 100644 src/pages/info-publish/play-content-library.vue create mode 100644 src/static/images/content_icon.png create mode 100644 src/static/images/material_icon.png create mode 100644 src/static/images/notice_icon.png create mode 100644 src/static/images/plan_icon.png create mode 100644 src/static/images/publish_icon.png diff --git a/src/pages/home/home.vue b/src/pages/home/home.vue index 201d182..2cc60d1 100644 --- a/src/pages/home/home.vue +++ b/src/pages/home/home.vue @@ -261,7 +261,8 @@ { id: 6093, icon: 'https://file.hikmall.com/prod/image/8ed90fc35e3840e782d73676efcc9a30.png', - name: '信息发布' + name: '信息发布', + url: '/pages/info-publish/info-publish' } ] }, diff --git a/src/pages/info-publish/announce-notice.vue b/src/pages/info-publish/announce-notice.vue index 0826981..5e3e664 100644 --- a/src/pages/info-publish/announce-notice.vue +++ b/src/pages/info-publish/announce-notice.vue @@ -8,100 +8,85 @@ - - diff --git a/src/pages/info-publish/basic-info.vue b/src/pages/info-publish/basic-info.vue index 43807b7..fe616c5 100644 --- a/src/pages/info-publish/basic-info.vue +++ b/src/pages/info-publish/basic-info.vue @@ -8,98 +8,100 @@ + // 功能列表数据 + const functionList = ref([ + { + title: '素材库', + description: '管理图片、音频、视频等素材', + icon: '/static/images/material_icon.png', + path: '/pages/info-publish/material-library' + }, + { + title: '播放内容库', + description: '将文字、图片、视频素材组合成节目', + icon: '/static/images/content_icon.png', + path: '/pages/info-publish/play-content-library' + }, + { + title: '发布计划', + description: '设置播放内容与时间规则同步到设备', + icon: '/static/images/plan_icon.png', + path: '/pages/info-publish/plan' + }, + { + title: '公告管理', + description: '发布手机公告给团队成员', + icon: '/static/images/notice_icon.png', + path: '/pages/info-publish/notice-manage' + } + ]) + + // 底部标签栏配置 + const tabList = ref>([ + { + title: '首页', + icon: 'home' + }, + { + title: '屏幕控制', + icon: 'screen' + } + ]) + + // 页面跳转 + const navigateTo = (path: string) => { + uni.navigateTo({ + url: path + }) + } + + // 标签切换处理 + const handleTabChange = (data: { value: number }) => { + // 处理标签切换逻辑 + } + + + diff --git a/src/pages/info-publish/material-library.vue b/src/pages/info-publish/material-library.vue new file mode 100644 index 0000000..23d1d16 --- /dev/null +++ b/src/pages/info-publish/material-library.vue @@ -0,0 +1,309 @@ + +{ + layout: 'default', + style: { + navigationStyle: 'custom' + } +} + + + + + + + diff --git a/src/pages/info-publish/play-content-library.vue b/src/pages/info-publish/play-content-library.vue new file mode 100644 index 0000000..45a4045 --- /dev/null +++ b/src/pages/info-publish/play-content-library.vue @@ -0,0 +1,229 @@ + +{ + layout: 'default', + style: { + navigationStyle: 'custom' + } +} + + + + + + + diff --git a/src/static/images/content_icon.png b/src/static/images/content_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..971ae31db29cfeb607cd3f812500df2249934f89 GIT binary patch literal 3980 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 literal 0 HcmV?d00001 diff --git a/src/static/images/material_icon.png b/src/static/images/material_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bacb37ab3d92847723121e96f94ff4a25388ed42 GIT binary patch literal 7146 zcmVOGjf2*%pkNeHf+n1d>u*DUE(?7 z?eN_CR#kiDVb`wORo#7Vq--Tw#9?<=S5@!&*4p2?>{TVI%12c;`nvqaRh}QIoVJB7 z^t!xwtjBjw+%4bzLyzrtMLvqaZ}fHfhp(~nli$G2TVPU%71CHZya10sY&rXoeB;5R z@|{2QSPv>6Ip8O29G|ZeCctKKj3f=EFU@G zzy2Sr-n>zN7UOU=QjgO_=h}u|c>9KY?~N6fS8iIa z+=Nan+_NNn;hbJRc{dl9=4AEvb&Xy=Qo#S+%c}qW2Vkwz1|OzdKR_HAdL8BP5+-2O+oYKZ>0&`eHhL@1m_<9{agP>2KZ|mdg0&v7rpfEwdVF&3NWIW z7QGuI^g2qKz&L}v0BgaRdY?F|-%AYhUE!WX%9#^;qpLe5zgOVjS>x+#+j=qFwzi?? z0XDXUcRmnCg&WUcyti|DP}jGGn`_D_a|)>xX0)*%G{FaF{fqN(&ysNNl;x4*(x9sk zLw;|-zk7>|Yg>A8YakZ@#+hZa4}-B`ean(W!umkz4;(^UBhT-X=W1{2b|8s`>+A5r zH4k(X`0Cj5;5PUG3q4_O4jw$JJn@+P*H0|-7YDuG-6a07P8`aW4ZgB9(hIjQljxR_;*Lbm!a%9Nt0Exun; z%Z*LkT?-3D=amMeoykn*z!y(nB<4mI_7(A$#R zok4XJP#4j5Q$lE9kujCS^*CGWl;Eq-UIAI5Z1jag^FlU)TU+itYn!mWsF&i1(;%03 z1ZRrG;Amx#$!&s8BU*?eWiWKs4ldeIYZ#1`(YTImJm`b5lEhHtify@`!b~bA1XqKo zX)j7BtVKjnRkGaA28AinjxowGbFWA561FoK=gN(B;DnGD+z0F%cmvQMPY1ow-9fJg zsgBrsI6VCVK`PsW37^mtpFBB8)Rw+tO;=K_uQB>Vo2&=roCBXYj3ciA*Cl&S6w? z^(a%eM~-5`$Yx_;u(k$0Z^i6|RU#u;h0x&DHtRPY(6(i_XMtL+X3k;dx_}gg)%$fzEoIeRqo)&tk``k<6$ur77 zdt6xPO7Q#Ict6ZsJfEZV2k^63mG{=TRM`E8mQ&;SgHTNMIj>{iL0)H))1;!9QSF4$ z+R8L|4c~hOz@!4)_+_dhJPn;W4oh>B7x=MdII>`;{-$c}c)``1e*3oYgP#dMd0k(- zwxJhhU+JVwjpKKt7nr0NA3l!q+S+X~+uBE&B`cMrDvWai z0u+V1>#~A1meE+acFUENS2tKb`;e^s#ph>agMn1nxG#DMtUW88qNrBZKFFO_Z;zU# zg6*L&7}=^cFc>KsW~NrKI{AlxB`A0W(MMrxpAgddG+&?=UVaO%Z8WjTt?<&D%F3EF zBBRhhcnZy>{QdH?#j-tsD<23y{*ChepId$Vs{ZSpFx>Y-$h4S!ICcZi3auz+d*sse zkYWZw2{^0*j;*`c%0jI)idQrIaJg^!Z5f4#Nad94;#m{?U%u_m{l!0mLp`_h^}_4Q zPhYG34KNA*lzhUfVtlC?%i4zUqhA@`UgcX)J;pa?QO~}B_nNViw`JfkO@Tr{Sjn2 z^he6(z*+h*69z+SSiYcutNcLqA*SL^fIhFa;zdN^ZeOJrmq^nNY&b zP4^cnFGr?2X8^Ho_T^%ov$jfs%M+Z3^({<#6?u^8Om%#Vkr{gVMIlLg354;fKtv$;< zue*!()}G~-z6ae$G2vo}b+K}8T^v8kg;6HVb%gmYEX@f^J(o##5;q%0`DEnPo)v|a ziCN&ll$o=@|5fK~C2(yCXP{rt4U@Hrg`UFYGW`+X@|*U}@#DgQTUonxJnXG~d+4ma zE&Y);YT}V`;JXkKjxH*XJ^)`jD=hY0v;nX_P}VkuH?G3vRpI^XmaFTo9`7BYi-?+F zd+@8a4wb;_r?&zY)>f-jVN?`~FMm%&UP0s&iK8A{1_}V3)SYuUHm5iHtnLYT8(5GZ ztB+!GOJ(hwna^UKwGT5~X}DDY8wXr}Yze+}4nBQSxbKJ%R~O@6m*(JsyIqfCZee9j zc;R)p^jo-k%MuwOl1V?{711c((WafCJtU+eFD;8N)ReEyb5AHB0N-tc#d+6$0z3~a z?g@Bfv;u!@OPVQaC)?(BFCoC8_4vx;xrgDe{@4LqUg?hGh>h~V-EiL#;mmR6Z+|KL z{540x?J%%iorD@ki%eL1J5+6SB?nbX&-ZyzFNROEev9M(G*%XtEDtOiK#3#gC-zJ= zK6VF}Ecr$3;ke$uUG~LzYY%0Z)l)c);fs&MUw%QR7OQrX*eIX4AC4^<4$mq7>z7KQ zb&Y8!B>-TgvVQk502voDHWlIh2o$j`OCfbHj;rNQT0iA^9=i_~>g#+4cHwxhN#AZa zF0^V$0yp)&Y>%dA9^+gY9Zv0KUaT>^_eS`<{vu_fipPY8ei zD>pVopjF_TmJq4cYHo!&f`|j%Cu?m=nh{t{C?Ev?k%yIY4?_~Ud?t=qS)5~QN8tSl zBBPBIznC=wV0&19HyXEiSA_E?g+Dv5Q-OT<2K?LSgJ4Vn+-J=OPvN0I4VB=& zE0s|4bZF^qF-G|KGAtj~32TQE_{=Ju$zu;JaU_r_X=1Qe$qHqut33ND;S={a_Z^Jk zzx{*q*DtuHp}NOO8J3Xc|DMh;Ypz z637dkoDIQyR~At6LNG;h$7$Ao*IjOf$GhFs zS^sbx4#vN?j5C<;2><-E@K67!o+-H%UcI7x=ljZgH=&z?h?Z^C`zDM@J7ei)04e4O|}NFz#(S*LvzlkyAhtLtN&*-PHYs(oG;u4D%i3 z<0qO9GRu`0F2j2_-TkX}N;asiH9fBcRaZCn*Xl2nPznCk zzqeD?baSh;n{vDJmQD)2M2RAKE{<4fkEf!VxaEyK*zNQ?iCjt?@_cCZHTbS{&`B)! zEJPezf^hO)--H+6)Sz>#j(kEZw^JOsh@r5`Yb(vM-FH|xG_SmWQzlC1{@U8Jz+Ge0 zf3-hXV<~GgdExSwBnczD5{pE5;$wzhswJ=M*5QT8hNsFt+VSU364FgCt=l%*7VjL8 za{B&euX}EVwN2&Py3$Q46ERbQA%Ij0&??jmDaT^1lr4bn``EZvjfI|D{W4K=IdEE> zy_*t3DXbE=EZ!%LUIDQY?mlWcf6`P@Oec{Sr=4%l36$@)5-F`df)pTYa(%n`bh{+U zByL{NVC<4G5x4f5<(9BYZ57bkazh39_wBXQICi~`ss*-8@7sMjvl5-Q5>#cE%UEN(KINj6Esbg^NVMr69lX7_)#dv7| zzZ2+QJowJTJId)K;T}!!yCn@}xuYd7y;SKW{<9$~Y&qR0dkyNYuI5;#Wu?QcNhQvD z-L`h^y-h>ad1ugWq4lv@4oQIC;vvfy&l=`?&`b22aU>HCHI(Ymy?`D{NI4)bx`|zx zIHa9!>aw=Rj~eC3BHVk(@WHyJlPF1K+=>(yRZl$trZF?Z8_wFZX|rE1s5_^ujf5z? z`M@s&dhn=Poit&xw7QeEyQ|uV_$0xHpPq7}$hEe05|>fN#(_WA zbXxlESiMEXxF{Jp){5 zsuYE7+|n8LPC|X2c5C6|55glST(&)z?(S5p>)&mMws@=0i)NJLovn{_$ec6Ht&m2_ z+NN@44gSg9^|^W}{K;7d#LI8Fy3OL8GRk~a9K3C0g~db=iSU`z!dIWJYc(5v;pMlK zx3BpMqofUpy<`p%O*rxj52YtsM>kyk9F7 zaRb>6{MaZtf)>jAYs%rCX)Jy$&1nVx@7}Yl_ocM_>LwXR1&B2)b>WjAgRegAYVlrv z_a2QdFdxl$39Ymd9jQz>&#-$Slq!!2wteno#Dn)#4)tr@RA1YRwZj1|z8=i(;4k9h z-fk>xjo{~RDyNp=c(Ay!G^hNlrvMDsH{r?+scvlO#D*h_?ZuE9tiO2~{?p$VYz*qC zMVRdjZL6GZi{`EQE`P8S3*AO+86gQtB3%4a`1C0U`eM(}P4$O+1s(PQe6fQQg4y6l zWiJY4<~q#b&8zPH@gtKfOGg*o-=s{&)`Ky8|EHE=Ue|mID=4nX$|<0Amey(B@cvq@fFy1Ll;!S5ht+lAg;$l;4cHi1x~V(2ySvb3s1 zgqPhwufj4FkRU^(w)%?arCh&^LW^u)NygKJO6vop>)=!jL&0Xq3fd>7qTwS?~Kh}l@Gv0 zGQFw&C+_^?()vRM`0u( zF!oP+YB}JNewxw*931FL33{3+-9+f#p$4SN;&%hxi??*M2dzhfYY;7O*YV<&kQ!y& zI8Xh)m)3Q1-*s#vSCA?S7u_s&-NPS-L91XID_bS~gbHXo;5JR9C4G4-PhzRIrHPUz zuEafmr+^PFekbwP9$NZtQd@kzPU<$4=d^Vnq$&R!htY;#C~qt+f-Qtz2Z~(irb^y( zkxQPtrly6id*IMGhb*&q%Z`HL zAa`O1vTx_QU(g#rW||Ad?O6~Th<9*USxFCKoFDJ@fPu5#*a!oZh1hX=9BD~GLXs<4 ztc(%~W`R}~9ZC&2fY6C8X)MfjAQtGwcZlQnv-4i)1)42zp{Q!Z!8XoqCVfTQHzZ|5 zlodi$cK61K62;E?p;jFHAlSuMIvp1ys35Bou`bCuL|E!Pp3SBxHppHjaM0 z^^bE{nDaS6TO8n`w&Zw6J#pkH4Xq#da@*l#EUv2Nd&5HsL9ar_eabY-@iD%aS$9*1 zQBhlrQS#hn%TX-lzM*y3VPlut`qS7w(KU^=v33e|M_5{d4u0L(RVQPkWy6%^cIhTw z?D2z*O}?AudNB=p0o$M-MA~%Y@1$$@xlFsQaVOv9tBOA9DT-2gd$j(Au5-N8INk#u zN6yk?Lk+qS;$0rSvR8?h=45rPuP?3-x#&uvQ!M>}&a@5seq@#}n7VINgTI^ght3z6 zxVa#Xd@Y7DgLR;%<@Qcges_Syk5CN2e8Njf!gsgF%?2Qt>^+<&?Yk@{8vI)pF2Nnu z;r5-*yPLSy@p=s2n&ZTQ78|9PNC~9t>UG@h{^Cg7Hsj*>5Oi?2^u%RXnx7R1eb^_I zQO(gq@h*X2C(j29ZXNVvN=c+qYAhgdm(u3@i68=rgO^a%p>@j1%`GvmaetBjfRN zD^JZ8sKybER*Cw3UdHhGp1pVTt8G#+t#YfDdU54f-~css$|G!8axpGG&N*eRc zPGVlV6QIKs;Js}2StzV7myd8IFXYng{@DM8@?0G0RvfVs8Cks@XWEuMJ-C0f&&(&W g{=Y7F66{d^50_yzV+F~{s{jB107*qoM6N<$f`6?GApigX literal 0 HcmV?d00001 diff --git a/src/static/images/notice_icon.png b/src/static/images/notice_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..86454afd01f30dc5963cf2bf15734463fcfe888a GIT binary patch literal 5556 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 z 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 h@AdAv;yR Date: Thu, 16 Jan 2025 15:19:30 +0800 Subject: [PATCH 12/37] =?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 e58a2a1b21a6f9078e640009e47e617cca721f9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CDaisyWu=E2=80=9D?= <“18682150237@163.com”> Date: Thu, 16 Jan 2025 17:11:38 +0800 Subject: [PATCH 13/37] =?UTF-8?q?feat:=201,=E6=98=9F=E5=8B=A4:=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=8F=91=E5=B8=83=E6=A8=A1=E5=9D=97=E2=80=94=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E7=BC=96=E8=BE=91=E5=9B=BE=E7=89=87/=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E8=BD=AE=E6=92=AD=E9=A1=B5=E9=9D=A2UI=E5=B8=83?= =?UTF-8?q?=E5=B1=802,=E6=98=9F=E5=8B=A4:=E4=BF=A1=E6=81=AF=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=A8=A1=E5=9D=97=E2=80=94=E6=96=B0=E5=A2=9E=E7=B4=A0?= =?UTF-8?q?=E6=9D=90=E5=BA=93UI=E5=B8=83=E5=B1=803,=E6=98=9F=E5=8B=A4:?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=8F=91=E5=B8=83=E6=A8=A1=E5=9D=97=E2=80=94?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8F=91=E5=B8=83=E8=AE=A1=E5=88=92=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2UI=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/info-publish/edit-pic-video.vue | 161 ++++++++++++++++++ src/pages/info-publish/info-publish.vue | 4 +- src/pages/info-publish/material-library.vue | 8 +- .../info-publish/play-content-library.vue | 3 + src/pages/info-publish/release-plan.vue | 138 +++++++++++++++ .../images/icon_publish_control_grey.png | Bin 0 -> 2787 bytes src/static/images/icon_publish_home_blue.png | Bin 0 -> 2348 bytes 7 files changed, 308 insertions(+), 6 deletions(-) create mode 100644 src/pages/info-publish/edit-pic-video.vue create mode 100644 src/pages/info-publish/release-plan.vue create mode 100644 src/static/images/icon_publish_control_grey.png create mode 100644 src/static/images/icon_publish_home_blue.png diff --git a/src/pages/info-publish/edit-pic-video.vue b/src/pages/info-publish/edit-pic-video.vue new file mode 100644 index 0000000..c5f10fb --- /dev/null +++ b/src/pages/info-publish/edit-pic-video.vue @@ -0,0 +1,161 @@ + +{ + layout: 'default', + style: { + navigationStyle: 'custom' + } +} + + + + + + + diff --git a/src/pages/info-publish/info-publish.vue b/src/pages/info-publish/info-publish.vue index 8ffd9ec..bfa945d 100644 --- a/src/pages/info-publish/info-publish.vue +++ b/src/pages/info-publish/info-publish.vue @@ -69,7 +69,7 @@ title: '发布计划', description: '设置播放内容与时间规则同步到设备', icon: '/static/images/plan_icon.png', - path: '/pages/info-publish/plan' + path: '/pages/info-publish/release-plan' }, { title: '公告管理', @@ -87,7 +87,7 @@ }, { title: '屏幕控制', - icon: 'screen' + icon: 'home' } ]) diff --git a/src/pages/info-publish/material-library.vue b/src/pages/info-publish/material-library.vue index 23d1d16..3cb02b3 100644 --- a/src/pages/info-publish/material-library.vue +++ b/src/pages/info-publish/material-library.vue @@ -94,25 +94,25 @@ // 素材列表数据 const materialList = ref([ { - icon: '/static/images/house_resource.png', + icon: 'https://file.hikmall.com/prod/image/885eb6ac104e4a76941e67eb738142ec.png', name: 'house_resource.png', id: 'HikMall_30013234', time: '2024-12-26 15:11:18' }, { - icon: '/static/images/app_icon.png', + icon: 'https://file.hikmall.com/prod/image/885eb6ac104e4a76941e67eb738142ec.png', name: 'app_icon.png', id: 'HikMall_30013234', time: '2024-12-26 15:10:37' }, { - icon: '/static/images/home.png', + icon: 'https://file.hikmall.com/prod/image/885eb6ac104e4a76941e67eb738142ec.png', name: 'home.png', id: 'HikMall_30013234', time: '2024-12-26 15:05:10' }, { - icon: '/static/images/lock.jpg', + icon: 'https://file.hikmall.com/prod/image/885eb6ac104e4a76941e67eb738142ec.png', name: '锁通通 2.jpg', id: 'HikMall_30013234', time: '2024-12-26 15:05:10' diff --git a/src/pages/info-publish/play-content-library.vue b/src/pages/info-publish/play-content-library.vue index 45a4045..ae1602f 100644 --- a/src/pages/info-publish/play-content-library.vue +++ b/src/pages/info-publish/play-content-library.vue @@ -89,6 +89,9 @@ const handleEdit = () => { // 实现编辑逻辑 + uni.navigateTo({ + url: '/pages/info-publish/edit-pic-video' + }) } const handleDelete = () => { diff --git a/src/pages/info-publish/release-plan.vue b/src/pages/info-publish/release-plan.vue new file mode 100644 index 0000000..1d74a88 --- /dev/null +++ b/src/pages/info-publish/release-plan.vue @@ -0,0 +1,138 @@ + +{ + layout: 'default', + style: { + navigationStyle: 'custom' + } +} + + + + + + + diff --git a/src/static/images/icon_publish_control_grey.png b/src/static/images/icon_publish_control_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..251043099c83741b50803109b51cc15e7dab61c6 GIT binary patch literal 2787 zcmV<93LN!`P)P00009a7bBm000XU z000XU0RWnu7ytkYl}SWFRA_S3>2S!w_%U8jkX-2MC$*ZszWe`GQ&VGv;eolz%F2EH{r%+r{(iDNKT}iF zhbK>d={4T>T`siCmaVCkm6h(&?K5V~D73e?&ttRS%hES6s9m&x-Ua|w)qiUJ@kfne zc6Rob+qZAqzJC4MT>9FTD_5QQ&xL>cObYbj(6B?9nVDNb%p8}^X6FP11VrfS$j{cF zwftET5fPCE1^H{GW9-`X$=3n?zGucvEffle99OgQtW6kZB_<3rq3Bpp?D@KkqG_9UmW``0f96&r~!i`}g^rb8~Y~ z0>G6>6zkl%bKVMPcu+&2Irr`xKdySbM6zx5>eWAaf9jbcD**S`M+WH`nf5>Yczczg zrCnwc4u=HCo0^(Elx%zO;K8cWM-}u5flg0PcZXD#_wL&tEA98kpF9l@Pw!Li?(W%P zVPQ9XeSPn(UvGW?P{@(PvTn3@@7{PwWE%kUa$4HQ69QdOP+%o#Gnvf$OjF}pX}^Gg zz{G-r{C$vkK%r2`%F4?6V7G@?qO`x&8jDh+#YUC#?lmUpmevk(M@NUIWSfnR?GMry z9XlSkue`j>beNb-4u@lP^2^hn(jB%NY_Ch&O-)U-F)$OM`3(&;NKFoOI-QW^J3r+! zQ&N(5iTqSlRN&#^0Y^ti0(fdl>LW3l04Jg#~S0BCP-*WAA2le5*;)k`Q8O4rJjt2jPBJ|{1Io3d*xup-Hv42Dxr zPtQzATU%Rah>y08wxr1{E-v-zO;PI2+4yhe&S>6tb&V-n8q-MdHVS5i{K>({SECiB9D^IlXc zrR(|g=d&s*DjDGD~u6-AOG+N49zoHg^7i(Inz}kHEdP#o-+fn}E3>e$(EG@dBQd}< z40$4v$z;scelw=)>go>hF)=ZLii(QZ=5PwEa`SGkoz_gtQ)FZmzDY{P<@9tYDJhAX znfHr|EdP?w>gwvS9jqAXbbXkczuAeXep0>oF9}VhQYEts4Gj(P`OB9tRSBcVjhjEL zPD@MsxTK`S{MD;hs&nVgZFF#O$a8hwnqs)fplviaG%;b|mtTGX0O;uG5NoOhkpjB9x`NNIM_pYVJU#b-ERnGZg--nH z>`rN5N%g$wu?!FY;+lbh!H5Ah=gdLa7vVDds8ovhoI;^U^^)G4kw}myaKF|(MMpdSb;;I9|Vs_tQ?h<6|Vx6m6eA80{~e`3C^1~ zjVcDYv9Uos6)k76Fhf;!h?B9gF;Y`6!rtDV&@QiPn@lOso~_v-GRn)#(AU=|GlNt$ zH5`qM!n$?VxO3+=Y;0`7Shj3RVMQV@UAp9v$Y^hG$K9WQmV1HS#*H`{83h|#+ewET zPGlP!o0}>sDutqkgoH2A`Rv)W0gXoFw~ZDFKK#%v1%o?3JRT2+4t%A(9lr4qsifLkeGOS`lv>bxL}HlkN0`&t+&Mg>q|~f#;uz-riW?-iJ^@Q7qmu4 zNBfb ziw+JBIT!?QXlOuiaFFDRdDU`RZpp+_O6ls=tLW?N6Pa8F zgTYm3v&PcGygV>4=qLz3%s|vUc{0JM0}?bhy~46b+u7bQ^)}x-J3D9S>SzsHCrk>ow3-EN p${o)-WWLlSkg(Wreybw!{tu=RLuL8D#GwEH002ovPDHLkV1i{_WS#&3 literal 0 HcmV?d00001 diff --git a/src/static/images/icon_publish_home_blue.png b/src/static/images/icon_publish_home_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..c4fbb9904442a31d2031e9ea546086203d1f66b6 GIT binary patch literal 2348 zcmV+{3Dfq8P)j{00009a7bBm000XU z000XU0RWnu7ytkW-bqA3RA_rW%cbP--N` zm?#o_q7e}xK3Wmf9-{S>YTBy77&Q`4R9+UNCLYs9Ek)dAf)tIfSS^SkM^QwKB0;0> z?9NR8&`Gw-zL^EJpTF4O+`V@`%$+-Te)ldBMG^lG)HRx(si+ns6*NqfB9%n|KpuDb zng)}9eyNc1&+qsVyg;G>u!El`CpOPjrz<-9PTZ`9F5@mG!2;JOiI}@U-}vC}Oz1a=ZZMv5`N0fz#v}#H7+Q!mmZxmj(bICGKjU zW11d$`BQb=bGZf~<(o<|5vX+105VETNcTJN5XtLLaf5R7LQ>^ru|K>ZEujl~h~y8PmB#LZ#mcjUX=f`oQp0f!Z;6B=(K5HdWn7#hWyljuLZIaqo4%5{^Nnq$V*7WeDv)&aTlNmoDgk2RlFp`E3T{n7@7_ zBz)hBXCdR{r0Y}Iy(U4C_Cg=#5&$eJFmI@7^gQ3Fv+D9dJLK~Y8e>5B9rq0CRYwEf4ph?RTzCC*k_JVB?yIeW(xCu&W7@0s8uccZolcpAIb z&QQ$P^9gOC;%WmMzvKz8_nBT-o(p$71#(ZDc_K+UTPVvyl4tc%jeg7`^nNL zfV$}DI3@it|7}(N*160~tp=MQPcLBK8cgl87O!bA`KRWZH?-ct7#Z4dh^^OHODM|^ zFZ5w9ZBO@^Gk-L-&PR!&cC^dB8%1qf5wH5tGI+7ccqGDLY{$0GH6zj>3|pkh$$ZrfTn20Oqz&w0Cb5(2}Lcj!OA^GaKB zOJ+u^b{8&COnN2MtsJ7uGdqb6o8b|_kP%C*v|N>SMBg4v%f|QA?=PQBFY|vAdz_WG zwbjfS9Wu!wfZ=zs^y&!_D!04xPdUUPj&q0+TB_XLx@DJt`U%ov`I!KQ#p9^elU`MN zybciHrw}qHtJh?w(6fUBNShp@uNwQOyh`P}Td(YCtO5fU^YLCj4L}qD3=7B7S@BWI z{j#>9=VJ6{gy`nm@b4E$s^^ZP)=S&g+`%h3JpCzdQ0-MQG(t;QSJFwH#eV^HK~_=P Sdm~l=0000 Date: Thu, 16 Jan 2025 18:38:45 +0800 Subject: [PATCH 14/37] =?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 @@ @@ -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 27/37] =?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 28/37] =?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 29/37] =?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 30/37] =?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 31/37] =?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 @@