#
zhou zhou
1 天以前 333a93571452073a9e628c6256044d345099aa50
rsf-design/src/views/manager/task/modules/task-detail-drawer.vue
@@ -6,27 +6,58 @@
    @update:model-value="handleVisibleChange"
  >
    <div class="flex h-full flex-col gap-4">
      <ElDescriptions :column="4" border>
        <ElDescriptionsItem label="任务号">{{ detail.taskCode || '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem label="任务状态">{{ detail.taskStatusLabel || '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem label="任务类型">{{ detail.taskTypeLabel || '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem label="设备类型">{{ detail.warehTypeLabel || '--' }}</ElDescriptionsItem>
        <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="机器人编码">{{ detail.robotCode || '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem label="优先级">{{ detail.sort ?? '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem label="状态">{{ detail.statusText || '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem label="更新时间">{{ detail.updateTimeText || '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem label="创建时间">{{ detail.createTimeText || '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem label="备注" :span="2">{{ detail.memo || '--' }}</ElDescriptionsItem>
      </ElDescriptions>
      <div class="grid gap-4 xl:grid-cols-[1.45fr_1fr]">
        <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>
              <ElTag size="small" effect="plain" type="primary">
                {{ detail.taskCode || '--' }}
              </ElTag>
            </div>
          </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>
          </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>
            </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>
          </ElDescriptions>
        </ElCard>
      </div>
      <div class="flex items-center justify-between">
        <div class="text-sm text-[var(--art-gray-600)]">任务明细</div>
        <ElButton :loading="loading" @click="$emit('refresh')">刷新</ElButton>
        <div>
          <div class="text-sm font-medium text-[var(--art-text-gray-900)]">任务明细</div>
          <div class="mt-1 text-xs text-[var(--art-text-gray-500)]">
            查看当前任务关联的业务单据、物料和执行记录
          </div>
        </div>
        <div class="flex items-center gap-2">
          <ElButton :loading="loading" @click="$emit('refresh')">刷新</ElButton>
        </div>
      </div>
      <ArtTable
@@ -51,7 +82,7 @@
    pagination: { type: Object, default: () => ({ current: 1, size: 20, total: 0 }) }
  })
  const emit = defineEmits(['update:visible', 'refresh', 'size-change', 'current-change'])
  const emit = defineEmits(['update:visible', 'refresh', 'size-change', 'current-change', 'flow-step'])
  function handleVisibleChange(visible) {
    emit('update:visible', visible)