Skip to content

FlowTaskCardList 流程任务卡片列表

流程任务卡片列表组件。以卡片行形式展示流程任务列表,支持行选择(全选/单选/清空)、搜索、分页、刷新。提供丰富的具名插槽用于自定义各区域内容。

基础用法

vue
<template>
  <FlowTaskCardList
    title="待办任务"
    :items="taskList"
    :loading="loading"
    :pagination="pagination"
    :selected-keys="selectedKeys"
    :search-value="searchValue"
    @row-click="handleTaskClick"
  >
    <template #status="{ row }">
      <n-tag :type="row.urgent ? 'error' : 'default'">
        {{ row.urgent ? '紧急' : '普通' }}
      </n-tag>
    </template>

    <template #actions="{ row }">
      <n-button size="small" type="primary" @click="handleClaim(row)">签收</n-button>
    </template>
  </FlowTaskCardList>
</template>

<script setup>
import { ref } from 'vue'
import FlowTaskCardList from '@/components/flow/FlowTaskCardList.vue'

const taskList = ref([])
const loading = ref(false)
const pagination = ref({ page: 1, pageSize: 10, itemCount: 0 })
const selectedKeys = ref([])
const searchValue = ref('')
</script>

Props

属性类型默认值说明
titleString'列表'列表标题
itemsArray[]任务数据数组
loadingBooleanfalse加载状态
paginationObject分页配置 { page, pageSize, itemCount, pageSizes, showSizePicker }
selectedKeysArray[]选中行的 key 数组(支持 v-model)
rowKeyString | Function'id'行唯一标识字段名或函数 (row) => key
searchValueString''搜索关键词(支持 v-model)
searchPlaceholderString'通过名称搜索'搜索框占位提示
emptyTextString'暂无数据'无数据时的提示文本
selectableBooleantrue是否显示行选择(复选框)
showSearchBooleantrue是否显示搜索框
unreadKeyString''未读标识字段名,值为 0 时标记为未读样式

Events

事件名参数说明
update:selectedKeys(keys)选中项变化
update:searchValue(value)搜索值变化
update:page(page)页码变化
update:pageSize(pageSize)每页条数变化
search点击搜索按钮
refresh点击刷新按钮
rowClick(row)点击行时触发

Slots

插槽名Scope说明
batch-actions{ selectedKeys }批量操作按钮区域
filters筛选器区域(搜索框和刷新按钮之间)
status{ row }行状态标签
title{ row }行标题(默认取 item.title || item.taskName
meta{ row }行元信息
summary{ row }行摘要内容
actions{ row }行操作按钮

注意事项

  • 行点击事件 rowClick 和内部选择逻辑互斥,选中行后不会触发 rowClick
  • 设置 unreadKey 后,值为 0 的行会显示未读样式(左侧蓝色竖线)
  • 分页通过 v-model:pagev-model:pageSize 双向绑定

Forge Admin — 基于 Vue3 + Spring Boot 的企业级后台管理框架