完善智能气阀新建归属选择

新建页面明确说明当前归属四选一,选择新归属时自动清空其他归属;字段改用业务名称并补充选择提示,同时扩展专项检查和中文文档。
This commit is contained in:
czl231
2026-08-13 21:50:57 +08:00
parent f8e91fb00a
commit e5289e8f8a
6 changed files with 141 additions and 8 deletions

View File

@@ -10,6 +10,11 @@ const componentUrl = new URL(
import.meta.url,
);
const source = await readFile(fileURLToPath(componentUrl), 'utf8');
const recordPageUrl = new URL(
'../src/views/resource/ResourceRecordPage.vue',
import.meta.url,
);
const recordPageSource = await readFile(fileURLToPath(recordPageUrl), 'utf8');
const requiredFragments = [
'@change-relation="changeRelation"',
'ownershipKeys.includes(field.key)',
@@ -24,4 +29,20 @@ for (const fragment of requiredFragments) {
}
}
console.log('智能气阀归属互斥检查通过:选择时自动清空,提交时保留防御校验。');
const createPageFragments = [
'@change-relation="changeRelation"',
"mode === 'create' && definition.name === 'product_info'",
'当前归属只能选择库房、气站、配送点或用户中的一个;选择新归属时会自动清空其他归属。',
"definition.value.name === 'product_info'",
'productOwnershipKeys.includes(field.key)',
'if (key !== field.key) form[key] = undefined',
'await relationLinkage.change(field, value)',
];
for (const fragment of createPageFragments) {
if (!recordPageSource.includes(fragment)) {
throw new Error(`智能气阀新建页归属互斥检查缺少实现:${fragment}`);
}
}
console.log('智能气阀归属互斥检查通过:新建页与专用弹窗均自动清空,提交时保留防御校验。');

View File

@@ -8,10 +8,10 @@ import { fileURLToPath } from 'node:url';
const resourcesUrl = new URL('../src/api/resources.ts', import.meta.url);
const source = await readFile(fileURLToPath(resourcesUrl), 'utf8');
const ownershipRelations = [
"relation('warehouse_identity', '/product_warehouse', false, { emptyText: '未填写' })",
"relation('gas_basic_identity', '/gas_basic', false, { emptyText: '未填写' })",
"relation('delivery_basic_identity', '/delivery_basic', false, { emptyText: '未填写' })",
"relation('user_account_identity', '/user_account', false, { emptyText: '未填写' })",
"relation('warehouse_identity', '/product_warehouse', false, { label: '库房', emptyText: '未填写', placeholder: '请选择库房' })",
"relation('gas_basic_identity', '/gas_basic', false, { label: '气站', emptyText: '未填写', placeholder: '请选择气站' })",
"relation('delivery_basic_identity', '/delivery_basic', false, { label: '配送点', emptyText: '未填写', placeholder: '请选择配送点' })",
"relation('user_account_identity', '/user_account', false, { label: '用户', emptyText: '未填写', placeholder: '请选择用户' })",
];
for (const relation of ownershipRelations) {