1
0

sceneContent.vue 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <template>
  2. <div class="body-head">
  3. <h3 style="visibility: hidden">场景管理</h3>
  4. </div>
  5. <el-table
  6. :data="pagging.state.table.rows"
  7. tooltip-effect="dark"
  8. style="width: 100%"
  9. size="large"
  10. >
  11. <!-- -1 计算失败 0 计算中 1 计算成功并可以外网访问,不能编辑 2计算成功只能内网,能编辑 -->
  12. <el-table-column label="序号" width="70" v-slot:default="{ $index }">
  13. <div style="text-align: center">
  14. {{ pagging.state.pag.size * (pagging.state.pag.currentPage - 1) + $index + 1 }}
  15. </div>
  16. </el-table-column>
  17. <el-table-column label="场景标题" prop="name"></el-table-column>
  18. <el-table-column label="S/N码" prop="snCode"></el-table-column>
  19. <!-- <el-table-column label="浏览数量" prop="viewCount"></el-table-column> -->
  20. <el-table-column label="拍摄时间" prop="createTime" v-slot:default="{ row }">
  21. {{ row.createTime.substr(0, 16) }}
  22. </el-table-column>
  23. <el-table-column label="状态" v-slot:default="{ row }: { row: QuoteScene }">
  24. {{ QuoteSceneStatusDesc[row.status] }}
  25. </el-table-column>
  26. <el-table-column label="所属架构" prop="deptName"></el-table-column>
  27. <el-table-column
  28. label="操作"
  29. v-slot:default="{ row }: { row: QuoteScene }"
  30. width="350px"
  31. >
  32. <span
  33. class="oper-span"
  34. @click="downHash(row)"
  35. v-if="row.status === QuoteSceneStatus.SUCCESS"
  36. >
  37. Hash
  38. </span>
  39. <span
  40. class="oper-span"
  41. @click="copySceneHandler(row)"
  42. v-if="row.status === QuoteSceneStatus.SUCCESS"
  43. >
  44. 复制
  45. </span>
  46. <span
  47. class="oper-span"
  48. v-pdpath="['view']"
  49. @click="openSceneUrl(row, OpenType.query)"
  50. v-if="row.status === QuoteSceneStatus.SUCCESS"
  51. >
  52. 查看
  53. </span>
  54. <span
  55. class="oper-span"
  56. v-pdpath="['edit']"
  57. @click="openSceneUrl(row, OpenType.edit)"
  58. v-if="row.status === QuoteSceneStatus.SUCCESS"
  59. >
  60. 编辑
  61. </span>
  62. <span
  63. v-if="
  64. [SceneType.SWSS, SceneType.SWYDSS].includes(row.type) &&
  65. [QuoteSceneStatus.SUCCESS].includes(row.status) &&
  66. row.location === LocationEnum.Scene_Location_PointCloud
  67. "
  68. v-pdpath="['gen']"
  69. class="oper-span"
  70. @click="genMeshScene(row)"
  71. >
  72. 生成obj
  73. </span>
  74. <span
  75. v-if="row.status !== QuoteSceneStatus.RUN"
  76. class="oper-span delBtn"
  77. @click="delSceneHandler(row)"
  78. v-pdpath="'del'"
  79. >
  80. 删除
  81. </span>
  82. <span
  83. class="oper-span"
  84. @click="sceneDownloadHandler(row)"
  85. v-pdpath="['download']"
  86. v-if="row.num && row.status === QuoteSceneStatus.SUCCESS"
  87. >
  88. 下载
  89. </span>
  90. </el-table-column>
  91. </el-table>
  92. </template>
  93. <script setup lang="ts">
  94. import {
  95. QuoteScene,
  96. QuoteSceneStatus,
  97. delQuoteScene,
  98. SceneType,
  99. genMeshScene,
  100. LocationEnum,
  101. copyQuoteScene,
  102. downQuoteSceneHash,
  103. } from "@/store/scene";
  104. import { ScenePagging } from "./pagging";
  105. import { QuoteSceneStatusDesc } from "@/constant/scene";
  106. import { OpenType, openSceneUrl } from "../case/help";
  107. import { confirm } from "@/helper/message";
  108. import { sceneDownload } from "./quisk";
  109. import { downSceneHash } from "@/request";
  110. const props = defineProps<{ pagging: ScenePagging }>();
  111. const delSceneHandler = async (scene: QuoteScene) => {
  112. if (await confirm("确定要删除当前场景吗?")) {
  113. await delQuoteScene(scene);
  114. props.pagging.refresh();
  115. }
  116. };
  117. const copySceneHandler = async (scene: QuoteScene) => {
  118. await copyQuoteScene(scene);
  119. props.pagging.refresh();
  120. };
  121. const downHash = async (scene: QuoteScene) => {
  122. downQuoteSceneHash(scene);
  123. };
  124. const sceneDownloadHandler = (scene: QuoteScene) => {
  125. sceneDownload({ scene });
  126. };
  127. </script>