| | |
| | | <template> |
| | | <ElDrawer |
| | | :model-value="visible" |
| | | title="任务详情" |
| | | :title="t('pages.task.detail.title')" |
| | | size="85%" |
| | | @update:model-value="handleVisibleChange" |
| | | > |
| | |
| | | <ElCard shadow="never" class="border border-[var(--el-border-color-lighter)]"> |
| | | <template #header> |
| | | <div class="flex items-center justify-between"> |
| | | <span class="font-medium text-[var(--art-text-gray-900)]">任务基础信息</span> |
| | | <span class="font-medium text-[var(--art-text-gray-900)]">{{ t('pages.task.detail.baseInfo') }}</span> |
| | | <ElTag size="small" effect="plain" type="primary"> |
| | | {{ detail.taskCode || '--' }} |
| | | </ElTag> |
| | |
| | | </template> |
| | | |
| | | <ElDescriptions :column="2" border> |
| | | <ElDescriptionsItem label="任务状态">{{ detail.taskStatusLabel || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem label="任务类型">{{ detail.taskTypeLabel || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem label="设备类型">{{ detail.warehTypeLabel || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem label="优先级">{{ detail.sort ?? '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem label="状态">{{ detail.statusText || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem label="机器人编码">{{ detail.robotCode || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem label="创建时间">{{ detail.createTimeText || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem label="更新时间">{{ detail.updateTimeText || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem label="备注" :span="2">{{ detail.memo || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem :label="t('pages.task.detail.taskStatus')">{{ detail.taskStatusLabel || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem :label="t('pages.task.detail.taskType')">{{ detail.taskTypeLabel || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem :label="t('pages.task.detail.warehType')">{{ detail.warehTypeLabel || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem :label="t('pages.task.detail.priority')">{{ detail.sort ?? '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem :label="t('pages.task.detail.status')">{{ detail.statusText || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem :label="t('pages.task.detail.robotCode')">{{ detail.robotCode || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem :label="t('pages.task.detail.createTime')">{{ detail.createTimeText || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem :label="t('pages.task.detail.updateTime')">{{ detail.updateTimeText || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem :label="t('pages.task.detail.memo')" :span="2">{{ detail.memo || '--' }}</ElDescriptionsItem> |
| | | </ElDescriptions> |
| | | </ElCard> |
| | | |
| | | <ElCard shadow="never" class="border border-[var(--el-border-color-lighter)]"> |
| | | <template #header> |
| | | <div class="flex items-center justify-between"> |
| | | <span class="font-medium text-[var(--art-text-gray-900)]">执行路径</span> |
| | | <ElButton text type="primary" @click="$emit('flow-step')">流程步骤</ElButton> |
| | | <span class="font-medium text-[var(--art-text-gray-900)]">{{ t('pages.task.detail.pathInfo') }}</span> |
| | | <ElButton text type="primary" @click="$emit('flow-step')">{{ t('pages.task.detail.flowStep') }}</ElButton> |
| | | </div> |
| | | </template> |
| | | |
| | | <ElDescriptions :column="1" border> |
| | | <ElDescriptionsItem label="源库位">{{ detail.orgLoc || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem label="源站点">{{ detail.orgSiteLabel || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem label="目标库位">{{ detail.targLoc || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem label="目标站点">{{ detail.targSiteLabel || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem label="托盘码">{{ detail.barcode || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem :label="t('pages.task.detail.orgLoc')">{{ detail.orgLoc || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem :label="t('pages.task.detail.orgSite')">{{ detail.orgSiteLabel || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem :label="t('pages.task.detail.targLoc')">{{ detail.targLoc || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem :label="t('pages.task.detail.targSite')">{{ detail.targSiteLabel || '--' }}</ElDescriptionsItem> |
| | | <ElDescriptionsItem :label="t('pages.task.detail.barcode')">{{ detail.barcode || '--' }}</ElDescriptionsItem> |
| | | </ElDescriptions> |
| | | </ElCard> |
| | | </div> |
| | | |
| | | <div class="flex items-center justify-between"> |
| | | <div> |
| | | <div class="text-sm font-medium text-[var(--art-text-gray-900)]">任务明细</div> |
| | | <div class="text-sm font-medium text-[var(--art-text-gray-900)]">{{ t('pages.task.detail.items') }}</div> |
| | | <div class="mt-1 text-xs text-[var(--art-text-gray-500)]"> |
| | | 查看当前任务关联的业务单据、物料和执行记录 |
| | | {{ t('pages.task.detail.itemsHint') }} |
| | | </div> |
| | | </div> |
| | | <div class="flex items-center gap-2"> |
| | | <ElButton :loading="loading" @click="$emit('refresh')">刷新</ElButton> |
| | | <ElButton :loading="loading" @click="$emit('refresh')">{{ t('common.actions.refresh') }}</ElButton> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { useI18n } from 'vue-i18n' |
| | | |
| | | const { t } = useI18n() |
| | | |
| | | defineProps({ |
| | | visible: { type: Boolean, default: false }, |
| | | loading: { type: Boolean, default: false }, |