commit 0e61ff5f8d1e301cf6436a390f6412d2b0117d21 Author: Mehdi104797 <92753457+Mehdi104797@users.noreply.github.com> Date: Mon Apr 21 11:49:42 2025 +0330 add files diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..8a040a9 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "workbench.colorCustomizations": { + "activityBar.background": "#452236", + "titleBar.activeBackground": "#61304C", + "titleBar.activeForeground": "#FCF9FB" + } +} \ No newline at end of file diff --git a/apis/taskApi.js b/apis/taskApi.js new file mode 100644 index 0000000..806c421 --- /dev/null +++ b/apis/taskApi.js @@ -0,0 +1,34 @@ +export default { + workingHours: { + list: "general/get", + load: "general/load", + add: "general/add", + taskAdd: "details/add", + taskEdit: "details/edit", + day: "details/page/day", + delete: "details/delete", + deleteHours: "general/delete/time", + complitionAll: "details/complition/title", + complition: "details/complition/title/{{query}}", + copy: "general/copy", + move: "general/move", + }, + taskChart: { + donut: "chart/getCategory", + }, + taskTeams: { + getList: "group/list", + delete: "group/delete ", + edit: "group/edit ", + add:"group/add", + members:"perm/list", + addMembers:"perm/add", + deleteMembers:"perm/delete", + editMembers:"perm/edit", + }, + taskReport: { + getList: "general/getList", + groupList:"group/list", + sortgroup:"general/load/group", + }, +}; diff --git a/assets/task/scss/components/_mian.scss b/assets/task/scss/components/_mian.scss new file mode 100644 index 0000000..7bec83c --- /dev/null +++ b/assets/task/scss/components/_mian.scss @@ -0,0 +1,568 @@ +.main-page__content { + // height: calc(100dvh - 68px); + height: calc(100% - 70px); + min-height: calc(100% - 70px); + margin-right: var(--sidebar-collapsed-width); + display: flex; + + .menu-bar__content { + position: static !important; + flex: 1 1 100%; + max-width: 30em; + // max-width: 20em; + width: auto; + // min-width: 40em; + + &.show-list-panel { + right: 0 !important; + } + .date-picker { + .vpd-input-group { + .vpd-icon-btn { + height: 1.8em; + } + // .form-control { + // width: 18em; + // } + } + } + .alert { + display: flex; + + border-radius: 0.25em !important; + margin-bottom: 0.5em !important; + &-secondary { + margin-top: 1em; + } + &-light { + } + } + .card { + border-radius: 0.25em !important; + display: flex; + &-header { + display: flex; + } + &-body { + display: flex; + justify-content: space-between; + } + } + + .btn:hover { + text-decoration: none; + } + + .year-dropdown { + margin-right: 1em; + } + .mounth-dropdown { + margin-right: 1em; + } + + .group-item { + .group-row { + .group-picture-container { + .group-picture.mini-mode { + display: none; + } + .group-picture { + display: inline; + } + } + } + } + + .groups-header { + .left-icons { + color: #bdc6d0; + } + } + } + #accordionExample { + // max-height: 51em !important; + max-height: calc(100dvh - 13em)!important; + + overflow: auto !important; + } + .rotate-icon { + transform-origin: center center; + transition: transform 0.3s ease; /* افکت دوران با سرعت 0.3 ثانیه */ + } + + .rotate-icon.rotated { + transform: rotate(-90deg); + } + .main-page { + &_header { + display: flex; + // margin-top: 1em; + } + &_total { + border: 1px rgb(223 223 223) solid; + border-radius: 0.25em !important; + font-size: 1.2rem; + padding: 1em; + + &-1 { + display: flex; + justify-content: space-between; + &_a { + color: var(--color-items-4); + } + &_b { + color: var(--color-items-5); + } + } + &-2 { + display: flex; + justify-content: space-between; + &_a { + color: var(--color-items-4); + } + &_b { + color: var(--color-items-3); + } + } + } + &_date { + border-radius: 0.25em !important; + // padding: 1em; + &-daysweek { + font-size: 1.3rem; + color: var(--color-items-5); + margin-bottom: 2em; + } + &-icon-left { + display: flex; + align-items: flex-end; + justify-content: center; + } + &-icon-right { + display: flex; + align-items: flex-end; + justify-content: center; + } + #typeNumber { + font-size: 1rem; + color: var(--color-items-5); + } + .form-control { + border-radius: 0.5em !important; + height: calc(2em + 0.35rem + 2px) !important; + padding: 0.5em; + width: 6em; + &.multiselect { + border: 1px solid var(--primary-color); + width: 14em; + } + } + } + + &_body { + // border: 1px rgb(223 223 223) solid; + height: 30em; + margin-top: 1em; + + border-radius: 0.25em; + // &-form-outline{ + // max-height: 4em !important; + // overflow: auto !important; + // } + + // .tasks_form { + // min-height: 18em; + // height: auto; + // overflow-y: auto; + // max-height: calc(100vh - 30em); + // } + + &-items { + height: 3.5em; + &-move-copy { + display: flex; + flex-direction: row; + justify-content: center; + .date-picker { + input { + display: none !important; + } + svg { + display: none !important; + } + .vpd-icon-btn { + padding: unset !important ; + + background-color: unset !important; + margin-bottom: unset !important; + } + // :hover { + // color: #6acfef; + // transition-duration: 0.3s; + // } + } + } + .task-form-control { + border: unset; + + border-radius: unset !important; + &.Description { + border-left: unset !important; + text-align: center; + direction: rtl; + } + &.task-title { + text-align: center; + direction: rtl; + } + } + // &.record{ + // cursor: pointer; + // } + &-icon { + // font-size:2rem; + color: var(--color-items-3); + display: flex; + justify-content: flex-end; + &-record { + color: var(--color-items-6); + justify-content: center; + + display: flex; + font-size: 1.5rem; + height: 2.5em; + } + &-close { + color: unset !important; + } + &-add { + color: var(--color-items-2); + } + } + &-text-record { + color: var(--color-items-6); + } + &-first { + background-color: #f7fafe; + border: 1px rgb(223 223 223) solid; + } + .label-0 { + display: flex; + border-left: 1px var(--color-items-7) solid; + align-items: center; + height: 2em; + justify-content: center; + } + .label-1 { + display: flex; + + align-items: center; + height: 2em; + justify-content: center; + } + .label-2 { + display: flex; + height: 2em; + border-left: 1px var(--color-items-7) solid; + border-right: 1px var(--color-items-7) solid; + align-items: center; + justify-content: center; + z-index: 9; + } + .label-3 { + display: flex; + height: 2em; + justify-content: center; + border-left: 1px var(--color-items-7) solid !important; + border-right: 1px var(--color-items-7) solid; + align-items: center; + } + .label-Description { + display: flex; + height: 2em; + justify-content: center; + align-items: center; + } + .label-4 { + display: flex; + height: 2em; + justify-content: space-between; + align-items: center; + padding-left: 0 !important; + } + &.labels { + background-color: #f1f1f1; + font-size: 1.3rem; + margin-left: 0 !important; + } + &.items { + color: var(--color-items-4); + &-bottom { + border-top: unset; + } + &-top { + border-bottom: unset; + } + } + + &.total { + background-color: #f1f1f1; + font-size: 1.5rem; + } + .total-all-text { + color: var(--color-items-4); + } + .total-all-number { + color: black; + font-weight: bold; + font-size: 2rem; + } + .indecisive { + color: var(--color-items-4); + &-number { + color: var(--color-items-3); + font-weight: bold; + font-size: 2rem; + } + } + } + &-icon { + font-size: 2rem; + color: var(--color-items-2); + display: flex; + justify-content: flex-end; + &-close { + font-size: 2rem; + color: var(--color-items-3); + display: flex; + justify-content: flex-end; + } + &-add { + font-size: 1.5rem; + } + } + .items-form-control { + width: 6em; + margin-right: 1em; + border-radius: 0.5em !important; + height: calc(2.2em + 0.35rem + 2px) !important; + margin-right: 0.2em; + } + .form-label { + margin-top: 0.5em; + color: var(--color-items-4); + margin-left: 8em; + } + } + .alert { + display: flex; + border: 1px rgb(223 223 223) solid; + border-radius: 0.25em !important; + margin-bottom: 0.5em !important; + &-secondary { + } + &-light { + } + } + } + .coolinput { + display: flex; + flex-direction: column; + width: fit-content; + position: relative; + max-width: 240px; + } + + .coolinput label.text { + font-size: 0.75rem; + color: var(--color-items-4); + font-weight: 700; + position: absolute; + top: 0.5rem; + margin: 0 0 0 3em; + padding: 0 3px; + background: #fff; + width: auto !important; + + top: -0.8em; + right: 2em; + white-space: nowrap; + padding: 0 0.5em; + } + + .coolinput input[type="text"].input { + padding: 11px 10px; + font-size: 1rem; + border: 1px #eee solid; + border-radius: 5px; + background: #fff; + } + + .coolinput input[type="text"].input:focus { + outline: none; + } + input { + text-align: center; + direction: ltr; + } + .multiselect { + input { + text-align: right !important ; + direction: ltr; + } + &-lable { + width: 5em !important; + color: var(--color-items-5); + background-color: #fff; + z-index: 99; + margin: 0 0 0 10em !important; + font-size: 0.58rem; + } + } + .task-Form-Organ { + border-left: 1px var(--color-items-7) solid !important; + } + // .tasks_form{ + // max-height: 20em; + // overflow: auto; + // } + + // .right-section-mobile{ + // // position: fixed; + // // z-index: 99; + // // top: 0; + // // right: -20em; + // // height:80% ; + // // -webkit-box-shadow: -5px 0 6px 0 #666; + // // box-shadow: -5px 0 6px 0 #666; + // // width: 30em; + // // background-color: #fff; + // } + .btn-copy { + font-size: 1rem; + width: 14em; + height: 35px; + display: flex; + align-items: center; + justify-content: flex-start; + border: none; + border-radius: 4px; + overflow: hidden; + box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.164); + cursor: pointer; + } + .btn-move { + font-size: 1rem; + width: 14em; + height: 35px; + display: flex; + align-items: center; + justify-content: flex-start; + border: none; + border-radius: 4px; + overflow: hidden; + box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.164); + cursor: pointer; + } + .text-move { + width: 90%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + // color: white; + background-color: rgb(2, 153, 153); + } + .text-copy { + width: 90%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + // color: white; + background-color: #196f93; + } + .svgIcon-move { + width: 20%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + background-color: teal; + color: white; + } + .svgIcon-copy { + width: 20%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + background-color: #004761; + color: white; + } + .btn-move:hover .text-move { + background-color: rgb(0, 133, 133); + transition-duration: 0.3s; + } + .btn-copy:hover .text-copy { + background-color: #03688d; + transition-duration: 0.3s; + } + + .btn-move:hover .svgIcon-move { + background-color: rgb(0, 105, 105); + transition-duration: 0.3s; + } + .btn-copy:hover .svgIcon-copy { + background-color: #015370; + transition-duration: 0.3s; + } +} +.card-header { + padding: 0.65rem 0.35rem !important; + &_titles { + &-icon { + font-size: 0.6rem; + } + &.text-1 { + color: var(--color-items-1); + padding-right: unset !important; + padding-left: unset !important; + } + &.text-2 { + color: var(--color-items-1); + // margin-right: 4em; + // margin-left: 4em; + padding-right: unset !important; + padding-left: unset !important; + } + &.text-3 { + color: var(--color-items-2); + padding-right: unset !important; + padding-left: unset !important; + } + &.text-4 { + color: var(--color-items-3); + // margin-right: 4em; + padding-right: unset !important; + padding-left: unset !important; + + // margin-left: 4em; + } + &.text-5 { + color: var(--color-items-3); + // margin-left: 4em; + } + &.tavasi { + font-size: 1.5rem; + // margin-right: auto; + } + } + &_items { + display: flex; + justify-content: space-between; + + &.item-1 { + } + } +} diff --git a/assets/task/scss/components/_responsive.scss b/assets/task/scss/components/_responsive.scss new file mode 100644 index 0000000..699a9b9 --- /dev/null +++ b/assets/task/scss/components/_responsive.scss @@ -0,0 +1,267 @@ +@media (max-width: 575.98px) { + .form-outline2 { + padding-right: unset !important; + padding-left: unset !important; + max-width: 4em !important; + } + .main-page_header { + margin-top: 0 !important; + flex-direction: column-reverse !important; + } + .main-page_body-items-move-copy { + display: flex; + flex-direction: column; + align-items: center; + } + .main-page_date .form-control { + border-radius: 0.5em !important; + height: calc(2em + 0.35rem + 2px) !important; + padding: 0.5em; + width: 4em; + } + .breadcrumbs{ + display: none; + } +} + +// @media only screen and (min-width: 576px) and (max-width: 767.98px) { +// .main-page_header { +// max-height: 10em; +// } +// } +@media only screen and (min-width: 768px) and (max-width: 991.98px) { +} + +@media only screen and (min-width: 992px) and (max-width: 1049.98px) { +} + +@media only screen and (min-width: 1050px) and (max-width: 1399.99px) { +} +@media (min-width: 1400px) { +} +@media (max-width: 1400px) { + .menu-bar__content { + display: none; + } + // .multiselect-lable{ + // display: none; + // } +} +@media (min-width: 992px) { +} +@media (max-width: 992px) { + .menu-bar__content { + display: none; + } +} +@media (max-width: 768px) { + .hiddens { + display: none !important; + } + .main-page_total { + font-size: 1rem !important; + height: 6em; + } + .icon { + width: 1em !important; + } + .main-page_body .form-label { + margin-right: 0.5em !important; + } + .main-page_header { + flex-direction: column-reverse !important; + } + .items-form-control { + width: 5em !important; + } + .total-all-number, + .indecisive-number { + font-size: 1rem !important; + font-weight: bold; + } + .hours-form { + height: 5em !important; + border-radius: 0.5em; + } + .main-page_body-items.labels { + display: none !important; + } + .main-page_body-items .label-1 { + border-right: 1px var(--color-items-7) solid !important; + } + .main-page_body-items .label-3 { + } + .task-form-control { + border-left: unset !important; + } + // .coolinput input[type="text"].input { + // font-size: 0.75rem !important; + // } + .coolinput { + padding-right: unset !important; + padding-left: unset !important; + } + .row { + &-basic { + display: none !important; + } + } + .form-label { + margin-top: 0.5em; + color: var(--color-items-4); + margin-left: 2em !important; + } + .main-page_date-daysweek { + font-size: 1.5rem !important; + } + .icon-Component-358--1 { + width: 1.5em !important; + } + .icon-Component-359--1 { + width: 1.5em !important; + } + .coolinput label.text { + margin: 0 0 0 2em; + } + .tribute-container.mini { + width: 18em; + } + .multiselect__single { + font-size: 1rem !important; + font-weight: bold !important; + } + .form-outline { + &.day { + margin-left: 0.5em; + } + &.year { + margin-right: 2.5em; + } + } + .multiselect { + &.template { + border: 3px solid rgb(127, 170, 170); + padding: 0.7em !important; + width: 15em; + } + &-lable { + margin: 0 0 0 10em !important; + } + } + .multiselect__content-wrapper { + z-index: 99; + left: 0; + } + .main-page_body-items.total { + font-size: 1rem !important; + font-weight: bold; + } + .main-page_body-items-move-copy.in-desktop { + display: none !important; + } + .btn-copy { + width: 4em !important; + } + .btn-move { + width: 4em !important; + } + .svgIcon-move { + width: 0% !important; + } + .svgIcon-copy { + width: 0% !important; + } + .text-move { + width: 100% !important; + } + .text-copy { + width: 100% !important; + } + .prevDay, + .nextDay { + display: none !important; + } + .main-page_date { + display: flex !important; + flex-direction: column !important; + } + .form-control.multiselect { + width: 26em !important; + } + .task-dashboard { + .my-card { + &.Gantt { + margin-top: 1.5em !important; + } + } + } + .pages-content-container { + margin-right: 0 !important; + padding-right: 0 !important; + padding-left: 0 !important; + } + .pages-content { + margin-top: 0 !important; + margin-left: 0 !important; + margin-right: 0.8em !important; + } + .selects { + margin-right: 0 !important; + } + .jahat-pagination { + display: flex; + flex-direction: column !important; + } + .table-responsive { + max-height: calc(100dvh + -18.5em) !important ; + + } + .page-border-top { + justify-content: flex-start !important; + } + .all-selects { + flex-direction: column !important; + } + .grouping, + .form-sorting_user { + display: none !important; + } + + // .tasks_form{ + // max-height: 20em; + // overflow: auto; + // } + + // .main-page_date{ + // padding-right: unset !important; + // padding-left: unset !important; + // } + // .main-page_header{ + // padding-right: unset !important; + // padding-left: unset !important; + // } +} +@media (min-width: 768px) { + .hiddens { + display: inline-block !important; + } + .row { + &-mobile { + display: none !important; + } + } + .task-navbar { + display: none; + } + .main-page_body-items-move-copy.in-mobile { + display: none !important; + } +} +// .tasks_form{ +// max-height: 28em; +// overflow: auto; +// } + +// .avatar{ +// display: none !important +// } diff --git a/assets/task/scss/components/_variabels.scss b/assets/task/scss/components/_variabels.scss new file mode 100644 index 0000000..e69de29 diff --git a/assets/task/scss/components/multiselect.scss b/assets/task/scss/components/multiselect.scss new file mode 100644 index 0000000..b5ae1d8 --- /dev/null +++ b/assets/task/scss/components/multiselect.scss @@ -0,0 +1,60 @@ +.multiselect__tags { + border: unset !important; + +} +.multiselect__content-wrapper { + z-index: 99; + // right: -0.6em; + // width: 24em; + // max-height: 30em !important; +} +// .multiselect__select{ +// left: 1.5em !important; +// } + +// +// +// diff --git a/assets/task/scss/task.scss b/assets/task/scss/task.scss new file mode 100644 index 0000000..13fd809 --- /dev/null +++ b/assets/task/scss/task.scss @@ -0,0 +1,7 @@ +@import "./components/_variabels"; + +.task-system { + @import "./components/mian"; + @import "./components/responsive"; + @import "./components/multiselect"; +} diff --git a/components/AddMemberToTeamModal.vue b/components/AddMemberToTeamModal.vue new file mode 100644 index 0000000..c0ecd61 --- /dev/null +++ b/components/AddMemberToTeamModal.vue @@ -0,0 +1,668 @@ + + + + + + + + + + انتخاب عضو + + + + + + + + + + + + + {{ user.full_name }} + + @{{ user.username }} + + + + + + دسترسی + + + {{ role.title }} + + + + + + + + + + + + + + + + + diff --git a/components/HoursForm.vue b/components/HoursForm.vue new file mode 100644 index 0000000..3cb1f05 --- /dev/null +++ b/components/HoursForm.vue @@ -0,0 +1,270 @@ + + + + + ورود : + + + + خروج : + + + + غیرمفید : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/components/MainSection.vue b/components/MainSection.vue new file mode 100644 index 0000000..2289b80 --- /dev/null +++ b/components/MainSection.vue @@ -0,0 +1,863 @@ + + + + + + + + {{ weekDay }} + + + + + + + + بعدی + + + + روز: + + + + ماه: + + + + سال: + + + + + قبلی + + + + + + + + + + + جستجوی کاربر: + + + + + + + + + + + + + + + + سازمان + *دسته + *عنوان + *مدت + چالش،پیشنهاد،توضیح + + + + + + + + + + + رکورد جدید + + + + جمع کل : {{ sum }} + + بلاتکلیف : {{ noWork }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/components/MembersSearch.vue b/components/MembersSearch.vue new file mode 100644 index 0000000..e17e917 --- /dev/null +++ b/components/MembersSearch.vue @@ -0,0 +1,450 @@ + + + + + + + + + + + + + + + + + + + + نام و نام خانوادگی + دسترسی + حذف + + + + + {{ list.description }} + + + + + {{ list.perm }} + + + {{ role.title }} + + + + + + + + + + + + + + + + + + + diff --git a/components/Navbar.vue b/components/Navbar.vue new file mode 100644 index 0000000..dbe7e9b --- /dev/null +++ b/components/Navbar.vue @@ -0,0 +1,146 @@ + + + + + + + باز کردن منوی کنار + + + + + + + + + + + + + + + + + + + + + + + diff --git a/components/RightSection.vue b/components/RightSection.vue new file mode 100644 index 0000000..be1a283 --- /dev/null +++ b/components/RightSection.vue @@ -0,0 +1,400 @@ + + + + + + خالص ماهانه :{{ useFullTime }} + + + کل ماهانه :{{ allTime }} + + + میانگین روزانه:{{ dailyAve }} + + + + + + + + + + + + + + + + + + + + + + + + روز + تاریخ + + + جمع کل + + + بلاتکلیف + + + + + + + + + + + + + + + {{ getDayOfWeekFromTimestamp(items.taskDate) }} + + {{ + items.oldDate + }} + + + {{ items.minuteDay }} + + + {{ items.noWork }} + {{ + items.noWorkTime + }} + + + + + + + + + مدل سازی + اجرائیات + 120 + + {{ items.description }} + + + + + + + + + diff --git a/components/SortingByDayTasksAdmin.vue b/components/SortingByDayTasksAdmin.vue new file mode 100644 index 0000000..427e3b2 --- /dev/null +++ b/components/SortingByDayTasksAdmin.vue @@ -0,0 +1,141 @@ + + + + + + + + + {{ getDayOfWeekFromTimestamp(listItem.taskDate) }} + + {{ + listItem.oldDate + }} + + {{ listItem.minuteDay }} + + {{ listItem.noWork }} + + + + + + + {{ taskItem.category }} + + {{ taskItem.title }} + {{ + taskItem.duration + }} + + + + + + + + + + + + diff --git a/components/SortingTasksAdmin.vue b/components/SortingTasksAdmin.vue new file mode 100644 index 0000000..0ea2c9c --- /dev/null +++ b/components/SortingTasksAdmin.vue @@ -0,0 +1,104 @@ + + + + + + + + {{ item.label }} + + + + + + + + + + + {{ getValue(item, col.key) }} + + + + + + + + + + + diff --git a/components/TaskForm.vue b/components/TaskForm.vue new file mode 100644 index 0000000..a5dccaf --- /dev/null +++ b/components/TaskForm.vue @@ -0,0 +1,493 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/components/TaskGroupReport.vue b/components/TaskGroupReport.vue new file mode 100644 index 0000000..007891e --- /dev/null +++ b/components/TaskGroupReport.vue @@ -0,0 +1,772 @@ + + + + + + ماه: + + + {{ getPersianMonthName(month) }} + + + + + سال: + + + {{ year }} + + + + + تیم ها: + + همه + + {{ item.title }} + + + + + + + + گروه بندی: + + بدون گروه بندی + روز + دسته + عنوان + سازمان + + + + + + + + + + + + + + + + + + + + + + عدم دسترسی + + + + + + + + + + + + + + + + + + + diff --git a/components/TaskLayout.vue b/components/TaskLayout.vue new file mode 100644 index 0000000..73b8c23 --- /dev/null +++ b/components/TaskLayout.vue @@ -0,0 +1,40 @@ + + + + + + + diff --git a/components/TaskUserReport.vue b/components/TaskUserReport.vue new file mode 100644 index 0000000..450565a --- /dev/null +++ b/components/TaskUserReport.vue @@ -0,0 +1,912 @@ + + + + + + + + ماه: + + + {{ getPersianMonthName(month) }} + + + + + سال: + + + {{ year }} + + + + + تیم ها: + + همه + + {{ item.title }} + + + + + + + گروه بندی: + + بدون گروه بندی + روز + دسته + عنوان + سازمان + + + + + + + + + + + + + + + + + + + + + + + + + + + عدم دسترسی + + + + + + + + + + + + + + + + + + diff --git a/components/TeamForm.vue b/components/TeamForm.vue new file mode 100644 index 0000000..5bc8a0e --- /dev/null +++ b/components/TeamForm.vue @@ -0,0 +1,135 @@ + + + + + + عنوان: + + + + + + + سازمان: + + + + + انصراف + + + + + + {{ $t("Update") }} + + + {{ $t("Save") }} + + + + + + + + + + diff --git a/json/menu.json b/json/menu.json new file mode 100644 index 0000000..de78623 --- /dev/null +++ b/json/menu.json @@ -0,0 +1,46 @@ +{ + "tasks": [ + { + "color": 5, + "icon": "Home-21", + "link": "defaultRoute", + "title": "پیشخوان", + "translateKey": "Dashboard" + }, + { + "color": 5, + "icon": "projects", + "link": "taskDashboard", + "title": "پیشخوان مدیریت وظایف", + "translateKey": "TaskDashboard" + }, + { + "color": 5, + "icon": "task-list", + "link": "taskTimes", + "title": "ساعات", + "translateKey": "TaskTimes" + }, + { + "color": 5, + "icon": "task-time", + "link": "taskList", + "title": "وظایف", + "translateKey": "TaskList" + }, + { + "color": 5, + "icon": "groups", + "link": "teams", + "title": "تیم ها", + "translateKey": "Teams" + }, + { + "color": 5, + "icon": "portal-roles", + "link": "taskReport", + "title": "گزارش وظایف", + "translateKey": "taskReport" + } + ] +} diff --git a/json/teamListTableAction.json b/json/teamListTableAction.json new file mode 100644 index 0000000..cc86fd5 --- /dev/null +++ b/json/teamListTableAction.json @@ -0,0 +1,56 @@ +[ + + + { + "showOutside": false, + + "show": true, + "icon": "Component-242--1", + "title": "ویرایش", + "to": { + "name": "undefined" + }, + "selected": false, + "disabled": false, + "howToOpen": "", + "href": "", + "class": "edit-btn", + "action": "edit-table-item", + "can": "forms_edit" + }, + + { + "showOutside": false, + + "show": true, + "icon": "Component-295--1", + "title": "حذف", + "to": { + "name": "undefined" + }, + "selected": false, + "disabled": false, + "howToOpen": "", + "href": "", + "class": "delete-btn", + "action": "delete-table-item", + "can": "forms_delete" + }, + { + "showOutside": false, + + "show": true, + "icon": "groups", + "title": "اعضا", + "to": { + "name": "undefined" + }, + "selected": false, + "disabled": false, + "howToOpen": "", + "href": "", + "class": "", + "action": "select-list-columns", + "can": "form_select-list-columns" + } + ] \ No newline at end of file diff --git a/pages/Task.vue b/pages/Task.vue new file mode 100644 index 0000000..179c56a --- /dev/null +++ b/pages/Task.vue @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pages/TaskDashboard.vue b/pages/TaskDashboard.vue new file mode 100644 index 0000000..9ed4d84 --- /dev/null +++ b/pages/TaskDashboard.vue @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + + + Completed tasks + + 28tasks completed + + + + + + Incomplete tasks + + 14to be done + + + + + + + + Total tasks by assignee + + + + + + Timeline + + + + + + + + + + Cumulative flow + + + + + + + + + + + + + diff --git a/pages/TaskReport.vue b/pages/TaskReport.vue new file mode 100644 index 0000000..27ffbfe --- /dev/null +++ b/pages/TaskReport.vue @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + {{ navItem.title }} + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pages/TaskTeams.vue b/pages/TaskTeams.vue new file mode 100644 index 0000000..2b0b647 --- /dev/null +++ b/pages/TaskTeams.vue @@ -0,0 +1,598 @@ + + + + + + + + + + + + + + + + + افزودن تیم + + + + + + + + + + + + عدم دسترسی + + + + + + + + افزودن عضو جدید + + + + + + + + + + + + + + + مدیریت تیم ها + + + x + + + + + + + + + + + + + + + + +