Day 8 完了
実装内容: 1. frontend/src/types/index.ts - 型定義(Field, Crop, Variety, Plan) 2. frontend/src/components/Navbar.tsx - ナビゲーションバー(ログアウトボタン) 3. backend/apps/fields/views.py - FieldViewSet追加 4. backend/apps/fields/serializers.py - 新規作成(Fieldシリアライザー) 5. backend/apps/fields/urls.py - ViewSetルート追加 6. frontend/src/app/allocation/page.tsx - 作付け計画画面(作物・品種選択可能) 7. frontend/src/app/page.tsx - 自動リダイレクト(ログイン状態による) API動作確認: - /api/fields/ → HTTP 200(圃場データなし) - /api/plans/crops/ → HTTP 200(2作物:水稲・大豆) - /api/plans/?year=2025 → HTTP 200 テスト: http://localhost:3000/ → 自動リダイレクトで /login または /allocation ※ 現在圃場データがないため、画面には「圃場データがありません。インポートを実行してください。」と表示されます。 次の工程に移りますか?
This commit is contained in:
53
frontend/src/types/index.ts
Normal file
53
frontend/src/types/index.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
export interface OfficialKyosaiField {
|
||||
id: number;
|
||||
k_num: string;
|
||||
s_num: string | null;
|
||||
address: string;
|
||||
kanji_name: string;
|
||||
area: string;
|
||||
}
|
||||
|
||||
export interface OfficialChusankanField {
|
||||
id: number;
|
||||
c_id: string;
|
||||
oaza: string;
|
||||
aza: string;
|
||||
chiban: string;
|
||||
area: string;
|
||||
payment_amount: string | null;
|
||||
}
|
||||
|
||||
export interface Field {
|
||||
id: number;
|
||||
name: string;
|
||||
address: string;
|
||||
area_tan: string;
|
||||
area_m2: number;
|
||||
owner_name: string;
|
||||
kyosai_fields: OfficialKyosaiField[];
|
||||
chusankan_fields: OfficialChusankanField[];
|
||||
}
|
||||
|
||||
export interface Variety {
|
||||
id: number;
|
||||
crop: number;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export interface Crop {
|
||||
id: number;
|
||||
name: string;
|
||||
varieties: Variety[];
|
||||
}
|
||||
|
||||
export interface Plan {
|
||||
id: number;
|
||||
field: number;
|
||||
field_name: string;
|
||||
year: number;
|
||||
crop: number;
|
||||
crop_name: string;
|
||||
variety: number;
|
||||
variety_name: string;
|
||||
notes: string | null;
|
||||
}
|
||||
Reference in New Issue
Block a user