index.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <template>
  2. <div class="details-main">
  3. <div class="details-main-box">
  4. <div class="details-dr">
  5. <Map :address="detailsData.address" :latAndLng="{latitude:detailsData.latitude,longitude:detailsData.longitude}"/>
  6. </div>
  7. <div class="details-list">
  8. <div class="details-list-item" v-for="item in detailsData.secondOrderList" :key="item.secondOrderId">
  9. <el-image style="width: 100px; height: 100px"
  10. :src="item.volunteerPicture" />
  11. <div>
  12. <div>姓名:{{ detailsData.clientName }}</div>
  13. <div>评分:{{ item.userReview }}</div>
  14. <div>类别:{{ detailsData.businessTierName }}</div>
  15. <div style="display: flex;">订单状态:<dict-tag :options="lrr_service_status" :value="item.orderStatus" /></div>
  16. </div>
  17. </div>
  18. <el-divider />
  19. </div>
  20. </div>
  21. <div class="details-main-footer">
  22. <el-descriptions title="订单信息" border>
  23. <el-descriptions-item label="姓名">{{ detailsData.volunteerName }}</el-descriptions-item>
  24. <el-descriptions-item label="项目类别">{{ detailsData.businessTierName }}</el-descriptions-item>
  25. <el-descriptions-item label="被服务人员">{{ detailsData.clientName }}</el-descriptions-item>
  26. <el-descriptions-item label="手机号">{{ detailsData.clientTelephone }}</el-descriptions-item>
  27. <el-descriptions-item label="服务项目">{{ detailsData.volunteerName }}</el-descriptions-item>
  28. <el-descriptions-item label="订单状态"><dict-tag :options="lrr_service_status" :value="detailsData.orderStatus" /> </el-descriptions-item>
  29. <el-descriptions-item label="电话">{{ detailsData.clientTelephone }}</el-descriptions-item>
  30. <el-descriptions-item label="住址">{{ detailsData.address }}</el-descriptions-item>
  31. </el-descriptions>
  32. </div>
  33. </div>
  34. </template>
  35. <script setup>
  36. import Map from '@/views/components/Map/index.vue'
  37. import { orderInfo } from "@/api/order/manage.js";
  38. import { onMounted } from 'vue';
  39. const { proxy } = getCurrentInstance();
  40. const { lrr_service_status } = proxy.useDict("lrr_service_status");
  41. const list = [
  42. {
  43. lable: ''
  44. }
  45. ]
  46. const route = useRoute()
  47. const detailsData = ref({})
  48. const getDetails = async()=> {
  49. try {
  50. const res = await orderInfo(route.query.id);
  51. console.log('res',res);
  52. detailsData.value = res.data;
  53. } catch (error) {
  54. }
  55. }
  56. onMounted(getDetails)
  57. </script>
  58. <style lang="scss" scoped>
  59. .details-main {
  60. height: calc(100vh - 84px);
  61. display: flex;
  62. flex-direction: column;
  63. padding: 24px;
  64. overflow-y: auto;
  65. .details-main-box {
  66. display: flex;
  67. flex: 1;
  68. .details-dr {
  69. flex: 1;
  70. }
  71. .details-list {
  72. display: flex;
  73. flex-direction: column;
  74. overflow-y: auto;
  75. width: 300px;
  76. .details-list-item {
  77. display: flex;
  78. }
  79. }
  80. }
  81. .details-main-footer {}
  82. }
  83. </style>