refactor(router): 重构采购和调货页面路由路径

- 移除采购单页面路径中的 enter 前缀
- 移除调货单页面路径中的 enter 前缀
- 更新所有相关页面跳转链接
- 调整应用配置中的页面注册路径
- 修改工作台常量中的页面路径引用
- 重命名页面文件目录结构以匹配新路由
- 更新供应商和档口页面中的跳转逻辑
- 统一采购和调货流程的页面访问路径
This commit is contained in:
shenyifei 2025-12-20 09:33:21 +08:00
parent 07adb0c4c4
commit 817b4fe928
58 changed files with 122 additions and 144 deletions

View File

@ -19,41 +19,15 @@ config = {
root: "pages/purchase",
pages: [
// 全部采购
"enter/all",
"all",
// 创建采购单
"enter/create",
"create",
// 预览采购单
"enter/preview",
"preview",
// 采购单草稿箱
"enter/drafts",
"drafts",
// 采购单提审结果页面
"enter/result",
// 审核相关
// 采购单审核
"audit/audit",
// 采购单待审核
"audit/pending",
// 采购单审核中
"audit/reviewing",
// 采购单审核结果页面
"audit/result",
// 采购单审核拒绝
"audit/rejected",
// 全部采购单审核
"audit/all",
// 采购单审批
"approval/audit",
// 采购单待审批
"approval/pending",
// 采购单审批中
"approval/reviewing",
// 采购单审批结果页面
"approval/result",
// 采购单审批拒绝
"approval/rejected",
// 全部采购单审批
"approval/all",
"result",
],
},
// 调货单
@ -61,15 +35,51 @@ config = {
root: "pages/transfer",
pages: [
// 全部调货
"enter/all",
"all",
// 创建调货单
"enter/create",
"create",
// 预览调货单
"enter/preview",
"preview",
// 调货单草稿箱
"enter/drafts",
"drafts",
// 调货单提审结果页面
"enter/result",
"result",
],
},
// 审核
{
root: "pages/audit",
pages: [
// 采购单审核
"audit",
// 采购单待审核
"pending",
// 采购单审核中
"reviewing",
// 采购单审核结果页面
"result",
// 采购单审核拒绝
"rejected",
// 全部采购单审核
"all",
],
},
// 审批
{
root: "pages/approval",
pages: [
// 采购单审批
"audit",
// 采购单待审批
"pending",
// 采购单审批中
"reviewing",
// 采购单审批结果页面
"result",
// 采购单审批拒绝
"rejected",
// 全部采购单审批
"all",
],
},
// 发货单

View File

