# 数据资产服务中心 — 前端技术方案

> 依据：`数据资产服务中心功能需求.md`、`数据资产服务中心技术方案.md`；布局对齐 `dataModel/grasslandUsage/index.vue`（双 `el-card`）；字段 **小驼峰**。

---

## 1. 页面与路由

| 项 | 说明 |
| --- | --- |
| **Vue 路径** | `ruoyi-ui/src/views/dataHub/dataSendRecord/index.vue` |
| **组件名** | `DataSendRecord` |
| **菜单配置** | 组件路径：`dataHub/dataSendRecord/index`（手工配置） |
| **权限前缀** | `dataHub:dataSendRecord:list\|query\|add\|edit\|remove` |

---

## 2. API 模块

| 项 | 说明 |
| --- | --- |
| **文件** | `ruoyi-ui/src/api/dataHub/dataSendRecord.js` |
| **Base** | `/dataHub/dataSendRecord` |

| 方法 | HTTP | 说明 |
| --- | --- | --- |
| `listDataSendRecord` | GET | `/list` |
| `getDataSendRecord` | GET | `/{id}` |
| `addDataSendRecord` | POST | `/` |
| `updateDataSendRecord` | PUT | `/` |
| `delDataSendRecord` | DELETE | `/{ids}` |

---

## 3. 页面结构

1. **筛选区**：**发送日期**（`daterange` → `startDate`/`endDate`）；**接收方名称**（精确匹配）；搜索、重置、新增。  
2. **列表区**：发送时间、发送内容、接收方名称、接收方地址、操作（查看/编辑/删除）。  
3. **新增/编辑弹窗**：发送时间（`datetime`，新增默认当前时刻）、发送内容（多行 2000 字）、接收方名称（128）、接收方地址（512）、备注（选填 500）。  
4. **查看弹窗**：只读展示业务字段与审计字段；发送内容/地址保留换行。

---

## 4. 业务规则（前端）

| 规则 | 实现 |
| --- | --- |
| 发送日期筛选 | `sendDateRange` 映射 `startDate`、`endDate`；起 > 止时 `msgError` 不请求 |
| 接收方名称 | 原样提交，由后端精确匹配（不区分大小写） |
| 发送内容等 | 提交前 `trim`；空白内容校验失败 |
| 长度 | 内容 2000、名称 128、地址 512、备注 500 |
| 删除 | 单条确认后 `DELETE /{id}`；无批量删除 |
| 默认发送时间 | 打开新增弹窗时 `parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}')` |

---

## 5. 国际化

| 项 | 说明 |
| --- | --- |
| **语言包** | `dataHub.dataSendRecord`（`lang/zh/dataHub.js`、`lang/bo/dataHub.js`） |
| **Mixin** | `dataHubLocaleMixin`，`dhNs = 'dataSendRecord'` |
| **注册** | `lang/zh-CN.js`、`lang/bo.js` 引入 `dataHub` |

---

## 6. 联调说明

1. 部署 `BizDataSendRecordController` 及 `biz_data_send_record` 表。  
2. 菜单组件 `dataHub/dataSendRecord/index`，权限与技术方案 §4 一致。  
3. 验证：日期闭区间筛选、名称精确匹配、新增默认时间、trim 与长度校验、逻辑删除后列表不可见、双语切换。

---

## 7. 文件清单

| 类型 | 路径 |
| --- | --- |
| 页面 | `ruoyi-ui/src/views/dataHub/dataSendRecord/index.vue` |
| API | `ruoyi-ui/src/api/dataHub/dataSendRecord.js` |
| Mixin | `ruoyi-ui/src/mixins/dataHubLocaleMixin.js` |
| i18n | `ruoyi-ui/src/lang/zh/dataHub.js`、`lang/bo/dataHub.js` |

---

## 8. 修订记录

| 版本 | 说明 |
| --- | --- |
| 1.0 | 初版：双卡片 CRUD；发送日期 daterange；datetime 发送时间；无批量删除/导出 |
