index.vue 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <template>
  2. <el-scrollbar>
  3. <div class="grid-container">
  4. <div v-for="(box, index) in drawingData" :key="index" class="suit-box">
  5. <div class="pdf-box">
  6. <PDFView
  7. :need-to-show-pdf="true"
  8. :pdf-source="baseUrl + box.drawingPath"
  9. />
  10. </div>
  11. <div class="suit-title">{{ box?.drawingTitle }}</div>
  12. <div class="suit-desc">{{ box?.created }}</div>
  13. </div>
  14. </div>
  15. </el-scrollbar>
  16. </template>
  17. <script lang="ts" setup>
  18. import { drawingList } from "@/api/process/reportBreak";
  19. import { useProcessStore } from "@/store/modules/processView";
  20. import PDFView from "@/components/PDFView/index.vue";
  21. const processStore = useProcessStore();
  22. const drawingData = ref<any>([]);
  23. const baseUrl = import.meta.env.VITE_APP_UPLOAD_URL;
  24. onMounted(() => {
  25. drawingList({ materialCode: processStore.scanInfo.materialCode }).then(
  26. (res) => {
  27. drawingData.value = res.data;
  28. }
  29. );
  30. });
  31. </script>
  32. <style lang="scss" scoped>
  33. .grid-container {
  34. display: grid;
  35. /*行间距*/
  36. grid-row-gap: 24px;
  37. /*列间距*/
  38. grid-column-gap: 24px;
  39. overflow-y: auto;
  40. padding: 24px;
  41. width: calc(100% - 48px);
  42. grid-template-columns: 1fr 1fr 1fr;
  43. .suit-box {
  44. height: 343px;
  45. background-color: white;
  46. border-radius: 16px 16px 16px 16px;
  47. display: flex;
  48. flex-direction: column;
  49. align-items: start;
  50. justify-content: center;
  51. .pdf-box {
  52. height: 263px;
  53. width: 100%;
  54. overflow: hidden;
  55. }
  56. .suit-title {
  57. font-weight: 500;
  58. font-size: 20px;
  59. color: rgba(0, 0, 0, 0.9);
  60. text-align: left;
  61. margin-left: 24px;
  62. }
  63. .suit-desc {
  64. font-size: 20px;
  65. color: rgba(0, 0, 0, 0.6);
  66. text-align: left;
  67. margin-left: 24px;
  68. }
  69. }
  70. }
  71. </style>