実装サマリー
バックエンド(3ファイル変更)
ファイル 変更内容
views.py OfficialKyosaiFieldViewSet、OfficialChusankanFieldViewSet(ReadOnly)、紐づけ追加/解除の4つのAPIビューを追加
urls.py 紐づけ管理用の4パス追加
serializers.py linked_field_namesフィールドを追加(紐づけ先の圃場名を返す)
keinasystem/urls.py /api/kyosai-fields/、/api/chusankan-fields/ をルーターに登録
新規API一覧
メソッド エンドポイント 動作確認
GET /api/kyosai-fields/ 31件返却
GET /api/chusankan-fields/ 71件返却
POST /api/fields/{id}/kyosai-links/ {"added":1}
DELETE /api/fields/{id}/kyosai-links/{kyosai_id}/ 204
POST /api/fields/{id}/chusankan-links/ 同上
DELETE /api/fields/{id}/chusankan-links/{chusankan_id}/ 同上
フロントエンド(3ファイル変更)
ファイル 変更内容
types/index.ts linked_field_namesプロパティ追加
fields/[id]/page.tsx 紐づけ管理UI全面実装(+追加ボタン、x解除ボタン、検索付きモーダル、面積参考表示)
fields/page.tsx 「共済」「中山間」紐づけ件数列を追加
http://localhost:3000/fields/4 などで圃場詳細画面を開いて動作確認できます。
This commit is contained in:
@@ -172,6 +172,12 @@ export default function FieldsPage() {
|
||||
<th className="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
|
||||
所有者
|
||||
</th>
|
||||
<th className="px-3 py-3 text-center text-xs font-medium text-gray-500 uppercase tracking-wider">
|
||||
共済
|
||||
</th>
|
||||
<th className="px-3 py-3 text-center text-xs font-medium text-gray-500 uppercase tracking-wider">
|
||||
中山間
|
||||
</th>
|
||||
<th className="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">
|
||||
操作
|
||||
</th>
|
||||
@@ -228,6 +234,12 @@ export default function FieldsPage() {
|
||||
<td className="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
|
||||
{field.owner_name || '-'}
|
||||
</td>
|
||||
<td className="px-3 py-4 whitespace-nowrap text-center text-sm text-gray-400">
|
||||
{field.kyosai_fields?.length > 0 ? `${field.kyosai_fields.length}件` : '-'}
|
||||
</td>
|
||||
<td className="px-3 py-4 whitespace-nowrap text-center text-sm text-gray-400">
|
||||
{field.chusankan_fields?.length > 0 ? `${field.chusankan_fields.length}件` : '-'}
|
||||
</td>
|
||||
<td className="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
|
||||
<div className="flex justify-end space-x-2">
|
||||
<button
|
||||
|
||||
Reference in New Issue
Block a user