From abf5137ce385751d1ebb7e1a7edc7ffbef0bb776 Mon Sep 17 00:00:00 2001 From: xuesinan <1404152492@qq.com> Date: Fri, 3 Dec 2021 15:28:43 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BE=AE=E4=BF=A1=E5=A4=8D=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/apis/index.js | 24 ++ src/components/tall/center/Global.vue | 2 + src/components/tall/center/RegularTask.vue | 4 +- src/components/tall/left/Projects.vue | 2 +- .../tall/task/AssignmentExperiment.vue | 59 +++- src/components/tall/task/DataUnlock.vue | 127 +++++--- .../tall/task/MeetingManagement.vue | 154 ++++++++- .../tall/task/ScientificPayoffs.vue | 295 ++++++++++++++++++ .../tall/task/SubMeetingManagement.vue | 129 +++++++- src/components/tall/task/TaskConList.vue | 30 +- src/store/tall/task/index.js | 28 +- 11 files changed, 766 insertions(+), 88 deletions(-) diff --git a/src/apis/index.js b/src/apis/index.js index 63d1f3c..ac2812b 100644 --- a/src/apis/index.js +++ b/src/apis/index.js @@ -108,3 +108,27 @@ export const getIntellectualList = params => http.post(`${experiment}/question/g // 提交知识产权信息(论文、专利、软著) export const submitIntellectual = params => http.post(`${experiment}/question/submitIntellectual`, params); + +// 查询会议列表 +export const getMeetQuery = params => http.post(`${experiment}/meeting/query`, params); + +// 添加/修改会议信息 +export const saveMeeting = params => http.post(`${experiment}/meeting/save`, params); + +// 根据会议id查询会议详细信息 +export const getMeetDetail = params => http.post(`${experiment}/meeting/get`, params); + +// 科研成果列表 +export const queryExperimentation = params => http.post(`${experiment}/subExperiment/queryExperimentation`, params); + +// 审核科研成果 +export const examineExperimentation = params => http.post(`${experiment}/subExperiment/examineExperimentation`, params); + +// 申请解锁科研结果 +export const applyUnlock = params => http.post(`${experiment}/subExperiment/applyUnlock`, params); + +// 审批解锁申请 +export const examineUnlock = params => http.post(`${experiment}/experiment/examineUnlock`, params); + +// 查找数据追溯解锁信息 +export const retrospectUnlock = params => http.post(`${experiment}/experiment/retrospectUnlock`, params); diff --git a/src/components/tall/center/Global.vue b/src/components/tall/center/Global.vue index 4936603..a8097f4 100644 --- a/src/components/tall/center/Global.vue +++ b/src/components/tall/center/Global.vue @@ -49,6 +49,8 @@ function toDetail(item) { store.commit('task/setTaskDetail', item); store.commit('layout/setListStatus', false); store.commit('task/setIntellectualId', ''); + store.commit('task/setMeetId', ''); + store.commit('task/setSubMeetId', ''); } diff --git a/src/components/tall/center/RegularTask.vue b/src/components/tall/center/RegularTask.vue index 5b0ddd4..b5e3644 100644 --- a/src/components/tall/center/RegularTask.vue +++ b/src/components/tall/center/RegularTask.vue @@ -24,9 +24,9 @@ {{ val.name }} -
+
diff --git a/src/components/tall/left/Projects.vue b/src/components/tall/left/Projects.vue index a4a876f..d4fb44d 100644 --- a/src/components/tall/left/Projects.vue +++ b/src/components/tall/left/Projects.vue @@ -95,7 +95,7 @@ watch([newProject, startTime, endTime, projectInfo, subProjectInfo], () => { getProjectsList(start, end); }); -// getProjectsList(start, end); +getProjectsList(start, end); // 点击操作面试显示隐藏 const showActionCard = item => { diff --git a/src/components/tall/task/AssignmentExperiment.vue b/src/components/tall/task/AssignmentExperiment.vue index e18c302..9c1a769 100644 --- a/src/components/tall/task/AssignmentExperiment.vue +++ b/src/components/tall/task/AssignmentExperiment.vue @@ -15,11 +15,20 @@ - - Jack - Lucy - yiminghe - + @@ -38,12 +47,13 @@ import { ref, computed, toRaw } from 'vue'; import { useStore } from 'vuex'; import dayjs from 'dayjs'; -// import { createExperiment } from 'apis'; +import { createExperiment, memberQuery } from 'apis'; const store = useStore(); const formRef = ref(null); const sessionProject = sessionStorage.getItem('project'); const projectId = computed(() => store.getters['projects/projectId']); +const options = ref([]); if (sessionProject) { const project = JSON.parse(sessionProject); @@ -61,6 +71,17 @@ const assignExperFormData = ref({ target: '', }); +getList(); // 获取成员列表 + +const handleSearch = async value => { + console.log('handleSearch', options.value, value); + // await getList(value); // 获取成员列表 +}; + +const filterOption = (input, option) => { + return option.value.toLowerCase().indexOf(input.toLowerCase()) >= 0; +}; + const onSubmit = () => { assignExperFormData.value.date.forEach((item, index) => { if (index === 0) { @@ -70,11 +91,31 @@ const onSubmit = () => { } }); - // const params = { param: assignExperFormData.value }; - - // createExperiment(params); + const params = { param: assignExperFormData.value }; + createExperiment(params); console.log('submit!', toRaw(assignExperFormData.value)); }; + +// 获取成员列表 +async function getList(name) { + try { + const params = { param: { projectId: projectId.value, name } }; + const data = await memberQuery(params); + store.commit('task/setMembers', data); + options.value = []; + + data.forEach(item => { + const obj = { + label: item.memberName, + value: item.memberId, + }; + + options.value.push(obj); + }); + } catch (error) { + console.log('error', error); + } +} diff --git a/src/components/tall/task/SubMeetingManagement.vue b/src/components/tall/task/SubMeetingManagement.vue index ba02626..2f7d0a5 100644 --- a/src/components/tall/task/SubMeetingManagement.vue +++ b/src/components/tall/task/SubMeetingManagement.vue @@ -1,6 +1,6 @@ diff --git a/src/components/tall/task/TaskConList.vue b/src/components/tall/task/TaskConList.vue index 02ce463..eab81fd 100644 --- a/src/components/tall/task/TaskConList.vue +++ b/src/components/tall/task/TaskConList.vue @@ -28,6 +28,7 @@ import { computed, ref } from 'vue'; import { useStore } from 'vuex'; import dayjs from 'dayjs'; import { RightOutlined } from '@ant-design/icons-vue'; +import { getMeetQuery } from 'apis'; const store = useStore(); const code = computed(() => store.state.task.label); // code @@ -39,6 +40,10 @@ init(); async function init() { if (code.value === 'ZKT_LW' || code.value === 'ZKT_ZL' || code.value === 'ZKT_RZ') { await getAchievementsList(); + } else if (code.value === 'ZKT_HYGL') { + await getMeetList(1); + } else if (code.value === 'KT_KYHY') { + await getMeetList(0); } } @@ -55,8 +60,31 @@ async function getAchievementsList() { lists.value = [...data]; } +// 会议列表 +async function getMeetList(type) { + const params = { + param: { + type, + projectId: projectId.value, + }, + }; + + try { + const data = await getMeetQuery(params); + lists.value = [...data]; + } catch (error) { + console.log('error', error); + } +} + function toDetail(item) { - store.commit('task/setIntellectualId', item.intellectualId); + if (code.value === 'ZKT_HYGL') { + store.commit('task/setSubMeetId', item.id); + } else if (code.value === 'KT_KYHY') { + store.commit('task/setMeetId', item.id); + } else if (code.value === 'ZKT_LW' || code.value === 'ZKT_ZL' || code.value === 'ZKT_RZ') { + store.commit('task/setIntellectualId', item.intellectualId); + } } diff --git a/src/store/tall/task/index.js b/src/store/tall/task/index.js index 9eaaad8..a9f038f 100644 --- a/src/store/tall/task/index.js +++ b/src/store/tall/task/index.js @@ -33,6 +33,8 @@ export default { subProjectInfo: null, // 当前子课题信息 regularTasks: [], // 定期任务 intellectualId: '', // 当前选择的知识产权ID + meetId: '', // 当前选择的会议ID + subMeetId: '', // 当前选择的子课题会议ID question: null, }, @@ -48,14 +50,14 @@ export default { // }, // 计算任务开始时间的格式 - startTimeFormat(state, { unitConfig }) { - return unitConfig.format || 'D日 HH:mm'; - }, + // startTimeFormat(state, { unitConfig }) { + // return unitConfig.format || 'D日 HH:mm'; + // }, // 计算颗粒度 对应的 dayjs add 的单位 - timeGranularity(state, { unitConfig }) { - return unitConfig.granularity; - }, + // timeGranularity(state, { unitConfig }) { + // return unitConfig.granularity; + // }, }, mutations: { @@ -367,6 +369,20 @@ export default { state.intellectualId = data; }, + /** + * 会议ID + */ + setMeetId(state, data) { + state.meetId = data; + }, + + /** + * 子课题会议ID + */ + setSubMeetId(state, data) { + state.subMeetId = data; + }, + setQuestion(state, data) { state.question = data; },