## 2026-04-14 ### ellio/arrival/ — 写真アップロードの画像品質選択機能を追加 #### 目的・背景 入荷登録時に撮影する写真の画像圧縮が固定値(0.7)のみだった。 現場の状況に応じて品質を選択できるよう、画面上でのセレクトボックス選択を実装。 #### 変更内容 **ellio/arrival/form.html** - 写真ファイル選択欄の直下に品質選択セレクトボックスを追加 - Vue の `v-model.number="quality"` でバインド - 選択肢:低画質(0.7) / 中画質(0.8) / 高画質(0.9) / 非圧縮(1.0) - デフォルトは従来通り 0.7 **ellio/arrival/index.js** - Vue の `data` に `quality: 0.7` を追加 - `canvas.toBlob()` の固定値 `0.7` → `this.quality` に変更 #### テスト - curl でテスト画像(1×1px JPEG)を `photoreceive.php` に送信 → `ok` レスポンス確認 - サーバー `invoiceimage/` に `2026041400601.jpg` が生成されたことを確認 #### デプロイ - `form.html`、`index.js` を scp でサーバーに転送(2026-04-14 13:46) --- ### ellio/arrival/ — 画像リサイズサイズ選択・送信前ファイルサイズ表示機能を追加 #### 目的・背景 画像圧縮の効果(リサイズ vs 品質変更)について、リサイズの方がファイルサイズ削減に大きく影響することが判明。 現場で適切な設定を選べるようリサイズサイズの選択UIを追加し、また実際に送信されるファイルサイズを事前に確認できる表示機能を追加した。 #### 変更内容 **ellio/arrival/form.html** - 品質セレクトの上にリサイズ幅セレクトを追加(`v-model.number="maxWidth"`) - 選択肢:小(1024px) / 中(1600px) / 大(2048px) / 元サイズ(9999px) - ファイル選択・設定変更時に「元ファイル名: XXX KB → YYY KB」形式でサイズを表示 **ellio/arrival/index.js** - `data` に `imageSizeInfo: []`、`originalFiles: []` を追加 - `formatSize(bytes)` メソッドを追加(KB/MB表示) - 画像処理ロジックを `processImages()` メソッドに切り出し - `onImageChange` で元ファイルを `originalFiles` に保存し `processImages()` を呼び出す - `watch` で `quality`・`maxWidth` の変更を監視し自動的に `processImages()` を再実行 →セレクト変更時にリアルタイムでサイズ表示が更新される #### 不具合修正 - 当初実装ではセレクト変更後にサイズ表示が更新されない不具合あり - `originalFiles` 保持 + `watch` による再処理で解消 #### テスト - JS構文チェック(node --check):エラーなし - curl でテスト画像を送信 → `ok` レスポンス、`2026041400701.jpg` 生成確認 #### デプロイ - `form.html` を scp でサーバーに転送(2026-04-14 15:05) - `index.js` を scp でサーバーに転送(2026-04-14 15:12)