شروع research

This commit is contained in:
Mehdi104797 2025-03-01 15:57:02 +03:30
parent 702ffbc782
commit 111d8b82a4
2 changed files with 235 additions and 10 deletions

View File

@ -376,13 +376,22 @@
</template> </template>
<script> <script>
import searchLineMixin from "~/research/mixins/searchLineMixin.js"; import searchLineMixin from "@research/mixins/research/searchLineMixin.js";
import { mapActions, mapState } from "pinia"; import { mapActions, mapState } from "pinia";
import researchApi from "~/apis/researchApi"; import researchApi from "@research/apis/researchApi";
import { useResearchStore } from "../stores/researchStore"; import { useResearchStore } from "@research/stores/researchStore";
import { useSearchStore } from "@research/stores/searchStore";
import { useCommonStore } from "~/stores/commonStore";
export default { export default {
name: "myResearches",
setup() {
definePageMeta({
layout: false,
name: "myResearches",
});
},
mixins: [searchLineMixin], mixins: [searchLineMixin],
watch: { watch: {
$route: { $route: {
@ -426,7 +435,10 @@ export default {
}, },
}, },
beforeMount() { beforeMount() {
this.httpService = new HttpService(import.meta.env.VITE_REPO_BASE_URL); // this.httpService = new HttpService(import.meta.env.VITE_REPO_BASE_URL);
},
created() {
this.httpService = useNuxtApp()["$http"];
}, },
mounted() { mounted() {
this.researchActiveSchemaSetter(this.myActiveSchema); this.researchActiveSchemaSetter(this.myActiveSchema);
@ -484,7 +496,7 @@ export default {
showDropdownNavigateList: false, showDropdownNavigateList: false,
navigateListPart2: [], navigateListPart2: [],
navigateListItem: "", navigateListItem: "",
httpService: undefined, // httpService: undefined,
listChangeItem: "", listChangeItem: "",
showListPanel: false, showListPanel: false,
showSearchLine: true, showSearchLine: true,
@ -510,7 +522,7 @@ export default {
topRepeatInListMode: true, topRepeatInListMode: true,
activeSortItem: undefined, activeSortItem: undefined,
changePageFilter: "", changePageFilter: "",
httpService: {},
lastSearchInListMode: true, lastSearchInListMode: true,
searchingState: false, searchingState: false,
meets: [], meets: [],
@ -555,7 +567,7 @@ export default {
"researchSchemaGetter", "researchSchemaGetter",
"researchActiveSchemaGetter", "researchActiveSchemaGetter",
]), ]),
...mapState([ ...mapState(useCommonStore, [
"currentUser", "currentUser",
"selectedlists", "selectedlists",
"organNameGetter", "organNameGetter",
@ -599,8 +611,12 @@ export default {
}, },
}, },
methods: { methods: {
...mapActions(["TOGGLE_SIDEBAR_MENU"]), // ...mapActions(["TOGGLE_SIDEBAR_MENU"]),
...mapActions("search", ["searchActiveTabSetter", "domainActiveSetter"]), ...mapActions(useCommonStore, ["TOGGLE_SIDEBAR_MENU"]),
...mapActions(useSearchStore, [
"searchActiveTabSetter",
"domainActiveSetter",
]),
...mapActions(useResearchStore, ["researchActiveSchemaSetter"]), ...mapActions(useResearchStore, ["researchActiveSchemaSetter"]),
closeAfterSaving() { closeAfterSaving() {
this.closeBaseModal(); this.closeBaseModal();
@ -1000,7 +1016,6 @@ export default {
window.localStorage.setItem([HISTORY_SEARCH_RECENT], parsed); window.localStorage.setItem([HISTORY_SEARCH_RECENT], parsed);
}, },
}, },
}; };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

210
stores/searchStore.ts Normal file
View File

@ -0,0 +1,210 @@
import type {
activeSearchChartSchema,
activeSearchListSchema,
Domain,
searchActiveTab,
searchChartActiveTab,
searchListActiveTab,
searchSchema,
searchSynonymForm,
searchSynonymTitle,
selectionFilterItems,
} from "~/types/searchTypes";
import type {
isReturnFromItemshowPage,
list,
listComponentName,
listId,
projects,
selectedItem,
selectedProject,
} from "~/types/listTypes";
export const useSearchStore = defineStore("searchStore", {
persist: {
storage: piniaPluginPersistedstate.localStorage(),
}, state: () => ({
selectedProject: undefined as selectedProject | undefined,
isReturnFromItemshowPage: false as isReturnFromItemshowPage,
list: undefined as list | undefined,
listId: undefined as listId | undefined,
listComponentName: "ItemList" as listComponentName | undefined,
projects: [] as projects[],
// pieData: [],
selectedItem: undefined as selectedItem | undefined,
// activeTab: undefined,
searchActiveTab: undefined as searchActiveTab | undefined,
searchSchema: undefined as searchSchema | undefined,
searchActiveSchema: undefined as searchActiveTab | undefined,
searchListActiveTab: undefined as searchListActiveTab | undefined,
searchListSchema: undefined as searchListActiveTab[] | undefined,
activeSearchListSchema: undefined as activeSearchListSchema | undefined,
searchChartActiveTab: undefined as searchChartActiveTab | undefined,
searchChartSchema: undefined as searchChartActiveTab[] | undefined,
activeSearchChartSchema: undefined as activeSearchChartSchema | undefined,
searchSynonymTitle: undefined as searchSynonymTitle | undefined,
searchSynonymForm: undefined as searchSynonymForm | undefined,
selectionFilterItems: [] as selectionFilterItems,
}),
getters: {
projectsGetter(state) {
return state.projects;
},
selectedProjectGetter(state) {
return state.selectedProject;
},
listIdGetter(state) {
return state.listId;
},
listComponentNameGetter(state) {
return state.listComponentName;
},
selectedItemGetter(state) {
return state.selectedItem;
},
isReturnFromItemshowPageGetter(state) {
return state.isReturnFromItemshowPage;
},
listGetter(state) {
return state.list;
},
searchSynonymTitleGetter(state) {
return state.searchSynonymTitle;
},
searchSynonymFormGetter(state) {
return state.searchSynonymForm;
},
// activeTabGetter(state) {
// return state.activeTab;
// },
// search page
searchActiveTabGetter(state) {
return state.searchActiveTab;
},
searchSchemaGetter(state) {
return state.searchSchema;
},
searchActiveSchemaGetter(state) {
return state.searchActiveSchema;
},
// search list
searchListActiveTabGetter(state) {
return state.searchListActiveTab;
},
searchListSchemaGetter(state) {
return state.searchListSchema;
},
searchListActiveSchemaGetter(state) {
return state.activeSearchListSchema;
},
// search chart
searchChartActiveTabGetter(state) {
return state.searchChartActiveTab;
},
searchChartSchemaGetter(state) {
return state.searchChartSchema;
},
searchChartActiveSchemaGetter(state) {
return state.activeSearchChartSchema;
},
selectionFilterItemsGetter(state) {
return state.selectionFilterItems;
},
},
actions: {
SET_SELECTED_PROJECT(selectedProject = undefined) {
this.selectedProject = selectedProject;
},
SET_LIST_ID(listId = undefined) {
this.listId = listId;
},
SET_LIST_COMPONENT_NAME(
payload = { selectedItem: undefined, listComponentName: undefined }
) {
this.selectedItem = payload.selectedItem;
this.listComponentName = payload.listComponentName;
},
SET_SELECTED_ITEM(selectedItem = undefined) {
this.selectedItem = selectedItem;
},
SET_IS_RETURN_FROM_ITEM_SHOW_PAGE(isReturnFromItemshowPage = false) {
this.isReturnFromItemshowPage = isReturnFromItemshowPage;
},
SET_LIST(list = undefined) {
this.list = list;
},
searchSynonymFormSetter(searchSynonymForm = undefined) {
this.searchSynonymForm = searchSynonymForm;
},
searchSynonymTitleSetter(searchSynonymTitle = undefined) {
this.searchSynonymTitle = searchSynonymTitle;
},
// activeTabSetter(activeTab = undefined) {
// this.activeTab = activeTab;
// },
// search page
searchActiveTabSetter(searchActiveTab: searchActiveTab = undefined) {
this.searchActiveTab = searchActiveTab;
},
searchSchemaSetter(searchSchema = undefined) {
this.searchSchema = searchSchema;
},
searchActiveSchemaSetter(searchActiveSchema = undefined) {
this.searchActiveSchema = searchActiveSchema;
},
// search list
searchListActiveTabSetter(searchListActiveTab = undefined) {
this.searchListActiveTab = searchListActiveTab;
},
searchListSchemaSetter(searchListSchema = undefined) {
this.searchListSchema = searchListSchema;
},
searchListActiveSchemaSetter(activeSearchListSchema = undefined) {
this.activeSearchListSchema = activeSearchListSchema;
},
// search chart
searchChartActiveTabSetter(searchChartActiveTab = undefined) {
this.searchChartActiveTab = searchChartActiveTab;
},
searchChartSchemaSetter(searchChartSchema = undefined) {
this.searchChartSchema = searchChartSchema;
},
searchChartActiveSchemaSetter(activeSearchChartSchema = undefined) {
this.activeSearchChartSchema = activeSearchChartSchema;
},
selectionFilterItemsSetter(selectionFilterItems = []) {
this.selectionFilterItems = <selectionFilterItems>selectionFilterItems;
},
},
});
// export default {
// namespaced:true,
// state,
// actions,
// mutations,
// getters
// };