sceneContent.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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 label="操作" v-slot:default="{ row }: { row: QuoteScene }">
  28. <span
  29. class="oper-span"
  30. v-pdpath="['view']"
  31. @click="openSceneUrl(row, OpenType.query)"
  32. v-if="row.status === QuoteSceneStatus.SUCCESS"
  33. >
  34. 查看
  35. </span>
  36. <span
  37. class="oper-span"
  38. v-pdpath="['edit']"
  39. @click="openSceneUrl(row, OpenType.edit)"
  40. v-if="row.status === QuoteSceneStatus.SUCCESS"
  41. >
  42. 编辑
  43. </span>
  44. <span
  45. v-if="
  46. [SceneType.SWSS, SceneType.SWYDSS].includes(row.type) &&
  47. [QuoteSceneStatus.SUCCESS].includes(row.status) &&
  48. row.location === LocationEnum.Scene_Location_PointCloud
  49. "
  50. class="oper-span"
  51. @click="genMeshScene(row)"
  52. >
  53. 生成obj
  54. </span>
  55. <span
  56. v-if="
  57. ![SceneType.SWSSMX, SceneType.SWYDMX].includes(row.type) &&
  58. row.status !== QuoteSceneStatus.RUN
  59. "
  60. class="oper-span delBtn"
  61. v-pdscene="row"
  62. @click="delSceneHandler(row)"
  63. v-pdpath="'del'"
  64. >
  65. 删除
  66. </span>
  67. <!-- <span
  68. class="oper-span"
  69. v-pdpath="['download']"
  70. @click="sceneDownload({ scene: row })"
  71. v-if="row.num"
  72. >
  73. 下载
  74. </span> -->
  75. </el-table-column>
  76. </el-table>
  77. </template>
  78. <script setup lang="ts">
  79. import {
  80. QuoteScene,
  81. QuoteSceneStatus,
  82. delQuoteScene,
  83. SceneType,
  84. genMeshScene,
  85. LocationEnum,
  86. } from "@/store/scene";
  87. import { ScenePagging } from "./pagging";
  88. import { QuoteSceneStatusDesc } from "@/constant/scene";
  89. import { OpenType, openSceneUrl } from "../case/help";
  90. import { confirm } from "@/helper/message";
  91. const props = defineProps<{ pagging: ScenePagging }>();
  92. const delSceneHandler = async (scene: QuoteScene) => {
  93. if (await confirm("确定要删除当前场景吗?")) {
  94. await delQuoteScene(scene);
  95. props.pagging.refresh();
  96. }
  97. };
  98. </script>