当前位置:首页 > VUE

vue实现物流追踪

2026-02-17 13:23:00VUE

Vue实现物流追踪功能

物流追踪功能通常需要结合后端API数据展示物流节点的动态信息。以下为Vue实现方案的核心要点:

数据准备

  • 物流节点数据格式建议:
    nodes: [
      { time: '2023-01-01 10:00', status: '已发货', desc: '快件已揽收' },
      { time: '2023-01-02 15:30', status: '运输中', desc: '到达广州转运中心' },
      // ...
    ]

时间轴组件实现

vue实现物流追踪

<template>
  <div class="logistics-track">
    <div v-for="(node, index) in nodes" :key="index" class="track-node">
      <div class="node-time">{{ node.time }}</div>
      <div class="node-status">{{ node.status }}</div>
      <div class="node-desc">{{ node.desc }}</div>
    </div>
  </div>
</template>

样式优化

.logistics-track {
  position: relative;
  padding-left: 20px;
}
.track-node {
  position: relative;
  padding-bottom: 20px;
  border-left: 2px solid #1890ff;
}
.track-node:last-child {
  border-left-color: transparent;
}
.track-node::before {
  content: '';
  position: absolute;
  left: -7px;
  top: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #1890ff;
}

动态效果增强

vue实现物流追踪

  • 添加当前节点高亮效果:
    computed: {
      activeNodes() {
        return this.nodes.map((node, index) => ({
          ...node,
          isActive: index <= this.currentStep
        }))
      }
    }

API集成

methods: {
  async fetchLogistics() {
    try {
      const res = await axios.get('/api/logistics', {
        params: { orderId: this.orderId }
      })
      this.nodes = res.data.nodes
    } catch (error) {
      console.error(error)
    }
  }
}

第三方组件方案

  • 可使用vantSteps组件快速实现:
    <van-steps direction="vertical" :active="activeStep">
      <van-step v-for="node in nodes" :key="node.time">
        <h3>{{ node.status }}</h3>
        <p>{{ node.time }}</p>
        <p>{{ node.desc }}</p>
      </van-step>
    </van-steps>

注意事项

  • 物流节点数据需按时间倒序排列
  • 移动端需考虑响应式布局
  • 长时间未更新的节点需添加异常状态提示
  • 建议添加物流公司logo和联系方式

实际实现时需根据具体业务需求调整UI样式和数据交互逻辑,建议通过vuexpinia管理物流状态数据。

标签: 物流vue
分享给朋友:

相关文章

vue alert实现

vue alert实现

使用 Vue 实现 Alert 组件 在 Vue 中实现 Alert 组件可以通过自定义组件或结合第三方库完成。以下是几种常见方法: 自定义 Alert 组件 创建一个可复用的 Alert 组件,通…

vue实现swipe

vue实现swipe

Vue实现Swipe功能的方法 使用第三方库(推荐) Vue生态中有多个成熟的轮播/滑动组件库,例如vue-awesome-swiper或swiper/vue。以下是基于swiper/vue的实现示例…

vue实现弹幕

vue实现弹幕

Vue 实现弹幕功能 弹幕功能通常包括动态生成、滚动显示、颜色和速度随机化等特性。以下是基于 Vue 3 的实现方法。 核心思路 使用 CSS 动画控制弹幕从右向左滚动。 动态生成弹幕数据,随机设置…

vue实现横滚

vue实现横滚

Vue 实现横滚效果 横滚效果通常指水平滚动内容,常见于轮播图、横向导航栏等场景。以下是几种实现方式: 使用 CSS 和 Vue 结合 通过 CSS 的 overflow-x 和 white-spa…

vue 实现 confirm

vue 实现 confirm

实现确认对话框的方法 在Vue中实现确认对话框可以通过多种方式完成,包括使用内置组件、第三方库或自定义组件。 使用浏览器原生confirm 最简单的实现方式是直接调用浏览器原生的confirm方法。…

vue实现layout

vue实现layout

Vue 实现 Layout 布局的方法 在 Vue 中实现 Layout 布局通常涉及路由嵌套、组件化设计和动态渲染。以下是几种常见的实现方式: 使用嵌套路由 通过 Vue Router 的嵌套路由…