تغییرات

This commit is contained in:
Mehdi104797 2025-05-01 08:26:09 +03:30
parent fd3221ea12
commit 1c9ea2ed11
6 changed files with 82 additions and 57 deletions

View File

@ -73,7 +73,8 @@
<label class="multiselect-lable text no-wrap width-auto" for="users" <label class="multiselect-lable text no-wrap width-auto" for="users"
>جستجوی کاربر:</label >جستجوی کاربر:</label
> >
<multiselect
<!-- <multiselect
class="multiselect template form-control input w-auto" class="multiselect template form-control input w-auto"
id="users" id="users"
track-by="user_id" track-by="user_id"
@ -100,7 +101,7 @@
@select="addUserToGroup" @select="addUserToGroup"
@close="resetFoundUsers" @close="resetFoundUsers"
> >
</multiselect> </multiselect> -->
</div> </div>
<!-- <div class="coolinput select-template d-flex align-items-center"> <!-- <div class="coolinput select-template d-flex align-items-center">
<label class="multiselect-lable text" for="input">نوع قالب</label> <label class="multiselect-lable text" for="input">نوع قالب</label>
@ -183,7 +184,7 @@
> >
<div class="main-page_body-items-move-copy in-desktop mt-2"> <div class="main-page_body-items-move-copy in-desktop mt-2">
<div class="btn-move move ms-3"> <div class="btn-move move ms-3">
<PersianDatepicker <!-- <PersianDatepicker
title="انتقال" title="انتقال"
label="انتقال محتوا به تاریخ دیگر" label="انتقال محتوا به تاریخ دیگر"
class="date-picker text-move" class="date-picker text-move"
@ -191,7 +192,7 @@
format="YYYY-MM-DD" format="YYYY-MM-DD"
display-format="jYYYY-jMM-jDD" display-format="jYYYY-jMM-jDD"
@input="PostDateToMoveInformation()" @input="PostDateToMoveInformation()"
/> /> -->
<span class="svgIcon-move" title="انتقال"> <span class="svgIcon-move" title="انتقال">
<svg class="icon icon-forward"> <svg class="icon icon-forward">
<use xlink:href="#icon-forward"></use> <use xlink:href="#icon-forward"></use>
@ -199,7 +200,7 @@
</span> </span>
</div> </div>
<div class="copy btn-copy"> <div class="copy btn-copy">
<PersianDatepicker <!-- <PersianDatepicker
title="کپی" title="کپی"
label="کپی محتوا به تاریخ دیگر" label="کپی محتوا به تاریخ دیگر"
class="date-picker text-copy" class="date-picker text-copy"
@ -207,7 +208,7 @@
format="YYYY-MM-DD" format="YYYY-MM-DD"
display-format="jYYYY-jMM-jDD" display-format="jYYYY-jMM-jDD"
@input="PostDateToCopyInformation()" @input="PostDateToCopyInformation()"
/> /> -->
<span class="svgIcon-copy" title="کپی"> <span class="svgIcon-copy" title="کپی">
<svg class="icon icon-copy2"> <svg class="icon icon-copy2">
<use xlink:href="#icon-copy2"></use> <use xlink:href="#icon-copy2"></use>
@ -217,7 +218,7 @@
</div> </div>
<div class="main-page_body-items-move-copy in-mobile mt-2"> <div class="main-page_body-items-move-copy in-mobile mt-2">
<div class="btn-move move ms-3"> <div class="btn-move move ms-3">
<PersianDatepicker <!-- <PersianDatepicker
title="انتقال" title="انتقال"
label="انتقال" label="انتقال"
class="date-picker text-move" class="date-picker text-move"
@ -225,7 +226,7 @@
format="YYYY-MM-DD" format="YYYY-MM-DD"
display-format="jYYYY-jMM-jDD" display-format="jYYYY-jMM-jDD"
@input="PostDateToMoveInformation()" @input="PostDateToMoveInformation()"
/> /> -->
<span class="svgIcon-move" title="انتقال"> <span class="svgIcon-move" title="انتقال">
<svg class="icon icon-forward"> <svg class="icon icon-forward">
@ -234,7 +235,7 @@
</span> </span>
</div> </div>
<div class="copy btn-copy"> <div class="copy btn-copy">
<PersianDatepicker <!-- <PersianDatepicker
title="کپی" title="کپی"
label="کپی" label="کپی"
class="date-picker text-copy" class="date-picker text-copy"
@ -242,7 +243,7 @@
format="YYYY-MM-DD" format="YYYY-MM-DD"
display-format="jYYYY-jMM-jDD" display-format="jYYYY-jMM-jDD"
@input="PostDateToCopyInformation()" @input="PostDateToCopyInformation()"
/> /> -->
<span class="svgIcon-copy" title="کپی"> <span class="svgIcon-copy" title="کپی">
<svg class="icon icon-copy2"> <svg class="icon icon-copy2">
<use xlink:href="#icon-copy2"></use> <use xlink:href="#icon-copy2"></use>
@ -262,7 +263,7 @@
import taskApi from "@task/apis/taskApi"; import taskApi from "@task/apis/taskApi";
// import HttpService from "@services/httpService"; // import HttpService from "@services/httpService";
// import VuePersianDatetimePicker from "vue-persian-datetime-picker"; // import VuePersianDatetimePicker from "vue-persian-datetime-picker";
import { p2e } from "@plugins/persianNumber"; import { p2e } from "~/manuals/persianNumber";
// import { mapGetters, mapMutations } from "vuex"; // import { mapGetters, mapMutations } from "vuex";
import { mapState, mapActions } from "pinia"; import { mapState, mapActions } from "pinia";
import { useAuthStore } from "~/stores/authStore"; import { useAuthStore } from "~/stores/authStore";
@ -859,7 +860,7 @@ export default {
HoursForm: () => import("@task/components/HoursForm"), HoursForm: () => import("@task/components/HoursForm"),
Multiselect: () => import("vue-multiselect"), Multiselect: () => import("vue-multiselect"),
datePicker: VuePersianDatetimePicker, // datePicker: VuePersianDatetimePicker,
}, },
}; };
</script> </script>

