Files
ERP/element-plus-lab/src/components/showcase/TableShowcase.vue
T
QiufengandClaude Opus 4.8 5e51dc3f56 SNAPSHOT W7 已部署稳定态 — 凯迪ERP+OA一体化平台 (MET 73.3%)
恢复点(restore point)。别人改崩后可 git reset --hard 回到此提交。

== 此快照内容 ==
- 后端 oa-backend: 734 控制器 / 711 实体 (Spring Boot 3.2.5 + SQLite, 端口8091)
- 前端 modern-ui/app: Vue3+Vite, 约700页 (构建产物已在 oa-backend/src/main/resources/static)
- 数据库 oa-backend/data/oa.db: 含全部演示数据 (强制入库, 6.6MB)
- 交接文档 go.md + go-code-reference/endpoints/entities/database.md
- 多代理建设脚本 .claude/wf-*.js

== 状态 ==
- 对 凯迪科技ERP_20260507.xlsx 合规 MET ~73.3% (PARTIAL 75: 34可建+6种子/bug+35外部硬天花板)
- 安全: 5轮红队+5轮复检, default-deny分级鉴权, 连续零可利用
- W3~W7 累计补完436缺口; W8末轮(40缺口)为半成品(源码树可编译但未集成)
- 运行: cd oa-backend; java -jar build/libs/oa-backend-0.1.0.jar --server.port=8091; admin/123456

== 排除(gitignore, 可再生) ==
node_modules / oa-backend/build / .jdks / *.log / Backup-ERP-* / 弃用的OFBiz核心(只保留modern-ui)
完整文件夹备份见同目录 Backup-ERP-20260615-191517/ (含上述全部, 仅缺 node_modules)

时间戳: 20260615-191517

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 19:19:15 +08:00

87 lines
3.1 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<script setup>
import { Location, Search, Sort } from '@element-plus/icons-vue'
import { getRiskClass, orderRows } from '../../data/showcaseData'
import DemoBlock from '../docs/DemoBlock.vue'
defineProps({
currentPage: {
type: Number,
required: true,
},
})
defineEmits(['update:currentPage'])
const tableCode = `<el-table :data="orderRows" class="erp-table" stripe>
<el-table-column fixed prop="orderId" label="单据号" width="126" />
<el-table-column prop="customer" label="客户 / 对象" min-width="180" />
<el-table-column prop="status" label="状态" width="120">
<template #default="{ row }">
<el-tag :type="row.statusType" effect="light">{{ row.status }}</el-tag>
</template>
</el-table-column>
<el-table-column prop="amount" label="金额" width="140" align="right" />
<el-table-column fixed="right" label="操作" width="152" />
</el-table>`
</script>
<template>
<DemoBlock
:code="tableCode"
description="ERP 表格优先保证扫描效率、状态清晰、数字右对齐和固定操作列。"
eyebrow="Data Table"
title="订单工作台表格"
>
<div class="section-heading">
<div class="table-tools">
<el-input class="table-search" placeholder="搜索订单、客户、负责人" :prefix-icon="Search" />
<el-button :icon="Sort">列设置</el-button>
</div>
</div>
<el-table :data="orderRows" class="erp-table" stripe>
<el-table-column fixed prop="orderId" label="单据号" width="126" />
<el-table-column prop="customer" label="客户 / 对象" min-width="180" />
<el-table-column prop="status" label="状态" width="120">
<template #default="{ row }">
<el-tag :type="row.statusType" effect="light">{{ row.status }}</el-tag>
</template>
</el-table-column>
<el-table-column prop="amount" label="金额" width="140" align="right" />
<el-table-column prop="warehouse" label="业务地点" min-width="150">
<template #default="{ row }">
<span class="icon-cell">
<el-icon><Location /></el-icon>
{{ row.warehouse }}
</span>
</template>
</el-table-column>
<el-table-column prop="owner" label="负责人" width="130" />
<el-table-column prop="due" label="计划日期" width="124" />
<el-table-column prop="risk" label="风险" width="90">
<template #default="{ row }">
<span :class="['risk-dot', getRiskClass(row.risk)]">{{ row.risk }}</span>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="152">
<template #default>
<el-button link type="primary">查看</el-button>
<el-button link>流转</el-button>
</template>
</el-table-column>
</el-table>
<div class="table-footer">
<span> 4 条样例数据后续接 OFBiz 真实实体</span>
<el-pagination
:current-page="currentPage"
layout="prev, pager, next, sizes"
:page-size="20"
:page-sizes="[20, 50, 100]"
:total="128"
@update:current-page="$emit('update:currentPage', $event)"
/>
</div>
</DemoBlock>
</template>