purchase-modal.vue 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <script setup lang="ts">
  2. import { ref, computed } from "vue";
  3. import BasicDescriptions from "/@/components/BasicDescriptions";
  4. import { purchaseOrderNotIncludeProduceColumns, purchaseOrderNotIncludeProduceChildColumns } from "/@/utils/details/_purchase";
  5. import { httpInfo } from "/@/api/purchase/porder";
  6. import QueryString from 'qs';
  7. const visible = ref(false);
  8. const loading = ref(false);
  9. const child = ref([]);
  10. const columns = computed(() => {
  11. return child.value.length === 0 ? purchaseOrderNotIncludeProduceColumns : purchaseOrderNotIncludeProduceChildColumns
  12. })
  13. const data = ref<Record<string, string>>({});
  14. defineExpose({
  15. onDisplay: async _data => {
  16. visible.value = true;
  17. data.value = _data;
  18. loading.value = true;
  19. const result = await httpInfo({ sequenceNo: _data.sequenceNo })
  20. loading.value = false;
  21. child.value = result.data.child
  22. }
  23. });
  24. </script>
  25. <template>
  26. <ElDialog
  27. v-model="visible"
  28. title="采购单详情"
  29. width="1100px"
  30. center
  31. :close-on-click-modal="false"
  32. @close="data = {}"
  33. >
  34. <BasicDescriptions
  35. v-loading="loading"
  36. :columns="columns"
  37. :data="{...data, child }"
  38. />
  39. </ElDialog>
  40. </template>