From 8a2d976552a826dff8dde43d65f5ec84cc9ef2c7 Mon Sep 17 00:00:00 2001 From: qsh <> Date: Mon, 31 Mar 2025 17:45:00 +0800 Subject: [PATCH] sc --- src/api/okr/comment.js | 29 +++++++ src/api/okr/okr.js | 40 ++++----- src/api/okr/wait.js | 36 ++++---- .../OKR/Management/Components/DialogOkr.vue | 87 ++++++++++++++----- .../OKR/Management/Components/OkrTable.vue | 7 +- 5 files changed, 137 insertions(+), 62 deletions(-) create mode 100644 src/api/okr/comment.js diff --git a/src/api/okr/comment.js b/src/api/okr/comment.js new file mode 100644 index 0000000..a9758a9 --- /dev/null +++ b/src/api/okr/comment.js @@ -0,0 +1,29 @@ +import request from '@/config/axios' + +// 创建 +export const createComment = (data) => { + return request.post({ + url: '/admin-api/okr/comments/create', + data, + isSubmitForm: true, + headers: { 'instance-id': 1016 } + }) +} + +// 分页 +export const getCommentPage = (params) => { + return request.get({ + url: '/admin-api/okr/comments/page', + params, + headers: { 'instance-id': 1016 } + }) +} + +// 获取评论类型 +export const getCommentTypeOptions = () => { + return request.get({ + url: '/admin-api/okr/dict-data/get-by-type', + params: { dictType: 'comment_type' } + // headers: { 'instance-id': 1016 } + }) +} diff --git a/src/api/okr/okr.js b/src/api/okr/okr.js index 1f1d4fb..a274ab0 100644 --- a/src/api/okr/okr.js +++ b/src/api/okr/okr.js @@ -5,8 +5,8 @@ export const createOkrNode = (data) => { return request.post({ url: '/admin-api/okr/node/add', data, - isSubmitForm: true, - headers: { 'instance-id': 1016 } + isSubmitForm: true + // headers: { 'instance-id': 1016 } }) } @@ -14,8 +14,8 @@ export const createOkrNode = (data) => { export const updateOkrNode = (data) => { return request.put({ url: '/admin-api/okr/node/update', - data, - headers: { 'instance-id': 1016 } + data + // headers: { 'instance-id': 1016 } }) } @@ -23,8 +23,8 @@ export const updateOkrNode = (data) => { export const getOkrNodeDetail = (nodeId) => { return request.get({ url: '/admin-api/okr/node/get', - params: { nodeId }, - headers: { 'instance-id': 1016 } + params: { nodeId } + // headers: { 'instance-id': 1016 } }) } @@ -32,8 +32,8 @@ export const getOkrNodeDetail = (nodeId) => { export const getMyNodeTree = (params) => { return request.get({ url: '/admin-api/okr/node/my/list', - params, - headers: { 'instance-id': 1016 } + params + // headers: { 'instance-id': 1016 } }) } @@ -41,8 +41,8 @@ export const getMyNodeTree = (params) => { export const getMyOkrPage = (params) => { return request.get({ url: '/admin-api/okr/node/my/object/list', - params, - headers: { 'instance-id': 1016 } + params + // headers: { 'instance-id': 1016 } }) } @@ -50,8 +50,8 @@ export const getMyOkrPage = (params) => { export const getAllNodeTree = (params) => { return request.get({ url: '/admin-api/okr/node/all/list', - params, - headers: { 'instance-id': 1016 } + params + // headers: { 'instance-id': 1016 } }) } @@ -59,8 +59,8 @@ export const getAllNodeTree = (params) => { export const getAllOkrPage = (params) => { return request.get({ url: '/admin-api/okr/node/all/object/list', - params, - headers: { 'instance-id': 1016 } + params + // headers: { 'instance-id': 1016 } }) } @@ -68,8 +68,8 @@ export const getAllOkrPage = (params) => { export const getOkrNodeHistory = (nodeId) => { return request.get({ url: '/admin-api/okr/record/list', - params: { nodeId }, - headers: { 'instance-id': 1016 } + params: { nodeId } + // headers: { 'instance-id': 1016 } }) } @@ -77,8 +77,8 @@ export const getOkrNodeHistory = (nodeId) => { export const getDefaultOkrOptions = () => { return request.get({ url: '/admin-api/okr/dict-data/get-by-type', - params: { dictType: 'key_result_source' }, - headers: { 'instance-id': 1016 } + params: { dictType: 'key_result_source' } + // headers: { 'instance-id': 1016 } }) } @@ -86,7 +86,7 @@ export const getDefaultOkrOptions = () => { export const updateOkrProgress = (data) => { return request.put({ url: '/admin-api/okr/node/progress/update', - data, - headers: { 'instance-id': 1016 } + data + // headers: { 'instance-id': 1016 } }) } diff --git a/src/api/okr/wait.js b/src/api/okr/wait.js index 2431c03..fa8517e 100644 --- a/src/api/okr/wait.js +++ b/src/api/okr/wait.js @@ -5,8 +5,8 @@ export const createWait = (data) => { return request.post({ url: '/admin-api/okr/agent-work/create', data, - isSubmitForm: true, - headers: { 'instance-id': 1016 } + isSubmitForm: true + // headers: { 'instance-id': 1016 } }) } @@ -14,8 +14,8 @@ export const createWait = (data) => { export const updateWait = (data) => { return request.put({ url: '/admin-api/okr/agent-work/update', - data, - headers: { 'instance-id': 1016 } + data + // headers: { 'instance-id': 1016 } }) } @@ -23,8 +23,8 @@ export const updateWait = (data) => { export const getWaitPage = (params) => { return request.get({ url: '/admin-api/okr/agent-work/page', - params, - headers: { 'instance-id': 1016 } + params + // headers: { 'instance-id': 1016 } }) } @@ -32,8 +32,8 @@ export const getWaitPage = (params) => { export const getWaitDetail = (id) => { return request.get({ url: '/admin-api/okr/agent-work/get', - params: { id }, - headers: { 'instance-id': 1016 } + params: { id } + // headers: { 'instance-id': 1016 } }) } @@ -41,8 +41,8 @@ export const getWaitDetail = (id) => { export const deleteWait = (id) => { return request.delete({ url: '/admin-api/okr/agent-work/delete', - params: { id }, - headers: { 'instance-id': 1016 } + params: { id } + // headers: { 'instance-id': 1016 } }) } @@ -50,8 +50,8 @@ export const deleteWait = (id) => { export const urgeWait = (workId) => { return request.get({ url: '/admin-api/okr/agent-work/urge', - params: { workId }, - headers: { 'instance-id': 1016 } + params: { workId } + // headers: { 'instance-id': 1016 } }) } @@ -60,8 +60,8 @@ export const followWait = (data) => { return request.post({ url: '/admin-api/okr/agent-work-follow/create', data, - isSubmitForm: true, - headers: { 'instance-id': 1016 } + isSubmitForm: true + // headers: { 'instance-id': 1016 } }) } @@ -69,15 +69,15 @@ export const followWait = (data) => { export const getFollowWaitPage = (params) => { return request.get({ url: '/admin-api/okr/agent-work-follow/list', - params, - headers: { 'instance-id': 1016 } + params + // headers: { 'instance-id': 1016 } }) } export const getWaitCount = (params) => { return request.get({ url: '/admin-api/okr/agent-work/getAgentWorkNum', - params, - headers: { 'instance-id': 1016 } + params + // headers: { 'instance-id': 1016 } }) } diff --git a/src/views/OKR/Management/Components/DialogOkr.vue b/src/views/OKR/Management/Components/DialogOkr.vue index 003b04e..f430229 100644 --- a/src/views/OKR/Management/Components/DialogOkr.vue +++ b/src/views/OKR/Management/Components/DialogOkr.vue @@ -134,11 +134,12 @@ style="width: 120px" @change="getCommentTemplate" > - - - - - +
@@ -158,7 +159,12 @@ :toolbarConfig="toolbarConfig" />
-
+
- 门庆 + {{ it.creatorName }} -
西门庆
+
{{ it.creatorName }}
-
01-01 12:15
+
{{ it.createTime }}
-
+
- 6 + {{ it.likeCount }}
- 1 + {{ it.commentCount }}
@@ -271,6 +277,7 @@ import { formatDate } from '@/utils/formatTime' import OkrTable from './OkrTable.vue' import { getOkrNodeDetail, getOkrNodeHistory } from '@/api/okr/okr' +import { getCommentTypeOptions, createComment, getCommentPage } from '@/api/okr/comment' const emit = defineEmits(['edit']) @@ -302,12 +309,14 @@ const okrTableRef = ref(null) const nodeInfo = ref({}) const nodeRecords = ref([]) +const commentTypeOptions = ref([]) async function open(curNode) { canEdit.value = curNode.canEdit + nodeInfo.value.nodeId = curNode.nodeId + // 获取数据详情 searchInfo(curNode) show.value = true - // 获取数据详情 } function searchInfo(curNode) { @@ -330,6 +339,10 @@ function searchInfo(curNode) { getOkrNodeHistory(curNode.nodeId).then((resp) => { nodeRecords.value = resp }) + getCommentTypeOptions().then((resp) => { + commentTypeOptions.value = resp + }) + searchCommentList() } finally { } } @@ -354,28 +367,60 @@ function handleChildItem() { const addNewComment = ref(false) const form = ref({ commentValue: '', - commentType: 1 + commentType: undefined }) function handleInsertComment() { addNewComment.value = true - form.value = { - commentValue: '', - commentType: 1 + const defaultComment = commentTypeOptions.value[0] + if (defaultComment) { + form.value = { + commentType: defaultComment.id, + mentionedUserIdList: [] + } } getCommentTemplate() } function getCommentTemplate() { - form.value.commentValue = `

一、工作概况

   

二、数据统计

  1. 呼出电话数:
  2. 有效沟通数:
  3. 销售成果

三、问题与改进方案


` + if (form.value.commentType) { + form.value.commentValue = commentTypeOptions.value.find( + (item) => item.id == form.value.commentType + ).remark + } else { + form.value.commentValue = `

一、工作概况

   

二、数据统计

  1. 呼出电话数:
  2. 有效沟通数:
  3. 销售成果

三、问题与改进方案


` + } } function handleSaveComment() { addNewComment.value = false + try { + const data = { + businessType: 1, + businessId: nodeInfo.value.nodeId, + contentType: 1, + content: form.value.commentValue, + mentionedUserIdList: form.value.mentionedUserIdList + } + createComment(data).then(() => { + message.success('评论成功') + searchCommentList() + }) + } catch (error) { + message.error('评论失败') + } } +const commentList = ref([]) -const commentListVal = ref( - `

一、工作概况

  刷牙洗脸吃饭穿鞋出门开车上班捣台球 

二、数据统计

  1. 呼出电话数:666
  2. 有效沟通数:123
  3. 销售成果:今日成交20,本月成交120,距离目标还差888

三、问题与改进方案


` -) +function searchCommentList() { + getCommentPage({ + businessType: 1, + businessId: nodeInfo.value.nodeId, + pageNum: 1, + pageSize: 100 + }).then((resp) => { + commentList.value = resp.list + }) +} function good(index) { console.log(index) diff --git a/src/views/OKR/Management/Components/OkrTable.vue b/src/views/OKR/Management/Components/OkrTable.vue index d247c59..27f741c 100644 --- a/src/views/OKR/Management/Components/OkrTable.vue +++ b/src/views/OKR/Management/Components/OkrTable.vue @@ -41,8 +41,8 @@ v-model="row.currentValue" size="small" > - - + + @@ -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