MaterialDetail.vue 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <template>
  2. <Dialog hideTitle custom-show hide-footer @close="handleClose">
  3. <el-select
  4. v-model="warehouseId"
  5. placeholder="请选择"
  6. class="custom-select"
  7. size="large"
  8. popper-class="custom-select-popper"
  9. :teleported="false"
  10. @change="changSelect"
  11. >
  12. <el-option v-for="item in wareHouseList" :key="item.id" :label="item.name" :value="item.id" />
  13. </el-select>
  14. <div class="material-detail-container">
  15. <div class="common-table">
  16. <div class="table-header">
  17. <div class="td">物资名称</div>
  18. <div class="td">已有物资名称</div>
  19. <div class="td">物资型号</div>
  20. <div class="td">物资数量</div>
  21. <div class="td">物资单位</div>
  22. </div>
  23. <div v-for="(item, index) in detailData" :key="index" class="tr">
  24. <div class="td">{{ item.materia_name }}</div>
  25. <div class="td">-</div>
  26. <div class="td">-</div>
  27. <div class="td">{{ item.materia_num }}</div>
  28. <div class="td">{{ item.materia_unit }}</div>
  29. </div>
  30. </div>
  31. </div>
  32. </Dialog>
  33. </template>
  34. <script lang="ts" setup name="MaterialDetail">
  35. import { getRescueMateriaDetails, getWarehouseDetails2 } from '@/api/globalMap/spatialAnalysis';
  36. const props = defineProps({
  37. modelValue: Boolean,
  38. warehouseData: Object
  39. });
  40. const showDetail = inject('showDetail');
  41. let wareHouseList = ref([]);
  42. let warehouseId = ref();
  43. const emits = defineEmits(['update:modelValue']);
  44. let detailData = ref();
  45. const changSelect = (id) => {
  46. for (let i = 0; i < wareHouseList.value.length; i++) {
  47. if (wareHouseList.value[i].id === id) {
  48. const data = {
  49. id: wareHouseList.value[i].id,
  50. lat: wareHouseList.value[i].latitude,
  51. lng: wareHouseList.value[i].longitude
  52. };
  53. showDetail(data, 2);
  54. break;
  55. }
  56. }
  57. initData();
  58. };
  59. const initData = () => {
  60. getRescueMateriaDetails(warehouseId.value).then((res) => {
  61. detailData.value = res.rows;
  62. });
  63. };
  64. onMounted(() => {
  65. warehouseId.value = props.warehouseData.id;
  66. getWarehouseDetails2().then((res) => {
  67. wareHouseList.value = res.data.list;
  68. });
  69. initData();
  70. });
  71. const handleClose = () => {
  72. emits('update:modelValue', false);
  73. };
  74. </script>
  75. <style lang="scss" scoped>
  76. .custom-select {
  77. width: 800px;
  78. position: absolute;
  79. top: 20px;
  80. left: 55px;
  81. }
  82. </style>