<template>
<div style="width: 390px">
<TsTimeAxis :list="axisList" placement="center" :pointSize="10" :progressSize="20" pointColor="#fa8c16">
<template #children="{ item }">
<div class="children">
<div class="children-item" v-for="(childItem, cIndex) in item.children || []" :key="cIndex">
<div class="label">{{ childItem.label }}</div>
<div class="children-time">操作时间:{{ childItem.time }}</div>
</div>
</div>
</template>
</TsTimeAxis>
</div>
</template>
<script setup lang="ts">
import { TsTimeAxis } from 'tui';
import type { TimeAxisItem } from 'tui/components/time-axis/src/types';
interface MockAxisItem extends TimeAxisItem {
time: string;
label: string;
desc: string;
status?: 'done' | 'in-progress' | 'pending';
children?: MockAxisItem[];
}
const axisList: MockAxisItem[] = [
{
time: '2022-01-01 11:11:12',
label: '仓库处理',
desc: '货物打包完成',
status: 'in-progress',
children: [
{ time: '2022-01-01 11:11:12', label: '商品打包', desc: '打包完成' },
{ time: '2022-01-01 11:11:12', label: '商品出库', desc: '出库成功' },
],
},
{
time: '2022-01-01 11:11:11',
label: '订单支付',
desc: '支付成功',
},
{
time: '2022-01-01 11:11:11',
label: '商品下单',
desc: '订单创建成功',
},
];
</script>
<style scoped>
.children {
.children-item {
display: flex;
align-items: center;
margin-top: 12px;
.label {
color: #737373;
font-size: 14px;
margin-right: 8px;
white-space: nowrap;
}
.children-time {
margin-left: 12px;
color: #1e60da;
}
}
}
</style>