受注明細

InputManJSとSpreadJSを使用して受注管理画面を想定したサンプルです。

ここではInputManJSとSpreadJSを組み合わせて利用して、受注明細の表示・編集・確定といった業務シナリオを想定した実用例を確認することができます。各コントロールで次の処理を追加しています。 InputManJS 受注コード(GcNumber):スピンボタンによるレコード切り替えに加え、直接入力してEnterキーまたはフォーカスアウトで切り替えることができます。また、ドロップダウンプラグインと組み合わせてドロップダウンリストから受注を直接選択することができます。キーボードショートカット(U/Dキー)でも切り替えが可能です。 在籍支社・部署名(GcComboBox):社員マスタから取得した一覧をドロップダウンで選択することができます。 郵便番号(GcMask):〒XXX-XXXXの書式でマスク入力することができます。 住所(GcTextBox):入力した住所が長すぎて見切れてしまう場合、文字を長体表示にしてコントロールに収めています。 受注日・出荷日(GcDateTime):表示書式を和暦に設定し、ドロップダウンカレンダーから日付を選択することができます。また、検証コントロール(GcValidator)を利用して、受注日と出荷日の整合性を検証し、不整合な場合にトーストでエラーを通知します。 合計・税額・総額(GcNumber):読み取り専用です。商品一覧の単価・数量の編集と小計に連動して自動計算されます。 初期表示ガイド(GcTour):初回アクセス時に操作方法をステップごとに案内します。 SpreadJS 商品一覧(SpreadJS):受注コードに紐づく商品の一覧をスプレッドシート形式で表示します。 セル:単価・数量を直接編集すると小計・合計が自動再計算されます。また単価・数量・小計は数値の書式設定により桁区切りで表示されます。 ステータスバー:選択セルの合計・平均・件数を確認することができます。 スレッドコメント:数量が50個以上の大口注文には在庫確認を促すコメントや、小計が20,000円以上の高額には承認を促すスレッド式コメントが追加されます。各コメントには担当者からの返信も合わせて表示されます。また任意のセルに新たなコメントを追加したり、特定のユーザーを@メンションすることもできます。 シナリオ 確定ボタンを押下すると確認モーダルが表示され、内容を確認した上で受注を確定することができます。確定後は各フィールドおよび商品一覧が編集不可となり、確定者・確定日時がバナーに表示されます。確定状態は他の受注に切り替えて戻った際も保持されます。 修正ボタンを押下すると編集状態に戻り、再度内容を変更することができます。
import '@mescius/inputman/CSS/gc.inputman-js.css'; import '@mescius/spread-sheets/styles/gc.spread.sheets.css'; import '@mescius/spread-sheets/styles/gc.spread.sheets.excel2013white.css'; import './modern-styles.css'; import './license'; import { InputMan } from '@mescius/inputman'; import { Spread } from '@mescius/spread-sheets'; import { employees, productCategories, products, orders as rawOrders, orderDetails } from './data'; const employeeMap = new Map(employees.map(e => [e.employeeId, e])); const categoryMap = new Map(productCategories.map(c => [c.categoryId, c])); const productMap = new Map(products.map(p => [p.productId, p])); const confirmedMap = new Map(); const orders = rawOrders.map(({ orderId, employeeId, prefecture, address, orderDate, shipDate, ...rest }) => { const employee = employeeMap.get(employeeId); if (!employee) throw new Error(`employeeId ${employeeId} が見つかりません`); const details = orderDetails .filter(d => d.orderId === orderId) .map(({ productId, price, quantity }) => { const product = productMap.get(productId); const category = categoryMap.get(product.categoryId); const lineTotal = price * quantity; return { productId, productName: product.productName, categoryId: product.categoryId, categoryName: category ? category.categoryName : '不明', price, quantity, lineTotal, }; }); const subtotal = details.reduce((sum, d) => sum + d.lineTotal, 0); const tax = Math.round(subtotal * 0.08); return { orderId, employee, ...rest, fullAddress: `${prefecture}${address}`, prefecture, address, orderDate: new Date(orderDate), shipDate: new Date(shipDate), details, subtotal, tax, total: subtotal + tax, }; }); const orderMap = new Map(orders.map(o => [o.orderId, o])); const saveCurrentOrder = () => { const order = orderMap.get(currentOrderId); if (!order) return; order.employee = { ...order.employee, employeeId: controls.employeeId.value, kana: controls.kana.text, name: controls.name.text, office: controls.office.text, department: controls.department.text, }; order.clientName = controls.clientName.text; order.zipCode = controls.zipCode.text; order.fullAddress = controls.fullAddress.text; order.orderDate = controls.orderDate.value; order.shipDate = controls.shipDate.value; }; const officeOptions = Array.from(new Set(employees.map(e => e.office))).sort(); const departmentOptions = Array.from(new Set(employees.map(e => e.department))).sort(); InputMan.appearanceStyle = InputMan.AppearanceStyle.Modern; InputMan.GcDropDown.appendDropDownToBody = true; const el = (id) => document.getElementById(id); const width = { width: '85%' }; const dropDownConfig = { dropDownType: InputMan.DateDropDownType.Calendar }; const digitFormatConfig = { formatDigit: '###############', displayFormatDigit: '###,###,###,###,###', maxValue: 999999999999999, displayPositiveSuffix: '円' }; const controlDefs = [ ['orderId', 'GcNumber', { minValue: 1001, maxValue: 1120, showSpinButton: true }], ['employeeId', 'GcNumber', { ...width }], ['kana', 'GcTextBox', { ...width }], ['name', 'GcTextBox', { ...width }], ['office', 'GcComboBox', { ...width, items: officeOptions, showDropDownButton: true, isEditable: false }], ['department', 'GcComboBox', { ...width, items: departmentOptions, showDropDownButton: true, isEditable: false }], ['clientName', 'GcTextBox', { ...width }], ['zipCode', 'GcMask', { ...width, formatPattern: '〒\\D{3}-\\D{4}' }], ['fullAddress', 'GcTextBox', { ...width, autoScale: true }], ['orderDate', 'GcDateTime', { ...width, dropDownConfig, showDropDownButton: true, formatPattern: 'yyy/M/d', displayFormatPattern: 'gggE年M月d日' }], ['shipDate', 'GcDateTime', { ...width, dropDownConfig, showDropDownButton: true, formatPattern: 'yyy/M/d', displayFormatPattern: 'gggE年M月d日' }], ['subtotal', 'GcNumber', { readOnly: true, ...width, ...digitFormatConfig }], ['tax', 'GcNumber', { readOnly: true, ...width, ...digitFormatConfig }], ['total', 'GcNumber', { readOnly: true, ...width, ...digitFormatConfig }], ]; const controls = Object.fromEntries( controlDefs.map(([id, type, options]) => [ id, new InputMan[type](el(id), options) ]) ); const orderDropDown = controls.orderId.createDropDown( InputMan.DropDownButtonAlignment.RightSide ); const selectEl = document.createElement('select'); selectEl.style.width = '300px'; orderDropDown.setInnerElement(selectEl); const orderListBox = new InputMan.GcListBox(selectEl, { columns: [ { name: 'orderId', label: '受注コード', width: 80 }, { name: 'clientName', label: '出荷先名', width: 200 }, ], items: orders.map(o => ({ orderId: o.orderId, clientName: o.clientName })), displayMemberPath: 'orderId', valueMemberPath: 'orderId', overflow: InputMan.ScrollBars.Both, }); orderListBox.addEventListener( InputMan.GcListBoxEvent.ItemClick, (sender, args) => { const selected = args.itemObject; if (selected) { controls.orderId.value = Number(selected.orderId); orderDropDown.close(); update(); } } ); orderDropDown.onOpen(() => { orderListBox.layout(); }); const lockControlIds = [ 'employeeId', 'kana', 'name', 'office', 'department', 'clientName', 'zipCode', 'fullAddress', 'orderDate', 'shipDate' ]; function setlockControlsEnabled(enabled) { lockControlIds.forEach((id) => { const control = controls[id]; if (control && typeof control.readOnly !== 'undefined') { control.readOnly = !enabled; } const element = el(id); if (element) { element.disabled = !enabled; } }); } const editOrderButton = el('edit-order'); const confirmOrderButton = el('confirm-order'); const orderStateBanner = el('order-state-banner'); let orderConfirmed = false; let currentOrderId; let initialized = false; const page = document.querySelector('.page'); const tour = new InputMan.GcTour({ steps: [ { title: '受注操作マニュアル', description: '受注管理画面の基本操作方法を説明します。不要な場合は、右上の×ボタンで閉じてください。' }, { target: document.getElementById('switch-order'), title: '受注の切り替え', description: '受注コードを入力または変更して、受注明細を表示します。' }, { target: document.getElementById('ss'), title: '商品一覧', description: '商品一覧の数量や単価を編集すると、合計金額が自動計算されます。' }, { target: document.getElementById('totalSummary'), title: '合計金額の確認', description: '合計・税額・総額は確認できます。' }, { target: document.getElementById('confirm-order'), title: '確定', description: '内容を確認したら、このボタンで受注を確定します。' } ], offset: [10, 10], }); setTimeout(() => { tour.start(); }, 1000); function setOrderConfirmed(confirmed) { orderConfirmed = confirmed; if (confirmOrderButton) confirmOrderButton.disabled = confirmed; if (editOrderButton) editOrderButton.disabled = !confirmed; if (orderStateBanner) { const history = confirmedMap.get(controls.orderId.value); if (confirmed && history) { const dateStr = history.confirmedAt.toLocaleString('ja-JP'); orderStateBanner.textContent = `確定済み|${history.confirmedBy}|${dateStr}`; } else { orderStateBanner.textContent = '編集中'; } orderStateBanner.classList.toggle('order-state-confirmed', confirmed); orderStateBanner.classList.toggle('order-state-editing', !confirmed); } if (page) { page.classList.toggle('confirmed', confirmed); page.classList.toggle('editing', !confirmed); } setlockControlsEnabled(!confirmed); try { sheet.options.isProtected = confirmed; } catch (e) { } } function confirmOrder() { const order = orderMap.get(controls.orderId.value); if (!order) return; const confirmedAt = new Date(); const currentUserId = Spread.Common.UserManager.current(); const currentUser = employees.find(e => String(e.employeeId) === String(currentUserId)); const confirmedBy = currentUser ? currentUser.name : '不明'; const latestClientName = controls.clientName.text; showConfirmModal(order, confirmedAt, confirmedBy, latestClientName); } function editOrder() { const orderId = controls.orderId.value; const history = confirmedMap.get(orderId); if (history) { confirmedMap.set(orderId, { ...history, editing: true }); } setOrderConfirmed(false); } const spread = new Spread.Sheets.Workbook(el('ss'), { sheetCount: 1, tabStripVisible: false, scrollbarShowMax: false, font: '13px "Segoe UI", "Meiryo", sans-serif', grayAreaBackColor: '#fff', }); spread.options.scrollbarAppearance = Spread.Sheets.ScrollbarAppearance.mobile; const sheet = spread.getSheet(0); sheet.options.gridline = { color: '#e8e8e8', showVerticalGridline: true, showHorizontalGridline: true, }; sheet.options.allowUserEditFormula = false; sheet.defaults.rowHeight = 32; sheet.defaults.colHeaderRowHeight = 30; const statusBar = new Spread.Sheets.StatusBar.StatusBar(el('statusBar')); statusBar.bind(spread); const headerStyle = new Spread.Sheets.Style(); headerStyle.font = 'bold 13px "Segoe UI", "Meiryo", sans-serif'; headerStyle.hAlign = Spread.Sheets.HorizontalAlign.center; headerStyle.vAlign = Spread.Sheets.VerticalAlign.center; sheet.setStyle(-1, -1, headerStyle, Spread.Sheets.SheetArea.colHeader); sheet.autoGenerateColumns = false; sheet.bindColumns([ { name: 'productName', displayName: '商品名', size: 200 }, { name: 'categoryName', displayName: '区分', size: 110 }, { name: 'price', displayName: '単価', size: 90, formatter: '#,##0' }, { name: 'quantity', displayName: '数量', size: 90, formatter: '#,##0' }, { name: 'lineTotal', displayName: '小計', size: 130, formatter: '#,##0' }, ]); const COL = { productName: 0, categoryName: 1, price: 2, quantity: 3, lineTotal: 4 }; for (let i = 0; i < 200; i++) { const rowStyle = new Spread.Sheets.Style(); rowStyle.vAlign = Spread.Sheets.VerticalAlign.center; sheet.setStyle(i, -1, rowStyle, Spread.Sheets.SheetArea.viewport); } const getDetails = () => { const ds = sheet.getDataSource(); return Array.isArray(ds) ? ds : []; }; function recalcTotalsFromSheet() { const ds = sheet.getDataSource(); const rowCount = Array.isArray(ds) ? ds.length : sheet.getRowCount(); let subtotal = 0; for (let r = 0; r < rowCount; r++) { subtotal += Number(sheet.getValue(r, COL.lineTotal)) || 0; } const tax = Math.round(subtotal * 0.08); const total = subtotal + tax; controls.subtotal.value = subtotal; controls.tax.value = tax; controls.total.value = total; const order = orderMap.get(controls.orderId.value); if (order) { order.subtotal = subtotal; order.tax = tax; order.total = total; } } sheet.bind(Spread.Sheets.Events.ValueChanged, function (sender, args) { const row = args.row, col = args.col; if (col === COL.price || col === COL.quantity) { const price = Number(sheet.getValue(row, COL.price)) || 0; const quantity = Number(sheet.getValue(row, COL.quantity)) || 0; const lineTotal = price * quantity; sheet.setValue(row, COL.lineTotal, lineTotal); const ds = getDetails(); if (ds[row]) { ds[row].price = price; ds[row].quantity = quantity; ds[row].lineTotal = lineTotal; } recalcTotalsFromSheet(); } }); const updateSheet = (details) => { sheet.suspendPaint(); sheet.setDataSource(null); sheet.threadedComments.clear(); sheet.setDataSource(details); sheet.resumePaint(); details.forEach((row, i) => { const comment = sheet.threadedComments; if (row.quantity >= 50) { const tc = comment.add(i, COL.quantity); tc.add({ message: [{ type: Spread.Sheets.ThreadedComments.ContentType.text, value: `数量${row.quantity}個の大口注文です。在庫を確認してください。`, }], authorId: 210, createdAt: new Date(), }); tc.add({ message: [{ type: Spread.Sheets.ThreadedComments.ContentType.text, value: '在庫確認しました。問題ありません。', }], authorId: 207, createdAt: new Date(), }); } if (row.lineTotal >= 20000) { const tc = comment.add(i, COL.lineTotal); tc.add({ message: [{ type: Spread.Sheets.ThreadedComments.ContentType.text, value: `高額受注(小計:${row.lineTotal.toLocaleString()}円)です。承認が必要な場合があります。`, }], authorId: 210, createdAt: new Date(), }); tc.add({ message: [{ type: Spread.Sheets.ThreadedComments.ContentType.text, value: '金額を確認しました。承認しました。', }], authorId: 110, createdAt: new Date(), }); } }); recalcTotalsFromSheet(); }; const update = () => { saveCurrentOrder(); const order = orderMap.get(controls.orderId.value); if (!order) return; currentOrderId = order.orderId; controls.employeeId.value = order.employee.employeeId; controls.kana.text = order.employee.kana; controls.name.text = order.employee.name; controls.office.text = order.employee.office; controls.department.text = order.employee.department; controls.clientName.text = order.clientName; controls.zipCode.value = order.zipCode; controls.fullAddress.text = order.fullAddress; controls.orderDate.value = order.orderDate; controls.shipDate.value = order.shipDate; controls.subtotal.value = order.subtotal; controls.tax.value = order.tax; controls.total.value = order.total; updateSheet(order.details); const history = confirmedMap.get(order.orderId); if (history) { setOrderConfirmed(!history.editing); } else { setOrderConfirmed(false); } }; Spread.Common.UserManager.configure({ get: async (userId) => { return new Promise((resolve) => { const user = employees.find(u => String(u.employeeId) === String(userId)); resolve(user ? { id: String(user.employeeId), name: user.name, email: user.email, } : undefined); }); }, search: async (query) => { return new Promise((resolve) => { resolve(employees .filter(u => u.name.includes(query) || u.email.includes(query)) .map(u => ({ id: String(u.employeeId), name: u.name, email: u.email, })) ); }); }, }); Spread.Common.UserManager.current('210'); function showConfirmModal(order, confirmedAt, confirmedBy, latestClientName) { const existing = el('confirm-modal'); if (existing) existing.remove(); const dateStr = confirmedAt.toLocaleString('ja-JP'); const modal = document.createElement('div'); modal.id = 'confirm-modal'; modal.innerHTML = ` <div class="modal-overlay"> <div class="modal-box"> <div class="modal-header"> <span class="modal-icon">!</span> <span>受注確定の確認</span> </div> <div class="modal-body"> <div class="modal-summary"> <div class="modal-summary-label">出荷先</div> <div class="modal-summary-value">${latestClientName}</div> </div> <div class="modal-divider"></div> <div class="modal-row"> <span>受注コード</span><span>#${order.orderId}</span> </div> <div class="modal-row"> <span>合計</span><span>${order.subtotal.toLocaleString()}円</span> </div> <div class="modal-row"> <span>税額</span><span>${order.tax.toLocaleString()}円</span> </div> <div class="modal-row total"> <span>総額</span><span>${order.total.toLocaleString()}円</span> </div> <div class="modal-divider"></div> <div class="modal-row small"> <span>確定者</span><span>${confirmedBy}</span> </div> <div class="modal-row small"> <span>確定日時</span><span>${dateStr}</span> </div> <div class="modal-message">受注を確定してよろしいですか?</div> </div> <div class="modal-footer"> <button class="modal-cancel-button" id="modal-cancel">キャンセル</button> <button class="modal-confirm-button" id="modal-confirm">確定する</button> </div> </div> </div> `; document.body.appendChild(modal); requestAnimationFrame(() => { modal.querySelector('.modal-box').classList.add('modal-box-in'); }); el('modal-confirm').addEventListener('click', () => { modal.remove(); confirmedMap.set(order.orderId, { confirmedAt, confirmedBy, editing: false }); setOrderConfirmed(true); }); el('modal-cancel').addEventListener('click', () => { modal.remove(); confirmedMap.delete(order.orderId); setOrderConfirmed(false); }); modal.querySelector('.modal-overlay').addEventListener('click', (e) => { if (e.target === e.currentTarget) { modal.remove(); confirmedMap.delete(order.orderId); setOrderConfirmed(false); } }); } if (confirmOrderButton) { confirmOrderButton.addEventListener('click', confirmOrder); } if (editOrderButton) { editOrderButton.addEventListener('click', editOrder); } const validator = new InputMan.GcValidator({ items: [ { control: controls.orderDate, ruleSet: [ { rule: (control) => { const orderDate = control.getValue(); const shipDate = controls.shipDate.getValue(); if (!orderDate || !shipDate) return true; return orderDate.getTime() <= shipDate.getTime(); }, failMessage: '受注日が出荷日より後になっています。' } ], notify: { fail: { toast: { title: '要確認', }, } } }, { control: controls.shipDate, ruleSet: [ { rule: (control) => { const shipDate = control.getValue(); const orderDate = controls.orderDate.getValue(); if (!orderDate || !shipDate) return true; return shipDate.getTime() >= orderDate.getTime(); }, failMessage: '出荷日が受注日より前になっています。' } ], notify: { fail: { toast: { title: '要確認', }, } } }, ] }); const tryUpdate = () => { if (!initialized) return; const newOrderId = controls.orderId.value; if (newOrderId === currentOrderId) return; if (newOrderId < 1001 || newOrderId > 1120) return; update(); }; controls.orderId.onKeyDown((sender, args) => { if (args && args.Event.key === 'Enter') tryUpdate(); }); controls.orderId.onFocusOut(() => { tryUpdate(); }); controls.orderId.onSpinUp(update); controls.orderId.onSpinDown(update); controls.orderId.value = 1118; update(); currentOrderId = controls.orderId.value; initialized = true; const gcShortcut = new InputMan.GcShortcut(); gcShortcut.add({ key: InputMan.GcShortcutKey.U, target: controls.orderId, action: InputMan.GcShortcutAction.SpinUp }); gcShortcut.add({ key: InputMan.GcShortcutKey.D, target: controls.orderId, action: InputMan.GcShortcutAction.SpinDown });
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>実用例 - 受注明細</title> <!-- SystemJS --> <script src="node_modules/systemjs/dist/system.src.js"></script> <script src="systemjs.config.js"></script> <script> window.onload = function () { System.import('./src/app'); } </script> </head> <body> <div class="page"> <div class="card"> <div class="card-header">受注切替 <span id="order-state-banner" class="order-state-banner order-state-editing">編集中</span> </div> <div class="card-body"> <table class="form-table"> <tbody> <tr id="switch-order"> <th>受注コード</th> <td><input id="orderId"></td> <td class="hint">キー「U」で次のレコード、キー「D」で前のレコードを表示します</td> </tr> </tbody> </table> </div> </div> <div class="two-col"> <div class="card"> <div class="card-header">担当社員</div> <div class="card-body"> <table class="form-table"> <tbody> <tr> <th>社員コード</th> <td><input id="employeeId"></td> </tr> <tr> <th>フリガナ</th> <td><input id="kana"></td> </tr> <tr> <th>氏名</th> <td><input id="name"></td> </tr> <tr> <th>在籍支社</th> <td><select id="office"></select></td> </tr> <tr> <th>部署名</th> <td><select id="department"></select></td> </tr> </tbody> </table> </div> </div> <div class="card"> <div class="card-header">出荷先</div> <div class="card-body"> <table class="form-table"> <tbody> <tr> <th>出荷先名</th> <td><input id="clientName"></td> </tr> <tr> <th>郵便番号</th> <td><input id="zipCode"></td> </tr> <tr> <th>住所</th> <td><input id="fullAddress"></td> </tr> <tr> <th>受注日</th> <td><input id="orderDate"></td> </tr> <tr> <th>出荷日</th> <td><input id="shipDate"></td> </tr> </tbody> </table> </div> </div> </div> <div class="card"> <div class="card-header">商品一覧</div> <div class="card-body"> <div id="ss"></div> <div id="statusBar"></div> </div> </div> <div class="card"> <div class="card-header">合計</div> <div class="card-body"> <table class="form-table" id="totalSummary"> <tbody> <tr> <th>合計</th> <td><input id="subtotal"></td> <th>税額</th> <td><input id="tax"></td> <th>総額</th> <td><input id="total"></td> </tr> </tbody> </table> </div> </div> </div> <button id="edit-order" class="floating-action-button floating-action-edit" title="修正">修正</button> <button id="confirm-order" class="floating-action-button floating-action-confirm primary" title="確定">確定</button> </body> </html>
*, *::before, *::after { box-sizing: border-box; } body { position: static !important; } body { margin: 0; padding: 0; background: #f0f2f5; font-family: 'Segoe UI', 'Hiragino Sans', 'Meiryo', sans-serif; color: #333; } .page { max-width: 900px; margin: 0 auto; padding: 2rem 1rem; display: flex; flex-direction: column; gap: 1rem; } .page-title { margin: 0; font-size: 1.5rem; font-weight: 600; color: #1a1a2e; } .card { background: #fff; border-radius: 8px; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); overflow: visible !important; } .card-header { padding: 0.6rem 1rem; background: #3d5a80; color: #fff; font-size: 0.875rem; font-weight: 600; letter-spacing: 0.03em; } .card-body { padding: 0.5rem; } .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; } .form-table { border-collapse: collapse; width: 100%; } .form-table th { text-align: left; padding: 0.4rem 0.75rem 0.4rem 0; font-weight: normal; color: #555; white-space: nowrap; width: 1%; } .form-table td { padding: 0.4rem 0.75rem 0.4rem 0; } .hint { padding-left: 1rem; font-size: 0.75rem; color: #888; } #ss { height: 220px; width: 100%; } .card-header { padding: 0.6rem 1rem; background: #3d5a80; color: #fff; font-size: 0.875rem; font-weight: 600; letter-spacing: 0.03em; position: relative; } .order-state-banner { position: absolute; right: 1rem; top: 50%; transform: translateY(-50%); border-radius: 999px; padding: 0.2rem 0.7rem; font-size: 0.78rem; letter-spacing: 0; font-weight: 700; color: #fff; display: inline-flex; align-items: center; gap: 0.35rem; background: linear-gradient(135deg, #3b82f6, #0ea5e9); box-shadow: 0 8px 18px rgba(37, 99, 235, 0.18); } .order-state-banner.order-state-confirmed { background: linear-gradient(135deg, #16a34a, #047857); } .order-state-banner.order-state-editing { background: linear-gradient(135deg, #3b82f6, #0ea5e9); } .page.confirmed { background: #eefaf1; } .page.confirmed .card-header { background: #10b981; } .page.editing .card-header { background: #3b82f6; } .page.confirmed .action-button.primary { background: #059669; } .page.confirmed .action-card { background: linear-gradient(135deg, #ecfdf5, #d1fae5); } .action-card { background: linear-gradient(135deg, #f4f7ff, #eef5ff); } .action-panel { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; } .action-button { background: #3d5a80; border: none; border-radius: 8px; color: #fff; padding: 0.75rem 1rem; font-weight: 600; cursor: pointer; transition: background 180ms ease, transform 150ms ease; } .action-button:hover:not(:disabled) { background: #2b4364; transform: translateY(-1px); } .action-button.primary { background: #0066cc; } .action-button:disabled { opacity: 0.5; cursor: default; } .floating-action-button { position: fixed; right: 20px; width: 64px; height: 32px; padding: 0; font-size: 0.8rem; border-radius: 999px; border: none; background: #2563eb; color: #fff; font-weight: 700; cursor: pointer; transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, opacity 160ms ease; box-shadow: 0 14px 28px rgba(15, 23, 42, 0.18); z-index: 10000; opacity: 0.98; animation: float-in 0.7s ease; } .floating-action-button.floating-action-edit { bottom: 60px; right: 20px; } .floating-action-button.floating-action-confirm { bottom: 20px; right: 20px; } .floating-action-button:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(15, 23, 42, 0.26); } .floating-action-button.primary { background: linear-gradient(135deg, #059669, #10b981); } .floating-action-button:disabled { opacity: 0.55; cursor: not-allowed; } @keyframes float-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 0.98; transform: translateY(0); } } @media (max-width: 680px) { .floating-action-button { right: 12px; } .floating-action-button.floating-action-confirm { top: 12px; } .floating-action-button.floating-action-edit { bottom: 12px; } } @media (max-width: 600px) { .two-col { grid-template-columns: 1fr; } } #statusBar { width: 100%; height: 24px; border-top: 1px solid #e8e8e8; } .modal-overlay { position: fixed; inset: 0; background: rgba(15, 23, 42, 0.45); backdrop-filter: blur(2px); display: flex; align-items: center; justify-content: center; z-index: 20000; } .modal-box { background: #fff; border-radius: 14px; box-shadow: 0 24px 48px rgba(15, 23, 42, 0.2); width: 340px; overflow: hidden; opacity: 0; transform: translateY(16px) scale(0.97); transition: opacity 0.22s ease, transform 0.22s ease; } .modal-box.modal-box-in { opacity: 1; transform: translateY(0) scale(1); } .modal-header { background: linear-gradient(135deg, #059669, #10b981); color: #fff; padding: 1rem 1.25rem; font-weight: 700; font-size: 1rem; display: flex; align-items: center; gap: 0.5rem; } .modal-icon { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.25); font-size: 13px; } .modal-body { padding: 1.25rem; } .modal-summary { text-align: center; margin-bottom: 1rem; } .modal-summary-label { font-size: 0.75rem; color: #888; margin-bottom: 0.2rem; } .modal-summary-value { font-size: 1.1rem; font-weight: 700; color: #1a1a2e; } .modal-divider { height: 1px; background: #f0f2f5; margin: 0.75rem 0; } .modal-row { display: flex; justify-content: space-between; align-items: center; padding: 0.3rem 0; font-size: 0.875rem; color: #444; } .modal-row.total { font-size: 1rem; font-weight: 700; color: #1a1a2e; } .modal-row.small { font-size: 0.78rem; color: #888; } .modal-footer { padding: 0.75rem 1.25rem 1.25rem; display: flex; justify-content: center; } .modal-message { text-align: center; margin-top: 1rem; font-size: 0.875rem; color: #444; } .modal-footer { padding: 0.75rem 1.25rem 1.25rem; display: flex; gap: 0.75rem; justify-content: center; } .modal-cancel-button { flex: 1; padding: 0.65rem; border: 1px solid #e2e8f0; border-radius: 8px; background: #f0f2f5; color: #333; font-weight: 600; font-size: 0.875rem; cursor: pointer; transition: background 0.15s ease; } .modal-cancel-button:hover { background: #e2e8f0; } .modal-confirm-button { flex: 1; padding: 0.65rem; border: none; border-radius: 8px; background: linear-gradient(135deg, #059669, #10b981); color: #fff; font-weight: 600; font-size: 0.875rem; cursor: pointer; transition: opacity 0.15s ease; } .modal-confirm-button:hover { opacity: 0.9; }
export const employees = [ { "employeeId": 105, "kana": "モリウエ イクマ", "name": "森上 偉久馬", "office": "東京本社", "department": "第一営業", "email": "moriue@example.com" }, { "employeeId": 107, "kana": "カツラギ コウシ", "name": "葛城 孝史", "office": "東京本社", "department": "第二営業", "email": "katsuragi@example.com" }, { "employeeId": 110, "kana": "カトウ ヤスエ", "name": "加藤 泰江", "office": "東京本社", "department": "第一営業", "email": "kato@example.com" }, { "employeeId": 204, "kana": "カワムラ タダシ", "name": "川村 匡", "office": "大阪支社", "department": "営業開発", "email": "kawamura@example.com" }, { "employeeId": 207, "kana": "マツザワ セイイチ", "name": "松沢 誠一", "office": "大阪支社", "department": "営業開発", "email": "matsuzawa@example.com" }, { "employeeId": 210, "kana": "ナルミヤ マキ", "name": "成宮 真紀", "office": "大阪支社", "department": "営業一", "email": "narumiya@example.com" }, { "employeeId": 304, "kana": "ヤマモト マサハル", "name": "山本 雅治", "office": "北九州支社", "department": "営業一", "email": "yamamoto@example.com" }, { "employeeId": 305, "kana": "アオキ トシユキ", "name": "青木 俊之", "office": "北九州支社", "department": "営業一", "email": "aoki@example.com" }, { "employeeId": 307, "kana": "オガワ サヨコ", "name": "小川 さよ子", "office": "北九州支社", "department": "営業二", "email": "ogawa@example.com" } ]; export const productCategories = [ { "categoryId": 1, "categoryName": "飲料" }, { "categoryId": 2, "categoryName": "調味料" }, { "categoryId": 3, "categoryName": "菓子類" }, { "categoryId": 4, "categoryName": "乳製品" }, { "categoryId": 5, "categoryName": "穀類、シリアル" }, { "categoryId": 6, "categoryName": "肉類" }, { "categoryId": 7, "categoryName": "加工食品" }, { "categoryId": 8, "categoryName": "魚介類" } ]; export const products = [ { "productId": 1, "kana": "カジュウ100パーセント オレンジ", "productName": "果汁100% オレンジ", "categoryId": 1, "price": 200 }, { "productId": 2, "kana": "カジュウ100パーセント グレープ", "productName": "果汁100% グレープ", "categoryId": 1, "price": 200 }, { "productId": 3, "kana": "カジュウ100パーセント レモン", "productName": "果汁100% レモン", "categoryId": 1, "price": 200 }, { "productId": 4, "kana": "カジュウ100パーセント ピーチ", "productName": "果汁100% ピーチ", "categoryId": 1, "price": 200 }, { "productId": 5, "kana": "コーヒーマイルド", "productName": "コーヒーマイルド", "categoryId": 1, "price": 190 }, { "productId": 6, "kana": "コーヒービター", "productName": "コーヒービター", "categoryId": 1, "price": 190 }, { "productId": 7, "kana": "コーヒーミルク", "productName": "コーヒーミルク", "categoryId": 1, "price": 190 }, { "productId": 8, "kana": "ピリピリビール", "productName": "ピリピリ ビール", "categoryId": 1, "price": 280 }, { "productId": 9, "kana": "オタルシロラベル", "productName": "オタル白ラベル", "categoryId": 1, "price": 300 }, { "productId": 10, "kana": "バードワイン", "productName": "バードワイン", "categoryId": 1, "price": 250 }, { "productId": 11, "kana": "ホワイトソルト", "productName": "ホワイトソルト", "categoryId": 2, "price": 2600 }, { "productId": 12, "kana": "ブラックペッパー", "productName": "ブラックペッパー", "categoryId": 2, "price": 210 }, { "productId": 13, "kana": "ピュアシュガー", "productName": "ピュアシュガー", "categoryId": 2, "price": 2800 }, { "productId": 14, "kana": "ウマイモト", "productName": "うまい素", "categoryId": 2, "price": 250 }, { "productId": 15, "kana": "ピュアデミグラスソース", "productName": "ピュアデミグラスソース", "categoryId": 2, "price": 200 }, { "productId": 16, "kana": "ダシカツオ", "productName": "だしかつお", "categoryId": 2, "price": 290 }, { "productId": 17, "kana": "ダシコンブ", "productName": "だしこんぶ", "categoryId": 2, "price": 290 }, { "productId": 18, "kana": "ピリカラタバスコ", "productName": "ピリカラタバスコ", "categoryId": 2, "price": 200 }, { "productId": 19, "kana": "ノリサンショウ", "productName": "のり山椒", "categoryId": 2, "price": 50 }, { "productId": 20, "kana": "トクセイワフウショウユ", "productName": "特製和風醤油", "categoryId": 2, "price": 320 }, { "productId": 21, "kana": "バニラクリームアイス", "productName": "バニラクリームアイス", "categoryId": 3, "price": 2800 }, { "productId": 22, "kana": "チョコクリームアイス", "productName": "チョコクリームアイス", "categoryId": 3, "price": 2800 }, { "productId": 23, "kana": "コウチャバー", "productName": "紅茶バー", "categoryId": 3, "price": 120 }, { "productId": 24, "kana": "ジャガチップス", "productName": "じゃがチップス", "categoryId": 3, "price": 130 }, { "productId": 25, "kana": "アメリカンクラッカー", "productName": "アメリカンクラッカー", "categoryId": 3, "price": 180 }, { "productId": 26, "kana": "バナナキャンディー", "productName": "バナナキャンディー", "categoryId": 3, "price": 160 }, { "productId": 27, "kana": "メロンミルクキャンディー", "productName": "メロンミルクキャンディー", "categoryId": 3, "price": 160 }, { "productId": 28, "kana": "オグラアンパン", "productName": "小倉あんぱん", "categoryId": 3, "price": 500 }, { "productId": 29, "kana": "インドカレーパン", "productName": "インドカレーパン", "categoryId": 3, "price": 500 }, { "productId": 30, "kana": "チーズアンパン", "productName": "チーズあんぱん", "categoryId": 3, "price": 500 }, { "productId": 31, "kana": "ロッキーチーズ", "productName": "ロッキーチーズ", "categoryId": 4, "price": 380 }, { "productId": 32, "kana": "パルメザンチーズ", "productName": "パルメザンチーズ", "categoryId": 4, "price": 1200 }, { "productId": 33, "kana": "フレッシュバター", "productName": "フレッシュバター", "categoryId": 4, "price": 420 }, { "productId": 34, "kana": "ライフマーガリン", "productName": "ライフマーガリン", "categoryId": 4, "price": 380 }, { "productId": 35, "kana": "ローカロリーギュウニュウ", "productName": "ローカロリー牛乳", "categoryId": 4, "price": 180 }, { "productId": 36, "kana": "ギュウニュウマイルド", "productName": "牛乳マイルド", "categoryId": 4, "price": 200 }, { "productId": 37, "kana": "ストロベリーヨーグルト", "productName": "ストロベリーヨーグルト", "categoryId": 4, "price": 180 }, { "productId": 38, "kana": "ブルーベリーヨーグルト", "productName": "ブルーベリーヨーグルト", "categoryId": 4, "price": 180 }, { "productId": 39, "kana": "ラズベリーヨーグルト", "productName": "ラズベリーヨーグルト", "categoryId": 4, "price": 180 }, { "productId": 40, "kana": "ココナッツミルク", "productName": "ココナッツミルク", "categoryId": 4, "price": 300 }, { "productId": 41, "kana": "モーニングブレッド", "productName": "モーニングブレッド", "categoryId": 5, "price": 450 }, { "productId": 42, "kana": "バタートースト", "productName": "バタートースト", "categoryId": 5, "price": 450 }, { "productId": 43, "kana": "バケットフランス", "productName": "バケットフランス", "categoryId": 5, "price": 450 }, { "productId": 44, "kana": "ゴクジョウパスタ", "productName": "極上パスタ", "categoryId": 5, "price": 210 }, { "productId": 45, "kana": "ゴクジョウマカロニ", "productName": "極上マカロニ", "categoryId": 5, "price": 190 }, { "productId": 46, "kana": "デントウスパゲッティ", "productName": "伝統スパゲッティ", "categoryId": 5, "price": 250 }, { "productId": 47, "kana": "ヘルシークラッカー", "productName": "ヘルシークラッカー", "categoryId": 5, "price": 180 }, { "productId": 48, "kana": "コーンフレークプレーン", "productName": "コーンフレークプレーン", "categoryId": 5, "price": 220 }, { "productId": 49, "kana": "コーンフレークチョコ", "productName": "コーンフレークチョコ", "categoryId": 5, "price": 220 }, { "productId": 50, "kana": "コーンフレークシュガー", "productName": "コーンフレークシュガー", "categoryId": 5, "price": 220 }, { "productId": 51, "kana": "アメリカンポーク", "productName": "アメリカンポーク", "categoryId": 6, "price": 180 }, { "productId": 52, "kana": "ウスアジウインナー", "productName": "うす味ウインナー", "categoryId": 6, "price": 160 }, { "productId": 53, "kana": "ベターローストハム", "productName": "ベターローストハム", "categoryId": 6, "price": 5400 }, { "productId": 54, "kana": "ベタープレスハム", "productName": "ベタープレスハム", "categoryId": 6, "price": 3200 }, { "productId": 55, "kana": "ベターナマハム", "productName": "ベター生ハム", "categoryId": 6, "price": 6000 }, { "productId": 56, "kana": "トクセイサラミ", "productName": "特製サラミ", "categoryId": 6, "price": 230 }, { "productId": 57, "kana": "ワフウハンバーグレトルト", "productName": "和風ハンバーグレトルト", "categoryId": 6, "price": 160 }, { "productId": 58, "kana": "テリヤキミートボール", "productName": "照焼きミートボール", "categoryId": 6, "price": 160 }, { "productId": 59, "kana": "ミックスハム", "productName": "ミックスハム", "categoryId": 6, "price": 5300 }, { "productId": 60, "kana": "ミートバー", "productName": "ミートバー", "categoryId": 6, "price": 300 }, { "productId": 61, "kana": "モメンドウフトクジョウ", "productName": "もめんどうふ特上", "categoryId": 7, "price": 120 }, { "productId": 62, "kana": "キヌゴシドウフトクジョウ", "productName": "きぬごしどうふ特上", "categoryId": 7, "price": 120 }, { "productId": 63, "kana": "レイトウミックスベジタブル", "productName": "冷凍ミックスベジタブル", "categoryId": 7, "price": 230 }, { "productId": 64, "kana": "レイトウクリームコロッケ", "productName": "冷凍クリームコロッケ", "categoryId": 7, "price": 280 }, { "productId": 65, "kana": "レイトウコーンクリームコロッケ", "productName": "冷凍コーンクリームコロッケ", "categoryId": 7, "price": 280 }, { "productId": 66, "kana": "レイトウポテトコロッケ", "productName": "冷凍ポテトコロッケ", "categoryId": 7, "price": 260 }, { "productId": 67, "kana": "レイトウエダマメ", "productName": "冷凍枝豆", "categoryId": 7, "price": 270 }, { "productId": 68, "kana": "レイトウヤキオニギリ", "productName": "冷凍やきおにぎり", "categoryId": 7, "price": 300 }, { "productId": 69, "kana": "カンソウバナナ", "productName": "乾燥バナナ", "categoryId": 7, "price": 210 }, { "productId": 70, "kana": "カンソウアップル", "productName": "乾燥アップル", "categoryId": 7, "price": 210 }, { "productId": 71, "kana": "トクセンアジノリ", "productName": "特選味のり", "categoryId": 8, "price": 1800 }, { "productId": 72, "kana": "ホッカイドウコンブ", "productName": "北海道昆布", "categoryId": 8, "price": 4400 }, { "productId": 73, "kana": "ヤキイカスルメクン", "productName": "やきいかするめくん", "categoryId": 8, "price": 200 }, { "productId": 74, "kana": "ショクタクワカメ", "productName": "食卓わかめ", "categoryId": 8, "price": 250 }, { "productId": 75, "kana": "フリカケカツオフウミ", "productName": "ふりかけかつお風味", "categoryId": 8, "price": 1300 }, { "productId": 76, "kana": "フリカケサケフウミ", "productName": "ふりかけ鮭風味", "categoryId": 8, "price": 1300 }, { "productId": 77, "kana": "タイリクサーモン", "productName": "大陸サーモン", "categoryId": 8, "price": 2800 }, { "productId": 78, "kana": "トクセンニボシ", "productName": "特選にぼし", "categoryId": 8, "price": 1500 }, { "productId": 79, "kana": "ホンガツオトクジョウ", "productName": "本がつお特上", "categoryId": 8, "price": 1000 }, { "productId": 80, "kana": "コロモハンペン", "productName": "ころもはんぺん", "categoryId": 8, "price": 160 }, { "productId": 81, "kana": "セイリョウスカッシュ", "productName": "清涼スカッシュ", "categoryId": 1, "price": 190 }, { "productId": 82, "kana": "セイリョウレモン", "productName": "清涼レモン", "categoryId": 1, "price": 190 }, { "productId": 84, "kana": "ナマワサビ", "productName": "なまわさび", "categoryId": 2, "price": 200 }, { "productId": 85, "kana": "ナマカラシ", "productName": "なまからし", "categoryId": 2, "price": 200 }, { "productId": 86, "kana": "ナマショウガ", "productName": "なましょうが", "categoryId": 2, "price": 200 }, { "productId": 87, "kana": "チョコブロック", "productName": "チョコブロック", "categoryId": 3, "price": 100 }, { "productId": 88, "kana": "ストロベリーチョコブロック", "productName": "ストロベリーチョコブロック", "categoryId": 3, "price": 100 }, { "productId": 89, "kana": "モーニングマーガリン", "productName": "モーニングマーガリン", "categoryId": 4, "price": 210 }, { "productId": 90, "kana": "ゴールドマカロニ", "productName": "ゴールドマカロニ", "categoryId": 5, "price": 280 }, { "productId": 91, "kana": "キウドン", "productName": "生うどん", "categoryId": 5, "price": 120 }, { "productId": 92, "kana": "キソバ", "productName": "生そば", "categoryId": 5, "price": 120 }, { "productId": 93, "kana": "ギョニクソーセージ", "productName": "魚肉ソーセージ", "categoryId": 6, "price": 350 }, { "productId": 94, "kana": "ヤキドウフ", "productName": "やきどうふ", "categoryId": 7, "price": 120 }, { "productId": 95, "kana": "ホソメン", "productName": "ほそめん", "categoryId": 5, "price": 380 }, { "productId": 96, "kana": "トクセンシジミ", "productName": "特選しじみ", "categoryId": 8, "price": 420 }, { "productId": 97, "kana": "ナマニュウヨーグルト", "productName": "生乳ヨーグルト", "categoryId": 4, "price": 280 }, { "productId": 98, "kana": "ヤキニクノタレ", "productName": "焼肉のたれ", "categoryId": 2, "price": 280 }, { "productId": 99, "kana": "スポーツインリョウパワー", "productName": "スポーツ飲料パワー", "categoryId": 1, "price": 180 }, { "productId": 100, "kana": "シカクセンベイ", "productName": "四角せんべい", "categoryId": 3, "price": 180 }, { "productId": 101, "kana": "マッチャバー", "productName": "抹茶バー", "categoryId": 3, "price": 220 }, { "productId": 102, "kana": "ポテトスナック", "productName": "ポテトスナック", "categoryId": 3, "price": 140 }, { "productId": 103, "kana": "ナイトワイン", "productName": "ナイトワイン", "categoryId": 1, "price": 500 }, { "productId": 104, "kana": "ゴクジョウハム", "productName": "極上ハム", "categoryId": 6, "price": 250 }, { "productId": 105, "kana": "ボトルウイスキー", "productName": "ボトルウイスキー", "categoryId": 1, "price": 1500 }, { "productId": 106, "kana": "ヒビセンベイ", "productName": "ひび煎餅", "categoryId": 3, "price": 250 }, { "productId": 107, "kana": "テヅクリメン", "productName": "手づくり麺", "categoryId": 5, "price": 280 }, { "productId": 108, "kana": "アオノリアジサイ", "productName": "あおのりあじさい", "categoryId": 2, "price": 200 }, { "productId": 109, "kana": "アサヒカマボコ", "productName": "朝日かまぼこ", "categoryId": 7, "price": 180 }, { "productId": 110, "kana": "カニノアシ", "productName": "かにのあし", "categoryId": 7, "price": 230 }, { "productId": 111, "kana": "マスカットガム", "productName": "マスカットガム", "categoryId": 3, "price": 100 }, { "productId": 112, "kana": "フルーツヨーグルト", "productName": "フルーツヨーグルト", "categoryId": 4, "price": 210 }, { "productId": 113, "kana": "ウドン・ソバツユ", "productName": "うどん・そばつゆ", "categoryId": 2, "price": 300 }, { "productId": 114, "kana": "トクセンヤキチクワ", "productName": "特選焼きちくわ", "categoryId": 7, "price": 210 }, { "productId": 115, "kana": "マイルドカレー", "productName": "マイルドカレー", "categoryId": 2, "price": 280 }, { "productId": 116, "kana": "ゲキカンカレー", "productName": "激甘カレー", "categoryId": 2, "price": 230 }, { "productId": 117, "kana": "キタキツネラーメン", "productName": "キタキツネラーメン", "categoryId": 5, "price": 300 }, { "productId": 118, "kana": "トクセンサザエ", "productName": "特選さざえ", "categoryId": 8, "price": 500 }, { "productId": 119, "kana": "コアラクッキー", "productName": "コアラクッキー", "categoryId": 3, "price": 220 }, { "productId": 120, "kana": "クリチョコメロン", "productName": "栗チョコメロン", "categoryId": 3, "price": 180 }, { "productId": 121, "kana": "スライスカットチーズ", "productName": "スライスカットチーズ", "categoryId": 4, "price": 200 }, { "productId": 122, "kana": "サヌキメン", "productName": "讃岐めん", "categoryId": 5, "price": 1000 }, { "productId": 123, "kana": "リンゴカジュウ", "productName": "林檎果汁", "categoryId": 1, "price": 100 }, { "productId": 124, "kana": "ワタガシハツユキ", "productName": "綿菓子はつゆき", "categoryId": 3, "price": 100 } ]; export const orders = [ { "orderId": 1001, "employeeId": 210, "clientName": "小料理ひろ", "zipCode": "4860969", "prefecture": "愛知県", "address": "春日井市味美白山町 1-9-X", "orderDate": "2025/1/10", "shipDate": "2025/1/15" }, { "orderId": 1002, "employeeId": 304, "clientName": "食所あんどう", "zipCode": "8112206", "prefecture": "福岡県", "address": "粕屋郡志免町御手洗 51-X", "orderDate": "2025/1/8", "shipDate": "2025/1/12" }, { "orderId": 1003, "employeeId": 110, "clientName": "高原亭", "zipCode": "3001203", "prefecture": "茨城県", "address": "牛久市下根町 1504-XX", "orderDate": "2025/1/12", "shipDate": "2025/1/17" }, { "orderId": 1004, "employeeId": 204, "clientName": "料亭きゅうきゅう", "zipCode": "7330036", "prefecture": "広島県", "address": "広島市西区観音新町 1-16-X", "orderDate": "2025/1/21", "shipDate": "2025/1/29" }, { "orderId": 1005, "employeeId": 207, "clientName": "洋食ちくさ", "zipCode": "4670055", "prefecture": "愛知県", "address": "名古屋市瑞穂区中根町 5-4-X", "orderDate": "2025/1/13", "shipDate": "2025/1/20" }, { "orderId": 1006, "employeeId": 307, "clientName": "洋風居酒屋けい・えっくす", "zipCode": "8900074", "prefecture": "鹿児島県", "address": "鹿児島市宇宿町 2655-XX", "orderDate": "2025/1/20", "shipDate": "2025/1/25" }, { "orderId": 1007, "employeeId": 204, "clientName": "葉薄ふぁん", "zipCode": "5650863", "prefecture": "大阪府", "address": "吹田市竹見台 2-X", "orderDate": "2025/1/24", "shipDate": "2025/1/30" }, { "orderId": 1008, "employeeId": 105, "clientName": "アリス亭", "zipCode": "2700234", "prefecture": "千葉県", "address": "野田市日之出町 27-XX", "orderDate": "2025/1/10", "shipDate": "2025/1/15" }, { "orderId": 1009, "employeeId": 207, "clientName": "イルカランド", "zipCode": "1440047", "prefecture": "東京都", "address": "大田区萩中 2-4-X", "orderDate": "2025/1/25", "shipDate": "2025/2/1" }, { "orderId": 1010, "employeeId": 105, "clientName": "ヒロコーポレーション", "zipCode": "2410831", "prefecture": "神奈川県", "address": "横浜市旭区左近山 3-18-XXX", "orderDate": "2025/1/18", "shipDate": "2025/1/21" }, { "orderId": 1011, "employeeId": 204, "clientName": "居酒屋ななべえ", "zipCode": "6158256", "prefecture": "京都府", "address": "京都市西京区山田平尾町 73-X", "orderDate": "2025/2/1", "shipDate": "2025/2/7" }, { "orderId": 1012, "employeeId": 210, "clientName": "温泉レストラン", "zipCode": "3771700", "prefecture": "群馬県", "address": "吾妻郡草津町 462-XX", "orderDate": "2025/2/3", "shipDate": "2025/2/10" }, { "orderId": 1013, "employeeId": 207, "clientName": "商店せんしょう", "zipCode": "6640027", "prefecture": "兵庫県", "address": "伊丹市池尻 5-XX", "orderDate": "2025/2/12", "shipDate": "2025/2/18" }, { "orderId": 1014, "employeeId": 110, "clientName": "割烹ふじい", "zipCode": "9398066", "prefecture": "富山県", "address": "富山市朝菜町 2-702-XX", "orderDate": "2025/2/15", "shipDate": "2025/2/20" }, { "orderId": 1015, "employeeId": 210, "clientName": "酒蔵でん", "zipCode": "7711264", "prefecture": "徳島県", "address": "板野郡藍住町住吉 5-XXX", "orderDate": "2025/2/15", "shipDate": "2025/2/21" }, { "orderId": 1016, "employeeId": 304, "clientName": "札幌フード", "zipCode": "0060814", "prefecture": "北海道", "address": "札幌市手稲区前田 4-9-3-XX", "orderDate": "2025/2/20", "shipDate": "2025/2/25" }, { "orderId": 1017, "employeeId": 110, "clientName": "東海道スーパー", "zipCode": "2750016", "prefecture": "千葉県", "address": "習志野市津田沼 2-6-XX", "orderDate": "2025/2/23", "shipDate": "2025/2/29" }, { "orderId": 1018, "employeeId": 305, "clientName": "大和マーケット", "zipCode": "3810022", "prefecture": "長野県", "address": "長野市大豆島 1798-X", "orderDate": "2025/2/25", "shipDate": "2025/2/29" }, { "orderId": 1019, "employeeId": 307, "clientName": "コーヒーハウスフェンス", "zipCode": "2991100", "prefecture": "千葉県", "address": "君津市袖ケ浦町野里 1539-X", "orderDate": "2025/2/26", "shipDate": "2025/3/3" }, { "orderId": 1020, "employeeId": 307, "clientName": "夷そば", "zipCode": "8900073", "prefecture": "鹿児島県", "address": "鹿児島市宇宿 2-14-X", "orderDate": "2025/2/26", "shipDate": "2025/3/4" }, { "orderId": 1021, "employeeId": 110, "clientName": "高原亭", "zipCode": "3001203", "prefecture": "茨城県", "address": "牛久市下根町 1504-XX", "orderDate": "2025/2/29", "shipDate": "2025/3/7" }, { "orderId": 1022, "employeeId": 307, "clientName": "自然食なちゅらる", "zipCode": "8160053", "prefecture": "福岡県", "address": "福岡市博多区東平尾 2-10-XX", "orderDate": "2025/3/3", "shipDate": "2025/3/9" }, { "orderId": 1023, "employeeId": 305, "clientName": "雪花ガーデン", "zipCode": "0620921", "prefecture": "北海道", "address": "札幌市豊平区中の島一条2丁目 4-XX", "orderDate": "2025/3/4", "shipDate": "2025/3/11" }, { "orderId": 1024, "employeeId": 105, "clientName": "山門屋", "zipCode": "1650034", "prefecture": "東京都", "address": "中野区大和町 2-41-XX", "orderDate": "2025/3/7", "shipDate": "2025/3/13" }, { "orderId": 1025, "employeeId": 210, "clientName": "惣菜びみ", "zipCode": "4800202", "prefecture": "愛知県", "address": "西春日井郡豊山町豊場新田 17-X", "orderDate": "2025/3/11", "shipDate": "2025/3/17" }, { "orderId": 1026, "employeeId": 107, "clientName": "蓬莱堂", "zipCode": "1570064", "prefecture": "東京都", "address": "世田谷区給田 3-31-X", "orderDate": "2025/3/15", "shipDate": "2025/3/20" }, { "orderId": 1027, "employeeId": 107, "clientName": "北冷マート", "zipCode": "0600005", "prefecture": "北海道", "address": "札幌市中央区北5条西 12-2-19-XXX", "orderDate": "2025/3/13", "shipDate": "2025/3/20" }, { "orderId": 1028, "employeeId": 107, "clientName": "レストラン石坂", "zipCode": "3530005", "prefecture": "埼玉県", "address": "志木市幸町 1-8-40-XXXX", "orderDate": "2025/3/17", "shipDate": "2025/3/24" }, { "orderId": 1029, "employeeId": 107, "clientName": "小町ストアー", "zipCode": "0170012", "prefecture": "秋田県", "address": "大館市釈迦内字館 30-XX", "orderDate": "2025/3/20", "shipDate": "2025/3/27" }, { "orderId": 1030, "employeeId": 107, "clientName": "コンビニエンス北風", "zipCode": "2320061", "prefecture": "神奈川県", "address": "横浜市南区大岡 1-44-X", "orderDate": "2025/3/26", "shipDate": "2025/4/2" }, { "orderId": 1031, "employeeId": 110, "clientName": "城元株式会社", "zipCode": "9850831", "prefecture": "宮城県", "address": "多賀城市笠神 3-2-X", "orderDate": "2025/3/31", "shipDate": "2025/4/7" }, { "orderId": 1032, "employeeId": 107, "clientName": "寿ストアー", "zipCode": "1430012", "prefecture": "東京都", "address": "大田区大森東 1-35-X", "orderDate": "2025/4/2", "shipDate": "2025/4/9" }, { "orderId": 1033, "employeeId": 305, "clientName": "笹の葉食料品店", "zipCode": "2260000", "prefecture": "神奈川県", "address": "横浜市緑区千草台 7-X", "orderDate": "2025/4/4", "shipDate": "2025/4/11" }, { "orderId": 1034, "employeeId": 110, "clientName": "宮株式会社", "zipCode": "9830000", "prefecture": "宮城県", "address": "仙台市宮城野区古宮 4-X", "orderDate": "2025/4/9", "shipDate": "2025/4/14" }, { "orderId": 1035, "employeeId": 105, "clientName": "びしゃもんや", "zipCode": "2860003", "prefecture": "千葉県", "address": "成田市台方 XXX", "orderDate": "2025/4/15", "shipDate": "2025/4/22" }, { "orderId": 1036, "employeeId": 110, "clientName": "パーラーえんとつ", "zipCode": "1780063", "prefecture": "東京都", "address": "練馬区東大泉 1-26-31-XXX", "orderDate": "2025/4/19", "shipDate": "2025/4/25" }, { "orderId": 1037, "employeeId": 107, "clientName": "健食弁当株式会社", "zipCode": "1580083", "prefecture": "東京都", "address": "世田谷区奥沢 1-37-XX", "orderDate": "2025/4/21", "shipDate": "2025/4/27" }, { "orderId": 1038, "employeeId": 204, "clientName": "屋台すまいる", "zipCode": "5630017", "prefecture": "大阪府", "address": "池田市伏尾台 2-9-X", "orderDate": "2025/4/24", "shipDate": "2025/4/29" }, { "orderId": 1039, "employeeId": 207, "clientName": "海鮮料理くじら", "zipCode": "5140112", "prefecture": "三重県", "address": "津市一身田中野 19-X", "orderDate": "2025/4/24", "shipDate": "2025/4/30" }, { "orderId": 1040, "employeeId": 204, "clientName": "葉薄ふぁん", "zipCode": "5650863", "prefecture": "大阪府", "address": "吹田市竹見台 2-X", "orderDate": "2025/4/27", "shipDate": "2025/5/5" }, { "orderId": 1041, "employeeId": 305, "clientName": "小料理なんごく", "zipCode": "9020071", "prefecture": "沖縄県", "address": "那覇市繁多川 1-21-XX", "orderDate": "2025/4/30", "shipDate": "2025/5/9" }, { "orderId": 1042, "employeeId": 110, "clientName": "高原亭", "zipCode": "3001203", "prefecture": "茨城県", "address": "牛久市下根町 1504-XX", "orderDate": "2025/5/7", "shipDate": "2025/5/13" }, { "orderId": 1043, "employeeId": 305, "clientName": "名店はかたっこ", "zipCode": "8380215", "prefecture": "福岡県", "address": "朝倉郡夜須町篠隈 225-XX", "orderDate": "2025/5/9", "shipDate": "2025/5/16" }, { "orderId": 1044, "employeeId": 304, "clientName": "食所あんどう", "zipCode": "8112206", "prefecture": "福岡県", "address": "粕屋郡志免町御手洗 51-X", "orderDate": "2025/5/14", "shipDate": "2025/5/19" }, { "orderId": 1045, "employeeId": 307, "clientName": "コーヒーハウスフェンス", "zipCode": "2991100", "prefecture": "千葉県", "address": "君津市袖ケ浦町野里 1539-X", "orderDate": "2025/5/17", "shipDate": "2025/5/24" }, { "orderId": 1046, "employeeId": 307, "clientName": "洋風居酒屋けい・えっくす", "zipCode": "8900074", "prefecture": "鹿児島県", "address": "鹿児島市宇宿町 2655-XX", "orderDate": "2025/5/18", "shipDate": "2025/5/23" }, { "orderId": 1047, "employeeId": 304, "clientName": "札幌フード", "zipCode": "0060814", "prefecture": "北海道", "address": "札幌市手稲区前田 4-9-3-XX", "orderDate": "2025/5/19", "shipDate": "2025/5/26" }, { "orderId": 1048, "employeeId": 204, "clientName": "料亭きゅうきゅう", "zipCode": "7330036", "prefecture": "広島県", "address": "広島市西区観音新町 1-16-X", "orderDate": "2025/5/24", "shipDate": "2025/5/29" }, { "orderId": 1049, "employeeId": 210, "clientName": "ポム・ド・テール", "zipCode": "3501146", "prefecture": "埼玉県", "address": "川越市熊野町 12-2-XXX", "orderDate": "2025/5/26", "shipDate": "2025/5/31" }, { "orderId": 1050, "employeeId": 304, "clientName": "月野株式会社", "zipCode": "9820222", "prefecture": "宮城県", "address": "仙台市太白区人来田 3-15-XX", "orderDate": "2025/5/28", "shipDate": "2025/6/3" }, { "orderId": 1051, "employeeId": 105, "clientName": "甘味喫茶ダイ", "zipCode": "2490002", "prefecture": "神奈川県", "address": "逗子市山の根 3-15-XX", "orderDate": "2025/5/31", "shipDate": "2025/6/5" }, { "orderId": 1052, "employeeId": 305, "clientName": "小料理なんごく", "zipCode": "9020071", "prefecture": "沖縄県", "address": "那覇市繁多川 1-21-XX", "orderDate": "2025/6/2", "shipDate": "2025/6/9" }, { "orderId": 1053, "employeeId": 110, "clientName": "東海道スーパー", "zipCode": "2750016", "prefecture": "千葉県", "address": "習志野市津田沼 2-6-XX", "orderDate": "2025/6/9", "shipDate": "2025/6/14" }, { "orderId": 1054, "employeeId": 105, "clientName": "みちのく本陣", "zipCode": "1660015", "prefecture": "東京都", "address": "杉並区成田東 5-35-XX", "orderDate": "2025/6/14", "shipDate": "2025/6/20" }, { "orderId": 1055, "employeeId": 105, "clientName": "山門屋", "zipCode": "1650034", "prefecture": "東京都", "address": "中野区大和町 2-41-XX", "orderDate": "2025/6/15", "shipDate": "2025/6/22" }, { "orderId": 1056, "employeeId": 204, "clientName": "居酒屋ななべえ", "zipCode": "6158256", "prefecture": "京都府", "address": "京都市西京区山田平尾町 73-X", "orderDate": "2025/6/19", "shipDate": "2025/6/25" }, { "orderId": 1057, "employeeId": 107, "clientName": "蓬莱堂", "zipCode": "1570064", "prefecture": "東京都", "address": "世田谷区給田 3-31-X", "orderDate": "2025/6/24", "shipDate": "2025/6/30" }, { "orderId": 1058, "employeeId": 307, "clientName": "自然食なちゅらる", "zipCode": "8160053", "prefecture": "福岡県", "address": "福岡市博多区東平尾 2-10-XX", "orderDate": "2025/6/24", "shipDate": "2025/7/1" }, { "orderId": 1059, "employeeId": 210, "clientName": "酒蔵でん", "zipCode": "7711264", "prefecture": "徳島県", "address": "板野郡藍住町住吉 5-XXX", "orderDate": "2025/6/25", "shipDate": "2025/7/2" }, { "orderId": 1060, "employeeId": 204, "clientName": "食料品店ふじ", "zipCode": "4340015", "prefecture": "静岡県", "address": "浜北市於呂 3482-XX", "orderDate": "2025/6/28", "shipDate": "2025/7/4" }, { "orderId": 1061, "employeeId": 110, "clientName": "高原亭", "zipCode": "3001203", "prefecture": "茨城県", "address": "牛久市下根町 1504-XX", "orderDate": "2025/6/30", "shipDate": "2025/7/6" }, { "orderId": 1062, "employeeId": 304, "clientName": "札幌フード", "zipCode": "0060814", "prefecture": "北海道", "address": "札幌市手稲区前田 4-9-3-XX", "orderDate": "2025/7/1", "shipDate": "2025/7/8" }, { "orderId": 1063, "employeeId": 207, "clientName": "よろず商店", "zipCode": "2110051", "prefecture": "神奈川県", "address": "川崎市中原区宮内 XXX", "orderDate": "2025/7/5", "shipDate": "2025/7/13" }, { "orderId": 1064, "employeeId": 107, "clientName": "北冷マート", "zipCode": "0600005", "prefecture": "北海道", "address": "札幌市中央区北5条西 12-2-19-XXX", "orderDate": "2025/7/9", "shipDate": "2025/7/14" }, { "orderId": 1065, "employeeId": 105, "clientName": "大宮ユニオン", "zipCode": "3400017", "prefecture": "埼玉県", "address": "草加市吉町 3-4-X", "orderDate": "2025/7/15", "shipDate": "2025/7/20" }, { "orderId": 1066, "employeeId": 110, "clientName": "ジャンボストアー", "zipCode": "2860036", "prefecture": "千葉県", "address": "成田市加良部 5-3-X", "orderDate": "2025/7/16", "shipDate": "2025/7/23" }, { "orderId": 1067, "employeeId": 207, "clientName": "海鮮料理くじら", "zipCode": "5140112", "prefecture": "三重県", "address": "津市一身田中野 19-X", "orderDate": "2025/7/18", "shipDate": "2025/7/24" }, { "orderId": 1068, "employeeId": 107, "clientName": "小町ストアー", "zipCode": "0170012", "prefecture": "秋田県", "address": "大館市釈迦内字館 30-XX", "orderDate": "2025/7/24", "shipDate": "2025/8/2" }, { "orderId": 1069, "employeeId": 107, "clientName": "寿ストアー", "zipCode": "1430012", "prefecture": "東京都", "address": "大田区大森東 1-35-X", "orderDate": "2025/7/27", "shipDate": "2025/8/8" }, { "orderId": 1070, "employeeId": 305, "clientName": "大和マーケット", "zipCode": "3810022", "prefecture": "長野県", "address": "長野市大豆島 1798-X", "orderDate": "2025/7/28", "shipDate": "2025/8/6" }, { "orderId": 1071, "employeeId": 204, "clientName": "葉薄ふぁん", "zipCode": "5650863", "prefecture": "大阪府", "address": "吹田市竹見台 2-X", "orderDate": "2025/7/31", "shipDate": "2025/8/4" }, { "orderId": 1072, "employeeId": 105, "clientName": "ヒロコーポレーション", "zipCode": "2410831", "prefecture": "神奈川県", "address": "横浜市旭区左近山 3-18-XXX", "orderDate": "2025/8/3", "shipDate": "2025/8/9" }, { "orderId": 1073, "employeeId": 304, "clientName": "浜辺商店", "zipCode": "2530083", "prefecture": "神奈川県", "address": "茅ヶ崎市西久保 1592-X", "orderDate": "2025/8/9", "shipDate": "2025/8/16" }, { "orderId": 1074, "employeeId": 304, "clientName": "月野株式会社", "zipCode": "9820222", "prefecture": "宮城県", "address": "仙台市太白区人来田 3-15-XX", "orderDate": "2025/8/15", "shipDate": "2025/8/21" }, { "orderId": 1075, "employeeId": 207, "clientName": "商店せんしょう", "zipCode": "6640027", "prefecture": "兵庫県", "address": "伊丹市池尻 5-XX", "orderDate": "2025/8/15", "shipDate": "2025/8/24" }, { "orderId": 1076, "employeeId": 304, "clientName": "食所あんどう", "zipCode": "8112206", "prefecture": "福岡県", "address": "粕屋郡志免町御手洗 51-X", "orderDate": "2025/8/25", "shipDate": "2025/8/29" }, { "orderId": 1077, "employeeId": 110, "clientName": "宮株式会社", "zipCode": "9830000", "prefecture": "宮城県", "address": "仙台市宮城野区古宮 4-X", "orderDate": "2025/8/26", "shipDate": "2025/9/4" }, { "orderId": 1078, "employeeId": 207, "clientName": "洋食ちくさ", "zipCode": "4670055", "prefecture": "愛知県", "address": "名古屋市瑞穂区中根町 5-4-X", "orderDate": "2025/8/26", "shipDate": "2025/9/2" }, { "orderId": 1079, "employeeId": 105, "clientName": "アリス亭", "zipCode": "2700234", "prefecture": "千葉県", "address": "野田市日之出町 27-XX", "orderDate": "2025/8/29", "shipDate": "2025/9/4" }, { "orderId": 1080, "employeeId": 110, "clientName": "割烹ふじい", "zipCode": "9398066", "prefecture": "富山県", "address": "富山市朝菜町 2-702-XX", "orderDate": "2025/8/29", "shipDate": "2025/9/5" }, { "orderId": 1081, "employeeId": 305, "clientName": "雪花ガーデン", "zipCode": "0620921", "prefecture": "北海道", "address": "札幌市豊平区中の島一条2丁目 4-XX", "orderDate": "2025/8/31", "shipDate": "2025/9/7" }, { "orderId": 1082, "employeeId": 110, "clientName": "城元株式会社", "zipCode": "9850831", "prefecture": "宮城県", "address": "多賀城市笠神 3-2-X", "orderDate": "2025/9/2", "shipDate": "2025/9/9" }, { "orderId": 1083, "employeeId": 105, "clientName": "みちのく本陣", "zipCode": "1660015", "prefecture": "東京都", "address": "杉並区成田東 5-35-XX", "orderDate": "2025/9/4", "shipDate": "2025/9/10" }, { "orderId": 1084, "employeeId": 307, "clientName": "洋風居酒屋けい・えっくす", "zipCode": "8900074", "prefecture": "鹿児島県", "address": "鹿児島市宇宿町 2655-XX", "orderDate": "2025/9/14", "shipDate": "2025/9/19" }, { "orderId": 1085, "employeeId": 207, "clientName": "イルカランド", "zipCode": "1440047", "prefecture": "東京都", "address": "大田区萩中 2-4-X", "orderDate": "2025/9/19", "shipDate": "2025/9/24" }, { "orderId": 1086, "employeeId": 204, "clientName": "屋台すまいる", "zipCode": "5630017", "prefecture": "大阪府", "address": "池田市伏尾台 2-9-X", "orderDate": "2025/9/20", "shipDate": "2025/9/27" }, { "orderId": 1087, "employeeId": 107, "clientName": "小町ストアー", "zipCode": "0170012", "prefecture": "秋田県", "address": "大館市釈迦内字館 30-XX", "orderDate": "2025/9/14", "shipDate": "2025/9/21" }, { "orderId": 1088, "employeeId": 204, "clientName": "食料品店ふじ", "zipCode": "4340015", "prefecture": "静岡県", "address": "浜北市於呂 3482-XX", "orderDate": "2025/9/25", "shipDate": "2025/9/29" }, { "orderId": 1089, "employeeId": 207, "clientName": "よろず商店", "zipCode": "2110051", "prefecture": "神奈川県", "address": "川崎市中原区宮内 XXX", "orderDate": "2025/9/27", "shipDate": "2025/10/3" }, { "orderId": 1090, "employeeId": 107, "clientName": "北冷マート", "zipCode": "0600005", "prefecture": "北海道", "address": "札幌市中央区北5条西 12-2-19-XXX", "orderDate": "2025/9/28", "shipDate": "2025/10/5" }, { "orderId": 1091, "employeeId": 107, "clientName": "コンビニエンス北風", "zipCode": "2320061", "prefecture": "神奈川県", "address": "横浜市南区大岡 1-44-X", "orderDate": "2025/9/30", "shipDate": "2025/10/6" }, { "orderId": 1092, "employeeId": 307, "clientName": "夷そば", "zipCode": "8900073", "prefecture": "鹿児島県", "address": "鹿児島市宇宿 2-14-X", "orderDate": "2025/10/2", "shipDate": "2025/10/9" }, { "orderId": 1093, "employeeId": 210, "clientName": "小料理ひろ", "zipCode": "4860969", "prefecture": "愛知県", "address": "春日井市味美白山町 1-9-X", "orderDate": "2025/10/4", "shipDate": "2025/10/11" }, { "orderId": 1094, "employeeId": 110, "clientName": "東海道スーパー", "zipCode": "2750016", "prefecture": "千葉県", "address": "習志野市津田沼 2-6-XX", "orderDate": "2025/10/6", "shipDate": "2025/10/13" }, { "orderId": 1095, "employeeId": 210, "clientName": "惣菜びみ", "zipCode": "4800202", "prefecture": "愛知県", "address": "西春日井郡豊山町豊場新田 17-X", "orderDate": "2025/10/13", "shipDate": "2025/10/19" }, { "orderId": 1096, "employeeId": 204, "clientName": "料亭きゅうきゅう", "zipCode": "7330036", "prefecture": "広島県", "address": "広島市西区観音新町 1-16-X", "orderDate": "2025/10/15", "shipDate": "2025/10/22" }, { "orderId": 1097, "employeeId": 210, "clientName": "ポム・ド・テール", "zipCode": "3501146", "prefecture": "埼玉県", "address": "川越市熊野町 12-2-XXX", "orderDate": "2025/10/17", "shipDate": "2025/10/24" }, { "orderId": 1098, "employeeId": 110, "clientName": "ジャンボストアー", "zipCode": "2860036", "prefecture": "千葉県", "address": "成田市加良部 5-3-X", "orderDate": "2025/10/19", "shipDate": "2025/10/24" }, { "orderId": 1099, "employeeId": 305, "clientName": "雪花ガーデン", "zipCode": "0620921", "prefecture": "北海道", "address": "札幌市豊平区中の島一条2丁目 4-XX", "orderDate": "2025/10/22", "shipDate": "2025/10/29" }, { "orderId": 1100, "employeeId": 105, "clientName": "山門屋", "zipCode": "1650034", "prefecture": "東京都", "address": "中野区大和町 2-41-XX", "orderDate": "2025/10/29", "shipDate": "2025/11/3" }, { "orderId": 1101, "employeeId": 105, "clientName": "びしゃもんや", "zipCode": "2860003", "prefecture": "千葉県", "address": "成田市台方 XXX", "orderDate": "2025/10/31", "shipDate": "2025/11/6" }, { "orderId": 1102, "employeeId": 107, "clientName": "蓬莱堂", "zipCode": "1570064", "prefecture": "東京都", "address": "世田谷区給田 3-31-X", "orderDate": "2025/11/3", "shipDate": "2025/11/9" }, { "orderId": 1103, "employeeId": 307, "clientName": "コーヒーハウスフェンス", "zipCode": "2991100", "prefecture": "千葉県", "address": "君津市袖ケ浦町野里 1539-X", "orderDate": "2025/11/4", "shipDate": "2025/11/10" }, { "orderId": 1104, "employeeId": 210, "clientName": "温泉レストラン", "zipCode": "3771700", "prefecture": "群馬県", "address": "吾妻郡草津町 462-XX", "orderDate": "2025/11/9", "shipDate": "2025/11/15" }, { "orderId": 1105, "employeeId": 307, "clientName": "自然食なちゅらる", "zipCode": "8160053", "prefecture": "福岡県", "address": "福岡市博多区東平尾 2-10-XX", "orderDate": "2025/11/14", "shipDate": "2025/11/21" }, { "orderId": 1106, "employeeId": 107, "clientName": "寿ストアー", "zipCode": "1430012", "prefecture": "東京都", "address": "大田区大森東 1-35-X", "orderDate": "2025/11/24", "shipDate": "2025/11/29" }, { "orderId": 1107, "employeeId": 110, "clientName": "宮株式会社", "zipCode": "9830000", "prefecture": "宮城県", "address": "仙台市宮城野区古宮 4-X", "orderDate": "2025/11/25", "shipDate": "2025/11/29" }, { "orderId": 1108, "employeeId": 107, "clientName": "レストラン石坂", "zipCode": "3530005", "prefecture": "埼玉県", "address": "志木市幸町 1-8-40-XXXX", "orderDate": "2025/11/26", "shipDate": "2025/12/2" }, { "orderId": 1109, "employeeId": 105, "clientName": "大宮ユニオン", "zipCode": "3400017", "prefecture": "埼玉県", "address": "草加市吉町 3-4-X", "orderDate": "2025/11/27", "shipDate": "2025/12/4" }, { "orderId": 1110, "employeeId": 107, "clientName": "健食弁当株式会社", "zipCode": "1580083", "prefecture": "東京都", "address": "世田谷区奥沢 1-37-XX", "orderDate": "2025/11/29", "shipDate": "2025/12/5" }, { "orderId": 1111, "employeeId": 105, "clientName": "甘味喫茶ダイ", "zipCode": "2490002", "prefecture": "神奈川県", "address": "逗子市山の根 3-15-XX", "orderDate": "2025/11/30", "shipDate": "2025/12/6" }, { "orderId": 1112, "employeeId": 210, "clientName": "酒蔵でん", "zipCode": "7711264", "prefecture": "徳島県", "address": "板野郡藍住町住吉 5-XXX", "orderDate": "2025/12/4", "shipDate": "2025/12/10" }, { "orderId": 1113, "employeeId": 305, "clientName": "笹の葉食料品店", "zipCode": "2260000", "prefecture": "神奈川県", "address": "横浜市緑区千草台 7-X", "orderDate": "2025/12/13", "shipDate": "2025/12/17" }, { "orderId": 1114, "employeeId": 110, "clientName": "パーラーえんとつ", "zipCode": "1780063", "prefecture": "東京都", "address": "練馬区東大泉 1-26-31-XXX", "orderDate": "2025/12/15", "shipDate": "2025/12/19" }, { "orderId": 1115, "employeeId": 204, "clientName": "葉薄ふぁん", "zipCode": "5650863", "prefecture": "大阪府", "address": "吹田市竹見台 2-X", "orderDate": "2025/12/17", "shipDate": "2025/12/24" }, { "orderId": 1116, "employeeId": 304, "clientName": "月野株式会社", "zipCode": "9820222", "prefecture": "宮城県", "address": "仙台市太白区人来田 3-15-XX", "orderDate": "2025/12/18", "shipDate": "2025/12/25" }, { "orderId": 1117, "employeeId": 107, "clientName": "コンビニエンス北風", "zipCode": "2320061", "prefecture": "神奈川県", "address": "横浜市南区大岡 1-44-X", "orderDate": "2025/12/14", "shipDate": "2025/12/19" }, { "orderId": 1118, "employeeId": 110, "clientName": "割烹ふじい", "zipCode": "9398066", "prefecture": "富山県", "address": "富山市朝菜町 2-702-XX", "orderDate": "2025/12/11", "shipDate": "2025/12/18" }, { "orderId": 1119, "employeeId": 110, "clientName": "高原亭", "zipCode": "3001203", "prefecture": "茨城県", "address": "牛久市下根町 1504-XX", "orderDate": "2025/12/19", "shipDate": "2025/12/25" }, { "orderId": 1120, "employeeId": 304, "clientName": "札幌フード", "zipCode": "0060814", "prefecture": "北海道", "address": "札幌市手稲区前田 4-9-3-XX", "orderDate": "2025/12/19", "shipDate": "2025/12/25" } ]; export const orderDetails = [ { "orderId": 1001, "productId": 15, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1001, "productId": 17, "price": 290, "quantity": 50, "discount": 0 }, { "orderId": 1001, "productId": 18, "price": 200, "quantity": 20, "discount": 0 }, { "orderId": 1001, "productId": 84, "price": 200, "quantity": 40, "discount": 0 }, { "orderId": 1001, "productId": 85, "price": 200, "quantity": 40, "discount": 0 }, { "orderId": 1001, "productId": 86, "price": 200, "quantity": 40, "discount": 0 }, { "orderId": 1002, "productId": 20, "price": 320, "quantity": 30, "discount": 0 }, { "orderId": 1002, "productId": 30, "price": 500, "quantity": 40, "discount": 0 }, { "orderId": 1002, "productId": 40, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1002, "productId": 91, "price": 120, "quantity": 30, "discount": 0 }, { "orderId": 1002, "productId": 92, "price": 120, "quantity": 30, "discount": 0 }, { "orderId": 1002, "productId": 94, "price": 120, "quantity": 30, "discount": 0 }, { "orderId": 1003, "productId": 21, "price": 2800, "quantity": 5, "discount": 0 }, { "orderId": 1003, "productId": 37, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1003, "productId": 48, "price": 220, "quantity": 30, "discount": 0 }, { "orderId": 1003, "productId": 81, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1003, "productId": 115, "price": 280, "quantity": 40, "discount": 0 }, { "orderId": 1003, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1004, "productId": 55, "price": 6000, "quantity": 5, "discount": 0 }, { "orderId": 1004, "productId": 61, "price": 120, "quantity": 20, "discount": 0 }, { "orderId": 1004, "productId": 79, "price": 1000, "quantity": 10, "discount": 0 }, { "orderId": 1004, "productId": 92, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1004, "productId": 94, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1004, "productId": 96, "price": 420, "quantity": 30, "discount": 0 }, { "orderId": 1005, "productId": 43, "price": 450, "quantity": 30, "discount": 0 }, { "orderId": 1005, "productId": 45, "price": 190, "quantity": 30, "discount": 0 }, { "orderId": 1005, "productId": 51, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1005, "productId": 103, "price": 500, "quantity": 50, "discount": 0 }, { "orderId": 1005, "productId": 104, "price": 250, "quantity": 30, "discount": 0 }, { "orderId": 1005, "productId": 116, "price": 230, "quantity": 50, "discount": 0 }, { "orderId": 1006, "productId": 10, "price": 250, "quantity": 50, "discount": 0 }, { "orderId": 1006, "productId": 37, "price": 180, "quantity": 30, "discount": 0 }, { "orderId": 1006, "productId": 68, "price": 300, "quantity": 30, "discount": 0 }, { "orderId": 1006, "productId": 81, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1006, "productId": 97, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1006, "productId": 98, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1007, "productId": 4, "price": 200, "quantity": 40, "discount": 0 }, { "orderId": 1007, "productId": 26, "price": 160, "quantity": 50, "discount": 0 }, { "orderId": 1007, "productId": 37, "price": 180, "quantity": 30, "discount": 0 }, { "orderId": 1007, "productId": 82, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1007, "productId": 87, "price": 100, "quantity": 40, "discount": 0 }, { "orderId": 1007, "productId": 88, "price": 100, "quantity": 40, "discount": 0 }, { "orderId": 1008, "productId": 31, "price": 380, "quantity": 50, "discount": 0 }, { "orderId": 1008, "productId": 50, "price": 220, "quantity": 30, "discount": 0 }, { "orderId": 1008, "productId": 55, "price": 6000, "quantity": 10, "discount": 0 }, { "orderId": 1008, "productId": 97, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1008, "productId": 112, "price": 210, "quantity": 40, "discount": 0 }, { "orderId": 1008, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1009, "productId": 35, "price": 180, "quantity": 10, "discount": 0 }, { "orderId": 1009, "productId": 45, "price": 190, "quantity": 30, "discount": 0 }, { "orderId": 1009, "productId": 55, "price": 6000, "quantity": 30, "discount": 0 }, { "orderId": 1009, "productId": 89, "price": 210, "quantity": 30, "discount": 0 }, { "orderId": 1009, "productId": 99, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1009, "productId": 102, "price": 140, "quantity": 50, "discount": 0 }, { "orderId": 1010, "productId": 3, "price": 200, "quantity": 100, "discount": 0 }, { "orderId": 1010, "productId": 35, "price": 180, "quantity": 30, "discount": 0 }, { "orderId": 1010, "productId": 50, "price": 220, "quantity": 50, "discount": 0 }, { "orderId": 1010, "productId": 100, "price": 180, "quantity": 100, "discount": 0 }, { "orderId": 1010, "productId": 101, "price": 220, "quantity": 100, "discount": 0 }, { "orderId": 1010, "productId": 106, "price": 250, "quantity": 80, "discount": 0 }, { "orderId": 1011, "productId": 32, "price": 1200, "quantity": 10, "discount": 0 }, { "orderId": 1011, "productId": 59, "price": 5300, "quantity": 30, "discount": 0 }, { "orderId": 1011, "productId": 71, "price": 1800, "quantity": 10, "discount": 0 }, { "orderId": 1011, "productId": 109, "price": 180, "quantity": 30, "discount": 0 }, { "orderId": 1011, "productId": 114, "price": 210, "quantity": 30, "discount": 0 }, { "orderId": 1011, "productId": 118, "price": 500, "quantity": 30, "discount": 0 }, { "orderId": 1012, "productId": 34, "price": 380, "quantity": 50, "discount": 0 }, { "orderId": 1012, "productId": 54, "price": 3200, "quantity": 10, "discount": 0 }, { "orderId": 1012, "productId": 77, "price": 2800, "quantity": 10, "discount": 0 }, { "orderId": 1012, "productId": 108, "price": 200, "quantity": 100, "discount": 0 }, { "orderId": 1012, "productId": 115, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1012, "productId": 122, "price": 1000, "quantity": 50, "discount": 0 }, { "orderId": 1013, "productId": 33, "price": 420, "quantity": 30, "discount": 0 }, { "orderId": 1013, "productId": 45, "price": 190, "quantity": 30, "discount": 0 }, { "orderId": 1013, "productId": 65, "price": 280, "quantity": 30, "discount": 0 }, { "orderId": 1013, "productId": 98, "price": 280, "quantity": 30, "discount": 0 }, { "orderId": 1013, "productId": 99, "price": 180, "quantity": 30, "discount": 0 }, { "orderId": 1013, "productId": 100, "price": 180, "quantity": 30, "discount": 0 }, { "orderId": 1014, "productId": 19, "price": 50, "quantity": 100, "discount": 0 }, { "orderId": 1014, "productId": 61, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1014, "productId": 68, "price": 300, "quantity": 30, "discount": 0 }, { "orderId": 1014, "productId": 96, "price": 420, "quantity": 50, "discount": 0 }, { "orderId": 1014, "productId": 113, "price": 300, "quantity": 100, "discount": 0 }, { "orderId": 1014, "productId": 122, "price": 1000, "quantity": 50, "discount": 0 }, { "orderId": 1015, "productId": 8, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1015, "productId": 9, "price": 300, "quantity": 40, "discount": 0 }, { "orderId": 1015, "productId": 10, "price": 250, "quantity": 60, "discount": 0 }, { "orderId": 1015, "productId": 99, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1015, "productId": 103, "price": 500, "quantity": 100, "discount": 0 }, { "orderId": 1015, "productId": 105, "price": 1500, "quantity": 30, "discount": 0 }, { "orderId": 1016, "productId": 26, "price": 160, "quantity": 50, "discount": 0 }, { "orderId": 1016, "productId": 28, "price": 500, "quantity": 50, "discount": 0 }, { "orderId": 1016, "productId": 37, "price": 180, "quantity": 30, "discount": 0 }, { "orderId": 1016, "productId": 104, "price": 250, "quantity": 50, "discount": 0 }, { "orderId": 1016, "productId": 107, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1016, "productId": 120, "price": 180, "quantity": 100, "discount": 0 }, { "orderId": 1017, "productId": 27, "price": 160, "quantity": 30, "discount": 0 }, { "orderId": 1017, "productId": 56, "price": 230, "quantity": 30, "discount": 0 }, { "orderId": 1017, "productId": 58, "price": 160, "quantity": 50, "discount": 0 }, { "orderId": 1017, "productId": 111, "price": 100, "quantity": 100, "discount": 0 }, { "orderId": 1017, "productId": 119, "price": 220, "quantity": 60, "discount": 0 }, { "orderId": 1017, "productId": 124, "price": 100, "quantity": 30, "discount": 0 }, { "orderId": 1018, "productId": 21, "price": 2800, "quantity": 5, "discount": 0 }, { "orderId": 1018, "productId": 35, "price": 180, "quantity": 10, "discount": 0 }, { "orderId": 1018, "productId": 46, "price": 250, "quantity": 50, "discount": 0 }, { "orderId": 1018, "productId": 100, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1018, "productId": 107, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1018, "productId": 117, "price": 300, "quantity": 100, "discount": 0 }, { "orderId": 1019, "productId": 6, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1019, "productId": 25, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1019, "productId": 38, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1019, "productId": 81, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1019, "productId": 82, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1019, "productId": 112, "price": 210, "quantity": 30, "discount": 0 }, { "orderId": 1020, "productId": 20, "price": 320, "quantity": 10, "discount": 0 }, { "orderId": 1020, "productId": 72, "price": 4400, "quantity": 30, "discount": 0 }, { "orderId": 1020, "productId": 78, "price": 1500, "quantity": 30, "discount": 0 }, { "orderId": 1020, "productId": 109, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1020, "productId": 113, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1020, "productId": 122, "price": 1000, "quantity": 30, "discount": 0 }, { "orderId": 1021, "productId": 34, "price": 380, "quantity": 30, "discount": 0 }, { "orderId": 1021, "productId": 38, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1021, "productId": 39, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1021, "productId": 97, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1021, "productId": 115, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1021, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1022, "productId": 4, "price": 200, "quantity": 100, "discount": 0 }, { "orderId": 1022, "productId": 69, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1022, "productId": 70, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1022, "productId": 97, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1022, "productId": 111, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1022, "productId": 112, "price": 210, "quantity": 30, "discount": 0 }, { "orderId": 1023, "productId": 10, "price": 250, "quantity": 100, "discount": 0 }, { "orderId": 1023, "productId": 38, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1023, "productId": 40, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1023, "productId": 87, "price": 100, "quantity": 30, "discount": 0 }, { "orderId": 1023, "productId": 88, "price": 100, "quantity": 30, "discount": 0 }, { "orderId": 1023, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1024, "productId": 61, "price": 120, "quantity": 100, "discount": 0 }, { "orderId": 1024, "productId": 65, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1024, "productId": 69, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1024, "productId": 89, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1024, "productId": 117, "price": 300, "quantity": 100, "discount": 0 }, { "orderId": 1024, "productId": 118, "price": 500, "quantity": 50, "discount": 0 }, { "orderId": 1025, "productId": 61, "price": 120, "quantity": 30, "discount": 0 }, { "orderId": 1025, "productId": 63, "price": 230, "quantity": 30, "discount": 0 }, { "orderId": 1025, "productId": 75, "price": 1300, "quantity": 10, "discount": 0 }, { "orderId": 1025, "productId": 86, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1025, "productId": 95, "price": 380, "quantity": 50, "discount": 0 }, { "orderId": 1025, "productId": 96, "price": 420, "quantity": 30, "discount": 0 }, { "orderId": 1026, "productId": 56, "price": 230, "quantity": 30, "discount": 0 }, { "orderId": 1026, "productId": 78, "price": 1500, "quantity": 50, "discount": 0 }, { "orderId": 1026, "productId": 79, "price": 1000, "quantity": 30, "discount": 0 }, { "orderId": 1026, "productId": 98, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1026, "productId": 99, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1026, "productId": 100, "price": 180, "quantity": 30, "discount": 0 }, { "orderId": 1027, "productId": 64, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1027, "productId": 65, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1027, "productId": 67, "price": 270, "quantity": 50, "discount": 0 }, { "orderId": 1027, "productId": 93, "price": 350, "quantity": 50, "discount": 0 }, { "orderId": 1027, "productId": 104, "price": 250, "quantity": 30, "discount": 0 }, { "orderId": 1027, "productId": 118, "price": 500, "quantity": 50, "discount": 0 }, { "orderId": 1028, "productId": 28, "price": 500, "quantity": 30, "discount": 0 }, { "orderId": 1028, "productId": 34, "price": 380, "quantity": 50, "discount": 0 }, { "orderId": 1028, "productId": 43, "price": 450, "quantity": 50, "discount": 0 }, { "orderId": 1028, "productId": 101, "price": 220, "quantity": 80, "discount": 0 }, { "orderId": 1028, "productId": 117, "price": 300, "quantity": 100, "discount": 0 }, { "orderId": 1028, "productId": 119, "price": 220, "quantity": 100, "discount": 0 }, { "orderId": 1029, "productId": 70, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1029, "productId": 78, "price": 1500, "quantity": 10, "discount": 0 }, { "orderId": 1029, "productId": 80, "price": 160, "quantity": 50, "discount": 0 }, { "orderId": 1029, "productId": 91, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1029, "productId": 92, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1029, "productId": 114, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1030, "productId": 63, "price": 230, "quantity": 50, "discount": 0 }, { "orderId": 1030, "productId": 64, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1030, "productId": 65, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1030, "productId": 116, "price": 230, "quantity": 30, "discount": 0 }, { "orderId": 1030, "productId": 120, "price": 180, "quantity": 100, "discount": 0 }, { "orderId": 1030, "productId": 121, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1031, "productId": 50, "price": 220, "quantity": 30, "discount": 0 }, { "orderId": 1031, "productId": 51, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1031, "productId": 61, "price": 120, "quantity": 30, "discount": 0 }, { "orderId": 1031, "productId": 94, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1031, "productId": 95, "price": 380, "quantity": 50, "discount": 0 }, { "orderId": 1031, "productId": 124, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1032, "productId": 1, "price": 200, "quantity": 100, "discount": 0 }, { "orderId": 1032, "productId": 64, "price": 280, "quantity": 30, "discount": 0 }, { "orderId": 1032, "productId": 68, "price": 300, "quantity": 30, "discount": 0 }, { "orderId": 1032, "productId": 81, "price": 190, "quantity": 80, "discount": 0 }, { "orderId": 1032, "productId": 82, "price": 190, "quantity": 80, "discount": 0 }, { "orderId": 1032, "productId": 90, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1033, "productId": 28, "price": 500, "quantity": 10, "discount": 0 }, { "orderId": 1033, "productId": 30, "price": 500, "quantity": 10, "discount": 0 }, { "orderId": 1033, "productId": 37, "price": 180, "quantity": 30, "discount": 0 }, { "orderId": 1033, "productId": 91, "price": 120, "quantity": 30, "discount": 0 }, { "orderId": 1033, "productId": 92, "price": 120, "quantity": 30, "discount": 0 }, { "orderId": 1033, "productId": 99, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1034, "productId": 71, "price": 1800, "quantity": 30, "discount": 0 }, { "orderId": 1034, "productId": 75, "price": 1300, "quantity": 80, "discount": 0 }, { "orderId": 1034, "productId": 76, "price": 1300, "quantity": 80, "discount": 0 }, { "orderId": 1034, "productId": 107, "price": 280, "quantity": 80, "discount": 0 }, { "orderId": 1034, "productId": 108, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1034, "productId": 109, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1035, "productId": 21, "price": 2800, "quantity": 5, "discount": 0 }, { "orderId": 1035, "productId": 26, "price": 160, "quantity": 50, "discount": 0 }, { "orderId": 1035, "productId": 37, "price": 180, "quantity": 10, "discount": 0 }, { "orderId": 1035, "productId": 97, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1035, "productId": 112, "price": 210, "quantity": 30, "discount": 0 }, { "orderId": 1035, "productId": 123, "price": 100, "quantity": 40, "discount": 0 }, { "orderId": 1036, "productId": 31, "price": 380, "quantity": 40, "discount": 0 }, { "orderId": 1036, "productId": 42, "price": 450, "quantity": 30, "discount": 0 }, { "orderId": 1036, "productId": 48, "price": 220, "quantity": 30, "discount": 0 }, { "orderId": 1036, "productId": 81, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1036, "productId": 112, "price": 210, "quantity": 30, "discount": 0 }, { "orderId": 1036, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1037, "productId": 60, "price": 300, "quantity": 30, "discount": 0 }, { "orderId": 1037, "productId": 65, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1037, "productId": 68, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1037, "productId": 104, "price": 250, "quantity": 50, "discount": 0 }, { "orderId": 1037, "productId": 110, "price": 230, "quantity": 50, "discount": 0 }, { "orderId": 1037, "productId": 114, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1038, "productId": 8, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1038, "productId": 9, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1038, "productId": 10, "price": 250, "quantity": 50, "discount": 0 }, { "orderId": 1038, "productId": 85, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1038, "productId": 94, "price": 120, "quantity": 30, "discount": 0 }, { "orderId": 1038, "productId": 114, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1039, "productId": 44, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1039, "productId": 55, "price": 6000, "quantity": 30, "discount": 0 }, { "orderId": 1039, "productId": 66, "price": 260, "quantity": 10, "discount": 0 }, { "orderId": 1039, "productId": 96, "price": 420, "quantity": 50, "discount": 0 }, { "orderId": 1039, "productId": 104, "price": 250, "quantity": 30, "discount": 0 }, { "orderId": 1039, "productId": 110, "price": 230, "quantity": 50, "discount": 0 }, { "orderId": 1040, "productId": 36, "price": 200, "quantity": 10, "discount": 0 }, { "orderId": 1040, "productId": 46, "price": 250, "quantity": 30, "discount": 0 }, { "orderId": 1040, "productId": 58, "price": 160, "quantity": 30, "discount": 0 }, { "orderId": 1040, "productId": 89, "price": 210, "quantity": 30, "discount": 0 }, { "orderId": 1040, "productId": 90, "price": 280, "quantity": 30, "discount": 0 }, { "orderId": 1040, "productId": 115, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1041, "productId": 61, "price": 120, "quantity": 30, "discount": 0 }, { "orderId": 1041, "productId": 67, "price": 270, "quantity": 50, "discount": 0 }, { "orderId": 1041, "productId": 71, "price": 1800, "quantity": 10, "discount": 0 }, { "orderId": 1041, "productId": 84, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1041, "productId": 85, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1041, "productId": 109, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1042, "productId": 3, "price": 200, "quantity": 100, "discount": 0 }, { "orderId": 1042, "productId": 13, "price": 2800, "quantity": 50, "discount": 0 }, { "orderId": 1042, "productId": 50, "price": 220, "quantity": 30, "discount": 0 }, { "orderId": 1042, "productId": 82, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1042, "productId": 97, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1042, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1043, "productId": 16, "price": 290, "quantity": 30, "discount": 0 }, { "orderId": 1043, "productId": 17, "price": 290, "quantity": 30, "discount": 0 }, { "orderId": 1043, "productId": 19, "price": 50, "quantity": 100, "discount": 0 }, { "orderId": 1043, "productId": 107, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1043, "productId": 118, "price": 500, "quantity": 30, "discount": 0 }, { "orderId": 1043, "productId": 122, "price": 1000, "quantity": 50, "discount": 0 }, { "orderId": 1044, "productId": 11, "price": 2600, "quantity": 30, "discount": 0 }, { "orderId": 1044, "productId": 12, "price": 210, "quantity": 40, "discount": 0 }, { "orderId": 1044, "productId": 14, "price": 250, "quantity": 30, "discount": 0 }, { "orderId": 1044, "productId": 89, "price": 210, "quantity": 30, "discount": 0 }, { "orderId": 1044, "productId": 90, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1044, "productId": 93, "price": 350, "quantity": 30, "discount": 0 }, { "orderId": 1045, "productId": 5, "price": 190, "quantity": 100, "discount": 0 }, { "orderId": 1045, "productId": 35, "price": 180, "quantity": 30, "discount": 0 }, { "orderId": 1045, "productId": 48, "price": 220, "quantity": 50, "discount": 0 }, { "orderId": 1045, "productId": 82, "price": 190, "quantity": 30, "discount": 0 }, { "orderId": 1045, "productId": 87, "price": 100, "quantity": 30, "discount": 0 }, { "orderId": 1045, "productId": 123, "price": 100, "quantity": 30, "discount": 0 }, { "orderId": 1046, "productId": 8, "price": 280, "quantity": 100, "discount": 0 }, { "orderId": 1046, "productId": 65, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1046, "productId": 68, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1046, "productId": 81, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1046, "productId": 84, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1046, "productId": 115, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1047, "productId": 13, "price": 2800, "quantity": 10, "discount": 0 }, { "orderId": 1047, "productId": 22, "price": 2800, "quantity": 5, "discount": 0 }, { "orderId": 1047, "productId": 23, "price": 120, "quantity": 100, "discount": 0 }, { "orderId": 1047, "productId": 81, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1047, "productId": 97, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1047, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1048, "productId": 72, "price": 4400, "quantity": 30, "discount": 0 }, { "orderId": 1048, "productId": 74, "price": 250, "quantity": 50, "discount": 0 }, { "orderId": 1048, "productId": 77, "price": 2800, "quantity": 10, "discount": 0 }, { "orderId": 1048, "productId": 114, "price": 210, "quantity": 30, "discount": 0 }, { "orderId": 1048, "productId": 118, "price": 500, "quantity": 40, "discount": 0 }, { "orderId": 1048, "productId": 122, "price": 1000, "quantity": 50, "discount": 0 }, { "orderId": 1049, "productId": 2, "price": 200, "quantity": 100, "discount": 0 }, { "orderId": 1049, "productId": 38, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1049, "productId": 42, "price": 450, "quantity": 30, "discount": 0 }, { "orderId": 1049, "productId": 88, "price": 100, "quantity": 80, "discount": 0 }, { "orderId": 1049, "productId": 112, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1049, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1050, "productId": 4, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1050, "productId": 22, "price": 2800, "quantity": 10, "discount": 0 }, { "orderId": 1050, "productId": 39, "price": 180, "quantity": 100, "discount": 0 }, { "orderId": 1050, "productId": 98, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1050, "productId": 102, "price": 140, "quantity": 50, "discount": 0 }, { "orderId": 1050, "productId": 106, "price": 250, "quantity": 40, "discount": 0 }, { "orderId": 1051, "productId": 13, "price": 2800, "quantity": 50, "discount": 0 }, { "orderId": 1051, "productId": 21, "price": 2800, "quantity": 10, "discount": 0 }, { "orderId": 1051, "productId": 37, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1051, "productId": 87, "price": 100, "quantity": 30, "discount": 0 }, { "orderId": 1051, "productId": 88, "price": 100, "quantity": 30, "discount": 0 }, { "orderId": 1051, "productId": 97, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1052, "productId": 20, "price": 320, "quantity": 10, "discount": 0 }, { "orderId": 1052, "productId": 51, "price": 180, "quantity": 30, "discount": 0 }, { "orderId": 1052, "productId": 67, "price": 270, "quantity": 30, "discount": 0 }, { "orderId": 1052, "productId": 86, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1052, "productId": 91, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1052, "productId": 94, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1053, "productId": 63, "price": 230, "quantity": 50, "discount": 0 }, { "orderId": 1053, "productId": 64, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1053, "productId": 65, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1053, "productId": 93, "price": 350, "quantity": 50, "discount": 0 }, { "orderId": 1053, "productId": 100, "price": 180, "quantity": 30, "discount": 0 }, { "orderId": 1053, "productId": 106, "price": 250, "quantity": 40, "discount": 0 }, { "orderId": 1054, "productId": 8, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1054, "productId": 9, "price": 300, "quantity": 30, "discount": 0 }, { "orderId": 1054, "productId": 10, "price": 250, "quantity": 40, "discount": 0 }, { "orderId": 1054, "productId": 82, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1054, "productId": 86, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1054, "productId": 96, "price": 420, "quantity": 30, "discount": 0 }, { "orderId": 1055, "productId": 38, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1055, "productId": 46, "price": 250, "quantity": 50, "discount": 0 }, { "orderId": 1055, "productId": 48, "price": 220, "quantity": 50, "discount": 0 }, { "orderId": 1055, "productId": 107, "price": 280, "quantity": 30, "discount": 0 }, { "orderId": 1055, "productId": 108, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1055, "productId": 109, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1056, "productId": 8, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1056, "productId": 9, "price": 300, "quantity": 60, "discount": 0 }, { "orderId": 1056, "productId": 80, "price": 160, "quantity": 50, "discount": 0 }, { "orderId": 1056, "productId": 84, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1056, "productId": 94, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1056, "productId": 118, "price": 500, "quantity": 30, "discount": 0 }, { "orderId": 1057, "productId": 10, "price": 250, "quantity": 50, "discount": 0 }, { "orderId": 1057, "productId": 18, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1057, "productId": 19, "price": 50, "quantity": 100, "discount": 0 }, { "orderId": 1057, "productId": 97, "price": 280, "quantity": 30, "discount": 0 }, { "orderId": 1057, "productId": 99, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1057, "productId": 116, "price": 230, "quantity": 50, "discount": 0 }, { "orderId": 1058, "productId": 69, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1058, "productId": 70, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1058, "productId": 97, "price": 280, "quantity": 30, "discount": 0 }, { "orderId": 1058, "productId": 101, "price": 220, "quantity": 50, "discount": 0 }, { "orderId": 1058, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1059, "productId": 8, "price": 280, "quantity": 100, "discount": 0 }, { "orderId": 1059, "productId": 9, "price": 300, "quantity": 80, "discount": 0 }, { "orderId": 1059, "productId": 10, "price": 250, "quantity": 30, "discount": 0 }, { "orderId": 1059, "productId": 103, "price": 500, "quantity": 50, "discount": 0 }, { "orderId": 1059, "productId": 105, "price": 1500, "quantity": 30, "discount": 0 }, { "orderId": 1060, "productId": 74, "price": 250, "quantity": 100, "discount": 0 }, { "orderId": 1060, "productId": 75, "price": 1300, "quantity": 50, "discount": 0 }, { "orderId": 1060, "productId": 76, "price": 1300, "quantity": 50, "discount": 0 }, { "orderId": 1060, "productId": 91, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1060, "productId": 92, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1060, "productId": 113, "price": 300, "quantity": 100, "discount": 0 }, { "orderId": 1061, "productId": 43, "price": 450, "quantity": 50, "discount": 0 }, { "orderId": 1061, "productId": 44, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1061, "productId": 65, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1061, "productId": 82, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1061, "productId": 112, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1061, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1062, "productId": 37, "price": 180, "quantity": 100, "discount": 0 }, { "orderId": 1062, "productId": 38, "price": 180, "quantity": 100, "discount": 0 }, { "orderId": 1062, "productId": 56, "price": 230, "quantity": 30, "discount": 0 }, { "orderId": 1062, "productId": 108, "price": 200, "quantity": 100, "discount": 0 }, { "orderId": 1062, "productId": 111, "price": 100, "quantity": 100, "discount": 0 }, { "orderId": 1062, "productId": 119, "price": 220, "quantity": 80, "discount": 0 }, { "orderId": 1063, "productId": 8, "price": 280, "quantity": 30, "discount": 0 }, { "orderId": 1063, "productId": 38, "price": 180, "quantity": 20, "discount": 0 }, { "orderId": 1063, "productId": 68, "price": 300, "quantity": 10, "discount": 0 }, { "orderId": 1063, "productId": 109, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1063, "productId": 110, "price": 230, "quantity": 40, "discount": 0 }, { "orderId": 1063, "productId": 116, "price": 230, "quantity": 50, "discount": 0 }, { "orderId": 1064, "productId": 63, "price": 230, "quantity": 30, "discount": 0 }, { "orderId": 1064, "productId": 65, "price": 280, "quantity": 40, "discount": 0 }, { "orderId": 1064, "productId": 68, "price": 300, "quantity": 40, "discount": 0 }, { "orderId": 1064, "productId": 110, "price": 230, "quantity": 50, "discount": 0 }, { "orderId": 1064, "productId": 117, "price": 300, "quantity": 100, "discount": 0 }, { "orderId": 1064, "productId": 118, "price": 500, "quantity": 50, "discount": 0 }, { "orderId": 1065, "productId": 31, "price": 380, "quantity": 30, "discount": 0 }, { "orderId": 1065, "productId": 49, "price": 220, "quantity": 50, "discount": 0 }, { "orderId": 1065, "productId": 58, "price": 160, "quantity": 50, "discount": 0 }, { "orderId": 1065, "productId": 113, "price": 300, "quantity": 100, "discount": 0 }, { "orderId": 1065, "productId": 114, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1065, "productId": 115, "price": 280, "quantity": 80, "discount": 0 }, { "orderId": 1066, "productId": 1, "price": 200, "quantity": 100, "discount": 0 }, { "orderId": 1066, "productId": 2, "price": 200, "quantity": 100, "discount": 0 }, { "orderId": 1066, "productId": 68, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1066, "productId": 81, "price": 190, "quantity": 100, "discount": 0 }, { "orderId": 1066, "productId": 82, "price": 190, "quantity": 100, "discount": 0 }, { "orderId": 1066, "productId": 112, "price": 210, "quantity": 100, "discount": 0 }, { "orderId": 1067, "productId": 33, "price": 420, "quantity": 40, "discount": 0 }, { "orderId": 1067, "productId": 44, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1067, "productId": 77, "price": 2800, "quantity": 10, "discount": 0 }, { "orderId": 1067, "productId": 96, "price": 420, "quantity": 50, "discount": 0 }, { "orderId": 1067, "productId": 114, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1067, "productId": 118, "price": 500, "quantity": 50, "discount": 0 }, { "orderId": 1068, "productId": 71, "price": 1800, "quantity": 50, "discount": 0 }, { "orderId": 1068, "productId": 79, "price": 1000, "quantity": 60, "discount": 0 }, { "orderId": 1068, "productId": 80, "price": 160, "quantity": 50, "discount": 0 }, { "orderId": 1068, "productId": 109, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1068, "productId": 111, "price": 100, "quantity": 100, "discount": 0 }, { "orderId": 1068, "productId": 117, "price": 300, "quantity": 100, "discount": 0 }, { "orderId": 1069, "productId": 39, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1069, "productId": 40, "price": 300, "quantity": 30, "discount": 0 }, { "orderId": 1069, "productId": 41, "price": 450, "quantity": 50, "discount": 0 }, { "orderId": 1069, "productId": 95, "price": 380, "quantity": 50, "discount": 0 }, { "orderId": 1069, "productId": 98, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1069, "productId": 101, "price": 220, "quantity": 100, "discount": 0 }, { "orderId": 1070, "productId": 12, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1070, "productId": 18, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1070, "productId": 19, "price": 50, "quantity": 100, "discount": 0 }, { "orderId": 1070, "productId": 84, "price": 200, "quantity": 100, "discount": 0 }, { "orderId": 1070, "productId": 85, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1070, "productId": 86, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1071, "productId": 19, "price": 50, "quantity": 100, "discount": 0 }, { "orderId": 1071, "productId": 31, "price": 380, "quantity": 10, "discount": 0 }, { "orderId": 1071, "productId": 68, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1071, "productId": 90, "price": 280, "quantity": 30, "discount": 0 }, { "orderId": 1071, "productId": 97, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1071, "productId": 112, "price": 210, "quantity": 30, "discount": 0 }, { "orderId": 1072, "productId": 36, "price": 200, "quantity": 10, "discount": 0 }, { "orderId": 1072, "productId": 50, "price": 220, "quantity": 50, "discount": 0 }, { "orderId": 1072, "productId": 51, "price": 180, "quantity": 30, "discount": 0 }, { "orderId": 1072, "productId": 115, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1072, "productId": 116, "price": 230, "quantity": 50, "discount": 0 }, { "orderId": 1072, "productId": 117, "price": 300, "quantity": 100, "discount": 0 }, { "orderId": 1073, "productId": 1, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1073, "productId": 2, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1073, "productId": 65, "price": 280, "quantity": 20, "discount": 0 }, { "orderId": 1073, "productId": 81, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1073, "productId": 82, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1073, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1074, "productId": 16, "price": 290, "quantity": 50, "discount": 0 }, { "orderId": 1074, "productId": 17, "price": 290, "quantity": 50, "discount": 0 }, { "orderId": 1074, "productId": 18, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1074, "productId": 109, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1074, "productId": 110, "price": 230, "quantity": 50, "discount": 0 }, { "orderId": 1074, "productId": 118, "price": 500, "quantity": 30, "discount": 0 }, { "orderId": 1075, "productId": 54, "price": 3200, "quantity": 10, "discount": 0 }, { "orderId": 1075, "productId": 56, "price": 230, "quantity": 30, "discount": 0 }, { "orderId": 1075, "productId": 68, "price": 300, "quantity": 10, "discount": 0 }, { "orderId": 1075, "productId": 114, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1075, "productId": 118, "price": 500, "quantity": 50, "discount": 0 }, { "orderId": 1075, "productId": 122, "price": 1000, "quantity": 30, "discount": 0 }, { "orderId": 1076, "productId": 16, "price": 290, "quantity": 50, "discount": 0 }, { "orderId": 1076, "productId": 17, "price": 290, "quantity": 50, "discount": 0 }, { "orderId": 1076, "productId": 61, "price": 120, "quantity": 10, "discount": 0 }, { "orderId": 1076, "productId": 91, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1076, "productId": 92, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1076, "productId": 118, "price": 500, "quantity": 30, "discount": 0 }, { "orderId": 1077, "productId": 40, "price": 300, "quantity": 100, "discount": 0 }, { "orderId": 1077, "productId": 71, "price": 1800, "quantity": 50, "discount": 0 }, { "orderId": 1077, "productId": 80, "price": 160, "quantity": 100, "discount": 0 }, { "orderId": 1077, "productId": 93, "price": 350, "quantity": 120, "discount": 0 }, { "orderId": 1077, "productId": 94, "price": 120, "quantity": 100, "discount": 0 }, { "orderId": 1077, "productId": 95, "price": 380, "quantity": 80, "discount": 0 }, { "orderId": 1078, "productId": 36, "price": 200, "quantity": 10, "discount": 0 }, { "orderId": 1078, "productId": 43, "price": 450, "quantity": 30, "discount": 0 }, { "orderId": 1078, "productId": 45, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1078, "productId": 90, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1078, "productId": 93, "price": 350, "quantity": 100, "discount": 0 }, { "orderId": 1078, "productId": 104, "price": 250, "quantity": 50, "discount": 0 }, { "orderId": 1079, "productId": 1, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1079, "productId": 2, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1079, "productId": 81, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1079, "productId": 97, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1079, "productId": 112, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1080, "productId": 77, "price": 2800, "quantity": 10, "discount": 0 }, { "orderId": 1080, "productId": 78, "price": 1500, "quantity": 30, "discount": 0 }, { "orderId": 1080, "productId": 79, "price": 1000, "quantity": 50, "discount": 0 }, { "orderId": 1080, "productId": 109, "price": 180, "quantity": 100, "discount": 0 }, { "orderId": 1080, "productId": 114, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1080, "productId": 122, "price": 1000, "quantity": 100, "discount": 0 }, { "orderId": 1081, "productId": 8, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1081, "productId": 24, "price": 130, "quantity": 30, "discount": 0 }, { "orderId": 1081, "productId": 25, "price": 180, "quantity": 30, "discount": 0 }, { "orderId": 1081, "productId": 112, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1081, "productId": 119, "price": 220, "quantity": 50, "discount": 0 }, { "orderId": 1081, "productId": 123, "price": 100, "quantity": 100, "discount": 0 }, { "orderId": 1082, "productId": 16, "price": 290, "quantity": 50, "discount": 0 }, { "orderId": 1082, "productId": 17, "price": 290, "quantity": 50, "discount": 0 }, { "orderId": 1082, "productId": 95, "price": 380, "quantity": 50, "discount": 0 }, { "orderId": 1082, "productId": 101, "price": 220, "quantity": 100, "discount": 0 }, { "orderId": 1082, "productId": 120, "price": 180, "quantity": 100, "discount": 0 }, { "orderId": 1083, "productId": 8, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1083, "productId": 9, "price": 300, "quantity": 40, "discount": 0 }, { "orderId": 1083, "productId": 10, "price": 250, "quantity": 30, "discount": 0 }, { "orderId": 1083, "productId": 81, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1083, "productId": 86, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1083, "productId": 94, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1084, "productId": 10, "price": 250, "quantity": 50, "discount": 0 }, { "orderId": 1084, "productId": 65, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1084, "productId": 68, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1084, "productId": 82, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1084, "productId": 96, "price": 420, "quantity": 30, "discount": 0 }, { "orderId": 1084, "productId": 98, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1085, "productId": 10, "price": 250, "quantity": 40, "discount": 0 }, { "orderId": 1085, "productId": 18, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1085, "productId": 19, "price": 50, "quantity": 10, "discount": 0 }, { "orderId": 1085, "productId": 81, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1085, "productId": 97, "price": 280, "quantity": 100, "discount": 0 }, { "orderId": 1085, "productId": 103, "price": 500, "quantity": 100, "discount": 0 }, { "orderId": 1086, "productId": 9, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1086, "productId": 10, "price": 250, "quantity": 50, "discount": 0 }, { "orderId": 1086, "productId": 85, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1086, "productId": 94, "price": 120, "quantity": 30, "discount": 0 }, { "orderId": 1086, "productId": 96, "price": 420, "quantity": 30, "discount": 0 }, { "orderId": 1087, "productId": 18, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1087, "productId": 64, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1087, "productId": 71, "price": 1800, "quantity": 50, "discount": 0 }, { "orderId": 1087, "productId": 100, "price": 180, "quantity": 80, "discount": 0 }, { "orderId": 1087, "productId": 106, "price": 250, "quantity": 50, "discount": 0 }, { "orderId": 1087, "productId": 108, "price": 200, "quantity": 100, "discount": 0 }, { "orderId": 1088, "productId": 13, "price": 2800, "quantity": 30, "discount": 0 }, { "orderId": 1088, "productId": 14, "price": 250, "quantity": 50, "discount": 0 }, { "orderId": 1088, "productId": 15, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1088, "productId": 98, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1088, "productId": 99, "price": 180, "quantity": 100, "discount": 0 }, { "orderId": 1088, "productId": 107, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1089, "productId": 11, "price": 2600, "quantity": 50, "discount": 0 }, { "orderId": 1089, "productId": 28, "price": 500, "quantity": 30, "discount": 0 }, { "orderId": 1089, "productId": 74, "price": 250, "quantity": 60, "discount": 0 }, { "orderId": 1089, "productId": 87, "price": 100, "quantity": 30, "discount": 0 }, { "orderId": 1089, "productId": 88, "price": 100, "quantity": 30, "discount": 0 }, { "orderId": 1089, "productId": 102, "price": 140, "quantity": 100, "discount": 0 }, { "orderId": 1090, "productId": 63, "price": 230, "quantity": 50, "discount": 0 }, { "orderId": 1090, "productId": 64, "price": 280, "quantity": 30, "discount": 0 }, { "orderId": 1090, "productId": 65, "price": 280, "quantity": 30, "discount": 0 }, { "orderId": 1090, "productId": 104, "price": 250, "quantity": 60, "discount": 0 }, { "orderId": 1090, "productId": 115, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1090, "productId": 117, "price": 300, "quantity": 100, "discount": 0 }, { "orderId": 1091, "productId": 1, "price": 200, "quantity": 60, "discount": 0 }, { "orderId": 1091, "productId": 2, "price": 200, "quantity": 60, "discount": 0 }, { "orderId": 1091, "productId": 3, "price": 200, "quantity": 60, "discount": 0 }, { "orderId": 1091, "productId": 81, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1091, "productId": 82, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1091, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1092, "productId": 71, "price": 1800, "quantity": 50, "discount": 0 }, { "orderId": 1092, "productId": 75, "price": 1300, "quantity": 20, "discount": 0 }, { "orderId": 1092, "productId": 79, "price": 1000, "quantity": 30, "discount": 0 }, { "orderId": 1092, "productId": 113, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1092, "productId": 114, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1092, "productId": 122, "price": 1000, "quantity": 100, "discount": 0 }, { "orderId": 1093, "productId": 8, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1093, "productId": 9, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1093, "productId": 65, "price": 280, "quantity": 10, "discount": 0 }, { "orderId": 1093, "productId": 86, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1093, "productId": 96, "price": 420, "quantity": 30, "discount": 0 }, { "orderId": 1093, "productId": 109, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1094, "productId": 3, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1094, "productId": 4, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1094, "productId": 77, "price": 2800, "quantity": 10, "discount": 0 }, { "orderId": 1094, "productId": 99, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1094, "productId": 102, "price": 140, "quantity": 100, "discount": 0 }, { "orderId": 1094, "productId": 107, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1095, "productId": 12, "price": 210, "quantity": 30, "discount": 0 }, { "orderId": 1095, "productId": 13, "price": 2800, "quantity": 10, "discount": 0 }, { "orderId": 1095, "productId": 15, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1095, "productId": 84, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1095, "productId": 85, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1095, "productId": 86, "price": 200, "quantity": 30, "discount": 0 }, { "orderId": 1096, "productId": 9, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1096, "productId": 19, "price": 50, "quantity": 100, "discount": 0 }, { "orderId": 1096, "productId": 79, "price": 1000, "quantity": 10, "discount": 0 }, { "orderId": 1096, "productId": 94, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1096, "productId": 96, "price": 420, "quantity": 50, "discount": 0 }, { "orderId": 1096, "productId": 98, "price": 280, "quantity": 30, "discount": 0 }, { "orderId": 1097, "productId": 1, "price": 200, "quantity": 100, "discount": 0 }, { "orderId": 1097, "productId": 44, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1097, "productId": 45, "price": 190, "quantity": 30, "discount": 0 }, { "orderId": 1097, "productId": 81, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1097, "productId": 97, "price": 280, "quantity": 30, "discount": 0 }, { "orderId": 1097, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1098, "productId": 19, "price": 50, "quantity": 50, "discount": 0 }, { "orderId": 1098, "productId": 46, "price": 250, "quantity": 50, "discount": 0 }, { "orderId": 1098, "productId": 49, "price": 220, "quantity": 50, "discount": 0 }, { "orderId": 1098, "productId": 93, "price": 350, "quantity": 100, "discount": 0 }, { "orderId": 1098, "productId": 95, "price": 380, "quantity": 50, "discount": 0 }, { "orderId": 1098, "productId": 106, "price": 250, "quantity": 100, "discount": 0 }, { "orderId": 1099, "productId": 9, "price": 300, "quantity": 30, "discount": 0 }, { "orderId": 1099, "productId": 38, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1099, "productId": 48, "price": 220, "quantity": 50, "discount": 0 }, { "orderId": 1099, "productId": 82, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1099, "productId": 97, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1099, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1100, "productId": 40, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1100, "productId": 47, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1100, "productId": 48, "price": 220, "quantity": 50, "discount": 0 }, { "orderId": 1100, "productId": 87, "price": 100, "quantity": 40, "discount": 0 }, { "orderId": 1100, "productId": 88, "price": 100, "quantity": 30, "discount": 0 }, { "orderId": 1100, "productId": 101, "price": 220, "quantity": 50, "discount": 0 }, { "orderId": 1101, "productId": 64, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1101, "productId": 66, "price": 260, "quantity": 50, "discount": 0 }, { "orderId": 1101, "productId": 93, "price": 350, "quantity": 60, "discount": 0 }, { "orderId": 1101, "productId": 104, "price": 250, "quantity": 50, "discount": 0 }, { "orderId": 1101, "productId": 109, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1102, "productId": 21, "price": 2800, "quantity": 5, "discount": 0 }, { "orderId": 1102, "productId": 22, "price": 2800, "quantity": 5, "discount": 0 }, { "orderId": 1102, "productId": 81, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1102, "productId": 82, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1102, "productId": 99, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1103, "productId": 11, "price": 2600, "quantity": 30, "discount": 0 }, { "orderId": 1103, "productId": 12, "price": 210, "quantity": 30, "discount": 0 }, { "orderId": 1103, "productId": 13, "price": 2800, "quantity": 50, "discount": 0 }, { "orderId": 1103, "productId": 97, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1103, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1104, "productId": 32, "price": 1200, "quantity": 10, "discount": 0 }, { "orderId": 1104, "productId": 33, "price": 420, "quantity": 50, "discount": 0 }, { "orderId": 1104, "productId": 39, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1104, "productId": 91, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1104, "productId": 92, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1104, "productId": 94, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1105, "productId": 39, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1105, "productId": 40, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1105, "productId": 41, "price": 450, "quantity": 30, "discount": 0 }, { "orderId": 1105, "productId": 82, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1105, "productId": 97, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1105, "productId": 101, "price": 220, "quantity": 100, "discount": 0 }, { "orderId": 1106, "productId": 16, "price": 290, "quantity": 50, "discount": 0 }, { "orderId": 1106, "productId": 17, "price": 290, "quantity": 50, "discount": 0 }, { "orderId": 1106, "productId": 85, "price": 200, "quantity": 80, "discount": 0 }, { "orderId": 1106, "productId": 100, "price": 180, "quantity": 100, "discount": 0 }, { "orderId": 1106, "productId": 104, "price": 250, "quantity": 100, "discount": 0 }, { "orderId": 1107, "productId": 11, "price": 2600, "quantity": 50, "discount": 0 }, { "orderId": 1107, "productId": 12, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1107, "productId": 96, "price": 420, "quantity": 30, "discount": 0 }, { "orderId": 1107, "productId": 107, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1107, "productId": 110, "price": 230, "quantity": 50, "discount": 0 }, { "orderId": 1108, "productId": 64, "price": 280, "quantity": 100, "discount": 0 }, { "orderId": 1108, "productId": 65, "price": 280, "quantity": 80, "discount": 0 }, { "orderId": 1108, "productId": 111, "price": 100, "quantity": 200, "discount": 0 }, { "orderId": 1108, "productId": 119, "price": 220, "quantity": 100, "discount": 0 }, { "orderId": 1108, "productId": 123, "price": 100, "quantity": 100, "discount": 0 }, { "orderId": 1109, "productId": 1, "price": 200, "quantity": 100, "discount": 0 }, { "orderId": 1109, "productId": 2, "price": 200, "quantity": 100, "discount": 0 }, { "orderId": 1109, "productId": 3, "price": 200, "quantity": 100, "discount": 0 }, { "orderId": 1109, "productId": 115, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1109, "productId": 117, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1109, "productId": 122, "price": 1000, "quantity": 50, "discount": 0 }, { "orderId": 1110, "productId": 65, "price": 280, "quantity": 100, "discount": 0 }, { "orderId": 1110, "productId": 66, "price": 260, "quantity": 100, "discount": 0 }, { "orderId": 1110, "productId": 67, "price": 270, "quantity": 50, "discount": 0 }, { "orderId": 1110, "productId": 109, "price": 180, "quantity": 100, "discount": 0 }, { "orderId": 1110, "productId": 110, "price": 230, "quantity": 200, "discount": 0 }, { "orderId": 1110, "productId": 122, "price": 1000, "quantity": 50, "discount": 0 }, { "orderId": 1111, "productId": 37, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1111, "productId": 38, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1111, "productId": 39, "price": 180, "quantity": 40, "discount": 0 }, { "orderId": 1111, "productId": 97, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1111, "productId": 112, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1111, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1112, "productId": 8, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1112, "productId": 67, "price": 270, "quantity": 50, "discount": 0 }, { "orderId": 1112, "productId": 68, "price": 300, "quantity": 50, "discount": 0 }, { "orderId": 1112, "productId": 81, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1112, "productId": 103, "price": 500, "quantity": 100, "discount": 0 }, { "orderId": 1112, "productId": 105, "price": 1500, "quantity": 30, "discount": 0 }, { "orderId": 1113, "productId": 1, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1113, "productId": 2, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1113, "productId": 84, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1113, "productId": 85, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1113, "productId": 94, "price": 120, "quantity": 30, "discount": 0 }, { "orderId": 1114, "productId": 20, "price": 320, "quantity": 10, "discount": 0 }, { "orderId": 1114, "productId": 44, "price": 210, "quantity": 30, "discount": 0 }, { "orderId": 1114, "productId": 50, "price": 220, "quantity": 50, "discount": 0 }, { "orderId": 1114, "productId": 82, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1114, "productId": 97, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1114, "productId": 103, "price": 500, "quantity": 100, "discount": 0 }, { "orderId": 1115, "productId": 30, "price": 500, "quantity": 30, "discount": 0 }, { "orderId": 1115, "productId": 39, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1115, "productId": 70, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1115, "productId": 82, "price": 190, "quantity": 50, "discount": 0 }, { "orderId": 1115, "productId": 87, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1115, "productId": 90, "price": 280, "quantity": 60, "discount": 0 }, { "orderId": 1116, "productId": 48, "price": 220, "quantity": 100, "discount": 0 }, { "orderId": 1116, "productId": 49, "price": 220, "quantity": 100, "discount": 0 }, { "orderId": 1116, "productId": 91, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1116, "productId": 92, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1116, "productId": 94, "price": 120, "quantity": 50, "discount": 0 }, { "orderId": 1117, "productId": 66, "price": 260, "quantity": 50, "discount": 0 }, { "orderId": 1117, "productId": 67, "price": 270, "quantity": 50, "discount": 0 }, { "orderId": 1117, "productId": 100, "price": 180, "quantity": 30, "discount": 0 }, { "orderId": 1117, "productId": 101, "price": 220, "quantity": 50, "discount": 0 }, { "orderId": 1117, "productId": 102, "price": 140, "quantity": 100, "discount": 0 }, { "orderId": 1118, "productId": 72, "price": 4400, "quantity": 30, "discount": 0 }, { "orderId": 1118, "productId": 77, "price": 2800, "quantity": 10, "discount": 0 }, { "orderId": 1118, "productId": 79, "price": 1000, "quantity": 10, "discount": 0 }, { "orderId": 1118, "productId": 84, "price": 200, "quantity": 50, "discount": 0 }, { "orderId": 1118, "productId": 96, "price": 420, "quantity": 30, "discount": 0 }, { "orderId": 1118, "productId": 118, "price": 500, "quantity": 50, "discount": 0 }, { "orderId": 1119, "productId": 31, "price": 380, "quantity": 30, "discount": 0 }, { "orderId": 1119, "productId": 33, "price": 420, "quantity": 10, "discount": 0 }, { "orderId": 1119, "productId": 38, "price": 180, "quantity": 50, "discount": 0 }, { "orderId": 1119, "productId": 97, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1119, "productId": 112, "price": 210, "quantity": 50, "discount": 0 }, { "orderId": 1119, "productId": 123, "price": 100, "quantity": 50, "discount": 0 }, { "orderId": 1120, "productId": 10, "price": 250, "quantity": 100, "discount": 0 }, { "orderId": 1120, "productId": 39, "price": 180, "quantity": 80, "discount": 0 }, { "orderId": 1120, "productId": 70, "price": 210, "quantity": 100, "discount": 0 }, { "orderId": 1120, "productId": 93, "price": 350, "quantity": 50, "discount": 0 }, { "orderId": 1120, "productId": 98, "price": 280, "quantity": 50, "discount": 0 }, { "orderId": 1120, "productId": 104, "price": 250, "quantity": 50, "discount": 0 } ];
*, *::before, *::after { box-sizing: border-box; } body { position: static !important; } [gcim-control-appearance="modern"] body { margin: 0; padding: 0; background: #f0f2f5; font-family: 'Segoe UI', 'Hiragino Sans', 'Meiryo', sans-serif; color: #333; } [gcim-control-appearance="modern"] .page { max-width: 900px; margin: 0 auto; padding: 2rem 1rem; display: flex; flex-direction: column; gap: 1rem; } [gcim-control-appearance="modern"] .page-title { margin: 0; font-size: 1.5rem; font-weight: 600; color: #1a1a2e; } [gcim-control-appearance="modern"] .card { background: #fff; border-radius: 8px; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); overflow: visible !important; } [gcim-control-appearance="modern"] .card-header { padding: 0.6rem 1rem; background: #3d5a80; color: #fff; font-size: 0.875rem; font-weight: 600; letter-spacing: 0.03em; } [gcim-control-appearance="modern"] .card-body { padding: 0.5rem; } [gcim-control-appearance="modern"] .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; } [gcim-control-appearance="modern"] .form-table { border-collapse: collapse; width: 100%; } [gcim-control-appearance="modern"] .form-table th { text-align: left; padding: 0.4rem 0.75rem 0.4rem 0; font-weight: normal; color: #555; white-space: nowrap; width: 1%; } [gcim-control-appearance="modern"] .form-table td { padding: 0.4rem 0.75rem 0.4rem 0; } [gcim-control-appearance="modern"] .hint { padding-left: 1rem; font-size: 0.75rem; color: #888; } [gcim-control-appearance="modern"] #ss { height: 220px; width: 100%; } [gcim-control-appearance="modern"] .card-header { padding: 0.6rem 1rem; background: #3d5a80; color: #fff; font-size: 0.875rem; font-weight: 600; letter-spacing: 0.03em; position: relative; } [gcim-control-appearance="modern"] .order-state-banner { position: absolute; right: 1rem; top: 50%; transform: translateY(-50%); border-radius: 999px; padding: 0.2rem 0.7rem; font-size: 0.78rem; letter-spacing: 0; font-weight: 700; color: #fff; display: inline-flex; align-items: center; gap: 0.35rem; background: linear-gradient(135deg, #3b82f6, #0ea5e9); box-shadow: 0 8px 18px rgba(37, 99, 235, 0.18); } [gcim-control-appearance="modern"] .order-state-banner.order-state-confirmed { background: linear-gradient(135deg, #16a34a, #047857); } [gcim-control-appearance="modern"] .order-state-banner.order-state-editing { background: linear-gradient(135deg, #3b82f6, #0ea5e9); } [gcim-control-appearance="modern"] .page.confirmed { background: #eefaf1; } [gcim-control-appearance="modern"] .page.confirmed .card-header { background: #10b981; } [gcim-control-appearance="modern"] .page.editing .card-header { background: #3b82f6; } [gcim-control-appearance="modern"] .page.confirmed .action-button.primary { background: #059669; } [gcim-control-appearance="modern"] .page.confirmed .action-card { background: linear-gradient(135deg, #ecfdf5, #d1fae5); } [gcim-control-appearance="modern"] .action-card { background: linear-gradient(135deg, #f4f7ff, #eef5ff); } [gcim-control-appearance="modern"] .action-panel { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; } [gcim-control-appearance="modern"] .action-button { background: #3d5a80; border: none; border-radius: 8px; color: #fff; padding: 0.75rem 1rem; font-weight: 600; cursor: pointer; transition: background 180ms ease, transform 150ms ease; } [gcim-control-appearance="modern"] .action-button:hover:not(:disabled) { background: #2b4364; transform: translateY(-1px); } [gcim-control-appearance="modern"] .action-button.primary { background: #0066cc; } [gcim-control-appearance="modern"] .action-button:disabled { opacity: 0.5; cursor: default; } [gcim-control-appearance="modern"] .floating-action-button { position: fixed; right: 20px; width: 64px; height: 32px; padding: 0; font-size: 0.8rem; border-radius: 999px; border: none; background: #2563eb; color: #fff; font-weight: 700; cursor: pointer; transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, opacity 160ms ease; box-shadow: 0 14px 28px rgba(15, 23, 42, 0.18); z-index: 10000; opacity: 0.98; animation: float-in 0.7s ease; } [gcim-control-appearance="modern"] .floating-action-button.floating-action-edit { bottom: 60px; right: 20px; } [gcim-control-appearance="modern"] .floating-action-button.floating-action-confirm { bottom: 20px; right: 20px; } [gcim-control-appearance="modern"] .floating-action-button:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(15, 23, 42, 0.26); } [gcim-control-appearance="modern"] .floating-action-button.primary { background: linear-gradient(135deg, #059669, #10b981); } [gcim-control-appearance="modern"] .floating-action-button:disabled { opacity: 0.55; cursor: not-allowed; } @keyframes float-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 0.98; transform: translateY(0); } } @media (max-width: 680px) { [gcim-control-appearance="modern"] .floating-action-button { right: 12px; } [gcim-control-appearance="modern"] .floating-action-button.floating-action-confirm { top: 12px; } [gcim-control-appearance="modern"] .floating-action-button.floating-action-edit { bottom: 12px; } } @media (max-width: 600px) { [gcim-control-appearance="modern"] .two-col { grid-template-columns: 1fr; } } [gcim-control-appearance="modern"] #statusBar { width: 100%; height: 24px; border-top: 1px solid #e8e8e8; } [gcim-control-appearance="modern"] .modal-overlay { position: fixed; inset: 0; background: rgba(15, 23, 42, 0.45); backdrop-filter: blur(2px); display: flex; align-items: center; justify-content: center; z-index: 20000; } [gcim-control-appearance="modern"] .modal-box { background: #fff; border-radius: 14px; box-shadow: 0 24px 48px rgba(15, 23, 42, 0.2); width: 340px; overflow: hidden; opacity: 0; transform: translateY(16px) scale(0.97); transition: opacity 0.22s ease, transform 0.22s ease; } [gcim-control-appearance="modern"] .modal-box.modal-box-in { opacity: 1; transform: translateY(0) scale(1); } [gcim-control-appearance="modern"] .modal-header { background: linear-gradient(135deg, #059669, #10b981); color: #fff; padding: 1rem 1.25rem; font-weight: 700; font-size: 1rem; display: flex; align-items: center; gap: 0.5rem; } [gcim-control-appearance="modern"] .modal-icon { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.25); font-size: 13px; } [gcim-control-appearance="modern"] .modal-body { padding: 1.25rem; } [gcim-control-appearance="modern"] .modal-summary { text-align: center; margin-bottom: 1rem; } [gcim-control-appearance="modern"] .modal-summary-label { font-size: 0.75rem; color: #888; margin-bottom: 0.2rem; } [gcim-control-appearance="modern"] .modal-summary-value { font-size: 1.1rem; font-weight: 700; color: #1a1a2e; } [gcim-control-appearance="modern"] .modal-divider { height: 1px; background: #f0f2f5; margin: 0.75rem 0; } [gcim-control-appearance="modern"] .modal-row { display: flex; justify-content: space-between; align-items: center; padding: 0.3rem 0; font-size: 0.875rem; color: #444; } [gcim-control-appearance="modern"] .modal-row.total { font-size: 1rem; font-weight: 700; color: #1a1a2e; } [gcim-control-appearance="modern"] .modal-row.small { font-size: 0.78rem; color: #888; } [gcim-control-appearance="modern"] .modal-footer { padding: 0.75rem 1.25rem 1.25rem; display: flex; justify-content: center; } [gcim-control-appearance="modern"] .modal-message { text-align: center; margin-top: 1rem; font-size: 0.875rem; color: #444; } [gcim-control-appearance="modern"] .modal-footer { padding: 0.75rem 1.25rem 1.25rem; display: flex; gap: 0.75rem; justify-content: center; } [gcim-control-appearance="modern"] .modal-cancel-button { flex: 1; padding: 0.65rem; border: 1px solid #e2e8f0; border-radius: 8px; background: #f0f2f5; color: #333; font-weight: 600; font-size: 0.875rem; cursor: pointer; transition: background 0.15s ease; } [gcim-control-appearance="modern"] .modal-cancel-button:hover { background: #e2e8f0; } [gcim-control-appearance="modern"] .modal-confirm-button { flex: 1; padding: 0.65rem; border: none; border-radius: 8px; background: linear-gradient(135deg, #059669, #10b981); color: #fff; font-weight: 600; font-size: 0.875rem; cursor: pointer; transition: opacity 0.15s ease; } [gcim-control-appearance="modern"] .modal-confirm-button:hover { opacity: 0.9; }
System.config({ transpiler: 'plugin-babel', babelOptions: { es2015: true }, meta: { '*.css': { loader: 'css' } }, paths: { // paths serve as alias 'npm:': 'node_modules/' }, // map tells the System loader where to look for things map: { '@mescius/inputman': 'npm:@mescius/inputman/index.js', '@mescius/inputman/CSS': 'npm:@mescius/inputman/CSS', '@mescius/inputman.richtexteditor': 'npm:@mescius/inputman.richtexteditor/index.js', "@mescius/inputman.richtexteditor/CSS": "npm:@mescius/inputman.richtexteditor/CSS", '@mescius/inputman.richtexteditor/JS/plugins/advlist': 'npm:@mescius/inputman.richtexteditor/JS/plugins/advlist/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/all': 'npm:@mescius/inputman.richtexteditor/JS/plugins/all/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/autosave': 'npm:@mescius/inputman.richtexteditor/JS/plugins/autosave/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/charmap': 'npm:@mescius/inputman.richtexteditor/JS/plugins/charmap/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/directionality': 'npm:@mescius/inputman.richtexteditor/JS/plugins/directionality/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/emoticons': 'npm:@mescius/inputman.richtexteditor/JS/plugins/emoticons/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/fullscreen': 'npm:@mescius/inputman.richtexteditor/JS/plugins/fullscreen/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/htmlcode': 'npm:@mescius/inputman.richtexteditor/JS/plugins/htmlcode/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/image': 'npm:@mescius/inputman.richtexteditor/JS/plugins/image/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/link': 'npm:@mescius/inputman.richtexteditor/JS/plugins/link/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/lists': 'npm:@mescius/inputman.richtexteditor/JS/plugins/lists/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/media': 'npm:@mescius/inputman.richtexteditor/JS/plugins/media/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/pagebreak': 'npm:@mescius/inputman.richtexteditor/JS/plugins/pagebreak/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/preview': 'npm:@mescius/inputman.richtexteditor/JS/plugins/preview/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/save': 'npm:@mescius/inputman.richtexteditor/JS/plugins/save/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/searchreplace': 'npm:@mescius/inputman.richtexteditor/JS/plugins/searchreplace/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/table': 'npm:@mescius/inputman.richtexteditor/JS/plugins/table/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/template': 'npm:@mescius/inputman.richtexteditor/JS/plugins/template/plugin.js', '@mescius/inputman.richtexteditor/JS/plugins/wordcount': 'npm:@mescius/inputman.richtexteditor/JS/plugins/wordcount/plugin.js', '@mescius/inputman.comment': 'npm:@mescius/inputman.comment/index.js', '@mescius/inputman.comment/CSS': 'npm:@mescius/inputman.comment/CSS', '@mescius/wijmo': 'npm:@mescius/wijmo/index.js', '@mescius/wijmo.styles': 'npm:@mescius/wijmo.styles', '@mescius/wijmo.cultures': 'npm:@mescius/wijmo.cultures', '@mescius/wijmo.input': 'npm:@mescius/wijmo.input/index.js', '@mescius/wijmo.grid': 'npm:@mescius/wijmo.grid/index.js', '@mescius/wijmo.nav': 'npm:@mescius/wijmo.nav/index.js', '@mescius/spread-sheets': 'npm:@mescius/spread-sheets/index.js', '@mescius/spread-sheets-resources-ja': 'npm:@mescius/spread-sheets-resources-ja/index.js', '@mescius/spread-sheets/styles': 'npm:@mescius/spread-sheets/styles', 'css': 'npm:systemjs-plugin-css/css.js', 'plugin-babel': 'npm:systemjs-plugin-babel/plugin-babel.js', 'systemjs-babel-build': 'npm:systemjs-plugin-babel/systemjs-babel-browser.js' }, // packages tells the System loader how to load when no filename and/or no extension packages: { src: { defaultExtension: 'js' }, "node_modules": { defaultExtension: 'js' }, } });