diff --git a/src/api/project/contractor/types.ts b/src/api/project/contractor/types.ts index 152127b..eb7658b 100644 --- a/src/api/project/contractor/types.ts +++ b/src/api/project/contractor/types.ts @@ -97,7 +97,10 @@ export interface ContractorQuery extends PageQuery { * 负责人 */ principal?: string; - + /** + * 项目id + */ + projectId: string | number; /** * 负责人联系电话 */ diff --git a/src/components/ProjectSelector/index.vue b/src/components/ProjectSelector/index.vue index 78ff159..c25cd88 100644 --- a/src/components/ProjectSelector/index.vue +++ b/src/components/ProjectSelector/index.vue @@ -37,10 +37,17 @@ watch( ); const handleSelect = (projectId: string) => { + const oldId = userStore.getSelectedProjectFromStorage() + console.log(projectId,oldId.id); + + if (projectId!=oldId.id) { + location.reload() + } const selectedProject = projects.value.find((p) => p.id === projectId); if (selectedProject) { userStore.setSelectedProject(selectedProject); } + }; diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 57a6c68..cf8f9d5 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -136,6 +136,7 @@ export const useUserStore = defineStore('user', () => { setAvatar, setProjects, setSelectedProject, + getSelectedProjectFromStorage, projects, selectedProject }; diff --git a/src/views/project/contractor/index.vue b/src/views/project/contractor/index.vue index 5140395..3bc79fb 100644 --- a/src/views/project/contractor/index.vue +++ b/src/views/project/contractor/index.vue @@ -103,6 +103,7 @@ import { addContractor, delContractor, getContractor, listContractor, updateContractor } from '@/api/project/contractor'; import { ContractorForm, ContractorQuery, ContractorVO } from '@/api/project/contractor/types'; import ContractorFileDialog from '@/views/project/contractor/component/ContractorFileDialog.vue'; +import { useUserStoreHook } from '@/store/modules/user'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -117,7 +118,20 @@ const total = ref(0); const queryFormRef = ref(); const contractorFormRef = ref(); - +// 获取用户 store +const userStore = useUserStoreHook(); +// 从 store 中获取项目列表和当前选中的项目 +const currentProject = computed(() => userStore.selectedProject); +//监听项目改变 +// watch( +// () => currentProject.value, +// (newId, oldId) => { +// /* ... */ +// queryParams.value.projectId=newId.id +// // getList() + +// } +// ) const dialog = reactive({ visible: false, title: '' @@ -145,6 +159,7 @@ const data = reactive>({ principalPhone: undefined, custodian: undefined, custodianPhone: undefined, + projectId: currentProject.value.id, params: {} }, rules: {