修复气站合同用户权限与服务关系边界
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* 功能:静态检查气站管理端全部标准资源是否具备独立记录页配置。
|
||||
* 版本:v1.4.0
|
||||
* 版本:v1.5.0
|
||||
*/
|
||||
import { readFileSync, existsSync } from 'node:fs';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
@@ -12,7 +12,10 @@ const routeSource = readFileSync(resolve(root, 'src/router/routes/modules/platfo
|
||||
const routeBuilderSource = readFileSync(resolve(root, 'src/router/routes/modules/resource-route-builder.ts'), 'utf8');
|
||||
const ruleSource = readFileSync(resolve(root, 'src/api/resource-page-rules.ts'), 'utf8');
|
||||
const listSource = readFileSync(resolve(root, 'src/views/shared/CrudListPage.vue'), 'utf8');
|
||||
const listFieldSource = readFileSync(resolve(root, 'src/views/shared/resource-list-field-display.ts'), 'utf8');
|
||||
const detailSource = readFileSync(resolve(root, 'src/views/resource/ResourceDetailContent.vue'), 'utf8');
|
||||
const recordSource = readFileSync(resolve(root, 'src/views/resource/ResourceRecordPage.vue'), 'utf8');
|
||||
const relationSource = readFileSync(resolve(root, 'src/views/resource/use-resource-relations.ts'), 'utf8');
|
||||
const displaySource = readFileSync(resolve(root, 'src/api/resource-display.ts'), 'utf8');
|
||||
const resourceSource = readFileSync(resolve(root, 'src/api/resources.ts'), 'utf8');
|
||||
const treeResources = new Set();
|
||||
@@ -96,6 +99,29 @@ if (
|
||||
) {
|
||||
fail('用户账户详情未恢复主档与配送点关系上下文');
|
||||
}
|
||||
if (
|
||||
!listFieldSource.includes('const serverName = relationDisplayName(field, row)') ||
|
||||
!relationSource.includes('if (relationDisplayName(field, values)) return []')
|
||||
) {
|
||||
fail('合同列表未优先使用服务端范围内的签约用户名称');
|
||||
}
|
||||
if (
|
||||
!ruleSource.includes('row.user_service_active === false') ||
|
||||
!recordSource.includes("action.name !== '终止合同'")
|
||||
) {
|
||||
fail('签约用户转出后未限制合同编辑和业务动作');
|
||||
}
|
||||
if (
|
||||
!ruleSource.includes('row.contract_readonly === true') ||
|
||||
!recordSource.includes('record.value.contract_readonly === true') ||
|
||||
!recordSource.includes('record.contract_readonly !== true') ||
|
||||
!recordSource.includes("definition.value.name === 'user_account'") ||
|
||||
!listSource.includes("contract_identity: String(row.identity ?? '')") ||
|
||||
!displaySource.includes("contract_readonly: '账户权限'") ||
|
||||
!displaySource.includes("return '仅查看当前合同关联资料'")
|
||||
) {
|
||||
fail('合同范围用户详情未恢复配送点上下文或未进入完整只读模式');
|
||||
}
|
||||
|
||||
const createCount = listResources.filter((item) => createModes.has(item.mode)).length;
|
||||
console.log(
|
||||
|
||||
Reference in New Issue
Block a user