|
|
@ -124,12 +124,7 @@ |
|
|
|
:name="item.userId + ''" |
|
|
|
:name="item.userId + ''" |
|
|
|
/> |
|
|
|
/> |
|
|
|
</el-tabs> |
|
|
|
</el-tabs> |
|
|
|
<el-tabs |
|
|
|
<el-tabs v-model="currentContentId" tab-position="left" addable @edit="handleTabsEdit"> |
|
|
|
v-model="currentContentId" |
|
|
|
|
|
|
|
tab-position="left" |
|
|
|
|
|
|
|
:addable="!isDetail" |
|
|
|
|
|
|
|
@edit="handleTabsEdit" |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
<el-tab-pane |
|
|
|
<el-tab-pane |
|
|
|
v-for="(item, index) in form.meetingContentList.find( |
|
|
|
v-for="(item, index) in form.meetingContentList.find( |
|
|
|
(it) => it.userId == currentUserId |
|
|
|
(it) => it.userId == currentUserId |
|
|
@ -137,7 +132,7 @@ |
|
|
|
:key="index" |
|
|
|
:key="index" |
|
|
|
:label="'内容' + (index + 1)" |
|
|
|
:label="'内容' + (index + 1)" |
|
|
|
:name="index" |
|
|
|
:name="index" |
|
|
|
:closable="index > 0 && !isDetail" |
|
|
|
:closable="index > 0" |
|
|
|
> |
|
|
|
> |
|
|
|
<div v-if="!!isDetail" v-dompurify-html="item.content" class="w-full"></div> |
|
|
|
<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%" /> |
|
|
|
<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"> |
|
|
|
<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-if="!!isDetail" v-dompurify-html="form.meetingSummary" class="w-full"></div> |
|
|
|
<div v-else> |
|
|
|
<div v-else> |
|
|
|
<el-tabs v-model="summaryIdx" :addable="!isDetail" @edit="meetingSummaryEdit"> |
|
|
|
<el-tabs v-model="summaryIdx" addable @edit="meetingSummaryEdit"> |
|
|
|
<el-tab-pane |
|
|
|
<el-tab-pane |
|
|
|
v-for="(item, index) in form.meetingSummaryList" |
|
|
|
v-for="(item, index) in form.meetingSummaryList" |
|
|
|
:key="index" |
|
|
|
:key="index" |
|
|
|
:label="`会议纪要${index || ''}`" |
|
|
|
:label="`会议纪要${index || ''}`" |
|
|
|
:name="index" |
|
|
|
:name="index" |
|
|
|
:closable="index > 0 && !isDetail" |
|
|
|
:closable="index > 0" |
|
|
|
> |
|
|
|
> |
|
|
|
<Editor |
|
|
|
<Editor |
|
|
|
v-model="item.summary" |
|
|
|
v-model="item.summary" |
|
|
@ -230,6 +225,7 @@ |
|
|
|
<script setup name="MeetingInfo"> |
|
|
|
<script setup name="MeetingInfo"> |
|
|
|
import { listToTree } from '@/utils/tree' |
|
|
|
import { listToTree } from '@/utils/tree' |
|
|
|
import { getAllNodeTree } from '@/api/okr/okr' |
|
|
|
import { getAllNodeTree } from '@/api/okr/okr' |
|
|
|
|
|
|
|
import { getWaitPage } from '@/api/okr/wait' |
|
|
|
import * as MeetingApi from '@/api/okr/meeting' |
|
|
|
import * as MeetingApi from '@/api/okr/meeting' |
|
|
|
import { formatDate } from '@/utils/formatTime' |
|
|
|
import { formatDate } from '@/utils/formatTime' |
|
|
|
import { getEmployeeSimpleList } from '@/api/pers/employee' |
|
|
|
import { getEmployeeSimpleList } from '@/api/pers/employee' |
|
|
@ -275,6 +271,7 @@ onMounted(async () => { |
|
|
|
} |
|
|
|
} |
|
|
|
] |
|
|
|
] |
|
|
|
currentContentId.value = 0 |
|
|
|
currentContentId.value = 0 |
|
|
|
|
|
|
|
searchUserWait([userStore.getUser.id]) |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
@ -431,6 +428,7 @@ function meetingSummaryEdit(targetName, action) { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const checkedUsers = ref([]) |
|
|
|
function handleUserChange(val) { |
|
|
|
function handleUserChange(val) { |
|
|
|
// 当预约参会人员变化时,更新实际参会人员选项 |
|
|
|
// 当预约参会人员变化时,更新实际参会人员选项 |
|
|
|
expectUserOptions.value = userOptions.value.filter((user) => |
|
|
|
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() |
|
|
|
const router = useRouter() |
|
|
|