packModel.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <template>
  2. <Popup title="明细" isClose ref="popRef">
  3. <template #content>
  4. <view class="form">
  5. <view class="form_item">
  6. <view class="item_label">
  7. <trans _t="总体积" />
  8. </view>
  9. <view class="item_value">{{ deatil.volume }}m³</view>
  10. </view>
  11. <view class="form_item">
  12. <view class="item_label">
  13. <trans _t="总重量" />
  14. </view>
  15. <view class="item_value">{{ deatil.weight }}kg</view>
  16. </view>
  17. <view class="form_item">
  18. <view class="item_label">
  19. <trans _t="首重费用" />
  20. </view>
  21. <view class="item_value"
  22. >{{ symbol.symbol }} {{ Moneyhtml(deatil.first_price) }}</view
  23. >
  24. </view>
  25. <view class="form_item">
  26. <view class="item_label">
  27. <trans _t="续重费用" />
  28. </view>
  29. <view class="item_value"
  30. >{{ symbol.symbol }} {{ Moneyhtml(deatil.continue_price) }}</view
  31. >
  32. </view>
  33. <view class="form_item">
  34. <view class="item_label">
  35. <trans _t="折扣" />
  36. </view>
  37. <view class="item_value"
  38. >{{ symbol.symbol }} {{ Moneyhtml(deatil.discount) }}</view
  39. >
  40. </view>
  41. <view class="form_item">
  42. <view class="item_label">
  43. <trans _t="运费" />
  44. </view>
  45. <view class="item_value"
  46. >{{ symbol.symbol }} {{ Moneyhtml(deatil.postAmt) }}</view
  47. >
  48. </view>
  49. <view class="form_item">
  50. <view class="item_label">
  51. <trans _t="预估费用" />
  52. </view>
  53. <view class="item_value"
  54. >{{ symbol.symbol }} {{ Moneyhtml(deatil.money) }}</view
  55. >
  56. </view>
  57. </view>
  58. </template>
  59. <!-- footer -->
  60. <template #footer>
  61. <view class="submit_btn" @click="close">
  62. <trans _t="关闭" />
  63. </view>
  64. </template>
  65. </Popup>
  66. </template>
  67. <script setup>
  68. import { computed, ref, nextTick } from "vue";
  69. import Popup from "@/components/popup.vue";
  70. import { Toast, Moneyhtml } from "@/utils";
  71. import { t } from "@/locale";
  72. import { useSystemStore } from "@/store";
  73. const useSystem = useSystemStore();
  74. const symbol = computed(() => useSystem.getSymbol);
  75. const props = defineProps({
  76. deatil: { type: Object, default: {} },
  77. });
  78. const emit = defineEmits(["open", "close"]);
  79. const popRef = ref(null);
  80. const open = () => {
  81. emit("open");
  82. popRef.value && popRef.value.open();
  83. };
  84. const close = () => {
  85. emit("close");
  86. popRef.value && popRef.value.close();
  87. };
  88. defineExpose({ open, close });
  89. </script>
  90. <style lang="less" scoped>
  91. @import url("@/style.less");
  92. .form {
  93. width: 100%;
  94. &_item {
  95. width: 100%;
  96. .flex_position(space-between);
  97. color: var(--text-02);
  98. .size(24rpx);
  99. margin-top: 24rpx;
  100. &:first-child {
  101. margin-top: 0;
  102. }
  103. .item_label {
  104. }
  105. .item_value {
  106. }
  107. }
  108. .tips {
  109. color: var(--text-01);
  110. .size(24rpx);
  111. margin: 24rpx 0;
  112. }
  113. .total {
  114. text-align: right;
  115. color: var(--black);
  116. .size(28rpx);
  117. .amount {
  118. color: var(--red);
  119. font-weight: 700;
  120. margin-left: 2rpx;
  121. }
  122. }
  123. }
  124. .submit_btn {
  125. height: 38px;
  126. padding: 16rpx 30rpx;
  127. background-color: var(--black);
  128. color: var(--light);
  129. .flex_center();
  130. border-radius: 16rpx;
  131. .size(24rpx);
  132. }
  133. </style>