生产管理系统前端 - 农业资产管理系统框架搭建
This commit is contained in:
@@ -1,7 +0,0 @@
|
|||||||
export default function AssetLabelingLayout({
|
|
||||||
children,
|
|
||||||
}: {
|
|
||||||
children: React.ReactNode
|
|
||||||
}) {
|
|
||||||
return <>{children}</>
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
|
|
||||||
export default function HomePage() {
|
|
||||||
return (
|
|
||||||
<div className="">
|
|
||||||
资产标签
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function CustomersPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">客户信息</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/basic/customers
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function MaterialsPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">物料信息</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/basic/materials
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
18
crop-x/src/app/(app)/agricultural-asset/basic/page.tsx
Normal file
18
crop-x/src/app/(app)/agricultural-asset/basic/page.tsx
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function BasicPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">基础信息管理</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/basic
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function SuppliersPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">供应商信息</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/basic/suppliers
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
18
crop-x/src/app/(app)/agricultural-asset/basic/tools/page.tsx
Normal file
18
crop-x/src/app/(app)/agricultural-asset/basic/tools/page.tsx
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function ToolsPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">农具信息</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/basic/tools
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function ArchivePage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">设备档案</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/equipment/archive
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function DepreciationPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">设备折旧</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/equipment/depreciation
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function DispatchPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">设备调度</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/equipment/dispatch
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function DisposalPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">设备处置</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/equipment/disposal
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function MaintenancePage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">设备维护</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/equipment/maintenance
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
18
crop-x/src/app/(app)/agricultural-asset/equipment/page.tsx
Normal file
18
crop-x/src/app/(app)/agricultural-asset/equipment/page.tsx
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function EquipmentPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">农资农具管理</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/equipment
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function CheckPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">库存盘点</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/inventory/check
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function DetailPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">库存明细</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/inventory/detail
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function InPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">入库管理</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/inventory/in
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function LocationPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">库位管理</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/inventory/location
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
18
crop-x/src/app/(app)/agricultural-asset/inventory/page.tsx
Normal file
18
crop-x/src/app/(app)/agricultural-asset/inventory/page.tsx
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function InventoryPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">库存管理</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/inventory
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function SuggestPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">补货建议</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/inventory/suggest
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function WarningPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">库存预警</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/inventory/warning
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -1,147 +1,18 @@
|
|||||||
import Link from 'next/link'
|
'use client';
|
||||||
import { Metadata } from 'next'
|
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
import { Card } from '@/components/ui/card';
|
||||||
title: '农业资产管理 - Crop-X 智慧农业管理系统',
|
|
||||||
description: '农业资产管理系统主页面',
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function AgriculturalAssetPage() {
|
export default function AgriculturalAssetPage() {
|
||||||
return (
|
return (
|
||||||
<div className="space-y-6">
|
<div className="space-y-6">
|
||||||
<div className="bg-white rounded-lg shadow p-6">
|
<Card className="p-6">
|
||||||
<h2 className="text-xl font-semibold text-gray-800 mb-4">
|
<h2 className="text-xl font-semibold">农业资产管理</h2>
|
||||||
农业资产管理系统
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
</h2>
|
<p className="text-sm">
|
||||||
<p className="text-gray-600 mb-6">
|
<strong>页面路径:</strong> /agricultural-asset
|
||||||
管理农业资产信息、采购库存、物资领用和可视化报表
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
|
|
||||||
<Link
|
|
||||||
href="/agricultural-asset/basic-information"
|
|
||||||
className="block p-4 bg-green-50 rounded-lg hover:bg-green-100 transition-colors"
|
|
||||||
>
|
|
||||||
<h3 className="font-semibold text-green-900 mb-2">
|
|
||||||
📋 基础信息管理
|
|
||||||
</h3>
|
|
||||||
<p className="text-green-700 text-sm">
|
|
||||||
资产信息录入和分类管理
|
|
||||||
</p>
|
|
||||||
</Link>
|
|
||||||
|
|
||||||
<Link
|
|
||||||
href="/agricultural-asset/procurement-management"
|
|
||||||
className="block p-4 bg-blue-50 rounded-lg hover:bg-blue-100 transition-colors"
|
|
||||||
>
|
|
||||||
<h3 className="font-semibold text-blue-900 mb-2">
|
|
||||||
🛒 采购管理
|
|
||||||
</h3>
|
|
||||||
<p className="text-blue-700 text-sm">
|
|
||||||
采购计划和供应商管理
|
|
||||||
</p>
|
|
||||||
</Link>
|
|
||||||
|
|
||||||
<Link
|
|
||||||
href="/agricultural-asset/inventory-management"
|
|
||||||
className="block p-4 bg-purple-50 rounded-lg hover:bg-purple-100 transition-colors"
|
|
||||||
>
|
|
||||||
<h3 className="font-semibold text-purple-900 mb-2">
|
|
||||||
📦 库存管理
|
|
||||||
</h3>
|
|
||||||
<p className="text-purple-700 text-sm">
|
|
||||||
库存监控和调整管理
|
|
||||||
</p>
|
|
||||||
</Link>
|
|
||||||
|
|
||||||
<Link
|
|
||||||
href="/agricultural-asset/material-requisition"
|
|
||||||
className="block p-4 bg-orange-50 rounded-lg hover:bg-orange-100 transition-colors"
|
|
||||||
>
|
|
||||||
<h3 className="font-semibold text-orange-900 mb-2">
|
|
||||||
📤 物资领用管理
|
|
||||||
</h3>
|
|
||||||
<p className="text-orange-700 text-sm">
|
|
||||||
领用申请和审批流程
|
|
||||||
</p>
|
|
||||||
</Link>
|
|
||||||
|
|
||||||
<Link
|
|
||||||
href="/agricultural-asset/material-return"
|
|
||||||
className="block p-4 bg-teal-50 rounded-lg hover:bg-teal-100 transition-colors"
|
|
||||||
>
|
|
||||||
<h3 className="font-semibold text-teal-900 mb-2">
|
|
||||||
📥 物资归还管理
|
|
||||||
</h3>
|
|
||||||
<p className="text-teal-700 text-sm">
|
|
||||||
归还申请和跟踪管理
|
|
||||||
</p>
|
|
||||||
</Link>
|
|
||||||
|
|
||||||
<Link
|
|
||||||
href="/agricultural-asset/agricultural-supplies"
|
|
||||||
className="block p-4 bg-indigo-50 rounded-lg hover:bg-indigo-100 transition-colors"
|
|
||||||
>
|
|
||||||
<h3 className="font-semibold text-indigo-900 mb-2">
|
|
||||||
🚜 农资农具管理
|
|
||||||
</h3>
|
|
||||||
<p className="text-indigo-700 text-sm">
|
|
||||||
农具农资和维护管理
|
|
||||||
</p>
|
|
||||||
</Link>
|
|
||||||
|
|
||||||
<Link
|
|
||||||
href="/agricultural-asset/visualization-reports"
|
|
||||||
className="block p-4 bg-pink-50 rounded-lg hover:bg-pink-100 transition-colors"
|
|
||||||
>
|
|
||||||
<h3 className="font-semibold text-pink-900 mb-2">
|
|
||||||
📊 可视化报表
|
|
||||||
</h3>
|
|
||||||
<p className="text-pink-700 text-sm">
|
|
||||||
资产库存成本分析报表
|
|
||||||
</p>
|
|
||||||
</Link>
|
|
||||||
</div>
|
</div>
|
||||||
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
|
);
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
||||||
<div className="bg-white rounded-lg shadow p-6">
|
|
||||||
<h3 className="text-lg font-semibold text-gray-800 mb-4">
|
|
||||||
📊 资产概览
|
|
||||||
</h3>
|
|
||||||
<div className="space-y-2">
|
|
||||||
<div className="flex justify-between items-center">
|
|
||||||
<span className="text-gray-600">总资产数</span>
|
|
||||||
<span className="text-green-600 font-semibold">1,245 项</span>
|
|
||||||
</div>
|
|
||||||
<div className="flex justify-between items-center">
|
|
||||||
<span className="text-gray-600">库存预警</span>
|
|
||||||
<span className="text-orange-600 font-semibold">12 项</span>
|
|
||||||
</div>
|
|
||||||
<div className="flex justify-between items-center">
|
|
||||||
<span className="text-gray-600">待审批申请</span>
|
|
||||||
<span className="text-blue-600 font-semibold">8 项</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="bg-white rounded-lg shadow p-6">
|
|
||||||
<h3 className="text-lg font-semibold text-gray-800 mb-4">
|
|
||||||
🔧 快速操作
|
|
||||||
</h3>
|
|
||||||
<div className="space-y-2">
|
|
||||||
<button className="w-full px-4 py-2 bg-green-600 text-white rounded hover:bg-green-700 transition-colors">
|
|
||||||
添加新资产
|
|
||||||
</button>
|
|
||||||
<button className="w-full px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 transition-colors">
|
|
||||||
领用申请
|
|
||||||
</button>
|
|
||||||
<button className="w-full px-4 py-2 bg-purple-600 text-white rounded hover:bg-purple-700 transition-colors">
|
|
||||||
生成报表
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function OrderPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">采购订单</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/purchase/order
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
18
crop-x/src/app/(app)/agricultural-asset/purchase/page.tsx
Normal file
18
crop-x/src/app/(app)/agricultural-asset/purchase/page.tsx
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function PurchasePage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">采购管理</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/purchase
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function PlanPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">采购计划</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/purchase/plan
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function ConsumptionPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">消耗报表</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/report/consumption
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function InventoryReportPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">库存报表</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/report/inventory
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function OverviewPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">总览报表</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/report/overview
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
18
crop-x/src/app/(app)/agricultural-asset/report/page.tsx
Normal file
18
crop-x/src/app/(app)/agricultural-asset/report/page.tsx
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function ReportPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">可视化报表</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/report
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function ApplyPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">领用申请</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/requisition/apply
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function ApprovalPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">领用审批</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/requisition/approval
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function CheckoutPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">领用发放</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/requisition/checkout
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
18
crop-x/src/app/(app)/agricultural-asset/requisition/page.tsx
Normal file
18
crop-x/src/app/(app)/agricultural-asset/requisition/page.tsx
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function RequisitionPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">物资领用</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/requisition
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function RecordPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">领用记录</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/requisition/record
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function HistoryPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">归还历史</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/return/history
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
18
crop-x/src/app/(app)/agricultural-asset/return/page.tsx
Normal file
18
crop-x/src/app/(app)/agricultural-asset/return/page.tsx
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function ReturnPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">物资归还</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/return
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function ProcessPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">归还处理</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/return/process
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function RegisterPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">归还登记</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/return/register
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { Card } from '@/components/ui/card';
|
||||||
|
|
||||||
|
export default function SettlementPage() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<Card className="p-6">
|
||||||
|
<h2 className="text-xl font-semibold">归还结算</h2>
|
||||||
|
<div className="p-3 bg-muted rounded-lg mt-3">
|
||||||
|
<p className="text-sm">
|
||||||
|
<strong>页面路径:</strong> /agricultural-asset/return/settlement
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -5,7 +5,7 @@ import {SideBarOld} from '@/components/layouts/SideBar/SideBarOld'
|
|||||||
import '@/styles/globals.css'
|
import '@/styles/globals.css'
|
||||||
import { ThemeProvider } from 'next-themes'
|
import { ThemeProvider } from 'next-themes'
|
||||||
import { usePathname } from 'next/navigation'
|
import { usePathname } from 'next/navigation'
|
||||||
import { Building2, Users, Cog, Activity, Mail, UserCircle, Database, Map, BarChart3, Cloud, TrendingUp, GitCompare, AlertTriangle, FileText, MapPin, Settings, User, Package, Navigation, Zap, Target, PieChart, Calendar, Shield, Tractor, Clipboard, Brain, Droplets, Book } from 'lucide-react'
|
import { Building2, Users, Cog, Activity, Mail, UserCircle, Database, Map, BarChart3, Cloud, TrendingUp, GitCompare, AlertTriangle, FileText, MapPin, Settings, User, Package, Navigation, Zap, Target, PieChart, Calendar, Shield, Tractor, Clipboard, Brain, Droplets, Book, ShoppingCart } from 'lucide-react'
|
||||||
|
|
||||||
const navbarData = {
|
const navbarData = {
|
||||||
logo: {
|
logo: {
|
||||||
@@ -776,6 +776,206 @@ const farmingOperation = {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 农业资产管理系统
|
||||||
|
const agricultureAsset = {
|
||||||
|
navMain: [
|
||||||
|
{
|
||||||
|
title: "基础信息管理",
|
||||||
|
url: "/agricultural-asset/basic",
|
||||||
|
icon: <Database className="w-4 h-4" />,
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
title: "物料信息",
|
||||||
|
url: "/agricultural-asset/basic/materials",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "农具信息",
|
||||||
|
url: "/agricultural-asset/basic/tools",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "供应商信息",
|
||||||
|
url: "/agricultural-asset/basic/suppliers",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "客户信息",
|
||||||
|
url: "/agricultural-asset/basic/customers",
|
||||||
|
isActive: false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "采购管理",
|
||||||
|
url: "/agricultural-asset/purchase",
|
||||||
|
icon: <ShoppingCart className="w-4 h-4" />,
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
title: "采购计划",
|
||||||
|
url: "/agricultural-asset/purchase/plan",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "采购订单",
|
||||||
|
url: "/agricultural-asset/purchase/order",
|
||||||
|
isActive: false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "库存管理",
|
||||||
|
url: "/agricultural-asset/inventory",
|
||||||
|
icon: <Package className="w-4 h-4" />,
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
title: "入库管理",
|
||||||
|
url: "/agricultural-asset/inventory/in",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "出库管理",
|
||||||
|
url: "/agricultural-asset/inventory/out",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "库存盘点",
|
||||||
|
url: "/agricultural-asset/inventory/check",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "库存预警",
|
||||||
|
url: "/agricultural-asset/inventory/warning",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "库存明细",
|
||||||
|
url: "/agricultural-asset/inventory/detail",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "库位管理",
|
||||||
|
url: "/agricultural-asset/inventory/location",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "补货建议",
|
||||||
|
url: "/agricultural-asset/inventory/suggest",
|
||||||
|
isActive: false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "物资领用",
|
||||||
|
url: "/agricultural-asset/requisition",
|
||||||
|
icon: <FileText className="w-4 h-4" />,
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
title: "领用申请",
|
||||||
|
url: "/agricultural-asset/requisition/apply",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "领用审批",
|
||||||
|
url: "/agricultural-asset/requisition/approval",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "领用发放",
|
||||||
|
url: "/agricultural-asset/requisition/checkout",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "领用记录",
|
||||||
|
url: "/agricultural-asset/requisition/record",
|
||||||
|
isActive: false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "物资归还",
|
||||||
|
url: "/agricultural-asset/return",
|
||||||
|
icon: <GitCompare className="w-4 h-4" />,
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
title: "归还登记",
|
||||||
|
url: "/agricultural-asset/return/register",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "归还处理",
|
||||||
|
url: "/agricultural-asset/return/process",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "归还结算",
|
||||||
|
url: "/agricultural-asset/return/settlement",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "归还历史",
|
||||||
|
url: "/agricultural-asset/return/history",
|
||||||
|
isActive: false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "农资农具管理",
|
||||||
|
url: "/agricultural-asset/equipment",
|
||||||
|
icon: <Tractor className="w-4 h-4" />,
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
title: "设备档案",
|
||||||
|
url: "/agricultural-asset/equipment/archive",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "设备调度",
|
||||||
|
url: "/agricultural-asset/equipment/dispatch",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "设备维护",
|
||||||
|
url: "/agricultural-asset/equipment/maintenance",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "设备折旧",
|
||||||
|
url: "/agricultural-asset/equipment/depreciation",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "设备处置",
|
||||||
|
url: "/agricultural-asset/equipment/disposal",
|
||||||
|
isActive: false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "可视化报表",
|
||||||
|
url: "/agricultural-asset/report",
|
||||||
|
icon: <PieChart className="w-4 h-4" />,
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
title: "总览报表",
|
||||||
|
url: "/agricultural-asset/report/overview",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "库存报表",
|
||||||
|
url: "/agricultural-asset/report/inventory",
|
||||||
|
isActive: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "消耗报表",
|
||||||
|
url: "/agricultural-asset/report/consumption",
|
||||||
|
isActive: false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
function RootLayoutContent({
|
function RootLayoutContent({
|
||||||
children,
|
children,
|
||||||
}: {
|
}: {
|
||||||
@@ -795,6 +995,8 @@ function RootLayoutContent({
|
|||||||
return fieldMessageManagement;
|
return fieldMessageManagement;
|
||||||
case '/farming-operation':
|
case '/farming-operation':
|
||||||
return farmingOperation;
|
return farmingOperation;
|
||||||
|
case '/agricultural-asset':
|
||||||
|
return agricultureAsset;
|
||||||
case '/central-config':
|
case '/central-config':
|
||||||
return centralConfigData;
|
return centralConfigData;
|
||||||
default:
|
default:
|
||||||
|
|||||||
Reference in New Issue
Block a user