From bfdbef4bd7254e42ebac1dd1ab9b00f814ea7432 Mon Sep 17 00:00:00 2001 From: qsh <> Date: Mon, 31 Mar 2025 12:12:41 +0800 Subject: [PATCH 1/4] sc --- src/api/okr/okr.js | 9 +++++ .../OKR/Management/Components/AllTarget.vue | 32 +++++++++++---- .../OKR/Management/Components/DialogOkr.vue | 4 +- .../Management/Components/DialogOkrInfo.vue | 14 ++++++- .../OKR/Management/Components/OkrTable.vue | 39 +++++++++++++++++-- 5 files changed, 85 insertions(+), 13 deletions(-) diff --git a/src/api/okr/okr.js b/src/api/okr/okr.js index e72bdc3..1f1d4fb 100644 --- a/src/api/okr/okr.js +++ b/src/api/okr/okr.js @@ -81,3 +81,12 @@ export const getDefaultOkrOptions = () => { headers: { 'instance-id': 1016 } }) } + +// 更新OKR进度 +export const updateOkrProgress = (data) => { + return request.put({ + url: '/admin-api/okr/node/progress/update', + data, + headers: { 'instance-id': 1016 } + }) +} diff --git a/src/views/OKR/Management/Components/AllTarget.vue b/src/views/OKR/Management/Components/AllTarget.vue index 0d31bb0..e9bdf56 100644 --- a/src/views/OKR/Management/Components/AllTarget.vue +++ b/src/views/OKR/Management/Components/AllTarget.vue @@ -10,7 +10,7 @@ :default-expand-all="false" check-strictly style="width: 400px" - @change="getOkrList" + @change="nodeChange" /> 新建节点 @@ -23,7 +23,7 @@ - + @@ -35,7 +35,7 @@ import DialogOkrInfo from './DialogOkrInfo.vue' import DialogOkr from './DialogOkr.vue' import { getAllNodeTree, getAllOkrPage } from '@/api/okr/okr' -import { listToTree } from '@/utils/tree' +import { listToTree, findNode } from '@/utils/tree' const message = useMessage() @@ -56,6 +56,10 @@ onMounted(() => { handleSearchPeroid() }) +// 当前是否是叶子节点 +// 如果不是叶子节点,则表格数据不可修改 +const isCurrentLeafNode = ref(false) + function handleSearchPeroid() { getAllNodeTree().then((resp) => { peroidList.value = listToTree(resp.tree, { @@ -63,11 +67,23 @@ function handleSearchPeroid() { pid: 'parentId', children: 'children' }) - searchForm.value.nodeId = resp.nodeId - getOkrList() + nodeChange(resp.nodeId) }) } +function nodeChange(nodeId) { + searchForm.value.nodeId = nodeId + getOkrList() + const currentNode = findNode(peroidList.value, (node) => { + return node.nodeId == nodeId + }) + if (!currentNode.children || currentNode.children.length == 0) { + isCurrentLeafNode.value = true + } else { + isCurrentLeafNode.value = false + } +} + function getOkrList() { getAllOkrPage(searchForm.value).then((resp) => { const list = resp @@ -88,8 +104,10 @@ function handleEditOkr() { } function handleUpdateProcess() { - message.success('更新进度成功') - getOkrList() + okrTableRef.value.updateProcess(searchForm.value.nodeId).then(() => { + message.success('更新成功') + getOkrList() + }) } const dialogOkr = ref(null) diff --git a/src/views/OKR/Management/Components/DialogOkr.vue b/src/views/OKR/Management/Components/DialogOkr.vue index 8df6a1b..845d5fc 100644 --- a/src/views/OKR/Management/Components/DialogOkr.vue +++ b/src/views/OKR/Management/Components/DialogOkr.vue @@ -18,7 +18,7 @@ ork落地
【节点】 - {{ nodeInfo.nodeName }} + {{ nodeInfo.allNodeName }}
@@ -248,7 +248,7 @@ v-for="item in nodeRecords" :key="item.recordId" placement="bottom" - :timestamp="formatDate(item.createTime)" + :timestamp="formatDate(item.createTime, 'YYYY-MM-DD HH:mm:ss')" color="#30d1fc" >
{{ item.creator }}
diff --git a/src/views/OKR/Management/Components/DialogOkrInfo.vue b/src/views/OKR/Management/Components/DialogOkrInfo.vue index d3003a0..9117993 100644 --- a/src/views/OKR/Management/Components/DialogOkrInfo.vue +++ b/src/views/OKR/Management/Components/DialogOkrInfo.vue @@ -1,6 +1,5 @@ @@ -99,7 +99,8 @@ function prepareData(list) { executorName: child.executorName, type: '关键成果', resultType: child.resultType, - targetValue: child.targetValue + targetValue: child.targetValue, + currentValue: Number(child.currentValue) } helpList.value.push(kr) return kr