qsh 1 month ago
parent 9b323b68f9
commit c0be75b6fd
  1. 49
      src/views/OKR/Meeting/MeetingInfo.vue
  2. 6
      src/views/OKR/Wait/Components/DialogWait.vue
  3. 13
      src/views/OKR/Wait/index.vue

@ -124,12 +124,7 @@
:name="item.userId + ''"
/>
</el-tabs>
<el-tabs
v-model="currentContentId"
tab-position="left"
:addable="!isDetail"
@edit="handleTabsEdit"
>
<el-tabs v-model="currentContentId" tab-position="left" addable @edit="handleTabsEdit">
<el-tab-pane
v-for="(item, index) in form.meetingContentList.find(
(it) => it.userId == currentUserId
@ -137,7 +132,7 @@
:key="index"
:label="'内容' + (index + 1)"
:name="index"
:closable="index > 0 && !isDetail"
:closable="index > 0"
>
<div v-if="!!isDetail" v-dompurify-html="item.content" class="w-full"></div>
<Editor v-else v-model="item.content" height="500px" style="width: 100%" />
@ -147,13 +142,13 @@
<el-col :xl="8" :lg="8" :md="24" :sm="24" :xs="24" v-if="!!form.meetingId">
<div v-if="!!isDetail" v-dompurify-html="form.meetingSummary" class="w-full"></div>
<div v-else>
<el-tabs v-model="summaryIdx" :addable="!isDetail" @edit="meetingSummaryEdit">
<el-tabs v-model="summaryIdx" addable @edit="meetingSummaryEdit">
<el-tab-pane
v-for="(item, index) in form.meetingSummaryList"
:key="index"
:label="`会议纪要${index || ''}`"
:name="index"
:closable="index > 0 && !isDetail"
:closable="index > 0"
>
<Editor
v-model="item.summary"
@ -230,6 +225,7 @@
<script setup name="MeetingInfo">
import { listToTree } from '@/utils/tree'
import { getAllNodeTree } from '@/api/okr/okr'
import { getWaitPage } from '@/api/okr/wait'
import * as MeetingApi from '@/api/okr/meeting'
import { formatDate } from '@/utils/formatTime'
import { getEmployeeSimpleList } from '@/api/pers/employee'
@ -275,6 +271,7 @@ onMounted(async () => {
}
]
currentContentId.value = 0
searchUserWait([userStore.getUser.id])
}
})
@ -431,6 +428,7 @@ function meetingSummaryEdit(targetName, action) {
}
}
const checkedUsers = ref([])
function handleUserChange(val) {
//
expectUserOptions.value = userOptions.value.filter((user) =>
@ -457,6 +455,39 @@ function handleUserChange(val) {
})
}
})
if (!form.value.meetingId) {
searchUserWait(val)
}
}
function searchUserWait(val) {
val.map((item) => {
if (!checkedUsers.value.includes(item)) {
checkedUsers.value.push(item)
//
getWaitPage({
pageNo: 1,
pageSize: -1,
workUserId: item,
creator: userStore.getUser.id,
completeStatus: 1
}).then((resp) => {
joinContent(resp.list)
})
}
})
}
function joinContent(arr) {
arr.map((wait) => {
let text = '<p>未完成事项:' + wait.title + '</p>'
text += wait.content
text += `<p>执行人:${wait.userNameStr}</p>`
text += `<p>截止日期:${formatDate(wait.endDate, 'YYYY-MM-DD')}</p>`
text += '<p><br></p>'
form.value.meetingContentList[0].userMeetingContentList[0].content =
text + form.value.meetingContentList[0].userMeetingContentList[0].content
})
}
const router = useRouter()

@ -4,7 +4,7 @@
<el-form
:model="form"
ref="formRef"
:disabled="formType == 'do'"
:disabled="['do', 'detail'].includes(formType)"
:rules="rules"
label-width="80px"
class="flex-1"
@ -239,7 +239,9 @@ const followList = ref([])
function open(type, id) {
show.value = true
title.value = { create: '新增待办', update: '修改待办', do: '更新待办进度' }[type]
title.value = { create: '新增待办', update: '修改待办', do: '更新待办进度', detail: '待办详情' }[
type
]
formType.value = type
resetForm()
if (id) {

@ -139,6 +139,15 @@
>
修改
</el-button>
<el-button
v-if="row.completeStatus == 2"
style="padding: 0; margin-right: 10px; margin-left: 0"
type="primary"
text
@click="handleDetail(row)"
>
详情
</el-button>
<el-button
v-if="row.creator == currentUserId && row.completeStatus == 1"
style="padding: 0; margin-right: 10px; margin-left: 0"
@ -271,6 +280,10 @@ function handleEdit(row) {
waitDialogRef.value.open('update', row.workId)
}
function handleDetail(row) {
waitDialogRef.value.open('detail', row.workId)
}
function handleDelete(row) {
message.confirm('确定删除待办事项吗?').then(() => {
deleteWait(row.workId).then(() => {

Loading…
Cancel
Save