diff --git a/src/apis/index.js b/src/apis/index.js
index 574853d..f39f469 100644
--- a/src/apis/index.js
+++ b/src/apis/index.js
@@ -70,7 +70,9 @@ export const getPermanent = (params, url) => http.post(`${url}/tall/task/permane
// 查找定期任务
export const getRegularTask = (params, url) => http.post(`${url}/tall/task/regular/page`, params);
-// 交付物
+/**
+ * 交付物
+ */
// 提交交付物信息
export const submitDeliverInfo = (params, url) => http.post(`${url}/deliver/submitDeliver`, params);
@@ -87,7 +89,9 @@ export const getDeliverHistory = (params, url) => http.post(`${url}/deliver/quer
// 查看检查记录
export const queryCheckLog = (params, url) => http.post(`${url}/deliver/queryCheckLog`, params);
-// 流水账
+/**
+ * 流水账
+ */
// 获取基本信息 (成员列表、项目列表)
export const getBasicInfo = url => http.post(`${url}/dailyAccount/info`);
@@ -107,6 +111,13 @@ export const clockQuery = (params, url) => http.post(`${url}/clock/query`, param
// 打卡
export const clockPunch = (params, url) => http.post(`${url}/clock/punch`, params);
+/**
+ * 财务条
+ */
+
+// 查询任务上的财务条数据
+export const getFinanceByTask = (params, url) => http.post(`${url}/finance/getByTask`, params);
+
/**
* 导入wbs
* @param {object} e
diff --git a/src/assets/work.jpg b/src/assets/work.jpg
new file mode 100644
index 0000000..2692970
Binary files /dev/null and b/src/assets/work.jpg differ
diff --git a/src/components/tall/center/Global.vue b/src/components/tall/center/Global.vue
index fa99c59..af9056e 100644
--- a/src/components/tall/center/Global.vue
+++ b/src/components/tall/center/Global.vue
@@ -91,7 +91,11 @@ async function getGlobalData(id) {
}
}
-function toWorkbench() {}
+function toWorkbench() {
+ store.commit('task/setTaskDetailParams', ''); // 设置详情页参数
+ store.commit('task/setTaskDetailUrl', ''); // 设置详情页链接
+ store.commit('task/setTaskDetailShow', 'workbench'); // 设置内置组件关键字(根据关键字判断显示的详情页)
+}
diff --git a/src/plugins/p-task-to-detail/p-task-to-detail.vue b/src/plugins/p-task-to-detail/p-task-to-detail.vue
new file mode 100644
index 0000000..eec664d
--- /dev/null
+++ b/src/plugins/p-task-to-detail/p-task-to-detail.vue
@@ -0,0 +1,36 @@
+
+
+
+ {{ task.name }}
+
+
+
+
+
+
+
diff --git a/src/plugins/workbench/workbench.vue b/src/plugins/workbench/workbench.vue
new file mode 100644
index 0000000..040db06
--- /dev/null
+++ b/src/plugins/workbench/workbench.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/src/views/detail/Test.vue b/src/views/detail/Test.vue
index d4d1efd..b85b4cf 100644
--- a/src/views/detail/Test.vue
+++ b/src/views/detail/Test.vue
@@ -2,6 +2,9 @@
+
+
+
@@ -40,6 +43,7 @@ import pProjectVersionManagementDetail from '@/plugins/p-project-version-managem
import pDomainSourceManageDetail from '@/plugins/p-domain-source-manage/p-domain-source-manage-detail.vue';
import pAccountManagementAudit from '@/plugins/p-account-management/p-account-management-audit.vue';
import pAccountManagementUidispose from '@/plugins/p-account-management/p-account-management-uidispose.vue';
+import workbench from '@/plugins/workbench/workbench.vue';
const store = useStore();
diff --git a/src/views/home/Index.vue b/src/views/home/Index.vue
index 33ea74f..395a820 100644
--- a/src/views/home/Index.vue
+++ b/src/views/home/Index.vue
@@ -31,6 +31,8 @@ import { computed, onMounted } from 'vue';
import { useStore } from 'vuex';
// import { useRoute, useRouter } from 'vue-router';
import zhCN from 'ant-design-vue/es/locale/zh_CN';
+import dayjs from 'dayjs';
+import 'dayjs/locale/zh-cn';
import Left from 'components/tall/Left/Index.vue';
// import Navbar from 'components/tall/Top/Navbar.vue';
import TopNavbar from 'components/tall/Top/TopNavbar.vue';
@@ -40,6 +42,7 @@ import Detail from '@/views/detail/Test.vue';
import '@/utils/storage.js';
const locale = zhCN;
+dayjs.locale('zh-cn');
const store = useStore();
const collapsed = computed(() => store.state.layout.display.left); // 是否显示左栏
@@ -49,7 +52,8 @@ const projectInfo = computed(() => store.state.projects.project); // 项目信
// const sessionTask = sessionStorage.getItem('taskDetail');
// const taskDetail = computed(() => store.state.task.taskDetail); // 任务信息
const taskDetailUrl = computed(() => store.state.task.taskDetailUrl); // iframe详情页链接
-const targetUrl = sessionStorage.getItem('targetUrl'); // 缓存的详情页链接
+const targetUrl = sessionStorage.getItem('targetUrl'); // 内嵌插件缓存的详情页链接
+const sessionTaskDetailUrl = sessionStorage.getItem('taskDetailUrl'); // 内置组件缓存的详情页链接
const taskDetailShow = computed(() => store.state.task.taskDetailShow); // 内置组件详情页是否显示
const sessionTaskDetailShow = sessionStorage.getItem('taskDetailShow'); // 缓存的显示内置组件详情页的组件标签
@@ -70,9 +74,9 @@ const isFullScreen = computed(() => store.state.layout.isFullScreen); // 流水
// store.dispatch('role/getAllMembers', { param, url });
// }
-if (targetUrl && !taskDetailUrl.value) {
+if ((targetUrl || sessionTaskDetailUrl) && !taskDetailUrl.value) {
// 设置内嵌组件详情页链接
- store.commit('task/setTaskDetailUrl', targetUrl);
+ store.commit('task/setTaskDetailUrl', targetUrl || sessionTaskDetailUrl);
}
// 设置某个内置组件详情页显示