View File

@ -183,8 +183,8 @@ import { mapState, mapActions } from "pinia";
import { useSearchStore } from "@search/stores/searchStore"; import { useSearchStore } from "@search/stores/searchStore";
import { useAuthStore } from "~/stores/authStore"; import { useAuthStore } from "~/stores/authStore";
// import HttpService from "@services/httpService"; // import HttpService from "@services/httpService";
import VuePersianDatetimePicker from "vue-persian-datetime-picker"; // import VuePersianDatetimePicker from "vue-persian-datetime-picker";
import { p2e } from "@plugins/persianNumber"; import { p2e } from "~/manuals/persianNumber";
// import thiqatRoutes from "../../../routes/thiqatRoutes"; // import thiqatRoutes from "../../../routes/thiqatRoutes";
export default { export default {
@ -386,7 +386,7 @@ export default {
}, },
}, },
components: { components: {
datePicker: VuePersianDatetimePicker, // datePicker: VuePersianDatetimePicker,
Multiselect: () => import("vue-multiselect"), Multiselect: () => import("vue-multiselect"),
}, },
}; };

View File

@ -9,7 +9,7 @@
class="col-1 ps-0 pe-0 task-Form-Organ" class="col-1 ps-0 pe-0 task-Form-Organ"
style="color: #97f295 !important" style="color: #97f295 !important"
> >
<multiselect <!-- <multiselect
v-model.number="taskForm.organ" v-model.number="taskForm.organ"
class="multiselect Organ" class="multiselect Organ"
tag-placeholder="Add this as new tag" tag-placeholder="Add this as new tag"
@ -23,10 +23,10 @@
:preserve-search="true" :preserve-search="true"
@tag="addTagOrgan" @tag="addTagOrgan"
@select="organSelect" @select="organSelect"
></multiselect> ></multiselect> -->
</div> </div>
<div class="col-2 ps-0 pe-0 task-Form-category"> <div class="col-2 ps-0 pe-0 task-Form-category">
<multiselect <!-- <multiselect
class="multiselect category" class="multiselect category"
id="task-Form-category" id="task-Form-category"
v-model.number="taskForm.category" v-model.number="taskForm.category"
@ -40,7 +40,7 @@
:max-height="250" :max-height="250"
:preserve-search="true" :preserve-search="true"
@tag="addTagCategury" @tag="addTagCategury"
></multiselect> ></multiselect> -->
<!-- <pre <!-- <pre
class="language-json" class="language-json"
><code>{{ taskForm.category }}</code></pre> --> ><code>{{ taskForm.category }}</code></pre> -->
@ -209,10 +209,13 @@
</template> </template>
<script> <script>
import taskApi from "@apis/taskApi"; import taskApi from "@task/apis/taskApi";
import HttpService from "@services/httpService"; // import HttpService from "@services/httpService";
import { mapGetters } from "vuex"; // import { mapGetters } from "vuex";
import { mapState, mapActions } from "pinia";
import { useSearchStore } from "@task/stores/searchStore";
import VueTribute from "vue-tribute"; import VueTribute from "vue-tribute";
export default { export default {
@ -245,7 +248,8 @@ export default {
}, },
emits: ["close-form-tasks", "save-form-tasks", "add-new-record"], emits: ["close-form-tasks", "save-form-tasks", "add-new-record"],
beforeMount() { beforeMount() {
this.httpService = new HttpService(this.taskMicroServiceName); // this.httpService = new HttpService(this.taskMicroServiceName);
this.httpService = useNuxtApp()["$http"];
}, },
mounted() { mounted() {
if (this.taskSchemaGetter?.categoryOptions) if (this.taskSchemaGetter?.categoryOptions)
@ -264,6 +268,7 @@ export default {
data() { data() {
return { return {
categoryOptions: [], categoryOptions: [],
httpService: {},
organOptions: [], organOptions: [],
showOrgan: this.isMultiOrgan, showOrgan: this.isMultiOrgan,
userLang: "fa-IR", userLang: "fa-IR",
@ -362,7 +367,7 @@ export default {
}; };
}, },
computed: { computed: {
...mapGetters(["taskSchemaGetter"]), ...mapState(useSearchStore,["taskSchemaGetter"]),
taskMicroServiceName() { taskMicroServiceName() {
return process.env.VUE_APP_TASK; return process.env.VUE_APP_TASK;
}, },

View File

@ -158,9 +158,23 @@ export default {
}, },
components: { components: {
MainSection: () => import("@task/components/MainSection"), MainSection: defineAsyncComponent(() =>
RightSection: () => import("@task/components/RightSection"), import("@task/components/MainSection")
Navbar: () => import("@task/components/Navbar"), ),
RightSection: defineAsyncComponent(() =>
import("@task/components/RightSection")
),
Navbar: defineAsyncComponent(() =>
import("@task/components/Navbar")
),
// MainSection: () => import("@task/components/MainSection"),
// RightSection: () => import("@task/components/RightSection"),
// Navbar: () => import("@task/components/Navbar"),
}, },
}; };
</script> </script>

View File

@ -1,5 +1,5 @@
<template> <template>
<section> <section style="width: 100%;">
<Navbar class="task-navbar"> </Navbar> <Navbar class="task-navbar"> </Navbar>
<main <main
class="task-dashboard main-page__content" class="task-dashboard main-page__content"
@ -72,7 +72,6 @@
</template> </template>
<script> <script>
import { mapState, mapActions } from "pinia"; import { mapState, mapActions } from "pinia";
import { useCommonStore } from "~/stores/commonStore"; import { useCommonStore } from "~/stores/commonStore";
@ -81,7 +80,6 @@ import { useAuthStore } from "~/stores/authStore";
import taskApi from "@task/apis/taskApi"; import taskApi from "@task/apis/taskApi";
export default { export default {
// mixins: [commentMixin], // mixins: [commentMixin],
mounted() { mounted() {
this.httpService = useNuxtApp()["$http"]; this.httpService = useNuxtApp()["$http"];
@ -107,7 +105,7 @@ export default {
data() { data() {
return { return {
PieOptions: { PieOptions: {
radius: ['40%', '70%'], radius: ["40%", "70%"],
selectedMode: "single", selectedMode: "single",
}, },
// #region mehdi // #region mehdi
@ -118,14 +116,11 @@ export default {
// #endregion // #endregion
rerenderChatList: 1, rerenderChatList: 1,
showListPanel: false, showListPanel: false,
}; };
}, },
computed: { computed: {
...mapState(useAuthStore,[ ...mapState(useAuthStore, ["currentUser"]),
"currentUser", ...mapState(useCommonStore, [
]),
...mapState(useCommonStore,[
"getPanelStatus", "getPanelStatus",
"isSidebarCollapsed", "isSidebarCollapsed",
"sidebarListStatusGetter", "sidebarListStatusGetter",
@ -142,11 +137,13 @@ export default {
// }, // },
}, },
methods: { methods: {
...mapActions(useCommonStore,[ ...mapActions(useCommonStore, [
"TOGGLE_PANEL", "TOGGLE_PANEL",
"sidebarCollapsedSetter", "sidebarCollapsedSetter",
"SET_SIDEBAR_LIST_STATUS", "SET_SIDEBAR_LIST_STATUS",
"checkPermissions", "storeState", "getState" "checkPermissions",
"storeState",
"getState",
]), ]),
...mapActions(useSearchStore, [ ...mapActions(useSearchStore, [
"SET_LIST_COMPONENT_NAME", "SET_LIST_COMPONENT_NAME",
@ -205,9 +202,7 @@ export default {
}; };
let url = taskUrl() + taskApi.taskChart.donut; let url = taskUrl() + taskApi.taskChart.donut;
var vm = this; var vm = this;
this.httpService this.httpService.postRequest(url, payload).then((res) => {
.postRequest(url, payload)
.then((res) => {
vm.dataPie = []; vm.dataPie = [];
res.data.forEach((element) => { res.data.forEach((element) => {
vm.dataPie.push({ vm.dataPie.push({
@ -220,12 +215,15 @@ export default {
}, },
}); });
}); });
}) });
}, },
}, },
components: {
// MainSection: () => import("@task/components/MainSection"),H:\new-folder\base_ui\components\charts\PieDonut.vue
PieDonut: defineAsyncComponent(() =>
import("~/components/charts/PieDonut.vue")
),
},
}; };
</script> </script>

View File

@ -54,8 +54,12 @@ export const useSearchStore = defineStore("searchStore", {
searchSynonymForm: undefined as searchSynonymForm | undefined, searchSynonymForm: undefined as searchSynonymForm | undefined,
selectionFilterItems: [] as selectionFilterItems, selectionFilterItems: [] as selectionFilterItems,
taskSchema:{} as {},
}), }),
getters: { getters: {
taskSchemaGetter(state) {
return state.taskSchema;
},
projectsGetter(state) { projectsGetter(state) {
return state.projects; return state.projects;
}, },
@ -128,6 +132,9 @@ export const useSearchStore = defineStore("searchStore", {
}, },
}, },
actions: { actions: {
taskSchemaSetter( taskSchema = undefined) {
this.taskSchema = taskSchema;
},
SET_SELECTED_PROJECT(selectedProject = undefined) { SET_SELECTED_PROJECT(selectedProject = undefined) {
this.selectedProject = selectedProject; this.selectedProject = selectedProject;
}, },