|
|
@ -3,7 +3,7 @@ |
|
|
|
<el-affix postion="top" :offset="95"> |
|
|
|
<el-affix postion="top" :offset="95"> |
|
|
|
<div class="flex justify-between mb-4 bg-white"> |
|
|
|
<div class="flex justify-between mb-4 bg-white"> |
|
|
|
<b class="text-20px">{{ form.id ? '修改会议' : '新增会议' }}</b> |
|
|
|
<b class="text-20px">{{ form.id ? '修改会议' : '新增会议' }}</b> |
|
|
|
<el-button v-if="form.status == '未开始'" type="success" @click="submit()">保存</el-button> |
|
|
|
<el-button type="success" @click="submit()">保存</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-affix> |
|
|
|
</el-affix> |
|
|
|
<el-form :model="form" ref="formRef" :rules="rules" label-width="120px"> |
|
|
|
<el-form :model="form" ref="formRef" :rules="rules" label-width="120px"> |
|
|
@ -14,9 +14,16 @@ |
|
|
|
</el-form-item> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-col> |
|
|
|
<el-col :xl="12" :lg="12" :md="12" :sm="24" :xs="24"> |
|
|
|
<el-col :xl="12" :lg="12" :md="12" :sm="24" :xs="24"> |
|
|
|
<el-form-item label="OKR节点" prop="okrNodeName"> |
|
|
|
<el-tree-select |
|
|
|
<el-input v-model="form.okrNodeName" placeholder="请输入OKR节点" /> |
|
|
|
v-model="form.nodeId" |
|
|
|
</el-form-item> |
|
|
|
:data="peroidList" |
|
|
|
|
|
|
|
:props="defaultProps" |
|
|
|
|
|
|
|
:render-after-expand="false" |
|
|
|
|
|
|
|
:default-expand-all="false" |
|
|
|
|
|
|
|
check-strictly |
|
|
|
|
|
|
|
placeholder="选择OKR节点" |
|
|
|
|
|
|
|
style="width: 100%" |
|
|
|
|
|
|
|
/> |
|
|
|
</el-col> |
|
|
|
</el-col> |
|
|
|
<el-col :xl="6" :lg="6" :md="12" :sm="12" :xs="24"> |
|
|
|
<el-col :xl="6" :lg="6" :md="12" :sm="12" :xs="24"> |
|
|
|
<el-form-item label="会议时间" prop="startDate"> |
|
|
|
<el-form-item label="会议时间" prop="startDate"> |
|
|
@ -97,13 +104,15 @@ |
|
|
|
</el-row> |
|
|
|
</el-row> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :xl="12" :lg="12" :md="24" :sm="24" :xs="24"> |
|
|
|
<el-col :xl="12" :lg="12" :md="24" :sm="24" :xs="24"> |
|
|
|
<el-form-item label="会议内容" prop="content"> |
|
|
|
<el-form-item label="会议内容:" prop="content"> |
|
|
|
<Editor v-model="form.content" height="500px" /> |
|
|
|
<div v-if="isDetail" v-dompurify-html="form.content" class="w-full"></div> |
|
|
|
|
|
|
|
<Editor v-else v-model="form.content" height="500px" /> |
|
|
|
</el-form-item> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-col> |
|
|
|
<el-col :xl="12" :lg="12" :md="24" :sm="24" :xs="24"> |
|
|
|
<el-col :xl="12" :lg="12" :md="24" :sm="24" :xs="24"> |
|
|
|
<el-form-item label="会议纪要" prop="minutes"> |
|
|
|
<el-form-item label="会议纪要:" prop="minutes"> |
|
|
|
<Editor v-model="form.minutes" height="500px" /> |
|
|
|
<div v-if="isDetail" v-dompurify-html="form.minutes" class="w-full"></div> |
|
|
|
|
|
|
|
<Editor v-else v-model="form.minutes" height="500px" /> |
|
|
|
</el-form-item> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</el-row> |
|
|
@ -112,9 +121,20 @@ |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
<script setup name="MeetingInfo"> |
|
|
|
<script setup name="MeetingInfo"> |
|
|
|
|
|
|
|
import { listToTree } from '@/utils/tree' |
|
|
|
|
|
|
|
import { getAllNodeTree } from '@/api/okr/okr' |
|
|
|
|
|
|
|
|
|
|
|
const route = useRoute() |
|
|
|
const route = useRoute() |
|
|
|
|
|
|
|
const defaultProps = { |
|
|
|
|
|
|
|
value: 'nodeId', |
|
|
|
|
|
|
|
label: 'nodeName', |
|
|
|
|
|
|
|
children: 'children' |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const isDetail = route.query.isDetail |
|
|
|
|
|
|
|
|
|
|
|
onMounted(() => { |
|
|
|
onMounted(() => { |
|
|
|
|
|
|
|
getOptions() |
|
|
|
if (route.params.id && route.params.id != 0) { |
|
|
|
if (route.params.id && route.params.id != 0) { |
|
|
|
// 模拟获取会议详情 |
|
|
|
// 模拟获取会议详情 |
|
|
|
// 这里可以调用API获取会议详情数据 |
|
|
|
// 这里可以调用API获取会议详情数据 |
|
|
@ -123,6 +143,19 @@ onMounted(() => { |
|
|
|
console.error('会议ID不存在') |
|
|
|
console.error('会议ID不存在') |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const peroidList = ref([]) |
|
|
|
|
|
|
|
function getOptions() { |
|
|
|
|
|
|
|
// 模拟获取OKR节点数据 |
|
|
|
|
|
|
|
getAllNodeTree().then((resp) => { |
|
|
|
|
|
|
|
peroidList.value = listToTree(resp?.tree || [], { |
|
|
|
|
|
|
|
id: 'nodeId', |
|
|
|
|
|
|
|
pid: 'parentId', |
|
|
|
|
|
|
|
children: 'children' |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const form = ref({ |
|
|
|
const form = ref({ |
|
|
|
id: 0, |
|
|
|
id: 0, |
|
|
|
subject: '', |
|
|
|
subject: '', |
|
|
@ -175,7 +208,9 @@ const getMeetingInfo = () => { |
|
|
|
expectUsers: ['张三', '李四', '王五'], |
|
|
|
expectUsers: ['张三', '李四', '王五'], |
|
|
|
actualUsers: ['张三', '李四'], |
|
|
|
actualUsers: ['张三', '李四'], |
|
|
|
okrNodeName: 'OKR节点1', |
|
|
|
okrNodeName: 'OKR节点1', |
|
|
|
status: '未开始' |
|
|
|
status: '未开始', |
|
|
|
|
|
|
|
content: '<p>会议内容示例</p> <p><img src="https://picsum.photos/200/300" alt=""></p>', |
|
|
|
|
|
|
|
minutes: '<p>会议纪要示例</p>' |
|
|
|
} |
|
|
|
} |
|
|
|
handleUserChange() |
|
|
|
handleUserChange() |
|
|
|
}, 1000) |
|
|
|
}, 1000) |
|
|
|