This commit is contained in:
menxipeng
2025-10-20 21:58:27 +08:00
parent 6f8017c48b
commit 971935bae2

View File

@@ -158,7 +158,6 @@ interface WorkOrder {
export default function WorkOrdersPage() {
const [searchTerm, setSearchTerm] = useState("")
const [statusFilter, setStatusFilter] = useState("all")
const [priorityFilter, setPriorityFilter] = useState("all")
const [workerFilter, setWorkerFilter] = useState("all")
const [isCreateDialogOpen, setIsCreateDialogOpen] = useState(false)
const [workOrders, setWorkOrders] = useState<WorkOrder[]>([])
@@ -280,9 +279,8 @@ export default function WorkOrdersPage() {
// 使用工单的实际状态进行过滤
const itemStatus = item.status || "1" // 默认为待接单状态
const matchesStatus = statusFilter === "all" || itemStatus === statusFilter
const matchesPriority = priorityFilter === "all" || item.priority === priorityFilter
const matchesWorker = workerFilter === "all" || item.workerName === workerFilter
return matchesSearch && matchesStatus && matchesPriority && matchesWorker
return matchesSearch && matchesStatus && matchesWorker
})
return (
@@ -408,19 +406,6 @@ export default function WorkOrdersPage() {
</SelectContent>
</Select>
<Select value={priorityFilter} onValueChange={setPriorityFilter}>
<SelectTrigger className="w-full sm:w-32">
<SelectValue placeholder="优先级" />
</SelectTrigger>
<SelectContent>
<SelectItem value="all"></SelectItem>
<SelectItem value="urgent"></SelectItem>
<SelectItem value="high"></SelectItem>
<SelectItem value="medium"></SelectItem>
<SelectItem value="low"></SelectItem>
</SelectContent>
</Select>
<Select value={workerFilter} onValueChange={setWorkerFilter}>
<SelectTrigger className="w-full sm:w-32">
<SelectValue placeholder="工人" />
@@ -447,7 +432,7 @@ export default function WorkOrdersPage() {
<TableRow>
<TableHead></TableHead>
<TableHead></TableHead>
<TableHead>/</TableHead>
<TableHead></TableHead>
<TableHead></TableHead>
<TableHead></TableHead>
<TableHead></TableHead>
@@ -490,10 +475,7 @@ export default function WorkOrdersPage() {
</div>
</TableCell>
<TableCell>
<div className="space-y-2">
{getTypeBadge(item.workOrderType)}
{getPriorityBadge(item.priority)}
</div>
</TableCell>
<TableCell>{getStatusBadge(item.status || "1")}</TableCell>
<TableCell>
@@ -583,21 +565,17 @@ function CreateWorkOrderForm({ onClose }: { onClose: () => void }) {
merchantId: "",
equipmentId: "",
type: "",
priority: "",
assignee: "",
description: "",
dueDate: "",
})
const [selectedMerchant, setSelectedMerchant] = useState("")
const [availableEquipment, setAvailableEquipment] = useState<Equipment[]>([])
const [merchants, setMerchants] = useState<ProvinceMerchant[]>([])
const [workers, setWorkers] = useState<Worker[]>([])
const [priorities, setPriorities] = useState<PriorityData>({})
const [loadingMerchants, setLoadingMerchants] = useState(false)
const [loadingEquipment, setLoadingEquipment] = useState(false)
const [loadingWorkers, setLoadingWorkers] = useState(false)
const [loadingPriorities, setLoadingPriorities] = useState(false)
const [submitting, setSubmitting] = useState(false)
// 获取商户列表
@@ -647,22 +625,6 @@ function CreateWorkOrderForm({ onClose }: { onClose: () => void }) {
}
}
// 获取优先级列表
const fetchPriorities = async () => {
setLoadingPriorities(true)
try {
const response = await apiGet('/back/general/priorities')
if (response.code === 200) {
setPriorities(response.data || {})
}
} catch (error) {
console.error('获取优先级列表失败:', error)
setPriorities({})
} finally {
setLoadingPriorities(false)
}
}
const handleMerchantChange = (merchantId: string) => {
setSelectedMerchant(merchantId)
setFormData({ ...formData, merchantId, equipmentId: "" })
@@ -706,7 +668,6 @@ function CreateWorkOrderForm({ onClose }: { onClose: () => void }) {
workOrderNumber: workOrderNumber,
workOrderType: formData.type,
workOrderSubtype: "", // 暂时为空
priority: formData.priority,
equipmentId: formData.equipmentId,
equipmentName: selectedEquipmentObj.equipmentName,
merchantName: selectedMerchantObj.merchantName,
@@ -718,7 +679,6 @@ function CreateWorkOrderForm({ onClose }: { onClose: () => void }) {
responsibleVirtualPhone: selectedMerchantObj.contactPhone,
workerVirtualPhone: selectedWorkerObj.phone,
workerName: selectedWorkerObj.name,
scheduledDate: formData.dueDate,
createdDate: new Date().toISOString().split('T')[0],
completedDate: ""
}
@@ -812,30 +772,6 @@ function CreateWorkOrderForm({ onClose }: { onClose: () => void }) {
</Select>
</div>
<div className="space-y-2">
<Label htmlFor="priority"></Label>
<Select
value={formData.priority}
onValueChange={(value) => setFormData({ ...formData, priority: value })}
onOpenChange={(open) => {
if (open && Object.keys(priorities).length === 0 && !loadingPriorities) {
fetchPriorities()
}
}}
>
<SelectTrigger>
<SelectValue placeholder={loadingPriorities ? "加载中..." : "选择优先级"} />
</SelectTrigger>
<SelectContent>
{Object.entries(priorities).map(([key, value]) => (
<SelectItem key={key} value={key}>
{value}
</SelectItem>
))}
</SelectContent>
</Select>
</div>
<div className="space-y-2">
<Label htmlFor="assignee"></Label>
<Select
@@ -859,16 +795,6 @@ function CreateWorkOrderForm({ onClose }: { onClose: () => void }) {
</SelectContent>
</Select>
</div>
<div className="space-y-2">
<Label htmlFor="dueDate"></Label>
<Input
id="dueDate"
type="date"
value={formData.dueDate}
onChange={(e) => setFormData({ ...formData, dueDate: e.target.value })}
/>
</div>
</div>
<div className="space-y-2">