拆分员工与亲属资产导入前端链路

This commit is contained in:
wkc
2026-03-13 16:49:27 +08:00
parent 109b5220b2
commit d6a791f59f
7 changed files with 114 additions and 17 deletions

View File

@@ -6,16 +6,19 @@ const baseStaffApiPath = path.resolve(
__dirname,
"../../src/api/ccdiBaseStaff.js"
);
const assetApiPath = path.resolve(
const baseStaffAssetApiPath = path.resolve(
__dirname,
"../../src/api/ccdiAssetInfo.js"
"../../src/api/ccdiBaseStaffAsset.js"
);
assert(fs.existsSync(baseStaffApiPath), "未找到员工 API 文件 ccdiBaseStaff.js");
assert(fs.existsSync(assetApiPath), "未找到员工资产 API 文件 ccdiAssetInfo.js");
assert(
fs.existsSync(baseStaffAssetApiPath),
"未找到员工资产 API 文件 ccdiBaseStaffAsset.js"
);
const baseStaffSource = fs.readFileSync(baseStaffApiPath, "utf8");
const assetSource = fs.readFileSync(assetApiPath, "utf8");
const assetSource = fs.readFileSync(baseStaffAssetApiPath, "utf8");
[
"export function addBaseStaff(data)",
@@ -29,16 +32,25 @@ const assetSource = fs.readFileSync(assetApiPath, "utf8");
});
[
"export function importAssetTemplate()",
"export function importAssetData(data)",
"export function getAssetImportStatus(taskId)",
"export function getAssetImportFailures(taskId, pageNum, pageSize)",
"export function importBaseStaffAssetTemplate()",
"export function importBaseStaffAssetData(data)",
"export function getBaseStaffAssetImportStatus(taskId)",
"export function getBaseStaffAssetImportFailures(taskId, pageNum, pageSize)",
"/ccdi/baseStaff/asset/importTemplate",
"/ccdi/baseStaff/asset/importData",
"/ccdi/baseStaff/asset/importStatus/",
"/ccdi/baseStaff/asset/importFailures/",
].forEach((token) => {
assert(assetSource.includes(token), `员工资产 API 缺少关键契约: ${token}`);
});
[
"/ccdi/assetInfo/importTemplate",
"/ccdi/assetInfo/importData",
"/ccdi/assetInfo/importStatus/",
"/ccdi/assetInfo/importFailures/",
].forEach((token) => {
assert(assetSource.includes(token), `员工资产 API 缺少关键契约: ${token}`);
assert(!assetSource.includes(token), `员工资产 API 不应再引用旧接口: ${token}`);
});
console.log("employee-asset-api-contract test passed");

View File

@@ -17,6 +17,13 @@ const source = fs.readFileSync(componentPath, "utf8");
"assetFailureDialogVisible",
"employee_asset_import_last_task",
"员工资产数据导入",
"下载员工资产模板",
"@/api/ccdiBaseStaffAsset",
"/ccdi/baseStaff/asset/importData",
"ccdi/baseStaff/asset/importTemplate",
"getBaseStaffAssetImportStatus",
"getBaseStaffAssetImportFailures",
"仅支持导入员工本人资产数据",
].forEach((token) => {
assert(
source.includes(token),
@@ -24,4 +31,17 @@ const source = fs.readFileSync(componentPath, "utf8");
);
});
[
'from "@/api/ccdiAssetInfo"',
"/ccdi/assetInfo/importData",
"ccdi/assetInfo/importTemplate",
"getAssetImportStatus(taskId)",
"getAssetImportFailures(",
].forEach((token) => {
assert(
!source.includes(token),
`员工资产导入 UI 不应再引用亲属资产接口: ${token}`
);
});
console.log("employee-asset-import-ui test passed");

View File

@@ -42,4 +42,13 @@ const assetSource = fs.readFileSync(assetApiPath, "utf8");
assert(assetSource.includes(token), `亲属资产 API 缺少关键契约: ${token}`);
});
[
"/ccdi/baseStaff/asset/importTemplate",
"/ccdi/baseStaff/asset/importData",
"/ccdi/baseStaff/asset/importStatus/",
"/ccdi/baseStaff/asset/importFailures/",
].forEach((token) => {
assert(!assetSource.includes(token), `亲属资产 API 不应引用员工资产接口: ${token}`);
});
console.log("staff-family-asset-api-contract test passed");

View File

@@ -24,6 +24,10 @@ const source = fs.readFileSync(componentPath, "utf8");
"startAssetImportStatusPolling(taskId)",
"getAssetFailureList()",
"clearAssetImportHistory()",
'from "@/api/ccdiAssetInfo"',
"/ccdi/assetInfo/importData",
"ccdi/assetInfo/importTemplate",
"亲属资产信息模板_",
].forEach((token) => {
assert(source.includes(token), `亲属资产导入 UI 缺少关键结构或状态: ${token}`);
});
@@ -37,4 +41,16 @@ const source = fs.readFileSync(componentPath, "utf8");
assert(source.includes(token), `详情展示或禁改逻辑缺少关键结构: ${token}`);
});
[
"@/api/ccdiBaseStaffAsset",
"/ccdi/baseStaff/asset/importData",
"ccdi/baseStaff/asset/importTemplate",
"下载员工资产模板",
].forEach((token) => {
assert(
!source.includes(token),
`亲属资产导入 UI 不应引用员工资产导入实现: ${token}`
);
});
console.log("staff-family-asset-detail-import-ui test passed");