debug_excel_cabinet_coverage.js 1.5 KB

12345678910111213141516171819202122
  1. const { chromium } = require('playwright');
  2. (async () => {
  3. const browser = await chromium.launch({ headless: true, executablePath: 'C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe' });
  4. const page = await browser.newPage({ viewport: { width: 1440, height: 1000 } });
  5. const errors = [];
  6. page.on('pageerror', error => errors.push(error.message));
  7. await page.goto('http://127.0.0.1:8931/AI%E5%BF%AB%E9%80%9F%E6%8A%A5%E4%BB%B7_Demo2.html?v=excel-coverage-test', { waitUntil: 'load' });
  8. const result = await page.evaluate(() => {
  9. qFloorHeight = 2.5;
  10. const rooms = [
  11. { roomName:'餐厅',cabinetType:'餐边柜',cabinetWidth:2,height:2.1,cabinetHeight:2.1,projectArea:4.2,layoutStyle:'一字型' },
  12. { roomName:'客厅',cabinetType:'客厅电视柜',cabinetWidth:3.2,height:2.4,cabinetHeight:2.4,projectArea:7.68,layoutStyle:'一字型' },
  13. { roomName:'主卧',cabinetType:'主卧衣柜',cabinetWidth:2.8,height:2.4,cabinetHeight:2.4,projectArea:6.72,layoutStyle:'一字型' },
  14. { roomName:'厨房',cabinetType:'厨房',cabinetWidth:4.18,height:2.5,cabinetHeight:2.5,projectArea:10.45,layoutStyle:'L型' }
  15. ];
  16. qRenderAICards({ rooms }, false);
  17. return Object.fromEntries(rooms.map(room => [room.cabinetType, room._detailItems.slice(1).map(item => ({ name:item.name, price:Number(item.price), method:item.method }))]));
  18. });
  19. console.log(JSON.stringify({ result, errors }));
  20. await browser.close();
  21. })().catch(error => { console.error(error); process.exit(1); });