const assert = require("assert"); const fs = require("fs"); const path = require("path"); const componentPath = path.resolve( __dirname, "../../src/views/ccdiCreditInfo/index.vue" ); const detailComponentPath = path.resolve( __dirname, "../../src/views/ccdiCreditInfo/components/CreditInfoDetail.vue" ); const helperPath = path.resolve( __dirname, "../../src/views/ccdiCreditInfo/components/creditDetailViewModel.js" ); const source = fs.readFileSync(componentPath, "utf8"); assert(fs.existsSync(detailComponentPath), "征信详情展示组件未抽取"); const detailSource = fs.readFileSync(detailComponentPath, "utf8"); const helperSource = fs.readFileSync(helperPath, "utf8"); [ "{{ formatQueryDate(scope.row.queryDate) }}", "normalizeCreditDetail(data, row)", ].forEach((token) => { assert(source.includes(token), `征信时间展示缺少关键实现: ${token}`); }); [ "formatQueryDate(value)", "const matched = value.match(/^(", 'parseTime(value, "{y}-{m}-{d}")', "{{ formatQueryDate(detail.queryDate) }}", ].forEach((token) => { assert(detailSource.includes(token), `征信详情组件时间展示缺少关键实现: ${token}`); }); [ "queryDate: data.queryDate || negativeInfo.queryDate", "debtCount: debts.length", "debtTotalAmount: sumDebtTotalAmount(debts)", ].forEach((token) => { assert(helperSource.includes(token), `征信详情标准化缺少关键实现: ${token}`); }); console.log("credit-info-date-display test passed");