OAFRONT4 统一PC日期和状态展示
这个提交包含在:
@@ -12,6 +12,7 @@ import {
|
||||
import { isApiError } from "../api/types";
|
||||
import { useAuth } from "../auth/AuthContext";
|
||||
import { hasAnyPermission } from "../auth/permissions";
|
||||
import { DateTextInput } from "../components/common/DateTextInput";
|
||||
import { StatusBadge } from "../components/common/StatusBadge";
|
||||
import { FilterBar, ListWorkspace, StatStrip, WorkspaceHeader } from "../components/patterns/ListWorkspace";
|
||||
import { MetricCard } from "../components/patterns/MetricCard";
|
||||
@@ -20,6 +21,7 @@ import { Button } from "../components/ui/button";
|
||||
import { Input } from "../components/ui/input";
|
||||
import { Label } from "../components/ui/label";
|
||||
import { Textarea } from "../components/ui/textarea";
|
||||
import { formatDisplayDate } from "../lib/displayFormat";
|
||||
import { toast } from "sonner";
|
||||
|
||||
const STATUS_OPTIONS: Array<{ value: "all" | ProjectStatus; label: string }> = [
|
||||
@@ -219,7 +221,7 @@ export function ProjectsPage() {
|
||||
<div className="text-sm text-zinc-500">
|
||||
<div>负责人:{item.owner?.name ?? "-"}</div>
|
||||
<div>项目经理:{item.manager?.name ?? "-"}</div>
|
||||
<div>目标完成:{item.targetEndAt ?? "-"}</div>
|
||||
<div>目标完成:{formatDisplayDate(item.targetEndAt)}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="text-sm text-zinc-600">{item.summary || "暂无项目摘要"}</div>
|
||||
@@ -267,11 +269,11 @@ export function ProjectsPage() {
|
||||
<div className="grid gap-3 md:grid-cols-2">
|
||||
<div className="space-y-2">
|
||||
<Label>开始日期</Label>
|
||||
<Input type="date" value={startsAt} onChange={(event) => setStartsAt(event.target.value)} />
|
||||
<DateTextInput value={startsAt} onChange={(event) => setStartsAt(event.target.value)} />
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label>目标完成</Label>
|
||||
<Input type="date" value={targetEndAt} onChange={(event) => setTargetEndAt(event.target.value)} />
|
||||
<DateTextInput value={targetEndAt} onChange={(event) => setTargetEndAt(event.target.value)} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
|
||||
在新工单中引用
屏蔽一个用户