当前位置:首页 > 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: '到达广州转运中心' },
      // ...
    ]

时间轴组件实现

<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;
}

动态效果增强

  • 添加当前节点高亮效果:
    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>

注意事项

vue实现物流追踪

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

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

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

相关文章

vue实现视窗

vue实现视窗

Vue 实现视窗功能 在 Vue 中实现视窗功能通常涉及监听浏览器窗口大小变化、响应式布局或创建自定义弹窗组件。以下是几种常见实现方式: 监听浏览器窗口大小变化 使用 Vue 的 mounted 和…

vue实现标签

vue实现标签

Vue 实现标签的方法 在 Vue 中实现标签功能可以通过多种方式完成,以下是几种常见的方法: 使用动态组件 动态组件可以根据不同的条件渲染不同的标签内容。通过 :is 属性动态绑定组件名,实现标签…

vue实现 toast

vue实现 toast

Vue 实现 Toast 组件 在 Vue 中实现 Toast 组件可以通过多种方式完成,以下是几种常见的方法: 使用全局组件和事件总线 创建一个全局的 Toast 组件,并通过事件总线或 Vue…

vue实现分站

vue实现分站

Vue 实现分站的方案 在 Vue 中实现分站功能通常涉及路由配置、环境变量管理和动态加载资源。以下是几种常见的实现方式: 基于路由的分站实现 通过 Vue Router 配置多路由,区分不同站点的…

vue博客实现

vue博客实现

Vue 博客实现步骤 项目初始化与基础配置 使用 Vue CLI 或 Vite 创建项目,安装基础依赖如 vue-router 和状态管理库(如 pinia)。配置路由文件实现页面跳转逻辑,例如博客首…

vue实现自动搜索

vue实现自动搜索

实现自动搜索功能 在Vue中实现自动搜索功能通常需要结合输入框的监听事件和防抖技术,避免频繁触发搜索请求。以下是一个完整的实现方案: 使用v-model和watch监听输入变化 通过v-model绑…