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;
},