优化配送订单详情关联与参数展示
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
// 功能描述:静态校验配送订单列表优先显示可读创建方,并保留唯一标识复制入口。
|
||||
// 版本:v1.0.0
|
||||
// 版本:v1.1.0
|
||||
import fs from 'node:fs';
|
||||
|
||||
const resources = fs.readFileSync(new URL('../src/api/resources.ts', import.meta.url), 'utf8');
|
||||
const listPage = fs.readFileSync(new URL('../src/views/shared/CrudListPage.vue', import.meta.url), 'utf8');
|
||||
const detailPage = fs.readFileSync(new URL('../src/views/resource/ResourceDetailContent.vue', import.meta.url), 'utf8');
|
||||
const resourceDisplay = fs.readFileSync(new URL('../src/api/resource-display.ts', import.meta.url), 'utf8');
|
||||
|
||||
const assertions = [
|
||||
[resources.includes("gasorder_basic_identity: '配送订单唯一标识'"), '状态记录中的配送订单标识缺少中文名称'],
|
||||
@@ -13,6 +14,17 @@ const assertions = [
|
||||
[detailPage.includes("'contract_display_name'"), '订单详情未隐藏重复的合同标题辅助字段'],
|
||||
[detailPage.includes("column.endsWith('_at')) return 150"), '关联记录的日期时间列未固定为 150px'],
|
||||
[detailPage.includes("key.endsWith('_masked')"), '详情页未去除重复的脱敏辅助字段'],
|
||||
[detailPage.includes("'order_no',\n 'request_no',\n 'order_status'"), '订单详情未将订单号置于主要位置'],
|
||||
[detailPage.includes("'gasorder_basic.assignments'"), '分配记录缺少固定业务列'],
|
||||
[detailPage.includes("['assignments', 'items', 'statuses'].includes(key)"), '订单关联表仍会泄漏任意英文响应字段'],
|
||||
[detailPage.includes("'gasorder_basic.statuses'"), '状态记录缺少固定中文业务列'],
|
||||
[resourceDisplay.includes("active: '是否有效'"), '订单明细 active 字段未中文化'],
|
||||
[resourceDisplay.includes("String(value) === 'order created'"), '历史订单创建原因未中文化'],
|
||||
[detailPage.includes("creator_identity: 'creator_display_name'"), '订单创建方未使用可读名称'],
|
||||
[resourceDisplay.includes("'gasorder_basic.assignments'"), '分配记录缺少专用中文字段名称'],
|
||||
[resourceDisplay.includes("staff_account_display_name: '配送人员'"), '分配人员名称未中文化'],
|
||||
[resourceDisplay.includes("identity: '系统唯一标识'"), '订单内部标识仍与业务订单号混用'],
|
||||
[resourceDisplay.includes("operator_identity: '建单操作人'"), '建单操作人仍以裸标识单独展示'],
|
||||
[resources.includes("listDisplayKey: 'creator_display_name'"), '创建方未配置可读名称字段'],
|
||||
[resources.includes('listDisplayIdentityCopy: true'), '创建方未保留唯一标识复制入口'],
|
||||
[resources.includes("detailDisplayKey: 'contract_display_name'"), '订单详情未配置合同标题展示字段'],
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* 功能:静态检查资源详情关联表中的设备参数可完整查看且不会撑宽表格。
|
||||
* 版本:v1.1.0
|
||||
*/
|
||||
import assert from 'node:assert/strict';
|
||||
import { readFileSync } from 'node:fs';
|
||||
|
||||
const detail = readFileSync(
|
||||
new URL('../src/views/resource/ResourceDetailContent.vue', import.meta.url),
|
||||
'utf8',
|
||||
);
|
||||
|
||||
assert.match(detail, /isCollectionJsonColumn\(column\)/, '关联表 JSON 字段缺少专用展示分支');
|
||||
assert.match(detail, />查看参数<\/a-button>/, '设备参数缺少完整查看入口');
|
||||
assert.match(detail, /formatCollectionJson\(record\[column\]\)/, '设备参数没有格式化完整内容');
|
||||
assert.match(detail, /JSON\.stringify\(JSON\.parse\(text\), null, 2\)/, '字符串 JSON 未格式化');
|
||||
assert.match(detail, /isCollectionJsonColumn\(column\)\) return 100/, '设备参数列未使用紧凑宽度');
|
||||
assert.match(detail, /max-width: min\(560px, 70vw\)/, '参数浮层缺少视口宽度限制');
|
||||
assert.match(detail, /class="collection-table-shell"/, '关联表缺少独立宽度约束容器');
|
||||
assert.match(detail, /\.detail-stack[\s\S]*?min-width: 0;/, '详情栈仍可能被子内容反向撑宽');
|
||||
assert.match(detail, /\.collection-table-shell[\s\S]*?overflow-x: auto;/, '关联表缺少内部横向溢出兜底');
|
||||
|
||||
console.log('资源详情设备参数检查通过:100% 视口不被关联表撑宽,参数可完整查看。');
|
||||
Reference in New Issue
Block a user