index.vue 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <template>
  2. <div class="page-container">
  3. <div class="header-bar">
  4. <div>
  5. <el-button link @click="openMindmap" class="mr-8px"><img class="w-1em mr-4px" :src="saveImg"/>保存</el-button>
  6. <!-- <el-button link @click="openMindmap"><img class="w-1em mr-4px" :src="mindmapImg"/>思维导图模式</el-button> -->
  7. </div>
  8. <div>
  9. <!-- <el-button link @click="openMindmap" class="mr-8px"><img class="w-1em mr-4px" :src="saveImg"/>项目比对</el-button> -->
  10. <el-select placeholder="历史版本" class="w-120px" size="small">
  11. <el-option label="2025.7.16 12:12" value="1"></el-option>
  12. </el-select>
  13. </div>
  14. </div>
  15. <Sheet ref="sheetRef" :created="onSheetCreated" show-export-menu show-import-menu />
  16. </div>
  17. <MindmapModal ref="mindmapModalRef"/>
  18. </template>
  19. <script setup lang="ts">
  20. import { ref } from "vue";
  21. import type { UniverExpose } from "@/components/Sheet.vue";
  22. import Sheet from "@/components/Sheet.vue";
  23. import MindmapModal from "./MindmapModal.vue";
  24. // import mindmapImg from "@/assets/mindmap.svg";
  25. import saveImg from "@/assets/save.svg";
  26. import { useEditBomStore } from "@/store/editbom";
  27. import type { FUniver, Univer } from "@univerjs/presets";
  28. const sheetRef = ref<UniverExpose | null>(null);
  29. const mindmapModalRef = ref<any>(null);
  30. const editBomStore = useEditBomStore();
  31. const onSheetCreated = (univer: Univer, univerApi: FUniver) => {
  32. editBomStore.univer = univer;
  33. editBomStore.univerApi = univerApi;
  34. }
  35. const openMindmap = () => {
  36. mindmapModalRef.value.open();
  37. };
  38. </script>
  39. <style lang="less" scoped>
  40. .page-container {
  41. height: 100%;
  42. display: flex;
  43. flex-direction: column;
  44. /* align-items: center; */
  45. justify-content: center;
  46. height: 100%;
  47. }
  48. .header-bar {
  49. height: 40px;
  50. background: #f5f5f5;
  51. padding: 0 12px;
  52. line-height: 40px;
  53. display: inline-flex;
  54. align-items: center;
  55. justify-content: space-between;
  56. }
  57. </style>