|
|
|
@ -35,6 +35,7 @@ import { ja } from 'date-fns/locale/ja'; // date-fnsの日本語ロケールを |
|
|
|
|
import { ja } from 'date-fns/locale/ja'; // date-fnsの日本語ロケールをインポート*/
|
|
|
|
|
import { useMessage } from '../components/MessageContext'; |
|
|
|
|
import BuyExpDateSelect from '../components/BuyExpDateSelect'; |
|
|
|
|
import { STOCK_MESSAGES } from '../constants/normalMessages'; |
|
|
|
|
|
|
|
|
|
/*// 日付をyyyy-MM-dd形式で返す関数 |
|
|
|
|
const formatDateLocal = (date: Date) => { |
|
|
|
@ -80,7 +81,7 @@ const StockPage: React.FC = () => { |
|
|
|
|
// 在庫の編集状態
|
|
|
|
|
const [editStock, setEditStock] = useState<Stock | null>(null); |
|
|
|
|
|
|
|
|
|
const { showErrorMessage, showWarningMessage } = useMessage(); |
|
|
|
|
const { showErrorMessage, showWarningMessage, showSuccessMessage } = useMessage(); |
|
|
|
|
|
|
|
|
|
// カテゴリ名一覧
|
|
|
|
|
const CATEGORY_NAMES = [ |
|
|
|
@ -174,6 +175,7 @@ const StockPage: React.FC = () => { |
|
|
|
|
console.log("送信するデータ:", updatedStock); // 送信前のデータを確認
|
|
|
|
|
await stockApi.addStock(updatedStock); // 修正したオブジェクトを API に送信
|
|
|
|
|
|
|
|
|
|
showSuccessMessage(STOCK_MESSAGES.CREATE_OK); |
|
|
|
|
|
|
|
|
|
// await stockApi.addStock(newStock);
|
|
|
|
|
setIsAddOpen(false); // ダイアログを閉じる
|
|
|
|
@ -192,10 +194,12 @@ const StockPage: React.FC = () => { |
|
|
|
|
try { |
|
|
|
|
await stockApi.updateStock(request); |
|
|
|
|
fetchStocks(); // 削除後の買うもの一覧を再取得
|
|
|
|
|
// showSuccessMessage(STOCK_MESSAGES.UPDATE_OK);
|
|
|
|
|
} catch (error) { |
|
|
|
|
console.error(`${STOCK_ERRORS.UPDATE_FAILED}:`, error); |
|
|
|
|
showErrorMessage(STOCK_ERRORS.UPDATE_FAILED); |
|
|
|
|
// showErrorMessage(STOCK_ERRORS.UPDATE_FAILED);
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -205,6 +209,9 @@ const StockPage: React.FC = () => { |
|
|
|
|
const handleDeleteStock = async (stockId: number) => { |
|
|
|
|
try { |
|
|
|
|
await stockApi.deleteStock(stockId); |
|
|
|
|
|
|
|
|
|
showSuccessMessage(STOCK_MESSAGES.DELETE_OK); |
|
|
|
|
|
|
|
|
|
fetchStocks(); // 削除後の買うもの一覧を再取得
|
|
|
|
|
} catch (error) { |
|
|
|
|
console.error(`${STOCK_ERRORS.DELETE_FAILED}:`, error); |
|
|
|
@ -288,14 +295,14 @@ const StockPage: React.FC = () => { |
|
|
|
|
setIsDeleteOpen(true); // 削除ダイアログを開く
|
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (!numericAmount || !numericBuyAmount) { |
|
|
|
|
if (!numericAmount /* || !numericBuyAmount */) { |
|
|
|
|
showErrorMessage(GENERAL_ERRORS.INVALID_AMOUNT); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (!numericPrice) { |
|
|
|
|
showErrorMessage(GENERAL_ERRORS.INVALID_PRICE); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
// if (!numericPrice) {
|
|
|
|
|
// showErrorMessage(GENERAL_ERRORS.INVALID_PRICE);
|
|
|
|
|
// return;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
const lastUpdate = new Date().toISOString().substring(0, 10); |
|
|
|
|
|
|
|
|
@ -314,6 +321,9 @@ const StockPage: React.FC = () => { |
|
|
|
|
|
|
|
|
|
await handleUpdateStock(updateRequest); |
|
|
|
|
|
|
|
|
|
console.log(STOCK_MESSAGES.UPDATE_OK) |
|
|
|
|
showSuccessMessage(STOCK_MESSAGES.UPDATE_OK); |
|
|
|
|
|
|
|
|
|
setSelectedRow(editStock); // 更新後に選択行を反映
|
|
|
|
|
fetchStocks(); // 最新データを取得
|
|
|
|
|
setSelectedRow(null); // 選択解除
|
|
|
|
|