@ -222,7 +222,7 @@ export default function PurchaseOrderApprovalList(
block
onClick={(e) => {
Taro.navigateTo({
url: buildUrl("/pages/purchase/approval/audit", {
url: buildUrl("/pages/approval/audit", {
orderId: purchaseOrderVO.orderId,
}),
});

View File

@ -222,7 +222,7 @@ export default function PurchaseOrderAuditList(
block
onClick={(e) => {
Taro.navigateTo({
url: buildUrl("/pages/purchase/audit/audit", {
url: buildUrl("/pages/audit/audit", {
orderId: purchaseOrderVO.orderId,
}),
});

View File

@ -69,7 +69,7 @@ export default function PurchaseOrderItem(props: IPurchaseOrderItemProps) {
onClick={(event) => {
if (purchaseOrderVO.active === 7) {
Taro.navigateTo({
url: buildUrl("/pages/purchase/enter/preview", {
url: buildUrl("/pages/purchase/preview", {
orderId: purchaseOrderVO.orderId,
}),
});
@ -182,7 +182,7 @@ export default function PurchaseOrderItem(props: IPurchaseOrderItemProps) {
size={"small"}
onClick={(e) => {
Taro.navigateTo({
url: buildUrl("/pages/purchase/enter/create", {
url: buildUrl("/pages/purchase/create", {
orderId: purchaseOrderVO.orderId,
}),
});
@ -197,7 +197,7 @@ export default function PurchaseOrderItem(props: IPurchaseOrderItemProps) {
size={"small"}
onClick={(e) => {
Taro.navigateTo({
url: buildUrl("/pages/purchase/enter/preview", {
url: buildUrl("/pages/purchase/preview", {
orderId: purchaseOrderVO.orderId,
}),
});
@ -227,7 +227,7 @@ export default function PurchaseOrderItem(props: IPurchaseOrderItemProps) {
size={"small"}
onClick={(e) => {
Taro.navigateTo({
url: buildUrl("/pages/purchase/enter/create", {
url: buildUrl("/pages/purchase/create", {
orderId: purchaseOrderVO.orderId,
}),
});

View File

@ -123,7 +123,7 @@ export default function PurchaseOrderList(props: IPurchaseOrderListProps) {
className="bg-primary flex w-full flex-col items-center justify-center space-y-2 rounded-xl py-2.5 text-white"
onClick={() => {
Taro.navigateTo({
url: buildUrl("/pages/purchase/enter/create"),
url: buildUrl("/pages/purchase/create"),
});
}}
>
@ -137,7 +137,7 @@ export default function PurchaseOrderList(props: IPurchaseOrderListProps) {
className="bg-primary flex w-full flex-col items-center justify-center space-y-2 rounded-xl py-2.5 text-white"
onClick={() => {
Taro.navigateTo({
url: buildUrl("/pages/transfer/enter/create"),
url: buildUrl("/pages/transfer/create"),
});
}}
>

View File

@ -69,7 +69,7 @@ export default function PurchaseOrderItem(props: IPurchaseOrderItemProps) {
onClick={(event) => {
if (purchaseOrderVO.active === 5) {
Taro.navigateTo({
url: buildUrl("/pages/transfer/enter/preview", {
url: buildUrl("/pages/transfer/preview", {
orderId: purchaseOrderVO.orderId,
}),
});
@ -182,7 +182,7 @@ export default function PurchaseOrderItem(props: IPurchaseOrderItemProps) {
size={"small"}
onClick={(e) => {
Taro.navigateTo({
url: buildUrl("/pages/transfer/enter/create", {
url: buildUrl("/pages/transfer/create", {
orderId: purchaseOrderVO.orderId,
}),
});
@ -197,7 +197,7 @@ export default function PurchaseOrderItem(props: IPurchaseOrderItemProps) {
size={"small"}
onClick={(e) => {
Taro.navigateTo({
url: buildUrl("/pages/transfer/enter/preview", {
url: buildUrl("/pages/transfer/preview", {
orderId: purchaseOrderVO.orderId,
}),
});
@ -227,7 +227,7 @@ export default function PurchaseOrderItem(props: IPurchaseOrderItemProps) {
size={"small"}
onClick={(e) => {
Taro.navigateTo({
url: buildUrl("/pages/transfer/enter/create", {
url: buildUrl("/pages/transfer/create", {
orderId: purchaseOrderVO.orderId,
}),
});

View File

@ -88,7 +88,7 @@ export default function PurchaseOrderSubmitReview(
cancelText: "去继续拼车",
onConfirm: async () => {
Taro.redirectTo({
url: buildUrl("/pages/purchase/enter/create", {
url: buildUrl("/pages/purchase/create", {
orderId: purchaseOrderVO.orderId,
orderSupplierId: lastSupplier.orderSupplierId,
step: "2",
@ -98,7 +98,7 @@ export default function PurchaseOrderSubmitReview(
},
onCancel: () => {
Taro.redirectTo({
url: buildUrl("/pages/purchase/enter/create", {
url: buildUrl("/pages/purchase/create", {
orderId: purchaseOrderVO.orderId,
step: "6",
}),
@ -126,7 +126,7 @@ export default function PurchaseOrderSubmitReview(
cancelText: "取消",
onConfirm: async () => {
Taro.redirectTo({
url: buildUrl("/pages/purchase/enter/create", {
url: buildUrl("/pages/purchase/create", {
orderId: purchaseOrderVO.orderId,
supplierId: hasNoUpdateContractSupplier.supplierId,
step: "5",

View File

@ -88,7 +88,7 @@ export default function TransferOrderSubmitReview(
cancelText: "去继续拼车",
onConfirm: async () => {
Taro.redirectTo({
url: buildUrl("/pages/transfer/enter/create", {
url: buildUrl("/pages/transfer/create", {
orderId: purchaseOrderVO.orderId,
orderSupplierId: lastSupplier.orderSupplierId,
step: "2",
@ -98,7 +98,7 @@ export default function TransferOrderSubmitReview(
},
onCancel: () => {
Taro.redirectTo({
url: buildUrl("/pages/transfer/enter/create", {
url: buildUrl("/pages/transfer/create", {
orderId: purchaseOrderVO.orderId,
step: "6",
}),

View File

@ -222,7 +222,7 @@ export default forwardRef<PurchaseOptionRef, IPurchaseOptionProps>(
// 跳转到预览页面
Taro.redirectTo({
url: buildUrl("/pages/purchase/enter/preview", {
url: buildUrl("/pages/purchase/preview", {
orderId: value.orderId,
}),
});
@ -317,7 +317,7 @@ export default forwardRef<PurchaseOptionRef, IPurchaseOptionProps>(
content: "当前采购订单已暂存成功",
});
Taro.redirectTo({
url: "/pages/purchase/enter/drafts",
url: "/pages/purchase/drafts",
});
}
},

View File

@ -218,7 +218,7 @@ export default forwardRef<TransferOptionRef, ITransferOptionProps>(
// 跳转到预览页面
Taro.redirectTo({
url: buildUrl("/pages/transfer/enter/preview", {
url: buildUrl("/pages/transfer/preview", {
orderId: value.orderId,
}),
});
@ -313,7 +313,7 @@ export default forwardRef<TransferOptionRef, ITransferOptionProps>(
content: "当前采购订单已暂存成功",
});
Taro.redirectTo({
url: "/pages/purchase/enter/drafts",
url: "/pages/purchase/drafts",
});
}
},

View File

@ -118,7 +118,7 @@ const quickActionMap = {
icon: "folder",
iconColor: "var(--color-blue-600)",
bgColorClass: "bg-blue-100",
path: "/pages/purchase/enter/drafts",
path: "/pages/purchase/drafts",
},
{
id: "history",
@ -126,7 +126,7 @@ const quickActionMap = {
icon: "clipboard-list",
iconColor: "var(--color-green-600)",
bgColorClass: "bg-green-100",
path: "/pages/purchase/enter/all",
path: "/pages/purchase/all",
},
{
id: "invoiceUpload",
@ -152,7 +152,7 @@ const quickActionMap = {
icon: "folder",
iconColor: "var(--color-blue-600)",
bgColorClass: "bg-blue-100",
path: "/pages/purchase/enter/drafts",
path: "/pages/transfer/drafts",
},
{
id: "history",
@ -160,7 +160,7 @@ const quickActionMap = {
icon: "clipboard-list",
iconColor: "var(--color-green-600)",
bgColorClass: "bg-green-100",
path: "/pages/purchase/enter/all",
path: "/pages/transfer/all",
},
{
id: "supplierManage",
@ -178,7 +178,7 @@ const quickActionMap = {
icon: "file-signature",
iconColor: "var(--color-primary)",
bgColorClass: "bg-primary/10",
path: "/pages/purchase/audit/pending",
path: "/pages/audit/pending",
},
{
id: "history",
@ -186,7 +186,7 @@ const quickActionMap = {
icon: "clipboard-list",
iconColor: "var(--color-green-600)",
bgColorClass: "bg-green-100",
path: "/pages/purchase/enter/all",
path: "/pages/purchase/all",
},
{
id: "shipOrder",
@ -233,7 +233,7 @@ const quickActionMap = {
icon: "file-signature",
iconColor: "var(--color-primary)",
bgColorClass: "bg-primary/10",
path: "/pages/purchase/approval/pending",
path: "/pages/approval/pending",
},
{
id: "history",
@ -241,7 +241,7 @@ const quickActionMap = {
icon: "clipboard-list",
iconColor: "var(--color-green-600)",
bgColorClass: "bg-green-100",
path: "/pages/purchase/enter/all",
path: "/pages/purchase/all",
},
{
id: "shipOrder",

View File

@ -215,7 +215,7 @@ export default hocAuth(function Page(props: CommonComponent) {
onFinish={() => {
// 返回首页
Taro.redirectTo({
url: "/pages/purchase/approval/pending",
url: "/pages/approval/pending",
});
}}
/>
@ -227,7 +227,7 @@ export default hocAuth(function Page(props: CommonComponent) {
onFinish={() => {
// 关闭当前页面并跳转到采购单审核通过页面
Taro.redirectTo({
url: buildUrl(`/pages/purchase/approval/result`, {
url: buildUrl(`/pages/approval/result`, {
orderId: purchaseOrderVO?.orderId,
}),
});

View File

@ -321,7 +321,7 @@ export default hocAuth(function Page(props: CommonComponent) {
setTimeout(() => {
Taro.redirectTo({
url: buildUrl("/pages/purchase/audit/pending"),
url: buildUrl("/pages/audit/pending"),
});
}, 1000);
@ -391,7 +391,7 @@ export default hocAuth(function Page(props: CommonComponent) {
content: "暂存成功",
});
// 返回采购单页面
Taro.redirectTo({ url: "/pages/purchase/audit/pending" });
Taro.redirectTo({ url: "/pages/audit/pending" });
}
};
@ -449,7 +449,7 @@ export default hocAuth(function Page(props: CommonComponent) {
});
// 跳转到提交结果页面
Taro.redirectTo({
url: buildUrl("/pages/purchase/audit/result", {
url: buildUrl("/pages/audit/result", {
orderId: purchaseOrderVO!.orderId,
}),
});

View File

@ -50,7 +50,7 @@ export default hocAuth(function Page(props: CommonComponent) {
const viewPurchaseOrderDetail = () => {
if (purchaseOrder?.orderId) {
Taro.navigateTo({
url: buildUrl("/pages/purchase/audit/audit", {
url: buildUrl("/pages/audit/audit", {
orderId: purchaseOrder.orderId,
}),
});

View File

@ -64,7 +64,7 @@ export default hocAuth(function Page(props: CommonComponent) {
className="bg-primary flex w-full flex-col items-center justify-center space-y-2 rounded-xl py-2.5 text-white"
onClick={() => {
Taro.navigateTo({
url: buildUrl("/pages/purchase/enter/create"),
url: buildUrl("/pages/purchase/create"),
});
}}
>
@ -85,7 +85,7 @@ export default hocAuth(function Page(props: CommonComponent) {
className="bg-primary flex w-full flex-col items-center justify-center space-y-2 rounded-xl py-2.5 text-white"
onClick={() => {
Taro.navigateTo({
url: buildUrl("/pages/transfer/enter/create"),
url: buildUrl("/pages/transfer/create"),
});
}}
>

View File

@ -123,7 +123,7 @@ export default hocAuth(function Page(props: CommonComponent) {
) {
if (userRoleVO.slug === "origin-entry") {
Taro.redirectTo({
url: buildUrl("/pages/purchase/enter/preview", {
url: buildUrl("/pages/purchase/preview", {
orderId: purchaseOrder.orderId,
}),
});
@ -131,7 +131,7 @@ export default hocAuth(function Page(props: CommonComponent) {
}
if (userRoleVO.slug === "reviewer") {
Taro.redirectTo({
url: buildUrl("/pages/purchase/audit/audit", {
url: buildUrl("/pages/audit/audit", {
orderId: purchaseOrder.orderId,
}),
});
@ -139,7 +139,7 @@ export default hocAuth(function Page(props: CommonComponent) {
}
if (userRoleVO.slug === "boss") {
Taro.redirectTo({
url: buildUrl("/pages/purchase/approval/audit", {
url: buildUrl("/pages/approval/audit", {
orderId: purchaseOrder.orderId,
}),
});

View File

@ -65,7 +65,7 @@ export default hocAuth(function Page(props: CommonComponent) {
className="flex-1 bg-gray-200 text-gray-700"
onClick={() => {
Taro.redirectTo({
url: buildUrl("/pages/purchase/enter/create", {
url: buildUrl("/pages/purchase/create", {
orderId: purchaseOrder.orderId,
active: 6,
}),
@ -81,7 +81,7 @@ export default hocAuth(function Page(props: CommonComponent) {
size={"xlarge"}
onFinish={() => {
Taro.switchTab({
url: buildUrl("/pages/purchase/enter/result", {
url: buildUrl("/pages/purchase/result", {
orderId: purchaseOrder.orderId,
}),
});

View File

@ -50,7 +50,7 @@ export default hocAuth(function Page(props: CommonComponent) {
const viewPurchaseOrderDetail = () => {
if (purchaseOrder?.orderId) {
Taro.navigateTo({
url: buildUrl("/pages/purchase/enter/preview", {
url: buildUrl("/pages/purchase/preview", {
orderId: purchaseOrder.orderId,
}),
});

View File

@ -1,4 +1,4 @@
import { ActionType, Icon, PageList, Phone, ToolBar } from "@/components";
import { ActionType, Icon, PageList, ToolBar } from "@/components";
import Taro, { useShareAppMessage } from "@tarojs/taro";
import { useRef } from "react";
import { business } from "@/services";
@ -86,7 +86,7 @@ export default hocAuth(function Page(props: CommonComponent) {
icon={<Icon name={"pen-to-square"} size={18} />}
onClick={() => {
Taro.navigateTo({
url: buildUrl("/pages/supplier/create", {
url: buildUrl("/pages/stall/create", {
supplierId: supplierVO.supplierId,
}),
});
@ -102,7 +102,7 @@ export default hocAuth(function Page(props: CommonComponent) {
}
>
<Label className={"text-neutral-dark text-sm"}>
</Label>
<Text className={"text-neutral-darkest text-sm"}>
{dayjs(supplierVO.createdAt).format("MM-DD HH:mm")}
@ -114,15 +114,11 @@ export default hocAuth(function Page(props: CommonComponent) {
}
>
<Label className={"text-neutral-dark text-sm"}>
</Label>
<View
className={
"flex flex-1 flex-row items-center justify-end gap-1"
}
>
<Phone phone={supplierVO.phone} />
</View>
<Text className={"text-neutral-darkest text-sm"}>
{supplierVO.payeeName}
</Text>
</View>
<View
className={
@ -130,60 +126,30 @@ export default hocAuth(function Page(props: CommonComponent) {
}
>
<Label className={"text-neutral-dark text-sm"}>
</Label>
<View
className={
"flex flex-1 flex-row items-center justify-end gap-1"
}
>
12 | 2
</View>
<Text className={"text-neutral-darkest text-sm"}>
{supplierVO.bankCard}
</Text>
</View>
</View>
</View>
</View>
<View className={"py-2.5"}>
<View className={"flex flex-row justify-end gap-2"}>
{/* 联系 */}
<Button
size={"small"}
type={"default"}
onClick={() => {
Taro.makePhoneCall({
phoneNumber: supplierVO.phone,
});
}}
>
</Button>
{/* 新建采购 */}
<Button
size={"small"}
type={"default"}
onClick={() => {
Taro.navigateTo({
url: buildUrl("/pages/purchase/enter/create", {
url: buildUrl("/pages/transfer/create", {
supplierId: supplierVO.supplierId,
}),
});
}}
>
</Button>
{/* 协助开票 */}
<Button
size={"small"}
type={"primary"}
onClick={() => {
Taro.navigateTo({
url: buildUrl("/pages/invoice/upload", {
supplierId: supplierVO.supplierId,
}),
});
}}
>
</Button>
</View>
</View>

View File

@ -102,7 +102,7 @@ export default hocAuth(function Page(props: CommonComponent) {
}
>
<Label className={"text-neutral-dark text-sm"}>
</Label>
<Text className={"text-neutral-darkest text-sm"}>
{dayjs(supplierVO.createdAt).format("MM-DD HH:mm")}
@ -121,7 +121,7 @@ export default hocAuth(function Page(props: CommonComponent) {
"flex flex-1 flex-row items-center justify-end gap-1"
}
>
<Phone phone={supplierVO.phone} />
{supplierVO.phone && <Phone phone={supplierVO.phone} />}
</View>
</View>
<View
@ -146,24 +146,26 @@ export default hocAuth(function Page(props: CommonComponent) {
<View className={"py-2.5"}>
<View className={"flex flex-row justify-end gap-2"}>
{/* 联系 */}
<Button
size={"small"}
type={"default"}
onClick={() => {
Taro.makePhoneCall({
phoneNumber: supplierVO.phone,
});
}}
>
</Button>
{supplierVO.phone && (
<Button
size={"small"}
type={"default"}
onClick={() => {
Taro.makePhoneCall({
phoneNumber: supplierVO.phone!,
});
}}
>
</Button>
)}
{/* 新建采购 */}
<Button
size={"small"}
type={"default"}
onClick={() => {
Taro.navigateTo({
url: buildUrl("/pages/purchase/enter/create", {
url: buildUrl("/pages/purchase/create", {
supplierId: supplierVO.supplierId,
}),
});

View File

@ -116,7 +116,7 @@ export default hocAuth(function Page(props: CommonComponent) {
) {
if (userRoleVO.slug === "market-buyer") {
Taro.redirectTo({
url: buildUrl("/pages/transfer/enter/preview", {
url: buildUrl("/pages/transfer/preview", {
orderId: purchaseOrder.orderId,
}),
});

View File

@ -65,7 +65,7 @@ export default hocAuth(function Page(props: CommonComponent) {
className="flex-1 bg-gray-200 text-gray-700"
onClick={() => {
Taro.redirectTo({
url: buildUrl("/pages/transfer/enter/create", {
url: buildUrl("/pages/transfer/create", {
orderId: purchaseOrder.orderId,
active: 4,
}),
@ -81,7 +81,7 @@ export default hocAuth(function Page(props: CommonComponent) {
size={"xlarge"}
onFinish={() => {
Taro.switchTab({
url: buildUrl("/pages/transfer/enter/result", {
url: buildUrl("/pages/transfer/result", {
orderId: purchaseOrder.orderId,
}),
});

View File

@ -50,7 +50,7 @@ export default hocAuth(function Page(props: CommonComponent) {
const viewPurchaseOrderDetail = () => {
if (purchaseOrder?.orderId) {
Taro.navigateTo({
url: buildUrl("/pages/transfer/enter/preview", {
url: buildUrl("/pages/transfer/preview", {
orderId: purchaseOrder.orderId,
}),
});