qsh 2 weeks ago
parent 8f4da16e81
commit be9a9d77be
  1. 5
      .env.pro
  2. 49
      src/views/OKR/Analysis/index.vue
  3. 27
      src/views/OKR/Meeting/MeetingInfo.vue

@ -5,6 +5,11 @@ VITE_DEV=false
# 请求路径
VITE_BASE_URL='/crm-api'
# 高德地图key密钥
# 1寻驾
VITE_AMAP_KEY=ec6b7ebe38f7ff27126f7088d87a9091
# 2莳松
# VITE_AMAP_KEY=9233a9d4ffe95fb335e70834503460fa
# 上传路径
VITE_UPLOAD_URL='/crm-api/admin-api/system/file/upload'

@ -46,6 +46,7 @@
id="okrAnalysisTable"
:data="originList"
border
:show-summary="!!tableKeywords"
:span-method="objectSpanMethod"
@cell-click="handleClickCell"
>
@ -57,7 +58,26 @@
<!-- <el-table-column prop="objectiveId" label="占比" width="100px">
<template #default> 0 </template>
</el-table-column> -->
<el-table-column prop="keyResultShowName" label="关键成果">
<el-table-column prop="keyResultShowName">
<template #header>
<div class="flex items-center justify-center">
<div class="flex-1 mr-10px">
<el-input
v-if="showTableSearch"
v-model="tableKeywords"
placeholder="请输入关键字"
size="small"
style="width: 100%"
clearable
@change="handleTableFilter"
/>
<div v-else>关键成果</div>
</div>
<el-button type="primary" size="small" @click="handleFilterTableClick">
{{ showTableSearch ? '取消' : '筛选' }}
</el-button>
</div>
</template>
<template #default="{ row }">
{{ row.sourceName ? `${row.sourceName}` : '' }} {{ row.keyResultShowName }}
</template>
@ -302,6 +322,9 @@ const customColors = [
const peroidList = ref([])
const showTableSearch = ref(false)
const tableKeywords = ref('')
handleSearchPeroid()
getOptions()
@ -343,6 +366,7 @@ function nodeChange(nodeId) {
}
const originList = ref([])
const defaultTableList = ref([])
const spanObj = ref([])
function getOkrList() {
getAllOkrPage(searchForm.value).then((resp) => {
@ -363,6 +387,7 @@ function getOkrList() {
originList.value = [...originList.value, ...arr]
}
})
defaultTableList.value = [...originList.value]
}
})
}
@ -548,6 +573,28 @@ function handleSaveComment() {
function handleExport() {
exportTableWithVue('#okrAnalysisTable', `OKR分析报表-${currentNode.value.nodeName}`)
}
function handleTableFilter() {
console.log('tableKeywords', tableKeywords.value)
if (tableKeywords.value) {
originList.value = defaultTableList.value.filter(
(item) =>
item.keyResultName.includes(tableKeywords.value) ||
item.sourceName.includes(tableKeywords.value)
)
} else {
originList.value = [...defaultTableList.value]
}
}
function handleFilterTableClick() {
showTableSearch.value = !showTableSearch.value
if (!showTableSearch.value) {
tableKeywords.value = ''
originList.value = [...defaultTableList.value]
}
}
</script>
<style lang="scss" scoped></style>

@ -113,16 +113,25 @@
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :xl="12" :lg="12" :md="24" :sm="24" :xs="24">
<el-form-item label="会议内容:" prop="meetingContent">
<el-col :xl="16" :lg="16" :md="24" :sm="24" :xs="24">
<el-form-item label="会议内容" prop="meetingContent">
<div v-if="!!isDetail" v-dompurify-html="form.meetingContent" class="w-full"></div>
<Editor v-else v-model="form.meetingContent" height="500px" />
<Editor v-else v-model="form.meetingContent" height="500px" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :xl="12" :lg="12" :md="24" :sm="24" :xs="24" v-if="!!form.meetingId">
<el-form-item label="会议纪要:" prop="meetingSummary">
<div v-if="!!isDetail" v-dompurify-html="form.meetingSummary" class="w-full"></div>
<Editor v-else v-model="form.meetingSummary" height="500px" />
<el-col :xl="8" :lg="8" :md="24" :sm="24" :xs="24" v-if="!!form.meetingId">
<el-form-item label="会议纪要" prop="meetingSummary" label-width="80px">
<!-- <div v-if="!!isDetail" v-dompurify-html="form.meetingSummary" class="w-full"></div>
<Editor v-else v-model="form.meetingSummary" height="500px" /> -->
<div v-if="!!isDetail" class="w-full">{{ form.meetingSummary }}</div>
<el-input
v-else
type="textarea"
placeholder="请输入会议纪要"
:maxlength="-1"
:show-word-limit="false"
:autosize="{ minRows: 20 }"
/>
</el-form-item>
</el-col>
</el-row>
@ -250,7 +259,9 @@ function handleUserChange() {
expectUserOptions.value = userOptions.value.filter((user) =>
form.value.expectUsers.some((it) => it == user.id)
)
form.value.actualUsers = [...form.value.expectUsers]
if (!isDetail) {
form.value.actualUsers = [...form.value.expectUsers]
}
}
const router = useRouter()

Loading…
Cancel
Save